@charset "UTF-8";
/*
--------------------------------
	variables
--------------------------------
*/
/* ---- sizes ---- */
/* ---- colors ---- */
/* ---- border radius ---- */
/*
--------------------------------
	mixins
--------------------------------
*/
/* ---- media query ---- */
/* ---- drop shadow ---- */
/* ---- language ---- */
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, hr,
small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li,
fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

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

body {
  -webkit-text-size-adjust: 100%; /* for iOS, Android */
}

li {
  list-style: none;
}

a, button {
  -webkit-tap-highlight-color: transparent; /* for iOS, Android */
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: top;
}

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

caption, th {
  text-align: left;
}

button {
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  line-height: 1;
}

input, select, textarea {
  padding: 0;
  border-style: none;
  border-radius: 0;
  background-color: transparent;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  font-family: inherit;
  line-height: 1;
}

strong, em, b {
  font-weight: 700;
  font-style: normal;
}

*, *::before, *::after {
  box-sizing: border-box;
}

@font-face {
  font-family: "LINESeedJP";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(/assets/fonts/LINESeedJP_OTF_Rg.woff2) format("woff2");
}
@font-face {
  font-family: "LINESeedJP";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(/assets/fonts/LINESeedJP_OTF_Bd.woff2) format("woff2");
}
@font-face {
  font-family: "LINESeedJP";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url(/assets/fonts/LINESeedJP_OTF_Eb.woff2) format("woff2");
}
/*
--------------------------------
	font
--------------------------------
*/
html {
  font-size: 62.5%;
}

body {
  font-family: "LINESeedJP", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  font-feature-settings: "palt";
  letter-spacing: 0.06em;
  line-height: 1;
}
body:lang(en) {
  letter-spacing: 0.02em;
  word-break: break-word;
}

button, input, select, textarea {
  font-family: inherit;
  font-size: 100%;
}

.en {
  font-family: "LINESeedJP", sans-serif;
}

@media screen and (max-width: 767.9px) {
  body {
    font-size: 1.5rem;
  }
}
/*
--------------------------------
	utilities
--------------------------------
*/
/* ---- media query ---- */
@media screen and (min-width: 768px) {
  .show-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767.9px) {
  .show-pc {
    display: none !important;
  }
}
@media screen and (min-width: 1350px) {
  .show-u1350 {
    display: none !important;
  }
}
/* makeshift */
@media screen and (max-width: 1199px) {
  span.show-ps-sp {
    display: none !important;
  }
}
/* ---- margin ---- */
.mt0 {
  margin-top: 0px !important;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 767.9px) {
  .mt0 {
    margin-top: 0vw !important;
  }
  .mt10 {
    margin-top: 2vw !important;
  }
  .mt20 {
    margin-top: 4vw !important;
  }
  .mt30 {
    margin-top: 6vw !important;
  }
  .mt40 {
    margin-top: 8vw !important;
  }
  .mt50 {
    margin-top: 10vw !important;
  }
  .mt60 {
    margin-top: 12vw !important;
  }
  .mt70 {
    margin-top: 14vw !important;
  }
  .mt80 {
    margin-top: 16vw !important;
  }
  .mt90 {
    margin-top: 18vw !important;
  }
  .mt100 {
    margin-top: 20vw !important;
  }
  .mt110 {
    margin-top: 22vw !important;
  }
  .mt120 {
    margin-top: 24vw !important;
  }
  .mt130 {
    margin-top: 26vw !important;
  }
  .mt140 {
    margin-top: 28vw !important;
  }
  .mt150 {
    margin-top: 30vw !important;
  }
  .mt160 {
    margin-top: 32vw !important;
  }
  .mt170 {
    margin-top: 34vw !important;
  }
  .mt180 {
    margin-top: 36vw !important;
  }
  .mt190 {
    margin-top: 38vw !important;
  }
  .mt200 {
    margin-top: 40vw !important;
  }
  .sp-mt80 {
    margin-top: 21.3vw !important;
  }
  .sp-mt64 {
    margin-top: 17.1vw !important;
  }
  .sp-mt56 {
    margin-top: 14.9vw !important;
  }
  .sp-mt40 {
    margin-top: 10.7vw !important;
  }
  .sp-mt32 {
    margin-top: 8.5vw !important;
  }
  .sp-mt0 {
    margin-top: 0 !important;
  }
}
/* ---- align ---- */
.left {
  text-align: left;
}

.center {
  text-align: center;
}

.right {
  text-align: right;
}

/* ---- animation ---- */
@keyframes arrow-right {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
  50% {
    opacity: 0;
    transform: translate3d(10px, 0, 0);
  }
  50.1% {
    opacity: 0;
    transform: translate3d(-10px, 0, 0);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
@keyframes arrow-left {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(180deg);
  }
  50% {
    opacity: 0;
    transform: translate3d(-10px, 0, 0) rotate(180deg);
  }
  50.1% {
    opacity: 0;
    transform: translate3d(10px, 0, 0) rotate(180deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(180deg);
  }
}
@keyframes arrow-up {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
  50% {
    opacity: 0;
    transform: translate3d(0, -10px, 0) rotate(45deg);
  }
  50.1% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) rotate(45deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
}
@keyframes arrow-up-iphone {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(-45deg);
  }
  50% {
    opacity: 0;
    transform: translate3d(0, -10px, 0) rotate(-45deg);
  }
  50.1% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) rotate(-45deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(-45deg);
  }
}
@keyframes arrow-down {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(90deg);
  }
  50% {
    opacity: 0;
    transform: translate3d(0, 10px, 0) rotate(90deg);
  }
  50.1% {
    opacity: 0;
    transform: translate3d(0, -10px, 0) rotate(90deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(90deg);
  }
}
/*
--------------------------------
	container
--------------------------------
*/
.body-container {
  padding: 120px 5vw;
}
.body-container.bg-gray {
  background-color: #f4f4f4;
}
.body-container.bg-gray.dark {
  background-color: #d9d9d9;
}
.body-container.no-top-padding {
  padding-top: 0;
}
.body-container.no-bottom-padding {
  padding-bottom: 0;
}
.body-container .body-inner {
  max-width: 1104px;
  margin: 0 auto;
}
.body-container .article-inner {
  max-width: 800px;
  margin: 0 auto;
}
.body-container .body-inner > :first-child,
.body-container .article-inner > :first-child {
  margin-top: 0;
}

@media screen and (max-width: 767.9px) {
  .body-container {
    padding: 21.3vw 5vw;
  }
  .body-container.no-top-padding {
    padding-top: 0;
  }
  .body-container.no-bottom-padding {
    padding-bottom: 0;
  }
  .body-container .body-inner {
    max-width: none;
    margin: 0;
  }
  .body-container .article-inner {
    max-width: none;
    margin: 0;
  }
}
/*
--------------------------------
	page header
--------------------------------
*/
/* ---- pc ---- */
header {
  position: fixed;
  z-index: 2000;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  background-color: #fff;
  letter-spacing: 0.1em;
  transition: height 0.2s ease-out;
}
.is-scroll header {
  height: 70px;
}
header::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.1);
}
header.top-no-border::after {
  opacity: 0;
  transition: opacity 0s linear 0.4s;
}

.is-scroll header.top-no-border::after {
  opacity: 1;
  transition: opacity 0s linear 0s;
}

.megamenu-open header::after {
  opacity: 1;
  transition: opacity 0s linear 0.1s;
}

header .header {
  display: flex;
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin: 0 auto;
  justify-content: space-between;
  transition: max-width 0.2s ease-out;
}

.header-logo {
  display: flex;
  max-width: 15vw;
  height: 100%;
  margin-left: 40px;
  align-items: center;
}
.header-logo img {
  width: 184px;
  aspect-ratio: 1/0.239;
}
.header-logo img:lang(en) {
  width: 55px;
  aspect-ratio: 1/0.738;
}

@media screen and (min-width: 1200px) {
  .header-nav {
    display: flex !important;
    height: 100%;
  }
  .header-nav .gnav {
    padding: 0 1.5vw;
    font-size: 14px;
  }
  .header-nav .gnav:lang(en) {
    font-size: 1.3rem;
    letter-spacing: normal;
  }
  .header-nav > ul {
    display: flex;
    align-items: center;
    height: 100%;
  }
  .header-nav > ul > li {
    height: 100%;
    line-height: 1.24;
  }
  .header-nav > ul > li > a,
  .header-nav > ul > li > button {
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    font-weight: 700;
  }
  .header-nav .gnav > li > a::after {
    content: "";
    position: absolute;
    display: block;
    width: 0;
    height: 2px;
    left: 50%;
    bottom: 0;
    background-color: #2e2e2e;
    transition: width 0.2s ease-out, left 0.2s ease-out;
  }
  .header-nav .gnav > li:hover > a::after,
  .header-nav .gnav > li.is-current > a::after {
    width: 100%;
    left: 0;
  }
  .header-nav .gnav > li > a {
    padding: 0 1.2vw;
    text-align: center;
    transition: padding 0.2s ease-out;
  }
  .header-nav .gnav > li > a.is-disabled {
    cursor: default;
  }
  .header-nav .sub-menu {
    padding: 0 40px 0 0;
  }
  .header-nav .sub-menu img {
    display: block;
  }
  .header-nav .sub-menu .btn-search button {
    padding: 0 0 0 20px;
  }
  .megamenu {
    position: absolute;
    z-index: 2;
    display: block !important;
    width: 100%;
    height: calc(10 * (1.4em + 3vh) + 6vh);
    max-height: 0;
    top: 100%;
    left: 0;
    background-color: #fff;
    overflow: hidden;
    transition: max-height 0.3s ease-out 0.1s, z-index 0s linear 0.4s;
  }
  .megamenu-col1:before,
  .megamenu:before,
  .megamenu:after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    width: 1px;
    height: 100%;
    top: 0;
    left: 25%;
    background-color: rgba(0, 0, 0, 0.1);
  }
  .megamenu:before {
    left: 50%;
  }
  .megamenu:after {
    left: 75%;
  }
  .megamenu-open .megamenu {
    max-height: 600px;
    transition: max-height 0.3s ease-out 0.1s, z-index 0s linear 0.1s;
  }
  .megamenu[aria-hidden=false] {
    z-index: 3;
  }
  /*
    .megamenu .btn-col {
      transition: background-color .2s linear;
    }

    .megamenu .megamenu-col2 .btn-col:hover {
      background-color: g.$color_bg;
    }
    .megamenu .megamenu-col3 .btn-col:hover {
      background-color: #e4e4e4;
    }
  */
  .megamenu-col {
    float: left;
    display: block !important;
    width: 25%;
    height: 100%;
    top: -100%;
    padding: 3vh 0;
  }
  .megamenu-col.col2 {
    width: 50%;
  }
  .megamenu-col3 {
    position: absolute;
    left: 50%;
    background-color: #f4f4f4;
    opacity: 0;
    transition: top 0s linear 0.2s, opacity 0.2s linear;
  }
  .megamenu-col4 {
    position: absolute;
    width: 100%;
    left: 100%;
    background-color: #e4e4e4;
    opacity: 0;
    transition: top 0s linear 0.2s, opacity 0.2s linear;
  }
  /*
  .megamenu .btn-col:hover > .megamenu-col {
    top: 0;
    opacity: 1;
    transition: top 0s linear, opacity .2s linear;
  }
  */
  .megamenu-col li {
    clear: both;
    width: 100%;
    transition: background-color 0.2s linear;
  }
  .megamenu .megamenu-col.col2 li {
    clear: none;
    float: left;
    width: 50%;
    overflow: visible;
  }
  .megamenu .megamenu-col.col2 > li:nth-of-type(2n + 1) {
    clear: both;
  }
  .megamenu .megamenu-col2 .pc-submenu-open {
    background-color: #f4f4f4;
  }
  .megamenu .megamenu-col3 .pc-submenu-open {
    background-color: #e4e4e4;
  }
  .megamenu a {
    position: relative;
    display: block;
    transition: background-color 0.2s linear;
  }
  .megamenu-col1 a {
    position: relative;
    padding: 1.5vh 40px 55px;
    font-size: 24px;
    font-weight: bold;
    color: #2e2e2e;
    text-decoration: none;
  }
  .megamenu-col1 a .en {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    letter-spacing: 0;
  }
  .megamenu-col1 a::before {
    content: "";
    position: absolute;
    display: block;
    width: 40px;
    height: 40px;
    bottom: 0;
    left: 40px;
    border-radius: 100%;
    border: solid 1px #2e2e2e;
    transition: background-color 0.2s linear;
  }
  .megamenu-col1 a::after {
    content: "";
    position: absolute;
    display: block;
    width: 12px;
    height: 10px;
    bottom: 15px;
    left: 54px;
    background: url(../images/icon_arrow.svg) center no-repeat;
  }
  .megamenu-col1 a:hover::before {
    background-color: #2e2e2e;
  }
  .megamenu-col1 a:hover::after {
    background: url(../images/icon_arrow_wht.svg) center no-repeat;
    animation: megamenu-arrow1 0.5s ease-in-out;
  }
  .megamenu-col1 a.is-disabled {
    pointer-events: none;
  }
  .megamenu-col1 a.is-disabled::before, .megamenu-col1 a.is-disabled::after {
    content: none;
  }
  @keyframes megamenu-arrow1 {
    0% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    50% {
      opacity: 0;
      transform: translate3d(10px, 0, 0);
    }
    50.1% {
      opacity: 0;
      transform: translate3d(-10px, 0, 0);
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
  .megamenu-col li a {
    display: block;
    position: relative;
    width: 100%;
    padding: 1.5vh 60px 1.5vh 2vw;
    font-size: 14px;
    color: #2e2e2e;
    text-decoration: none;
  }
  /*
  .megamenu-col li a {
    float: left;
    position: relative;
    width: 100%;
    padding: 1.5vh 50px 1.5vh 2vw;
    font-size: 14px;
    color: g.$color_1;
    text-decoration: none;
  }
  */
  /*
  .megamenu-col li a:after {
    content: "";
    display: inline-block;
    width: 12px;
    height: 10px;
    margin-left: 10px;
    background: url(../images/icon_arrow.svg) center no-repeat;
    vertical-align: middle;
  }
  */
  /*
  .megamenu-col li a:after {
    content: "";
    position: absolute;
    display: block;
    width: 50px;
    height: calc(1em * 1.4 + 3vh);
    top: 0;
    right: 0;
    background: url(../images/icon_arrow.svg) center no-repeat;
    //transition: transform .2s ease-out;
  }

  .megamenu-col li a:hover:after {
    //transform: translate3d(4px, 0px, 0px);
    animation: megamenu-arrow2 .5s ease-in-out;
  }
  */
  @keyframes megamenu-arrow2 {
    0% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
    50% {
      opacity: 0;
      transform: translate3d(10px, 0, 0);
    }
    50.1% {
      opacity: 0;
      transform: translate3d(-10px, 0, 0);
    }
    100% {
      opacity: 1;
      transform: translate3d(0, 0, 0);
    }
  }
  .megamenu-col3 > li > a {
    padding: 1vh 60px 1vh 2vw;
  }
  .megamenu-col4 > li > a {
    padding: 1vh 2vw 1vh 2vw;
  }
  /*
  .megamenu-col3 > li > a:after  {
    height: calc(1em * 1.4 + 2vh);
  }

  .megamenu-col4 > li > a:after {
    height: calc(1em * 1.4 + 2vh);
  }
  */
  .megamenu .megamenu-col2 li a:hover {
    background-color: #f4f4f4;
  }
  .megamenu .megamenu-col3 li a:hover {
    background-color: #e4e4e4;
  }
  .megamenu .megamenu-col4 li a:hover {
    background-color: #d4d4d4;
  }
  .btn-submenu {
    display: block;
    position: absolute;
    right: 0;
    top: 0;
    width: 50px;
    height: 100%;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    border: 0 none;
    background-color: transparent;
    cursor: pointer;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color 0.2s linear;
  }
  .megamenu .has-submenu::after {
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    top: 1.5vh;
    bottom: 1.5vh;
    right: 49px;
    background-color: rgba(0, 0, 0, 0.2);
  }
  .megamenu-col3 .has-submenu::after {
    top: 1vh;
    bottom: 1vh;
  }
  /*
  .btn-submenu {
    float: right;
    position: relative;
    display: block;
    width: 50px;
    height: calc(1em * 1.4 + 3vh);
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    border: 0 none;
    background-color: transparent;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color .2s linear;
  }
  */
  .btn-megamenu > a > .btn-submenu {
    display: none;
  }
  .btn-submenu:before {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 14px;
    top: calc(50% - 7px);
    left: calc(50% - 1px);
    background-color: #2e2e2e;
    transition: transform 0.2s ease-out;
  }
  .pc-submenu-open > a > .btn-submenu:before {
    transform: rotate(90deg);
  }
  .btn-submenu:after {
    content: "";
    position: absolute;
    display: block;
    width: 14px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 7px);
    background-color: #2e2e2e;
  }
  .megamenu-col2 > li > .btn-submenu {
    height: calc(1.4em + 3vh);
  }
  .megamenu-col3 > li > .btn-submenu {
    height: calc(1.4em + 2vh);
  }
  .megamenu .megamenu-col2 > li > .btn-submenu:hover {
    background-color: #f4f4f4;
  }
  .megamenu .megamenu-col3 > li > .btn-submenu:hover {
    background-color: #e4e4e4;
  }
  /*
  .megamenu-col li .btn-submenu + a {
    width: calc(100% - 50px);
  }

  .megamenu .btn-submenu + a:before {
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    height: 20px;
    top: calc(50% - 10px);
    right: 0;
    background-color: rgba(0,0,0,.2);
    border: 0 none;
    transform: none;
  }
  */
  /*
    .megamenu .btn-col:hover > .megamenu-col {
      top: 1;
      opacity: 0;
      transition: top 0s linear .2s, opacity .2s linear;
    }
  */
  .megamenu .pc-submenu-open > .megamenu-col {
    top: 0;
    opacity: 1;
    transition: top 0s linear, opacity 0.2s linear;
  }
}
.header-nav .sub-menu .btn-menu {
  display: none;
}

.bg-megamenu {
  position: absolute;
  z-index: 1;
  width: 100%;
  height: 0;
  top: 100%;
  left: 0;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: height 0s linear 0.4s, opacity 0.3s linear 0.1s;
}

.megamenu-open .bg-megamenu {
  height: 100vh;
  opacity: 1;
  transition: height 0s linear 0.1s, opacity 0.3s linear 0.1s;
}

/* ---- tablet ---- */
@media screen and (max-width: 1199.9px) {
  header {
    height: 65px !important;
  }
  .spmenu-open header:after {
    opacity: 1;
    transition: opacity 0s linear 0s;
  }
  .header-logo {
    max-width: 130px;
    margin-left: 5vw;
  }
  .header-logo img {
    width: 130px;
  }
  .header-logo img:lang(en) {
    width: 38px;
  }
  .header-nav .sub-menu {
    display: flex;
    align-items: center;
    height: 100%;
    padding: 0 calc(5vw - 18px) 0 0;
  }
  .header-nav .sub-menu li {
    height: 100%;
  }
  .header-nav .sub-menu li button {
    display: flex;
    height: 100%;
    align-items: center;
  }
  .header-nav .sub-menu .btn-search {
    width: 30px;
    margin-left: 12px;
  }
  .header-nav .sub-menu .btn-search button {
    padding: 0;
  }
  .header-nav .sub-menu .btn-menu {
    display: block;
    position: relative;
    width: 60px;
    height: 100%;
    margin-left: 2px;
    cursor: pointer;
  }
  .header-nav .sub-menu .btn-menu span {
    display: block;
    position: absolute;
    left: 18px;
    top: calc(50% - 1px);
    width: 24px;
    height: 2px;
    background-color: #2e2e2e;
    overflow: hidden;
    text-indent: -400px;
    opacity: 1;
    transform: translateY(-6px);
    transition: opacity 0.2s ease-out;
  }
  .header-nav .sub-menu .btn-menu::before {
    content: "";
    display: block;
    position: absolute;
    left: 18px;
    top: calc(50% - 1px);
    width: 24px;
    height: 2px;
    background-color: #2e2e2e;
    transform-origin: 50%;
    transform: rotate(0);
    transition: transform 0.2s ease-out;
  }
  .header-nav .sub-menu .btn-menu::after {
    content: "";
    display: block;
    position: absolute;
    left: 18px;
    top: calc(50% - 1px);
    width: 24px;
    height: 2px;
    background-color: #2e2e2e;
    transform-origin: 50%;
    transform: rotate(0) translateY(6px);
    transition: transform 0.2s ease-out;
  }
  .spmenu-open .header-nav .sub-menu .btn-menu span {
    opacity: 0;
  }
  .spmenu-open .header-nav .sub-menu .btn-menu::before {
    transform: rotate(-45deg);
  }
  .spmenu-open .header-nav .sub-menu .btn-menu::after {
    transform: rotate(45deg) translateY(0);
  }
  nav.header-nav {
    position: fixed;
    z-index: 2;
    display: none;
    width: 100%;
    height: calc(100% - 65px);
    top: 65px;
    left: 0;
    background-color: #fff;
    overflow-y: scroll;
  }
  .megamenu {
    position: relative;
    display: none;
  }
  .megamenu-col1 {
    display: none;
  }
  .megamenu-col3 {
    display: none;
    background-color: #f4f4f4;
  }
  .megamenu-col4 {
    display: none;
    background-color: #e4e4e4;
  }
  .gnav {
    margin: -1px 0 50px;
    border-bottom: solid 1px rgba(0, 0, 0, 0.1);
  }
  .gnav br {
    display: none;
  }
  .gnav li {
    position: relative;
    border-top: solid 1px rgba(0, 0, 0, 0.1);
  }
  .gnav li a {
    position: relative;
    display: block;
    padding: 20px 60px 20px 5vw;
    text-decoration: none;
    color: #2e2e2e;
    line-height: 1.5;
  }
  /*
  .gnav a:before {
    content: "";
    position: absolute;
    display: block;
    width: 100%;
    height: 1px;
    left: 0;
    bottom: 0;
    background-color: rgba(0,0,0,.1);
  }
  */
  /*
  .gnav a:before{
    content: "";
    position: absolute;
    display: block;
    width: 60px;
    height: calc(1em * 1.5 + 40px);
    top: 0;
    right: 0;
    background: url(../images/icon_arrow.svg) center no-repeat;
  }

  .gnav .megamenu-col2 > li > a:before {
    height: calc(1em * 1.5 + 34px);
  }

  .gnav .megamenu-col3 > li > a:before {
    height: calc(1em * 1.5 + 34px);
  }

  .gnav .megamenu-col4 > li > a:before {
    height: calc(1em * 1.5 + 30px);
  }
  */
  .megamenu-col2 > li {
    font-size: 15px;
    line-height: 1.5;
  }
  .megamenu-col3 > li {
    font-size: 14px;
    line-height: 1.5;
  }
  .megamenu-col4 > li {
    font-size: 13px;
    line-height: 1.5;
  }
  .megamenu-col2 > li > a {
    padding: 17px 5vw 17px 10vw;
  }
  .megamenu-col2 > li > a.has-submenu {
    padding-right: 79px;
  }
  .megamenu-col3 > li > a {
    padding: 17px 5vw 17px 15vw;
  }
  .megamenu-col3 > li > a.has-submenu {
    padding-right: 79px;
  }
  .megamenu-col4 > li > a {
    padding: 15px 5vw 15px 20vw;
  }
  .btn-submenu {
    position: absolute;
    display: block;
    width: 60px;
    height: 100%;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    border: 0 none;
    background-color: transparent;
    cursor: pointer;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color 0.2s linear;
  }
  .btn-submenu:before {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 16px;
    top: calc(50% - 8px);
    left: calc(50% - 1px);
    background-color: #2e2e2e;
    transition: transform 0.2s ease-out;
  }
  .btn-submenu.submenu-open:before {
    transform: rotate(90deg);
  }
  .btn-submenu:after {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 8px);
    background-color: #2e2e2e;
  }
  .megamenu-col2 > li > .btn-submenu {
    height: calc(1.5em + 34px);
  }
  .megamenu-col3 > li > .btn-submenu {
    height: calc(1.5em + 34px);
  }
  .megamenu-col2 > li > a > .btn-submenu.submenu-open {
    background-color: #f4f4f4;
  }
  .megamenu-col3 > li > a > .btn-submenu.submenu-open {
    background-color: #e4e4e4;
  }
  .has-submenu::after {
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    top: 20px;
    bottom: 20px;
    right: 59px;
    background-color: rgba(0, 0, 0, 0.2);
  }
  /*
  .btn-submenu + a {
    width: calc(100% - 60px);
  }

  .btn-submenu + a:before {
    width: calc(100% + 60px);
  }

  .btn-submenu + a:after {
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    height: 20px;
    top: calc(50% - 10px);
    right: 0;
    background-color: rgba(0,0,0,.2);
  }
  */
  .spmenu-open .bg-megamenu {
    height: 100vh;
    opacity: 1;
    transition: height 0s linear 0.1s, opacity 0.3s linear 0.1s;
  }
}
/* ---- language ---- */
.header-nav .sub-menu .btn-language {
  position: relative;
  width: 100px;
  height: 32px;
}
.header-nav .sub-menu .btn-language button {
  display: block;
  position: relative;
  z-index: 3;
  width: 100%;
  height: 100%;
  padding-right: 16px;
  border: 1px solid #d0d0d0;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 30px;
  text-align: center;
}
.header-nav .sub-menu .btn-language button::before {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: calc(50% - 4px);
  width: 6px;
  height: 6px;
  border-bottom: 2px solid #2e2e2e;
  border-left: 2px solid #2e2e2e;
  transform: rotate(-45deg);
}
.header-nav .sub-menu .btn-language .drawer {
  position: absolute;
  left: 0;
  top: calc(50% + 12px);
  z-index: 2;
  min-width: 100px;
  height: 0;
  padding: 4px 15px 0;
  border-radius: 0 0 4px 4px;
  background-color: #e8e8e8;
  overflow: hidden;
  opacity: 0;
  transition: height 0.15s ease-out, opacity 0.15s ease-out;
}
.header-nav .sub-menu .btn-language .drawer li {
  border-bottom: 1px solid #d9d9d9;
}
.header-nav .sub-menu .btn-language .drawer li:last-child {
  border-bottom-style: none;
}
.header-nav .sub-menu .btn-language .drawer a {
  display: block;
  padding: 15px 0;
  color: #2e2e2e;
  font-size: 1.3rem;
  text-align: center;
  opacity: 1;
  transition: opacity 0.2s;
}
.header-nav .sub-menu .btn-language .drawer a:hover, .header-nav .sub-menu .btn-language .drawer a:active {
  opacity: 0.6;
}
.header-nav .sub-menu .btn-language .drawer a.en {
  letter-spacing: 0.03em;
}

@media screen and (max-width: 1199.9px) {
  .header-nav .sub-menu .btn-language {
    width: 60px;
  }
  .header-nav .sub-menu .btn-language button {
    padding-right: 10px;
    border-color: #fff;
    transition: border-color 0.2s;
  }
  .header-nav .sub-menu .btn-language button span {
    display: none;
  }
  .header-nav .sub-menu .btn-language button::before {
    right: 7px;
  }
  .header-nav .sub-menu .btn-language button.is-open {
    border-color: #d0d0d0;
  }
  .header-nav .sub-menu .btn-language .drawer {
    left: auto;
    right: 0;
    padding: 4px 10px 0;
    border-radius: 4px 0 4px 4px;
    background-color: #f4f4f4;
  }
  .header-nav .sub-menu .btn-language .drawer a {
    transition: none;
  }
  .header-nav .sub-menu .btn-language .drawer a:hover, .header-nav .sub-menu .btn-language .drawer a:active {
    opacity: 1;
  }
}
/* ---- search ---- */
.header-search {
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 1;
  width: 100%;
  height: 0;
  padding: 0 40px;
  background-color: #f4f4f4;
  overflow: hidden;
  pointer-events: none;
  transition: height 0.12s ease-out;
}
.header-search.is-open {
  height: 88px;
  pointer-events: auto;
  transition: height 0.16s ease-out;
}
.header-search form {
  display: flex;
  justify-content: space-between;
  width: 100%;
  max-width: 630px;
  height: 88px;
  margin: 0 auto;
  padding: 16px 0;
}
.header-search form input {
  width: calc(100% - 108px);
  height: 56px;
  padding: 0 4%;
  border: 1px solid #e2e2e2;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  line-height: 55px;
}
.header-search form input::-moz-placeholder {
  color: #767676;
}
.header-search form input::placeholder {
  color: #767676;
}
.header-search form button {
  width: 100px;
  height: 56px;
  border-radius: 4px;
  background-color: #2e2e2e;
  color: #fff;
  font-size: 1.6rem;
  line-height: 55px;
  text-align: center;
  opacity: 1;
  transition: opacity 0.2s;
}
.header-search form button:hover, .header-search form button:active {
  opacity: 0.7;
}

.bg-search {
  position: absolute;
  left: 0;
  top: 100px;
  z-index: 0;
  width: 100%;
  height: calc(100vh - 100px);
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease-out;
}
.is-scroll .bg-search {
  top: 70px;
  height: calc(100vh - 70px);
}
.bg-search.is-shown {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.16s ease-out;
}

@media screen and (max-width: 1199.9px) {
  .header-search {
    padding: 0 5vw;
  }
  .header-search.is-open {
    height: 84px;
  }
  .header-search form {
    height: 84px;
    padding: 20px 0;
  }
  .header-search form input {
    width: calc(100% - 71px);
    height: 44px;
    padding: 0 5%;
    font-size: 1.4rem;
    line-height: 43px;
  }
  .header-search form button {
    width: 68px;
    height: 44px;
    font-size: 1.4rem;
    line-height: 43px;
    transition: none;
  }
  .header-search form button:hover, .header-search form button:active {
    opacity: 1;
  }
  .bg-search {
    top: 65px;
    height: calc(100vh - 65px);
    background-color: rgba(0, 0, 0, 0.6);
  }
  .is-scroll .bg-search {
    top: 65px;
    height: calc(100vh - 65px);
  }
}
/* ---- A11Y update on 2025/03-04 ---- */
@media screen and (min-width: 1200px) {
  .megamenu-open .megamenu {
    max-height: 1000px;
  }
  .megamenu:before {
    left: 60%;
  }
  .megamenu:after {
    content: none;
  }
}
.megamenu-col.megamenu-col1 {
  width: 21%;
}
.megamenu-col.megamenu-col1:before {
  left: 21%;
}
.megamenu-col.megamenu-col1 a {
  height: 100%;
}
.megamenu-col.megamenu-col2 {
  width: 39%;
}
.megamenu-col.megamenu-col3 {
  left: 60%;
  width: 40%;
}
.spmenu-open .megamenu-col {
  width: auto;
}

.megamenu-col1 a::before {
  content: none;
}

.megamenu-col1 a::after {
  content: none;
}

.megamenu-col1 a.is-disabled .inner::before, .megamenu-col1 a.is-disabled .inner::after {
  content: none;
}

.megamenu-col1 {
  padding: 0;
}
.megamenu-col1 a {
  padding: 4.5vh 40px 0;
}
.megamenu-col1 a .inner {
  display: block;
  position: relative;
  padding-bottom: 55px;
  word-break: keep-all;
}
.megamenu-col1 a .inner::before {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  bottom: 0;
  left: 0;
  border-radius: 100%;
  border: solid 1px #2e2e2e;
  transition: background-color 0.2s linear;
}
.megamenu-col1 a .inner::after {
  content: "";
  position: absolute;
  display: block;
  width: 12px;
  height: 10px;
  bottom: 15px;
  left: 14px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.megamenu-col1 a:hover {
  background-color: #f8f8f8;
}
.megamenu-col1 a:hover .inner::before {
  background-color: #2e2e2e;
}
.megamenu-col1 a:hover .inner::after {
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
  animation: megamenu-arrow1 0.5s ease-in-out;
}
.megamenu-col1 a:focus-visible {
  outline: none;
}
.megamenu-col1 a:focus-visible .inner {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}

.header-nav .gnav > li > a {
  word-break: keep-all;
}

.megamenu-wrapper {
  position: relative;
  height: 100%;
}
.megamenu-wrapper a {
  display: none;
}
.megamenu-wrapper .btn-megamenu {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  padding: 0 1.2vw;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-align: center;
  line-height: 1.2;
  word-break: keep-all;
  transition: padding 0.2s ease-out;
}
.megamenu-wrapper .btn-megamenu.is-disabled {
  cursor: default;
}
.megamenu-wrapper .btn-megamenu br {
  display: none;
}
@media screen and (max-width: 1419px) {
  .megamenu-wrapper .btn-megamenu br {
    display: inline;
  }
}
@media screen and (max-width: 1199.9px) {
  .megamenu-wrapper .btn-megamenu br {
    display: none;
  }
}
.megamenu-wrapper .btn-megamenu::after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 2px;
  left: 50%;
  bottom: 0;
  background-color: #2e2e2e;
  transition: width 0.2s ease-out, left 0.2s ease-out;
}
.megamenu-wrapper .btn-megamenu:hover::after, li.is-current .megamenu-wrapper .btn-megamenu::after {
  width: 100%;
  left: 0;
}
@media screen and (max-width: 1199.9px) {
  .megamenu-wrapper {
    display: flex;
    height: auto;
  }
  .megamenu-wrapper::after {
    content: "";
    position: absolute;
    display: block;
    width: 1px;
    top: 20px;
    bottom: 20px;
    right: 59px;
    background-color: rgba(0, 0, 0, 0.2);
  }
  .megamenu-wrapper .btn-megamenu {
    position: absolute;
    display: block;
    width: 60px;
    height: 100%;
    top: 0;
    right: 0;
    margin: 0;
    padding: 0;
    text-indent: -9999px;
    border: 0 none;
    background-color: transparent;
    cursor: pointer;
    outline: revert;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: background-color 0.2s linear;
  }
  .megamenu-wrapper .btn-megamenu:before {
    content: "";
    position: absolute;
    display: block;
    width: 2px;
    height: 16px;
    top: calc(50% - 8px);
    left: calc(50% - 1px);
    background-color: #2e2e2e;
    transition: transform 0.2s ease-out;
  }
  .megamenu-wrapper .btn-megamenu.submenu-open:before {
    transform: rotate(90deg);
  }
  .megamenu-wrapper .btn-megamenu:after {
    content: "";
    position: absolute;
    display: block;
    width: 16px;
    height: 2px;
    top: calc(50% - 1px);
    left: calc(50% - 8px);
    background-color: #2e2e2e;
  }
  .megamenu-wrapper .btn-megamenu:hover::after, li.is-current .megamenu-wrapper .btn-megamenu::after {
    width: 16px;
    left: calc(50% - 8px);
  }
  .megamenu-wrapper .megamenu-col2 > li > .btn-submenu {
    height: calc(1.5em + 34px);
  }
  .megamenu-wrapper .megamenu-col3 > li > .btn-submenu {
    height: calc(1.5em + 34px);
  }
  .megamenu-wrapper .megamenu-col2 > li > a > .btn-submenu.submenu-open {
    background-color: #f4f4f4;
  }
  .megamenu-wrapper .megamenu-col3 > li > a > .btn-submenu.submenu-open {
    background-color: #e4e4e4;
  }
}

.submenu-wrapper {
  display: flex;
  position: relative;
}
.submenu-wrapper::after {
  content: "";
  position: absolute;
  display: block;
  width: 1px;
  top: 1.5vh;
  bottom: 1.5vh;
  right: 50px;
  background-color: rgba(0, 0, 0, 0.2);
}
.submenu-wrapper a {
  width: calc(100% - 50px) !important;
}
.submenu-wrapper .btn-submenu {
  display: block;
  position: relative;
  right: auto;
  top: auto;
  width: 50px;
  margin: 0;
  padding: 1.5vh 0;
  font-size: 14px;
  text-indent: -9999px;
  border: 0 none;
  outline: revert;
  background-color: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  transition: background-color 0.2s linear;
}
.submenu-wrapper .btn-submenu:hover {
  background-color: #f4f4f4;
}
.pc-submenu-open > .submenu-wrapper .btn-submenu::before {
  transform: rotate(90deg);
}
@media screen and (max-width: 1199.9px) {
  .submenu-wrapper::after {
    top: 20px;
    bottom: 20px;
    right: 59px;
  }
  .submenu-wrapper a {
    width: calc(100% - 60px) !important;
  }
  .submenu-wrapper .btn-submenu {
    width: 60px;
  }
  .megamenu-col2 > li > .submenu-wrapper {
    height: 56px;
  }
  .megamenu-col3 > li > .submenu-wrapper {
    height: 56px;
  }
  .megamenu-col4 > li > .submenu-wrapper {
    height: 50px;
  }
  .megamenu-col2 > li > .submenu-wrapper > .btn-submenu.submenu-open {
    background-color: #f4f4f4;
  }
  .megamenu-col3 > li > .submenu-wrapper > .btn-submenu.submenu-open {
    background-color: #e4e4e4;
  }
  .megamenu-col2 > li > .submenu-wrapper > a {
    padding: 17px 5vw 17px 10vw;
  }
  .megamenu-col3 > li > .submenu-wrapper > a {
    padding: 17px 5vw 17px 15vw;
  }
  .megamenu-col4 > li > .submenu-wrapper > a {
    padding: 15px 5vw 15px 20vw;
  }
}

.js-hamburger-first,
.js-hamburger-button {
  display: none;
}

@media screen and (max-width: 1199.9px) {
  .header-nav .sub-menu li button {
    display: block;
    position: relative;
    z-index: 1;
    width: 100%;
  }
  .js-hamburger-first,
  .js-hamburger-button {
    display: block;
    height: 0;
    outline: 1px solid #fff;
    color: #fff;
    font-size: 1px;
  }
}
/*
--------------------------------
	footer
--------------------------------
*/
/* ---- navigation ---- */
.page-footer .upper {
  padding-top: 65px;
  padding-bottom: 65px;
  background-color: #ececec;
}
.page-footer .upper .body-inner {
  display: flex;
  flex-wrap: wrap;
  gap: min(3.8vw, 55px) min(3.4vw, 50px);
}
.page-footer .upper .body-inner > * {
  width: max(25% - 2.55vw, 25% - 37.5px);
}
.page-footer .upper .body-inner > *:last-child {
  width: max(50% - 1.7vw, 50% - 25px);
}
.page-footer .upper .body-inner.col-3 > * {
  width: max(33.3333% - 2.27vw, 33.3333% - 33.4px);
}
.page-footer .upper .body-inner.col-3 > *:last-child {
  width: max(33.3333% - 2.27vw, 33.3333% - 33.4px);
}
.page-footer .upper .body-inner.col-5 > * {
  width: max(20% - 2.72vw, 20% - 40px);
}
.page-footer .upper .body-inner.col-5 > *:last-child {
  width: max(20% - 2.72vw, 20% - 40px);
}
.page-footer .upper a {
  color: #2e2e2e;
  opacity: 1;
  transition: opacity 0.2s;
}
.page-footer .upper a:hover, .page-footer .upper a:active {
  color: #2e2e2e;
  opacity: 0.6;
}
.page-footer .upper dt {
  margin-top: 70px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.page-footer .upper dt:first-child {
  margin-top: 0;
}
.page-footer .upper dt + dt {
  margin-top: 40px;
}
.page-footer .upper dt button {
  display: none;
}
.page-footer .upper dd {
  margin-top: 30px;
}
.page-footer .upper dd li {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.65;
}
.page-footer .upper dd + dt {
  margin-top: 40px;
}
.page-footer .upper .body-inner > ul li {
  margin-top: 40px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.page-footer .upper .body-inner > ul li:first-child {
  margin-top: 0;
}
.page-footer .upper .button-col a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 90px;
  border-radius: 4px;
  background-color: #e0e0e0;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  transition: background-color 0.3s ease-out, color 0.3s ease-out;
}
.page-footer .upper .button-col a:hover, .page-footer .upper .button-col a:active {
  background-color: #2e2e2e;
  color: #fff;
  opacity: 1;
}
.page-footer .lower {
  padding: 43px 0 55px;
  background-color: #2e2e2e;
  /*
  .footer-logo {

    padding-top: 48px;
    text-align: center;

    a {

      opacity: 1;
      transition: opacity .2s;

      &:hover, &:active {
        opacity: .6;
      }

      img {
        width: 240px;
      }

    }

  }
  */
}
.page-footer .lower .body-container {
  padding-top: 0;
  padding-bottom: 43px;
  border-bottom: 1px solid #464646;
}
.page-footer .lower .body-inner {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
.page-footer .lower .sns {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
}
.page-footer .lower .sns a {
  display: block;
  width: 40px;
  opacity: 1;
  transition: opacity 0.2s;
}
.page-footer .lower .sns a:hover, .page-footer .lower .sns a:active {
  opacity: 0.6;
}
.page-footer .lower .legal {
  display: flex;
  -moz-column-gap: 1.4em;
       column-gap: 1.4em;
  font-size: 1.4rem;
  font-weight: 700;
}
.page-footer .lower .legal a {
  color: #fff;
  opacity: 1;
  transition: opacity 0.2s;
}
.page-footer .lower .legal a:hover, .page-footer .lower .legal a:active {
  color: #fff;
  opacity: 0.6;
}
.page-footer .lower p {
  margin-top: 48px;
  color: #959595;
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  text-align: center;
}

@media screen and (max-width: 849px) {
  .page-footer .lower .legal {
    -moz-column-gap: 1.2em;
         column-gap: 1.2em;
    font-size: 1.3rem;
  }
}
@media screen and (max-width: 767.9px) {
  .page-footer .upper {
    padding-top: 5vw;
    padding-bottom: 10vw;
  }
  .page-footer .upper .body-inner {
    display: block;
  }
  .page-footer .upper .body-inner > * {
    width: auto;
  }
  .page-footer .upper .body-inner > *:last-child {
    width: auto;
  }
  .page-footer .upper .body-inner.col-3 > * {
    width: auto;
  }
  .page-footer .upper .body-inner.col-3 > *:last-child {
    width: auto;
  }
  .page-footer .upper .body-inner.col-5 > * {
    width: auto;
  }
  .page-footer .upper .body-inner.col-5 > *:last-child {
    width: auto;
  }
  .page-footer .upper a {
    transition: none;
  }
  .page-footer .upper a:hover, .page-footer .upper a:active {
    opacity: 1;
  }
  .page-footer .upper dt {
    position: relative;
    margin-top: 0;
  }
  .page-footer .upper dt + dt {
    margin-top: 0;
    border-top: 1px solid #dfdfdf;
  }
  .page-footer .upper dt:last-child {
    border-bottom: 1px solid #dfdfdf;
  }
  .page-footer .upper dt a, .page-footer .upper dt span {
    display: block;
    position: relative;
    width: calc(100% - 5vw - 14px);
    padding: 20px 20px 20px 0;
  }
  .page-footer .upper dt a::after, .page-footer .upper dt span::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: calc(50% - 10px);
    width: 1px;
    height: 20px;
    background-color: #c0c0c0;
  }
  .page-footer .upper dt a:only-child, .page-footer .upper dt span:only-child {
    width: auto;
  }
  .page-footer .upper dt a:only-child::after, .page-footer .upper dt span:only-child::after {
    content: none;
  }
  .page-footer .upper dt button {
    display: block;
    position: absolute;
    right: -5vw;
    top: 0;
    width: calc(10vw + 14px);
    height: 100%;
    overflow: hidden;
    text-indent: -400px;
  }
  .page-footer .upper dt button::before {
    content: "";
    display: block;
    position: absolute;
    right: 5vw;
    top: calc(50% - 1px);
    width: 14px;
    height: 2px;
    background-color: #2e2e2e;
  }
  .page-footer .upper dt button::after {
    content: "";
    display: block;
    position: absolute;
    right: 5vw;
    top: calc(50% - 1px);
    width: 14px;
    height: 2px;
    background-color: #2e2e2e;
    opacity: 1;
    transform: rotate(-90deg);
    transition: opacity 0.2s, transform 0.2s;
  }
  .page-footer .upper dt button.is-open::after {
    opacity: 0;
    transform: rotate(0);
  }
  .page-footer .upper dd {
    height: 0;
    margin-top: 0;
    border-bottom: 1px solid #dfdfdf;
    overflow: hidden;
    transition: height 0.25s ease-out;
  }
  .page-footer .upper dd ul {
    padding: 0 5vw 18px 0;
  }
  .page-footer .upper dd li {
    margin-top: 0;
    padding-left: 5vw;
  }
  .page-footer .upper dd li.wide {
    width: 100%;
  }
  .page-footer .upper dd li a {
    display: block;
    padding: 8px 0;
  }
  .page-footer .upper dd + dt {
    margin-top: 0;
  }
  .page-footer .upper .body-inner > ul li {
    margin-top: 0;
    border-bottom: 1px solid #dfdfdf;
  }
  .page-footer .upper .body-inner > ul li a {
    display: block;
    padding: 20px 0;
  }
  .page-footer .upper .button-col a {
    margin-top: 10vw;
    transition: none;
  }
  .page-footer .upper .button-col a:hover, .page-footer .upper .button-col a:active {
    background-color: #e0e0e0;
    color: #2e2e2e;
  }
  .page-footer .lower {
    padding: 10vw 0 10vw;
    /*
    .footer-logo {

      padding-top: 9vw;

      a {

        transition: none;

        &:hover, &:active {
          opacity: 1;
        }

        img {
          width: 200px;
        }

      }

    }
    */
  }
  .page-footer .lower .body-container {
    padding-bottom: 9vw;
  }
  .page-footer .lower .body-inner {
    display: block;
  }
  .page-footer .lower .sns {
    justify-content: center;
    -moz-column-gap: 32px;
         column-gap: 32px;
  }
  .page-footer .lower .sns a {
    transition: none;
  }
  .page-footer .lower .sns a:hover, .page-footer .lower .sns a:active {
    opacity: 1;
  }
  .page-footer .lower .legal {
    flex-wrap: wrap;
    justify-content: center;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-top: 20px;
  }
  .page-footer .lower .legal a {
    display: inline-block;
    padding: 13px 16px;
    transition: none;
  }
  .page-footer .lower .legal a:hover, .page-footer .lower .legal a:active {
    opacity: 1;
  }
  .page-footer .lower p {
    margin-top: 9vw;
    letter-spacing: -0.02em;
  }
}

@media screen and (min-width: 768px) {
    .page-footer .upper a{
        background: linear-gradient(0deg, rgba(107, 107, 107) 0%, rgba(107, 107, 107) 5%, rgba(107, 107, 107, 0) 6%);
    }
}

/*
--------------------------------
	breadcrumbs
--------------------------------
*/
.breadcrumbs {
  padding: 120px 65px 0;
}
.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #2e2e2e;
  font-size: 1.2rem;
  line-height: 1.8;
}
.breadcrumbs ul a {
  color: #2e2e2e;
  font-weight: 400;
  opacity: 0.655;
  transition: opacity 0.2s;
}
.breadcrumbs ul a:hover, .breadcrumbs ul a:active {
  color: #2e2e2e;
  opacity: 1;
}
.breadcrumbs ul li {
  position: relative;
}
.breadcrumbs ul li:first-child {
  padding-right: 24px;
}
.breadcrumbs ul li:first-child::after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: 0;
  width: 1px;
  height: 14px;
  background-color: #767676;
}
.breadcrumbs ul li:first-child img {
  display: block;
  width: 14px;
}
.breadcrumbs ul li:nth-child(n+2) {
  padding-right: 24px;
}
.breadcrumbs ul li:nth-child(n+2)::after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: calc(50% - 3px);
  width: 6px;
  height: 6px;
  border-top: 1px solid #767676;
  border-right: 1px solid #767676;
  transform: rotate(45deg);
}
.breadcrumbs ul li:last-child {
  padding-right: 0;
}
.breadcrumbs ul li:last-child::after {
  content: none;
}

@media screen and (max-width: 1199.9px) {
  .breadcrumbs {
    padding: 78px 5vw 0;
  }
  .breadcrumbs ul a {
    transition: none;
  }
  .breadcrumbs ul a:hover, .breadcrumbs ul a:active {
    opacity: 0.6;
  }
}
/*
--------------------------------
	page top button
--------------------------------
*/
a.page-top {
  display: block;
  position: fixed;
  right: 30px;
  bottom: 30px;
  z-index: 100;
  width: 50px;
  height: 50px;
  border: 1px solid #ebebeb;
  border-radius: 50%;
  background-color: #fff;
  overflow: hidden;
  text-indent: -400px;
  transform: translateY(110px);
  transition: transform 0.8s ease-in-out;
  /*
  &.is-floor {
    position: absolute;
    bottom: auto;
    transform: translateY(50px);
  }
  */
}
a.page-top::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 4px);
  top: calc(50% - 2px);
  width: 8px;
  height: 8px;
  border-top: 2px solid #2e2e2e;
  border-left: 2px solid #2e2e2e;
  transform: rotate(45deg);
}
a.page-top::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 4px);
  top: calc(50% - 2px);
  width: 8px;
  height: 8px;
  border-top: 2px solid #2e2e2e;
  border-right: 2px solid #2e2e2e;
  transform: rotate(-45deg);
}
a.page-top:hover::before, a.page-top:active::before {
  animation: arrow-up 0.5s ease-in-out;
}
a.page-top:hover::after, a.page-top:active::after {
  animation: arrow-up-iphone 0.5s ease-in-out;
}
a.page-top.is-shown {
  transform: translateY(0);
}

#js-pagetop-ceil {
  position: absolute;
  left: 0;
  top: 180vh;
  bottom: 0;
  z-index: -100;
  width: 1px;
  pointer-events: none;
}

/*
#js-pagetop-floor {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: -100;
  width: 1px;
  pointer-events: none;
}
*/
@media screen and (max-width: 767.9px) {
  a.page-top {
    right: 4vw;
    bottom: 4vw;
  }
  a.page-top:hover::before, a.page-top:active::before {
    animation: none;
  }
}
/*
--------------------------------
	page headings
--------------------------------
*/
/* ---- level 2 page ---- */
.page-heading-lv2 {
  position: relative;
  height: max(400px, 26vw);
  margin-top: 20px;
  padding: 0 40px;
}
.page-heading-lv2 .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  max-width: 1184px;
  height: 100%;
  margin: 0 auto;
  padding: 0 40px;
}
.page-heading-lv2 h1 {
  padding: 8px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.page-heading-lv2 h1:lang(en) {
  padding: 8px 10px 8px;
  letter-spacing: 0.02em;
}
.page-heading-lv2 h1.multi-line {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  border-radius: 0;
  background-color: transparent;
}
.page-heading-lv2 h1.multi-line span {
  margin-top: 8px;
  padding: 8px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
}
.page-heading-lv2 h1.multi-line span:first-child {
  margin-top: 0;
}
.page-heading-lv2 p {
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.page-heading-lv2 img {
  display: block;
  position: absolute;
  left: 40px;
  top: 0;
  z-index: -1;
  width: calc(100% - 80px);
  height: 100%;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
}
.page-heading-lv2 .buttons {
  display: flex;
  position: absolute;
  right: calc(40px - 1px);
  bottom: -1px;
  max-width: calc(100vw - 120px);
  padding: 32px 1px 7px 0;
  border-radius: 4px 0 0 0;
  background-color: #fff;
}
.page-heading-lv2 .buttons li {
  width: 50%;
  padding-left: 40px;
}
.page-heading-lv2 .buttons li:only-child {
  width: auto;
}
.page-heading-lv2.large {
  height: max(600px, 37.5vw);
}

@media screen and (max-width: 767.9px) {
  .page-heading-lv2 {
    height: auto;
    margin-top: 13px;
    padding: 0 5vw;
  }
  .page-heading-lv2 .inner {
    width: 100%;
    max-width: none;
    height: auto;
    margin: 0;
    padding: 24vw 5vw;
  }
  .page-heading-lv2 h1 {
    padding: 14px 8px 12px;
    font-size: 2.8rem;
    letter-spacing: 0.05em;
  }
  .page-heading-lv2 h1.multi-line {
    padding: 0;
  }
  .page-heading-lv2 h1.multi-line span {
    padding: 7px 8px 5px;
  }
  .page-heading-lv2 p {
    padding: 6px 7px;
    font-size: 1.4rem;
    letter-spacing: normal;
  }
  .page-heading-lv2 img {
    left: 5vw;
    width: calc(100% - 10vw);
  }
  .page-heading-lv2 ul.buttons {
    display: block;
    position: static;
    max-width: none;
    margin: 20vw -5vw -24vw auto;
    padding: calc(5vw - 16px) 1px 1px 5vw;
  }
  .page-heading-lv2 ul.buttons li {
    padding: 16px 0 0;
  }
  .page-heading-lv2 ul.buttons li a.c-button {
    width: 80vw;
    max-width: 336px;
  }
  .page-heading-lv2.large {
    height: auto;
  }
}
/* ---- level 3 page ---- */
.page-heading-lv3 {
  margin-top: 100px;
  padding: 0 5vw;
}
.page-heading-lv3 .inner {
  max-width: 1104px;
  margin: 0 auto;
}
.page-heading-lv3 h1 {
  font-size: 3.8rem;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.1em;
}
.page-heading-lv3 h1:lang(en) {
  letter-spacing: 0.02em;
}
.page-heading-lv3 p {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.page-heading-lv3 p:lang(en) {
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .page-heading-lv3 {
    margin-top: 8.5vw;
    padding: 0 5vw;
  }
  .page-heading-lv3 .inner {
    max-width: none;
    margin: 0;
  }
  .page-heading-lv3 h1 {
    font-size: 2.8rem;
    line-height: 1.4;
  }
  .page-heading-lv3 p {
    margin-top: 20px;
    font-size: 1.4rem;
  }
}
/* ---- interview page ---- */
.page-heading-interview {
  margin-top: 20px;
  padding: 0 5vw;
}
.page-heading-interview .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  max-width: 1104px;
  min-height: 400px;
  margin: 0 auto;
  padding: 50px min(7%, 80px);
}
.page-heading-interview h1 {
  padding: 8px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 3.8rem;
  font-weight: 700;
}
.page-heading-interview .job, .page-heading-interview .kana {
  margin-top: 8px;
  padding: 6px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: normal;
}
.page-heading-interview .post {
  margin-top: 40px;
  padding: 9px 10px 6px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: normal;
}
.page-heading-interview p {
  margin-top: 40px;
  padding: 8px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.page-heading-interview p + p {
  margin-top: 8px;
}
.page-heading-interview img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: right;
     object-position: right;
}

@media screen and (max-width: 767.9px) {
  .page-heading-interview {
    margin-top: 8.5vw;
    padding: 0 5vw;
  }
  .page-heading-interview .inner {
    display: block;
    max-width: none;
    min-height: auto;
    margin: 0;
    padding: 0;
  }
  .page-heading-interview h1 {
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 2.8rem;
    font-weight: 700;
  }
  .page-heading-interview .job, .page-heading-interview .kana {
    margin-top: 4px;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 1.5rem;
  }
  .page-heading-interview .post {
    margin-top: 24px;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 1.6rem;
  }
  .page-heading-interview p {
    margin-top: 24px;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 2rem;
    line-height: 1.5;
  }
  .page-heading-interview p + p {
    margin-top: 0;
  }
  .page-heading-interview img {
    position: static;
    height: 47vw;
    margin-top: 24px;
    -o-object-position: 50%;
       object-position: 50%;
  }
}
/*
--------------------------------
	column set
--------------------------------
*/
/* ---- 2 columns ---- */
.c-col-set-2 {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.8vw, 40px);
  margin-top: 50px;
}
.c-col-set-2 .c-col {
  width: max(50% - 1.402vw, 50% - 20px);
}

@media screen and (max-width: 767.9px) {
  .c-col-set-2 {
    display: block;
    margin-top: 5vw;
  }
  .c-col-set-2 .c-col {
    width: auto;
    margin-top: 5vw;
  }
  .c-col-set-2 .c-col:first-child {
    margin-top: 0;
  }
}
/* ---- 3 columns ---- */
.c-col-set-3 {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.8vw, 40px);
  margin-top: 50px;
}
.c-col-set-3 .c-col {
  width: max(33.3333% - 1.86667vw, 33.3333% - 26.6667px);
}

@media screen and (max-width: 767.9px) {
  .c-col-set-3 {
    display: block;
    margin-top: 5vw;
  }
  .c-col-set-3 .c-col {
    width: auto;
    margin-top: 5vw;
  }
  .c-col-set-3 .c-col:first-child {
    margin-top: 0;
  }
}
/* ---- 4 columns ---- */
.c-col-set-4 {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.8vw, 40px);
  margin-top: 50px;
}
.c-col-set-4 .c-col {
  width: max(25% - 2.102vw, 25% - 30px);
}

@media screen and (max-width: 767.9px) {
  .c-col-set-4 {
    display: flex;
    flex-wrap: wrap;
    gap: 5vw;
    margin-top: 5vw;
  }
  .c-col-set-4 .c-col {
    width: calc((100% - 5vw) / 2);
    margin-top: 0;
  }
  .c-col-set-4.sp-col-1 {
    display: block;
  }
  .c-col-set-4.sp-col-1 .c-col {
    width: auto;
    margin-top: 5vw;
  }
  .c-col-set-4.sp-col-1 .c-col:first-child {
    margin-top: 0;
  }
}
/* ---- 5 columns ---- */
.c-col-set-5 {
  display: flex;
  flex-wrap: wrap;
  gap: min(2.2vw, 24px);
  margin-top: 50px;
}
.c-col-set-5 .c-col {
  width: max(20% - 1.7617vw, 20% - 19.2px);
}

@media screen and (max-width: 767.9px) {
  .c-col-set-5 {
    display: flex;
    flex-wrap: wrap;
    gap: 5vw;
    margin-top: 5vw;
  }
  .c-col-set-5 .c-col {
    width: calc((100% - 5vw) / 2);
    margin-top: 0;
  }
  .c-col-set-5.sp-col-1 {
    display: block;
  }
  .c-col-set-5.sp-col-1 .c-col {
    width: auto;
    margin-top: 5vw;
  }
  .c-col-set-5.sp-col-1 .c-col:first-child {
    margin-top: 0;
  }
}
/*
@include g.sp {

  .c-col-set-4 {

    display: block;

    .c-col {

      width: auto;
      margin-top: g.$side_margin_sp;

      &:first-child {
        margin-top: 0;
      }

    }

  }

}
*/
/* ---- 2 columns on sp ---- */
/*
@include g.sp {

  .c-col-set-2-sp {

    display: flex;
    flex-wrap: wrap;
    gap: g.$side_margin_sp;

    .c-col {
      width: calc((100% - 5vw) / 2);
      margin-top: 0;
    }

  }

}
*/
/* ---- form elements ---- */
.c-col-set-form {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.c-col-set-form li {
  width: 180px;
}

@media screen and (max-width: 767.9px) {
  .c-col-set-form {
    gap: 5px 0;
  }
  .c-col-set-form li {
    width: 50%;
  }
  .c-col-set-form li:nth-child(2n+1) {
    padding-right: 16px;
  }
}
/* ---- in accordions ---- */
.c-accordion dd > .inner > * {
  margin-top: 0;
}
.c-accordion .c-col-set-1 {
  padding: min(3.4vw, 35px);
  background-color: #fff;
}
.c-accordion .c-col-set-1 > :first-child {
  margin-top: 0;
}
.c-accordion .c-col-set-2 {
  gap: min(3.4vw, 35px);
}
.c-accordion .c-col-set-2 .c-col {
  width: max(50% - 1.702vw, 50% - 17.5px);
  padding: min(3.4vw, 35px);
  background-color: #fff;
}
.c-accordion .c-col-set-2 .c-col > :first-child {
  margin-top: 0;
}
.c-accordion .c-col-set-3 {
  gap: min(3.3vw, 35px);
}
.c-accordion .c-col-set-3 .c-col {
  width: max(33.3333% - 2.2vw, 33.3333% - 23.3333px);
  padding: min(3.3vw, 35px);
  background-color: #fff;
}
.c-accordion .c-col-set-3 .c-col > :first-child {
  margin-top: 0;
}
.c-accordion .c-col-set-4 {
  gap: min(2.8vw, 35px);
}
.c-accordion .c-col-set-4 .c-col {
  width: max(25% - 2.102vw, 25% - 26.25px);
  padding: min(2.8vw, 35px);
  background-color: #fff;
}
.c-accordion .c-col-set-4 .c-col > :first-child {
  margin-top: 0;
}
.bg-gray .c-accordion .c-col-set-1,
.bg-gray .c-accordion .c-col-set-2 .c-col,
.bg-gray .c-accordion .c-col-set-3 .c-col,
.bg-gray .c-accordion .c-col-set-4 .c-col {
  background-color: #f4f4f4;
}

@media screen and (max-width: 767.9px) {
  .c-accordion .c-col-set-2 .c-col,
  .c-accordion .c-col-set-3 .c-col {
    width: auto;
    padding: 5vw;
  }
  .c-accordion .c-col-set-4 {
    gap: 5vw;
  }
  .c-accordion .c-col-set-4 .c-col {
    width: calc((100% - 5vw) / 2);
    padding: 5vw;
  }
}
/* ---- reverse direction ---- */
.c-col-set-2.reverse,
.c-col-set-2.reverse,
.c-col-set-3.reverse,
.c-col-set-4.reverse {
  flex-direction: row-reverse;
}

/*
--------------------------------
	text
--------------------------------
*/
/* ---- color ---- */
.red {
  color: #f03;
}

.green {
  color: #06c755;
}

.blue {
  color: #6080fb;
}

.yellow {
  color: #ffdc5d;
}

/* ---- body text ---- */
.c-body {
  margin-top: 50px;
  font-size: 1.6rem;
  line-height: 2;
  overflow-wrap: break-word;
}
.c-body.small {
  margin-top: 2em;
  font-size: 1.4rem;
}
.c-body + .c-body {
  margin-top: 2em;
}
.c-body:lang(en) {
  line-height: 1.5;
}

.gray {
  color: #767676;
}
.gray a {
  color: #767676;
}
.gray a:link, .gray a:visited {
  color: #767676;
}

.c-note {
  margin-top: 40px;
  color: #767676;
  font-size: 1.4rem;
  line-height: 2;
  overflow-wrap: break-word;
}
.c-note:lang(en) {
  line-height: 1.5;
}
.c-note a {
  color: #767676;
}
.c-note a:link, .c-note a:visited {
  color: #767676;
}

@media screen and (max-width: 767.9px) {
  .c-body {
    margin-top: 8.5vw;
    font-size: 1.6rem;
  }
  .c-body.small {
    font-size: 1.3rem;
  }
  .c-note {
    margin-top: 8.5vw;
    font-size: 1.3rem;
  }
}
/* ---- lead text ---- */
.c-lead {
  padding: 80px 0 90px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 2;
}
.c-lead:lang(en) {
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .c-lead {
    padding: 8.5vw 0 17.1vw;
    font-size: 1.8rem;
  }
}
/* ---- heading: index pages ---- */
.c-heading,
.c-index-h2 {
  margin-top: 120px;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.06em;
  /*
  .body-inner > &:first-child {
  	margin-top: 0;
  }
  */
}
.c-heading:lang(en),
.c-index-h2:lang(en) {
  letter-spacing: 0.02em;
}

.c-index-h3 {
  margin-top: 80px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-index-h4 {
  margin-top: 80px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}

.c-index-h5 {
  margin-top: 80px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (max-width: 767.9px) {
  .c-heading,
  .c-index-h2 {
    margin-top: 21.3vw;
    font-size: 2.4rem;
    /*
    .body-inner > &:first-child {
    	margin-top: 0;
    }
    */
  }
  .c-index-h3 {
    margin-top: 14.9vw;
    font-size: 2.2rem;
  }
  .c-index-h4 {
    margin-top: 14.9vw;
  }
  .c-index-h5 {
    margin-top: 14.9vw;
  }
}
/* ---- heading: article pages ---- */
.c-h1 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-h1.colored {
  color: #f03;
}

.c-h2 {
  position: relative;
  margin-top: 80px;
  padding-bottom: 30px;
  color: #2e2e2e;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-h2::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #ebebeb;
}
.c-h2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 17.5%;
  height: 1px;
  background-color: #2e2e2e;
}
.c-h2.colored {
  color: #f03;
}

.c-h3 {
  display: flex;
  align-items: center;
  position: relative;
  min-height: 3em;
  margin-top: 80px;
  padding: 4px 0 4px 25px;
  color: #2e2e2e;
  font-size: 2.1rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-h3::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 3px;
  height: 100%;
  background-color: #2e2e2e;
}
.c-h3.colored {
  color: #f03;
}

.c-h4 {
  margin-top: 80px;
  color: #2e2e2e;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-h4::before {
  content: "■";
  margin-right: 0.3em;
}
.c-h4.colored {
  color: #f03;
}

.c-h5 {
  margin-top: 80px;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-h5.colored {
  color: #f03;
}

@media screen and (max-width: 767.9px) {
  .c-h1 {
    font-size: 2.4rem;
    line-height: 1.6;
  }
  .c-h2 {
    margin-top: 14.9vw;
    padding-bottom: 18px;
    font-size: 2.2rem;
    line-height: 1.6;
  }
  .c-h2::after {
    width: 24%;
  }
  .c-h3 {
    margin-top: 14.9vw;
    font-size: 2rem;
    line-height: 1.5;
  }
  .c-h4 {
    margin-top: 14.9vw;
    font-size: 1.8rem;
  }
  .c-h5 {
    margin-top: 14.9vw;
    font-size: 1.4rem;
  }
}
/* ---- top margin of parts under headings ---- */
.c-heading + :not(#dummy),
.c-index-h2 + :not(#dummy),
.c-index-h3 + :not(#dummy),
.c-h1 + :not(#dummy),
.c-h2 + :not(#dummy),
.c-h3 + :not(#dummy) {
  margin-top: 40px;
}

.c-index-h4 + :not(#dummy),
.c-index-h5 + :not(#dummy),
.c-h4 + :not(#dummy),
.c-h5 + :not(#dummy) {
  margin-top: 30px;
}

@media screen and (max-width: 767.9px) {
  .c-heading + :not(#dummy),
  .c-index-h2 + :not(#dummy),
  .c-index-h3 + :not(#dummy),
  .c-h1 + :not(#dummy),
  .c-h2 + :not(#dummy),
  .c-h3 + :not(#dummy) {
    margin-top: 10vw;
  }
  .c-index-h4 + :not(#dummy),
  .c-index-h5 + :not(#dummy),
  .c-h4 + :not(#dummy),
  .c-h5 + :not(#dummy) {
    margin-top: 5vw;
  }
}
/* ---- annotation ---- */
.c-annotation {
  padding-top: 4px;
  font-size: 1.5rem;
  line-height: 2;
}
.c-index-h3 + .c-annotation, .c-index-h4 + .c-annotation, .c-index-h5 + .c-annotation, .c-h3 + .c-annotation, .c-h4 + .c-annotation, .c-h5 + .c-annotation {
  margin-top: 0 !important;
}
.c-annotation:lang(en) {
  padding-top: 0;
  line-height: 1.5;
}
.c-annotation dt {
  margin-top: 12px;
  color: #2e2e2e;
  font-weight: 700;
}
.c-annotation dt:lang(en) {
  margin-top: 18px;
}
.c-annotation dd {
  color: #6a6a6a;
}
.c-annotation dd:lang(en) {
  margin-top: 3px;
}

@media screen and (max-width: 767.9px) {
  .c-annotation {
    font-size: 1.4rem;
  }
}
/* ---- reference ---- */
.c-reference {
  padding-top: 12px;
  color: #6a6a6a;
  font-size: 1.5rem;
  line-height: 1.6;
}
.c-index-h3 + .c-reference, .c-index-h4 + .c-reference, .c-index-h5 + .c-reference, .c-h3 + .c-reference, .c-h4 + .c-reference, .c-h5 + .c-reference {
  margin-top: 0 !important;
}
.c-reference:lang(en) {
  line-height: 1.5;
}
.c-reference li {
  display: flex;
  margin-top: 0.4em;
}
.c-reference li span {
  width: 2.7em;
}
.c-reference li span:lang(en) {
  padding-top: 1px;
}
.c-reference li cite {
  width: calc(100% - 2.7em);
  font-style: normal;
}

@media screen and (max-width: 767.9px) {
  .c-reference {
    padding-top: 14px;
    font-size: 1.4rem;
  }
}
/*
--------------------------------
	text link
--------------------------------
*/
/* ---- basic link ---- */
a.c-link {
  background: linear-gradient(0deg, rgba(46, 46, 46, 0.2) 0%, rgba(46, 46, 46, 0.2) 5%, rgba(46, 46, 46, 0) 6%);
}
a.c-link:hover, a.c-link:active {
  background: linear-gradient(0deg, rgb(46, 46, 46) 0%, rgb(46, 46, 46) 5%, rgba(46, 46, 46, 0) 6%);
}

/* ---- link with arrow and underline: 14px bold ---- */
a.c-arrow-link {
  display: inline-block;
  position: relative;
  padding-right: 18px;
  opacity: 1;
  color: #2e2e2e;
  font-size: 1.5rem;
  font-weight: 700;
  transition: opacity 0.2s;
  /*
  &::before {
  	content: "";
  	display: block;
  	position: absolute;
  	left: 0;
  	bottom: -1px;
  	width: 100%;
  	height: 1px;
  	background-color: g.$color_1;
  	transform-origin: 0 0;
  	transform: scale(0, 1);
  	transition: transform .24s ease-in-out;
  }
  */
}
a.c-arrow-link::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
a.c-arrow-link:hover, a.c-arrow-link:active {
  color: #2e2e2e;
  opacity: 0.6;
  /*
  &::before {
  	transform: scale(1, 1);
  }
  */
}
a.c-arrow-link:hover::after, a.c-arrow-link:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
a.c-arrow-link.outbound::after {
  right: -3px;
  top: calc(50% - 11px);
  width: 16px;
  height: 16px;
  background: url(../images/icon_outbound.svg) center no-repeat;
}
a.c-arrow-link.outbound:hover::after, a.c-arrow-link.outbound:active::after {
  animation: none;
}
a.c-arrow-link.anchor::after {
  top: calc(50% - 7px);
  transform: translate3d(0, 0, 0) rotate(90deg);
}
a.c-arrow-link.anchor:hover::after, a.c-arrow-link.anchor:active::after {
  animation: arrow-down 0.5s ease-in-out;
}
a.c-arrow-link.pdf::after {
  right: 0;
  top: calc(50% - 15px);
  width: 20px;
  height: 24px;
  background: url(../images/icon_pdf.svg) center no-repeat;
}
a.c-arrow-link.pdf:hover::after, a.c-arrow-link.pdf:active::after {
  animation: none;
}

/* ---- a11y update (a.c-arrow-link.pdf) ---- */
a.c-arrow-link.pdf-img::after {
  content: none;
}
a.c-arrow-link.pdf-img img {
  position: absolute;
  right: 0;
  top: calc(50% - 15px);
  width: 20px;
  height: 24px;
  background: url(../images/icon_pdf.svg) center no-repeat;
}

@media screen and (max-width: 767.9px) {
  a.c-arrow-link {
    padding: 12px 25px 12px 0;
    line-height: 1.3;
  }
  a.c-arrow-link::before {
    content: none;
  }
  a.c-arrow-link::after {
    top: calc(50% - 5px);
  }
  a.c-arrow-link:hover::before, a.c-arrow-link:active::before {
    transform: none;
  }
  a.c-arrow-link:hover::after, a.c-arrow-link:active::after {
    animation: none;
  }
  a.c-arrow-link.outbound::after {
    top: calc(50% - 8px);
  }
  a.c-arrow-link.anchor::after {
    top: calc(50% - 5px);
  }
  a.c-arrow-link.anchor:hover::after, a.c-arrow-link.anchor:active::after {
    animation: none;
  }
}
/* ---- link with arrow and underline: 16px regular ---- */
a.c-icon-link {
  display: inline-block;
  position: relative;
  padding: 0 25px 0 0;
  color: #2e2e2e;
  font-size: 1.6rem;
  line-height: 1.3;
  opacity: 1;
  transition: opacity 0.2s;
  /*
  &::before {
  	content: "";
  	display: block;
  	position: absolute;
  	left: 0;
  	bottom: -1px;
  	width: 100%;
  	height: 1px;
  	background-color: g.$color_1;
  	transform-origin: 0 0;
  	transform: scale(0, 1);
  	transition: transform .24s ease-in-out;
  }
  */
}
a.c-icon-link::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
a.c-icon-link:hover, a.c-icon-link:active {
  color: #2e2e2e;
  opacity: 0.6;
  /*
  &::before {
  	transform: scale(1, 1);
  }
  */
}
a.c-icon-link:hover::after, a.c-icon-link:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
a.c-icon-link.outbound::after {
  right: -3px;
  top: calc(50% - 11px);
  width: 16px;
  height: 16px;
  background: url(../images/icon_outbound.svg) center no-repeat;
}
a.c-icon-link.outbound:hover::after, a.c-icon-link.outbound:active::after {
  animation: none;
}
a.c-icon-link.download::after {
  right: 0;
  top: calc(50% - 8px);
  width: 12px;
  height: 16px;
  background: url(../images/icon_download.svg) center no-repeat;
}
a.c-icon-link.download:hover::after, a.c-icon-link.download:active::after {
  animation: none;
}
a.c-icon-link.anchor::after {
  top: calc(50% - 6px);
  transform: translate3d(0, 0, 0) rotate(90deg);
}
a.c-icon-link.anchor:hover::after, a.c-icon-link.anchor:active::after {
  animation: arrow-down 0.5s ease-in-out;
}
a.c-icon-link.pdf {
  padding-right: 30px;
}
a.c-icon-link.pdf::after {
  right: 0;
  top: calc(50% - 11px);
  width: 16px;
  height: 19px;
  background-image: url(../images/icon_pdf.svg);
  background-size: contain;
}
a.c-icon-link.pdf:hover::after, a.c-icon-link.pdf:active::after {
  animation: none;
}

/* ---- a11y update (a.c-icon-link.pdf) ---- */
a.c-icon-link.pdf-img {
  padding-right: 30px;
}
a.c-icon-link.pdf-img::after {
  content: none;
}
a.c-icon-link.pdf-img:hover::after, a.c-icon-link.pdf:active::after {
  animation: none;
}
a.c-icon-link.pdf-img img {
  position: absolute;
  right: 0;
  top: calc(50% - 11px);
  width: 16px;
  height: 19px;
  background-image: url(../images/icon_pdf.svg);
  background-size: contain;
}

@media screen and (max-width: 767.9px) {
  a.c-icon-link {
    font-size: 1.4rem;
  }
  a.c-icon-link::before {
    content: none;
  }
  a.c-icon-link:hover::before, a.c-icon-link:active::before {
    transform: none;
  }
  a.c-icon-link:hover::after, a.c-icon-link:active::after {
    animation: none;
  }
  a.c-icon-link.anchor:hover::after, a.c-icon-link.anchor:active::after {
    animation: none;
  }
}
/* ---- DAY2: link text in panels ---- */
.c-link-text-d2 {
  position: relative;
  padding-right: 25px;
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 700;
  text-align: right;
}
.c-link-text-d2::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
a:hover .c-link-text-d2, a:active .c-link-text-d2 {
  color: #2e2e2e;
}
a:hover .c-link-text-d2::after, a:active .c-link-text-d2::after {
  animation: arrow-right 0.5s ease-in-out;
}

/*
--------------------------------
	list
--------------------------------
*/
/* ---- unordered list ---- */
ul.c-list {
  margin-top: 50px;
  color: #2e2e2e;
  font-size: 1.6rem;
  line-height: 2;
}
ul.c-list:lang(en) {
  line-height: 1.5;
}
ul.c-list li {
  position: relative;
  margin-top: 0.4em;
  padding-left: 1em;
}
ul.c-list li:lang(en) {
  margin-top: 1em;
}
ul.c-list li:first-child {
  margin-top: 0;
}
ul.c-list li::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(1em - 2px);
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background-color: #2e2e2e;
}
ul.c-list li:lang(en)::before {
  top: calc(0.75em - 2px);
}
ul.c-list ul.c-list {
  margin: 0.4em 0 0 0.3em;
}
ul.c-list ul.c-list:lang(en) {
  margin-top: 1em;
}
ul.c-list ul.c-list li::before {
  top: calc(1em - 1.5px);
  width: 3px;
  height: 3px;
  background-color: #808080;
}
ul.c-list ul.c-list:lang(en) li::before {
  top: calc(0.75em - 2px);
}

@media screen and (max-width: 767.9px) {
  ul.c-list {
    margin-top: 8.5vw;
    font-size: 1.4rem;
  }
}
/* ---- ordered list ---- */
ol.c-list {
  margin-top: 50px;
  color: #2e2e2e;
  font-size: 1.6rem;
  line-height: 2;
  counter-reset: count;
}
ol.c-list:lang(en) {
  line-height: 1.5;
}
ol.c-list li {
  position: relative;
  margin-top: 0.4em;
  padding-left: 1.3em;
}
ol.c-list li:lang(en) {
  margin-top: 1em;
}
ol.c-list li:first-child {
  margin-top: 0;
}
ol.c-list li::before {
  content: counter(count) ".";
  counter-increment: count;
  position: absolute;
  left: 0;
  top: 0;
}
ol.c-list ol.c-list {
  margin: 0.4em 0 0 0.3em;
}
ol.c-list ol.c-list:lang(en) {
  margin-top: 1em;
}
ol.c-list ol.c-list li::before {
  color: #808080;
}

@media screen and (max-width: 767.9px) {
  ol.c-list {
    margin-top: 8.5vw;
    font-size: 1.4rem;
  }
}
/*
--------------------------------
	image
--------------------------------
*/
/* ---- image ---- */
.c-image {
  display: block;
  margin-top: 50px;
}
.c-image img {
  max-width: 100%;
  border-radius: 20px;
}
.c-image.full img {
  width: 100%;
}
.c-image.has-caption {
  display: table;
}
.c-image.has-caption.center {
  margin: 0 auto;
}
.c-image.has-caption.right {
  margin: 0 0 0 auto;
}
.c-image.has-caption .caption {
  display: table-caption;
  caption-side: bottom;
  margin-top: 1em;
  color: #808080;
  font-size: 1.4rem;
  line-height: 1.4;
  text-align: left;
}

@media screen and (max-width: 767.9px) {
  .c-image {
    margin-top: 8.5vw;
  }
  .c-image.has-caption .caption {
    font-size: 1.3rem;
  }
}
/* ---- image + text ---- */
.c-img-set {
  margin-top: 50px;
  overflow: hidden;
}
.c-img-set .c-image,
.c-img-set > img {
  float: left;
  max-width: max(50% - 1.702vw, 50% - 25px);
  margin: 0 min(3.4vw, 50px) 3% 0;
  border-radius: 20px;
}
.c-img-set.img-right .c-image, .c-img-set.img-right > img {
  float: right;
  margin: 0 0 3% min(3.4vw, 50px);
}
.c-img-set > p {
  margin-top: -0.5em;
  overflow: hidden;
  font-size: 1.6rem;
  line-height: 2;
  overflow-wrap: break-word;
}
.c-img-set > p:lang(en) {
  margin-top: -0.2em;
  line-height: 1.5;
}
.c-img-set.float > p {
  overflow: visible;
}

@media screen and (max-width: 767.9px) {
  .c-img-set {
    margin-top: 8.5vw;
  }
  .c-img-set .c-image,
  .c-img-set > img {
    float: none;
    max-width: 100%;
    margin: 0 0 5vw 0;
  }
  .c-img-set.img-right .c-image, .c-img-set.img-right > img {
    float: none;
    margin: 0 0 5vw 0;
  }
  .c-img-set > p {
    margin-top: 0;
    overflow: visible;
    font-size: 1.4rem;
  }
}

/* ---- a11y update (.c-img-set) ---- */
.c-img-set-a11y {
  margin-top: 50px;
  overflow: hidden;
}
.c-img-set-a11y .c-image,
.c-img-set-a11y > img {
  float: left;
  max-width: max(50% - 1.702vw, 50% - 25px);
  margin: 0 min(3.4vw, 50px) 3% 0;
  border-radius: 20px;
}
.c-img-set-a11y.img-right .c-image, .c-img-set-a11y.img-right > img {
  float: right;
  margin: 0 0 3% min(3.4vw, 50px);
}
.c-img-set-a11y > .text {
  margin-top: -0.5em;
  overflow: hidden;
  overflow-wrap: break-word;
}
.c-img-set-a11y > .text:lang(en) {
  margin-top: -0.2em;
}
.c-img-set-a11y > .text > p {
  font-size: 1.6rem;
  line-height: 2;
}
.c-img-set-a11y > .text > p + p {
  margin-top: 2em;
}
.c-img-set-a11y > .text > p:lang(en) {
  line-height: 1.5;
}
.c-img-set-a11y.float > .text {
  overflow: visible;
}

@media screen and (max-width: 767.9px) {
  .c-img-set-a11y {
    margin-top: 8.5vw;
  }
  .c-img-set-a11y .c-image,
  .c-img-set-a11y > img {
    float: none;
    max-width: 100%;
    margin: 0 0 5vw 0;
  }
  .c-img-set-a11y.img-right .c-image, .c-img-set-a11y.img-right > img {
    float: none;
    margin: 0 0 5vw 0;
  }
  .c-img-set-a11y > .text {
    overflow: visible;
    margin-top: 0;
  }
  .c-img-set-a11y > .text > p {
    font-size: 1.4rem;
  }
}

/*
--------------------------------
	video
--------------------------------
*/
/* ---- embedded video ---- */
.c-video {
  margin-top: 50px;
}
.c-video .player {
  width: 100%;
  max-width: 640px;
  aspect-ratio: 16/9;
  margin: 0 auto;
}
.c-video iframe {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 767.9px) {
  .c-video {
    margin-top: 8.5vw;
  }
}
/*
--------------------------------
	button
--------------------------------
*/
.c-button {
  display: inline-block;
  position: relative;
  width: 336px;
  max-width: 100%;
  padding: 15px 50px 12px;
  border: 1px solid #2e2e2e;
  border-radius: 8px;
  background-color: #2e2e2e;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.3;
  text-align: center;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.c-button + .c-button {
  margin-left: 40px;
}
.c-button.full {
  width: 100%;
  padding: 24px 50px 21px;
  border-radius: 12px;
}
.c-button.large {
  padding: 35px 50px 33px;
  font-size: 2rem;
}
.c-button:link, .c-button:visited {
  color: #fff;
}
.c-button::after {
  content: "";
  display: block;
  position: absolute;
  right: 24px;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
}
.c-button.back::after {
  content: none;
}
.c-button.pdf::after {
  right: 16px;
  top: calc(50% - 11px);
  width: 18px;
  height: 22px;
  background-image: url(../images/icon_pdf_wht.svg);
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}

/* ---- a11y update (.c-button.pdf) ---- */
.c-button.pdf-img::after {
  content: none;
}
.c-button.pdf-img img {
  position: absolute;
  right: 16px;
  top: calc(50% - 11px);
  width: 18px;
  height: 22px;
  filter: invert(100) brightness(100);
}
.c-button:hover.pdf-img img, .c-button:active.pdf-img img {
  filter: invert(0) brightness(0);
}
.c-button.compact.pdf-img img {
  right: 6px;
}

.c-button.none::after {
  content: none;
}
.c-button:hover, .c-button:active {
  background-color: #fff;
  color: #2e2e2e;
  /*
  &.back::after {
    animation: arrow-left .5s ease-in-out;
  }
  */
}
.c-button:hover::after, .c-button:active::after {
  background-image: url(../images/icon_arrow.svg);
  animation: arrow-right 0.5s ease-in-out;
}
.c-button:hover.pdf::after, .c-button:active.pdf::after {
  background-image: url(../images/icon_pdf.svg);
  animation: none;
}
.c-button:hover.none::after, .c-button:active.none::after {
  animation: none;
}
.c-button.compact {
  display: inline-block;
  width: auto;
  min-width: 160px;
  padding: 15px 40px 12px;
  /*
  &.back::after {
    right: auto;
    left: 12px;
  }
  */
}
.c-button.compact::after {
  right: 12px;
}
.c-button.compact.pdf::after {
  right: 6px;
}
.c-button.gray {
  border: 1px solid #f4f4f4;
  background-color: #f4f4f4;
}
.c-button.gray::after {
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-button.gray:link, .c-button.gray:visited {
  color: #2e2e2e;
}
.c-button.gray:hover, .c-button.gray:active {
  background-color: #eaeaea;
}

@media screen and (max-width: 767.9px) {
  .c-button + .c-button {
    margin: 16px 0 0;
  }
  .c-button.large {
    padding: 22px 50px 20px;
    font-size: 1.5rem;
  }
  .c-button.compact {
    min-width: 130px;
    margin-right: 8px;
    padding: 15px 25px 12px;
  }
}
@media (hover: none) {
  .c-button {
    transition: none;
  }
  .c-button:hover, .c-button:active {
    background-color: #2e2e2e;
    color: #fff;
    /*
    &.back::after {
      animation: none;
    }
    */
  }
  .c-button:hover::after, .c-button:active::after {
    background-image: url(../images/icon_arrow_wht.svg);
    animation: none;
  }
  .c-button:hover.pdf::after, .c-button:active.pdf::after {
    background-image: url(../images/icon_pdf_wht.svg);
    animation: none;
  }
  .c-button.gray::after {
    background-image: url(../images/icon_arrow.svg);
    animation: none;
  }
  .c-button.gray:hover, .c-button.gray:active {
    background-color: #f4f4f4;
  }
}
/*
--------------------------------
	frame
--------------------------------
*/
/* ---- frame ---- */
/*
.c-frame,
.c-info {

	margin-top: 50px;
	padding: 3.2% 3.6%;
	background-color: g.$color_bg;
	border-radius: 4px;

	> :first-child {
		margin-top: 0;
	}

	&.bg-yellow { background-color: #fffbe7; }
	&.bg-red { background-color: #fff6f8; }
	&.bg-green { background-color: #f2fdf7; }
	&.bg-blue { background-color: #ecfcff; }

	&.border-gray { border: 1px solid #eee; }
	&.border-yellow { border: 1px solid #ffdc5d; }
	&.border-red { border: 1px solid #f03; }
	&.border-green { border: 1px solid #06c755; }
	&.border-blue { border: 1px solid #6080fb; }

	.bg-gray & {
		background-color: #fff;
	}

}

@include g.sp {

	.c-frame,
	.c-info {
		margin-top: g.$sp_margin_32;
		padding: calc(5vw * .8) g.$side_margin_sp;
	}

}
*/
/* ---- DAY2: frame (replaced) ---- */
.c-frame,
.c-info {
  margin-top: 50px;
  padding: 3.2% 5%;
  border: 2px solid #7A99FF;
  border-radius: 20px;
}
.c-frame > :first-child,
.c-info > :first-child {
  margin-top: 0;
}
.c-frame.no-border,
.c-info.no-border {
  border-style: none;
  background-color: #f4f4f4;
}
.bg-gray .c-frame.no-border,
.bg-gray .c-info.no-border {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-frame,
  .c-info {
    border-width: 1px;
    margin-top: 8.5vw;
    padding: 6.5vw 5vw;
  }
}
/*
--------------------------------
	table
--------------------------------
*/
/* ---- table ---- */
.c-table {
  table-layout: fixed;
  width: 100%;
  margin-top: 50px;
  border-top: 1px solid #d9d9d9;
  border-left: 1px solid #d9d9d9;
  color: #2e2e2e;
  word-break: break-all;
}
.c-table.non-fixed {
  table-layout: auto;
}
.c-table-scroll .c-table {
  margin-top: 0;
}
.c-table th {
  padding: 16px 16px 14px;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  background-color: #f4f4f4;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  vertical-align: middle;
}
.c-table th:lang(en) {
  line-height: 1.5;
}
.c-table td {
  padding: 16px 16px 14px;
  border-right: 1px solid #d9d9d9;
  border-bottom: 1px solid #d9d9d9;
  background-color: #fff;
  font-size: 1.4rem;
  line-height: 1.6;
}
.c-table td:lang(en) {
  line-height: 1.5;
}
.bg-gray .c-table th {
  background-color: #eaeaea;
}

.c-table-scroll {
  margin-top: 50px;
}

@media screen and (max-width: 767.9px) {
  .c-table {
    margin-top: 8.5vw;
  }
  .c-table-scroll .c-table {
    width: 1104px;
    margin-top: 0;
  }
  .c-table.sp-break {
    display: block;
  }
  .c-table.sp-break thead, .c-table.sp-break tbody, .c-table.sp-break tr, .c-table.sp-break th, .c-table.sp-break td {
    display: block;
  }
  .c-table-scroll {
    margin-top: 8.5vw;
    padding-bottom: 30px;
    overflow-x: scroll;
  }
  .c-table-scroll::-webkit-scrollbar {
    height: 8px;
  }
  .c-table-scroll::-webkit-scrollbar-track {
    background-color: transparent;
  }
  .c-table-scroll::-webkit-scrollbar-thumb {
    background-color: #2e2e2e;
    border-radius: 4px;
  }
  .c-table-scroll th.center {
    text-align: left;
  }
}
/* ---- dl in table ---- */
.c-table td dl dt {
  margin-top: 1em;
  font-weight: 700;
}
.c-table td dl dt:first-child {
  margin-top: 0;
}
.c-table td dl dd {
  margin-top: 0.5em;
}

/* ---- borderless table ---- */
.c-borderless-table {
  margin-top: 50px;
}
.c-borderless-table > tbody > tr > th {
  width: 150px;
  padding: 0 30px 40px 0;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
  line-height: 2;
  vertical-align: top;
}
.c-borderless-table > tbody > tr > td {
  padding: 0 0 40px;
  font-size: 1.6rem;
  line-height: 2;
}
.c-borderless-table > tbody > tr > td > :first-child {
  margin-top: 0 !important;
}
.c-borderless-table > tbody > tr > td .full-width {
  margin-left: -150px;
}
.c-borderless-table > tbody > tr:last-child > th, .c-borderless-table > tbody > tr:last-child > td {
  padding-bottom: 0;
}
.c-borderless-table.border {
  border-top: 1px solid #eee;
}
.c-borderless-table.border > tbody > tr > th {
  padding: 32px 30px 32px 0;
  border-bottom: 1px solid #eee;
}
.c-borderless-table.border > tbody > tr > td {
  padding: 32px 0;
  border-bottom: 1px solid #eee;
}
.c-borderless-table.border > tbody > tr:last-child > th, .c-borderless-table.border > tbody > tr:last-child > td {
  padding-bottom: 32px;
}

@media screen and (max-width: 767.9px) {
  .c-borderless-table {
    display: block;
    margin-top: 8.5vw;
  }
  .c-borderless-table > tbody, .c-borderless-table > tbody > tr {
    display: block;
  }
  .c-borderless-table > tbody > tr > th {
    display: block;
    width: auto;
    padding: 0;
  }
  .c-borderless-table > tbody > tr > td {
    display: block;
    padding: 10px 0 20px;
    font-size: 1.4rem;
  }
  .c-borderless-table > tbody > tr > td .full-width {
    margin-left: 0;
  }
  .c-borderless-table.border > tbody > tr > th {
    padding: 20px 0 0;
    border-bottom-style: none;
  }
  .c-borderless-table.border > tbody > tr > td {
    padding: 10px 0 20px;
  }
  .c-borderless-table.border > tbody > tr:last-child > th {
    padding-bottom: 0;
  }
  .c-borderless-table.border > tbody > tr:last-child > td {
    padding-bottom: 20px;
  }
}
/*
--------------------------------
	ScrollHint
--------------------------------
*/
@keyframes scroll-hint-appear {
  0% {
    transform: translateX(40px);
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  50%, 100% {
    transform: translateX(-40px);
    opacity: 0;
  }
}
.scroll-hint.is-right-scrollable {
  background: linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-right-scrollable.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0)), linear-gradient(270deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint.is-left-scrollable {
  background: linear-gradient(90deg, rgba(0, 0, 0, 0.15) 0, rgba(0, 0, 0, 0) 16px, rgba(0, 0, 0, 0));
}

.scroll-hint-icon {
  position: absolute;
  top: calc(50% - 56px);
  left: calc(50% - 60px);
  box-sizing: border-box;
  width: 120px;
  height: 82px;
  border-radius: 5px;
  transition: opacity 0.3s;
  opacity: 0;
  background: rgba(0, 0, 0, 0.7);
  text-align: center;
  padding: 20px 10px 10px 10px;
}

.scroll-hint-icon-wrap {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-height: 100%;
  pointer-events: none;
}

.scroll-hint-text {
  font-size: 10px;
  color: #FFF;
  margin-top: 5px;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon {
  opacity: 0.8;
}

.scroll-hint-icon:before {
  display: inline-block;
  width: 40px;
  height: 40px;
  color: #FFF;
  vertical-align: middle;
  text-align: center;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDM8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIiBmaWxsPSIjZmZmIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon:after {
  content: "";
  width: 34px;
  height: 14px;
  display: block;
  position: absolute;
  top: 10px;
  left: 50%;
  margin-left: -20px;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDE8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIiBmaWxsPSIjZmZmIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIgZmlsbD0iI2ZmZiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIgZmlsbD0iI2ZmZiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiIGZpbGw9IiNmZmYiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiIGZpbGw9IiNmZmYiLz48L2c+PC9nPjwvc3ZnPg==);
  opacity: 0;
  transition-delay: 2.4s;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:after {
  opacity: 1;
}

.scroll-hint-icon-wrap.is-active .scroll-hint-icon:before {
  animation: scroll-hint-appear 1.2s linear;
  animation-iteration-count: 2;
}

.scroll-hint-icon-white {
  background-color: #FFF;
  box-shadow: 0 4px 5px rgba(0, 0, 0, 0.4);
}

.scroll-hint-icon-white:before {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNS43NyIgaGVpZ2h0PSIzMC41MiIgdmlld0JveD0iMCAwIDI1Ljc3IDMwLjUyIj48dGl0bGU+44Ki44K744OD44OIIDQ8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxwYXRoIGQ9Ik0yMS4zMywzMC41Mkg3Ljg1QTEuNTUsMS41NSwwLDAsMSw2LjMsMjlhMTIuNDYsMTIuNDYsMCwwLDAtLjYzLTQuNDIsMjUuMTYsMjUuMTYsMCwwLDAtNC4yNS01bC0uMDYtLjA2QTUsNSwwLDAsMSwwLDE1Ljg2YTMuNjQsMy42NCwwLDAsMSwxLjE3LTIuNjIsMy42MywzLjYzLDAsMCwxLDUuMTQuMDdWMy43N2EzLjc3LDMuNzcsMCwxLDEsNy41NCwwVjguMzNhMy4zNSwzLjM1LDAsMCwxLDEuMjYsMCwzLDMsMCwwLDEsMiwxLjIyLDMuNSwzLjUsMCwwLDEsMi0uMDYsMy4yMSwzLjIxLDAsMCwxLDIsMS41NCwzLjc0LDMuNzQsMCwwLDEsMywuNDdBNC4yMSw0LjIxLDAsMCwxLDI1Ljc0LDE1YzAsLjExLDAsLjI3LDAsLjQ2YTE5LjI2LDE5LjI2LDAsMCwxLS44NCw3Yy0uMTQuMzgtLjM2LjgxLS41NiwxLjIybC0uMTEuMjJjMCwuMDctLjA5LjE0LS4xNC4yMWE3LjEzLDcuMTMsMCwwLDAtMS4xNywyLjE3Yy0uMDYuNTYtLjA2LDIuMTUtLjA1LDIuNzFBMS41NSwxLjU1LDAsMCwxLDIxLjMzLDMwLjUyWk04LjYxLDI4LjIxaDEyYzAtLjcxLDAtMS43MS4wNy0yLjIzYTguNzQsOC43NCwwLDAsMSwxLjU5LTMuMjVsLjA2LS4xMmExMCwxMCwwLDAsMCwuNDYtMSwxNi44LDE2LjgsMCwwLDAsLjctNi4xMmMwLS4yMywwLS40MSwwLS41NGgwYTIsMiwwLDAsMC0uNjQtMS41MiwxLjMzLDEuMzMsMCwwLDAtMS41NS4wOCwxLjEzLDEuMTMsMCwwLDEtMS4xOC4yOCwxLjE1LDEuMTUsMCwwLDEtLjc4LS45NCwxLjI2LDEuMjYsMCwwLDAtLjc1LTEuMTEsMSwxLDAsMCwwLTEuMTEuMjhsLS4xLjFhMS4xNSwxLjE1LDAsMCwxLTEuMTkuMjksMS4xNiwxLjE2LDAsMCwxLS43OC0uOTVjLS4wOS0uNjgtLjIxLS43Ny0uNy0uODdhLjgyLjgyLDAsMCwwLTEsLjQ4LDEuMTYsMS4xNiwwLDAsMS0yLjE2LS41OFYzLjc3YTEuNDYsMS40NiwwLDEsMC0yLjkyLDB2Ny44NWwwLDQuMzNhMS4xNywxLjE3LDAsMCwxLS44MywxLjExLDEuMTUsMS4xNSwwLDAsMS0xLjItLjM1bC0xLS45MWMtLjQ3LS40Mi0uNzMtLjY2LS44NC0uNzdhMS4zNSwxLjM1LDAsMCwwLTItLjEyTDIuNywxNWExLjMyLDEuMzIsMCwwLDAtLjM5LDFBMi41NywyLjU3LDAsMCwwLDMsMTcuODVsMCwwYTI3LjI0LDI3LjI0LDAsMCwxLDQuNyw1LjYyQTEyLjYzLDEyLjYzLDAsMCwxLDguNjEsMjguMjFaTTIzLjIsMjMuMzVaTTYuNTEsMTYuNTlaIi8+PC9nPjwvZz48L3N2Zz4=);
}

.scroll-hint-icon-white:after {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIzMy4yOSIgaGVpZ2h0PSIxMi4wMiIgdmlld0JveD0iMCAwIDMzLjI5IDEyLjAyIj48dGl0bGU+44Ki44K744OD44OIIDI8L3RpdGxlPjxnIGlkPSLjg6zjgqTjg6Tjg7xfMiIgZGF0YS1uYW1lPSLjg6zjgqTjg6Tjg7wgMiI+PGcgaWQ9IuODrOOCpOODpOODvF8xLTIiIGRhdGEtbmFtZT0i44Os44Kk44Ok44O8IDEiPjxsaW5lIHgxPSIxLjg1IiB5MT0iNi4wMSIgeDI9IjEwLjQiIHkyPSI2LjAxIi8+PHBhdGggZD0iTTEwLjQsNy4xN0gxLjg1YTEuMTYsMS4xNiwwLDEsMSwwLTIuMzFIMTAuNGExLjE2LDEuMTYsMCwxLDEsMCwyLjMxWiIvPjxwYXRoIGQ9Ik03LjQsMTJhMS4xNSwxLjE1LDAsMCwxLS43Mi0uMjVsLTYuMjUtNUExLjIsMS4yLDAsMCwxLDAsNS44NywxLjE0LDEuMTQsMCwwLDEsLjQ2LDVMNi43LjIzQTEuMTYsMS4xNiwwLDAsMSw4LjEsMi4wOEwzLDUuOTEsOC4xMiwxMEExLjE2LDEuMTYsMCwwLDEsNy40LDEyWiIvPjxsaW5lIHgxPSIzMS40NSIgeTE9IjYuMDEiIHgyPSIyMi44OSIgeTI9IjYuMDEiLz48cGF0aCBkPSJNMzEuNDUsNy4xN0gyMi44OWExLjE2LDEuMTYsMCwxLDEsMC0yLjMxaDguNTZhMS4xNiwxLjE2LDAsMCwxLDAsMi4zMVoiLz48cGF0aCBkPSJNMjUuOSwxMmExLjE4LDEuMTgsMCwwLDEtLjkxLS40M0ExLjE3LDEuMTcsMCwwLDEsMjUuMTcsMTBsNS4wOS00LjA1TDI1LjIsMi4wOEExLjE2LDEuMTYsMCwwLDEsMjYuNTkuMjNMMzIuODQsNWExLjE2LDEuMTYsMCwwLDEsLjQ1LjkxLDEuMTQsMS4xNCwwLDAsMS0uNDMuOTJsLTYuMjQsNUExLjE3LDEuMTcsMCwwLDEsMjUuOSwxMloiLz48L2c+PC9nPjwvc3ZnPg==);
}

.scroll-hint-icon-white .scroll-hint-text {
  color: #2e2e2e;
}

/*
--------------------------------
	article list
--------------------------------
*/
/* ---- news: press release archive ---- */
.c-article-list-topics {
  margin-top: 50px;
  border-top: 1px solid #eee;
}
.c-article-list-topics li {
  border-bottom: 1px solid #eee;
}
.c-article-list-topics.col-2 {
  display: flex;
  flex-wrap: wrap;
  -moz-column-gap: min(3.4vw, 50px);
       column-gap: min(3.4vw, 50px);
  border-top-style: none;
}
.c-article-list-topics.col-2 li {
  width: max(50% - 1.702vw, 50% - 25px);
}
.c-article-list-topics.col-2 li:nth-child(-n+2) {
  border-top: 1px solid #eee;
}
.c-article-list-topics a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  padding: 27px 30px 23px;
  background-color: rgba(234, 234, 234, 0);
  color: #333;
  transition: background-color 0.2s ease-out;
  /*
  &::after {
    content: "";
    display: block;
    position: absolute;
    right: 30px;
    top: calc(50% - 5px);
    width: 12px;
    height: 10px;
    background: url(../images/icon_arrow.svg) center no-repeat;
  }
  */
}
.c-article-list-topics a:hover, .c-article-list-topics a:active {
  background-color: rgb(234, 234, 234);
  /*
  &::after {
    animation: arrow-right .5s ease-in-out;
  }
  */
}
.c-article-list-topics a time {
  min-width: 8.5em;
  color: #2e2e2e;
  font-size: 1.3rem;
}
.c-article-list-topics a time:lang(en) {
  min-width: 5.5em;
}
.c-article-list-topics a .category {
  color: #2e2e2e;
  font-size: 1.2rem;
}
.c-article-list-topics a .category::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}
.c-article-list-topics a p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  width: 100%;
  margin-top: 0.4em;
  font-weight: 700;
  line-height: 1.75;
}
.c-article-list-topics a p:lang(en) {
  line-height: 1.4;
}
.c-article-list-topics a.pdf {
  padding: 27px 60px 23px 30px;
}
.c-article-list-topics a.pdf::after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: calc(50% - 12px);
  width: 20px;
  height: 24px;
  background-image: url(../images/icon_pdf.svg);
  background-size: contain;
}
.c-article-list-topics.short-desc a p {
  -webkit-line-clamp: 1;
}
.c-article-list-topics .no-article {
  padding: 80px 30px;
  color: #333;
  font-size: 1.6rem;
  line-height: 2;
}
.c-article-list-topics .no-article:lang(en) {
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .c-article-list-topics {
    margin-top: 8.5vw;
  }
  .body-inner > .c-article-list-topics {
    margin-left: -5vw;
    margin-right: -5vw;
  }
  .c-article-list-topics.col-2 {
    display: block;
    border-top: 1px solid #eee;
  }
  .c-article-list-topics.col-2 li {
    width: auto;
  }
  .c-article-list-topics.col-2 li:nth-child(-n+2) {
    border-top-style: none;
  }
  .c-article-list-topics a {
    padding: 27px 5vw 23px;
    transition: none;
    /*
    &::after {
      right: g.$side_margin_sp;
    }
    */
  }
  .c-article-list-topics a:hover, .c-article-list-topics a:active {
    background-color: rgba(234, 234, 234, 0);
    /*
    &::after {
      animation: none;
    }
    */
  }
  .c-article-list-topics a p {
    margin-top: 0.6em;
  }
  .c-article-list-topics a.pdf {
    padding: 27px calc(5vw + 35px) 23px 5vw;
  }
  .c-article-list-topics a.pdf::after {
    right: 5vw;
  }
  .c-article-list-topics.short-desc a p {
    -webkit-line-clamp: 3;
  }
  .c-article-list-topics .no-article {
    padding: 25vw 5vw;
    font-size: 1.5rem;
    text-align: center;
  }
}
/* ---- recruit: event ---- */
.c-article-list-event {
  margin-top: 50px;
  border-top: 1px solid #eee;
}
.c-article-list-event > li {
  position: relative;
  border-bottom: 1px solid #eee;
}
.c-article-list-event > li > a {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding: 20px 30px 16px;
  color: #333;
  /*
  &::after {
    content: "";
    display: block;
    position: absolute;
    right: 30px;
    top: calc(50% - 5px);
    width: 12px;
    height: 10px;
    background: url(../images/icon_arrow.svg) center no-repeat;
  }
  */
}
.c-article-list-event > li > a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
.c-article-list-event > li > a time {
  display: inline-block;
  padding: 4px 0;
  color: #2e2e2e;
  font-size: 1.3rem;
}
.c-article-list-event > li > a .venue {
  display: inline-block;
  color: #2e2e2e;
  font-size: 1.2rem;
}
.c-article-list-event > li > a .venue::before {
  content: "…";
  display: inline-block;
  padding: 0 0.8em;
  transform: rotate(90deg);
}
.c-article-list-event > li > a p {
  width: 100%;
  margin-top: 0.4em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  /*
  span {
    background: linear-gradient(0deg, rgba(46,46,46,0) 0%, rgba(46,46,46,0) 2%, rgba(46,46,46,0) 3%);
  }
  */
}
.c-article-list-event > li > a:hover, .c-article-list-event > li > a:active {
  /*
  &::after {
    animation: arrow-right .5s ease-in-out;
  }
  */
}
.c-article-list-event > li > a:hover::after, .c-article-list-event > li > a:active::after {
  opacity: 0.07;
}
.c-article-list-event > li > a:hover time, .c-article-list-event > li > a:hover .venue, .c-article-list-event > li > a:active time, .c-article-list-event > li > a:active .venue {
  color: #2e2e2e;
}
.c-article-list-event > li > a:hover p, .c-article-list-event > li > a:active p {
  color: #333;
  /*
  span {
    background: linear-gradient(0deg, rgba(46,46,46,1) 0%, rgba(46,46,46,1) 2%, rgba(46,46,46,0) 3%);
  }
  */
}
.c-article-list-event .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  position: relative;
  z-index: 1;
  padding: 0 60px 24px 30px;
  pointer-events: none;
}
.c-article-list-event .tag button {
  display: inline-block;
  padding: 5px 8px 3px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: auto;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.c-article-list-event .tag button:hover, .c-article-list-event .tag button:active {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-article-list-event > li.closed .closed-label {
  display: inline-block;
  margin-right: 16px;
  padding: 4px 16px;
  background-color: #2e2e2e;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  opacity: 0.6;
}
.c-article-list-event > li.closed > a time {
  opacity: 0.6;
}
.c-article-list-event > li.closed > a .venue {
  opacity: 0.6;
}
.c-article-list-event > li.closed > a p {
  opacity: 0.6;
}
.c-article-list-event > li.closed .tag {
  opacity: 0.6;
}
.c-article-list-event .no-article {
  padding: 160px 30px;
  color: #333;
  font-size: 1.6rem;
}

@media screen and (max-width: 767.9px) {
  .c-article-list-event {
    margin-top: 8.5vw;
  }
  .body-inner .c-article-list-event {
    margin-left: -5vw;
    margin-right: -5vw;
  }
  .c-article-list-event > li > a {
    padding: 20px 5vw 16px;
    /*
    &::after {
      right: g.$side_margin_sp;
    }
    */
  }
  .c-article-list-event > li > a .venue {
    display: none;
  }
  .c-article-list-event > li > a p {
    font-size: 1.7rem;
  }
  .c-article-list-event > li > a p span {
    background: none;
  }
  .c-article-list-event > li > a:hover, .c-article-list-event > li > a:active {
    /*
    &::after {
      animation: none;
    }
    */
  }
  .c-article-list-event > li > a:hover p span, .c-article-list-event > li > a:active p span {
    background: none;
  }
  .c-article-list-event .tag {
    padding: 0 45px 24px 5vw;
  }
  .c-article-list-event .tag a {
    transition: none;
  }
  .c-article-list-event .tag a:hover, .c-article-list-event .tag a:active {
    border: 1px solid #d9d9d9;
    background-color: #fff;
    color: #2e2e2e;
  }
  .c-article-list-event .no-article {
    padding: 25vw 5vw;
    font-size: 1.5rem;
    text-align: center;
  }
}
/* ---- recruit: job search ---- */
.c-article-list-search {
  margin-top: 50px;
  border-top: 1px solid #eee;
}
.c-article-list-search > li {
  position: relative;
  border-bottom: 1px solid #eee;
}
.c-article-list-search > li > a {
  display: block;
  padding: 20px 30px 16px;
  color: #333;
  /*
  &::after {
    content: "";
    display: block;
    position: absolute;
    right: 30px;
    top: calc(50% - 5px);
    width: 12px;
    height: 10px;
    background: url(../images/icon_arrow.svg) center no-repeat;
  }
  */
}
.c-article-list-search > li > a::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: 0;
  transition: opacity 0.2s ease-out;
}
.c-article-list-search > li > a .category {
  display: inline-block;
  padding: 5px 16px 4px;
  background-color: #2e2e2e;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
}
.c-article-list-search > li > a .title {
  margin-top: 0.8em;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  /*
  span {
    background: linear-gradient(0deg, rgba(46,46,46,0) 0%, rgba(46,46,46,0) 2%, rgba(46,46,46,0) 3%);
  }
  */
}
.c-article-list-search > li > a p {
  margin-top: 0.8em;
  font-size: 1.4rem;
  line-height: 1.4;
}
.c-article-list-search > li > a:hover, .c-article-list-search > li > a:active {
  color: #333;
  /*
  &::after {
    animation: arrow-right .5s ease-in-out;
  }
  */
  /*
  .title {

    span {
      background: linear-gradient(0deg, rgba(46,46,46,1) 0%, rgba(46,46,46,1) 2%, rgba(46,46,46,0) 3%);
    }

  }
  */
}
.c-article-list-search > li > a:hover::after, .c-article-list-search > li > a:active::after {
  opacity: 0.07;
}
.c-article-list-search > li > a:hover .category, .c-article-list-search > li > a:active .category {
  color: #fff;
}
.c-article-list-search .tag {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  position: relative;
  z-index: 1;
  padding: 0 60px 24px 30px;
  pointer-events: none;
}
.c-article-list-search .tag button {
  display: inline-block;
  padding: 5px 8px 3px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: auto;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.c-article-list-search .tag button:hover, .c-article-list-search .tag button:active {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-article-list-search .no-article {
  padding: 80px 30px;
  color: #333;
  font-size: 1.6rem;
  line-height: 2;
}
.c-article-list-search .no-article:lang(en) {
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .c-article-list-search {
    margin-top: 8.5vw;
  }
  .body-inner .c-article-list-search {
    margin-left: -5vw;
    margin-right: -5vw;
  }
  .c-article-list-search > li > a {
    padding: 20px 5vw 14px;
    /*
    &::after {
      right: g.$side_margin_sp;
    }
    */
  }
  .c-article-list-search > li > a .title {
    font-size: 1.6rem;
  }
  .c-article-list-search > li > a .title span {
    background: none;
  }
  .c-article-list-search > li > a p {
    margin-top: 0.6em;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .c-article-list-search > li > a p:lang(en) {
    line-height: 1.4;
  }
  .c-article-list-search > li > a:hover, .c-article-list-search > li > a:active {
    /*
    &::after {
      animation: none;
    }
    */
  }
  .c-article-list-search > li > a:hover p span, .c-article-list-search > li > a:active p span {
    background: none;
  }
  .c-article-list-search .tag {
    padding: 0 45px 20px 5vw;
  }
  .c-article-list-search .tag button {
    transition: none;
  }
  .c-article-list-search .tag button:hover, .c-article-list-search .tag button:active {
    border: 1px solid #d9d9d9;
    background-color: #fff;
    color: #2e2e2e;
  }
  .c-article-list-search .no-article {
    padding: 25vw 5vw;
    font-size: 1.5rem;
    text-align: center;
  }
}
/* ---- news: press release panel, recruit: interview ---- */
#news-search + ul .no-article,
#interview-search + ul .no-article {
  padding: 80px 30px;
  color: #333;
  font-size: 1.6rem;
  line-height: 2;
}
#news-search + ul .no-article:lang(en),
#interview-search + ul .no-article:lang(en) {
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  #news-search + ul .no-article,
  #interview-search + ul .no-article {
    padding: 25vw 0;
    font-size: 1.5rem;
    text-align: center;
  }
}
/*
--------------------------------
	article panel
--------------------------------
*/
/* ---- news ---- */
.c-article-panel {
  display: block;
  color: #2e2e2e;
}
.c-article-panel .img {
  position: relative;
}
.c-article-panel .img img {
  display: block;
  width: 100%;
  aspect-ratio: 1.91/1;
  -o-object-fit: cover;
     object-fit: cover;
  margin-bottom: 16px;
  border-radius: 12px;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-article-panel .img::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 32px;
  height: 32px;
  border-radius: 8px 0 0 0;
  background-color: #fff;
}
.c-article-panel .img::after {
  content: "";
  display: block;
  position: absolute;
  right: 9px;
  bottom: 10px;
  z-index: 2;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-article-panel p {
  margin-top: 8px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.75;
}
.c-article-panel p:lang(en) {
  line-height: 1.5;
}
.c-article-panel time {
  margin-right: -0.2em;
  font-size: 1.3rem;
  line-height: 1.4;
}
.c-article-panel .category {
  font-size: 1.25rem;
  line-height: 1.4;
}
.c-article-panel .category::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}
.c-article-panel:hover, .c-article-panel:active {
  color: #2e2e2e;
}
.c-article-panel:hover .img img, .c-article-panel:active .img img {
  filter: brightness(0.8);
}
.c-article-panel:hover .img::after, .c-article-panel:active .img::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-article-panel:hover p, .c-article-panel:active p {
  text-decoration: underline;
}

@media screen and (max-width: 767.9px) {
  .c-article-panel {
    margin-bottom: 10.7vw;
  }
  .c-article-panel .img img {
    transition: none;
  }
  .c-article-panel p {
    font-size: 1.5rem;
  }
  .c-article-panel:hover .img img, .c-article-panel:active .img img {
    filter: brightness(1);
  }
  .c-article-panel:hover .img::after, .c-article-panel:active .img::after {
    animation: none;
  }
  .c-article-panel:hover p, .c-article-panel:active p {
    text-decoration: none;
  }
}
/* ---- interview ---- */
.c-interview-panel {
  display: block;
  position: relative;
  height: 100%;
  padding: 9%;
  border-radius: 12px;
  background-color: #fdfdfd;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.bg-gray .c-interview-panel {
  background-color: #fff;
}
.c-interview-panel::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-interview-panel .inner img {
  display: block;
  width: 120px;
  height: 120px;
  margin: 0 auto;
  border-radius: 50%;
  overflow: hidden;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-interview-panel .inner p {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  height: 150px;
  margin-top: 24px;
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.6;
}
.c-interview-panel .name {
  color: #2e2e2e;
  font-size: 1.5rem;
  font-weight: 700;
}
.c-interview-panel .job {
  display: inline-block;
  color: #2e2e2e;
  font-size: 1.25rem;
  text-transform: uppercase;
  transform: translateY(-0.1em);
}
.c-interview-panel .job::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.6em 0 0.2em;
  transform: scale(1, 0.8);
}
.c-interview-panel > p {
  margin-top: 0.5em;
  color: #808080;
  font-size: 1.45rem;
  line-height: 1.4;
}
.c-interview-panel:hover, .c-interview-panel:active {
  background-color: #eaeaea;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
}
.c-interview-panel:hover::after, .c-interview-panel:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-interview-panel:hover .inner img, .c-interview-panel:active .inner img {
  filter: brightness(0.8);
}

@media screen and (max-width: 767.9px) {
  .c-interview-panel {
    height: auto;
    padding: 30px 5vw 20px;
    transition: none;
  }
  .c-interview-panel .inner {
    display: flex;
    align-items: center;
    margin-bottom: 60px;
  }
  .c-interview-panel .inner img {
    width: 100px;
    height: 100px;
    margin: 0 5vw 0 0;
  }
  .c-interview-panel .inner p {
    width: calc(100% - 100px - 5vw);
    height: auto;
    margin-top: 0;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .c-interview-panel:hover, .c-interview-panel:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-interview-panel:hover::after, .c-interview-panel:active::after {
    animation: none;
  }
  .c-interview-panel:hover .inner img, .c-interview-panel:active .inner img {
    filter: brightness(1);
  }
  .bg-gray .c-interview-panel:hover, .bg-gray .c-interview-panel:active {
    background-color: #fff;
  }
}
/* ---- job ---- */
.c-job-panel {
  display: block;
  position: relative;
  height: 100%;
  padding: 35px 9% 55px;
  border-radius: 12px;
  background-color: #fdfdfd;
  color: #2e2e2e;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.bg-gray .c-job-panel {
  background-color: #fff;
}
.c-job-panel::after {
  content: "";
  display: block;
  position: absolute;
  right: 8%;
  bottom: 28px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-job-panel .title {
  margin-top: 12px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.c-job-panel .title:lang(en) {
  line-height: 1.4;
}
.c-job-panel p {
  margin-top: 20px;
  font-size: 1.6rem;
  line-height: 2;
}
.c-job-panel p:lang(en) {
  line-height: 1.5;
}
.c-job-panel:hover, .c-job-panel:active {
  background-color: #eaeaea;
  color: #2e2e2e;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
}
.c-job-panel:hover::after, .c-job-panel:active::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-job-panel {
    padding: 22px 5vw 44px;
    transition: none;
  }
  .c-job-panel::after {
    right: 5vw;
    bottom: 20px;
  }
  .c-job-panel .title {
    margin-top: 10px;
    font-size: 1.8rem;
  }
  .c-job-panel p {
    margin-top: 16px;
    font-size: 1.4rem;
  }
  .c-job-panel:hover, .c-job-panel:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-job-panel:hover::after, .c-job-panel:active::after {
    animation: none;
  }
  .bg-gray .c-job-panel:hover, .bg-gray .c-job-panel:active {
    background-color: #fff;
  }
}
/* ---- DAY2: news ---- */
.c-article-panel-d2 {
  display: block;
  position: relative;
  height: 100%;
  min-height: min(380px, 45vw);
  border-radius: 12px;
  background-color: #fff;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  color: #2e2e2e;
}
.c-article-panel-d2::before {
  content: "";
  display: block;
  position: absolute;
  right: 6%;
  bottom: 16px;
  z-index: 2;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-article-panel-d2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #2e2e2e;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
}
.c-article-panel-d2 img {
  display: block;
  width: 100%;
  aspect-ratio: 1.91/1;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-article-panel-d2 .txt {
  margin-top: 20px;
  padding: 0 6% 7%;
}
.c-article-panel-d2 time {
  margin-right: -0.2em;
  font-size: 1.3rem;
  line-height: 1.4;
}
.c-article-panel-d2 .category {
  font-size: 1.25rem;
  line-height: 1.4;
}
.c-article-panel-d2 .category::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}
.c-article-panel-d2 p {
  display: -webkit-box;
  margin-top: 12px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.c-article-panel-d2:hover, .c-article-panel-d2:active {
  color: #2e2e2e;
}
.c-article-panel-d2:hover::before, .c-article-panel-d2:active::before {
  animation: arrow-right 0.5s ease-in-out;
}
.c-article-panel-d2:hover::after, .c-article-panel-d2:active::after {
  opacity: 0.12;
}

@media screen and (max-width: 767.9px) {
  .c-article-panel-d2 {
    height: auto;
    min-height: calc(65vw + 12rem);
    margin-bottom: 10.7vw;
  }
}
/*
--------------------------------
	article navigation
--------------------------------
*/
/* ---- prev / next ---- */
.c-article-nav {
  position: relative;
  display: flex;
  margin-top: 110px;
  border-radius: 20px;
  background-color: #f4f4f4;
  overflow: hidden;
}
.c-article-nav::after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 30px;
  bottom: 30px;
  width: 1px;
  background-color: #d9d9d9;
}
.c-article-nav a {
  display: block;
  position: relative;
  width: 50%;
  color: #2e2e2e;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-article-nav a p {
  margin-top: 18px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.c-article-nav a p:lang(en) {
  line-height: 1.5;
}
.c-article-nav a.prev {
  padding: 40px 5% 40px 3.6%;
}
.c-article-nav a.prev span {
  display: inline-block;
  position: relative;
  padding: 0 0 0 25px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-article-nav a.prev span::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 6px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  transform: translate3d(0, 0, 0) rotate(180deg);
}
.c-article-nav a.next {
  padding: 40px 3.6% 40px 5%;
  text-align: right;
}
.c-article-nav a.next:only-child {
  margin-left: auto;
}
.c-article-nav a.next span {
  display: inline-block;
  position: relative;
  padding: 0 25px 0 0;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-article-nav a.next span::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-article-nav a.next p {
  text-align: left;
}
.c-article-nav a:hover, .c-article-nav a:active {
  opacity: 0.6;
  color: #2e2e2e;
}
.c-article-nav a:hover.prev span::before, .c-article-nav a:active.prev span::before {
  transform: scale(1, 1);
}
.c-article-nav a:hover.prev span::after, .c-article-nav a:active.prev span::after {
  animation: arrow-left 0.5s ease-in-out;
}
.c-article-nav a:hover.next span::before, .c-article-nav a:active.next span::before {
  transform: scale(1, 1);
}
.c-article-nav a:hover.next span::after, .c-article-nav a:active.next span::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-article-nav {
    margin-top: 14.9vw;
    border-radius: 12px;
  }
  .c-article-nav::after {
    top: 20px;
    bottom: 20px;
  }
  .c-article-nav a p {
    margin-top: 16px;
    font-size: 1.2rem;
    line-height: 1.5;
  }
  .c-article-nav a.prev {
    padding: 24px 5vw 20px;
  }
  .c-article-nav a.prev span {
    padding: 0 0 0 20px;
    font-size: 1.2rem;
  }
  .c-article-nav a.next {
    padding: 24px 5vw 20px;
  }
  .c-article-nav a.next span {
    padding: 0 20px 0 0;
    font-size: 1.2rem;
  }
  .c-article-nav a.next p {
    text-align: left;
  }
  .c-article-nav a:hover p, .c-article-nav a:active p {
    text-decoration: none;
  }
  .c-article-nav a:hover.prev span::after, .c-article-nav a:active.prev span::after {
    animation: none;
  }
  .c-article-nav a:hover.next span::after, .c-article-nav a:active.next span::after {
    animation: none;
  }
}
/* ---- prev / index / next ---- */
.c-page-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 110px;
  padding: 5% 3.6% calc(5% - 4px);
  background-color: #f4f4f4;
  border-radius: 20px;
}
.c-page-nav a {
  opacity: 1;
  transition: opacity 0.2s;
}
.c-page-nav a:hover, .c-page-nav a:active {
  opacity: 0.6;
}
.c-page-nav a:nth-child(1) {
  display: block;
  position: relative;
  padding: 0 0 0 25px;
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 700;
}
.c-page-nav a:nth-child(1)::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  transform: rotate(180deg);
}
.c-page-nav a:nth-child(1):hover, .c-page-nav a:nth-child(1):active {
  color: #2e2e2e;
}
.c-page-nav a:nth-child(1):hover::after, .c-page-nav a:nth-child(1):active::after {
  animation: arrow-left 0.5s ease-in-out;
}
.c-page-nav a:nth-child(2) {
  display: block;
  position: relative;
  padding: 0;
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 700;
}
.c-page-nav a:nth-child(2)::after {
  content: "";
  display: block;
  position: absolute;
  right: -36px;
  top: calc(50% - 12.5px);
  width: 25px;
  height: 25px;
  background: url(../images/icon_index.svg) center no-repeat;
}
.c-page-nav a:nth-child(2):hover, .c-page-nav a:nth-child(2):active {
  color: #2e2e2e;
}
.c-page-nav a:nth-child(3) {
  display: block;
  position: relative;
  padding: 0 25px 0 0;
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 700;
}
.c-page-nav a:nth-child(3)::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-page-nav a:nth-child(3):hover, .c-page-nav a:nth-child(3):active {
  color: #2e2e2e;
}
.c-page-nav a:nth-child(3):hover::after, .c-page-nav a:nth-child(3):active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-page-nav a.disabled {
  opacity: 0.2;
  pointer-events: none;
}

@media screen and (max-width: 767.9px) {
  .c-page-nav {
    margin-top: 14.9vw;
    padding: 9% 5vw;
  }
  .c-page-nav a:nth-child(1) {
    padding: 35px 8px 6px;
  }
  .c-page-nav a:nth-child(1)::after {
    left: calc(50% - 6px);
    top: 7px;
  }
  .c-page-nav a:nth-child(1):hover::after, .c-page-nav a:nth-child(1):active::after {
    animation: none;
  }
  .c-page-nav a:nth-child(2) {
    padding: 35px 8px 6px;
  }
  .c-page-nav a:nth-child(2)::after {
    left: calc(50% - 12px);
    top: 0;
  }
  .c-page-nav a:nth-child(3) {
    padding: 35px 8px 6px;
  }
  .c-page-nav a:nth-child(3)::after {
    left: calc(50% - 6px);
    top: 7px;
  }
  .c-page-nav a:nth-child(3):hover::after, .c-page-nav a:nth-child(3):active::after {
    animation: none;
  }
}
/*
--------------------------------
	link list
--------------------------------
*/
/* ---- horizontal ---- */
.c-horizontal-link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 50px;
  margin-top: 50px;
  padding: 30px 40px;
  border-radius: 12px;
  background-color: #f4f4f4;
}
.bg-gray .c-horizontal-link-list {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-horizontal-link-list {
    display: block;
    margin-top: 8.5vw;
    padding: 24px 6vw;
  }
  .c-horizontal-link-list a {
    display: block;
    white-space: normal;
  }
}
/* ---- vertical ---- */
.c-vertical-link-list {
  margin-top: 50px;
  padding: 40px 5%;
  border-radius: 12px;
  background-color: #f4f4f4;
}
.bg-gray .c-vertical-link-list {
  background-color: #fff;
}
.c-vertical-link-list > :first-child {
  margin-top: 0;
}
.c-vertical-link-list.no-frame {
  padding: 0;
  background-color: transparent;
}
.bg-gray .c-vertical-link-list.no-frame {
  background-color: transparent;
}
.c-vertical-link-list .heading {
  margin-bottom: 24px;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.3;
  text-transform: uppercase;
}
.c-vertical-link-list ul li {
  margin-top: 20px;
}
.c-vertical-link-list ul li:first-child {
  margin-top: 0;
}
.c-vertical-link-list ul li a {
  font-size: 1.5rem;
  line-height: 1.4;
}
.c-vertical-link-list ul li ul li::before {
  content: "–";
  margin-right: 0.8em;
  font-size: 1.4rem;
}
.c-vertical-link-list ul li ul li:first-child {
  margin-top: 20px;
}
.c-vertical-link-list ul li ul li a {
  font-size: 1.4rem;
}
.c-vertical-link-list ul li ul li a.c-icon-link.anchor::after {
  top: calc(50% - 7px);
}
.c-vertical-link-list button {
  display: none;
}

@media screen and (max-width: 767.9px) {
  .c-vertical-link-list {
    margin-top: 8.5vw;
    padding: calc(5vw + 8px) 6.5vw calc(5vw + 10px);
  }
  .c-vertical-link-list.no-frame {
    padding: 0;
  }
  .c-vertical-link-list .heading {
    font-size: 1.6rem;
    text-align: center;
  }
  .c-vertical-link-list ul li {
    margin-top: 20px;
  }
  .c-vertical-link-list ul li a {
    font-size: 1.5rem;
  }
  .c-vertical-link-list ul li ul li:first-child {
    margin-top: 20px;
  }
  .c-vertical-link-list.sp-viewmore {
    position: relative;
    height: 270px;
    overflow: hidden;
    transition: height 0.3s ease-out;
  }
  .c-vertical-link-list.sp-viewmore button {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 70px;
    padding-top: 8px;
    background: linear-gradient(180deg, rgba(244, 244, 244, 0) 0%, rgb(244, 244, 244) 15%);
    opacity: 1;
    transition: opacity 0.2s;
  }
  .c-vertical-link-list.sp-viewmore button span {
    display: block;
    position: relative;
    padding-right: 24px;
    color: #2e2e2e;
    font-size: 1.4rem;
    font-weight: 700;
  }
  .c-vertical-link-list.sp-viewmore button span::before {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: calc(50% - 2px);
    width: 12px;
    height: 2px;
    background-color: #2e2e2e;
  }
  .c-vertical-link-list.sp-viewmore button span::after {
    content: "";
    display: block;
    position: absolute;
    right: 0;
    top: calc(50% - 2px);
    width: 12px;
    height: 2px;
    background-color: #2e2e2e;
    transform: rotate(-90deg);
  }
  .c-vertical-link-list.sp-viewmore button.is-hidden {
    opacity: 0;
    pointer-events: none;
  }
  .bg-gray .c-vertical-link-list.sp-viewmore button {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 15%);
  }
}
/* ---- panel ---- */
.c-box-link-list {
  position: relative;
  padding-bottom: 100px;
  border-radius: 12px;
  background-color: #fdfdfd;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  /*
  &::before {
    content: "";
    display: block;
    position: absolute;
    left: 30px;
    top: 0;
    width: 20px;
    height: 5px;
    border-radius: 0 0 2px 2px;
    background-color: g.$color_1;
  }
  */
}
.bg-gray .c-box-link-list {
  background-color: #fff;
}
.c-box-link-list .heading {
  padding: 35px 30px;
  font-size: 3.6rem;
  font-weight: 700;
  line-height: 1.3;
}
.c-box-link-list .heading span {
  display: block;
  margin-top: 0.6em;
  font-size: 1.7rem;
  letter-spacing: normal;
}
.c-box-link-list ul {
  border-bottom: 1px solid #eee;
}
.c-box-link-list ul li {
  border-top: 1px solid #eee;
}
.c-box-link-list ul a {
  display: block;
  position: relative;
  padding: 19px 60px 17px 30px;
  background-color: rgba(234, 234, 234, 0);
  line-height: 1.5;
  transition: background-color 0.2s ease-out;
}
.c-box-link-list ul a::after {
  content: "";
  display: block;
  position: absolute;
  right: 30px;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-box-link-list ul a:hover, .c-box-link-list ul a:active {
  background-color: rgb(234, 234, 234);
}
.c-box-link-list ul a:hover::after, .c-box-link-list ul a:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-box-link-list ul a.outbound::after {
  right: 26px;
  top: calc(50% - 9px);
  width: 16px;
  height: 16px;
  background-image: url(../images/icon_outbound.svg);
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}
.c-box-link-list ul a.outbound:hover::after, .c-box-link-list ul a.outbound:active::after {
  animation: none;
}
.c-box-link-list ul a.pdf::after {
  right: 28px;
  top: calc(50% - 10px);
  width: 17px;
  height: 20px;
  background-image: url(../images/icon_pdf.svg);
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
}
.c-box-link-list ul a.pdf:hover::after, .c-box-link-list ul a.pdf:active::after {
  animation: none;
}
.c-box-link-list:not(.c-col) {
  height: 100%;
  padding-bottom: 16px;
}
.c-box-link-list:not(.c-col) .heading {
  padding: 32px 30px 8px;
  font-size: 2.4rem;
}
.c-box-link-list:not(.c-col) ul {
  border-bottom-style: none;
}
.c-box-link-list:not(.c-col) ul li:first-child {
  border-top-style: none;
}

@media screen and (max-width: 767.9px) {
  .c-box-link-list {
    padding-bottom: 50px;
    /*
    &::before {
      left: g.$side_margin_sp;
      width: 12px;
    }
    */
  }
  .c-box-link-list .heading {
    padding: 25px 5vw 28px;
    font-size: 3.2rem;
    line-height: 1.4;
  }
  .c-box-link-list .heading span {
    font-size: 1.6rem;
  }
  .c-box-link-list ul a {
    padding: 18px calc(5vw + 20px) 18px 5vw;
    font-size: 1.6rem;
    transition: none;
  }
  .c-box-link-list ul a::after {
    right: 5vw;
  }
  .c-box-link-list ul a:hover, .c-box-link-list ul a:active {
    background-color: rgba(234, 234, 234, 0);
  }
  .c-box-link-list ul a:hover::after, .c-box-link-list ul a:active::after {
    animation: none;
  }
  .c-box-link-list ul a.outbound::after {
    right: calc(5vw - 4px);
  }
  .c-box-link-list ul a.pdf::after {
    right: calc(5vw - 2px);
  }
  .c-box-link-list:not(.c-col) {
    height: auto;
    padding-bottom: 8px;
  }
  .c-box-link-list:not(.c-col) .heading {
    padding: 24px 5vw 8px;
  }
}
/* ---- panel with image header ---- */
.c-image-link-list {
  position: relative;
  height: 100%;
  padding-bottom: 48px;
  border-radius: 12px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.bg-gray .c-image-link-list {
  background-color: #fff;
}
.c-image-link-list > a {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 1.91/1;
}
.c-image-link-list > a::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 32px;
  height: 32px;
  border-radius: 8px 0 0 0;
  background-color: #fff;
}
.c-image-link-list > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 9px;
  bottom: 10px;
  z-index: 4;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-image-link-list > a img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-image-link-list > a .txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 40px 7%;
}
.c-image-link-list > a .txt .heading {
  margin-top: 8px;
  padding: 8px 8px 6px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}
.c-image-link-list > a .txt p {
  margin-top: 8px;
  padding: 8px 8px 6px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.c-image-link-list > a:hover img, .c-image-link-list > a:active img {
  filter: brightness(0.8);
}
.c-image-link-list > a:hover::after, .c-image-link-list > a:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-image-link-list ul {
  margin-top: 48px;
  border-bottom: 1px solid #eee;
}
.c-image-link-list ul li {
  border-top: 1px solid #eee;
}
.c-image-link-list ul a {
  display: block;
  position: relative;
  padding: 13px calc(7% + 30px) 11px 7%;
  background-color: rgba(234, 234, 234, 0);
  font-size: 1.6rem;
  line-height: 1.5;
  transition: background-color 0.2s ease-out;
}
.c-image-link-list ul a::after {
  content: "";
  display: block;
  position: absolute;
  right: 7%;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-image-link-list ul a:hover, .c-image-link-list ul a:active {
  background-color: rgb(234, 234, 234);
}
.c-image-link-list ul a:hover::after, .c-image-link-list ul a:active::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-image-link-list {
    padding-bottom: 40px;
  }
  .c-image-link-list > a img {
    transform: none;
    filter: none;
    transition: none;
  }
  .c-image-link-list > a:hover img, .c-image-link-list > a:active img {
    filter: none;
  }
  .c-image-link-list > a:hover::after, .c-image-link-list > a:active::after {
    animation: none;
  }
  .c-image-link-list ul {
    margin-top: 40px;
  }
  .c-image-link-list ul a {
    transition: none;
  }
  .c-image-link-list ul a:hover, .c-image-link-list ul a:active {
    background-color: rgba(234, 234, 234, 0);
  }
  .c-image-link-list ul a:hover::after, .c-image-link-list ul a:active::after {
    animation: none;
  }
}
/* ---- image ---- */
.c-link-panel-image-top,
.c-image-link {
  display: block;
  color: #2e2e2e;
}
.c-link-panel-image-top .img,
.c-image-link .img {
  position: relative;
}
.c-link-panel-image-top .img img,
.c-image-link .img img {
  display: block;
  width: 100%;
  aspect-ratio: 1.91/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 12px;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-link-panel-image-top .img::before,
.c-image-link .img::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 1;
  width: 32px;
  height: 32px;
  border-radius: 8px 0 0 0;
  background-color: #fff;
}
.c-link-panel-image-top .img::after,
.c-image-link .img::after {
  content: "";
  display: block;
  position: absolute;
  right: 9px;
  bottom: 10px;
  z-index: 2;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-image-top p,
.c-image-link p {
  margin-top: 16px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1.5;
}
.c-link-panel-image-top:hover, .c-link-panel-image-top:active,
.c-image-link:hover,
.c-image-link:active {
  color: #2e2e2e;
}
.c-link-panel-image-top:hover .img img, .c-link-panel-image-top:active .img img,
.c-image-link:hover .img img,
.c-image-link:active .img img {
  filter: brightness(0.8);
}
.c-link-panel-image-top:hover .img::after, .c-link-panel-image-top:active .img::after,
.c-image-link:hover .img::after,
.c-image-link:active .img::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-top .img {
    position: relative;
  }
  .c-link-panel-image-top .img img {
    filter: none;
    transition: none;
  }
  .c-link-panel-image-top p {
    margin-top: 12px;
  }
  .c-link-panel-image-top:hover .img img, .c-link-panel-image-top:active .img img {
    filter: none;
  }
  .c-link-panel-image-top:hover .img::after, .c-link-panel-image-top:active .img::after {
    animation: none;
  }
  .c-col + .c-col .c-link-panel-image-top {
    margin-top: 10.7vw;
  }
}
/*
--------------------------------
	link panel
--------------------------------
*/
/* ---- text only ---- */
.c-link-panel-text {
  display: flex;
  align-items: center;
  position: relative;
  height: 100%;
  min-height: 160px;
  padding: 25px 62px 25px 32px;
  border-radius: 12px;
  background-color: #f4f4f4;
  color: #2e2e2e;
  font-size: 2rem;
  letter-spacing: 0.1em;
  font-weight: 700;
  line-height: 1.6;
  transition: background-color 0.2s, box-shadow 0.2s;
  /*
  &::before {
    content: "";
    display: block;
    position: absolute;
    left: 9%;
    top: 0;
    width: 20px;
    height: 5px;
    border-radius: 0 0 2px 2px;
    background-color: g.$color_1;
  }
  */
  /*
  &.line::before {
    background-color: g.$color_line;
  }

  &.yahoo::before {
    background-color: g.$color_yahoo;
  }
  */
}
.c-link-panel-text:lang(en) {
  font-size: 1.8rem;
  letter-spacing: 0.02em;
  line-height: 1.4;
}
.bg-gray .c-link-panel-text {
  background-color: #fff;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.c-link-panel-text::after {
  content: "";
  display: block;
  position: absolute;
  right: 32px;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-text[target=_blank]::after {
  top: calc(50% - 8px);
  width: 16px;
  height: 16px;
  background: url(../images/icon_outbound.svg) center no-repeat;
}
.c-link-panel-text[target=_blank]:hover::after, .c-link-panel-text[target=_blank]:active::after {
  animation: none;
}
.c-link-panel-text.small {
  min-height: 120px;
  padding: 25px 54px 25px 24px;
  font-size: 1.8rem;
  line-height: 1.5;
}
.c-link-panel-text.small::after {
  right: 24px;
}
.c-link-panel-text:hover, .c-link-panel-text:active {
  background-color: #eaeaea;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
  color: #2e2e2e;
}
.c-link-panel-text:hover::after, .c-link-panel-text:active::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (min-width: 768px) and (max-width: 960px) {
  .c-link-panel-text {
    font-size: 1.8rem;
    letter-spacing: 0.06em;
  }
  .c-link-panel-text:lang(en) {
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767.9px) {
  .c-link-panel-text {
    transition: none;
  }
  .c-link-panel-text:hover, .c-link-panel-text:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-link-panel-text:hover::after, .c-link-panel-text:active::after {
    animation: none;
  }
  .bg-gray .c-link-panel-text:hover, .bg-gray .c-link-panel-text:active {
    background-color: #fff;
  }
}
/* ---- image: none / text ---- */
.c-link-panel-noimg {
  display: block;
  position: relative;
  height: 100%;
  padding: 40px 8% 50px;
  border-radius: 12px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.bg-gray .c-link-panel-noimg {
  background-color: #fff;
}
.c-link-panel-noimg::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-noimg.outbound::after {
  width: 16px;
  height: 16px;
  bottom: 13px;
  background: url(../images/icon_outbound.svg) center no-repeat;
}
.c-link-panel-noimg .heading {
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-link-panel-noimg .heading:lang(en) {
  font-size: 1.8rem;
}
.c-link-panel-noimg .heading.line-2 {
  display: flex;
  align-items: center;
  min-height: 2.8em;
}
.c-link-panel-noimg .heading.line-3 {
  display: flex;
  align-items: center;
  min-height: 4.2em;
}
.c-link-panel-noimg p {
  margin-top: 1.5em;
  color: #2e2e2e;
  font-size: 1.6rem;
  letter-spacing: 0.07em;
  line-height: 2;
}
.c-link-panel-noimg p:lang(en) {
  line-height: 1.5;
}
.c-col-set-3 .c-link-panel-noimg {
  padding: 35px 8% 50px;
}
.c-col-set-4 .c-link-panel-noimg {
  padding: 35px 8% 50px;
}
.c-col-set-4 .c-link-panel-noimg .heading {
  font-size: 1.8rem;
}
.c-link-panel-noimg:hover, .c-link-panel-noimg:active {
  background-color: #eaeaea;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
}
.c-link-panel-noimg:hover::after, .c-link-panel-noimg:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-link-panel-noimg.outbound:hover::after, .c-link-panel-noimg.outbound:active::after {
  animation: none;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-noimg {
    height: auto;
    padding: 28px 9% 40px;
  }
  .c-col-set-3 .c-link-panel-noimg {
    padding: 28px 9% 40px;
  }
  .c-col-set-4 .c-link-panel-noimg {
    height: 100%;
    padding: 18px 9% 36px;
  }
  .c-col-set-4 .c-link-panel-noimg .heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    min-height: 2.8em;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .c-col-set-4 .c-link-panel-noimg .heading:lang(en) {
    font-size: 1.2rem;
  }
  .c-col-set-4 .c-link-panel-noimg .heading.line-2 {
    min-height: 2.8em;
  }
  .c-col-set-4 .c-link-panel-noimg .heading.line-3 {
    min-height: 4.2em;
  }
  .c-col-set-4 .c-link-panel-noimg p {
    margin-top: 10px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .c-link-panel-noimg:hover, .c-link-panel-noimg:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-link-panel-noimg:hover::after, .c-link-panel-noimg:active::after {
    animation: none;
  }
  .c-link-panel-noimg:hover img, .c-link-panel-noimg:active img {
    filter: none;
  }
  .bg-gray .c-link-panel-noimg:hover, .bg-gray .c-link-panel-noimg:active {
    background-color: #fff;
  }
}
/* ---- image: full / text: inside ---- */
.c-link-panel-image-full {
  display: block;
  position: relative;
  height: 392px;
  margin-top: 60px;
}
.c-link-panel-image-full .inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 0 8.7%;
}
.c-link-panel-image-full .heading {
  padding: 8px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.c-link-panel-image-full .heading:lang(en) {
  letter-spacing: 0.02em;
}
.c-link-panel-image-full p {
  margin-top: 8px;
  padding: 5px 9px 3px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  letter-spacing: 0.08em;
}
.c-link-panel-image-full img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 20px;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-link-panel-image-full span {
  display: block;
  position: absolute;
  right: -1px;
  bottom: -1px;
  z-index: 2;
  width: 36%;
  max-width: 340px;
  padding: 40px 30px 40px 4.3%;
  border-radius: 8px 0 0 0;
  background-color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-link-panel-image-full span::after {
  content: "";
  display: block;
  position: absolute;
  right: 2px;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.bg-gray .c-link-panel-image-full span {
  background-color: #f4f4f4;
}

a.c-link-panel-image-full:hover img, a.c-link-panel-image-full:active img {
  filter: brightness(0.8);
}
a.c-link-panel-image-full:hover span::after, a.c-link-panel-image-full:active span::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-full {
    width: 100%;
    height: auto;
    aspect-ratio: 1/0.87;
    margin-top: 10.7vw;
  }
  .c-link-panel-image-full .inner {
    padding: 0 5vw;
  }
  .c-link-panel-image-full .heading {
    padding: 7px 8px 5px;
    font-size: 2.4rem;
  }
  .c-link-panel-image-full p {
    padding: 4px 7px;
    font-size: 1.4rem;
    letter-spacing: normal;
  }
  .c-link-panel-image-full img {
    filter: none;
    transition: none;
  }
  .c-link-panel-image-full span {
    width: 160px;
    max-width: none;
    padding: 24px 36px 0 40px;
  }
  .c-link-panel-image-full span::after {
    top: calc((100% - 24px) / 2 + 19px);
  }
  a.c-link-panel-image-full:hover img, a.c-link-panel-image-full:active img {
    filter: none;
  }
  a.c-link-panel-image-full:hover span::after, a.c-link-panel-image-full:active span::after {
    animation: none;
  }
}
/* ---- image: square / text: inside ---- */
.c-link-panel-image-square {
  display: block;
  position: relative;
  width: 100%;
  aspect-ratio: 12/11;
}
.c-link-panel-image-square::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 32px;
  height: 32px;
  border-radius: 8px 0 0 0;
  background-color: #fff;
}
.c-link-panel-image-square::after {
  content: "";
  display: block;
  position: absolute;
  right: 9px;
  bottom: 10px;
  z-index: 4;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-image-square img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 12px;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-link-panel-image-square .txt {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 18% 9%;
}
.c-link-panel-image-square .txt .heading {
  margin-top: 8px;
  padding: 7px 10px 5px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
.c-link-panel-image-square .txt .heading:lang(en) {
  letter-spacing: 0.02em;
}
.c-link-panel-image-square .txt p {
  margin-top: 8px;
  padding: 5px 9px 3px;
  border-radius: 8px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.c-link-panel-image-square .txt p:lang(en) {
  letter-spacing: 0.02em;
}
.c-link-panel-image-square:hover img, .c-link-panel-image-square:active img {
  filter: brightness(0.8);
}
.c-link-panel-image-square:hover::after, .c-link-panel-image-square:active::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-square img {
    transform: none;
    filter: none;
    transition: none;
  }
  .c-link-panel-image-square:hover img, .c-link-panel-image-square:active img {
    filter: none;
  }
  .c-link-panel-image-square:hover::after, .c-link-panel-image-square:active::after {
    animation: none;
  }
}
/* ---- image: top / text: bottom ---- */
.c-link-panel-image-head {
  display: block;
  position: relative;
  height: 100%;
  border-radius: 12px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
}
.bg-gray .c-link-panel-image-head {
  background-color: #fff;
}
.c-link-panel-image-head::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-image-head.outbound::after {
  width: 16px;
  height: 16px;
  bottom: 13px;
  background: url(../images/icon_outbound.svg) center no-repeat;
}
.c-link-panel-image-head img {
  display: block;
  width: 100%;
  aspect-ratio: 1.91/1;
  -o-object-fit: cover;
     object-fit: cover;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-link-panel-image-head.image-3-2 img {
  aspect-ratio: 3/2;
}
.c-link-panel-image-head.image-3-1 img {
  aspect-ratio: 3/1;
}
.c-link-panel-image-head.image-1-1 img {
  aspect-ratio: 1/1;
}
.c-link-panel-image-head.image-icon img, .c-link-panel-image-head.image-icon-s img {
  -o-object-fit: contain;
     object-fit: contain;
  filter: none;
  transition: none;
}
.c-col-set-2 .c-link-panel-image-head.image-icon img, .c-col-set-3 .c-link-panel-image-head.image-icon img {
  transform: scale(0.6) translateY(10%);
}
.c-col-set-4 .c-link-panel-image-head.image-icon img {
  margin: 44px 0 10px;
  transform: scale(0.84);
}
.c-col-set-4 .c-link-panel-image-head.image-icon-s img {
  transform: scale(0.72) translateY(10%);
}
.c-link-panel-image-head .txt {
  padding: 24px 8% 48px;
  color: #2e2e2e;
}
.c-link-panel-image-head .txt .heading {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.c-link-panel-image-head .txt .heading:lang(en) {
  line-height: 1.4;
}
.c-link-panel-image-head .txt .heading:only-child {
  margin: -15px 0 15px;
  text-align: center;
}
.c-link-panel-image-head .txt .heading span {
  display: inline-block;
}
.c-link-panel-image-head .txt .heading + p {
  margin-top: 1em;
}
.c-link-panel-image-head .txt p {
  font-size: 1.6rem;
  letter-spacing: 0.07em;
  line-height: 1.5;
}
.c-link-panel-image-head .txt p:lang(en) {
  line-height: 1.5;
}
.c-link-panel-image-head .txt .c-tag-list + .heading {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  height: 154px;
  margin-top: 10px;
}
.c-link-panel-image-head .txt .name {
  margin: 14px 0 24px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.2;
}
.c-link-panel-image-head .txt .name span {
  display: block;
  margin-top: 2px;
  font-size: 1.1rem;
}
.c-link-panel-image-head .txt .name + p {
  margin-bottom: -16px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.6;
}
.c-link-panel-image-head .txt .name + p:lang(en) {
  line-height: 1.5;
}
.c-col-set-3 .c-link-panel-image-head .txt {
  padding: 30px 8% 40px;
}
.c-col-set-4 .c-link-panel-image-head .txt, .c-col-set-5 .c-link-panel-image-head .txt {
  padding: 24px 8% 60px;
}
.c-col-set-4 .c-link-panel-image-head .txt .heading, .c-col-set-5 .c-link-panel-image-head .txt .heading {
  font-size: 1.6rem;
  line-height: 1.4;
}
.c-col-set-4 .c-link-panel-image-head .txt .heading:only-child, .c-col-set-5 .c-link-panel-image-head .txt .heading:only-child {
  margin: 0;
  font-size: 2rem;
  line-height: 1.6;
}
.c-col-set-4 .c-link-panel-image-head .txt .heading + p, .c-col-set-5 .c-link-panel-image-head .txt .heading + p {
  margin-top: 0.7em;
}
.c-col-set-5 .c-link-panel-image-head .txt .name {
  margin-bottom: 0;
}
.c-link-panel-image-head:hover, .c-link-panel-image-head:active {
  background-color: #eaeaea;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
}
.c-link-panel-image-head:hover::after, .c-link-panel-image-head:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-link-panel-image-head:hover img, .c-link-panel-image-head:active img {
  filter: brightness(0.8);
}
.c-link-panel-image-head.outbound:hover::after, .c-link-panel-image-head.outbound:active::after {
  animation: none;
}
.c-link-panel-image-head.image-icon:hover img, .c-link-panel-image-head.image-icon:active img, .c-link-panel-image-head.image-icon-s:hover img, .c-link-panel-image-head.image-icon-s:active img {
  filter: none;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-head {
    height: auto;
  }
  .c-col-set-4 .c-link-panel-image-head, .c-col-set-5 .c-link-panel-image-head {
    height: 100%;
  }
  .c-link-panel-image-head img {
    transition: none;
  }
  .c-link-panel-image-head.image-3-2 img, .c-link-panel-image-head.image-3-1 img {
    aspect-ratio: 1.91/1;
  }
  .c-col-set-2 .c-link-panel-image-head.image-icon img, .c-col-set-3 .c-link-panel-image-head.image-icon img {
    transform: scale(0.65) translateY(10%);
  }
  .c-col-set-4 .c-link-panel-image-head.image-icon img {
    margin: 20% 0 8%;
    transform: scale(1);
  }
  .c-col-set-4 .c-link-panel-image-head.image-icon-s img {
    margin: 10% 0 0;
    transform: scale(0.85);
  }
  .c-link-panel-image-head .txt {
    padding: 28px 9% 40px;
  }
  .c-link-panel-image-head .txt .c-tag-list + .heading {
    height: 150px;
    margin-top: 8px;
    font-size: 1.8rem;
  }
  .c-link-panel-image-head .txt .name + p {
    margin-bottom: 0;
  }
  .c-col-set-3 .c-link-panel-image-head .txt {
    padding: 28px 9% 40px;
  }
  .c-col-set-4 .c-link-panel-image-head .txt, .c-col-set-5 .c-link-panel-image-head .txt {
    padding: 20px 9% 32px;
  }
  .c-col-set-4 .c-link-panel-image-head .txt .heading, .c-col-set-5 .c-link-panel-image-head .txt .heading {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    min-height: 2.8em;
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .c-col-set-4 .c-link-panel-image-head .txt .heading:only-child, .c-col-set-5 .c-link-panel-image-head .txt .heading:only-child {
    justify-content: center;
    min-height: 3.2em;
    font-size: 2rem;
    line-height: 1.6;
  }
  .c-col-set-4 .c-link-panel-image-head .txt .heading span, .c-col-set-5 .c-link-panel-image-head .txt .heading span {
    display: block;
  }
  .c-col-set-4 .c-link-panel-image-head .txt .heading + p, .c-col-set-5 .c-link-panel-image-head .txt .heading + p {
    margin-top: 0.5em;
  }
  .c-col-set-4 .c-link-panel-image-head .txt p, .c-col-set-5 .c-link-panel-image-head .txt p {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .c-link-panel-image-head:hover, .c-link-panel-image-head:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-link-panel-image-head:hover::after, .c-link-panel-image-head:active::after {
    animation: none;
  }
  .c-link-panel-image-head:hover img, .c-link-panel-image-head:active img {
    filter: none;
  }
  .bg-gray .c-link-panel-image-head:hover, .bg-gray .c-link-panel-image-head:active {
    background-color: #fff;
  }
}
/* ---- image: left / text: right ---- */
.c-link-panel-image-left {
  display: flex;
  margin-top: 50px;
  border-radius: 20px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.bg-gray .c-link-panel-image-left {
  background-color: #fff;
}
.c-link-panel-image-left > img {
  display: block;
  width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-link-panel-image-left picture {
  display: block;
  width: 50%;
}
.c-link-panel-image-left picture img {
  width: 100%;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-link-panel-image-left .txt {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
  width: 50%;
  padding: 40px 3.6% 24px;
  /*
  &::before {
    content: "";
    display: block;
    position: absolute;
    left: 7.2%;
    top: 0;
    width: 20px;
    height: 5px;
    border-radius: 0 0 2px 2px;
    background-color: g.$color_1;
  }
  */
}
.c-link-panel-image-left .txt .heading {
  margin: 16px 0;
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
}
.c-link-panel-image-left .txt .heading.large {
  margin-top: 40px;
  font-size: 3.2rem;
}
.c-link-panel-image-left .txt .heading.large span {
  display: block;
  margin-top: 12px;
  font-size: 1.6rem;
}
.c-link-panel-image-left .txt p {
  display: -webkit-box;
  margin-bottom: 8px;
  font-size: 1.6rem;
  letter-spacing: 0.07em;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.c-link-panel-image-left .txt ul {
  margin-top: auto;
}
.c-link-panel-image-left .txt ul li {
  margin-top: 14px;
  text-align: right;
}
.c-link-panel-image-left.col-1-2 > img, .c-link-panel-image-left.col-1-2 picture {
  width: 33.3333%;
}
.c-link-panel-image-left.col-1-2 .txt {
  width: 66.6666%;
}
.c-link-panel-image-left.col-2-1 > img, .c-link-panel-image-left.col-2-1 picture {
  width: 66.6666%;
}
.c-link-panel-image-left.col-2-1 .txt {
  width: 33.3333%;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-left {
    display: block;
    margin-top: 8.5vw;
    border-radius: 12px;
  }
  .c-link-panel-image-left > img {
    width: auto;
    aspect-ratio: 1.91/1;
  }
  .c-link-panel-image-left picture {
    width: auto;
  }
  .c-link-panel-image-left picture img {
    aspect-ratio: 1.91/1;
  }
  .c-link-panel-image-left .txt {
    display: block;
    width: auto;
    padding: 28px 9% 24px;
    /*
    &::before {
      left: 9%;
    }
    */
  }
  .c-link-panel-image-left .txt .heading {
    margin-top: 0;
  }
  .c-link-panel-image-left .txt .heading.large {
    margin-top: 0;
    font-size: 2.4rem;
  }
  .c-link-panel-image-left .txt .heading.large span {
    margin-top: 4px;
    font-size: 1.4rem;
  }
  .c-link-panel-image-left .txt ul {
    margin-top: 0;
  }
  .c-link-panel-image-left .txt ul li {
    margin-top: 0;
  }
  .c-link-panel-image-left.col-1-2 > img, .c-link-panel-image-left.col-1-2 picture {
    width: auto;
  }
  .c-link-panel-image-left.col-1-2 .txt {
    width: auto;
  }
  .c-link-panel-image-left.col-2-1 > img, .c-link-panel-image-left.col-2-1 picture {
    width: auto;
  }
  .c-link-panel-image-left.col-2-1 .txt {
    width: auto;
  }
  .c-link-panel-image-left.col-2-1 .txt .heading {
    margin-top: 0;
  }
}
/* ---- pict / text ---- */
.c-link-panel-pict {
  display: block;
  position: relative;
  height: 100%;
  padding: 70px 9% 60px;
  border-radius: 12px;
  background-color: #fdfdfd;
  color: #2e2e2e;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s, box-shadow 0.2s;
  /*
  &::before {
    content: "";
    display: block;
    position: absolute;
    left: 9%;
    top: 0;
    width: 20px;
    height: 5px;
    border-radius: 0 0 2px 2px;
    background-color: g.$color_1;
  }
  */
}
.bg-gray .c-link-panel-pict {
  background-color: #fff;
}
.c-link-panel-pict::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-link-panel-pict img {
  display: block;
  width: 70%;
  max-width: 200px;
  margin: 0 auto;
}
.c-link-panel-pict p {
  margin-top: 40px;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
}
.c-link-panel-pict:hover, .c-link-panel-pict:active {
  background-color: #eaeaea;
  color: #2e2e2e;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0);
}
.c-link-panel-pict:hover::after, .c-link-panel-pict:active::after {
  animation: arrow-right 0.5s ease-in-out;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-pict {
    padding: 36px 10% 30px;
    transition: none;
    /*
    &::before {
      left: 10%;
    }
    */
  }
  .c-link-panel-pict img {
    width: 80%;
  }
  .c-link-panel-pict p {
    margin-top: 30px;
  }
  .c-link-panel-pict:hover, .c-link-panel-pict:active {
    background-color: #f4f4f4;
    box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
  }
  .c-link-panel-pict:hover::after, .c-link-panel-pict:active::after {
    animation: none;
  }
  .bg-gray .c-link-panel-pict:hover, .bg-gray .c-link-panel-pict:active {
    background-color: #fff;
  }
}
/* ---- with buttons ---- */
.c-link-panel-button {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  padding: 36px 8%;
  border-radius: 12px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.bg-gray .c-link-panel-button {
  background-color: #fff;
}
.c-link-panel-button > .inner {
  margin-bottom: 30px;
}
.c-link-panel-button .c-tag-list:first-child {
  margin-bottom: 10px;
}
.c-link-panel-button .heading {
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-link-panel-button p {
  margin-top: 1.5em;
  color: #2e2e2e;
  font-size: 1.6rem;
  line-height: 2;
}
.c-link-panel-button p:lang(en) {
  line-height: 1.5;
}
.c-link-panel-button .button {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
}
.c-link-panel-button .button .c-button {
  margin: 0;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-button {
    display: block;
    padding: 28px 9%;
  }
  .c-link-panel-button > .inner {
    margin-bottom: 20px;
  }
  .c-link-panel-button .c-tag-list:first-child {
    margin-bottom: 8px;
  }
  .c-link-panel-button .heading {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .c-link-panel-button p {
    margin-top: 1em;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .c-link-panel-button .button {
    gap: 12px;
  }
  .c-link-panel-button .button .c-button {
    margin: 0;
  }
}
/* ---- DAY2: image: left / text: right ---- */
.c-link-panel-image-left-d2 {
  display: flex;
  position: relative;
  min-height: 290px;
  margin-top: 50px;
  border-radius: 20px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.c-link-panel-image-left-d2::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #2e2e2e;
  opacity: 0;
  transition: opacity 0.2s ease-out;
  pointer-events: none;
}
.c-link-panel-image-left-d2:hover::after, .c-link-panel-image-left-d2:active::after {
  opacity: 0.12;
}
.bg-gray .c-link-panel-image-left-d2 {
  background-color: #fff;
}
.c-link-panel-image-left-d2 > img {
  display: block;
  width: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-link-panel-image-left-d2 picture {
  display: block;
  width: 50%;
}
.c-link-panel-image-left-d2 picture img {
  width: 100%;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-link-panel-image-left-d2 .txt {
  position: relative;
  width: 50%;
  padding: 40px 3.6%;
}
.c-link-panel-image-left-d2 .txt.vertical-center {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.c-link-panel-image-left-d2 .txt .c-module-tag-d2 {
  margin-bottom: 16px;
}
.c-link-panel-image-left-d2 .txt p {
  display: -webkit-box;
  margin-bottom: 40px;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.c-link-panel-image-left-d2 .txt .heading {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: 1.5;
}
.c-link-panel-image-left-d2 .txt .heading + p {
  margin-top: 20px;
  font-size: 1.6rem;
  font-weight: 400;
}
.c-link-panel-image-left-d2 .txt .c-link-text-d2 {
  position: absolute;
  right: 7.2%;
  bottom: 40px;
  width: 85.6%;
}
.c-link-panel-image-left-d2.col-1-2 > img, .c-link-panel-image-left-d2.col-1-2 picture {
  width: 33.3333%;
}
.c-link-panel-image-left-d2.col-1-2 .txt {
  width: 66.6666%;
}
.c-link-panel-image-left-d2.col-2-1 > img, .c-link-panel-image-left-d2.col-2-1 picture {
  width: 66.6666%;
}
.c-link-panel-image-left-d2.col-2-1 .txt {
  width: 33.3333%;
}

@media screen and (max-width: 767.9px) {
  .c-link-panel-image-left-d2 {
    display: block;
    min-height: auto;
    margin-top: 8.5vw;
    border-radius: 12px;
  }
  .c-link-panel-image-left-d2 > img {
    width: auto;
    aspect-ratio: 1.78/1;
  }
  .c-link-panel-image-left-d2 picture {
    width: auto;
  }
  .c-link-panel-image-left-d2 picture img {
    aspect-ratio: 1.78/1;
  }
  .c-link-panel-image-left-d2 .txt {
    width: auto;
    padding: 28px 9% 24px;
  }
  .c-link-panel-image-left-d2 .txt.vertical-center {
    display: block;
  }
  .c-link-panel-image-left-d2 .txt p {
    margin-bottom: 24px;
    font-size: 1.8rem;
  }
  .c-link-panel-image-left-d2 .txt .c-link-text-d2 {
    position: relative;
    right: auto;
    bottom: auto;
    width: auto;
  }
  .c-link-panel-image-left-d2.col-1-2 > img, .c-link-panel-image-left-d2.col-1-2 picture {
    width: auto;
  }
  .c-link-panel-image-left-d2.col-1-2 .txt {
    width: auto;
  }
  .c-link-panel-image-left-d2.col-2-1 > img, .c-link-panel-image-left-d2.col-2-1 picture {
    width: auto;
  }
  .c-link-panel-image-left-d2.col-2-1 .txt {
    width: auto;
  }
}
/* ---- slider (Splide) ---- */
@keyframes splide-loading {
  0% {
    transform: rotate(0);
  }
  to {
    transform: rotate(1turn);
  }
}
.splide__track--draggable {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
}

.splide__track--fade > .splide__list > .splide__slide {
  margin: 0 !important;
  opacity: 0;
  z-index: 0;
}

.splide__track--fade > .splide__list > .splide__slide.is-active {
  opacity: 1;
  z-index: 1;
}

.splide--rtl {
  direction: rtl;
}

.splide__track--ttb > .splide__list {
  display: block;
}

.splide__container {
  box-sizing: border-box;
  position: relative;
}

.splide__list {
  backface-visibility: hidden;
  display: flex;
  height: 100%;
  margin: 0 !important;
  padding: 0 !important;
}

.splide.is-initialized:not(.is-active) .splide__list {
  display: block;
}

.splide__pagination {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: 0;
  pointer-events: none;
}

.splide__pagination li {
  display: inline-block;
  line-height: 1;
  list-style-type: none;
  margin: 0;
  pointer-events: auto;
}

.splide:not(.is-overflow) .splide__pagination {
  display: none;
}

.splide__progress__bar {
  width: 0;
}

.splide {
  position: relative;
  visibility: hidden;
}

.splide.is-initialized, .splide.is-rendered {
  visibility: visible;
}

.splide__slide {
  backface-visibility: hidden;
  box-sizing: border-box;
  flex-shrink: 0;
  list-style-type: none !important;
  margin: 0;
  position: relative;
}

.splide__slide img {
  vertical-align: bottom;
}

.splide__spinner {
  animation: splide-loading 1s linear infinite;
  border: 2px solid #999;
  border-left-color: transparent;
  border-radius: 50%;
  bottom: 0;
  contain: strict;
  display: inline-block;
  height: 20px;
  left: 0;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 20px;
}

.splide__sr {
  clip: rect(0 0 0 0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
}

.splide__toggle.is-active .splide__toggle__play, .splide__toggle__pause {
  display: none;
}

.splide__toggle.is-active .splide__toggle__pause {
  display: inline;
}

.splide__track {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

/*
--------------------------------
	panel slider
--------------------------------
*/
/* ---- text measure ---- */
#js-measure {
  position: absolute;
  top: 0;
  z-index: -100;
  visibility: hidden;
  pointer-events: none;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
}

/* ---- panel ---- */
.c-panel-slider {
  position: relative;
  margin-top: 60px;
  padding-top: 40px;
  overflow: hidden;
}
.c-panel-slider .splide__track {
  overflow: visible;
}
.c-panel-slider .bg {
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 240px;
  background-image: url(../images/bg_dots.png);
  background-size: 40px;
}
.c-panel-slider a:not([class]) {
  display: block;
  width: 288px;
}
.c-panel-slider a:not([class]) img {
  display: block;
  width: 100%;
  aspect-ratio: 1.91/1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  transform: translate3d(0, 0, 0);
  filter: brightness(1);
  transition: filter 0.18s ease-out;
}
.c-panel-slider a:not([class]) p {
  position: relative;
  margin-top: 8px;
  padding: 16px 16px 40px;
  border-radius: 4px;
  background-color: #f4f4f4;
  transition: background-color 0.18s ease-out;
}
.c-panel-slider a:not([class]) p span {
  display: inline-block;
  width: 100%;
  margin-bottom: 4px;
  padding: 7px 12px;
  border-radius: 2px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-panel-slider a:not([class]) p span:last-child {
  width: auto;
  margin-bottom: 0;
}
.c-panel-slider a:not([class]) p::after {
  content: "";
  display: block;
  position: absolute;
  right: 15px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-panel-slider a:not([class]):hover img, .c-panel-slider a:not([class]):active img {
  filter: brightness(0.8);
}
.c-panel-slider a:not([class]):hover p, .c-panel-slider a:not([class]):active p {
  color: #2e2e2e;
  background-color: #eaeaea;
}
.c-panel-slider a:not([class]):hover p::after, .c-panel-slider a:not([class]):active p::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-panel-slider.bg-gray {
  margin-top: 0;
  padding: 120px 0;
  background-color: #f4f4f4;
}
.c-panel-slider.bg-gray.no-top-padding {
  padding-top: 0;
}
.c-panel-slider.bg-gray.no-bottom-padding {
  padding-bottom: 0;
}
.c-panel-slider.bg-gray .bg {
  display: none;
}
.c-panel-slider.bg-gray a:not([class]) p {
  background-color: #fff;
}
.c-panel-slider.bg-gray a:not([class]) p span {
  background-color: #f4f4f4;
}

@media screen and (max-width: 767.9px) {
  .c-panel-slider {
    margin-top: 10.7vw;
    padding-top: 10.7vw;
  }
  .c-panel-slider .bg {
    height: 70vw;
  }
  .c-panel-slider.bg-gray {
    margin-top: 0;
    padding: 21.3vw 0;
  }
  .c-panel-slider.bg-gray.no-top-padding {
    padding-top: 0;
  }
  .c-panel-slider.bg-gray.no-bottom-padding {
    padding-bottom: 0;
  }
}
@media (hover: none) {
  .c-panel-slider a:not([class]) img {
    filter: none;
    transition: none;
  }
  .c-panel-slider a:not([class]):hover img, .c-panel-slider a:not([class]):active img {
    filter: none;
  }
  .c-panel-slider a:not([class]):hover p, .c-panel-slider a:not([class]):active p {
    background-color: #f4f4f4;
  }
  .c-panel-slider a:not([class]):hover p::after, .c-panel-slider a:not([class]):active p::after {
    animation: none;
  }
}
/* ---- controls ---- */
.c-panel-slider .controls {
  margin-top: 40px;
  text-align: center;
}
.c-panel-slider .controls .inner {
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 40px;
  padding: 0 88px 0 64px;
}
.c-panel-slider .controls .splide__arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.c-panel-slider .controls .splide__arrows button {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid #2e2e2e;
  border-radius: 50%;
  background-color: transparent;
  overflow: hidden;
  text-indent: -400px;
  transition: background-color 0.2s;
}
.c-panel-slider .controls .splide__arrows button.splide__arrow--prev::after {
  content: "";
  display: block;
  position: absolute;
  left: 13px;
  top: 15px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  transform: rotate(180deg);
}
.c-panel-slider .controls .splide__arrows button.splide__arrow--next::after {
  content: "";
  display: block;
  position: absolute;
  right: 13px;
  top: 15px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-panel-slider .controls .splide__arrows button:hover, .c-panel-slider .controls .splide__arrows button:active {
  background-color: #2e2e2e;
}
.c-panel-slider .controls .splide__arrows button:hover.splide__arrow--prev::after, .c-panel-slider .controls .splide__arrows button:active.splide__arrow--prev::after {
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
  animation: arrow-left 0.4s ease-in-out;
}
.c-panel-slider .controls .splide__arrows button:hover.splide__arrow--next::after, .c-panel-slider .controls .splide__arrows button:active.splide__arrow--next::after {
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
  animation: arrow-right 0.4s ease-in-out;
}
.c-panel-slider .controls .splide__toggle {
  display: block;
  position: absolute;
  right: 64px;
  top: 8px;
  width: 24px;
  height: 24px;
}
.c-panel-slider .controls .splide__toggle span {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -400px;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-panel-slider .controls .splide__toggle span.splide__toggle__play {
  display: block;
}
.c-panel-slider .controls .splide__toggle span.splide__toggle__play::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  top: calc(50% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #2e2e2e;
}
.c-panel-slider .controls .splide__toggle span.splide__toggle__pause {
  display: none;
}
.c-panel-slider .controls .splide__toggle span.splide__toggle__pause::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  top: calc(50% - 6px);
  width: 2px;
  height: 12px;
  background-color: #2e2e2e;
}
.c-panel-slider .controls .splide__toggle span.splide__toggle__pause::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 2px);
  top: calc(50% - 6px);
  width: 2px;
  height: 12px;
  background-color: #2e2e2e;
}
.c-panel-slider .controls .splide__toggle span:hover, .c-panel-slider .controls .splide__toggle span:active {
  opacity: 0.25;
}
.c-panel-slider .controls .splide__toggle.is-active span.splide__toggle__play {
  display: none;
}
.c-panel-slider .controls .splide__toggle.is-active span.splide__toggle__pause {
  display: block;
}
.c-panel-slider .controls .splide__pagination {
  display: flex;
}
.c-panel-slider .controls .splide__pagination .splide__pagination__page {
  display: block;
  position: relative;
  width: 24px;
  height: 24px;
}
.c-panel-slider .controls .splide__pagination .splide__pagination__page::after {
  content: "";
  display: block;
  position: absolute;
  left: 8px;
  top: 8px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background-color: #2e2e2e;
  transition: background-color 0.2s;
}
.c-panel-slider .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider .controls .splide__pagination .splide__pagination__page:active::after, .c-panel-slider .controls .splide__pagination .splide__pagination__page.is-active::after {
  background-color: #d9d9d9;
}

@media screen and (max-width: 767.9px) {
  .c-panel-slider .controls {
    margin-top: 32px;
  }
  .c-panel-slider .controls .inner {
    padding: 0 76px 0 52px;
  }
  .c-panel-slider .controls .splide__toggle {
    right: 52px;
  }
  .c-panel-slider .controls .splide__toggle span:hover, .c-panel-slider .controls .splide__toggle span:active {
    opacity: 1;
  }
  .c-panel-slider .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider .controls .splide__pagination .splide__pagination__page:active::after {
    background-color: #2e2e2e;
  }
}
/* ---- not overflow (views all slides) ---- */
.splide:not(.is-overflow) .splide__list {
  justify-content: center;
}
.splide:not(.is-overflow) .splide__slide:last-child {
  margin: 0 !important;
}
.splide:not(.is-overflow) .controls {
  display: none;
}

/* ---- DAY2: panel ---- */
.c-panel-slider-d2 {
  position: relative;
  margin-top: 120px;
  padding: 80px 0;
  background-color: #353a3f;
  overflow: hidden;
}
.c-panel-slider-d2.wide {
  margin-top: 180px;
  padding: 180px 0 130px;
}
.c-panel-slider-d2.wide a {
  width: 420px;
}
.c-panel-slider-d2.wide a .img {
  aspect-ratio: 1/0.524;
}
.c-panel-slider-d2.wide a .txt {
  min-height: 200px;
  padding: 32px 6%;
}
.c-panel-slider-d2.wide a .txt:has(.c-module-tag-d2) {
  min-height: 224px;
}
.c-panel-slider-d2.wide a .txt p {
  font-size: 1.8rem;
}
.c-panel-slider-d2 .splide__track {
  overflow: visible;
}
.c-panel-slider-d2 a {
  display: block;
  width: 288px;
}
.c-panel-slider-d2 a .img {
  display: block;
  width: 100%;
  aspect-ratio: 1/0.667;
  border-radius: 20px;
  overflow: hidden;
}
.c-panel-slider-d2 a .img img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transform: scale(1);
  transition: transform 0.2s ease-out;
}
.c-panel-slider-d2 a .txt {
  position: relative;
  min-height: 172px;
  margin-top: 10px;
  padding: 26px 9% 22px;
  border-radius: 20px;
  background-color: #fff;
  transform: translateY(0);
  transition: transform 0.2s ease-out;
}
.c-panel-slider-d2 a .txt:has(.c-module-tag-d2) {
  min-height: 200px;
}
.c-panel-slider-d2 a .txt::after {
  content: "";
  display: block;
  position: absolute;
  right: 16px;
  bottom: 16px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  opacity: 0;
  transform: translateX(-100%);
  transition: opacity 0.2s ease-out, transform 0.2s ease-out;
}
.c-panel-slider-d2 a .txt .c-module-tag-d2 {
  margin-bottom: 12px;
}
.c-panel-slider-d2 a .txt p {
  display: -webkit-box;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  overflow: hidden;
}
.c-panel-slider-d2 a:hover .img img, .c-panel-slider-d2 a:active .img img {
  transform: scale(1.05);
}
.c-panel-slider-d2 a:hover .txt, .c-panel-slider-d2 a:active .txt {
  transform: translateY(-5px);
}
.c-panel-slider-d2 a:hover .txt::after, .c-panel-slider-d2 a:active .txt::after {
  opacity: 1;
  transform: translateX(0);
}

@media screen and (max-width: 767.9px) {
  .c-panel-slider-d2 {
    margin-top: 21vw;
    padding: 21vw 0;
  }
  .c-panel-slider-d2.wide {
    padding: 21vw 0;
  }
  .c-panel-slider-d2.wide a {
    width: 288px;
  }
  .c-panel-slider-d2.wide a .txt p {
    font-size: 1.6rem;
  }
}
@media (hover: none) {
  .c-panel-slider-d2 a .img img {
    transform: none;
    transition: none;
  }
  .c-panel-slider-d2 a .txt {
    transform: none;
    transition: none;
  }
  .c-panel-slider-d2 a .txt::after {
    opacity: 1;
    transform: translateX(0);
  }
  .c-panel-slider-d2 a:hover .img img, .c-panel-slider-d2 a:active .img img {
    transform: none;
  }
  .c-panel-slider-d2 a:hover .txt, .c-panel-slider-d2 a:active .txt {
    transform: none;
  }
  .c-panel-slider-d2 a:hover .txt::after, .c-panel-slider-d2 a:active .txt::after {
    opacity: 1;
    transform: translateX(0);
  }
}
/* ---- DAY2: controls ---- */
.c-panel-slider-d2 .controls {
  margin-top: 60px;
  text-align: center;
}
.c-panel-slider-d2 .controls .inner {
  display: inline-flex;
  align-items: center;
  position: relative;
  height: 50px;
  padding: 0 86px;
}
.c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page {
  display: block;
  position: relative;
  width: 16px;
  height: 24px;
}
.c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page::after {
  content: "";
  display: block;
  position: absolute;
  left: 6px;
  top: 7px;
  width: 5px;
  height: 10px;
  background-color: rgba(255, 255, 255, 0.3);
  transform: skewX(-30deg);
  transition: background-color 0.2s;
}
.c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page.is-active::after {
  background-color: #fff;
}
.c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page:active::after {
  background-color: #fff;
}
.c-panel-slider-d2 .controls .splide__arrows {
  display: flex;
  justify-content: space-between;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
}
.c-panel-slider-d2 .controls .splide__arrows button {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.3);
  overflow: hidden;
  text-indent: -400px;
  transition: background-color 0.2s;
}
.c-panel-slider-d2 .controls .splide__arrows button::after {
  content: "";
  display: block;
  position: absolute;
  width: 16px;
  height: 12px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  background-size: 16px 12px;
}
.c-panel-slider-d2 .controls .splide__arrows button.splide__arrow--prev {
  transform: rotate(180deg);
}
.c-panel-slider-d2 .controls .splide__arrows button:hover, .c-panel-slider-d2 .controls .splide__arrows button:active {
  background-color: #fff;
}
.c-panel-slider-d2 .controls .splide__toggle {
  display: block;
  width: 24px;
  height: 24px;
  margin-left: 8px;
}
.c-panel-slider-d2 .controls .splide__toggle span {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -400px;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-panel-slider-d2 .controls .splide__toggle span.splide__toggle__play {
  display: block;
}
.c-panel-slider-d2 .controls .splide__toggle span.splide__toggle__play::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  top: calc(50% - 7px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 0 7px 9px;
  border-color: transparent transparent transparent rgba(255, 255, 255, 0.3);
}
.c-panel-slider-d2 .controls .splide__toggle span.splide__toggle__pause {
  display: none;
}
.c-panel-slider-d2 .controls .splide__toggle span.splide__toggle__pause::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 4px);
  top: calc(50% - 6px);
  width: 4px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.3);
}
.c-panel-slider-d2 .controls .splide__toggle span.splide__toggle__pause::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 3px);
  top: calc(50% - 6px);
  width: 4px;
  height: 12px;
  background-color: rgba(255, 255, 255, 0.3);
}
.c-panel-slider-d2 .controls .splide__toggle span:hover, .c-panel-slider-d2 .controls .splide__toggle span:active {
  opacity: 0.25;
}
.c-panel-slider-d2 .controls .splide__toggle.is-active span.splide__toggle__play {
  display: none;
}
.c-panel-slider-d2 .controls .splide__toggle.is-active span.splide__toggle__pause {
  display: block;
}

@media screen and (max-width: 767.9px) {
  .c-panel-slider-d2 .controls {
    margin-top: 32px;
  }
  .c-panel-slider-d2 .controls .inner {
    padding: 0 70px;
  }
  .c-panel-slider-d2 .controls .splide__toggle span:hover, .c-panel-slider-d2 .controls .splide__toggle span:active {
    opacity: 1;
  }
}
@media (hover: none) {
  .c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page.is-active::after {
    background-color: #fff !important;
  }
  .c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider-d2 .controls .splide__pagination .splide__pagination__page:active::after {
    background-color: rgba(255, 255, 255, 0.3);
  }
  .c-panel-slider-d2 .controls .splide__arrows button:hover, .c-panel-slider-d2 .controls .splide__arrows button:active {
    background-color: rgba(255, 255, 255, 0.3);
  }
}
/* ---- DAY2: pc: col-4 / sp: slider ---- */
@media screen and (min-width: 768px) {
  .c-panel-slider-responsive-d2.is-initialized:not(.is-active) .splide__list {
    display: flex;
    flex-wrap: wrap;
    gap: min(2.8vw, 40px);
    height: auto;
  }
  .c-panel-slider-responsive-d2.is-initialized:not(.is-active) .splide__list .splide__slide {
    width: max(25% - 2.102vw, 25% - 30px);
  }
  .c-panel-slider-responsive-d2 .controls {
    display: none;
  }
}
@media screen and (max-width: 767.9px) {
  .c-panel-slider-responsive-d2 {
    margin: 0 -5vw;
  }
  .c-panel-slider-responsive-d2 .controls {
    margin-top: 32px;
    text-align: center;
  }
  .c-panel-slider-responsive-d2 .controls .inner {
    display: inline-flex;
    align-items: center;
    position: relative;
    height: 50px;
    padding: 0 70px;
  }
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page {
    display: block;
    position: relative;
    width: 16px;
    height: 24px;
  }
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page::after {
    content: "";
    display: block;
    position: absolute;
    left: 6px;
    top: 7px;
    width: 5px;
    height: 10px;
    background-color: #2e2e2e;
    transform: skewX(-30deg);
    transition: background-color 0.2s;
  }
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page.is-active::after {
    background-color: #d9d9d9;
  }
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page:active::after {
    background-color: #d9d9d9;
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows {
    display: flex;
    justify-content: space-between;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows button {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #2e2e2e;
    overflow: hidden;
    text-indent: -400px;
    transition: background-color 0.2s;
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows button::after {
    content: "";
    display: block;
    position: absolute;
    width: 16px;
    height: 12px;
    background: url(../images/icon_arrow_wht.svg) center no-repeat;
    background-size: 16px 12px;
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows button.splide__arrow--prev {
    transform: rotate(180deg);
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows button:hover, .c-panel-slider-responsive-d2 .controls .splide__arrows button:active {
    background-color: #d9d9d9;
  }
}
@media (hover: none) {
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page.is-active::after {
    background-color: #d9d9d9 !important;
  }
  .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page:hover::after, .c-panel-slider-responsive-d2 .controls .splide__pagination .splide__pagination__page:active::after {
    background-color: #2e2e2e;
  }
  .c-panel-slider-responsive-d2 .controls .splide__arrows button:hover, .c-panel-slider-responsive-d2 .controls .splide__arrows button:active {
    background-color: #2e2e2e;
  }
}
/*
--------------------------------
	search
--------------------------------
*/
/* ---- header ---- */
.c-search-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 70px 0 !important;
}
.c-search-header h2 {
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (max-width: 767.9px) {
  .c-search-header {
    margin: 17.1vw 0 10.7vw !important;
  }
  .c-search-header h2 {
    font-size: 2.4rem;
  }
  .page-heading-lv3 ~ .body-container .c-search-header {
    margin-top: 10.7vw !important;
  }
}
/* ---- modal open button ---- */
.c-search-header button {
  display: inline-block;
  position: relative;
  padding: 13px 50px 11px 18px;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  transition: background-color 0.2s;
}
.c-search-header button::after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: calc(50% - 11px);
  width: 24px;
  height: 24px;
  background-image: url(../images/icon_modal.svg);
  background-repeat: no-repeat;
  background-size: 24px;
}
.c-search-header button:hover, .c-search-header button:active {
  background-color: #eaeaea;
}

@media screen and (max-width: 767.9px) {
  .c-search-header button {
    display: block;
    width: 43px;
    height: 44px;
    padding: 0;
    background-color: transparent;
    background-image: url(../images/btn_filter.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    border-style: none;
    border-radius: 0;
    overflow: hidden;
    text-indent: -400px;
    transition: none;
  }
  .c-search-header button::after {
    content: none;
  }
  .c-search-header button:hover, .c-search-header button:active {
    background-color: transparent;
  }
}
/* ---- mordal ---- */
.search-modal {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3001;
  width: 100%;
  height: 100vh;
  padding: 5vw;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease-out;
}
.search-modal.is-open {
  opacity: 1;
  transition: opacity 0.25s ease-out;
}
.search-modal.is-open .inner {
  pointer-events: auto;
}
.search-modal .inner {
  position: relative;
  width: 100%;
  max-width: 1104px;
  max-height: calc(100vh - 5vw * 2);
  padding: 50px 0 30px;
  border-radius: 4px;
  background-color: #f4f4f4;
}
.search-modal .head {
  display: none;
}
.search-modal .anchor-head {
  display: flex;
  height: 50px;
  padding: 0 4.5%;
}
.search-modal .anchor-head li {
  margin-right: 30px;
}
.search-modal .anchor-head + .scroll {
  max-height: calc(100vh - 10vw - 240px);
}
.search-modal .scroll {
  position: relative;
  margin: 0 4.5%;
  overflow-y: auto;
  max-height: calc(100vh - 10vw - 190px);
}
.search-modal .scroll::-webkit-scrollbar {
  width: 8px;
}
.search-modal .scroll::-webkit-scrollbar-track {
  background-color: transparent;
}
.search-modal .scroll::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background-color: #2e2e2e;
}
.search-modal .category-head {
  margin: 60px 0 24px;
  padding-top: 60px;
  border-top: 1px solid #d9d9d9;
  font-size: 2.4rem;
  font-weight: 700;
}
.search-modal .category-head:first-child {
  margin: 40px 0 32px;
  padding-top: 0;
  border-top-style: none;
}
.search-modal .category-head button {
  display: none;
}
.search-modal .category-body:last-child {
  padding-bottom: 60px;
}
.search-modal .category-body > ul:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom-style: none;
}
.search-modal .category-body li {
  width: 20%;
  padding-right: 20px;
}
.search-modal dt {
  margin-top: 32px;
  font-size: 2rem;
  font-weight: 700;
}
.search-modal dt:first-child {
  margin-top: 0;
}
.search-modal dt button {
  display: none;
}
.search-modal dd {
  margin-top: 20px;
}
.search-modal dd:last-child ul {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom-style: none;
}
.search-modal .scroll ul {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 32px;
  padding-bottom: 25px;
  border-bottom: 1px solid #d9d9d9;
}
.search-modal .scroll ul#js-year li {
  width: 96px;
}
.search-modal .scroll ul#js-month li {
  padding-right: 20px;
}
.search-modal .scroll ul#js-category li {
  width: 190px;
  padding-right: 20px;
}
.search-modal .scroll ul a {
  position: relative;
  display: inline-block;
  padding: 8px 25px 6px 0;
  color: #2e2e2e;
  font-size: 1.3rem;
  line-height: 1.6;
}
.search-modal .scroll ul a::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 3px;
  width: 100%;
  height: 1px;
  background-color: #e2e2e2;
}
.search-modal .scroll ul a::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 6px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.search-modal .scroll ul a:hover, .search-modal .scroll ul a:active {
  color: #2e2e2e;
}
.search-modal .scroll ul a:hover::after, .search-modal .scroll ul a:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.search-modal .button {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  padding: 30px 4.5% 0;
  border-top: 1px solid #d9d9d9;
}
.search-modal .button .btn-close {
  display: none;
}
.search-modal .button .btn-reset {
  display: block;
  padding: 2px 0 0 24px;
  background-image: url(../images/icon_reset.svg);
  background-repeat: no-repeat;
  background-size: 16px;
  background-position: 0 50%;
  color: #767676;
  font-size: 1.5rem;
}
.search-modal .button .btn-submit {
  display: block;
  width: 336px;
  padding: 16px;
  border: 1px solid #2e2e2e;
  border-radius: 4px;
  background-color: #2e2e2e;
  color: #fff;
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
  transition: background-color 0.2s ease-out, color 0.2s ease-out;
}
.search-modal .button .btn-submit:hover, .search-modal .button .btn-submit:active, .search-modal .button .btn-submit:focus-visible {
  background-color: #fff;
  color: #2e2e2e;
}
.search-modal .btn-close-pc {
  display: block;
  position: absolute;
  right: -15px;
  top: -15px;
  width: 40px;
  height: 40px;
  border: 1px solid #2e2e2e;
  border-radius: 50%;
  background-color: #fff;
  overflow: hidden;
  text-indent: -400px;
  transition: background-color 0.2s;
}
.search-modal .btn-close-pc::before {
  content: "";
  display: block;
  position: absolute;
  left: 13px;
  top: 18px;
  width: 12px;
  height: 2px;
  background-color: #2e2e2e;
  transform: rotate(45deg);
  transition: background-color 0.2s;
}
.search-modal .btn-close-pc::after {
  content: "";
  display: block;
  position: absolute;
  left: 13px;
  top: 18px;
  width: 12px;
  height: 2px;
  background-color: #2e2e2e;
  transform: rotate(-45deg);
  transition: background-color 0.2s;
}
.search-modal .btn-close-pc:hover, .search-modal .btn-close-pc:active, .search-modal .btn-close-pc:focus-visible {
  background-color: #2e2e2e;
}
.search-modal .btn-close-pc:hover::before, .search-modal .btn-close-pc:active::before, .search-modal .btn-close-pc:focus-visible::before {
  background-color: #fff;
}
.search-modal .btn-close-pc:hover::after, .search-modal .btn-close-pc:active::after, .search-modal .btn-close-pc:focus-visible::after {
  background-color: #fff;
}

@media screen and (min-width: 768px) {
  .search-modal .category-body, .search-modal dd {
    height: auto !important;
  }
}
@media screen and (max-width: 767.9px) {
  .search-modal {
    display: block;
    height: 100dvh;
    padding: 0;
  }
  .search-modal .inner {
    max-width: none;
    height: 100%;
    max-height: none;
    padding: 65px 0 87px;
    border-radius: 0;
  }
  .search-modal .head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 65px;
    padding-left: calc(5vw - 5px);
    background-color: #fff;
  }
  .search-modal .head p {
    padding: 10px 0 10px 37px;
    background-image: url(../images/icon_modal.svg);
    background-repeat: no-repeat;
    background-size: 36px;
    background-position: 0 50%;
    font-size: 2rem;
    font-weight: 700;
  }
  .search-modal .head button {
    display: inline-block;
    height: 65px;
    padding: 0 5vw 0 calc(5vw + 24px);
    background-image: url(../images/icon_reset.svg);
    background-repeat: no-repeat;
    background-size: 16px;
    background-position: 5vw 50%;
    color: #767676;
    font-size: 1.5rem;
    line-height: 64px;
  }
  .search-modal .anchor-head {
    display: none;
  }
  .search-modal .anchor-head + .scroll {
    max-height: calc(100dvh - 152px);
  }
  .search-modal .scroll {
    max-height: calc(100dvh - 152px);
    margin: 0;
  }
  .search-modal .category-head {
    display: block;
    position: relative;
    margin: 0 !important;
    padding: 22px calc(5vw * 2 + 12px) 22px 5vw !important;
    border-top-style: none;
    font-size: 1.8rem;
  }
  .search-modal .category-body {
    height: 0;
    border-bottom: 1px solid #d9d9d9;
    overflow: hidden;
  }
  .search-modal .category-body:last-child {
    padding-bottom: 0;
  }
  .search-modal .category-body > ul {
    margin-bottom: 0;
    padding-bottom: 20px;
    border-bottom-style: none;
  }
  .search-modal .category-body > ul:last-child {
    padding-bottom: 20px;
  }
  .search-modal .category-body li {
    width: 50%;
    padding-right: 15px;
  }
  .search-modal .category-body dt {
    padding: 16px 5vw 8px 5vw;
    border-top-style: none;
    font-size: 1.6rem;
  }
  .search-modal .category-body dd {
    height: auto;
    border-bottom-style: none;
  }
  .search-modal .category-body dd:last-child {
    padding-bottom: 20px;
  }
  .search-modal #job + .category-body {
    transition: height 0.7s ease-in-out;
  }
  .search-modal #business + .category-body {
    transition: height 0.25s ease-in-out;
  }
  .search-modal #employ + .category-body {
    transition: height 0.2s ease-in-out;
  }
  .search-modal dt {
    position: relative;
    padding: 22px calc(5vw * 2 + 12px) 22px 5vw;
    font-size: 1.8rem;
  }
  .search-modal dt:nth-child(n+2) {
    margin-top: 0;
    padding-top: 23px;
    border-top-style: none;
  }
  .search-modal dd {
    height: 0;
    margin-top: 0;
    border-bottom: 1px solid #d9d9d9;
    overflow: hidden;
    transition: height 0.2s ease-out;
  }
  .search-modal .category-head button,
  .search-modal dt button {
    display: block;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    text-align: left;
    text-indent: -400px;
  }
  .search-modal .category-head button::before,
  .search-modal dt button::before {
    content: "";
    display: block;
    position: absolute;
    right: 5vw;
    top: calc(50% - 1px);
    width: 14px;
    height: 2px;
    background-color: #2e2e2e;
  }
  .search-modal .category-head button::after,
  .search-modal dt button::after {
    content: "";
    display: block;
    position: absolute;
    right: 5vw;
    top: calc(50% - 1px);
    width: 14px;
    height: 2px;
    background-color: #2e2e2e;
    opacity: 1;
    transform: rotate(-90deg);
    transition: opacity 0.2s, transform 0.2s;
  }
  .search-modal .category-head button.is-open::after,
  .search-modal dt button.is-open::after {
    opacity: 0;
    transform: rotate(0);
  }
  .search-modal .scroll ul {
    margin-bottom: 0;
    padding: 0 5vw 20px;
    border-bottom-style: none;
  }
  .search-modal .scroll ul:last-child {
    padding-bottom: 20px;
  }
  .search-modal .scroll ul#js-year li, .search-modal .scroll ul#js-year-all li, .search-modal .scroll ul#js-month li {
    width: 25%;
    padding-right: 0;
  }
  .search-modal .scroll ul#js-category li {
    width: 50%;
    padding-right: 15px;
  }
  .search-modal .button {
    justify-content: space-between;
    align-items: center;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 3;
    width: 100%;
    height: 88px;
    margin-top: 0;
    padding: 0 5vw;
    border-top: 1px solid #d9d9d9;
    background-color: #f4f4f4;
  }
  .search-modal .button .btn-close {
    display: block;
    width: calc((100% - 5vw) / 2);
    padding: 16px;
    border: 1px solid #ebebeb;
    background-color: #fff;
    color: #2e2e2e;
    font-size: 1.5rem;
    font-weight: bold;
    transition: none;
  }
  .search-modal .button .btn-close:hover, .search-modal .button .btn-close:active {
    background-color: #fff;
    color: #2e2e2e;
  }
  .search-modal .button .btn-reset {
    display: none;
  }
  .search-modal .button .btn-submit {
    display: block;
    width: calc((100% - 5vw) / 2);
    padding: 16px;
    border: 1px solid #2e2e2e;
    background-color: #2e2e2e;
    color: #fff;
    font-size: 1.5rem;
    font-weight: bold;
    transition: none;
  }
  .search-modal .button .btn-submit:hover, .search-modal .button .btn-submit:active {
    background-color: #2e2e2e;
    color: #fff;
  }
  .search-modal .btn-close-pc {
    display: none;
  }
}
@media (hover: none) {
  .search-modal .scroll::-webkit-scrollbar {
    display: none;
  }
  .search-modal .scroll::-webkit-scrollbar-track {
    display: none;
  }
  .search-modal .scroll::-webkit-scrollbar-thumb {
    display: none;
  }
}
/* ---- mordal bg ---- */
.bg-search-modal {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3000;
  width: 100%;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.3);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.12s ease-out;
}
.bg-search-modal.is-open {
  opacity: 1;
  pointer-events: auto;
  transition: opacity 0.16s ease-out;
}

@media screen and (max-width: 767.9px) {
  .bg-search-modal {
    display: none;
  }
}
/* ---- radio button ---- */
.search-modal input[type=radio],
.c-radio {
  display: none;
}
.search-modal input[type=radio] + label,
.c-radio + label {
  position: relative;
  display: inline-block;
  padding: 8px 0 6px 24px;
  font-size: 1.3rem;
  letter-spacing: normal;
  line-height: 1.6;
  cursor: pointer;
}
.search-modal input[type=radio] + label::before,
.c-radio + label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #d9d9d9;
  border-radius: 50%;
  background-color: #fff;
}
.search-modal input[type=radio] + label::after,
.c-radio + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 5px);
  left: 4px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #fff;
  transform: scale(0.5);
  transition: background-color 0.2s, transform 0.2s;
}
.search-modal input[type=radio] + label:focus-visible,
.c-radio + label:focus-visible {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}
.search-modal input[type=radio]:checked + label::after,
.c-radio:checked + label::after {
  background-color: #2e2e2e;
  transform: scale(1);
}

@media screen and (max-width: 767.9px) {
  .search-modal input[type=radio] + label {
    padding: 11px 0 9px 26px;
  }
  .search-modal input[type=radio] + label::before {
    top: 11px;
  }
  .search-modal input[type=radio] + label::after {
    top: 15px;
  }
}
/* ---- checkbox ---- */
.search-modal input[type=checkbox],
.c-checkbox {
  display: none;
}
.search-modal input[type=checkbox] + label,
.c-checkbox + label {
  position: relative;
  display: inline-block;
  padding: 9px 0 6px 24px;
  font-size: 1.3rem;
  letter-spacing: normal;
  line-height: 1.6;
  cursor: pointer;
}
.search-modal input[type=checkbox] + label::before,
.c-checkbox + label::before {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 9px);
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  transition: border-color 0.12s, background-color 0.12s;
}
.search-modal input[type=checkbox] + label::after,
.c-checkbox + label::after {
  content: "";
  display: block;
  position: absolute;
  top: calc(50% - 4px);
  left: 4px;
  width: 10px;
  height: 5px;
  border-left: 1px solid #fff;
  border-bottom: 1px solid #fff;
  transform: rotate(-45deg);
}
.search-modal input[type=checkbox] + label:focus-visible,
.c-checkbox + label:focus-visible {
  outline: auto;
  outline: auto -webkit-focus-ring-color;
}
.search-modal input[type=checkbox]:checked + label::before,
.c-checkbox:checked + label::before {
  border-color: #2e2e2e;
  background-color: #2e2e2e;
}

@media screen and (max-width: 767.9px) {
  .search-modal input[type=checkbox] + label {
    padding: 11px 0 9px 26px;
  }
}
/*
--------------------------------
	view more
--------------------------------
*/
/* ---- list ---- */
.c-viewmore-list > * {
  display: none;
}
.c-viewmore-list > *.is-shown {
  display: block;
  animation: viewmore-fadeup 0.8s cubic-bezier(0.16, 0.64, 0.48, 1);
}

@keyframes viewmore-fadeup {
  0% {
    transform: translateY(150px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* ---- button ---- */
.c-viewmore-button {
  display: block;
  width: 100%;
  height: 66px;
  margin-top: 60px;
  overflow: hidden;
  border-radius: 12px;
  background-color: #f4f4f4;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 65px;
  text-align: center;
  opacity: 1;
  transform: scale(1);
  transition: background-color 0.2s ease-out, color 0.2s ease-out, opacity 0.2s 0.2s, height 0.2s 0s, margin-top 0.2s 0s;
}
.bg-gray .c-viewmore-button {
  background-color: #fff;
}
.c-viewmore-button.is-hidden {
  height: 0;
  margin-top: 0;
  opacity: 0;
  transition: opacity 0.4s 0s, height 0.4s 0.4s, margin-top 0.4s 0.4s;
}
.c-viewmore-button span {
  display: inline-block;
  position: relative;
  padding-right: 25px;
}
.c-viewmore-button span::before {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  width: 14px;
  height: 2px;
  background-color: #2e2e2e;
  transition: background-color 0.2s ease-out;
}
.c-viewmore-button span::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 1px);
  width: 14px;
  height: 2px;
  background-color: #2e2e2e;
  transform: rotate(90deg);
  transition: background-color 0.2s ease-out;
}
.c-viewmore-button:hover, .c-viewmore-button:active {
  background-color: #2e2e2e;
  color: #fff;
}
.c-viewmore-button:hover span::before, .c-viewmore-button:active span::before {
  background-color: #fff;
}
.c-viewmore-button:hover span::after, .c-viewmore-button:active span::after {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-viewmore-button {
    margin-top: 10.7vw;
    transition: none;
  }
  .c-viewmore-button span::before {
    transition: none;
  }
  .c-viewmore-button span::after {
    transition: none;
  }
  .c-viewmore-button:hover, .c-viewmore-button:active {
    background-color: #f4f4f4;
    color: #2e2e2e;
  }
  .c-viewmore-button:hover span::before, .c-viewmore-button:active span::before {
    background-color: #2e2e2e;
  }
  .c-viewmore-button:hover span::after, .c-viewmore-button:active span::after {
    background-color: #2e2e2e;
  }
}
/*
--------------------------------
	tag
--------------------------------
*/
/* ---- tag list ---- */
.c-tag-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.c-tag-list a, .c-tag-list button {
  display: inline-block;
  padding: 5px 8px 3px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.c-tag-list a:hover, .c-tag-list a:active, .c-tag-list button:hover, .c-tag-list button:active {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-tag-list a span, .c-tag-list button span {
  margin-left: 0.3em;
  color: #bfbfbf;
  font-weight: 400;
  letter-spacing: normal;
}
.c-tag-list li > span {
  display: inline-block;
  padding: 5px 8px 3px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1rem;
  font-weight: 700;
  white-space: nowrap;
}
.c-tag-list.large {
  gap: 8px;
}
.c-tag-list.large a, .c-tag-list.large button {
  padding: 12px 24px 11px;
  font-size: 1.3rem;
  font-weight: 400;
}
.c-tag-list.black a, .c-tag-list.black button {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-tag-list.black a:hover, .c-tag-list.black a:active, .c-tag-list.black button:hover, .c-tag-list.black button:active {
  border: 1px solid #d9d9d9;
  background-color: #fff;
  color: #2e2e2e;
}
.c-tag-list.black li > span {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-tag-list a {
    transition: none;
  }
  .c-tag-list a:hover, .c-tag-list a:active {
    border: 1px solid #d9d9d9;
    background-color: #fff;
    color: #2e2e2e;
  }
  .c-tag-list.large a, .c-tag-list.large button {
    padding: 10px 16px 8px;
    font-size: 1.2rem;
  }
  .c-tag-list.black a:hover, .c-tag-list.black a:active, .c-tag-list.black button:hover, .c-tag-list.black button:active {
    border: 1px solid #2e2e2e;
    background-color: #2e2e2e;
    color: #fff;
  }
}
/* ---- module tag ---- */
.c-module-tag {
  display: flex;
  align-items: center;
  color: #2e2e2e;
}
.c-module-tag span:first-child {
  font-size: 1.4rem;
}
.c-module-tag span:nth-child(n+2) {
  display: block;
  font-size: 1.2rem;
}
.c-module-tag span:nth-child(n+2)::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}

/* ---- DAY2: module tag ---- */
.c-module-tag-d2 {
  display: flex;
  align-items: center;
  color: #2e2e2e;
  font-size: 1.3rem;
}
.c-module-tag-d2 *:first-child {
  display: block;
}
.c-module-tag-d2 *:nth-child(n+2) {
  display: block;
}
.c-module-tag-d2 *:nth-child(n+2)::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}

/*
--------------------------------
	tab
--------------------------------
*/
/* ---- tab ---- */
.c-tab-tab,
.c-tab-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 50px;
}
.body-inner > .c-tab-tab,
.body-inner > .c-tab-list {
  margin-top: 70px !important;
}
.c-tab-tab.center,
.c-tab-list.center {
  justify-content: center;
  text-align: left;
}
.c-tab-tab.right,
.c-tab-list.right {
  justify-content: flex-end;
  text-align: left;
}
.c-tab-tab a, .c-tab-tab button,
.c-tab-list a,
.c-tab-list button {
  display: inline-block;
  padding: 12px 24px 11px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.3rem;
  font-weight: 700;
  white-space: nowrap;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.c-tab-tab a:hover, .c-tab-tab a:active, .c-tab-tab button:hover, .c-tab-tab button:active,
.c-tab-list a:hover,
.c-tab-list a:active,
.c-tab-list button:hover,
.c-tab-list button:active {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-tab-tab a[aria-selected=true], .c-tab-tab a.is-current, .c-tab-tab button[aria-selected=true], .c-tab-tab button.is-current,
.c-tab-list a[aria-selected=true],
.c-tab-list a.is-current,
.c-tab-list button[aria-selected=true],
.c-tab-list button.is-current {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-tab-tab + .c-tab-list,
.c-tab-list + .c-tab-list {
  margin-top: 8px;
}
.c-tab-tab.thin a, .c-tab-tab.thin button,
.c-tab-list.thin a,
.c-tab-list.thin button {
  padding: 12px 16px 11px;
  border: 1px solid #eee;
  font-weight: 400;
}
.c-tab-tab.bg-gray a, .c-tab-tab.bg-gray button,
.c-tab-list.bg-gray a,
.c-tab-list.bg-gray button {
  background-color: #f4f4f4;
}
.c-tab-tab.bg-gray a:hover, .c-tab-tab.bg-gray a:active, .c-tab-tab.bg-gray button:hover, .c-tab-tab.bg-gray button:active,
.c-tab-list.bg-gray a:hover,
.c-tab-list.bg-gray a:active,
.c-tab-list.bg-gray button:hover,
.c-tab-list.bg-gray button:active {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}
.c-tab-tab.bg-gray a[aria-selected=true], .c-tab-tab.bg-gray a.is-current, .c-tab-tab.bg-gray button[aria-selected=true], .c-tab-tab.bg-gray button.is-current,
.c-tab-list.bg-gray a[aria-selected=true],
.c-tab-list.bg-gray a.is-current,
.c-tab-list.bg-gray button[aria-selected=true],
.c-tab-list.bg-gray button.is-current {
  border: 1px solid #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-tab-tab,
  .c-tab-list {
    margin-top: 8.5vw;
  }
  .body-inner > .c-tab-tab,
  .body-inner > .c-tab-list {
    margin-top: 8.5vw !important;
  }
  .c-tab-tab.center, .c-tab-tab.right,
  .c-tab-list.center,
  .c-tab-list.right {
    justify-content: flex-start;
  }
  .c-tab-tab a, .c-tab-tab button,
  .c-tab-list a,
  .c-tab-list button {
    padding: 11px 24px 10px;
    font-size: 1.2rem;
  }
  .c-tab-tab.thin a, .c-tab-tab.thin button,
  .c-tab-list.thin a,
  .c-tab-list.thin button {
    min-width: 92px;
    padding: 10px 12px 9px;
    text-align: center;
  }
  .c-tab-tab.bg-gray a, .c-tab-tab.bg-gray button,
  .c-tab-list.bg-gray a,
  .c-tab-list.bg-gray button {
    background-color: #f4f4f4;
  }
  .c-tab-tab.bg-gray a:hover, .c-tab-tab.bg-gray a:active, .c-tab-tab.bg-gray button:hover, .c-tab-tab.bg-gray button:active,
  .c-tab-list.bg-gray a:hover,
  .c-tab-list.bg-gray a:active,
  .c-tab-list.bg-gray button:hover,
  .c-tab-list.bg-gray button:active {
    border: 1px solid #eee;
    background-color: #f4f4f4;
    color: #2e2e2e;
  }
  .c-tab-tab.bg-gray a[aria-selected=true], .c-tab-tab.bg-gray a.is-current, .c-tab-tab.bg-gray button[aria-selected=true], .c-tab-tab.bg-gray button.is-current,
  .c-tab-list.bg-gray a[aria-selected=true],
  .c-tab-list.bg-gray a.is-current,
  .c-tab-list.bg-gray button[aria-selected=true],
  .c-tab-list.bg-gray button.is-current {
    border: 1px solid #2e2e2e;
    background-color: #2e2e2e;
    color: #fff;
  }
}
/*
--------------------------------
	tab navigation
--------------------------------
*/
/* ---- tab ---- */
.c-tab-nav {
  display: flex;
  flex-wrap: wrap;
  margin-top: 50px;
  border-radius: 4px;
  overflow: hidden;
}
.c-tab-nav li {
  border-top: 1px solid #d9d9d9;
  border-right: 1px solid #d9d9d9;
  overflow: hidden;
}
.c-tab-nav li:last-child {
  border-right-style: none;
  border-radius: 0 0 4px 0;
}
.c-tab-nav.col-2 li {
  width: 50%;
}
.c-tab-nav.col-2 li:nth-child(-n+2) {
  border-top-style: none;
}
.c-tab-nav.col-2 li:nth-child(2n) {
  border-right-style: none;
}
.c-tab-nav.col-3 li {
  width: 33.3333%;
}
.c-tab-nav.col-3 li:nth-child(-n+3) {
  border-top-style: none;
}
.c-tab-nav.col-3 li:nth-child(3n) {
  border-right-style: none;
}
.c-tab-nav.col-4 li {
  width: 25%;
}
.c-tab-nav.col-4 li:nth-child(-n+4) {
  border-top-style: none;
}
.c-tab-nav.col-4 li:nth-child(4n) {
  border-right-style: none;
}
.c-tab-nav.col-5 li {
  width: 20%;
}
.c-tab-nav.col-5 li:nth-child(-n+5) {
  border-top-style: none;
}
.c-tab-nav.col-5 li:nth-child(5n) {
  border-right-style: none;
}
.c-tab-nav a, .c-tab-nav button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px 20px 18px;
  background-color: #f4f4f4;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.4;
  text-align: center;
  transition: background-color 0.2s, color 0.2s;
}
.c-tab-nav a:hover, .c-tab-nav a:active, .c-tab-nav a.is-current, .c-tab-nav a[aria-selected=true], .c-tab-nav button:hover, .c-tab-nav button:active, .c-tab-nav button.is-current, .c-tab-nav button[aria-selected=true] {
  background-color: #2e2e2e;
  color: #fff;
}
.bg-gray .c-tab-nav a, .bg-gray .c-tab-nav button {
  background-color: #fff;
}
.bg-gray .c-tab-nav a:hover, .bg-gray .c-tab-nav a:active, .bg-gray .c-tab-nav a.is-current, .bg-gray .c-tab-nav a[aria-selected=true], .bg-gray .c-tab-nav button:hover, .bg-gray .c-tab-nav button:active, .bg-gray .c-tab-nav button.is-current, .bg-gray .c-tab-nav button[aria-selected=true] {
  background-color: #2e2e2e;
  color: #fff;
}
.c-tab-nav a:focus-visible, .c-tab-nav button:focus-visible {
    outline: 0;
    box-shadow: inset 0 0 0 2px #007BFF;
}
.c-tab-set .c-tab-nav a, .c-tab-set .c-tab-nav button {
  padding: 20px 20px 17px;
  border-bottom: 1px solid #d9d9d9;
  background-color: #ececec;
  transition: border-color 0.2s, background-color 0.2s, color 0.2s;
}
.c-tab-set .c-tab-nav a:hover, .c-tab-set .c-tab-nav a:active, .c-tab-set .c-tab-nav a.is-current, .c-tab-set .c-tab-nav a[aria-selected=true], .c-tab-set .c-tab-nav button:hover, .c-tab-set .c-tab-nav button:active, .c-tab-set .c-tab-nav button.is-current, .c-tab-set .c-tab-nav button[aria-selected=true] {
  border-bottom-color: #2e2e2e;
  background-color: #2e2e2e;
  color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-tab-nav {
    margin-top: 8.5vw;
  }
  .c-tab-nav a, .c-tab-nav button {
    padding: 20px 10px 18px;
    font-size: 1.5rem;
    transition: none;
  }
  .c-tab-set .c-tab-nav a, .c-tab-set .c-tab-nav button {
    padding: 20px 10px 17px;
  }
  .c-tab-set .c-tab-nav a:hover, .c-tab-set .c-tab-nav a:active, .c-tab-set .c-tab-nav button:hover, .c-tab-set .c-tab-nav button:active {
    border-bottom-color: #d9d9d9;
    background-color: #ececec;
    color: #2e2e2e;
  }
  .c-tab-set .c-tab-nav a.is-current, .c-tab-set .c-tab-nav a[aria-selected=true], .c-tab-set .c-tab-nav button.is-current, .c-tab-set .c-tab-nav button[aria-selected=true] {
    border-bottom-color: #2e2e2e;
    background-color: #2e2e2e;
    color: #fff;
  }
  .c-tab-nav.long-text.col-3 li {
    width: 50%;
  }
  .c-tab-nav.long-text.col-3 li:nth-child(-n+3) {
    border-top-style: solid;
  }
  .c-tab-nav.long-text.col-3 li:nth-child(3n) {
    border-right-style: solid;
  }
  .c-tab-nav.long-text.col-3 li:nth-child(-n+2) {
    border-top-style: none;
  }
  .c-tab-nav.long-text.col-3 li:nth-child(2n) {
    border-right-style: none;
  }
  .c-tab-nav.long-text.col-4 li {
    width: 50%;
  }
  .c-tab-nav.long-text.col-4 li:nth-child(-n+4) {
    border-top-style: solid;
  }
  .c-tab-nav.long-text.col-4 li:nth-child(4n) {
    border-right-style: solid;
  }
  .c-tab-nav.long-text.col-4 li:nth-child(-n+2) {
    border-top-style: none;
  }
  .c-tab-nav.long-text.col-4 li:nth-child(2n) {
    border-right-style: none;
  }
  .c-tab-nav.long-text.col-5 li {
    width: 50%;
  }
  .c-tab-nav.long-text.col-5 li:nth-child(-n+5) {
    border-top-style: solid;
  }
  .c-tab-nav.long-text.col-5 li:nth-child(5n) {
    border-right-style: solid;
  }
  .c-tab-nav.long-text.col-5 li:nth-child(-n+2) {
    border-top-style: none;
  }
  .c-tab-nav.long-text.col-5 li:nth-child(2n) {
    border-right-style: none;
  }
  .c-tab-nav.long-text a, .c-tab-nav.long-text button {
    padding: 14px 10px 12px;
    font-size: 1.3rem;
  }
}
/* ---- panel ---- */
.c-tab-set {
  margin-top: 50px;
}
.c-tab-set .c-tab-nav {
  margin-top: 0;
  border-radius: 4px 4px 0 0;
}
.c-tab-set .panels {
  position: relative;
  height: auto;
  background-color: #f4f4f4;
  overflow: hidden;
  transition: height 0.3s;
}
.c-tab-set .panels .panel {
  display: none;
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  padding: 4% 3.6%;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.08, 0.64, 0.56, 1);
}
.c-tab-set .panels .panel[aria-hidden=false] {
  opacity: 1;
  pointer-events: auto;
}
.c-tab-set .panels .panel > :first-child {
  margin-top: 0 !important;
}
.bg-gray .c-tab-set .panels {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-tab-set {
    margin-top: 8.5vw;
  }
  .c-tab-set .panels .panel {
    padding: 14% 5vw;
  }
}
/*
--------------------------------
	accordion
--------------------------------
*/
/* ---- image ---- */
.c-accordion {
  margin-top: 50px;
  border-bottom: 1px solid #eee;
}
.c-accordion > dt {
  position: relative;
  padding: 28px 72px 28px 35px;
  border-top: 1px solid #eee;
  background-color: rgba(234, 234, 234, 0);
  color: #2e2e2e;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  transition: background-color 0.2s ease-out;
}
.c-accordion > dt:hover {
  background-color: rgb(234, 234, 234);
}
.c-accordion > dt button {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-align: left;
  text-indent: -400px;
}
.c-accordion > dt button::before {
  content: "";
  display: block;
  position: absolute;
  right: 35px;
  top: calc(50% - 1px);
  width: 16px;
  height: 2px;
  background-color: #2e2e2e;
}
.c-accordion > dt button::after {
  content: "";
  display: block;
  position: absolute;
  right: 35px;
  top: calc(50% - 1px);
  width: 16px;
  height: 2px;
  background-color: #2e2e2e;
  opacity: 1;
  transform: rotate(-90deg);
  transition: opacity 0.2s, transform 0.2s;
}
.c-accordion > dt button.is-open::after {
  opacity: 0;
  transform: rotate(0);
}
.c-accordion > dd {
  height: 0;
  background-color: #f4f4f4;
  overflow: hidden;
  transition: height 0.25s ease-out;
}
.c-accordion > dd > .inner {
  padding: 35px;
}
.bg-gray .c-accordion > dd {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-accordion {
    margin-top: 8.5vw;
  }
  .c-accordion > dt {
    padding: 20px calc(5vw + 24px) 20px 5vw;
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    transition: none;
  }
  .c-accordion > dt:hover {
    background-color: rgba(234, 234, 234, 0);
  }
  .c-accordion > dt button::before {
    right: 5vw;
  }
  .c-accordion > dt button::after {
    right: 5vw;
  }
  .c-accordion > dd > .inner {
    padding: 5vw;
  }
}
/*
--------------------------------
	download
--------------------------------
*/
/* ---- thumbnail + text link ---- */
.c-download {
  display: flex;
  align-items: flex-start;
  margin-top: 50px;
}
.c-download img {
  display: block;
  width: 140px;
}
.c-download dl {
  width: calc(100% - 140px);
  padding-left: 30px;
}
.c-download dl dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-download dl dd {
  margin-top: 15px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.c-download dl dd a {
  opacity: 1;
  transition: opacity 0.2s;
}
.c-download dl dd a:hover, .c-download dl dd a:active {
  opacity: 0.7;
}
.c-download dl dd a.pdf::after {
  content: "";
  display: inline-block;
  width: 20px;
  height: 24px;
  margin-left: 0.7em;
  background-image: url(../images/icon_pdf.svg);
  background-size: contain;
  background-position: 50% 50%;
  vertical-align: middle;
  transform: translateY(-2px);
}

@media screen and (max-width: 767.9px) {
  .c-download {
    margin-top: 8.5vw;
  }
  .c-download img {
    width: 30%;
    max-width: 140px;
  }
  .c-download dl {
    width: max(70%, 100% - 140px);
    padding-left: 6%;
  }
  .c-download dl dd a {
    transition: none;
  }
  .c-download dl dd a:hover, .c-download dl dd a:active {
    opacity: 1;
  }
}
/* ---- acrobat reader ---- */
.c-acrobat {
  display: flex;
  margin-top: 50px;
}
.c-acrobat a {
  width: 158px;
}
.c-acrobat p {
  width: calc(100% - 158px);
  margin-top: -3px;
  padding-left: 30px;
  color: #808080;
  font-size: 1.4rem;
  line-height: 1.6;
}
.c-acrobat p a {
  color: #808080;
  text-decoration: underline;
}
.c-acrobat p a:hover, .c-acrobat p a:active {
  text-decoration: none;
}

@media screen and (max-width: 767.9px) {
  .c-acrobat {
    display: block;
    margin-top: 8.5vw;
  }
  .c-acrobat a {
    width: auto;
  }
  .c-acrobat a img {
    width: 158px;
  }
  .c-acrobat p {
    width: auto;
    margin-top: 15px;
    padding-left: 0;
  }
  .c-acrobat p a:hover, .c-acrobat p a:active {
    text-decoration: underline;
  }
}
/*
--------------------------------
	sns
--------------------------------
*/
/* ---- official share button ---- */
.c-official-share-button {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
  margin-top: 50px;
}
.c-official-share-button > li:first-child {
  padding-right: 10px;
  font-size: 1.6rem;
}
.c-official-share-button > li.facebook {
  padding-bottom: 2px;
}
.c-official-share-button > li.pocket {
  padding-top: 2px;
}
.c-official-share-button > li.linkedin {
  padding-bottom: 2px;
}

@media screen and (max-width: 767.9px) {
  .c-official-share-button {
    justify-content: center;
    gap: 15px 10px;
    margin-top: 8.5vw;
  }
}
/* ---- original share button ---- */
.c-share-button {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
  margin-top: 50px;
}
.c-share-button a {
  display: block;
  width: 32px;
  height: 32px;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-share-button a:hover, .c-share-button a:active {
  opacity: 0.6;
}
.c-share-button a img {
  display: block;
  width: 32px;
  height: 32px;
}

@media screen and (max-width: 767.9px) {
  .c-share-button {
    -moz-column-gap: 10px;
         column-gap: 10px;
    margin-top: 8.5vw;
  }
  .c-share-button a {
    width: 45px;
    height: 45px;
    transition: none;
  }
  .c-share-button a:hover, .c-share-button a:active {
    opacity: 1;
  }
  .c-share-button a img {
    width: 45px;
    height: 45px;
  }
}
/* ---- link button ---- */
.c-sns-link {
  margin-top: 50px;
  border-top: 1px solid #eee;
}
.c-sns-link > li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 0;
  border-bottom: 1px solid #eee;
}
.c-sns-link > li > a {
  display: block;
  position: relative;
  padding-right: 27px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
}
.c-sns-link > li > a::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 5px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-sns-link > li > a:lang(en)::after {
  top: calc(50% - 4px);
}
.c-sns-link > li > a:hover::after, .c-sns-link > li > a:active::after {
  animation: arrow-right 0.5s ease-in-out;
}
.c-sns-link > li ul {
  display: flex;
  -moz-column-gap: 24px;
       column-gap: 24px;
}
.c-sns-link > li ul li {
  width: 46px;
}
.c-sns-link > li ul li a {
  opacity: 1;
  transition: opacity 0.2s;
}
.c-sns-link > li ul li a:hover, .c-sns-link > li ul li a:active {
  opacity: 0.7;
}
.c-sns-link > li ul li span {
  filter: grayscale(1) opacity(0.1);
}
.c-sns-link > li ul li img {
  width: 46px;
  height: 46px;
}

@media screen and (max-width: 767.9px) {
  .c-sns-link {
    margin-top: 8.5vw;
  }
  .c-sns-link > li {
    display: block;
    padding: 26px 0 30px;
  }
  .c-sns-link > li > a {
    display: inline-block;
  }
  .c-sns-link > li > a:hover::after, .c-sns-link > li > a:active::after {
    animation: none;
  }
  .c-sns-link > li ul {
    -moz-column-gap: 10px;
         column-gap: 10px;
    margin-top: 13px;
  }
  .c-sns-link > li ul li a {
    transition: none;
  }
  .c-sns-link > li ul li a:hover, .c-sns-link > li ul li a:active {
    opacity: 1;
  }
}
/*
--------------------------------
	q and a
--------------------------------
*/
/* ---- q and a ---- */
.c-faq {
  margin-top: 50px;
}
.c-faq dt {
  position: relative;
  padding: 22px 20px 20px 80px;
  background-color: #f4f4f4;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-faq dt::before {
  content: "Q.";
  position: absolute;
  left: 24px;
  top: 21px;
  font-size: 2rem;
  font-weight: 700;
}
.c-faq dd {
  position: relative;
  padding: 19px 20px 40px 80px;
  background-color: #fff;
}
.c-faq dd::before {
  content: "A.";
  position: absolute;
  left: 24px;
  top: 25px;
  font-size: 2rem;
  font-weight: 700;
}
.c-faq dd > :first-child {
  margin-top: 0;
}
.bg-gray .c-faq dt {
  background-color: #eaeaea;
}

@media screen and (max-width: 767.9px) {
  .c-faq {
    margin-top: 8.5vw;
  }
  .c-faq dt {
    padding: 18px 20px 17px 60px;
  }
  .c-faq dt::before {
    left: 20px;
    top: 17px;
  }
  .c-faq dd {
    padding: 16px 0 40px 60px;
  }
  .c-faq dd::before {
    left: 20px;
    top: 22px;
  }
  .c-faq dd .c-body {
    font-size: 1.6rem;
    letter-spacing: 0.01em;
  }
}
/*
--------------------------------
	dialogue
--------------------------------
*/
/* ---- speech baloon ---- */
.c-dialogue {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 50px;
}
.c-dialogue .img {
  width: 120px;
}
.c-dialogue .img img {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-dialogue p {
  position: relative;
  width: calc(100% - 160px);
  padding: 33px 4.5% 31px;
  border-radius: 4px;
  background-color: #f4f4f4;
  font-size: 1.6rem;
  line-height: 1.6;
}
.c-dialogue p:lang(en) {
  line-height: 1.5;
}
.c-dialogue p::before {
  content: "";
  display: block;
  position: absolute;
  left: -11px;
  top: 32px;
  width: 22px;
  height: 22px;
  background-color: #f4f4f4;
  transform: scale(1, 0.9) rotate(45deg);
}
.c-dialogue.img-right {
  flex-direction: row-reverse;
}
.c-dialogue.img-right p::before {
  left: auto;
  right: -11px;
}
.bg-gray .c-dialogue p {
  background-color: #fff;
}
.bg-gray .c-dialogue p::before {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-dialogue {
    margin-top: 8.5vw;
  }
  .c-dialogue .img {
    width: 60px;
  }
  .c-dialogue .img img {
    width: 60px;
    height: 60px;
  }
  .c-dialogue p {
    width: calc(100% - 80px);
    padding: 18px 5vw 16px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .c-dialogue p::before {
    left: -8px;
    top: 21px;
    width: 16px;
    height: 16px;
  }
  .c-dialogue.img-right p::before {
    left: auto;
    right: -8px;
  }
}

/* ---- a11y update (.c-button.pdf) ---- */
.c-dialogue-a11y {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 50px;
}
.c-dialogue-a11y .img {
  width: 120px;
}
.c-dialogue-a11y .img img {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-dialogue-a11y .text {
  position: relative;
  width: calc(100% - 160px);
  padding: 33px 4.5% 31px;
  border-radius: 4px;
  background-color: #f4f4f4;
  font-size: 1.6rem;
  line-height: 1.6;
}
.c-dialogue-a11y .text > :first-child {
  margin-top: 0px;
}
.c-dialogue-a11y .text:lang(en) {
  line-height: 1.5;
}
.c-dialogue-a11y .text::before {
  content: "";
  display: block;
  position: absolute;
  left: -11px;
  top: 32px;
  width: 22px;
  height: 22px;
  background-color: #f4f4f4;
  transform: scale(1, 0.9) rotate(45deg);
}
.c-dialogue-a11y.img-right {
  flex-direction: row-reverse;
}
.c-dialogue-a11y.img-right .text::before {
  left: auto;
  right: -11px;
}
.bg-gray .c-dialogue-a11y .text {
  background-color: #fff;
}
.bg-gray .c-dialogue-a11y .text::before {
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-dialogue-a11y {
    margin-top: 8.5vw;
  }
  .c-dialogue-a11y .img {
    width: 60px;
  }
  .c-dialogue-a11y .img img {
    width: 60px;
    height: 60px;
  }
  .c-dialogue-a11y .text {
    width: calc(100% - 80px);
    padding: 18px 5vw 16px;
    font-size: 1.4rem;
    line-height: 1.8;
  }
  .c-dialogue-a11y .text::before {
    left: -8px;
    top: 21px;
    width: 16px;
    height: 16px;
  }
  .c-dialogue-a11y.img-right .text::before {
    left: auto;
    right: -8px;
  }
}

/*
--------------------------------
	writer
--------------------------------
*/
/* ---- writer ---- */
.c-writer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 50px;
  padding: 32px 3.6% 35px;
  border: 1px solid #d9d9d9;
  border-radius: 12px;
}
.c-writer.narrow {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}
.c-writer.bg-filled {
  border: 1px solid #f4f4f4;
  background-color: #f4f4f4;
}
.bg-gray .c-writer.bg-filled {
  border: 1px solid #fff;
  background-color: #fff;
}
.c-writer .img {
  width: 120px;
}
.c-writer .img img {
  display: block;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-writer dl {
  width: calc(100% - 155px);
}
.c-writer dl dt {
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-writer dl dt span {
  margin-left: 20px;
  font-size: 1.25rem;
  letter-spacing: normal;
}
.c-writer dl dd {
  margin-top: 16px;
  font-size: 1.6rem;
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .c-writer {
    display: block;
    position: relative;
    margin-top: 8.5vw;
    padding: 20px 5vw 24px;
    border-radius: 12px;
  }
  .c-writer.narrow {
    max-width: 84vw;
  }
  .c-writer .img {
    position: absolute;
    left: 5vw;
    top: 20px;
  }
  .c-writer dl {
    width: auto;
  }
  .c-writer dl dt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 120px;
    padding-left: 135px;
  }
  .c-writer dl dt span {
    display: block;
    margin: 5px 0 0;
    font-size: 1.2rem;
  }
  .c-writer dl dd {
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 1.5;
  }
}
/* ---- DAY2: writer ---- */
.c-writer-d2 {
  margin-top: 50px;
  border-top: 1px solid #EBECEF;
}
.c-writer-d2 li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 0;
  border-bottom: 1px solid #EBECEF;
}
.c-writer-d2 li .img {
  width: 110px;
}
.c-writer-d2 li .img img {
  display: block;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover;
}
.c-writer-d2 li dl {
  width: calc(100% - 156px);
}
.c-writer-d2 li dl dt {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.4;
}
.c-writer-d2 li dl dt span {
  margin-left: 1em;
  font-size: 1.2rem;
  font-weight: 400;
}
.c-writer-d2 li dl dd {
  margin-top: 8px;
  font-size: 1.4rem;
  line-height: 1.5;
}

@media screen and (max-width: 767.9px) {
  .c-writer-d2 {
    margin-top: 8.5vw;
  }
  .c-writer-d2 li {
    position: relative;
  }
  .c-writer-d2 li .img {
    position: absolute;
    left: 0;
    top: 20px;
  }
  .c-writer-d2 li dl {
    width: auto;
  }
  .c-writer-d2 li dl dt {
    display: flex;
    flex-direction: column;
    justify-content: center;
    height: 110px;
    padding-left: 130px;
  }
  .c-writer-d2 li dl dt span {
    display: block;
    margin: 6px 0 0;
    font-size: 1.2rem;
  }
  .c-writer-d2 li dl dd {
    margin-top: 20px;
  }
}
/*
--------------------------------
	history
--------------------------------
*/
/* ---- history ---- */
.c-history {
  width: 100%;
  margin-top: 50px;
  border-top: 1px solid #eee;
}
.c-history th {
  width: 24%;
  padding: 29px 40px 27px 20px;
  border-bottom: 1px solid #eee;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
  vertical-align: middle;
}
.c-history td {
  width: 76%;
  padding: 29px 20px 27px 0;
  border-bottom: 1px solid #eee;
  font-size: 1.6rem;
  line-height: 1.6;
  vertical-align: middle;
}

@media screen and (max-width: 767.9px) {
  .c-history {
    display: block;
    width: auto;
    margin-top: 8.5vw;
  }
  .c-history tbody, .c-history tr {
    display: block;
  }
  .c-history th {
    display: block;
    width: auto;
    padding: 14px 0 8px;
    border-bottom-style: none;
  }
  .c-history td {
    display: block;
    width: auto;
    padding: 0 0 14px;
  }
}
/*
--------------------------------
	schedule
--------------------------------
*/
/* ---- time table ---- */
.c-schedule {
  margin-top: 50px;
  color: #2e2e2e;
}
.c-schedule li {
  display: flex;
}
.c-schedule li .time {
  width: 130px;
  margin-top: -0.35em;
  padding-right: 30px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
.c-schedule li .time:lang(en) {
  margin-top: -0.15em;
  line-height: 1.4;
}
.c-schedule li dl {
  position: relative;
  width: calc(100% - 130px);
  padding: 0 0 30px 30px;
  border-left: 2px solid #2e2e2e;
}
.c-schedule li dl:lang(en) {
  padding-bottom: 40px;
}
.c-schedule li dl::before {
  content: "";
  display: block;
  position: absolute;
  left: -9px;
  top: 0;
  width: 16px;
  height: 16px;
  border: 2px solid #2e2e2e;
  border-radius: 50%;
  background-color: #fff;
}
.c-schedule li dl dt {
  margin-top: -0.35em;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.8;
}
.c-schedule li dl dt:lang(en) {
  margin-top: -0.25em;
  line-height: 1.4;
}
.c-schedule li dl dd {
  margin-top: 0.5em;
  font-size: 1.6rem;
  line-height: 2;
}
.c-schedule li dl dd:lang(en) {
  margin-top: 0.7em;
  line-height: 1.5;
}
.c-schedule li:last-child dl::after {
  content: "";
  display: block;
  position: absolute;
  left: -9px;
  bottom: 0;
  width: 16px;
  height: 16px;
  border: 2px solid #2e2e2e;
  border-radius: 50%;
  background-color: #fff;
}

@media screen and (max-width: 767.9px) {
  .c-schedule {
    margin-top: 8.5vw;
  }
  .c-schedule li .time {
    width: 60px;
    margin-top: -0.3em;
    padding-right: 10px;
    font-size: 1.5rem;
    letter-spacing: normal;
  }
  .c-schedule li .time:lang(en) {
    margin-top: -0.1em;
  }
  .c-schedule li dl {
    width: calc(100% - 60px);
    padding: 0 0 24px 24px;
  }
  .c-schedule li dl:lang(en) {
    padding-bottom: 30px;
  }
  .c-schedule li dl dt {
    margin-top: -0.4em;
  }
  .c-schedule li dl dd {
    margin-top: 0.4em;
    font-size: 1.4rem;
  }
}
/*
--------------------------------
	slideshare
--------------------------------
*/
/* ---- embedded slideshare ---- */
.c-slideshare {
  margin-top: 50px;
  text-align: center;
}
.c-slideshare iframe {
  width: 100%;
  max-width: 600px !important;
  height: auto;
  aspect-ratio: 5/4;
}

@media screen and (max-width: 767.9px) {
  .c-slideshare {
    margin-top: 8.5vw;
  }
}
/*
--------------------------------
	news ticker
--------------------------------
*/
/* ---- news ticker ---- */
.c-news-ticker {
  display: flex;
  align-items: center;
  margin-top: 50px;
  padding: 24px 0 24px 24px;
  border: 1px solid #eee;
  border-radius: 4px;
}
.c-news-ticker .heading {
  width: 90px;
  color: #2e2e2e;
  font-size: 1.6rem;
  font-weight: 700;
}
.c-news-ticker .txt {
  width: calc(100% - 258px);
  overflow: hidden;
  font-size: 1.6rem;
  white-space: nowrap;
}
.c-news-ticker .txt #news-container {
  display: table;
  opacity: 0;
  transition: opacity 0.2s;
}
.c-news-ticker .txt #news-container.is-shown {
  opacity: 1;
}
.c-news-ticker .txt #news-container #news-date {
  display: table-cell;
  padding: 4px 16px 4px 0;
  color: #808080;
}
.c-news-ticker .txt #news-container #news-title {
  display: table-cell;
  padding: 4px 0;
}
.c-news-ticker .txt #news-container #news-title a {
  color: #2e2e2e;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-news-ticker .txt #news-container #news-title a:hover, .c-news-ticker .txt #news-container #news-title a:active {
  color: #2e2e2e;
  opacity: 0.7;
}
.c-news-ticker .txt ul {
  height: 0;
  overflow: hidden;
}
.c-news-ticker .ctrl {
  display: flex;
  width: 134px;
  margin: 0 10px 0 24px;
}
.c-news-ticker .ctrl li {
  width: 40px;
}
.c-news-ticker .ctrl li:first-child {
  margin-right: 10px;
}
.c-news-ticker .ctrl li:last-child {
  margin-left: 4px;
}
.c-news-ticker .ctrl button {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid #2e2e2e;
  border-radius: 50%;
  background-color: #fff;
  overflow: hidden;
  text-indent: -400px;
  transition: background-color 0.2s;
}
.c-news-ticker .ctrl button.prev::after {
  content: "";
  display: block;
  position: absolute;
  left: 13px;
  top: 15px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
  transform: rotate(180deg);
}
.c-news-ticker .ctrl button.next::after {
  content: "";
  display: block;
  position: absolute;
  right: 13px;
  top: 15px;
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.c-news-ticker .ctrl button:hover, .c-news-ticker .ctrl button:active {
  background-color: #2e2e2e;
}
.c-news-ticker .ctrl button:hover.prev::after, .c-news-ticker .ctrl button:active.prev::after {
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
  animation: arrow-left 0.4s ease-in-out;
}
.c-news-ticker .ctrl button:hover.next::after, .c-news-ticker .ctrl button:active.next::after {
  background: url(../images/icon_arrow_wht.svg) center no-repeat;
  animation: arrow-right 0.4s ease-in-out;
}
.c-news-ticker .ctrl button.pause {
  border-style: none;
  background-color: transparent;
  opacity: 1;
  transition: opacity 0.2s;
}
.c-news-ticker .ctrl button.pause:hover, .c-news-ticker .ctrl button.pause:active {
  background-color: transparent;
  opacity: 0.25;
}
.c-news-ticker .ctrl button.pause::before {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  top: calc(50% - 6px);
  width: 2px;
  height: 12px;
  background-color: #2e2e2e;
}
.c-news-ticker .ctrl button.pause::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% + 2px);
  top: calc(50% - 6px);
  width: 2px;
  height: 12px;
  background-color: #2e2e2e;
}
.c-news-ticker .ctrl button.pause.is-paused::before {
  content: none;
}
.c-news-ticker .ctrl button.pause.is-paused::after {
  content: "";
  display: block;
  position: absolute;
  left: calc(50% - 3px);
  top: calc(50% - 6px);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 6px 0 6px 8px;
  border-color: transparent transparent transparent #2e2e2e;
  background-color: transparent;
}

@media screen and (max-width: 767.9px) {
  .c-news-ticker {
    display: block;
    position: relative;
    margin-top: 8.5vw;
    padding: 10px 20px 12px;
  }
  .c-news-ticker .heading {
    display: flex;
    align-items: center;
    width: calc(100% - 168px);
    height: 40px;
  }
  .c-news-ticker .txt {
    width: auto;
    margin-top: 10px;
  }
  .c-news-ticker .txt #news-container #news-date {
    padding-right: 20px;
  }
  .c-news-ticker .ctrl {
    position: absolute;
    right: 0;
    top: 10px;
  }
  .c-news-ticker .ctrl button {
    transition: none;
  }
  .c-news-ticker .ctrl button:hover, .c-news-ticker .ctrl button:active {
    background-color: #fff;
  }
  .c-news-ticker .ctrl button:hover.prev::after, .c-news-ticker .ctrl button:hover.next::after, .c-news-ticker .ctrl button:active.prev::after, .c-news-ticker .ctrl button:active.next::after {
    background-image: url(../images/icon_arrow.svg);
  }
  .c-news-ticker .ctrl button.pause:hover, .c-news-ticker .ctrl button.pause:active {
    background-color: transparent;
    opacity: 1;
  }
}
/*
--------------------------------
	recruit step
--------------------------------
*/
/* ---- recruit step ---- */
.c-recruit-step {
  display: flex;
  margin-top: 50px;
  border-radius: 4px;
  overflow: hidden;
  color: #fff;
}
.c-recruit-step li {
  display: flex;
  flex-direction: column;
  position: relative;
  width: 25%;
  min-height: 276px;
  padding: 35px 30px 25px;
}
.c-recruit-step li::after {
  content: "";
  display: block;
  position: absolute;
  right: -13px;
  top: calc(50% - 13px);
  z-index: 1;
  width: 26px;
  height: 26px;
  transform: scale(1, 0.9) rotate(45deg);
}
.c-recruit-step li:nth-child(1) {
  background-color: #6c6c6c;
}
.c-recruit-step li:nth-child(1)::after {
  background-color: #6c6c6c;
}
.c-recruit-step li:nth-child(2) {
  background-color: #585858;
}
.c-recruit-step li:nth-child(2)::after {
  background-color: #585858;
}
.c-recruit-step li:nth-child(3) {
  background-color: #424242;
}
.c-recruit-step li:nth-child(3)::after {
  background-color: #424242;
}
.c-recruit-step li:nth-child(4) {
  background-color: #2e2e2e;
}
.c-recruit-step li:nth-child(4)::after {
  content: none;
}
.c-recruit-step li .step {
  font-size: 2.6rem;
  font-weight: 700;
  line-height: 1;
}
.c-recruit-step li p {
  margin-top: 32px;
  padding-bottom: 32px;
  font-size: 1.6rem;
  line-height: 1.6;
}
.c-recruit-step li p:lang(en) {
  line-height: 1.5;
}
.c-recruit-step li .date {
  margin-top: auto;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.6;
  text-align: right;
}
.c-recruit-step li .date:lang(en) {
  line-height: 1.5;
}
.c-recruit-step.col-5 li {
  width: 20%;
  min-height: 220px;
  padding: 30px 25px 20px;
}
.c-recruit-step.col-5 li::after {
  right: -11px;
  top: calc(50% - 11px);
  width: 22px;
  height: 22px;
}
.c-recruit-step.col-5 li:nth-child(1) {
  background-color: #808080;
}
.c-recruit-step.col-5 li:nth-child(1)::after {
  background-color: #808080;
}
.c-recruit-step.col-5 li:nth-child(2) {
  background-color: #6c6c6c;
}
.c-recruit-step.col-5 li:nth-child(2)::after {
  background-color: #6c6c6c;
}
.c-recruit-step.col-5 li:nth-child(3) {
  background-color: #585858;
}
.c-recruit-step.col-5 li:nth-child(3)::after {
  background-color: #585858;
}
.c-recruit-step.col-5 li:nth-child(4) {
  background-color: #424242;
}
.c-recruit-step.col-5 li:nth-child(4)::after {
  content: "";
  background-color: #424242;
}
.c-recruit-step.col-5 li:nth-child(5) {
  background-color: #2e2e2e;
}
.c-recruit-step.col-5 li:nth-child(5)::after {
  content: none;
}
.c-recruit-step.col-5 li p {
  margin-top: 24px;
  padding-bottom: 24px;
}

@media screen and (max-width: 767.9px) {
  .c-recruit-step {
    display: block;
    margin-top: 8.5vw;
  }
  .c-recruit-step li {
    width: auto;
    min-height: 140px;
    padding: 5vw;
  }
  .c-recruit-step li::after {
    top: auto;
    right: auto;
    left: calc(50% - 12px);
    bottom: -12px;
    width: 24px;
    height: 24px;
    transform: scale(0.9, 1) rotate(45deg);
  }
  .c-recruit-step li .step {
    font-size: 2.4rem;
  }
  .c-recruit-step li p {
    margin-top: 16px;
    padding-bottom: 8px;
    font-size: 1.5rem;
  }
  .c-recruit-step li .date {
    font-size: 1.4rem;
  }
  .c-recruit-step.col-5 li {
    width: auto;
    min-height: 140px;
    padding: 5vw;
  }
  .c-recruit-step.col-5 li::after {
    top: auto;
    right: auto;
    left: calc(50% - 12px);
    bottom: -12px;
    width: 24px;
    height: 24px;
    transform: scale(0.9, 1) rotate(45deg);
  }
  .c-recruit-step.col-5 li p {
    margin-top: 16px;
    padding-bottom: 8px;
  }
}
/*
--------------------------------
	application download
--------------------------------
*/
/* ---- application download ---- */
.c-app-download {
  margin-top: 50px;
  text-align: center;
}
.c-app-download .inner {
  display: inline-flex;
  align-items: center;
  min-height: 150px;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  overflow: hidden;
  text-align: left;
}
.c-app-download .head {
  display: flex;
  align-items: center;
  -moz-column-gap: 20px;
       column-gap: 20px;
  width: 440px;
  height: 100%;
  padding: 25px;
  background-color: #999;
  color: #fff;
}
.c-app-download .head img {
  display: block;
  width: 100px;
  height: 100px;
}
.c-app-download .head .catch {
  margin-bottom: 0.4em;
  font-size: 1.4rem;
  line-height: 1.3;
}
.c-app-download .head .title {
  font-size: 2.2rem;
  font-weight: 700;
  letter-spacing: normal;
  line-height: 1.3;
}
.c-app-download ul {
  display: flex;
  align-items: center;
  -moz-column-gap: 25px;
       column-gap: 25px;
  height: 100%;
  padding: 25px;
}
.c-app-download ul li {
  display: flex;
  align-items: center;
  -moz-column-gap: 16px;
       column-gap: 16px;
}
.c-app-download ul li dl {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100px;
}
.c-app-download ul li dl dt {
  padding-top: 0.2em;
  font-size: 2rem;
  font-weight: 700;
}
.c-app-download ul li dl dd img {
  display: block;
  width: auto;
  height: 58px;
}
.c-app-download ul li > img {
  display: block;
  width: 100px;
  height: 100px;
}

@media screen and (max-width: 1288px) {
  .c-app-download .inner {
    min-height: calc(8vw + 50px);
  }
  .c-app-download .head {
    width: 35.2vw;
    padding: 25px;
  }
  .c-app-download .head img {
    width: 8vw;
    height: 8vw;
  }
  .c-app-download ul {
    -moz-column-gap: 25px;
         column-gap: 25px;
    padding: 25px;
  }
  .c-app-download ul li dl {
    height: 8vw;
  }
  .c-app-download ul li dl dd img {
    height: 4.64vw;
  }
  .c-app-download ul li > img {
    width: 8vw;
    height: 8vw;
  }
}
@media screen and (max-width: 999px) {
  .c-app-download .inner {
    align-items: stretch;
    width: 620px;
  }
  .c-app-download .head {
    align-items: flex-start;
    -moz-column-gap: 15px;
         column-gap: 15px;
    width: 51.5%;
    height: auto;
    padding: 25px;
  }
  .c-app-download .head img {
    width: 80px;
    height: 80px;
  }
  .c-app-download ul {
    display: block;
    width: 48.5%;
    padding: 25px;
  }
  .c-app-download ul li {
    justify-content: space-between;
    -moz-column-gap: 0;
         column-gap: 0;
    margin-top: 25px;
  }
  .c-app-download ul li:first-child {
    margin-top: 0;
  }
  .c-app-download ul li dl {
    height: 80px;
  }
  .c-app-download ul li dl dd img {
    height: 46.4px;
  }
  .c-app-download ul li > img {
    width: 80px;
    height: 80px;
  }
}
@media screen and (max-width: 699px) {
  .c-app-download .inner {
    display: flex;
    width: 100%;
  }
  .c-app-download .head {
    padding: 20px;
  }
  .c-app-download .head img {
    width: 11.4vw;
    height: 11.4vw;
  }
  .c-app-download .head .title {
    font-size: 1.9rem;
  }
  .c-app-download ul {
    padding: 20px;
  }
  .c-app-download ul li {
    margin-top: 20px;
  }
  .c-app-download ul li dl {
    height: 11.4vw;
  }
  .c-app-download ul li dl dd img {
    height: 6.612vw;
  }
  .c-app-download ul li > img {
    width: 11.4vw;
    height: 11.4vw;
  }
}
@media screen and (max-width: 559px) {
  .c-app-download {
    margin-top: 8.5vw;
    text-align: left;
  }
  .c-app-download .inner {
    display: block;
    min-height: auto;
  }
  .c-app-download .head {
    -moz-column-gap: 5vw;
         column-gap: 5vw;
    width: auto;
    height: auto;
    padding: 5vw;
  }
  .c-app-download .head img {
    width: 80px;
    height: 80px;
  }
  .c-app-download .head .title {
    font-size: 2rem;
  }
  .c-app-download ul {
    -moz-column-gap: 5vw;
         column-gap: 5vw;
    width: auto;
    height: auto;
    padding: 24px 5vw;
  }
  .c-app-download ul li {
    width: 256px;
    margin: 24px auto 0;
  }
  .c-app-download ul li:first-child {
    margin-top: 0;
  }
  .c-app-download ul li dl {
    height: 80px;
  }
  .c-app-download ul li dl dd img {
    height: 46.4px;
  }
  .c-app-download ul li > img {
    width: 80px;
    height: 80px;
  }
}
/*
--------------------------------
	404 not found
--------------------------------
*/
/* ---- 404 ---- */
.c-404 {
  padding: 120px 0 70px;
  font-weight: 700;
  text-align: center;
}
.c-404 span:first-child {
  display: block;
  font-size: 8.6rem;
}
.c-404 span:last-child {
  display: block;
  margin-top: 16px;
  font-size: 3rem;
}
.c-404 + div {
  padding-bottom: 30px;
}

@media screen and (max-width: 767.9px) {
  .c-404 {
    padding: 24vw 0 60px;
  }
  .c-404 + div {
    padding-bottom: 12vw;
  }
}
/*
--------------------------------
	each article pages
--------------------------------
*/
/* ---- header ---- */
.article-header {
  margin-top: 50px !important;
  padding: 35px 0 30px;
  border-top: 1px solid #2e2e2e;
  border-bottom: 1px solid #2e2e2e;
}
.article-header p {
  margin-top: 40px;
  font-size: 2rem;
  line-height: 1.6;
}
.article-header .foot {
  display: flex;
  align-items: center;
  margin-top: 30px;
}
.article-header .foot time {
  font-size: 1.3rem;
}
.article-header .foot .category {
  font-size: 1.2rem;
}
.article-header .foot .category::before {
  content: "｜";
  display: inline-block;
  margin: 0 0.7em;
  transform: scale(1, 0.8);
}
.article-header .foot .share-buttons {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
  margin-left: auto;
}
.article-header .foot .share-buttons a {
  display: block;
  width: 32px;
  opacity: 1;
  transition: opacity 0.2s;
}
.article-header .foot .share-buttons a:hover, .article-header .foot .share-buttons a:active {
  opacity: 0.6;
}

@media screen and (max-width: 767.9px) {
  .article-header {
    margin-top: 8.5vw !important;
    padding: 10.7vw 0;
  }
  .article-header p {
    margin-top: 24px;
    font-size: 1.8rem;
  }
  .article-header .foot {
    flex-wrap: wrap;
    margin-top: 30px;
  }
  .article-header .foot .share-buttons {
    width: 100%;
    margin-top: 30px;
  }
}
/*
--------------------------------
	service pages
--------------------------------
*/
/* ---- line / yahoo! links ---- */
.service-top-links {
  display: flex;
  justify-content: space-between;
}
.service-top-links li {
  width: 48.2%;
}
.service-top-links li a {
  display: block;
  position: relative;
  height: 100%;
  padding: 65px 6% 80px;
  border-radius: 4px;
  background-color: #f4f4f4;
  color: #2e2e2e;
  transition: background-color 0.3s ease-out;
  /*
  &::before {
  	content: "";
  	display: block;
  	position: absolute;
  	left: 6%;
  	top: 0;
  	width: 20px;
  	height: 5px;
  	border-radius: 0 0 2px 2px;
  }
  */
}
.bg-gray .service-top-links li a {
  background-color: #fff;
}
.service-top-links li a:hover, .service-top-links li a:active {
  background-color: #eaeaea;
  color: #2e2e2e;
}
.bg-gray .service-top-links li a:hover, .bg-gray .service-top-links li a:active {
  background-color: #eaeaea;
}
.service-top-links li a:hover > span::before, .service-top-links li a:active > span::before {
  transform: scale(1, 1);
}
.service-top-links li a:hover > span::after, .service-top-links li a:active > span::after {
  animation: arrow-right 0.5s ease-in-out;
}
.service-top-links li a > p {
  margin-top: 30px;
  font-size: 1.6rem;
  line-height: 2;
}
.service-top-links li a > span {
  display: inline-block;
  position: absolute;
  right: 6%;
  bottom: 24px;
  padding: 0 25px 16px 0;
  border-bottom: 1px solid #e2e2e2;
  color: #2e2e2e;
  font-size: 1.4rem;
  font-weight: 700;
}
.service-top-links li a > span::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: -1px;
  width: 100%;
  height: 1px;
  background-color: #2e2e2e;
  transform-origin: 0 0;
  transform: scale(0, 1);
  transition: transform 0.24s ease-in-out;
}
.service-top-links li a > span::after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: calc(50% - 12px);
  width: 12px;
  height: 10px;
  background: url(../images/icon_arrow.svg) center no-repeat;
}
.service-top-links li:first-child a::before {
  background-color: #06c755;
}
.service-top-links li:last-child a::before {
  background-color: #f03;
}
.service-top-links li .head {
  text-align: center;
}
.service-top-links li .head img {
  height: 130px;
}
.service-top-links li .head p {
  margin-top: 65px;
  font-size: 3.2rem;
  font-weight: 700;
}
.service-top-links li .head p span {
  display: block;
  margin-bottom: 1em;
  font-size: 1.6rem;
  font-weight: 400;
}

@media screen and (max-width: 767.9px) {
  .service-top-links {
    display: block;
  }
  .service-top-links li {
    width: auto;
  }
  .service-top-links li + li {
    margin-top: 5vw;
  }
  .service-top-links li a {
    height: auto;
    padding: 35px 9% 28px;
    text-align: right;
    /*
    &::before {
    	left: 9%;
    }
    */
  }
  .service-top-links li a:hover, .service-top-links li a:active {
    background-color: #f4f4f4;
  }
  .bg-gray .service-top-links li a:hover, .bg-gray .service-top-links li a:active {
    background-color: #fff;
  }
  .service-top-links li a:hover > span::before, .service-top-links li a:active > span::before {
    transform: none;
  }
  .service-top-links li a:hover > span::after, .service-top-links li a:active > span::after {
    animation: none;
  }
  .service-top-links li a > p {
    margin: 28px 0 8px;
    font-size: 1.4rem;
    text-align: left;
  }
  .service-top-links li a > span {
    position: relative;
    right: auto;
    bottom: auto;
    padding: 16px 25px 16px 0;
    line-height: 1.3;
  }
  .service-top-links li a > span::before {
    content: none;
  }
  .service-top-links li a > span::after {
    top: calc(50% - 5px);
  }
  .service-top-links li .head {
    display: flex;
    align-items: center;
    text-align: left;
  }
  .service-top-links li .head img {
    height: 60px;
    margin-right: 24px;
  }
  .service-top-links li .head p {
    margin-top: 0;
    font-size: 2.4rem;
    letter-spacing: normal;
  }
  .service-top-links li .head p span {
    margin-bottom: 0.5em;
    font-size: 1.3rem;
    letter-spacing: 0.08em;
  }
}
/*
--------------------------------
	recruit pages
--------------------------------
*/
/* ---- sns ---- */
.recruit-sns {
  background-image: url(../images/recruit/bg_sns_pc.jpg);
  background-size: cover;
  background-position: 50%;
}
.recruit-sns .pc h2 {
  display: inline-block;
  padding: 8px 10px 6px;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 3.8rem;
  font-weight: 700;
}
.recruit-sns .pc h2:lang(en) {
  letter-spacing: normal;
}
.recruit-sns .sp {
  display: none;
}
.recruit-sns p {
  display: inline-block;
  margin-top: 8px;
  padding: 6px 10px 5px;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
}
.recruit-sns ul {
  display: flex;
  margin-top: 40px;
}
.recruit-sns ul li {
  margin-right: 24px;
}
.recruit-sns ul li:nth-child(2) {
  margin-right: 16px;
}
.recruit-sns ul a {
  opacity: 1;
  transition: opacity 0.2s;
}
.recruit-sns ul a:hover, .recruit-sns ul a:active {
  opacity: 0.8;
}
.recruit-sns ul img {
  width: auto;
  height: 56px;
}

@media screen and (max-width: 767.9px) {
  .recruit-sns {
    padding-top: 29vw !important;
    padding-bottom: 29vw !important;
    background-image: url(../images/recruit/bg_sns_sp.jpg);
  }
  .recruit-sns .pc {
    display: none;
  }
  .recruit-sns .sp {
    display: block;
  }
  .recruit-sns .sp span {
    display: inline-block;
    padding: 8px 10px 6px;
    border-radius: 4px;
    background-color: #fff;
    color: #2e2e2e;
    font-size: 3.4rem;
    font-weight: 700;
  }
  .recruit-sns .sp span:lang(en) {
    letter-spacing: normal;
  }
  .recruit-sns .sp span:last-child {
    margin-top: 8px;
  }
  .recruit-sns p {
    font-size: 1.5rem;
    letter-spacing: 0.02em;
  }
  .recruit-sns ul a {
    transition: none;
  }
  .recruit-sns ul a:hover, .recruit-sns ul a:active {
    opacity: 1;
  }
}
/* ---- job search ---- */
.recruit-search {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 70px !important;
}
.recruit-search .col-result {
  width: calc(100% - 300px);
}
.recruit-search .col-filter {
  position: sticky;
  top: 120px;
  width: 256px;
}
.recruit-search .header, .search-target .search-count{
  margin-bottom: 40px;
  font-size: 2.4rem;
  font-weight: 700;
}
.recruit-search .header span, .search-target .search-count span{
  margin-left: 0.8em;
  font-size: 3.2rem;
}
.recruit-search .header, .search-target .search-count{
  font-size: 2rem;
}
.recruit-search .header span, .search-target .search-count span{
  font-size: 2.4rem;
}
.recruit-search .header button {
  display: none;
}
.recruit-search .filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 40px;
}
.recruit-search .filters button {
  display: inline-block;
  position: relative;
  padding: 12px 24px 10px 8px;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.3rem;
  font-weight: 700;
  transition: background-color 0.2s;
}
.recruit-search .filters button::before {
  content: "";
  display: block;
  position: absolute;
  right: 8px;
  top: 50%;
  width: 10px;
  height: 2px;
  background-color: #2e2e2e;
  transform: rotate(45deg);
}
.recruit-search .filters button::after {
  content: "";
  display: block;
  position: absolute;
  right: 8px;
  top: 50%;
  width: 10px;
  height: 2px;
  background-color: #2e2e2e;
  transform: rotate(-45deg);
}
.recruit-search .filters button:hover, .recruit-search .filters button:active {
  background-color: #eaeaea;
}
.recruit-search .filters button[data-id=clear] {
  background-color: #f4f4f4;
  background-image: url(../images/icon_trash.svg);
  background-repeat: no-repeat;
  background-size: 11px 13px;
  background-position: right 8px top 50%;
}
.recruit-search .filters button[data-id=clear]::before, .recruit-search .filters button[data-id=clear]::after {
  content: none;
}
.recruit-search .filters button[data-id=clear]:hover, .recruit-search .filters button[data-id=clear]:active {
  background-color: #eaeaea;
}
.recruit-search .filter-box {
  padding: 40px 24px 45px;
  border-radius: 4px;
  background-color: #f4f4f4;
}
.recruit-search .filter-box h2 {
  font-size: 2rem;
  font-weight: 700;
}
.recruit-search .filter-box button {
  display: block;
  position: relative;
  width: 100%;
  margin-top: 7px;
  padding: 13px 50px 11px 18px;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 4px;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-align: left;
  transition: background-color 0.2s;
}
.recruit-search .filter-box button::after {
  content: "";
  display: block;
  position: absolute;
  right: 12px;
  top: calc(50% - 11px);
  width: 24px;
  height: 24px;
  background-image: url(../images/icon_modal.svg);
  background-repeat: no-repeat;
  background-size: 24px;
}
.recruit-search .filter-box button:hover, .recruit-search .filter-box button:active {
  background-color: #eaeaea;
}
.recruit-search .filter-box button:nth-child(2) {
  margin-top: 30px;
}

@media screen and (max-width: 767.9px) {
  .recruit-search {
    display: block;
    margin-top: 4vw !important;
  }
  .recruit-search .col-result {
    width: auto;
  }
  .recruit-search .col-filter {
    display: none;
  }
  .recruit-search .header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 6vw;
    font-size: 1.8rem;
  }
  .recruit-search .header span {
    margin-left: 0.5em;
    font-size: 2.4rem;
  }
  .recruit-search .header button {
    display: block;
    width: 43px;
    height: 44px;
    padding: 0;
    background-color: transparent;
    background-image: url(../images/btn_filter.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    border-style: none;
    border-radius: 0;
    overflow: hidden;
    text-indent: -400px;
  }
  .recruit-search .filters {
    margin-bottom: 8vw;
  }
  .recruit-search .filters button {
    padding: 10px 24px 8px 8px;
    font-size: 1.2rem;
    transition: none;
  }
  .recruit-search .filters button:hover, .recruit-search .filters button:active {
    background-color: #fff;
  }
  .recruit-search .filters button[data-id=clear]:hover, .recruit-search .filters button[data-id=clear]:active {
    background-color: #f4f4f4;
  }
}
/* ---- job box ---- */
.recruit-job .inner dl {
  background-color: #fff;
}
.recruit-job .inner dt {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.4;
}
.recruit-job .inner dd {
  margin-top: 1.2em;
  font-size: 1.6rem;
  line-height: 2;
}

@media screen and (max-width: 767.9px) {
  .recruit-job .inner dd {
    margin-top: 1em;
    font-size: 1.4rem;
  }
}
/* ---- more about jobs ---- */
.recruit-job-banner {
  position: relative;
  margin-top: 120px;
  padding: 80px 8.7% 150px;
}
.recruit-job-banner h2 {
  display: inline-block;
  padding: 8px 10px 5px;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 3.8rem;
  font-weight: 700;
  letter-spacing: 0.07em;
}
.recruit-job-banner p span {
  display: inline-block;
  margin: 8px 30% 0 0;
  padding: 6px 9px 4px;
  border-radius: 4px;
  background-color: #fff;
  color: #2e2e2e;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
}
.recruit-job-banner p br {
  display: none;
}
.recruit-job-banner .buttons {
  display: flex;
  position: absolute;
  right: -1px;
  bottom: -1px;
  max-width: 91.3%;
  padding: 32px 1px 7px 0;
  border-radius: 4px 0 0 0;
  background-color: #fff;
}
.recruit-job-banner .buttons li {
  max-width: 50%;
  padding-left: 40px;
}
.recruit-job-banner .buttons li:only-child {
  max-width: none;
}
.recruit-job-banner img {
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 1080px) {
  .recruit-job-banner p span {
    margin-right: 0;
  }
}
@media screen and (max-width: 767.9px) {
  .recruit-job-banner {
    margin-top: 18vw;
    padding: 25vw 0 0;
  }
  .recruit-job-banner h2 {
    margin-left: 5vw;
    padding: 8px 10px 5px;
    font-size: 2.8rem;
  }
  .recruit-job-banner p span {
    display: inline;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 1.4rem;
    line-height: 2;
  }
  .recruit-job-banner p {
    margin-top: calc(25vw + 32px);
  }
  .recruit-job-banner p span {
    display: inline;
    margin: 0;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    font-size: 1.4rem;
    line-height: 2;
  }
  .recruit-job-banner p br {
    display: inline;
  }
  .recruit-job-banner .buttons {
    display: block;
    position: static;
    max-width: none;
    margin-top: 30px;
    padding: 0;
    border-radius: 0;
    background-color: transparent;
    text-align: center;
  }
  .recruit-job-banner .buttons li {
    max-width: none;
    margin-top: 16px;
    padding-left: 0;
  }
  .recruit-job-banner img {
    height: calc(50vw + 44px);
  }
}
/* ---- DAY2: sns ---- */
.recruit-sns-d2 {
  padding-top: 120px;
  padding-bottom: 120px;
}
.recruit-sns-d2 .txt {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  height: 318px;
  padding: 0 3.6% 0 53.6%;
  border-radius: 20px;
  background-color: #fdfdfd;
  overflow: hidden;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1);
}
.recruit-sns-d2 .txt::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 50%;
  height: 100%;
  background-image: url(../images/recruit/bg_sns_pc.jpg);
  background-size: cover;
  background-position: 85% 50%;
}
.recruit-sns-d2 h2 {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
}
.recruit-sns-d2 p {
  margin-top: 24px;
  font-size: 1.6rem;
  line-height: 1.5;
}
.recruit-sns-d2 ul {
  display: flex;
  margin-top: 24px;
}
.recruit-sns-d2 ul li {
  margin-right: 20px;
}
.recruit-sns-d2 ul li:nth-child(2) {
  margin-right: 14px;
}
.recruit-sns-d2 ul a {
  opacity: 1;
  transition: opacity 0.2s;
}
.recruit-sns-d2 ul a:hover, .recruit-sns-d2 ul a:active {
  opacity: 0.6;
}
.recruit-sns-d2 ul img {
  width: auto;
  height: 36px;
}
.recruit-sns-d3 .txt{
	display:flex;
  align-items:center;
	gap:20px;
	max-width: max-content;
	margin: 0 auto;
	text-align: left;
}
.recruit-sns-d3 .txt h2{
	line-height:1.5;
}
.recruit-sns-d3 ul{
  display:flex;
  gap:20px;
	justify-content: space-between;
}
@media screen and (max-width: 767.9px) {
  .recruit-sns-d2 {
    padding: 21.3vw 0;
  }
  .recruit-sns-d2 .txt {
    display: block;
    height: auto;
    padding: calc(50vw + 32px) 0 0;
    border-radius: 0;
    background-color: transparent;
    box-shadow: none;
  }
  .recruit-sns-d2 .txt::before {
    width: 100%;
    height: 50vw;
    background-image: url(../images/recruit/bg_sns_sp.jpg);
    background-position: 0 78%;
  }
  .recruit-sns-d2 h2 {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .recruit-sns-d2 p {
    margin-top: 12px;
    padding-left: 5vw;
    padding-right: 5vw;
    letter-spacing: normal;
  }
  .recruit-sns-d2 ul {
    justify-content: center;
    margin-top: 32px;
  }
  .recruit-sns-d2 ul img {
    height: 40px;
  }
  .recruit-sns-d3 .txt {
	display:block;
  }
  .recruit-sns-d3 ul {
	margin-top: 32px;
  }
}
/*
--------------------------------
	basics
--------------------------------
*/
body {
  color: #2e2e2e;
  background-color: #fff;
  overflow-y: scroll;
}

.global-container {
  position: relative;
  width: 100%;
}

a {
  color: #2e2e2e;
  text-decoration: none;
}
a:link, a:visited {
  color: #2e2e2e;
}
a:hover, a:active {
  text-decoration: none;
}
