@charset "UTF-8";
/* ---- base styles ---- */
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Open+Sans:wght@300;400;600;700&display=swap");
body {
  color: #3d3d3d;
  background-color: #f8f8f8;
}





img {
  max-width: 100%;
}

/* ---- font ---- */
html {
  font-family: "Open Sans", sans-serif;
  font-size: 62.5%;
}

/* ---- function ---- */
/* ---- mixin ---- */
/*!
 * ress.css • v4.0.0
 * MIT License
 * github.com/filipelinhares/ress
 */
html {
  box-sizing: border-box;
  -webkit-text-size-adjust: 100%;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4;
     scroll-behavior: smooth;
}

*, :after, :before {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

:after, :before {
  text-decoration: inherit;
  vertical-align: inherit;
}

* {
  padding: 0;
  margin: 0;
}

hr {
  overflow: visible;
  height: 0;
  color: inherit;
}

details, main {
  display: block;
}

summary {
  display: list-item;
}

small {
  font-size: 80%;
}

[hidden] {
  display: none;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

a {
  background-color: transparent;
}

/*a:active,a:hover{outline-width:0}*/
code, kbd, pre, samp {
  font-family: monospace, monospace;
}

pre {
  font-size: 1em;
}

b, strong {
  font-weight: bolder;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  border-color: inherit;
  text-indent: 0;
}

input {
  border-radius: 0;
}

[disabled] {
  cursor: default;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

textarea {
  overflow: auto;
  resize: vertical;
}

button, input, optgroup, select, textarea {
  font: inherit;
}

optgroup {
  font-weight: 700;
}

button {
  overflow: visible;
}

button, select {
  text-transform: none;
}

[role=button], [type=button], [type=reset], [type=submit], button {
  cursor: pointer;
  color: inherit;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

[type=reset], [type=submit], button, html [type=button] {
  -webkit-appearance: button;
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
}

/*a:focus,button:focus,input:focus,select:focus,textarea:focus{outline-width:0}*/
select {
  -moz-appearance: none;
  -webkit-appearance: none;
}

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

select::-ms-value {
  color: currentColor;
}

legend {
  border: 0;
  color: inherit;
  display: table;
  white-space: normal;
  max-width: 100%;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  color: inherit;
  font: inherit;
}

img {
  border-style: none;
}

progress {
  vertical-align: baseline;
}

[aria-busy=true] {
  cursor: progress;
}

[aria-controls] {
  cursor: pointer;
}

[aria-disabled=true] {
  cursor: default;
}

ul, ol {
  list-style: none;
}

/* ---- footer layout ---- */
/* ---- header layout ---- */
.l-header {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 100;
  width: 100%;
  transform: translateY(0);
  transition: transform 0.8s 0s cubic-bezier(0.08, 0.56, 0.2, 1);
}
.l-header.is-under-fv {
  transform: translateY(-70px);
  transition: transform 0.4s 0s cubic-bezier(0.08, 0.56, 0.2, 1);
}
.l-header.is-under-fv.is-hidden {
  transform: translateY(-226px) !important;
  transition: transform 0.6s 0.3s cubic-bezier(0.58, 0.24, 0.4, 1) !important;
}

@media (max-width: 767px) {
  .l-header.is-under-fv {
    transform: translateY(-48px);
    transition: transform 0.3s 0.2s cubic-bezier(0.08, 0.56, 0.2, 1);
  }
  .l-header.is-under-fv.is-hidden {
    transform: translateY(-114px) !important;
    transition: transform 0.5s 0.2s cubic-bezier(0.58, 0.24, 0.4, 1) !important;
  }
}
/* ---- main part layout ---- */
.l-global-container {
  width: 100%;
}

.l-main {
  padding-top: 162px;
}
.c-header--local-nav ~ .l-global-container .l-main {
  padding-top: 226px;
}

@media (max-width: 767px) {
  .l-main {
    padding-top: 114px;
  }
  .c-header--local-nav ~ .l-global-container .l-main {
    padding-top: 114px;
  }
}
.l-main-bottom-space {
  padding-bottom: 80px;
}

/* ---- article list card ---- */
.c-article-card {
  display: flex;
  position: relative;
  min-height: 226px;
  border: 1px solid #c4c4c4;
  background-color: #fff;
  text-decoration: none;
  opacity: 1;
  transition: opacity 0.2s ease-out;
}
.c-article-card .c-article-card__image {
  width: 226px;
  background-size: cover;
  background-position: 50% 50%;
}
.c-article-card .c-article-card__image.c-article-card__image--pictgram {
  background-size: 30% auto;
  width: 0px !important;
}
.c-article-card .c-article-card__image + .c-article-card__text {
  width: calc(100% - 226px);
}
.c-article-card.c-article-card--small {
  min-height: 95px;
}
.c-article-card.c-article-card--small .c-article-card__image {
  width: 180px;
}
.c-article-card .c-article-card__text {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 15px 45px;
}
.c-article-card .c-article-card__head--bar {
  padding: 0 0 2px 25px;
  border-left: 3px solid #d2007b;
}
.c-article-card .c-article-card__meta {
  color: #3d3d3d;
  font-size: 1.2rem;
  line-height: 1.7;
  margin-top: 0.2em;
}
.c-article-card .c-article-card__meta + .c-article-card__title {
  margin-top: 0.7em;
}
.c-article-card .c-article-card__title {
  color: #d2007b;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-article-card .c-article-card__body {
  color: #3d3d3d;
  font-size: 1.7rem;
  line-height: 1.8;
  margin-top: 1rem;
}
.c-article-card::after {
  content: url(/assets/images/arrow.svg);
  display: block;
  position: absolute;
  right: 3%;
  bottom: 8%;
  width: 21px;
}
.c-article-card:hover, .c-article-card:active {
  opacity: 0.7;
}
.c-article-card:hover::after, .c-article-card:active::after {
  -webkit-animation: article-card-arrow 0.4s;
          animation: article-card-arrow 0.4s;
}

@-webkit-keyframes article-card-arrow {
  0% {
    transform: translateX(0);
  }
  35% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes article-card-arrow {
  0% {
    transform: translateX(0);
  }
  35% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  .c-article-card {
    display: block;
    min-height: auto;
    transition: none;
  }
  .c-article-card .c-article-card__image {
    width: auto;
    height: 0;
    padding-bottom: 66.7%;
  }
  .c-article-card .c-article-card__image.c-article-card__image--pictgram {
    padding-bottom: 0%;
    background-size: 0% auto;
  }
  .c-article-card .c-article-card__image.c-article-card__image--pictgram + .c-article-card__text {
    padding: 4vw 6vw;
  }
  .c-article-card .c-article-card__image + .c-article-card__text {
    width: auto;
  }
  .c-article-card.c-article-card--small {
    min-height: auto;
  }
  .c-article-card.c-article-card--small .c-article-card__image {
    width: auto;
  }
  .c-article-card .c-article-card__text {
    display: block;
    width: auto;
    padding: 7vw 6vw 10vw;
  }
  .c-article-card .c-article-card__head--bar {
    padding: 3px 0 2px 20px;
    border-left: 4px solid #d2007b;
  }
  .c-article-card .c-article-card__head--bar .c-article-card__title {
    margin-top: 0.4em;
  }
  .c-article-card .c-article-card__meta {
    line-height: 1.4;
  }
  .c-article-card .c-article-card__meta + .c-article-card__title {
    margin-top: 0.7em;
  }
  .c-article-card .c-article-card__title {
    font-size: 2.5rem;
    line-height: 1.2;
  }
  .c-article-card .c-article-card__body {
    margin-top: 1.1em;
  }
  .c-article-card::after {
    right: 5vw;
    bottom: 5vw;
  }
  .c-article-card:hover, .c-article-card:active {
    opacity: 1;
  }
  .c-article-card:hover::after, .c-article-card:active::after {
    -webkit-animation: none;
            animation: none;
  }
}
/* ---- button ---- */
/* basic */
.c-button {
  font-size: 1.3rem;
  font-weight: 700;
  position: relative;
  z-index: 1;
  display: inline-block;
  overflow: hidden;
  padding: 19px 28px;
  transition: color 0.2s ease-out, background-color 0s 0s;
  text-align: center;
  text-decoration: none;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #d2007b;
  border: 1px solid #d2007b;
  border-radius: 100px;
  background-color: rgba(210, 0, 123, 0);
}
.c-button span {
  position: relative;
  z-index: 1;
  display: inline-block;
  padding-right: 32px;
}
.c-button span::before {
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  display: block;
  width: 22px;
  height: 2px;
  content: "";
  background-color: #d2007b;
}
.c-button span::after {
  position: absolute;
  top: calc(50% - 5px);
  right: 0;
  display: block;
  width: 10px;
  height: 10px;
  content: "";
  transform: translateX(0) rotate(45deg);
  border-top: 2px solid #d2007b;
  border-right: 2px solid #d2007b;
}
.c-button::before {
  position: absolute;
  z-index: 0;
  top: 0;
  right: 0;
  display: block;
  width: 300%;
  height: 100%;
  content: "";
  transition: transform 0.2s ease-out;
  transform: translateX(0);
  background: linear-gradient(270deg, rgba(210, 0, 123, 0) 0%, rgba(210, 0, 123, 0) 33%, #d2007b 67%, #d2007b 100%);
}
.c-button:link, .c-button:visited {
  text-decoration: none;
  color: #d2007b;
}
.c-button:hover, .c-button:active {
  transition: background-color 0s 0.4s;
  text-decoration: none;
  color: #ffffff;
  background-color: #d2007b;
}
.c-button:hover span::before, .c-button:active span::before {
  -webkit-animation: arrow_basic_bar 0.4s ease-out forwards;
          animation: arrow_basic_bar 0.4s ease-out forwards;
}
.c-button:hover span::after, .c-button:active span::after {
  -webkit-animation: arrow_basic_tip 0.4s ease-out forwards;
          animation: arrow_basic_tip 0.4s ease-out forwards;
}
.c-button:hover::before, .c-button:active::before {
  transform: translateX(66.6%);
}
.c-button + .c-button {
  margin-left: 25px;
}
.c-button.c-button--buffer span {
  min-width: 11em;
}

.p-jobroles-btn .c-button {
  display: block;
  width: 60%;
}
@media (max-width: 767px) {
  .p-jobroles-btn .c-button {
    width: 100%;
  }
}
.p-jobroles-btn .c-button + .c-button {
  margin-top: 25px !important;
  margin-left: 0 !important;
}
.p-jobroles-btn a {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b;
}
.p-jobroles-btn a:link, .p-jobroles-btn a:visited {
  color: #d2007b;
}
.p-jobroles-btn a:hover, .p-jobroles-btn a:active {
  text-decoration: underline;
  color: #ffffff;
}
@media (max-width: 767px) {
  .p-jobroles-btn a.c-text-link {
    transition: none;
  }
  .p-jobroles-btn a.c-text-link:hover, .p-jobroles-btn a.c-text-link:active {
    opacity: 1;
  }
}

@-webkit-keyframes arrow_basic_bar {
  0% {
    transform: translateX(0);
    background-color: #d2007b;
  }
  35% {
    transform: translateX(10px);
    background-color: #ffffff;
  }
  100% {
    transform: translateX(0);
    background-color: #ffffff;
  }
}

@keyframes arrow_basic_bar {
  0% {
    transform: translateX(0);
    background-color: #d2007b;
  }
  35% {
    transform: translateX(10px);
    background-color: #ffffff;
  }
  100% {
    transform: translateX(0);
    background-color: #ffffff;
  }
}
@-webkit-keyframes arrow_basic_tip {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #d2007b;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #ffffff;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
}
@keyframes arrow_basic_tip {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #d2007b;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #ffffff;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
}
@media (max-width: 767px) {
  .c-button {
    font-size: 1.4rem;
    min-width: 260px;
    padding: 18px 28px;
    transition: none;
    letter-spacing: 0.1em;
  }
  .c-button::before {
    content: none;
  }
  .c-button:hover, .c-button:active {
    color: #d2007b;
  }
  .c-button:hover span::before, .c-button:active span::before {
    -webkit-animation: none;
            animation: none;
  }
  .c-button:hover span::after, .c-button:active span::after {
    -webkit-animation: none;
            animation: none;
  }
  .c-button:hover::before, .c-button:active::before {
    transform: none;
  }
  .c-button + .c-button {
    margin: 5vw 0 0;
  }
}
/* white */
.c-button--white {
  color: #ffffff;
  border: 1px solid #ffffff;
  background-color: rgba(255, 255, 255, 0);
}
.c-button--white span::before {
  background-color: #ffffff;
}
.c-button--white span::after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.c-button--white::before {
  background: linear-gradient(270deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0) 33%, white 67%, white 100%);
}
.c-button--white:link, .c-button--white:visited {
  color: #ffffff;
}
.c-button--white:hover, .c-button--white:active {
  color: #3d3d3d;
  background-color: white;
}
.c-button--white:hover span::before, .c-button--white:active span::before {
  -webkit-animation: arrow_basic_bar_white 0.4s ease-out forwards;
          animation: arrow_basic_bar_white 0.4s ease-out forwards;
}
.c-button--white:hover span::after, .c-button--white:active span::after {
  -webkit-animation: arrow_basic_tip_white 0.4s ease-out forwards;
          animation: arrow_basic_tip_white 0.4s ease-out forwards;
}

@-webkit-keyframes arrow_basic_bar_white {
  0% {
    transform: translateX(0);
    background-color: #ffffff;
  }
  35% {
    transform: translateX(10px);
    background-color: #3d3d3d;
  }
  100% {
    transform: translateX(0);
    background-color: #3d3d3d;
  }
}

@keyframes arrow_basic_bar_white {
  0% {
    transform: translateX(0);
    background-color: #ffffff;
  }
  35% {
    transform: translateX(10px);
    background-color: #3d3d3d;
  }
  100% {
    transform: translateX(0);
    background-color: #3d3d3d;
  }
}
@-webkit-keyframes arrow_basic_tip_white {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #3d3d3d;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #3d3d3d;
  }
}
@keyframes arrow_basic_tip_white {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #3d3d3d;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #3d3d3d;
  }
}
@media (max-width: 767px) {
  .c-button--white:hover, .c-button--white:active {
    color: #ffffff;
  }
}
/* filled */
.c-button--filled {
  color: #ffffff;
  background-color: #d2007b;
}
.c-button--filled span::before {
  background-color: #ffffff;
}
.c-button--filled span::after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.c-button--filled::before {
  background: linear-gradient(90deg, rgba(210, 0, 123, 0) 0%, rgba(210, 0, 123, 0) 33%, #d2007b 67%, #d2007b 100%);
}
.c-button--filled:link, .c-button--filled:visited {
  color: #ffffff;
}
.c-button--filled:hover, .c-button--filled:active {
  color: #d2007b;
  background-color: rgba(210, 0, 123, 0);
}
.c-button--filled:hover span::before, .c-button--filled:active span::before {
  -webkit-animation: arrow_filled_bar 0.5s ease-out forwards;
          animation: arrow_filled_bar 0.5s ease-out forwards;
}
.c-button--filled:hover span::after, .c-button--filled:active span::after {
  -webkit-animation: arrow_filled_tip 0.5s ease-out forwards;
          animation: arrow_filled_tip 0.5s ease-out forwards;
}

@-webkit-keyframes arrow_filled_bar {
  0% {
    transform: translateX(0);
    background-color: #ffffff;
  }
  35% {
    transform: translateX(10px);
    background-color: #d2007b;
  }
  100% {
    transform: translateX(0);
    background-color: #d2007b;
  }
}

@keyframes arrow_filled_bar {
  0% {
    transform: translateX(0);
    background-color: #ffffff;
  }
  35% {
    transform: translateX(10px);
    background-color: #d2007b;
  }
  100% {
    transform: translateX(0);
    background-color: #d2007b;
  }
}
@-webkit-keyframes arrow_filled_tip {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #d2007b;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #d2007b;
  }
}
@keyframes arrow_filled_tip {
  0% {
    transform: translateX(0) rotate(45deg);
    border-color: #ffffff;
  }
  35% {
    transform: translateX(10px) rotate(45deg);
    border-color: #d2007b;
  }
  100% {
    transform: translateX(0) rotate(45deg);
    border-color: #d2007b;
  }
}
@media (max-width: 767px) {
  .c-button--filled {
    background-color: #d2007b;
  }
  .c-button--filled:hover, .c-button--filled:active {
    color: #ffffff;
  }
  .c-button--filled:hover span::before, .c-button--filled:active span::before {
    -webkit-animation: none;
            animation: none;
  }
  .c-button--filled:hover span::after, .c-button--filled:active span::after {
    -webkit-animation: none;
            animation: none;
  }
}
/* filled, white on mouseover */
.c-button--filled--hover-white {
  color: #ffffff;
  border-style: none;
  background-color: #d2007b;
}
.c-button--filled--hover-white span::before {
  background-color: #ffffff;
}
.c-button--filled--hover-white span::after {
  border-top: 2px solid #ffffff;
  border-right: 2px solid #ffffff;
}
.c-button--filled--hover-white::before {
  background: linear-gradient(90deg, white 0%, white 33%, #d2007b 67%, #d2007b 100%);
}
.c-button--filled--hover-white:link, .c-button--filled--hover-white:visited {
  color: #ffffff;
}
.c-button--filled--hover-white:hover, .c-button--filled--hover-white:active {
  color: #d2007b;
  background-color: white;
}
.c-button--filled--hover-white:hover span::before, .c-button--filled--hover-white:active span::before {
  -webkit-animation: arrow_filled_bar 0.5s ease-out forwards;
          animation: arrow_filled_bar 0.5s ease-out forwards;
}
.c-button--filled--hover-white:hover span::after, .c-button--filled--hover-white:active span::after {
  -webkit-animation: arrow_filled_tip 0.5s ease-out forwards;
          animation: arrow_filled_tip 0.5s ease-out forwards;
}

@media (max-width: 767px) {
  .c-button--filled--hover-white {
    background-color: #d2007b;
  }
  .c-button--filled--hover-white:hover, .c-button--filled--hover-white:active {
    color: #ffffff;
  }
  .c-button--filled--hover-white:hover span::before, .c-button--filled--hover-white:active span::before {
    -webkit-animation: none;
            animation: none;
  }
  .c-button--filled--hover-white:hover span::after, .c-button--filled--hover-white:active span::after {
    -webkit-animation: none;
            animation: none;
  }
}
/* large */
.c-button--large {
  font-size: 1.5rem;
  min-width: 320px;
  padding: 30px 28px;
}

@media (max-width: 767px) {
  .c-button--large {
    min-width: 260px;
    padding: 25px 28px;
  }
}
/* outbound */
.c-button--outbound {
  padding: 19px 26px;
}
.c-button--outbound span {
  padding-right: 30px;
}
.c-button--outbound span::before {
  position: absolute;
  top: calc(50% - 8.5px);
  right: 0;
  display: block;
  width: 22px;
  height: 17px;
  content: "";
  transition: opacity 0.2s ease-out;
  opacity: 1;
  background-color: transparent;
  background-image: url(/assets/images/icon_outbound_pk.svg);
  background-repeat: no-repeat;
  background-size: 22px 17px;
}
.c-button--outbound span::after {
  position: absolute;
  top: calc(50% - 8.5px);
  right: 0;
  display: block;
  width: 22px;
  height: 17px;
  content: "";
  transition: opacity 0.2s ease-out;
  transform: none;
  opacity: 0;
  border-style: none;
  background-image: url(/assets/images/icon_outbound_wh.svg);
  background-repeat: no-repeat;
  background-size: 22px 17px;
}
.c-button--outbound:hover span::before, .c-button--outbound:active span::before {
  -webkit-animation: none;
          animation: none;
  opacity: 0;
}
.c-button--outbound:hover span::after, .c-button--outbound:active span::after {
  -webkit-animation: none;
          animation: none;
  opacity: 1;
}

@media (max-width: 767px) {
  .c-button--outbound {
    padding: 18px 26px;
  }
}
.c-button--filled.c-button--outbound span::before {
  background-image: url(/assets/images/icon_outbound_wh.svg);
}
.c-button--filled.c-button--outbound span::after {
  background-image: url(/assets/images/icon_outbound_pk.svg);
}

.c-button--white.c-button--outbound span::before {
  background-image: url(/assets/images/icon_outbound_wh.svg);
}
.c-button--white.c-button--outbound span::after {
  background-image: url(/assets/images/icon_outbound_gr.svg);
}

/* ---- body container ---- */
/* base container */
.c-body-container {
  padding: 100px 3%;
  background-color: #f8f8f8;
}
.c-body-container-backcolor-w {
  background-color: #fff;
}
.c-body-container-backcolor-g {
  background-color: #F8F8F8;
}
.c-d-shadow01 {
  filter: drop-shadow(0px 4px 4px rgba(0, 0, 0, 0.25));
}


.c-body-container .c-body-container__inner {
  overflow: hidden;
  max-width: 1000px;
  margin: 0 auto;
}
.c-page-heading + .c-body-container {
  padding-top: 100px;
}
.c-body-container.c-body-container--wide .c-body-container__inner {
  max-width: 1130px;
}

@media (max-width: 767px) {
  .c-body-container {
    padding: 20vw 5%;
  }
  .c-body-container .c-body-container__inner {
    max-width: none;
  }
  .c-page-heading + .c-body-container {
    padding-top: 20vw;
  }
  .c-page-heading + .c-body-container.c-body-container--white {
    padding-top: 0;
  }

  .c-body-container-pt-cancel {
    padding-top: 0 !important;
  }
}
/* white background */
.c-body-container--white {
  background-color: #fff;
}

.c-body-container--purple {
  background-color: rgba(100, 100, 210, 0.17);
}

.c-body-container-2 {
  padding: 0 3%;
}
.c-body-container-2 .c-body-container-2__inner {
  max-width: 1000px;
  margin: 0 auto;
}

.c-detail-page-container {
  padding: 0 3%;
  padding-bottom: 100px;
}
@media (max-width: 767px) {
  .c-detail-page-container {
    padding: 0 5%;
    padding-bottom: 80px;
  }
}
.c-detail-page-container__inner {
  max-width: 1130px;
  margin: 0 auto;
}

.joinus-container__inner {
  width: 100%;
  padding: 70px 3%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
@media (max-width: 767px) {
  .joinus-container__inner {
    display: flex;
    flex-direction: column-reverse;
    padding: 0;
    background-image: none !important;
  }
}
.joinus-container__inner.joinus-container__inner-2 {
  background-image: url("/assets/images/joinus_bg-2.png") !important;
}
.joinus-container__inner.joinus-container__inner-2 .joinus-container__inner__right {
  background-image: url("/assets/images/joinus_bg_sp-2.png") !important;
}
.joinus-container__inner__left {
  width: 100%;
  max-width: 1130px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .joinus-container__inner__left {
    padding: 50px 5%;
    background-color: #eeeae2;
  }
}
@media (max-width: 767px) {
  .joinus-container__inner__left.u-bg-skyblue {
    background-color: #dde5e8 !important;
  }
}
@media (max-width: 767px) {
  .joinus-container__inner__right {
    height: 400px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: cover;
  }
}

.contact-banner-container {
  padding: 0 3%;
  background-color: #d2007b;
}
@media (max-width: 767px) {
  .contact-banner-container {
    padding: 0 5%;
  }
}
.contact-banner-container__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%;
  height: 45px;
  margin: 0 auto;
}
.contact-banner-container__inner a {
  font-family: "Open Sans", sans-serif;
  font-weight: bold;
  text-decoration: none;
  letter-spacing: 3px;
  color: #ffffff;
}

/* ---- fade ---- */
/* items to fade */
.c-fade {
  opacity: 0;
}
.c-fade.is-show {
  -webkit-animation: fade-in 1.2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
          animation: fade-in 1.2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
}
.c-fade.is-hide {
  -webkit-animation: fade-out 0.8s cubic-bezier(0.08, 0.56, 0.2, 1) both;
          animation: fade-out 0.8s cubic-bezier(0.08, 0.56, 0.2, 1) both;
}

@-webkit-keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(70%);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
    transform: translateY(70%);
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes fade-out {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(30%);
  }
}
@keyframes fade-out {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(30%);
  }
}
/* inner items to show late */
.c-fade .c-fade-late,
.c-fade + .c-fade-late {
  opacity: 0;
}
.c-fade.is-show .c-fade-late, .c-fade.is-show + .c-fade-late {
  opacity: 1;
  transition: opacity 0.3s 0.6s ease-out;
}
.c-fade.is-hide .c-fade-late, .c-fade.is-hide + .c-fade-late {
  opacity: 0;
  transition: opacity 0.3s 0s ease-out;
}

/* ---- footer profile ---- */
.c-footer-profile {
  padding: 80px 30px 0;
}
.c-footer-profile .c-footer-profile__inner {
  border-top: 1px solid #e0e0e0;
}
.c-footer-profile .c-footer-profile__row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 80px;
}
.c-footer-profile .c-footer-profile__text {
  width: 75%;
}
.c-footer-profile .c-footer-profile__name {
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.45;
}
.c-footer-profile .c-footer-profile__title {
  margin-top: 8px;
  font-size: 1.6rem;
  line-height: 1.45;
}
.c-footer-profile .c-footer-profile__text p {
  margin-top: 8px;
  font-size: 1.2rem;
  line-height: 1.9;
}
.c-footer-profile .c-footer-profile__image {
  display: flex;
  align-items: center;
  width: 20%;
  padding-top: 35px;
}
.c-footer-profile .c-footer-profile__image img {
  display: block;
}

@media (max-width: 767px) {
  .c-footer-profile {
    padding: 13vw 6vw 0;
  }
  .c-footer-profile .c-footer-profile__row {
    display: block;
    margin-top: 13vw;
  }
  .c-footer-profile .c-footer-profile__text {
    width: auto;
  }
  .c-footer-profile .c-footer-profile__image {
    display: block;
    width: auto;
    padding-top: 6vw;
  }
  .c-footer-profile .c-footer-profile__image img {
    width: 45%;
    margin: 0 auto;
  }
}
/* ---- footer ---- */
/* container */
.c-footer {
  background-color: #3d3d3d;
}
.c-footer .footer-top {
  display: flex;
  justify-content: center;
  padding: 30px 3%;
}
.c-footer .footer-bottom {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: space-between;
  width: 100%;
  width: 100%;
  max-width: none;
  padding: 0 3%;
  padding-bottom: 30px;
  background-color: #3d3d3d;
}
.c-footer .c-footer__links {
  display: flex;
  align-items: center;
  flex-direction: row-reverse;
  justify-content: flex-end;
}
.c-footer .c-footer__copyright {
  font-size: 1.4rem;
  color: #ffffff;
}

@media (max-width: 767px) {
  .c-footer {
    display: block;
    height: auto;
  }
  .c-footer .footer-bottom {
    display: block;
  }
  .c-footer .c-footer__links {
    display: block;
  }
  .c-footer .c-footer__copyright {
    margin-top: 5vw;
    text-align: center;
  }
}
/* sns */
.c-footer__sns {
  display: flex;
  justify-content: space-between;
  width: 400px;
}
.c-footer__sns li {
  width: 18px;
}
.c-footer__sns p {
  font-weight: bold;
  letter-spacing: 3px;
  color: #ffffff;
}
.c-footer__sns a {
  transition: opacity 0.2s;
  opacity: 1;
}
.c-footer__sns a:hover, .c-footer__sns a:active {
  opacity: 0.7;
}
.c-footer__sns img {
  width: 18px;
}

@media (max-width: 767px) {
  .c-footer__sns {
    width: 260px;
    margin: 0 auto;
  }
  .c-footer__sns li {
    width: 26px;
  }
  .c-footer__sns a {
    transition: none;
  }
  .c-footer__sns a:hover, .c-footer__sns a:active {
    opacity: 1;
  }
  .c-footer__sns img {
    width: 26px;
  }
}
/* navigation */
.c-footer__nav {
  display: flex;
}
.c-footer__nav li {
  margin-right: 45px;
}
.c-footer__nav a {
  font-size: 1.4rem;
  transition: opacity 0.2s;
  text-decoration: none;
  opacity: 1;
  color: #ffffff;
}
.c-footer__nav a:hover, .c-footer__nav a:active {
  opacity: 0.7;
}

@media (max-width: 767px) {
  .c-footer__nav {
    justify-content: space-between;
    width: 100%;
    max-width: 360px;
    margin: 7vw auto 0;
  }
  .c-footer__nav li {
    margin-right: 0;
  }
  .c-footer__nav a {
    transition: none;
  }
  .c-footer__nav a:hover, .c-footer__nav a:active {
    opacity: 1;
  }
}
/* ---- form parts ---- */
/* search */
.c-form-search {
  display: flex;
  height: 45px;
  border: 1px solid #c4c4c4;
}
.c-form-search input[type=submit] {
  display: block;
  width: 47px;
  height: 43px;
  background-image: url(../images/icon_search.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 25px auto;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-form-search input[type=submit]:hover, .c-form-search input[type=submit]:active {
  opacity: 0.7;
}
.c-form-search input[type=text] {
  display: block;
  width: calc(100% - 90px);
  font-size: 1.7rem;
  line-height: 43px;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.c-form-search input[type=text]::-moz-placeholder {
  color: #c4c4c4;
}
.c-form-search input[type=text]:-ms-input-placeholder {
  color: #c4c4c4;
}
.c-form-search input[type=text]::placeholder {
  color: #c4c4c4;
}
.c-form-search input[type=reset] {
  display: block;
  position: relative;
  width: 43px;
  height: 43px;
  background-image: url(../images/icon_close.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 15px auto;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-form-search input[type=reset]:hover, .c-form-search input[type=reset]:active {
  opacity: 0.7;
}

/* radio */
.c-form-radio {
  display: none;
}

.c-form-radio + label {
  position: relative;
  display: inline-block;
  padding: 3px 0 3px 22px;
  cursor: pointer;
  color: #3d3d3d;
  transition: color 0.2s;
}
.c-form-radio + label:hover, .c-form-radio + label:active {
  color: #8a8a8a;
}

.c-form-radio + label::before {
  position: absolute;
  content: "";
  top: 50%;
  left: 0;
  width: 14px;
  height: 14px;
  margin-top: -7px;
  border: 1px solid #c4c4c4;
  border-radius: 7px;
}

.c-form-radio + label::after {
  position: absolute;
  content: "";
  top: 50%;
  left: 4px;
  width: 6px;
  height: 6px;
  margin-top: -3px;
  border-radius: 3px;
  background-color: #fff;
  transition: background-color 0.2s;
}

.c-form-radio:checked + label::after {
  background-color: #d2007b;
}

@media (max-width: 767px) {
  .c-form-radio + label {
    transition: none;
  }
  .c-form-radio + label:hover, .c-form-radio + label:active {
    color: #3d3d3d;
  }
}
/* pulldown menu */
.c-form-pulldown {
  display: block;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 45px;
  border: 1px solid #d2007b;
}
.c-form-pulldown button {
  display: block;
  position: relative;
  width: 100%;
  height: 45px;
  padding: 0 36px 0 20px;
  color: #d2007b;
  font-size: 1.5rem;
  line-height: 45px;
  text-align: left;
  white-space: nowrap;
  overflow: hidden;
  outline: none;
}
.c-form-pulldown button::after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  top: calc(50% - 8px);
  width: 10px;
  height: 10px;
  border-right: 2px solid #d2007b;
  border-bottom: 2px solid #d2007b;
  transform: rotate(45deg);
  transition: top 0.2s, transform 0.2s;
}
.c-form-pulldown .c-form-pulldown__drawer {
  position: absolute;
  left: -1px;
  right: -1px;
  top: 43px;
  height: 0;
  overflow: hidden;
  transition: height 0.15s ease-out;
}
.c-form-pulldown ul {
  border-left: 1px solid #d2007b;
  border-right: 1px solid #d2007b;
  border-bottom: 1px solid #d2007b;
}
.c-form-pulldown label {
  display: block;
  padding: 10px 20px;
  color: #3d3d3d;
  font-size: 1.3rem;
  line-height: 1.3;
  background-color: #fff;
  transition: background-color 0.2s;
  cursor: pointer;
}
.c-form-pulldown label:hover, .c-form-pulldown label:active {
  background-color: #ffecf8;
}
.c-form-pulldown input {
  display: none;
}
.c-form-pulldown input:checked + label {
  color: #d2007b;
}

@media (max-width: 767px) {
  .c-form-pulldown label {
    transition: none;
  }
  .c-form-pulldown label:hover, .c-form-pulldown label:active {
    background-color: #fff;
  }
}
/* ---- grid ---- */
/* columns */
.c-row {
  display: flex;
  flex-wrap: wrap;
}
.c-row.c-cols--reverse {
  flex-direction: row-reverse;
}
.c-row.c-cols-2 .c-col {
  width: 50%;
}
.c-row.c-cols-3 .c-col {
  width: 33.3333%;
}
.c-row.c-cols-4 .c-col {
  width: 25%;
}
.c-row.c-gutter-s {
  margin-right: -4%;
}
.c-row.c-gutter-s .c-col {
  padding-right: 3.8462%;
}
.c-row.c-gutter-m {
  margin-right: -6%;
}
.c-row.c-gutter-m .c-col {
  padding-right: 5.6604%;
}
.c-row.c-gutter-l {
  margin-right: -8%;
}
.c-row.c-gutter-l .c-col {
  padding-right: 7.4074%;
}
.c-row .c-row.c-gutter-s {
  margin-right: -8%;
}
.c-row .c-row.c-gutter-s .c-col {
  padding-right: 7.4074%;
}
.c-row .c-row.c-gutter-m {
  margin-right: -12%;
}
.c-row .c-row.c-gutter-m .c-col {
  padding-right: 10.7143%;
}
.c-row .c-row.c-gutter-l {
  margin-right: -16%;
}
.c-row .c-row.c-gutter-l .c-col {
  padding-right: 13.7931%;
}


.c-row.c-cols-2 .c-col.c-col01 {
  width: 100%;
}
.c-row.c-cols-2 .c-col.c-col01.c-col01-sp {
  margin-bottom:39px;
}


.p-top-news .c-row .c-col01 .c-row .c-col:nth-child(n+3) {
  margin-top: 0!important;
}

/* .c-row .c-row.c-gutter-s02 .c-col {
  padding-right: 4.4%;
} */

.p-top-news .c-row.c-gutter-s .c-col {
  padding-right:0;
}

.p-top-news .c-row.c-gutter-s {
  margin-right:0;
}



.p-top-news .c-row {
  justify-content: space-between;
}


.p-top-news .c-col .c-row .c-col {
  width: 48%;
  padding:0;
}
.p-top-news .c-col:nth-of-type(2) .c-row .c-col {
  width: 22%;
  padding:0;
}


@media (max-width: 767px) {
  
  .c-row {
    display: block;
  }
  .c-row.c-cols-2 .c-col {
    width: auto;
  }
  .c-row.c-cols-3 .c-col {
    width: auto;
  }
  .c-row.c-cols-4 .c-col {
    width: auto;
  }
  .c-row.c-gutter-s {
    margin-right: 0;
  }
  .c-row.c-gutter-s .c-col {
    padding-right: 0;
  }
  .c-row.c-gutter-m {
    margin-right: 0;
  }
  .c-row.c-gutter-m .c-col {
    padding-right: 0;
  }
  .c-row.c-gutter-l {
    margin-right: 0;
  }
  .c-row.c-gutter-l .c-col {
    padding-right: 0;
  }
  .c-row .c-row.c-gutter-s {
    margin-right: 0;
  }
  .c-row .c-row.c-gutter-s .c-col {
    padding-right: 0;
  }
  .c-row .c-row.c-gutter-m {
    margin-right: 0;
  }
  .c-row .c-row.c-gutter-m .c-col {
    padding-right: 0;
  }
  .c-row .c-row.c-gutter-l {
    margin-right: 0;
  }
  .c-row .c-row.c-gutter-l .c-col {
    padding-right: 0;
  }

  .c-sp-row {
    display: flex;
    flex-wrap: wrap;
  }
  .c-sp-row.c-sp-cols-2 .c-col, .c-row .c-sp-row.c-sp-cols-2 .c-col {
    width: 50%;
  }
  .c-sp-row.c-sp-cols-3 .c-col, .c-row .c-sp-row.c-sp-cols-3 .c-col {
    width: 33.3333%;
  }
  .c-sp-row.c-sp-gutter-s, .c-row .c-sp-row.c-sp-gutter-s {
    margin-right: -6.4%;
  }
  .c-sp-row.c-sp-gutter-s .c-col, .c-row .c-sp-row.c-sp-gutter-s .c-col {
    padding-right: 6.015%;
  }
  .c-sp-row.c-sp-gutter-m, .c-row .c-sp-row.c-sp-gutter-m {
    margin-right: -10.4%;
  }
  .c-sp-row.c-sp-gutter-m .c-col, .c-row .c-sp-row.c-sp-gutter-m .c-col {
    padding-right: 9.4203%;
  }


  .c-col01.c-col01-sp .c-sp-row.c-sp-cols-2 .c-col {
    width: 100%;
  }
  
  .c-col01.c-col01-sp .c-sp-row.c-sp-cols-2 .c-col:nth-of-type(n+2) {
   margin-top:50px
  }
  

  /* .p-top-news .c-row .c-col01 .c-row .c-col:nth-child(n+3) {
    margin-top: 50px !important;
  } */

  .p-top-news .c-col:nth-of-type(2) .c-row .c-col {
    width: 100%;
  }
  .p-top-news .c-col:nth-of-type(2) .c-row .c-col:nth-of-type(n+2) {
    margin-top: 50px !important;
  }
  


}
/* centered box */
.c-centered-box {
  margin-left: auto;
  margin-right: auto;
}
.c-centered-box.c-centered-box--50 {
  max-width: 500px;
}
.c-centered-box.c-centered-box--75 {
  max-width: 750px;
}

@media (max-width: 767px) {
  .c-centered-box {
    margin-left: 0;
    margin-right: 0;
  }
  .c-centered-box.c-centered-box--50 {
    max-width: none;
  }
  .c-centered-box.c-centered-box--75 {
    max-width: none;
  }
}
/* ---- hamburger menu ---- */
/* body */
#c-hamburger__body {
  display: none;
}

@media (max-width: 767px) {
  #c-hamburger__body {
    display: none;
    position: relative;
    z-index: 99;
    padding-top: 114px;
  }
  .is-under-fv ~ #c-hamburger__body {
    padding-top: 66px;
  }
  #c-hamburger__body.is-show {
    display: block;
    -webkit-animation: hamburger-body-show 0.3s 0.2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
            animation: hamburger-body-show 0.3s 0.2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
  }
  #c-hamburger__body.is-hide {
    -webkit-animation: hamburger-body-hide 0.2s 0s cubic-bezier(0.08, 0.56, 0.2, 1) both;
            animation: hamburger-body-hide 0.2s 0s cubic-bezier(0.08, 0.56, 0.2, 1) both;
  }
  #c-hamburger__body > ul > li {
    border-bottom: 1px solid #c4c4c4;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 {
    display: flex;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 a {
    display: flex;
    align-items: center;
    width: calc(100% - 60px);
    height: 60px;
    padding: 0 19px;
    color: #3d3d3d;
    font-size: 1.8rem;
    font-weight: bold;
    text-decoration: none;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 a:hover, #c-hamburger__body > ul > li .c-hamburger__level1 a:active {
    color: #3d3d3d;
    text-decoration: none;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 a:only-child {
    width: 100%;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 button {
    display: block;
    position: relative;
    width: 60px;
    height: 60px;
    overflow: hidden;
    text-indent: -400px;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 button::before {
    content: "";
    display: block;
    position: absolute;
    left: calc(50% - 5px);
    top: calc(50% - 7px);
    width: 10px;
    height: 10px;
    border-left: 2px solid #d2007b;
    border-bottom: 2px solid #d2007b;
    transform-origin: 50% 70%;
    transform: rotate(-45deg);
    transition: transform 0.2s;
  }
  #c-hamburger__body > ul > li .c-hamburger__level1 button.is-open::before {
    transform: rotate(135deg);
  }
  #c-hamburger__body > ul > li .c-hamburger__level2 {
    height: 0;
    overflow: hidden;
    transition: height 0.3s 0s cubic-bezier(0.08, 0.56, 0.2, 1);
  }
  #c-hamburger__body > ul > li .c-hamburger__level2 ul {
    padding: 15px 0;
    border-top: 1px solid #c4c4c4;
    opacity: 0;
    transform: translateY(-30px);
    transition: opacity 0.2s 0s cubic-bezier(0.08, 0.56, 0.2, 1), transform 0.2s 0s cubic-bezier(0.08, 0.56, 0.2, 1);
  }
  #c-hamburger__body > ul > li .c-hamburger__level2 ul a {
    display: flex;
    padding: 15px 30px;
    color: #3d3d3d;
    font-size: 1.5rem;
    text-decoration: none;
  }
  #c-hamburger__body > ul > li .c-hamburger__level2 ul a:hover, #c-hamburger__body > ul > li .c-hamburger__level2 ul a:active {
    color: #3d3d3d;
    text-decoration: none;
  }
  #c-hamburger__body > ul > li .c-hamburger__level2.is-show ul {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.2s 0.1s cubic-bezier(0.08, 0.56, 0.2, 1), transform 0.2s 0.1s cubic-bezier(0.08, 0.56, 0.2, 1);
  }
}
@-webkit-keyframes hamburger-body-show {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  50% {
    opacity: 0.5;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hamburger-body-show {
  0% {
    opacity: 0;
    transform: translateY(-20px);
  }
  50% {
    opacity: 0.5;
    transform: translateY(0);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@-webkit-keyframes hamburger-body-hide {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
@keyframes hamburger-body-hide {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(-20px);
  }
}
/* cover */
#c-hamburger__cover {
  display: none;
}

@media (max-width: 767px) {
  #c-hamburger__cover {
    display: none;
    position: fixed;
    left: 0;
    top: 0;
    z-index: 98;
    width: 100%;
    height: 100%;
    background-color: #f1f1f1;
    transform-origin: 0 0;
  }
  #c-hamburger__cover.is-show {
    display: block;
    -webkit-animation: hamburger-cover-show 0.3s 0s cubic-bezier(0.08, 0.56, 0.2, 1) both;
            animation: hamburger-cover-show 0.3s 0s cubic-bezier(0.08, 0.56, 0.2, 1) both;
  }
  #c-hamburger__cover.is-hide {
    -webkit-animation: hamburger-cover-hide 0.3s 0.1s cubic-bezier(0.08, 0.56, 0.2, 1) both;
            animation: hamburger-cover-hide 0.3s 0.1s cubic-bezier(0.08, 0.56, 0.2, 1) both;
  }
}
@-webkit-keyframes hamburger-cover-show {
  0% {
    opacity: 0;
    transform: scale(1, 0);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@keyframes hamburger-cover-show {
  0% {
    opacity: 0;
    transform: scale(1, 0);
  }
  100% {
    opacity: 1;
    transform: scale(1, 1);
  }
}
@-webkit-keyframes hamburger-cover-hide {
  0% {
    opacity: 1;
    transform: scale(1, 1);
  }
  100% {
    opacity: 0;
    transform: scale(1, 0);
  }
}
@keyframes hamburger-cover-hide {
  0% {
    opacity: 1;
    transform: scale(1, 1);
  }
  100% {
    opacity: 0;
    transform: scale(1, 0);
  }
}
/* ---- header ---- */
/* sony logo */
.c-header__logo {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  height: 70px;
  padding: 0 3%;
  background-color: #000;
}
.c-header__logo img {
  width: 100px;
}

@media (max-width: 767px) {
  .c-header__logo {
    height: 48px;
    padding: 0 19px;
  }
  .c-header__logo img {
    width: 92px;
  }
}
/* global navigation */
.c-global-navigation {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 92px;
  padding: 0 3%;
  background-color: #fff;
}
.c-global-navigation > h1, .c-global-navigation > div:first-child {
  padding-top: 8px;
}
.c-global-navigation > h1 a, .c-global-navigation > div:first-child a {
  opacity: 1;
  transition: opacity 0.2s;
}
.c-global-navigation > h1 a:hover, .c-global-navigation > h1 a:active, .c-global-navigation > div:first-child a:hover, .c-global-navigation > div:first-child a:active {
  opacity: 0.7;
}
.c-global-navigation > h1 img, .c-global-navigation > div:first-child img {
  width: 138px;
}
.c-global-navigation ul {
  display: flex;
}
.c-global-navigation ul li {
  margin-left: 4em;
}
.c-global-navigation ul li a {
  display: inline-block;
  position: relative;
  color: #3d3d3d;
  font-size: 1.6rem;
  font-weight: 700;
  text-decoration: none;
  transition: color 0.2s;
}
.c-global-navigation ul li a:hover, .c-global-navigation ul li a:active {
  color: #d2007b;
}
.c-global-navigation ul li a.is-current {
  color: #d2007b;
}
.c-global-navigation ul li a.is-current::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -12px;
  width: 100%;
  height: 3px;
  background-color: #d2007b;
}
.c-global-navigation button {
  display: none;
}

@media (max-width: 860px) {
  .c-global-navigation ul li {
    margin-left: 2.5em;
  }
}
@media (max-width: 767px) {
  .c-global-navigation {
    height: 66px;
    padding: 0 0 0 19px;
  }
  .c-global-navigation > h1 a, .c-global-navigation > div:first-child a {
    transition: none;
  }
  .c-global-navigation > h1 a:hover, .c-global-navigation > h1 a:active, .c-global-navigation > div:first-child a:hover, .c-global-navigation > div:first-child a:active {
    opacity: 1;
  }
  .c-global-navigation > h1 img, .c-global-navigation > div:first-child img {
    width: 105px;
  }
  .c-global-navigation ul {
    display: none;
  }
  .c-global-navigation button {
    display: block;
    position: relative;
    width: 66px;
    height: 66px;
  }
  .c-global-navigation button span {
    display: block;
    position: absolute;
    left: 19px;
    top: 32px;
    width: 28px;
    height: 2px;
    background-color: #3d3d3d;
    overflow: hidden;
    text-indent: -400px;
    opacity: 1;
    transition: opacity 0.2s ease-out;
  }
  .c-global-navigation button::before {
    content: "";
    display: block;
    position: absolute;
    left: 19px;
    top: 32px;
    width: 28px;
    height: 2px;
    background-color: #3d3d3d;
    transform: translateY(-9px) rotate(0);
    transition: transform 0.2s ease-out;
  }
  .c-global-navigation button::after {
    content: "";
    display: block;
    position: absolute;
    left: 19px;
    top: 32px;
    width: 28px;
    height: 2px;
    background-color: #3d3d3d;
    transform: translateY(9px) rotate(0);
    transition: transform 0.2s ease-out;
  }
  .c-global-navigation button.is-close span {
    opacity: 0;
  }
  .c-global-navigation button.is-close::before {
    transform: translateY(0) rotate(-135deg);
  }
  .c-global-navigation button.is-close::after {
    transform: translateY(0) rotate(-225deg);
  }
}
/* local navigation */
.c-local-navigation {
  position: relative;
  background: linear-gradient(0deg, white 0%, white 92%, #e4e4e4 100%);
  overflow: hidden;
}
.c-local-navigation ul {
  display: none;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 64px;
  padding: 0 3%;
}
.c-local-navigation ul li {
  margin: 0 30px;
}
.c-local-navigation ul a {
  display: inline-block;
  position: relative;
  color: #3d3d3d;
  font-size: 1.6rem;
  text-decoration: none;
  transition: color 0.2s;
}
.c-local-navigation ul a:hover, .c-local-navigation ul a:active, .c-local-navigation ul a.is-current {
  color: #d2007b;
  text-decoration: none;
}
.c-local-navigation ul a.is-current::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 2px;
  background-color: #d2007b;
}
.c-local-navigation ul.is-current {
  display: flex;
}

@media (max-width: 1120px) {
  .c-local-navigation ul li {
    margin: 0 2vw;
  }
}
@media (max-width: 960px) {
  .c-local-navigation ul {
    justify-content: flex-start;
  }
}
@media (max-width: 840px) {
  .c-local-navigation ul li {
    margin: 0 1vw;
  }
}
@media (max-width: 767px) {
  .c-local-navigation {
    display: none;
  }
}
/* language selector */
.c-language-selector {
  display: flex;
  align-items: center;
  position: absolute;
  right: 3%;
  top: 0;
  height: 64px;
}
.c-language-selector a {
  display: inline-block;
  position: relative;
  color: #3d3d3d;
  font-size: 1.6rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  text-decoration: none;
  transition: color 0.2s;
}
.c-language-selector a:hover, .c-language-selector a:active, .c-language-selector a.is-current {
  color: #d2007b;
  text-decoration: none;
}
.c-language-selector a.is-current::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -8px;
  width: 100%;
  height: 2px;
  background-color: #d2007b;
}
.c-language-selector span {
  padding: 0 0.5em 0 0.3em;
  color: #3d3d3d;
  font-size: 1.5rem;
  font-weight: bold;
}

.events-index .c-language-selector {
  display: none !important;
}

/* ---- images ---- */
/* enlarge on hover */
.c-hover-image {
  display: block;
  text-decoration: none;
}
.c-hover-image .c-hover-image__image {
  position: relative;
  height: 0;
  padding-bottom: 56.25%;
  overflow: hidden;
}
.c-hover-image .c-hover-image__image span {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  transform-origin: 50% 50%;
  transform: scale(1);
  transition: transform 0.8s cubic-bezier(0, 0, 0.3, 1);
}
.c-hover-image .c-hover-image__image img {
  display: none;
}
.c-hover-image .c-hover-image__image--4to3 {
  padding-bottom: 66.7%;
}
.c-hover-image .c-hover-image__image--16to9 {
  padding-bottom: 56.25%;
}
.c-hover-image:hover .c-hover-image__image span, .c-hover-image:active .c-hover-image__image span {
  transform: scale(1.07);
}

/* ---- links ---- */
/* text link */
a.c-text-link {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b;
}
a.c-text-link::after {
  content: " >";
}
a.c-text-link.c-text-link--only::after {
  content: "" !important;
}
a.c-text-link:link, a.c-text-link:visited {
  color: #d2007b;
}
a.c-text-link:hover, a.c-text-link:active {
  text-decoration: underline;
  opacity: 0.7;
  color: #d2007b;
}

@media (max-width: 767px) {
  a.c-text-link {
    transition: none;
  }
  a.c-text-link:hover, a.c-text-link:active {
    opacity: 1;
  }
}
/* outbound text link */
a.c-text-link--outbound::after {
  display: inline-block;
  width: 1.3em;
  height: 1em;
  margin-left: 0.3em;
  content: "";
  transform: translateY(0.14em);
  background-position: 50% 50%;
  background-image: url(/assets/images/icon_outbound_pk.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
a.c-text-link--outbound.c-text-link--outbound--wh::after {
  background-image: url(/assets/images/icon_outbound_wh.svg) !important;
}

a.c-text-link--outbound__publications span {
  padding-right: 60px !important;
}
a.c-text-link--outbound__publications::after {
  position: absolute;
  right: 22%;
  display: inline-block;
  width: 1.3em;
  height: 1em;
  margin-left: 0.3em;
  content: "";
  transform: translateY(0.14em);
  background-position: 50% 50%;
  background-image: url(/assets/images/icon_outbound_pk.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
a.c-text-link--outbound__publications:hover::after {
  background-image: url(/assets/images/icon_outbound_wh.svg) !important;
}
a.c-text-link--outbound__publications.c-text-link--outbound--wh::after {
  background-image: url(/assets/images/icon_outbound_wh.svg) !important;
}

/* text link */
a.c-text-link-2 {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b;
}
a.c-text-link-2::after {
  display: inline-block;
  width: 20px;
  height: 14px;
  margin-left: 10px;
  content: "";
  vertical-align: middle;
  background-image: url(/assets/images/link-icon.svg);
}
a.c-text-link-2:link, a.c-text-link-2:visited {
  color: #d2007b;
}
a.c-text-link-2:hover, a.c-text-link-2:active {
  text-decoration: underline;
  opacity: 0.7;
  color: #d2007b;
}

@media (max-width: 767px) {
  a.c-text-link-2 {
    transition: none;
  }
  a.c-text-link-2:hover, a.c-text-link-2:active {
    opacity: 1;
  }
}
/* outbound text link */
a.c-text-link-2--outbound::after {
  display: inline-block;
  width: 1.3em;
  height: 1em;
  margin-left: 0.3em;
  content: "";
  transform: translateY(0.14em);
  background-position: 50% 50%;
  background-image: url(/assets/images/icon_outbound_pk.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

.sony-purpose-link {
  font-size: 2rem;
  float: left;
  text-decoration: none;
  color: #000000;
}

.c-catalog-link li a {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b !important;
}
.c-catalog-link li a:hover, .c-catalog-link li a:active {
  opacity: 0.7;
}

.c-detail-link {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b !important;
}
.c-detail-link:hover, .c-detail-link:active {
  opacity: 0.7;
}

/* ---- page heading (page title) ---- */
/* branch pages */
.c-page-heading {
  position: relative;
  height: 400px;
  padding: 0 3%;
}
.c-page-heading .c-page-heading__text {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  max-width: 1000px;
  height: 100%;
  margin: 0 auto;
}
.c-page-heading .c-page-heading__text.c-page-heading__text--joinus {
  justify-content: initial;
}
.c-page-heading .c-page-heading__text .c-page-heading__title {
  font-family: Montserrat, sans-serif;
  font-size: 5rem;
  font-weight: 700;
  line-height: 1.3;
  color: #ffffff;
  text-shadow: 0 0 60px rgba(0, 0, 0, 0.4);
}
.c-page-heading .c-page-heading__text .c-page-heading__title--black {
  color: #3d3d3d;
}
.c-page-heading .c-page-heading__text .c-page-heading__language {
  display: none;
}
.c-page-heading .c-page-heading__image {
  position: fixed;
  z-index: -1;
  left: 0;
  width: 100%;
  height: 400px;
  transform: translateY(-400px);
}
.c-page-heading .c-page-heading__image--sp {
  display: none;
}

@media (max-width: 767px) {
  .c-page-heading {
    height: auto;
    padding: 80vw 0 0;
  }
  .c-page-heading .c-page-heading__text {
    display: block;
    height: auto;
    padding: 10vw 5% 12vw;
    background-color: #ffffff;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__title {
    font-size: 9.6vw;
    line-height: 1.25;
    color: #3d3d3d;
    text-shadow: none;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language {
    display: flex;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language a {
    font-size: 1.8rem;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none;
    letter-spacing: 0.1em;
    color: #3d3d3d;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language a:hover, .c-page-heading .c-page-heading__text .c-page-heading__language a:active {
    text-decoration: none;
    color: #3d3d3d;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language a.is-current {
    color: #d2007b;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language a.is-current::after {
    position: absolute;
    bottom: -7px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    content: "";
    background-color: #d2007b;
  }
  .c-page-heading .c-page-heading__text .c-page-heading__language span {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 0 0.7em 0 0.5em;
    color: #3d3d3d;
  }
  .c-page-heading .c-page-heading__image {
    top: 114px;
    height: 80vw;
    transform: translateY(0);
  }
  .c-page-heading .c-page-heading__image--pc {
    display: none;
  }
  .c-page-heading .c-page-heading__image--sp {
    display: block;
  }
}
/* top page */
.c-page-heading--top-page {
  height: calc(100vh - 162px);
}
.c-page-heading--top-page .c-page-heading__text {
  justify-content: flex-end;
  padding-bottom: 10vh;
}
.c-page-heading--top-page .c-page-heading__image {
  height: calc(100vh - 162px);
  transform: translateY(calc(-100vh + 162px));
}

.c-page-heading__image.on {
  visibility: hidden;
 }


@media (min-width: 768px) and (max-height: 761px) {
  .c-page-heading--top-page {
    height: 600px;
  }
  .c-page-heading--top-page .c-page-heading__image {
    height: 600px;
    transform: translateY(-600px);
  }
}
@media (max-width: 767px) {
  .c-page-heading--top-page {
    height: auto;
    min-height: auto;
  }
  .c-page-heading--top-page .c-page-heading__text {
    padding-bottom: 12vw;
  }
  .c-page-heading--top-page .c-page-heading__image {
    top: 114px;
    height: 80vw;
    min-height: auto;
    transform: translateY(0);
  }

}
/* breadcrumbs */
.c-breadcrumbs {
  position: absolute;
  z-index: 10;
  top: 30px;
  left: 0;
  width: 100%;
  padding: 0 3%;
}
.c-breadcrumbs ul {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
}
.c-breadcrumbs.c-breadcrumbs--detail ul {
  max-width: 1130px;
}
.c-breadcrumbs li {
  font-size: 1.3rem;
  line-height: 1.3;
  color: #3d3d3d;
}
.c-breadcrumbs li a {
  transition: opacity 0.2s;
  text-decoration: none;
  opacity: 1;
  color: #3d3d3d;
}
.c-breadcrumbs li a:hover, .c-breadcrumbs li a:active {
  text-decoration: none;
  opacity: 0.7;
  color: #3d3d3d;
}
.c-breadcrumbs li::after {
  padding: 0.6em;
  content: ">";
  opacity: 0.5;
}
.c-breadcrumbs li:last-child::after {
  content: none;
}

.c-breadcrumbs--white li {
  color: #ffffff;
}
.c-breadcrumbs--white li a {
  color: #ffffff;
}
.c-breadcrumbs--white li a:hover, .c-breadcrumbs--white li a:active {
  color: #ffffff;
}

@media (max-width: 767px) {
  .c-breadcrumbs {
    top: 18px;
    padding: 0 5%;
  }
  .c-breadcrumbs ul {
    max-width: none;
  }
  .c-breadcrumbs li a {
    transition: none;
  }
  .c-breadcrumbs li a:hover, .c-breadcrumbs li a:active {
    opacity: 1;
  }
}
.c-breadcrumbs-2 {
  margin-top: 30px;
  margin-bottom: 30px;
}
.c-breadcrumbs-2 ul {
  display: flex;
  margin: 0 auto;
}
.c-breadcrumbs-2 ul li {
  font-size: 1.3rem;
  line-height: 1.3;
  color: #3d3d3d;
}
.c-breadcrumbs-2 ul li a {
  transition: opacity 0.2s;
  text-decoration: none;
  opacity: 1;
  color: #3d3d3d;
}
.c-breadcrumbs-2 ul li a:hover, .c-breadcrumbs-2 ul li a:active {
  text-decoration: none;
  opacity: 0.7;
  color: #3d3d3d;
}
.c-breadcrumbs-2 ul li::after {
  padding: 0.6em;
  content: ">";
  opacity: 0.5;
}
.c-breadcrumbs-2 ul li:last-child::after {
  content: none;
}
.c-breadcrumbs-2.c-breadcrumbs-2--positionnone {
  position: initial;
}

@media (max-width: 767px) {
  .c-breadcrumbs-2 {
    position: absolute;
    z-index: 10;
  }
}
.c-breadcrumbs-3 {
  padding: 30px 0;
}
.c-breadcrumbs-3.c-breadcrumbs-3--1000 ul {
  max-width: 1000px;
}
.c-breadcrumbs-3 ul {
  display: flex;
  box-sizing: content-box;
  max-width: 1130px;
  margin: 0 auto;
  padding: 0 3%;
}
@media (max-width: 767px) {
  .c-breadcrumbs-3 ul {
    padding: 0 5%;
  }
}
.c-breadcrumbs-3 ul li {
  font-size: 1.3rem;
  line-height: 1.3;
  color: #3d3d3d;
}
.c-breadcrumbs-3 ul li a {
  transition: opacity 0.2s;
  text-decoration: none;
  opacity: 1;
  color: #3d3d3d;
}
.c-breadcrumbs-3 ul li a:hover, .c-breadcrumbs-3 ul li a:active {
  text-decoration: none;
  opacity: 0.7;
  color: #3d3d3d;
}
.c-breadcrumbs-3 ul li::after {
  padding: 0.6em;
  content: ">";
  opacity: 0.5;
}
.c-breadcrumbs-3 ul li:last-child::after {
  content: none;
}

.c-page-heading-2 {
  position: relative;
  padding: 0 3%;
  color: #3d3d3d;
}
.c-page-heading-2 .c-page-heading-2__inner {
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 90px;
}
.c-page-heading-2 .c-page-heading-2__inner .c-page-heading-2__title {
  font-size: 50px;
  font-weight: bold;
}
.c-page-heading-2 .c-page-heading-2__inner .c-page-heading-2__text {
  font-size: 17px;
}
.c-page-heading-2.c-page-heading-2--wide .c-page-heading-2__inner {
  max-width: 1130px;
}
.c-page-heading-2.c-page-heading-2--wide .c-breadcrumbs ul {
  max-width: 1130px;
}
.c-page-heading-2 .c-page-heading__language {
  display: flex;
}
@media (min-width: 768px) {
  .c-page-heading-2 .c-page-heading__language {
    display: none;
  }
}
.c-page-heading-2 .c-page-heading__language a {
  font-size: 1.8rem;
  font-weight: bold;
  position: relative;
  display: inline-block;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #3d3d3d;
}
.c-page-heading-2 .c-page-heading__language a:hover, .c-page-heading-2 .c-page-heading__language a:active {
  text-decoration: none;
  color: #3d3d3d;
}
.c-page-heading-2 .c-page-heading__language a.is-current {
  color: #d2007b;
}
.c-page-heading-2 .c-page-heading__language a.is-current::after {
  position: absolute;
  bottom: -7px;
  left: 0;
  display: block;
  width: 100%;
  height: 2px;
  content: "";
  background-color: #d2007b;
}
.c-page-heading-2 .c-page-heading__language span {
  font-size: 1.8rem;
  font-weight: bold;
  padding: 0 0.7em 0 0.5em;
  color: #3d3d3d;
}

@media (max-width: 767px) {
  .c-page-heading-2 {
    padding: 0 5%;
    color: #3d3d3d;
  }
  .c-page-heading-2 .c-page-heading-2__inner {
    padding-top: 24vw;
  }
  .c-page-heading-2 .c-page-heading-2__inner .c-page-heading-2__title {
    font-size: 9.6vw;
  }
}
.c-page-heading-3 {
  position: relative;
  width: 100%;
}
.c-page-heading-3 .u-bg-image {
  padding-top: 400px;
}

.c-page-heading-4 {
  position: relative;
  width: 100%;
}
.c-page-heading-4 img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

/**
 * keen-slider 5.5.1
 * The HTML touch slider carousel with the most native feeling you will get.
 * https://keen-slider.io
 * Copyright 2020-2021 Eric Beyer <contact@ericbeyer.de>
 * License: MIT
 * Released on: 2021-06-10
 */
/* slider */
.c-slider {
  position: relative;
}

.c-slider__container {
  display: flex;
  overflow: hidden;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -webkit-touch-callout: none;
  -khtml-user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.c-slider__container .c-slider__slide {
  position: relative;
  overflow: hidden;
  width: 100%;
  min-height: 100%;
}
.c-slider__container[data-keen-slider-v] {
  flex-wrap: wrap;
}
.c-slider__container[data-keen-slider-v] .c-slider__container__slide {
  width: 100%;
}
.c-slider__container[data-keen-slider-moves] * {
  pointer-events: none;
}

/* buttons */
.c-slider__button {
  display: flex;
  position: absolute;
  right: 20px;
  top: 50px;
  z-index: 2;
}
.c-slider__button li {
  width: 50px;
  height: 50px;
  margin-right: 30px;
}
.c-slider__button li:last-child {
  margin-right: 0;
}
.c-slider__button button {
  display: block;
  position: relative;
  overflow: hidden;
  width: 100%;
  height: 100%;
  text-indent: -400px;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-slider__button button.c-slider__button--prev::before {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: calc(50% - 1px);
  width: 37px;
  height: 2px;
  background-color: #d2007b;
}
.c-slider__button button.c-slider__button--prev::after {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-top: 2px solid #d2007b;
  border-left: 2px solid #d2007b;
  transform: translateX(0) rotate(-45deg);
}
.c-slider__button button.c-slider__button--next::before {
  content: "";
  display: block;
  position: absolute;
  left: 4px;
  top: calc(50% - 1px);
  width: 37px;
  height: 2px;
  background-color: #d2007b;
}
.c-slider__button button.c-slider__button--next::after {
  content: "";
  display: block;
  position: absolute;
  left: 32px;
  top: calc(50% - 5px);
  width: 10px;
  height: 10px;
  border-top: 2px solid #d2007b;
  border-right: 2px solid #d2007b;
  transform: translateX(0) rotate(45deg);
}
.c-slider__button button:hover, .c-slider__button button:active {
  opacity: 0.7;
}
.c-slider__button button.is-desabled {
  opacity: 0.3 !important;
  pointer-events: none;
}

@media (max-width: 767px) {
  .c-slider__button {
    position: absolute;
    right: calc(50% - 90px);
    top: 7vw;
  }
  .c-slider__button li {
    margin-right: 80px;
  }
  .c-slider__button button {
    transition: none;
  }
  .c-slider__button button:hover, .c-slider__button button:active {
    opacity: 1;
  }
}
/* ---- sns ---- */
.c-sns {
  display: flex;
  align-items: center;
  padding-top: 25px;
  border-top: 1px solid #c4c4c4;
}
.c-sns > :first-child {
  color: #3d3d3d;
  font-size: 1.3rem;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.c-sns ul {
  display: flex;
}
.c-sns ul li {
  margin-left: 30px;
}
.c-sns ul a {
  opacity: 1;
  transition: opacity 0.2s;
}
.c-sns ul a:hover, .c-sns ul a:active {
  opacity: 0.7;
}
.c-sns ul img {
  width: 26px;
}

@media (max-width: 767px) {
  .c-sns {
    display: block;
    padding-top: 8vw;
  }
  .c-sns ul {
    justify-content: space-between;
    margin-top: 5vw;
  }
  .c-sns ul li {
    width: 10%;
    margin-left: 0;
  }
  .c-sns ul a {
    transition: none;
  }
  .c-sns ul a:hover, .c-sns ul a:active {
    opacity: 1;
  }
  .c-sns ul img {
    width: 100%;
  }
}
/* ---- table ---- */
.c-table {
  width: 94%;
  margin-left: 3%;
  border-collapse: collapse;
  border-top: 1px solid #d8d8d8;
  font-size: 1.8rem;
  line-height: 1.9;
}
.c-table tbody tr {
  border-bottom: 1px solid #d8d8d8;
}
.c-table tbody th {
  position: relative;
  padding: 1em 3em;
  text-align: left;
  vertical-align: middle;
  font-weight: bold;
  white-space: nowrap;
}
.c-table tbody th::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 20px;
  bottom: 20px;
  width: 1px;
  background-color: #d8d8d8;
}
.c-table tbody td {
  width: 100%;
  padding: 1em 3em;
  vertical-align: middle;
}

@media (max-width: 767px) {
  .c-table {
    display: block;
    width: 100%;
    margin-left: 0;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .c-table tbody {
    display: block;
  }
  .c-table tbody tr {
    display: block;
  }
  .c-table tbody th {
    display: block;
    position: static;
    padding: 1.2em 0 0.5em;
    white-space: normal;
  }
  .c-table tbody th::after {
    content: none;
  }
  .c-table tbody td {
    display: block;
    padding: 0 0 1.2em;
  }
}
/* ---- heading ---- */
/* h2 */
.c-heading-1 {
  color: #d2007b;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.3em;
  text-transform: uppercase;
  line-height: 1.3;
}

@media (max-width: 767px) {
  .c-heading-1 {
    font-size: 2rem;
  }
}
/* h3 */
.c-heading-2 {
  color: #3d3d3d;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.4;
}

@media (max-width: 767px) {
  .c-heading-2 {
    font-size: 2.5rem;
  }
}
/* h4 */
.c-heading-3 {
  color: #3d3d3d;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.4;
}

/* catch */
.c-catch-text {
  color: #3d3d3d;
  font-family: Montserrat, sans-serif;
  font-size: 4.6rem;
  font-weight: 700;
  line-height: 1.3;
}
.c-catch-text.c-catch-text--jp {
  font-size: 4rem;
}

@media (max-width: 767px) {
  .c-catch-text {
    font-size: 3.2rem;
    line-height: 1.35;
  }
  .c-catch-text.c-catch-text--jp {
    font-size: 2.8rem;
  }
}
/* ---- body ---- */
/* body text */
.c-body-text {
  color: #3d3d3d;
  font-size: 1.7rem;
  line-height: 1.76;
  word-break: break-word;
}

.c-body-text--white {
  color: #fff;
}

.c-col .c-body-text:first-child,
.c-col .u-pc-hidden:first-child + .c-body-text {
  margin-top: -0.5em;
}

@media (max-width: 767px) {
  .c-body-text {
    font-size: 1.8rem;
    line-height: 1.67;
  }
  html[lang=ja] .c-body-text {
    font-size: 1.7rem;
    line-height: 1.76;
  }

  .c-col .c-body-text:first-child,
.c-col .u-pc-hidden:first-child + .c-body-text {
    margin-top: 0;
  }
}
/* card text */
.c-card-date-text {
  font-size: 12px;
  color: #3d3d3d;
}

.c-card-date-text-2 {
  font-size: 2.2rem;
  font-weight: 700;
  color: #3d3d3d;
}

/* detail text */
.c-italic-text {
  font-style: italic !important;
}

/* lead text */
.c-lead-text {
  color: #3d3d3d;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.76;
}

@media (max-width: 767px) {
  .c-lead-text {
    font-size: 2.5rem;
    line-height: 1.44;
  }
}
/* ---- video ---- */
.c-video {
  position: relative;
  background-color: #000;
}
.js .c-video {
  pointer-events: none;
}
.c-video.js-ready {
  pointer-events: auto;
}
.c-video .c-video__thumbnail {
  position: relative;
  z-index: 1;
}
.c-video .c-video__thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  background-image: url(/assets/images/icon_play.svg);
  background-repeat: no-repeat;
  background-size: 72px 72px;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.c-video .c-video__thumbnail:hover::after, .c-video .c-video__thumbnail:active::after {
  opacity: 0.7;
}
.c-video .c-video__stage {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.c-video .c-video__stage.is-show {
  pointer-events: auto;
  opacity: 1;
  transition: opacity 1s cubic-bezier(0, 0.8, 0.56, 1);
}
.c-video .c-video__stage .c-video__player {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 767px) {
  .c-video .c-video__thumbnail::after {
    width: 64px;
    height: 64px;
    margin: -32px 0 0 -32px;
    background-size: 64px 64px;
    transition: none;
  }
  .c-video .c-video__thumbnail:hover::after, .c-video .c-video__thumbnail:active::after {
    opacity: 1;
  }
}
/* ---- article index ---- */
/* container */
.p-article-index-container {
  padding: 35px 3% 200px;
  background-color: #ffffff;
}
.p-article-index-container .p-article-index-container__inner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  max-width: 1130px;
  margin: 0 auto;
}
.p-article-index-container .p-search-column {
  width: 100%;
  padding: 0 0 50px 25%;
}
.p-article-index-container .p-filter-column {
  width: 20%;
}
.p-article-index-container .p-result-column {
  width: 75%;
  min-height: 80vh;
}

@media (max-width: 767px) {
  .p-article-index-container {
    padding: 9vw 5% 24vw;
  }
  .p-article-index-container .p-article-index-container__inner {
    display: block;
  }
  .p-article-index-container .p-search-column {
    width: auto;
    padding: 0;
  }
  .p-article-index-container .p-filter-column {
    width: auto;
    margin-top: 3vw;
  }
  .p-article-index-container .p-result-column {
    width: auto;
    min-height: auto;
    margin-top: 12vw;
  }
}
/* filter */
.p-filter-heading {
  padding-bottom: 10px;
  border-bottom: 1px solid #c4c4c4;
}
.p-filter-heading button {
  font-size: 1.5rem;
  line-height: 45px;
  display: block;
  height: 45px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  pointer-events: none;
}

@media (max-width: 767px) {
  .p-filter-heading {
    padding-bottom: 0;
  }
  .p-filter-heading button {
    line-height: 1;
    position: relative;
    width: 100%;
    height: auto;
    padding: 4vw 0;
    text-align: left;
    letter-spacing: normal;
    pointer-events: auto;
    outline: none;
  }
  .p-filter-heading button::after {
    position: absolute;
    top: calc(50% - 6px);
    right: 15px;
    display: block;
    width: 10px;
    height: 10px;
    content: "";
    transition: top 0.2s, transform 0.2s;
    transform: rotate(45deg);
    border-right: 2px solid #d2007b;
    border-bottom: 2px solid #d2007b;
  }
  .p-filter-heading button.is-open::after {
    top: calc(50% - 2px);
    transform: rotate(-135deg);
  }
}
.p-filter-body {
  padding-top: 20px;
}
.p-filter-body dt {
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 20px;
}
.p-filter-body dt button {
  line-height: 1;
  position: relative;
  width: 100%;
  height: auto;
  padding: 15px 0;
  text-align: left;
  letter-spacing: normal;
  pointer-events: auto;
  outline: none;
}
.p-filter-body dt button::before {
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  display: block;
  width: 11px;
  height: 3px;
  content: "";
  background-color: #d2007b;
}
.p-filter-body dt button::after {
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  display: block;
  width: 11px;
  height: 3px;
  content: "";
  transition: opacity 0.2s, transform 0.2s;
  transform: rotate(90deg);
  opacity: 1;
  background-color: #d2007b;
}
.p-filter-body dt button.is-open::after {
  transform: rotate(0);
  opacity: 0;
}
.p-filter-body dd {
  overflow: hidden;
  height: 0;
  padding-top: 0;
  transition: height 0.16s ease-out;
}
.p-filter-body dd p {
  margin-top: 8px;
  font-size: 1.1rem;
}
.p-filter-body li {
  font-size: 1.5rem;
  line-height: 1.3;
  padding: 5px 0;
}
.p-filter-body > button {
  font-size: 1.5rem;
  margin-top: 40px;
  transition: opacity 0.2s;
  text-transform: uppercase;
  opacity: 1;
  color: #d2007b;
  outline: 0;
}
.p-filter-body > button:hover, .p-filter-body > button:active {
  opacity: 0.8;
}

@media (max-width: 767px) {
  .p-filter-body {
    overflow: hidden;
    height: 0;
    padding-top: 0;
    transition: height 0.16s ease-out;
  }
  .p-filter-body dt {
    margin-top: 0;
  }
  .p-filter-body dt button {
    padding: 5vw 0;
  }
  .p-filter-body dt button::before {
    top: calc(50% - 1px);
    right: 15px;
    width: 12px;
    height: 2px;
  }
  .p-filter-body dt button::after {
    top: calc(50% - 1px);
    right: 15px;
    width: 12px;
    height: 2px;
  }
  .p-filter-body dd {
    border-bottom: 1px solid #c4c4c4;
  }
  .p-filter-body dd:last-child {
    border-style: none;
  }
  .p-filter-body dd p {
    margin-top: -4vw;
  }
  .p-filter-body ul {
    padding-bottom: 6vw;
  }
  .p-filter-body li {
    padding: 1.6vw 0;
  }
  .p-filter-body > button {
    display: block;
    margin-top: 0;
    padding: 4vw 0;
  }
  .p-filter-body > button:hover, .p-filter-body > button:active {
    opacity: 1;
  }
}
/* result */
.p-result-heading {
  display: flex;
  align-items: center;
  height: 60px;
  padding-bottom: 15px;
}
.p-result-heading .p-result-heading__found {
  font-size: 1.5rem;
  width: calc(100% - 135px);
  letter-spacing: 0.05em;
}
.p-result-heading .p-result-heading__sort {
  width: 135px;
}

@media (max-width: 413px) {
  .p-result-heading .p-result-heading__found {
    font-size: 4.1vw;
  }
}
.p-result-body {
  margin-top: -35px;
}
.p-result-body .p-result-block {
  -webkit-animation: result-fadeup 2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
          animation: result-fadeup 2s cubic-bezier(0.08, 0.56, 0.2, 1) both;
}
.p-result-body .p-result-block__message {
  font-size: 1.7rem;
  line-height: 1.67;
  padding-top: 100px;
}
.p-result-body .p-result-block__more {
  margin-top: 30px;
  text-align: center;
}
.p-result-body .p-result-block__more button {
  font-size: 1.5rem;
  transition: opacity 0.2s;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  opacity: 1;
  color: #d2007b;
}
.p-result-body .p-result-block__more button:hover, .p-result-body .p-result-block__more button:active {
  opacity: 0.8;
}
.p-result-body .c-card-title {
  margin-top: 6px;
}

@-webkit-keyframes result-fadeup {
  0% {
    transform: translateY(150px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}

@keyframes result-fadeup {
  0% {
    transform: translateY(150px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .p-result-body {
    margin-top: -4.5vw;
  }
  .p-result-body .p-result-block__message {
    font-size: 1.8rem;
    padding: 15vw 0 30vw;
  }
  .p-result-body .c-card-title {
    margin-top: 3vw;
  }

  @-webkit-keyframes result-fadeup {
    0% {
      transform: translateY(25vw);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }

  @keyframes result-fadeup {
    0% {
      transform: translateY(25vw);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
}
/* ---- text align ---- */
.u-left {
  text-align: left;
}

.u-center {
  text-align: center;
}

.u-right {
  text-align: right;
}

@media (max-width: 767px) {
  .u-sp-left {
    text-align: left;
  }

  .u-sp-center {
    text-align: center;
  }

  .u-sp-right {
    text-align: right;
  }
}
/* ---- color ---- */
.u-white {
  color: #fff !important;
}

.u-gray {
  color: #C4C4C4 !important;
}

.u-bg-gray-1 {
  background-color: #f8f8f8;
}

.u-bg-gray-2 {
  background-color: #989896;
}

.u-bg-gray-3 {
  background-color: #cacac8;
}

.u-bg-white-1 {
  background-color: #fff;
}

.u-justify-spbw {
  justify-content: space-between;
}

.u-alige-center {
  align-items: center;
}

.u-width-45 {
  width: 45% !important;
}
@media (max-width: 767px) {
  .u-width-45 {
    width: 100% !important;
  }
}

/* ---- hidden ---- */
@media (min-width: 768px) {
  .u-pc-hidden {
    display: none;
  }
}
@media (max-width: 767px) {
  .u-sp-hidden {
    display: none;
  }
}
/* ---- images ---- */
/* replace <img> to background image by JS */
.u-bg-image-li {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-position: 50% 50%;
  background-size: cover;
}
.u-bg-image-li img {
  display: none;
}

.u-bg-image {
  width: 100%;
  background-position: 50% 50%;
  background-size: cover;
}
.u-bg-image img {
  display: none;
}
.u-bg-image.u-bg-image--square {
  padding-top: 100%;
}

.u-bt-gray {
  max-width: 1000px;
  margin: 0 auto;
  padding-bottom: 30px;
  border-top: 2px solid #c4c4c4;
}

.u-list-number {
  list-style-type: decimal;
}
.u-list-number li {
  margin-left: 30px;
  padding-left: 30px;
}

/* ---- margin ---- */
.u-mt0 {
  margin-top: 0px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mt100 {
  margin-top: 100px !important;
}

.u-mt110 {
  margin-top: 110px !important;
}

.u-mt120 {
  margin-top: 120px !important;
}

.u-mt130 {
  margin-top: 130px !important;
}

.u-mt140 {
  margin-top: 140px !important;
}

.u-mt150 {
  margin-top: 150px !important;
}

.u-mt160 {
  margin-top: 160px !important;
}

.u-mt170 {
  margin-top: 170px !important;
}

.u-mt180 {
  margin-top: 180px !important;
}

.u-mt190 {
  margin-top: 190px !important;
}

.u-mt200 {
  margin-top: 200px !important;
}

@media (max-width: 767px) {
  .u-mt0 {
    margin-top: 0vw !important;
  }

  .u-mt10 {
    margin-top: 1.5vw !important;
  }

  .u-mt20 {
    margin-top: 3vw !important;
  }

  .u-mt30 {
    margin-top: 4.5vw !important;
  }

  .u-mt40 {
    margin-top: 6vw !important;
  }

  .u-mt50 {
    margin-top: 7.5vw !important;
  }

  .u-mt60 {
    margin-top: 9vw !important;
  }

  .u-mt70 {
    margin-top: 10.5vw !important;
  }

  .u-mt80 {
    margin-top: 12vw !important;
  }

  .u-mt90 {
    margin-top: 13.5vw !important;
  }

  .u-mt100 {
    margin-top: 15vw !important;
  }

  .u-mt110 {
    margin-top: 16.5vw !important;
  }

  .u-mt120 {
    margin-top: 18vw !important;
  }

  .u-mt130 {
    margin-top: 19.5vw !important;
  }

  .u-mt140 {
    margin-top: 21vw !important;
  }

  .u-mt150 {
    margin-top: 22.5vw !important;
  }

  .u-mt160 {
    margin-top: 24vw !important;
  }

  .u-mt170 {
    margin-top: 25.5vw !important;
  }

  .u-mt180 {
    margin-top: 27vw !important;
  }

  .u-mt190 {
    margin-top: 28.5vw !important;
  }

  .u-mt200 {
    margin-top: 30vw !important;
  }

  .u-mt0vw {
    margin-top: 0vw !important;
  }

  .u-mt1vw {
    margin-top: 1vw !important;
  }

  .u-mt2vw {
    margin-top: 2vw !important;
  }

  .u-mt3vw {
    margin-top: 3vw !important;
  }

  .u-mt4vw {
    margin-top: 4vw !important;
  }

  .u-mt5vw {
    margin-top: 5vw !important;
  }

  .u-mt6vw {
    margin-top: 6vw !important;
  }

  .u-mt7vw {
    margin-top: 7vw !important;
  }

  .u-mt8vw {
    margin-top: 8vw !important;
  }

  .u-mt9vw {
    margin-top: 9vw !important;
  }

  .u-mt10vw {
    margin-top: 10vw !important;
  }

  .u-mt11vw {
    margin-top: 11vw !important;
  }

  .u-mt12vw {
    margin-top: 12vw !important;
  }

  .u-mt13vw {
    margin-top: 13vw !important;
  }

  .u-mt14vw {
    margin-top: 14vw !important;
  }

  .u-mt15vw {
    margin-top: 15vw !important;
  }

  .u-mt16vw {
    margin-top: 16vw !important;
  }

  .u-mt17vw {
    margin-top: 17vw !important;
  }

  .u-mt18vw {
    margin-top: 18vw !important;
  }

  .u-mt19vw {
    margin-top: 19vw !important;
  }

  .u-mt20vw {
    margin-top: 20vw !important;
  }

  .u-mt21vw {
    margin-top: 21vw !important;
  }

  .u-mt22vw {
    margin-top: 22vw !important;
  }

  .u-mt23vw {
    margin-top: 23vw !important;
  }

  .u-mt24vw {
    margin-top: 24vw !important;
  }

  .u-mt25vw {
    margin-top: 25vw !important;
  }

  .u-mt26vw {
    margin-top: 26vw !important;
  }

  .u-mt27vw {
    margin-top: 27vw !important;
  }

  .u-mt28vw {
    margin-top: 28vw !important;
  }

  .u-mt29vw {
    margin-top: 29vw !important;
  }

  .u-mt30vw {
    margin-top: 30vw !important;
  }

  .u-mt31vw {
    margin-top: 31vw !important;
  }

  .u-mt32vw {
    margin-top: 32vw !important;
  }

  .u-mt33vw {
    margin-top: 33vw !important;
  }

  .u-mt34vw {
    margin-top: 34vw !important;
  }

  .u-mt35vw {
    margin-top: 35vw !important;
  }

  .u-mt36vw {
    margin-top: 36vw !important;
  }

  .u-mt37vw {
    margin-top: 37vw !important;
  }

  .u-mt38vw {
    margin-top: 38vw !important;
  }

  .u-mt39vw {
    margin-top: 39vw !important;
  }

  .u-mt40vw {
    margin-top: 40vw !important;
  }

  .u-mt41vw {
    margin-top: 41vw !important;
  }

  .u-mt42vw {
    margin-top: 42vw !important;
  }

  .u-mt43vw {
    margin-top: 43vw !important;
  }

  .u-mt44vw {
    margin-top: 44vw !important;
  }

  .u-mt45vw {
    margin-top: 45vw !important;
  }

  .u-mt46vw {
    margin-top: 46vw !important;
  }

  .u-mt47vw {
    margin-top: 47vw !important;
  }

  .u-mt48vw {
    margin-top: 48vw !important;
  }

  .u-mt49vw {
    margin-top: 49vw !important;
  }

  .u-mt50vw {
    margin-top: 50vw !important;
  }
}
.u-pt0 {
  padding-top: 0 !important;
}
@media (max-width: 767px) {
  .u-pt0 {
    padding-top: 10vw !important;
  }
}

.u-wb-breakall {
  word-break: break-all;
}

.u-whitespace-nowrap {
  white-space: nowrap;
}

/* ---- about page ---- */
/* management message */
.p-about-message {
  background-color: #ffffff;
}
.p-about-message .c-slider__slide {
  padding: 60px 40px;
}
.p-about-message .p-about-message__inner {
  display: flex;
  justify-content: space-between;
}
.p-about-message .p-about-message__inner .p-about-message__image {
  width: 30%;
  text-align: center;
}
.p-about-message .p-about-message__inner .p-about-message__image img {
  width: 100%;
}
.p-about-message .p-about-message__inner .p-about-message__text {
  width: 64%;
}
.p-about-message .p-about-message__inner .p-about-message__text h4 {
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.2;
}
.p-about-message .p-about-message__inner .p-about-message__text h4 span {
  font-size: 2rem;
  font-weight: 400;
}
.p-about-message .p-about-message__inner .p-about-message__text h5 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  margin-top: 40px;
}
.p-about-message .p-about-message__inner .p-about-message__links {
  font-size: 1.5rem;
  margin-top: 30px;
  letter-spacing: 0.1em;
}
.p-about-message .p-about-message__inner .p-about-message__links a {
  margin-right: 30px;
}

@media (max-width: 767px) {
  .p-about-message .c-slider__slide {
    padding: 22vw 5vw 16vw 5vw;
  }
  .p-about-message .p-about-message__inner {
    display: block;
  }
  .p-about-message .p-about-message__inner .p-about-message__image {
    width: auto;
  }
  .p-about-message .p-about-message__inner .p-about-message__image img {
    width: 52%;
  }
  .p-about-message .p-about-message__inner .p-about-message__text {
    width: auto;
  }
  .p-about-message .p-about-message__inner .p-about-message__text h4 {
    margin-top: 10vw;
  }
  .p-about-message .p-about-message__inner .p-about-message__text h5 {
    margin-top: 6vw;
  }
  .p-about-message .p-about-message__inner .p-about-message__links {
    margin-top: 10vw;
  }
}
.p-about-row {
  justify-content: space-around;
}
.p-about-row .c-col {
  width: 26% !important;
}
@media (max-width: 767px) {
  .p-about-row {
    justify-content: initial;
  }
  .p-about-row .c-col {
    width: 50% !important;
  }
}

/* management team */
.p-about-people-card {
  margin-top: 50px;
}
.p-about-people-card a {
  display: inline-block;
  transition: all 0.3s;
  text-decoration: none;
}
.p-about-people-card a:hover {
  opacity: 0.7;
}
.p-about-people-card a img {
  display: block;
}
.p-about-people-card img + p {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
  margin: 0.8em -1em 0;
  text-align: center;
  color: #3d3d3d;
}
.p-about-people-card p + p {
  font-size: 1.6rem;
  line-height: 1.4;
  margin: 0.3em -1em 0;
  text-align: center;
  color: #3d3d3d;
}

@media (max-width: 767px) {
  .p-about-people-card {
    margin-top: 16vw;
  }
  .p-about-people-card img + p {
    margin: 0.8em -0.2em 0;
  }
  .p-about-people-card p + p {
    margin: 0.3em 0 0;
  }
}
/* flagship project */
html[lang=ja] #flagship_project .c-heading-2 {
  font-size: 2.3rem;
  line-height: 1.5;
}

@media (max-width: 767px) {
  html[lang=ja] #flagship_project .c-heading-2 {
    font-size: 2.3rem;
    line-height: 1.5;
  }
}
.u-ai-center {
  align-items: center;
}

.p-detail-wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 70px;
}
.p-detail-wrapper .info {
  width: 20%;
  margin-top: -20px;
}
.p-detail-wrapper .article {
  width: 75%;
  color: #3d3d3d;
}

.article .p-detail-text-2 a {
  text-decoration: underline !important;
  opacity: 1;
  color: #d2007b !important;
}
.article #figure {
  width: 50% !important;
}
@media (max-width: 768px) {
  .article #figure {
    width: 100% !important;
  }
}

@media (max-width: 767px) {
  .p-detail-wrapper {
    display: block;
    margin-top: 10vw;
  }
  .p-detail-wrapper .info {
    width: 100%;
    margin-top: 50px;
    margin-right: 0;
  }
  .p-detail-wrapper .article {
    width: 100%;
  }
}
.p-detail-wrapper__content {
  font-size: 1.5rem;
  color: #3d3d3d;
}
.p-detail-wrapper__content p {
  font-weight: bold;
  margin-top: 30px;
}
.p-detail-wrapper__content .Asterisk {
  font-size: 1rem;
  font-weight: initial;
  margin-top: 15px;
}
.p-detail-wrapper__content ul {
  padding-left: 20px;
  list-style: disc;
  list-style-position: outside;
}
.p-detail-wrapper__content ul li {
  margin-top: 10px;
}
.p-detail-wrapper__content ul li a {
  display: block;
  transition: opacity 0.2s;
  color: #3d3d3d;
}
.p-detail-wrapper__content ul li a:hover {
  opacity: 0.7;
}

.snsArea ul {
  display: flex;
  padding-left: initial;
  list-style: none;
}
.snsArea ul li {
  width: 22px;
  margin-right: 18px;
}

@media (max-width: 767px) {
  .p-detail-wrapper__content {
    display: flex;
    margin-top: 30px;
  }
  .p-detail-wrapper__content p {
    width: 35%;
    margin-top: 0;
  }
  .p-detail-wrapper__content ul {
    margin-top: -10px;
  }
}
.p-detail-image-row-1 {
  width: 80%;
  margin: 0 auto;
  margin-top: 45px;
}
@media (max-width: 767px) {
  .p-detail-image-row-1 {
    width: 100%;
    margin-top: 25px;
  }
}
.p-detail-image-row-1 .u-bg-image {
  padding-top: 56.25%;
}
.p-detail-image-row-1.p-detail-image-row-1--s {
  width: 48%;
  margin: 45px auto 0 auto;
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image-row-1--s {
    width: 100%;
    margin-top: 25px;
  }
}
.p-detail-image-row-1.p-detail-image-row-1--big {
  width: 100%;
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image-row-1--big .u-bg-image {
    width: 100vw;
    padding-top: 68.25%;
    transform: translateX(calc(-5% - 25px));
  }
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image-row-1--big.p-detail-image-row-1--big--s .u-bg-image {
    width: 100%;
    padding-top: 56.25%;
    transform: initial;
  }
}
.p-detail-image-row-1.p-detail-image-row-1--big.p-detail-image-row-1--big--s .p-detail-image__caption {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image-row-1--big.p-detail-image-row-1--big--s .p-detail-image__caption {
    width: 100%;
  }
}
.p-detail-image-row-1.p-detail-image-row-1--big .p-detail-image__caption {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image-row-1--big .p-detail-image__caption {
    width: 100%;
  }
}
.p-detail-image-row-1.p-detail-image-row-1-maxWidth .p-detail-image-row-1__inner {
  height: 56.26vw;
}
.p-detail-image-row-1.p-detail-image-row-1-maxWidth .p-detail-image-row-1__inner .u-bg-image {
  position: absolute;
  left: 0;
  width: 100vw;
}
.p-detail-image-row-1.p-detail-image-row-1-maxWidth .p-detail-image__caption {
  text-align: center;
}
.p-detail-image-row-1.p-detail-image--heading {
  position: relative;
  left: 50%;
  width: 100vw;
  margin-top: 0 !important;
  transform: translateX(-50%);
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image--heading {
    position: initial;
    left: initial;
    width: 112%;
    margin-left: -6%;
    transform: translateX(0);
  }
}
.p-detail-image-row-1.p-detail-image--heading .u-bg-image {
  height: 400px;
  padding-top: 0;
}
@media (max-width: 767px) {
  .p-detail-image-row-1.p-detail-image--heading .u-bg-image {
    height: 330px;
  }
}

.p-detail-image-row-2 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-between;
  margin-top: 45px;
}
@media (max-width: 767px) {
  .p-detail-image-row-2 {
    margin-top: 25px;
  }
}
.p-detail-image-row-2__cols {
  width: 48%;
}
.p-detail-image-row-2__cols .u-bg-image {
  padding-top: 57%;
}

.p-detail-image__caption {
  font-size: 1.4rem;
  font-style: italic;
  line-height: 24px;
  padding-top: 10px;
  text-align: center;
}
@media (max-width: 767px) {
  .p-detail-image__caption {
    text-align: initial;
  }
}

.p-detail-title {
  font-size: 3.8rem;
  margin: 0;
  margin-top: 50px;
  color: #000000 !important;
}
@media (max-width: 767px) {
  .p-detail-title {
    font-size: 3.2rem;
    margin-top: 50px;
  }
}

.p-detail-subtitle {
  font-size: 2.8rem;
  font-weight: bold;
  margin-top: 25px;
  margin-top: 80px;
  margin-top: 60px !important;
  margin-bottom: 0;
}

.p-detail-peopleArea {
  font-size: 1.3rem;
  display: flex;
  width: 100%;
  margin-top: 45px;
}
.p-detail-peopleArea__people {
  display: flex;
  flex-wrap: wrap;
  margin-top: -10px;
  margin-left: -40px;
}
.p-detail-peopleArea__people .people-plofile {
  display: flex;
  align-items: center;
  margin-top: 10px;
  padding-left: 40px;
}
.p-detail-peopleArea__people .people-plofile__image {
  width: 45px;
  height: 45px;
}
@media (max-width: 767px) {
  .p-detail-peopleArea__people .people-plofile__image {
    width: 60px;
    height: 60px;
  }
}
.p-detail-peopleArea__people .people-plofile__name {
  padding-left: 15px;
}
.p-detail-peopleArea__people .people-plofile__name .name {
  font-size: 1.3rem;
}
.p-detail-peopleArea__people .people-plofile__name .rolename {
  font-size: 1.3rem;
}
.p-detail-peopleArea p {
  font-size: 1.2rem;
  line-height: 24px;
}

@media (max-width: 767px) {
  .p-detail-peopleArea {
    margin-top: 50px;
  }
  .p-detail-peopleArea__people {
    display: block;
  }
}
.p-detail-profileArea {
  display: flex;
  margin-top: 50px;
}
.p-detail-profileArea.p-detail-profileArea--reverse {
  flex-direction: row-reverse;
  margin: 0;
}
.p-detail-profileArea.p-detail-profileArea--reverse .p-detail-profileArea__textArea {
  padding-right: 0;
  padding-left: 5%;
}
.p-detail-profileArea__textArea {
  line-height: 35px;
  width: 70%;
  padding-right: 5%;
}
.p-detail-profileArea__textArea .name {
  font-size: 2.8rem;
  font-weight: bold;
}
.p-detail-profileArea__textArea .rolename {
  font-size: 2rem;
  font-weight: 100;
}
.p-detail-profileArea__textArea .dl {
  font-size: 1.7rem;
  display: flex;
  flex-wrap: wrap;
}
.p-detail-profileArea__textArea .dl .dt {
  font-weight: bold;
}
.p-detail-profileArea__textArea .dl .dt::after {
  display: inline-block;
  width: 10px;
  margin: 0 5px;
  content: ":";
}
.p-detail-profileArea__imageArea {
  width: 30%;
}

@media (max-width: 767px) {
  .p-detail-profileArea {
    display: block;
  }
  .p-detail-profileArea.p-detail-profileArea--reverse {
    display: flex;
    flex-direction: column-reverse;
    margin-top: 30vw;
  }
  .p-detail-profileArea.p-detail-profileArea--reverse .p-detail-profileArea__textArea {
    margin-top: 40px;
  }
  .p-detail-profileArea__textArea {
    width: initial;
    padding-right: 0;
  }
  .p-detail-profileArea__imageArea {
    width: 70%;
    margin: 0 auto;
    margin-top: 25px;
  }
  .p-detail-profileArea__imageArea img {
    width: 100% !important;
  }
}
.p-detail-video-wrapper {
  width: 80%;
  margin-top: 45px;
}
@media (max-width: 767px) {
  .p-detail-video-wrapper {
    width: 100%;
    margin-top: 25px;
  }
}
.p-detail-video-wrapper.p-detail-video-wrapper--l {
  width: 100%;
}

.p-detail-mp4-area {
  margin-top: 25px;
}
.p-detail-mp4-area .p-detail-image__caption {
  width: 80%;
  margin: 0 auto;
  text-align: center;
}

.p-detail-mp4-wrapper {
  height: 28vw;
}
.p-detail-mp4-wrapper__inner {
  position: absolute;
  left: 0;
  display: flex;
  width: 100vw;
}
.p-detail-mp4-wrapper__inner .video-mp4 {
  width: 50%;
}
.p-detail-mp4-wrapper__inner .video-mp4 video {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .p-detail-mp4-wrapper {
    height: initial;
  }
  .p-detail-mp4-wrapper__inner {
    position: relative;
    left: initial;
    display: block;
    width: 100vw;
    transform: translateX(calc(-5% - 25px));
  }
  .p-detail-mp4-wrapper__inner .video-mp4 {
    width: 100%;
  }
  .p-detail-mp4-wrapper__inner .video-mp4 video {
    width: 100%;
  }
}

.p-detail-mp4-area .p-detail-mp4-single-wrapper__inner {
  height: 56vw;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper__inner .video-mp4 {
  width: 100vw;
  position: absolute;
  left: 0;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper__inner .video-mp4 video {
  width: 100%;
  height: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--sp--small .p-detail-mp4-single-wrapper__inner {
  height: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--sp--small .p-detail-mp4-single-wrapper__inner .video-mp4 {
  position: initial;
  left: initial;
  width: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--sp--small .p-detail-mp4-single-wrapper__inner .video-mp4 video {
  width: 100%;
  height: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--pc--small .p-detail-mp4-single-wrapper__inner {
  height: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--pc--small .p-detail-mp4-single-wrapper__inner .video-mp4 {
  position: initial;
  left: initial;
  width: 100%;
}
.p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--pc--small .p-detail-mp4-single-wrapper__inner .video-mp4 video {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--pc--small .p-detail-mp4-single-wrapper__inner {
    height: 56vw;
  }
  .p-detail-mp4-area .p-detail-mp4-single-wrapper.p-detail-mp4-single-wrapper--pc--small .p-detail-mp4-single-wrapper__inner .video-mp4 {
    width: 100vw;
    position: absolute;
    left: 0;
  }
}

.p-detail-gray-line {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 50px;
  margin-bottom: 50px;
  background-color: #c4c4c4;
}
@media (max-width: 767px) {
  .p-detail-gray-line {
    margin-top: 25px;
    margin-bottom: 25px;
  }
}

.p-detail-text-1 {
  font-size: 1.7rem;
  line-height: 30px;
  margin-top: 25px;
}
.p-detail-text-1.p-detail-text-1--list li {
  display: flex;
  margin-top: 40px;
}
.p-detail-text-1.p-detail-text-1--list li::before {
  font-size: 2.5rem;
  font-weight: bold;
  content: "・";
  color: #d2007b;
}
.p-detail-text-1 a {
  transition: all 0.3s;
  color: #d2007b;
}
.p-detail-text-1 a:hover {
  opacity: 0.7;
  color: #d2007b !important;
}

.p-detail-text-2 {
  font-size: 1.3rem;
  margin-top: 25px;
}
@media (max-width: 767px) {
  .p-detail-text-2 {
    margin-top: 10px;
  }
}

.p-detail-text-3 {
  font-size: 2.6rem;
  font-weight: 600;
  margin-top: 10px;
  color: #000000;
}
@media (max-width: 767px) {
  .p-detail-text-3 {
    margin-top: 20px;
  }
}

.p-detail-text-4 {
  font-size: 2.8rem;
  font-weight: 100;
  line-height: 1.7em;
  width: 80%;
  margin: 0 auto;
  margin-top: 25px;
  margin-bottom: 45px;
  text-decoration: underline;
  -webkit-text-decoration-color: #d2007b;
          text-decoration-color: #d2007b;
  text-underline-offset: 7px;
}
@media (max-width: 767px) {
  .p-detail-text-4 {
    width: 100%;
  }
}

.p-detail-text-5 {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.3em;
  display: block;
  margin-bottom: 5px;
  color: #3f3f3f;
}

.p-detail-text-6 {
  font-size: 1.8rem;
  font-weight: 600;
  line-height: 1.6em;
  display: block;
  color: #3f3f3f;
}

.p-detail-text-7 {
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 30px;
  margin-top: 10px;
  color: #d2007b;
}
@media (max-width: 767px) {
  .p-detail-text-7 {
    font-size: min(4vw, 1.7rem);
  }
}
.p-detail-text-7 .u-gray {
  color: #c4c4c4 !important;
}

.p-detail-seeall-link {
  font-size: 1.5rem;
}

.p-detail-icon {
  display: inline-block;
  width: 45px;
}
@media (max-width: 767px) {
  .p-detail-icon {
    width: 35px;
  }
}
.p-detail-icon img {
  width: 100%;
}

.p-detail-sp-link {
  text-decoration: underline;
  opacity: 1;
  color: #d2007b;
}

.p-detail-bodytext-container {
  padding: 35px 25px;
  background-color: #ffffff;
}
.p-detail-bodytext-container .Asterisk {
  font-size: 1rem;
  font-weight: initial;
  margin-top: 15px;
}
@media (max-width: 767px) {
  .p-detail-bodytext-container .Asterisk {
    font-size: 0.8rem;
    margin-top: 10px;
  }
}

.p-detail-grayArea-container {
  padding: 35px 25px;
  background-color: #ededed;
}

.p-detail-events-image {
  width: 50%;
  padding: 4% 0;
  transition: all 0.3s;
}
@media (max-width: 767px) {
  .p-detail-events-image {
    width: 65%;
  }
}
.p-detail-events-image:hover {
  opacity: 0.7;
}

@media screen and (min-width: 768px) {
  .ugb-container .ugb-inner-block {
    margin-top: 10px;
  }
}
.p-detail-for-nb p:not([class]) {
  font-size: 1.7rem;
  line-height: 30px;
  margin-top: 25px;
}
.p-detail-for-nb a {
  transition: opacity 0.2s;
  text-decoration: underline;
  opacity: 1;
  color: #d2007b !important;
}
.p-detail-for-nb a:hover, .p-detail-for-nb a:active {
  opacity: 0.7;
}
.p-detail-for-nb .figure.wp-block-image.size-large.is-style-default {
  width: 80%;
  margin: 0 auto;
  margin-top: 45px;
  text-align: center;
}
.p-detail-for-nb .wp-block-embed-youtube {
  width: 80% !important;
  margin: 0 auto !important;
  margin-top: 45px !important;
  text-align: center;
}
.p-detail-for-nb .wp-block-embed-youtube iframe {
  width: 80% !important;
  margin: 0 auto !important;
}
.p-detail-for-nb .wp-block-image {
  width: 80% !important;
  margin: 0 auto !important;
  margin-top: 45px !important;
  text-align: center;
}
.p-detail-for-nb .wp-block-image img {
  width: 100% !important;
}
.p-detail-for-nb .ugb-container.ugb-container--v2.alignfull:not(.ugb-container--design-plain):not(.ugb--has-block-background) > .ugb-inner-block > .ugb-block-content > .ugb-container__wrapper {
  padding: 0 !important;
}
.p-detail-for-nb .ugb-columns__item.ugb-4fc0be8-content-wrapper {
  display: flex !important;
  justify-content: space-between !important;
}
.p-detail-for-nb .ugb-columns__item.ugb-e3b8156-content-wrapper {
  display: flex !important;
}
.p-detail-for-nb .wp-block-ugb-column.ugb-column.ugb-d63115c.ugb-column--design-plain.ugb-main-block {
  width: 30% !important;
}
.p-detail-for-nb .ugb-image-box__item.ugb-image-box__item1.ugb-image-box__box.ugb--shadow-0 {
  height: 250px !important;
  min-height: initial !important;
  padding: initial !important;
}
.p-detail-for-nb .ugb-46a50ad .ugb-text__title {
  font-size: 2.8rem !important;
}
.p-detail-for-nb .ugb-46a50ad .ugb-text__subtitle {
  font-size: 2rem !important;
}
.p-detail-for-nb .ugb-46a50ad .ugb-text__text p {
  font-size: 1.7rem !important;
  margin-top: 15px;
}
.p-detail-for-nb .ugb-b1eae44 .ugb-text__title {
  font-size: 2.8rem !important;
}
.p-detail-for-nb .ugb-b1eae44 .ugb-text__subtitle {
  font-size: 2rem !important;
}
.p-detail-for-nb .ugb-b1eae44 .ugb-text__text p {
  font-size: 1.7rem !important;
  margin-top: 15px;
}
.p-detail-for-nb .wp-block-ugb-column.ugb-column.ugb-5be6538.ugb-column--design-plain.ugb-main-block {
  width: 65% !important;
}

@media (max-width: 767px) {
  .p-detail-for-nb .wp-block-embed-youtube {
    width: 100% !important;
    text-align: left;
  }
  .p-detail-for-nb .wp-block-embed-youtube iframe {
    width: 100% !important;
  }
  .p-detail-for-nb .ugb-columns__item.ugb-4fc0be8-content-wrapper {
    display: block !important;
    justify-content: space-between !important;
  }
  .p-detail-for-nb .wp-block-image {
    width: 100% !important;
    text-align: left;
  }
  .p-detail-for-nb .wp-block-ugb-column.ugb-column.ugb-d63115c.ugb-column--design-plain.ugb-main-block {
    width: 100% !important;
  }
  .p-detail-for-nb .wp-block-ugb-column.ugb-column.ugb-5be6538.ugb-column--design-plain.ugb-main-block {
    width: 100% !important;
    margin: 0 auto;
  }
  .p-detail-for-nb .p-detail-for-nb .wp-block-ugb-column.ugb-column.ugb-5be6538.ugb-column--design-plain.ugb-main-block {
    width: 100% !important;
  }
}
.p-detail-pink-line {
  display: block;
  width: 60%;
  height: 1px;
  margin: 0 auto;
  margin-top: 80px;
  background-color: #d2007b;
}

.ugb-main-block {
  margin-top: 0 !important;
}

.p-detail-pullDownArea {
  display: flex;
  align-items: center;
  flex-direction: column;
}
.p-detail-pullDownArea button {
  line-height: 1;
  position: relative;
  width: 1px;
  height: auto;
  margin: 40px 0 10px 0;
  letter-spacing: normal;
  pointer-events: auto;
  outline: none;
}
.p-detail-pullDownArea button::before {
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  display: block;
  width: 21px;
  height: 4px;
  content: "";
  background-color: #d2007b;
}
.p-detail-pullDownArea button::after {
  position: absolute;
  top: calc(50% - 1.5px);
  right: 0;
  display: block;
  width: 21px;
  height: 4px;
  content: "";
  transition: opacity 0.2s, transform 0.2s;
  transform: rotate(90deg);
  opacity: 1;
  background-color: #d2007b;
}
.p-detail-pullDownArea button.is-open::after {
  transform: rotate(0);
  opacity: 0;
}
.p-detail-pullDownArea__inner {
  display: none;
}

.p-detail-text-container {
  margin-top: 25px;
  padding: 20px 0;
  border-top: 1px solid #000000;
  border-bottom: 1px solid #000000;
}
.p-detail-text-container .p-detail-text-1 {
  margin-top: 10px !important;
}

.scroll-box {
  overflow-x: scroll;
}
.scroll-box::-webkit-scrollbar {
  display: none;
}
.scroll-box .p-joinus-imageAera {
  justify-content: space-between;
}
@media (max-width: 767px) {
  .scroll-box .p-joinus-imageAera {
    display: flex !important;
    width: 140vw;
  }
}
.scroll-box .p-joinus-imageAera .c-col {
  width: 24% !important;
  transition: all 0.3s;
  margin-top: 1.3333333333%;
}
.scroll-box .p-joinus-imageAera .c-col:hover {
  opacity: 0.7;
}

.p-detail-heading {
  position: relative;
  padding: 0 3%;
}
.p-detail-heading__profile {
  position: relative;
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
  padding-top: 70px;
}
.p-detail-heading__profile .left {
  position: relative;
  width: 350px;
  box-shadow: 5px 5px 15px black;
}
.p-detail-heading__profile .left__image {
  position: relative;
  width: 100.5%;
}
.p-detail-heading__profile .left__image::after {
  display: block;
  padding-top: 100%;
  content: "";
}
.p-detail-heading__profile .right {
  display: flex;
  flex-direction: column;
  width: calc(100% - 350px);
}
.p-detail-heading__profile .right .up {
  margin-top: 20px;
  margin-left: -2px;
  padding: 25px 3vw;
  background-color: #d2007b;
  box-shadow: 5px 5px 15px grey;
}
.p-detail-heading__profile .right .up p {
  font-size: 50px;
  font-weight: bold;
  color: #ffffff;
}
.p-detail-heading__profile .right .bottom {
  font-size: 17px;
  padding-left: 3vw;
}
.p-detail-heading__profile .pink-band {
  position: absolute;
  z-index: -5;
  top: 90px;
  left: -48vw;
  width: 50vw;
  height: 186px;
  background-color: #d2007b;
  box-shadow: 5px 5px 15px grey;
}

@media (max-width: 767px) {
  .p-detail-heading {
    padding: 0 5%;
  }
  .p-detail-heading__profile {
    display: block;
    padding-top: 25vw;
  }
  .p-detail-heading__profile .left {
    width: 60%;
    margin: 0 auto;
  }
  .p-detail-heading__profile .right {
    width: initial;
  }
  .p-detail-heading__profile .right .up {
    position: relative;
    z-index: -10;
    margin-top: -25%;
    margin-left: -6%;
    padding-top: 29%;
    padding-left: 6%;
  }
  .p-detail-heading__profile .right .up p {
    font-size: 3rem;
    width: 75%;
  }
  .p-detail-heading__profile .right .bottom {
    font-size: 15px;
    padding-left: 0vw;
  }
}
.p-detai-body-container {
  padding-top: 0;
}

.card {
  display: inline-block;
  width: 100%;
  transition: all 0.3s;
  text-decoration: none;
}
.card .c-card-container {
  position: relative;
  width: 100%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 35px 45px;
  border: 1px solid #c4c4c4;
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .card .c-card-container {
    padding: 35px 30px;
  }
}
.card .c-card-container .up {
  padding-left: 30px;
  border-left: 3px solid #d2007b;
}
.card .c-card-container .up .c-card-text {
  color: #3d3d3d;
}
.card .c-card-container .up .c-card-title {
  font-size: 25px;
  font-weight: bold;
  color: #d2007b;
}
.card .c-card-container::after {
  position: absolute;
  right: 3%;
  bottom: 8%;
  display: inline-block;
  content: url(/assets/images/arrow.svg);
}
.card:hover {
  opacity: 0.7;
}
.card:hover .c-card-container::after {
  -webkit-animation: arrow_card 0.4s;
          animation: arrow_card 0.4s;
}

@-webkit-keyframes arrow_card {
  0% {
    transform: translateX(0);
  }
  35% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes arrow_card {
  0% {
    transform: translateX(0);
  }
  35% {
    transform: translateX(10px);
  }
  100% {
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  a .c-card-container {
    padding: 30px 20px;
    padding-bottom: 50px;
  }
  a .c-card-container .up {
    padding-left: 30px;
  }
  a .c-card-container .up .c-card-text {
    width: 100%;
  }
  a .c-card-container::after {
    right: 5%;
    bottom: 3%;
  }
}
.card {
  display: inline-block;
  transition: all 0.3s;
}
.card .c-card-container-2 {
  position: relative;
  display: flex;
  max-width: 1000px;
  border: 1px solid #c4c4c4;
  background-color: #ffffff;
}
.card .c-card-container-2 .left {
  width: 30%;
}
.card .c-card-container-2 .left__image {
  position: relative;
  width: 100%;
  height: 100%;
}
.card .c-card-container-2 .left__image::after {
  display: block;
  width: 100%;
  height: 100%;
  content: "";
}
.card .c-card-container-2 .right {
  width: 85%;
  padding: 25px 35px;
}
.card .c-card-container-2 .right .date {
  font-size: 12px;
  color: #3d3d3d;
}
.card .c-card-container-2::after {
  position: absolute;
  right: 3%;
  bottom: 8%;
  display: inline-block;
  content: url(/assets/images/arrow.svg);
}
.card .c-card-container-2.c-card-container-2--jobroles .left {
  width: 21%;
  padding: 5%;
}
.card .c-card-container-2.c-card-container-2--jobroles .left .u-bg-image-li {
  background-size: contain;
}
.card .c-card-container-2.c-card-container-2--jobroles .right {
  padding: 45px 35px;
}
.card .c-card-container-2.c-card-container-2--jobroles--events .left {
  padding: 3%;
}
.card .c-card-container-2.c-card-container-2--jobroles--events .left .u-bg-image-li {
  background-size: contain;
}
.card .c-card-container-2.c-card-container-2--jobroles--events .right {
  padding: 15px 35px;
}
.card:hover {
  opacity: 0.7;
}
.card:hover .c-card-container-2::after {
  -webkit-animation: arrow_card 0.4s;
          animation: arrow_card 0.4s;
}

@media (max-width: 767px) {
  .card .c-card-container-2 {
    display: block;
    max-width: 1000px;
    border: 1px solid #c4c4c4;
  }
  .card .c-card-container-2 .left {
    width: 100%;
  }
  .card .c-card-container-2 .left__image {
    position: relative;
    width: 100%;
  }
  .card .c-card-container-2 .left__image::after {
    display: block;
    padding-top: 65%;
    content: "";
  }
  .card .c-card-container-2 .right {
    width: 100%;
    padding: 30px;
    padding-bottom: 50px;
  }
  .card .c-card-container-2::after {
    right: 5%;
    bottom: 3%;
  }
  .card .c-card-container-2.c-card-container-2--jobroles .left {
    width: 100%;
    padding: 5%;
  }
  .card .c-card-container-2.c-card-container-2--jobroles .left__image {
    width: 30%;
    margin: 0 auto;
  }
  .card .c-card-container-2.c-card-container-2--jobroles .right {
    padding: 30px;
    padding-top: 0;
  }
}
.c-card-title {
  font-size: 25px;
  font-weight: bold;
  color: #d2007b;
}

.p-working-of-num {
  padding: 0 3%;
}
.p-working-of-num p {
  font-size: 17px;
  font-weight: bold;
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 0;
}
.p-working-of-num p::after {
  font-size: 17px;
  font-weight: bold;
  padding-left: 5px;
  content: "people are working here";
}

.p-peolpeArea__inner ul {
  margin-right: -15px;
  opacity: 1;
}
.p-peolpeArea__inner ul.hide {
  opacity: 0;
}
.p-peolpeArea__inner li {
  box-sizing: border-box;
  padding-right: 15px;
  opacity: 0;
  transform: translateY(80px);
  transition: none;
}
.p-peolpeArea__inner li:hover {
  opacity: 0.7;
}
.p-peolpeArea__inner li.show {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.2s, transform 0.3s ease-out;
}
.p-peolpeArea__inner li a {
  display: inline-block;
  width: 100%;
  text-decoration: none;
}
.p-peolpeArea__inner__image {
  position: relative;
  padding-top: 100%;
}
.p-peolpeArea__inner__name {
  font-size: 17px;
  font-weight: bold;
  padding: 10px 10px 35px 10px;
  text-align: center;
  color: #3d3d3d;
}

@media (max-width: 767px) {
  .p-peolpeArea__inner ul {
    display: flex !important;
    margin-right: -10px;
  }
  .p-peolpeArea__inner li {
    width: 50% !important;
    padding-right: 10px;
  }
  .p-peolpeArea__inner__name {
    font-size: 15px;
    font-weight: bold;
    padding: 10px 0 35px 0;
  }
}
/* sort pulldown */
.p-peolpeArea__pulldown {
  max-width: 1000px;
  margin: 0 auto 30px;
}
.p-peolpeArea__pulldown .c-form-pulldown {
  width: 150px;
  margin: 0 0 0 auto;
}

@media (max-width: 767px) {
  .p-peolpeArea__pulldown {
    max-width: none;
    margin: 0 auto 7vw;
  }
}
/* sort button */
.p-peolpeArea__button {
  max-width: 1000px;
  margin: 0 auto 20px;
}
.p-peolpeArea__button button {
  display: block;
  position: relative;
  width: 45px;
  height: 45px;
  margin: 0 0 0 auto;
  border: 1px solid #c4c4c4;
  transition: border-color 0.2s;
}
.p-peolpeArea__button button::before {
  content: "";
  display: block;
  position: absolute;
  left: 12px;
  top: 10px;
  width: 1px;
  height: 25px;
  background-color: #c4c4c4;
  transition: background-color 0.2s;
}
.p-peolpeArea__button button::after {
  content: "";
  display: block;
  position: absolute;
  left: 9px;
  bottom: 9px;
  width: 7px;
  height: 7px;
  border-right: 1px solid #c4c4c4;
  border-bottom: 1px solid #c4c4c4;
  transform: rotate(45deg) translate3d(0, 0, 0);
  transition: border-color 0.2s;
}
.p-peolpeArea__button button span {
  display: block;
  position: absolute;
  top: 12px;
  right: 8px;
  color: #c4c4c4;
  font-size: 14px;
  transition: color 0.2s, transform 0.2s ease-out;
}
.p-peolpeArea__button button span.txt {
  display: none;
}
.p-peolpeArea__button button span.a {
  transform: translateY(-8px);
}
.p-peolpeArea__button button span.z {
  transform: translateY(8px);
}
.p-peolpeArea__button button.active, .p-peolpeArea__button button:hover, .p-peolpeArea__button button:active {
  border-color: #d2007b;
}
.p-peolpeArea__button button.active::before, .p-peolpeArea__button button:hover::before, .p-peolpeArea__button button:active::before {
  background-color: #d2007b;
}
.p-peolpeArea__button button.active::after, .p-peolpeArea__button button:hover::after, .p-peolpeArea__button button:active::after {
  border-color: #d2007b;
}
.p-peolpeArea__button button.active span, .p-peolpeArea__button button:hover span, .p-peolpeArea__button button:active span {
  color: #d2007b;
}
.p-peolpeArea__button button.asc .a, .p-peolpeArea__button button.asc .a {
  transform: translateY(-8px);
}
.p-peolpeArea__button button.asc .z, .p-peolpeArea__button button.asc .z {
  transform: translateY(8px);
}
.p-peolpeArea__button button.desc .a, .p-peolpeArea__button button.desc .a {
  transform: translateY(8px);
}
.p-peolpeArea__button button.desc .z, .p-peolpeArea__button button.desc .z {
  transform: translateY(-8px);
}
.p-peolpeArea__button button.asc:not(.stay):hover .a, .p-peolpeArea__button button.asc:not(.stay):active .a {
  transform: translateY(8px);
}
.p-peolpeArea__button button.asc:not(.stay):hover .z, .p-peolpeArea__button button.asc:not(.stay):active .z {
  transform: translateY(-8px);
}
.p-peolpeArea__button button.desc:not(.stay):hover .a, .p-peolpeArea__button button.desc:not(.stay):active .a {
  transform: translateY(-8px);
}
.p-peolpeArea__button button.desc:not(.stay):hover .z, .p-peolpeArea__button button.desc:not(.stay):active .z {
  transform: translateY(8px);
}

@media (max-width: 767px) {
  .p-peolpeArea__button {
    max-width: none;
    margin: 0 0 5vw;
  }
}
/* ---- projects page ---- */
.p-projects-text-link {
  font-size: 1.5rem;
}

.p-projects-body-container {
  padding-top: 0;
}

.p-projects-icon {
  position: relative;
  margin-top: 40px;
  padding-top: 56.25%;
  background-color: #d2007b;
}
@media (max-width: 767px) {
  .p-projects-icon {
    margin-top: 5vw;
  }
}
.p-projects-icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  display: inline-block;
  width: 35%;
  transform: translate(-50%, -50%);
  fill: #ffffff;
}

/* article list card container */
.p-projects-article-card {
  max-width: 885px;
  margin-top: 60px;
}

@media (max-width: 767px) {
  .p-projects-article-card {
    margin-top: 0;
  }
}
@media (max-width: 767px) {
  .p-projects-body-container {
    padding: 0vw 5%;
    padding-bottom: 20vw;
  }
}
.p-projects-body-container.p-projects-body-container__gray {
  background: linear-gradient(0deg, #f8f8f8 0%, #f8f8f8 50%, #ffffff 50%, #ffffff 100%);
}
.p-projects-body-container__text {
  font-size: 2.8rem;
  line-height: 3.8rem;
  padding: 80px 0;
  text-align: center;
  background-color: #ededed;
}
@media (max-width: 767px) {
  .p-projects-body-container__text {
    padding: 15px 20px;
  }
}

.scroll-box {
  overflow-x: scroll;
}
.scroll-box::-webkit-scrollbar {
  display: none;
}
.scroll-box .p-projects-imageAera {
  justify-content: space-between;
}
@media (max-width: 767px) {
  .scroll-box .p-projects-imageAera {
    display: flex !important;
    width: 140vw;
  }
}
.scroll-box .p-projects-imageAera .c-col {
  width: 21% !important;
  transition: all 0.3s;
}
.scroll-box .p-projects-imageAera .c-col:hover {
  opacity: 0.7;
}

.acbtn {
  max-width: 500px;
  margin: 0 auto;
  padding: 15px 0;
  cursor: pointer !important;
  transition: 0.3s all;
  text-align: center;
  border: solid 1px #d2007b;
  background-color: #ffffff;
}
.acbtn:hover {
  opacity: 0.7;
}
.acbtn .acbefore {
  font-size: 1.5rem;
  position: relative;
  margin: 0 auto;
  color: #d2007b;
}
.acbtn .acbefore::after {
  position: absolute;
  top: 50%;
  right: 6%;
  display: inline-block;
  width: 15px;
  height: 15px;
  content: "";
  transition: 0.2s;
  transform: translateY(-50%);
  transform-origin: center center 0;
  background-image: url(/assets/images/arrow.png);
  background-repeat: no-repeat;
  background-position: 50%, 50%;
  background-size: contain;
}
.acbtn .acafter::after {
  transform: translateY(-50%) rotate(-180deg) !important;
}

@media (max-width: 767px) {
  .p-chef-heading {
    padding: 0;
  }
  .p-chef-heading .c-breadcrumbs {
    position: initial;
    padding: 5% 0;
    background-color: #ffffff;
  }
  .p-chef-heading .c-page-heading__text {
    background-color: #f8f8f8;
  }
}
.p-page-heading__image__imaging {
  background-color: #ffffff;
  background-position: 100% 50%;
  background-size: contain;
}

.c-page-heading__title__imaging {
  color: #3d3d3d !important;
}

/* ---- top page ---- */
/* main visual */
.p-top-image-fader {
  position: relative;
  width: 100%;
  height: 100%;
  background-color: #f0f0f0;
  overflow: hidden;
}
.p-top-image-fader div {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: 50% 50%;
  opacity: 0;
  transform: scale(1);
  transition: opacity 2s ease-in-out, transform 0s 1s ease-out;
}
.p-top-image-fader div.is-show {
  opacity: 1;
  transition: opacity 2s ease-in-out, transform 9.5s ease-in;
}
.p-top-image-fader div.is-zoom {
  transform: scale(1.13);
  transition: opacity 2s ease-in-out, transform 9.5s ease-in;
}

.p-top-text-fader {
  opacity: 0;
  transform: translateY(80px);
  transition: opacity 1.2s 1s cubic-bezier(0.08, 0.56, 0.2, 1), transform 1.4s 1s cubic-bezier(0.08, 0.56, 0.2, 1);
}
.p-top-text-fader .c-page-heading__title {
  transform: translateY(50px);
  transition: transform 1.4s 1s cubic-bezier(0.08, 0.56, 0.2, 1);
}
.p-top-text-fader .c-button {
  transform: translateY(100px);
  transition: transform 1.7s 1s cubic-bezier(0.08, 0.56, 0.2, 1);
}
.p-top-text-fader.is-show {
  opacity: 1;
  transform: translateY(0);
}
.p-top-text-fader.is-show .c-page-heading__title {
  transform: translateY(0);
}
.p-top-text-fader.is-show .c-button {
  transform: translateY(0);
}

/* latest news: card */
.c-news-card {
  display: block;
  text-decoration: none;
}
.c-news-card .c-news-card__text p {
  margin-top: 1em;
  color: #3d3d3d;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.4;
}
.c-news-card .c-news-card__text .c-news-card__date {
  display: inline-block;
  margin: 1em 0.5em 0 0;
  color: #3d3d3d;
  font-size: 1.3rem;
  text-transform: uppercase;
}
.c-news-card .c-news-card__text .c-news-card__tag {
  display: inline-block;
  margin: 1em 0.5em 0 0;
  font-size: 1.3rem;
  text-transform: uppercase;
}
.c-news-card .c-news-card__text .c-news-card__tag a {
  color: #d2007b;
  text-decoration: underline;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-news-card .c-news-card__text .c-news-card__tag a:hover, .c-news-card .c-news-card__text .c-news-card__tag a:active {
  opacity: 0.7;
}
.c-news-card:link, .c-news-card:visited {
  text-decoration: none;
}
.c-news-card:hover .c-news-card__text p, .c-news-card:active .c-news-card__text p {
  color: #3d3d3d;
}
.c-news-card:hover .c-news-card__text .c-news-card__date, .c-news-card:active .c-news-card__text .c-news-card__date {
  color: #3d3d3d;
}
.c-news-card:hover .c-news-card__text .c-news-card__tag a, .c-news-card:active .c-news-card__text .c-news-card__tag a {
  color: #d2007b;
  text-decoration: underline;
}

.c-news-card--large .c-news-card__text p {
  font-size: 2.2rem;
}

.p-top-news .c-row .c-row .c-col:nth-child(n+3) {
  margin-top: 50px;
}

@media (max-width: 767px) {
  .p-top-news .c-row .c-row .c-col:nth-child(n+3) {
    margin-top: 12vw;
  }
}
/* about */
.p-top-about {
  /*background-color: #c0c0c0;
   background-image: url(/assets/images/top/about_pc.jpg); */
  background-size: cover;
  background-position: 75% 50%;
}

.p-top-about .c-row:nth-of-type(2){
margin-top:90px;
}

.p-top-about .c-row:nth-of-type(2).c-cols-3 .c-col {
  position: relative;
  padding-bottom: 110px;
}

.p-top-about .c-row:nth-of-type(2).c-cols-3 .c-col div:last-child {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

@media (min-width: 1440px) {
  .p-top-about {
    background-size: auto 100%;
    background-position: 100% 0;
    padding: 100px 3% 94px;
  }
}
@media (max-width: 767px) {
  .p-top-about {
    /* padding-top: 90vw;
    background-image: url(/assets/images/top/about_sp.jpg);
    background-position: 50% 0; */
    /* padding: 20vw 5% 3vw; */
    padding: 20vw 5% 13vw;
  }


  .p-top-about .c-row:nth-of-type(2).c-cols-3 .c-col {
    position: static;
    padding: 20vw 0 14vw;
      padding-bottom: 14vw;
    border-top: 1px solid #c4c4c4;
  }

  .p-top-about .c-row:nth-of-type(2).c-cols-3 .c-col:last-child {
    padding-bottom: 0;
  }

  .p-top-about .c-row:nth-of-type(2).c-cols-3 .c-col div:last-child {
    position: static;
  }

}
/* flagship projects */
@media (max-width: 767px) {
  .p-top-projects img {
    width: 90%;
  }
}
.p-top-about .c-catch-text {
  font-size: 2.3rem;
}

/* video */
.p-top-video .p-top-video__row {
  display: flex;
  justify-content: space-between;
}
.p-top-video .p-top-video__row .p-top-video__now-playing {
  width: 75%;
}
.p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__info {
  margin-top: 25px;
  overflow: hidden;
  opacity: 1;
  transition: opacity 0.4s ease-out, height 0.4s cubic-bezier(0.72, 0.16, 0.56, 1);
}
.p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__info.is-hidden {
  opacity: 0;
  transition: opacity 0.2s ease-out, height 0.4s cubic-bezier(0.72, 0.16, 0.56, 1);
}
.p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__title {
  color: #3d3d3d;
  font-size: 2.8rem;
  font-weight: 700;
  line-height: 1.3;
}
.p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__desc {
  padding-top: 1em;
  color: #3d3d3d;
  font-size: 1.6rem;
  line-height: 1.6;
}
.p-top-video .p-top-video__row .p-top-video__up-next {
  width: 20%;
}
.p-top-video .p-top-video__player {
  position: relative;
  background-color: #000;
}
.p-top-video .p-top-video__player .p-top-video__thumbnail {
  position: relative;
  z-index: 1;
}
.js .p-top-video .p-top-video__player .p-top-video__thumbnail {
  pointer-events: none;
}
.p-top-video .p-top-video__player .p-top-video__thumbnail::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 1;
  width: 72px;
  height: 72px;
  margin: -36px 0 0 -36px;
  background-image: url(/assets/images/icon_play.svg);
  background-repeat: no-repeat;
  background-size: 72px 72px;
  opacity: 1;
  transition: opacity 0.3s ease-out;
}
.p-top-video .p-top-video__player .p-top-video__thumbnail:hover::after, .p-top-video .p-top-video__player .p-top-video__thumbnail:active::after {
  opacity: 0.7;
}
.p-top-video .p-top-video__player .p-top-video__thumbnail.is-hidden {
  opacity: 0;
}
.p-top-video .p-top-video__player .p-top-video__stage {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease-out;
}
.p-top-video .p-top-video__player .p-top-video__stage.is-show {
  pointer-events: auto;
  opacity: 1;
  transition: opacity 1s cubic-bezier(0, 0.8, 0.56, 1);
}
.p-top-video .p-top-video__player .p-top-video__stage #video-player {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.p-top-video .p-top-video__up-next li {
  overflow: hidden;
  opacity: 1;
}
.p-top-video .p-top-video__up-next li:first-child {
  height: 0;
  opacity: 0;
}
.p-top-video .p-top-video__up-next li > div {
  padding-bottom: 24px;
}
.p-top-video .p-top-video__up-next li a {
  color: #3d3d3d;
  text-decoration: none;
}
.p-top-video .p-top-video__up-next li a:hover, .p-top-video .p-top-video__up-next li a:active {
  color: #3d3d3d;
  text-decoration: none;
}
.js .p-top-video .p-top-video__up-next li a {
  pointer-events: none;
}
.p-top-video .p-top-video__up-next li h3 {
  margin-top: 0.5em;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
}
.p-top-video .p-top-video__up-next li p {
  display: none;
}
.p-top-video .c-sns {
  width: 75%;
}

@media (max-width: 767px) {
  .p-top-video .p-top-video__row {
    display: block;
  }
  .p-top-video .p-top-video__row .p-top-video__now-playing {
    width: auto;
  }
  .p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__info {
    margin-top: 6vw;
  }
  .p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__title {
    font-size: 2.8rem;
  }
  .p-top-video .p-top-video__row .p-top-video__now-playing .p-top-video__desc {
    padding-top: 1em;
    font-size: 1.8rem;
    line-height: 1.7;
  }
  .p-top-video .p-top-video__row .p-top-video__up-next {
    width: auto;
    margin-top: 12vw;
  }
  .p-top-video .p-top-video__player .p-top-video__thumbnail::after {
    width: 64px;
    height: 64px;
    margin: -32px 0 0 -32px;
    background-size: 64px 64px;
    transition: none;
  }
  .p-top-video .p-top-video__player .p-top-video__thumbnail:hover::after, .p-top-video .p-top-video__player .p-top-video__thumbnail:active::after {
    opacity: 1;
  }
  .p-top-video .p-top-video__up-next ul {
    border-top: 1px solid #c4c4c4;
  }
  .p-top-video .p-top-video__up-next li > div {
    padding: 4.5vw 0;
    border-bottom: 1px solid #c4c4c4;
  }
  .p-top-video .p-top-video__up-next li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: 0;
  }
  .p-top-video .p-top-video__up-next li .c-hover-image__image {
    width: 33%;
    padding-bottom: 18.5625%;
  }
  .p-top-video .p-top-video__up-next li h3 {
    width: 60%;
    margin-top: 0;
  }
  .p-top-video .c-sns {
    width: auto;
  }
}
/* people, location, join us */

.p-top-message {
  /* padding: 100px 3% 220px; */
  padding: 45px 3% 220px;
}

.p-top-message .c-cols-3 .c-col {
  position: relative;
  padding-bottom: 110px;
}
.p-top-message .c-cols-3 .c-col div:last-child {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
}

@media (max-width: 767px) {
  .p-top-message {
    /* padding: 20vw 5% 23vw; */
    padding: 20vw 5% 13vw;
  }  
  .p-top-message .c-cols-3 .c-col {
    position: static;
    padding: 20vw 0 14vw;
    border-top: 1px solid #c4c4c4;
  }
  .p-top-message .c-cols-3 .c-col:last-child {
    padding-bottom: 0;
  }
  .p-top-message .c-cols-3 .c-col div:last-child {
    position: static;
  }
}

.c-body-container.blog {
  padding: 100px 3% 70px;
}

.p-blog_list_content {
  border:1px solid #C4C4C4;
  background-color: #fff;
}
.p-blog_list_content:nth-of-type(n+2) {
  margin-top:20px;
}

.p-blog_list_content a{
  display: flex;
  flex-flow: wrap;
  text-decoration: none;
  color:#3D3D3D;
  font-size: 1.2rem;
  min-height:178px;
}
.p-blog_list_content figure{
  width:178px;

  overflow: hidden;;
}
.p-blog_list_content figure img {
  object-fit: cover;
  width:100%;
  height:100%;
  transition: transform 0.8s;
}
.p-blog_list_content .p-blog_list_text {
  width:calc(100% - 178px);
  padding:30px 40px 30px;
}
.p-blog_list_content .p-blog_list_label time {
  margin-right:.5em;
}
.p-blog_list_content .p-blog_list_categli01 {
  margin-left:.5em;
}
.p-blog_list_content .p-blog_list_text h3{
  color:#D2007B;
  font-size: 1.916em;
  margin-top: .52em;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-blog_list_content a:hover figure img{
  transform: scale(1.07);
}
.p-blog_btn {
  text-align: center;
}

@media (max-width: 767px) {
  .c-body-container.blog {
    padding: 21.7vw 5% 17vw;
  }

  .p-blog_list_content a{
    flex-flow: column;
  }
  


  
  .p-blog_list_content:nth-of-type(n+2) {
    margin-top:14.5vw;
  }
  
  .p-blog_list_content figure{
    width:100%;
  }
  .p-blog_list_content .p-blog_list_text {
    width:100%;
    padding:30px 30px 20px;
  }
  .p-blog_list_content .p-blog_list_text h3{
    overflow: auto;
    display: block;
    font-size: 2.083em;
  }

  .p-blog_list_content figure img {
    aspect-ratio: 10 / 6.6666;
  }



  }

.to_top {
  width: 100%;
  position:fixed;
  right:0;
  /* bottom:80px; */
  opacity: 0;
  pointer-events: none;
  transition: .3s;
  /* margin-bottom:80px; */
  z-index: 100;
}
.to_top.on {
  opacity: 1;
  pointer-events: auto;
}
.to_top .inner{
  width: 1200px;
  max-width: 95%;
  margin:0 auto;
  display: flex;
  justify-content: flex-end;
}
.to_top a{
  display: block;
  position: relative;
  width:45px;
  height:45px;

}

.to_top img {
  width:45px;
  height:45px;
  transition: .3s;
  opacity: 0;
  position: absolute;
  top:0;
  left:0;
}
.to_top img.nomal {
  opacity: 1;
}
.to_top img:hover {
  opacity: 1;
}
.to_top img.nomal:hover {
  opacity: 0;
}

@media (max-width: 767px) {
  .to_top img:hover {
    opacity: 0;
  }
  .to_top img.nomal:hover {
    opacity: 1;
  }
    }



/* add0426 */

.p-detail-text-1 {
  font-size: 1.7rem;
  line-height: 30px;
  margin-top: 25px;
}

.p-detail-text-1.p-detail-text-1--list li {
  display: flex;
  margin-top: 10px;
}

.p-detail-text-1.p-detail-text-1--list li::before {
  font-size: 2.5rem;
  font-weight: bold;
  content: "・";
  color: #d2007b;
}

.p-detail-text-1.p-detail-text-1--list>li::before {
  transform: translateY(3px);
  display: inline-block;
}

.p-detail-text-1 a {
  transition: all 0.3s;
  color: #d2007b;
}

.p-detail-text-1 a:hover {
  opacity: 0.7;
  color: #d2007b !important;
}

.p-detail-bodytext-container .p-detail-text-1.p-detail-text-1--list {
  margin-top: 0px;
}

.p-detail-bodytext-container .p-detail-text-1.p-detail-text-1--list li {
  display: block;
}

.p-detail-bodytext-container .p-detail-text-1.p-detail-text-1--list .p-detail-text-1--list {
  padding-left: 30px;
}

.p-detail-bodytext-container .p-detail-text-1.p-detail-text-1--list .p-detail-text-1--list li {
  display: flex;
  align-items: initial;
}

.p-detail-bodytext-container .p-detail-text-1.p-detail-text-1--list .p-detail-text-1--list li::before {
  display: inline-block;
  content: "";
  width: 7px;
  height: 7px;
  transform: translateY(2px);
  border: 1px solid #d2007b;
  border-radius: 50%;
  margin: 10px;
}