@charset "UTF-8";
/* ====================
 SIZE SET
==================== */
/* ===================
 MIXIN
==================== */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&display=swap");
.c-mplus {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.noto {
  font-family: "Noto Sans JP", sans-serif;
}

/*----------------------------------------
	RESET
-----------------------------------------*/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul, li {
  list-style: none !important;
}

blockquote, q {
  quotes: none;
}

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

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

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

.pc {
  display: block;
}
@media only screen and (max-width: 834px) {
  .pc {
    display: none !important;
  }
}

.sp {
  display: none !important;
}
@media only screen and (max-width: 834px) {
  .sp {
    display: block !important;
  }
}

html {
  font-size: 62.5%;
  height: 100%;
  -webkit-text-size-adjust: 100%;
  overflow-x: auto;
}
@media only screen and (max-width: 834px) {
  html {
    overflow-x: hidden;
  }
}

body {
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  text-align: justify;
  color: #333333;
  background: #fff;
  width: 100%;
  min-width: 1300px;
  word-wrap: break-word;
  line-height: 1.4;
  letter-spacing: 0.05em;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  position: relative;
  hanging-punctuation: allow-end;
  margin: 0 auto;
}
@media only screen and (max-width: 834px) {
  body {
    width: 100%;
    font-size: calc(14 / 375 * 100vw);
    min-width: 0;
  }
}

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

a {
  text-decoration: none;
  color: #333333;
  -webkit-tap-highlight-color: transparent;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

@media only screen and (min-width: 835px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
input[type=text], input[type=password], textarea, select {
  outline: none;
}

img,
video {
  max-width: 100%;
  height: auto;
  line-height: 1;
  vertical-align: top;
}

/*===================================
画面サイズ 
===================================*/
.c-inner {
  width: 1040px;
  margin-right: auto;
  margin-left: auto;
}

.c-outer {
  width: 1160px;
  margin-right: auto;
  margin-left: auto;
}

.c-indent {
  text-indent: -1em;
  padding-left: 1em;
}

@media screen and (max-width: 1400px) {
  .fullWidth {
    width: 100%;
  }
}
@media screen and (max-width: 1160px) {
  .c-outer {
    width: 95%;
  }
}
@media screen and (max-width: 1040px) {
  .c-inner {
    width: 85%;
  }
}
@media screen and (max-width: 834px) {
  .c-inner {
    width: 90%;
  }
  .c-outer {
    width: 90%;
  }
}
/*===================================
言語設定 
===================================*/
.c-lang-jp .-jp {
  display: inline;
}
.c-lang-jp .-en {
  display: none;
}
.c-lang-en {
  text-align: left;
}
.c-lang-en .-jp {
  display: none;
}
.c-lang-en .-en {
  display: inline;
}

/*===================================
font 
===================================*/
.u-mplus {
  font-family: "M PLUS Rounded 1c", sans-serif;
}

.c-fw-m {
  font-weight: 500;
}

/*===================================
color
===================================*/
.c-red {
  color: #cc0000;
}

.c-gly-b {
  background: #999999;
}

/*===================================
swiper
===================================*/
.swiper-button-next, .swiper-button-prev {
  width: 40px;
  height: 40px;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  margin: 0;
}
.swiper-button-next::after, .swiper-button-prev::after {
  display: none;
}
.swiper-button-next {
  background-image: url(../img/common/arw_next.svg);
}
.swiper-button-prev {
  background-image: url(../img/common/arw_prev.svg);
}
@media only screen and (max-width: 834px) {
  .swiper-next, .swiper-prev {
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
  }
}

.c-common-interview {
  background: -webkit-gradient(linear, right top, left top, from(#ED1C25), to(#D50303));
  background: linear-gradient(to left, #ED1C25 0%, #D50303 100%);
  border-bottom: 1px solid #fff;
}
.c-common-interview__bg {
  padding: 100px 0;
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(25%, #fff), color-stop(25%, transparent), to(transparent));
  background: linear-gradient(180deg, #fff 0%, #fff 25%, transparent 25%, transparent 100%);
}
.c-common-interview__ttl {
  font-size: 3.8rem !important;
}
.c-common-interview__ttl small {
  font-size: 1.6rem;
}
.c-common-interview__persons {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-common-interview__persons.--center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.c-common-interview__persons__person {
  color: #fff;
  width: 24%;
  margin-right: 1.666%;
}
.c-common-interview__persons__person:nth-of-type(4n) {
  margin-right: 0;
}
.c-common-interview__persons__person__imgarea {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.c-common-interview__persons__person__imgarea::before {
  opacity: 0;
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-common-interview__persons__person__imgarea__txt {
  opacity: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  padding: 10px 20px;
}
.c-common-interview__persons__person__imgarea__txt .-txt {
  width: 100%;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
  color: #fff;
  letter-spacing: 0.05em;
}
@media only screen and (max-width: 834px) {
  .c-common-interview__persons__person__imgarea__txt .-txt {
    letter-spacing: 0.15em;
  }
}
.c-common-interview__persons__person__imgarea__txt .-btn {
  width: 100%;
  margin-bottom: 20px;
  font-size: 1.4rem;
}
.c-common-interview__persons__person__imgarea__txt .-btn span::before {
  background: url(../img/common/comlink_bg_wh.png) no-repeat;
  background-position: center right;
}
.c-common-interview__persons__person__txtarea {
  margin-top: 20px;
  color: #fff;
  font-weight: 500;
}
.c-common-interview__persons__person__txtarea .-ctg {
  margin-bottom: 12px;
}
.c-common-interview__persons__person__txtarea .-ctg span {
  display: inline-block;
  padding: 2px 10px;
  border-radius: 20px;
  border: 1px solid #fff;
  letter-spacing: 0.05em;
}
.c-common-interview__persons__person__txtarea .-name {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 10px;
}
@media only screen and (min-width: 835px) {
  .c-common-interview__persons__person a:hover {
    opacity: 1;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea {
    opacity: 1;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea::before {
    opacity: 1;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea__txt {
    opacity: 1;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea .-btn {
    color: #333333;
    z-index: 1;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea .-btn::before {
    background-color: #333333;
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__imgarea .-btn span::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .c-common-interview__persons__person a:hover .c-common-interview__persons__person__txtarea {
    opacity: 0.8;
  }
}
.c-common-interview__persons.--pc3person {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  row-gap: 40px;
}
.c-common-interview__persons.--pc3person .c-common-interview__persons__person {
  width: 31%;
  margin-right: 3.5%;
}
.c-common-interview__persons.--pc3person .c-common-interview__persons__person:nth-of-type(3n) {
  margin-right: 0;
}
.c-common-interview__persons.-center {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 834px) {
  .c-common-interview__persons.-center {
    -webkit-box-pack: inherit;
        -ms-flex-pack: inherit;
            justify-content: inherit;
  }
}
@media only screen and (max-width: 834px) {
  .c-common-interview {
    border-bottom: 2px solid #fff;
  }
  .c-common-interview__bg {
    padding: calc(50 / 375 * 100vw) 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#fff), color-stop(30%, #fff), color-stop(30%, transparent), to(transparent));
    background: linear-gradient(180deg, #fff 0%, #fff 30%, transparent 30%, transparent 100%);
  }
  .c-common-interview__wrap {
    width: 100%;
  }
  .c-common-interview__ttl {
    font-size: calc(32 / 375 * 100vw) !important;
    width: 90%;
    margin: 0 auto;
  }
  .c-common-interview__ttl small {
    font-size: calc(14 / 375 * 100vw);
  }
  .c-common-interview__persons {
    margin-top: calc(30 / 375 * 100vw);
    display: block;
  }
  .c-common-interview__persons .slick-slide {
    margin: 0 calc(10 / 375 * 100vw);
  }
  .c-common-interview__persons__person {
    width: 100%;
    margin-right: 0;
  }
  .c-common-interview__persons__person__imgarea {
    position: relative;
    border-radius: 10px;
  }
  .c-common-interview__persons__person__imgarea__txt {
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    top: 0;
    left: 0;
    padding: 0;
  }
  .c-common-interview__persons__person__imgarea__txt .-txt {
    text-align: left;
    font-size: calc(16 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
  .c-common-interview__persons__person__imgarea__txt .-btn {
    display: none;
  }
  .c-common-interview__persons__person__txtarea {
    position: relative;
    margin-top: calc(10 / 375 * 100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .c-common-interview__persons__person__txtarea .-ctg {
    width: 100%;
    margin-bottom: calc(5 / 375 * 100vw);
    margin-left: calc(0 / 375 * 100vw);
  }
  .c-common-interview__persons__person__txtarea .-ctg span {
    display: inline-block;
    padding: calc(2 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-radius: calc(20 / 375 * 100vw);
    border: calc(1 / 375 * 100vw) solid #fff;
    font-size: calc(12 / 375 * 100vw);
  }
  .c-common-interview__persons__person__txtarea .-name {
    font-weight: bold;
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .c-common-interview__persons__person__txtarea .-prof {
    width: 100%;
    font-size: calc(12 / 375 * 100vw);
  }
  .c-common-interview .slick-slider div {
    -webkit-transition: none;
    transition: none;
  }
  .c-common-interview .slick-arrow {
    top: 35%;
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    background: #fff;
    border-radius: 50%;
    z-index: 20;
  }
  .c-common-interview .slick-arrow::before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url(../img/common/slide_arw.png) no-repeat;
    background-size: contain;
  }
  .c-common-interview .slick-prev {
    left: 9%;
  }
  .c-common-interview .slick-prev::before {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
  .c-common-interview .slick-next {
    right: 9%;
  }
}

.c-common-adddot {
  padding-left: 15px;
  position: relative;
}
.c-common-adddot::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #333333;
  position: absolute;
  top: calc(50% - 5px);
  left: 0;
}
@media only screen and (max-width: 834px) {
  .c-common-adddot {
    padding-left: calc(15 / 375 * 100vw);
  }
  .c-common-adddot::before {
    width: calc(8 / 375 * 100vw);
    height: calc(8 / 375 * 100vw);
    top: calc(50% - 4 / 375 * 100vw);
  }
}

.c-common-whitebox {
  background: #fff;
  padding: 50px 80px;
  border-radius: 15px;
}
@media only screen and (max-width: 834px) {
  .c-common-whitebox {
    padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
  }
}

.c-common-box {
  margin-top: 80px;
}
.c-common-box__inr {
  background: #fff;
  border-radius: 15px;
  padding: 40px 70px 40px;
}
.c-common-box__ttl {
  text-align: center;
}
.c-common-box__lists {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-common-box__lists__list {
  width: 46%;
  padding-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #CCCCCC;
}
.c-common-box__lists__list::before {
  top: 16px;
}
.c-common-box__lists__list:nth-last-of-type(2) {
  height: 45px;
}
.c-common-box__table {
  margin-top: 30px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-common-box__table__blk {
  width: 25%;
  border: 1px solid #E8E8E8;
}
.c-common-box__table__blk__ttl {
  background: #CCCCCC;
  font-size: 1.8rem;
  font-weight: bold;
  width: 100%;
  height: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 20px;
  position: relative;
}
.c-common-box__table__blk__ttl::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 20px solid #CCCCCC;
  border-right: 0;
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 10;
}
.c-common-box__table__blk__txt {
  padding: 15px 10px;
  font-size: 1.4rem;
  font-weight: 500;
}
.c-common-box__table__blk__txt p:not(:first-of-type) {
  margin-top: 5px;
}
.c-common-box__table__blk__txt sup {
  font-size: 1rem;
  vertical-align: top;
}
.c-common-box__table__blk:not(:first-of-type) .c-common-box__table__blk__ttl {
  padding-left: 35px;
}
.c-common-box__table__blk:nth-of-type(2n) .c-common-box__table__blk__ttl {
  background: #E8E8E8;
}
.c-common-box__table__blk:nth-of-type(2n) .c-common-box__table__blk__ttl::after {
  border-left: 20px solid #E8E8E8;
}
.c-common-box__attn {
  font-size: 1.4rem;
  margin-top: 15px;
  text-indent: -1.3em;
  padding-left: 1.3em;
}
.c-common-box__attn.--num {
  text-indent: -2em;
  padding-left: 2em;
}
.c-common-box__attn.--numlast {
  margin-top: 3px;
}
@media only screen and (max-width: 834px) {
  .c-common-box {
    margin-top: calc(60 / 375 * 100vw);
  }
  .c-common-box__inr {
    border-radius: calc(10 / 375 * 100vw);
    padding: calc(35 / 375 * 100vw) calc(25 / 375 * 100vw);
  }
  .c-common-box__lists {
    margin-top: calc(20 / 375 * 100vw);
  }
  .c-common-box__lists__list {
    width: 100%;
    padding-top: calc(10 / 375 * 100vw);
    padding-bottom: calc(10 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .c-common-box__lists__list::before {
    top: calc(15 / 375 * 100vw);
  }
  .c-common-box__lists__list:nth-last-of-type(2) {
    height: auto;
  }
  .c-common-box__tableinr {
    width: calc(100% + 20 / 375 * 100vw + 10%);
    overflow-x: scroll;
  }
  .c-common-box__table {
    margin-top: calc(20 / 375 * 100vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: calc(960 / 375 * 100vw);
  }
  .c-common-box__table__blk {
    width: calc(175 / 375 * 100vw);
    border: calc(1 / 375 * 100vw) solid #E8E8E8;
    background: #fff;
  }
  .c-common-box__table__blk__ttl {
    font-size: calc(18 / 375 * 100vw);
    height: calc(50 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
  }
  .c-common-box__table__blk__ttl::after {
    border-top: calc(25 / 375 * 100vw) solid transparent;
    border-bottom: calc(25 / 375 * 100vw) solid transparent;
    border-left: calc(20 / 375 * 100vw) solid #CCCCCC;
  }
  .c-common-box__table__blk__txt {
    padding: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  .c-common-box__table__blk__txt p:not(:first-of-type) {
    margin-top: calc(5 / 375 * 100vw);
  }
  .c-common-box__table__blk__txt sup {
    font-size: calc(1 / 375 * 100vw);
  }
  .c-common-box__table__blk:not(:first-of-type) .c-common-box__table__blk__ttl {
    padding-left: calc(35 / 375 * 100vw);
  }
  .c-common-box__table__blk:nth-of-type(2n) .c-common-box__table__blk__ttl::after {
    border-left: calc(20 / 375 * 100vw) solid #E8E8E8;
  }
  .c-common-box__attn {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(15 / 375 * 100vw);
  }
}

.c-common-facility {
  position: relative;
}
.c-common-facility .-img {
  width: 100%;
  height: 0;
  padding-bottom: 66.6%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.c-common-facility .-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-common-facility .-ctg {
  font-size: 1.4rem;
  margin: 15px 0 10px;
  position: relative;
}
.c-common-facility .-ctg span {
  font-weight: 500;
  color: #fff;
  line-height: 1;
  padding: 2px 10px;
  background: #999999;
  border-radius: 20px;
}
.c-common-facility .-ctg::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #cc0000;
  position: absolute;
  top: 50%;
  right: 5%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-common-facility .-txt {
  font-size: 1.8rem;
  font-weight: bold;
}
@media only screen and (min-width: 835px) {
  .c-common-facility a:hover {
    opacity: 1;
  }
  .c-common-facility a:hover .-img img {
    -webkit-transform: translate(-50%, -50%) scale(1.1);
            transform: translate(-50%, -50%) scale(1.1);
  }
  .c-common-facility a:hover .-ctg::before {
    -webkit-transform: translateY(-50%) translateX(3px);
            transform: translateY(-50%) translateX(3px);
  }
}
@media only screen and (max-width: 834px) {
  .c-common-facility .-ctg {
    margin: calc(15 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .c-common-facility .-ctg span {
    padding: calc(5 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-radius: calc(20 / 375 * 100vw);
  }
  .c-common-facility .-ctg::before {
    width: calc(12 / 375 * 100vw);
    height: calc(12 / 375 * 100vw);
    right: calc(10 / 375 * 100vw);
  }
  .c-common-facility .-txt {
    font-size: calc(14 / 375 * 100vw);
  }
}

.c-common-3imgs {
  padding: 90px 0;
}
.c-common-3imgs__ttlarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-common-3imgs__ttlarea__ttl {
  width: 390px;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.c-common-3imgs__ttlarea__txt {
  width: calc(100% - 390px);
  line-height: 2;
}
.c-common-3imgs__imgarea {
  margin-top: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-common-3imgs__imgarea__img {
  width: 31%;
}
@media only screen and (max-width: 834px) {
  .c-common-3imgs {
    padding: calc(45 / 375 * 100vw) 0;
  }
  .c-common-3imgs__ttlarea {
    display: block;
  }
  .c-common-3imgs__ttlarea__ttl {
    width: 100%;
    font-size: calc(20 / 375 * 100vw);
  }
  .c-common-3imgs__ttlarea__txt {
    margin-top: calc(20 / 375 * 100vw);
    width: 100%;
    line-height: 2;
  }
  .c-common-3imgs__imgarea {
    margin-top: calc(35 / 375 * 100vw);
    display: block;
  }
  .c-common-3imgs__imgarea__img {
    width: 100%;
  }
  .c-common-3imgs__imgarea__img:not(:first-of-type) {
    margin-top: calc(20 / 375 * 100vw);
  }
}

.c-common-wtable dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #CCCCCC;
}
.c-common-wtable dl:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}
.c-common-wtable dl dt, .c-common-wtable dl dd {
  padding: 20px;
  font-weight: 500;
}
.c-common-wtable dl dt {
  width: 190px;
  background: #E8E8E8;
}
.c-common-wtable dl dd {
  width: calc(100% - 190px);
}
.c-common-wtable dl dd .-iframe {
  display: block;
  width: 100%;
  height: 200px;
  border-radius: 10px;
  margin-top: 20px;
  overflow: hidden;
  position: relative;
}
.c-common-wtable dl dd .-iframe iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.c-common-wtable dl dd .-ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.c-common-wtable dl dd .-ttl--2nd {
  margin-top: 30px;
}
.c-common-wtable dl dd .-link {
  width: 260px;
  margin-top: 15px;
}
@media only screen and (max-width: 834px) {
  .c-common-wtable dl {
    border-top: calc(1 / 375 * 100vw) solid #CCCCCC;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .c-common-wtable dl:last-of-type {
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .c-common-wtable dl dt, .c-common-wtable dl dd {
    padding: calc(10 / 375 * 100vw);
  }
  .c-common-wtable dl dt {
    width: 100%;
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .c-common-wtable dl dd {
    padding: calc(20 / 375 * 100vw) calc(10 / 375 * 100vw);
    width: 100%;
  }
  .c-common-wtable dl dd p::before {
    top: calc(5 / 375 * 100vw);
  }
  .c-common-wtable dl dd .-iframe {
    height: calc(120 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
  .c-common-wtable dl dd .-ttl {
    font-size: calc(16 / 375 * 100vw);
    font-weight: bold;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .c-common-wtable dl dd .-ttl--2nd {
    margin-top: calc(30 / 375 * 100vw);
  }
  .c-common-wtable dl dd .-link {
    width: calc(270 / 375 * 100vw);
    margin: calc(10 / 375 * 100vw) auto 0;
  }
}

.c-common-pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-common-pagenation__page {
  margin: 10px 15px;
  font-size: 2rem;
  line-height: 1;
}
.c-common-pagenation__page p {
  color: #999999;
}
.c-common-pagenation__page a {
  position: relative;
  display: block;
}
.c-common-pagenation__page a.-prev, .c-common-pagenation__page a.-next {
  width: 15px;
  height: 15px;
  background: #cc0000;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
}
.c-common-pagenation__page a.-prev::after, .c-common-pagenation__page a.-next::after {
  content: none;
}
.c-common-pagenation__page a.-prev {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media only screen and (min-width: 835px) {
  .c-common-pagenation__page a:hover.-prev {
    -webkit-transform: translateX(-3px) rotate(180deg);
            transform: translateX(-3px) rotate(180deg);
  }
  .c-common-pagenation__page a:hover.-next {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}
@media only screen and (max-width: 834px) {
  .c-common-pagenation__page {
    margin: calc(10 / 375 * 100vw) calc(15 / 375 * 100vw);
    font-size: calc(16 / 375 * 100vw);
  }
  .c-common-pagenation__page a::after {
    content: "";
    width: 120%;
    height: calc(1 / 375 * 100vw);
    bottom: calc(-5 / 375 * 100vw);
  }
  .c-common-pagenation__page a.-prev, .c-common-pagenation__page a.-next {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    background: #cc0000;
  }
}

.c-common-btmbtn {
  margin-top: 60px;
  text-align: center;
}
.c-common-btmbtn a {
  display: inline-block;
  text-align: left;
  width: 260px;
}
@media only screen and (max-width: 834px) {
  .c-common-btmbtn {
    margin-top: calc(50 / 375 * 100vw);
  }
  .c-common-btmbtn a {
    width: calc(275 / 375 * 100vw);
  }
}

@media only screen and (max-width: 834px) {
  .scroll-hint-icon {
    width: calc(120 / 375 * 100vw);
    height: calc(80 / 375 * 100vw);
    border-radius: calc(5 / 375 * 100vw);
    padding: calc(20 / 375 * 100vw) calc(10 / 375 * 100vw) calc(10 / 375 * 100vw) calc(10 / 375 * 100vw);
  }
  .scroll-hint-icon::before {
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
  }
  .scroll-hint-icon::after {
    width: calc(34 / 375 * 100vw);
    height: calc(14 / 375 * 100vw);
    top: calc(10 / 375 * 100vw);
    margin-left: calc(-20 / 375 * 100vw);
    background-size: contain;
  }
  .scroll-hint-icon .scroll-hint-text {
    font-size: calc(10 / 375 * 100vw);
    margin-top: calc(5 / 375 * 100vw);
  }
}

.iv, .ivo {
  visibility: hidden;
}

/*===================================
オリジナル
===================================*/
/*===================================
ふわっ
===================================*/
.fadeIn {
  opacity: 0;
  -webkit-animation: animate-fadeIn 0.8s forwards;
          animation: animate-fadeIn 0.8s forwards;
}

.fadeInOut {
  opacity: 0;
  -webkit-animation: 7s animate-fadeInOut ease-in-out infinite;
          animation: 7s animate-fadeInOut ease-in-out infinite;
}

.fadeUp {
  opacity: 0;
  -webkit-animation: animate-fadeInUp 0.8s forwards;
          animation: animate-fadeInUp 0.8s forwards;
}

.fadeInLft {
  opacity: 0;
  -webkit-animation: animate-fadeInLft 0.8s forwards;
          animation: animate-fadeInLft 0.8s forwards;
}

.fadeInRgt {
  opacity: 0;
  -webkit-animation: animate-fadeInRgt 0.8s forwards;
          animation: animate-fadeInRgt 0.8s forwards;
}

@-webkit-keyframes animate-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes animate-fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@-webkit-keyframes animate-fadeInOut {
  from {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@keyframes animate-fadeInOut {
  from {
    opacity: 0;
  }
  10% {
    opacity: 1;
  }
  40% {
    opacity: 1;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
@-webkit-keyframes animate-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes animate-fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate(0, 50px);
            transform: translate(0, 50px);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@-webkit-keyframes animate-fadeInLft {
  from {
    opacity: 0;
    -webkit-transform: translate(-50px, 0);
            transform: translate(-50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes animate-fadeInLft {
  from {
    opacity: 0;
    -webkit-transform: translate(-50px, 0);
            transform: translate(-50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@-webkit-keyframes animate-fadeInRgt {
  from {
    opacity: 0;
    -webkit-transform: translate(50px, 0);
            transform: translate(50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
@keyframes animate-fadeInRgt {
  from {
    opacity: 0;
    -webkit-transform: translate(50px, 0);
            transform: translate(50px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(0);
            transform: translate(0);
  }
}
/*===================================
回転
===================================*/
.rotateX {
  -webkit-animation: animate-rotateX 8s forwards;
          animation: animate-rotateX 8s forwards;
}

.rotateXcenter {
  -webkit-animation: animate-rotateX 8s forwards;
          animation: animate-rotateX 8s forwards;
}

@-webkit-keyframes animate-rotateX {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes animate-rotateX {
  from {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes animate-rotateXcenter {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes animate-rotateXcenter {
  from {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  to {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
/*==================================================
スーッ
===================================*/
.slideIn {
  -webkit-animation: animate-slideIn 0.4s linear forwards;
          animation: animate-slideIn 0.4s linear forwards;
}

@-webkit-keyframes animate-slideIn {
  from {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}

@keyframes animate-slideIn {
  from {
    -webkit-transform: translate(-100%, 0);
            transform: translate(-100%, 0);
  }
  to {
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
}
/*==================================================
滑らかに変形して出現
===================================*/
.smooth {
  -webkit-animation: animate-smooth 1s forwards;
          animation: animate-smooth 1s forwards;
  -webkit-transform-origin: left;
          transform-origin: left;
  opacity: 0;
}

@-webkit-keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}

@keyframes animate-smooth {
  from {
    -webkit-transform: translate3d(0, 100%, 0) skewY(12deg);
            transform: translate3d(0, 100%, 0) skewY(12deg);
    opacity: 0;
  }
  to {
    -webkit-transform: translate3d(0, 0, 0) skewY(0);
            transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
/*==================================================
丸が大小繰り返し
===================================*/
.c-anim-ciecle {
  position: relative;
}
.c-anim-ciecle::after {
  display: block;
  position: absolute;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: 20px;
  height: 20px;
  background: #CCCCCC;
  border-radius: 50%;
  -webkit-transition: opacity linear 0.4s;
  transition: opacity linear 0.4s;
  content: "";
  -webkit-animation: pulseMotion 1.4s linear infinite;
          animation: pulseMotion 1.4s linear infinite;
}
.c-anim-ciecle.--btm::after {
  top: auto;
  bottom: -20px;
}
@media only screen and (max-width: 834px) {
  .c-anim-ciecle::after {
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
  }
}

@-webkit-keyframes pulseMotion {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
            transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(153, 153, 153, 0.4);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(2, 2);
            transform: translate(-50%, -50%) scale(2, 2);
    background-color: rgba(153, 153, 153, 0);
  }
}

@keyframes pulseMotion {
  0% {
    -webkit-transform: translate(-50%, -50%) scale(1, 1);
            transform: translate(-50%, -50%) scale(1, 1);
    background-color: rgba(153, 153, 153, 0.4);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) scale(2, 2);
            transform: translate(-50%, -50%) scale(2, 2);
    background-color: rgba(153, 153, 153, 0);
  }
}
@media only screen and (min-width: 835px) {
  a:hover {
    opacity: 0.6;
  }
}

.-arw::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  -webkit-transition: 0.4s;
  transition: 0.4s;
  margin-right: 0.5em;
}

.-blank::before {
  content: "";
  display: block;
  -webkit-transform: none !important;
          transform: none !important;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  -webkit-transition: 0.4s;
  transition: 0.4s;
  top: calc(50% - 6px) !important;
  width: 12px;
  height: 12px;
  background-image: url(../img/common/arw_blank_red.svg);
}
.-blank:hover::before {
  background-image: url(../img/common/arw_blank_wht.svg);
}

.c-btn-hd {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 190px;
  height: 100%;
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 0.78;
  font-weight: bold;
  border: 1px solid;
  cursor: pointer;
  color: #fff;
}
.c-btn-hd.-red {
  background: -webkit-gradient(linear, left top, left bottom, from(#ED1C25), to(#D50303));
  background: linear-gradient(to bottom, #ED1C25 0%, #D50303 100%);
  border-color: #cc0000;
}
@media only screen and (min-width: 835px) {
  .c-btn-hd.-red:hover {
    color: #cc0000;
    background: #fff;
  }
}
.c-btn-hd.-dglay {
  background: #3A3A3A;
  border-color: #3A3A3A;
}
@media only screen and (min-width: 835px) {
  .c-btn-hd.-dglay:hover {
    color: #3A3A3A;
    background: #fff;
  }
}

.c-btn-nav {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  height: 36px;
  line-height: 1;
  color: #fff;
  padding: 0 30px;
  border-radius: 100vw;
  cursor: pointer;
}
.c-btn-nav::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 10px 0 10px;
  border-color: #2e3642 transparent transparent;
  -webkit-transform: translate(-50%, 100%) scale(0);
          transform: translate(-50%, 100%) scale(0);
  -webkit-transform-origin: center top;
          transform-origin: center top;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  z-index: 1;
}
.c-btn-nav.open::after {
  -webkit-transform: translate(-50%, 100%) scale(1);
          transform: translate(-50%, 100%) scale(1);
}
@media only screen and (min-width: 835px) {
  .c-btn-nav:hover {
    opacity: 1;
    background: #434a55;
  }
}

.c-btn-more {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 330px;
  height: 60px;
  margin: 15px 0;
  padding-left: 30px;
  color: #4c4c4c;
  background: #fff;
  border-radius: 100vw;
}
.c-btn-more .ttl {
  font-size: 18px;
  letter-spacing: 0.03em;
  line-height: 1;
  font-weight: 700;
}
.c-btn-more .txt {
  font-size: 15px;
  letter-spacing: 0.03em;
  line-height: 1.47;
  margin-left: 1em;
  padding-left: 1em;
  border-left: 1px solid #808080;
}
.c-btn-more::before {
  position: absolute;
  top: 50%;
  right: 20px;
  margin: 0;
  border-color: #808080;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
@media only screen and (min-width: 835px) {
  .c-btn-more:hover {
    opacity: 1;
    color: #fff;
    background: #cc0000;
  }
  .c-btn-more:hover .txt {
    border-color: #fff;
  }
  .c-btn-more:hover::before {
    border-color: #fff;
  }
}

.c-btn-red {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 280px;
  height: 50px;
  line-height: 1;
  color: #cc0000;
  background: none;
  border: 1px solid #cc0000;
  border-radius: 100vw;
}
.c-btn-red::before {
  position: absolute;
  top: 50%;
  right: 20px;
  margin: 0;
  border-color: #cc0000;
  -webkit-transform: translate(0, -50%) rotate(45deg);
          transform: translate(0, -50%) rotate(45deg);
}
@media only screen and (min-width: 835px) {
  .c-btn-red:hover {
    opacity: 1;
    color: #fff;
    background: #cc0000;
  }
  .c-btn-red:hover::before {
    border-color: #fff;
  }
}

.c-btn-txt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  line-height: 2.125;
}
.c-btn-txt::before {
  border-color: #cc0000;
}

.c-btn-contest {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  width: 100%;
  height: 100%;
  font-size: 16px;
  letter-spacing: 0.05em;
  line-height: 1;
  font-weight: 400;
  padding: 0 14px;
  cursor: pointer;
}
.c-btn-contest::before {
  border-color: #b2b2b2;
}
@media only screen and (min-width: 835px) {
  .c-btn-contest:hover {
    opacity: 1;
    color: #fff;
    background: #cc0000;
  }
  .c-btn-contest:hover::before {
    border-color: #fff;
  }
}

.c-btn-sort {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: #4c4c4c;
  border: 1px solid #b2b2b2;
  border-radius: 100vw;
  overflow: hidden;
}
.c-btn-sort.-left {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding-left: 1em;
}
.c-btn-sort.-red {
  color: #fff;
  background: #cc0000;
  border-color: #cc0000;
}
.c-btn-sort.-allOn {
  color: #fff;
  background: #cc0000;
}
@media only screen and (min-width: 835px) {
  .c-btn-sort:hover {
    opacity: 1;
    color: #fff;
    background: #cc0000;
    border-color: #cc0000;
  }
}

input:checked + .c-btn-sort {
  color: #fff;
  background: #cc0000;
  border-color: #cc0000;
}

@media only screen and (max-width: 834px) {
  a[target=_blank].-arw::before {
    background-image: url(../img/common/arw_blank_wht.svg);
  }
  .c-btn-hd {
    width: calc(60 / 375 * 100vw);
    height: calc(60 / 375 * 100vw);
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.87;
    border: none;
  }
  .c-btn-hd.-teacher, .c-btn-hd.-contact {
    display: none;
  }
  .c-btn-hd.-language {
    margin-right: calc(60 / 375 * 100vw);
  }
  .c-btn-hd.-language i {
    display: block;
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    margin: 0 auto;
  }
  .c-btn-nav {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    width: calc(280 / 375 * 100vw);
    height: auto;
    min-height: calc(50 / 375 * 100vw);
    line-height: 1;
    color: #fff;
    text-align: left;
    margin: -1px auto 0;
    padding: 0;
    border-radius: 100vw;
    cursor: pointer;
    border-top: 1px solid #434a55;
    border-bottom: 1px solid #434a55;
    border-radius: 0;
  }
  .c-btn-nav::before {
    content: "";
    display: block;
    width: 7px;
    height: 7px;
    border-right: 1px solid #000;
    border-top: 1px solid #000;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
    -webkit-transition: 0.4s;
    transition: 0.4s;
    position: absolute;
    right: calc(10 / 375 * 100vw);
    border-color: #fff;
  }
  .c-btn-nav.js-hd-nav-more::before {
    -webkit-transform: translate(0, 0) rotate(135deg);
            transform: translate(0, 0) rotate(135deg);
  }
  .c-btn-nav.js-hd-nav-more.open::before {
    -webkit-transform: translate(0, 0) rotate(315deg);
            transform: translate(0, 0) rotate(315deg);
  }
  .c-btn-nav::after {
    bottom: 0;
    border-width: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
  }
  .c-btn-more {
    width: calc(280 / 375 * 100vw);
    height: calc(50 / 375 * 100vw);
    margin: 0 auto calc(20 / 375 * 100vw);
    padding-left: calc(0 / 375 * 100vw);
    color: #cc0000;
    background: #fff;
  }
  .c-btn-more .ttl {
    width: calc(60 / 375 * 100vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    font-size: calc(16 / 375 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.13;
    font-weight: 700;
  }
  .c-btn-more .txt {
    width: calc(150 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.03em;
    line-height: 1.29;
    margin-left: 1em;
    padding-left: 1em;
    border-left: 1px solid #cc0000;
  }
  .c-btn-more::before {
    right: calc(20 / 375 * 100vw);
    border-color: #cc0000;
  }
  .c-btn-language {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: calc(160 / 375 * 100vw);
    height: calc(36 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1;
    font-weight: 500;
    color: #fff;
    border: 1px solid #434a55;
    cursor: pointer;
  }
  .c-btn-language i {
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    -webkit-mask-image: url(../img/common/icon_lang.svg);
            mask-image: url(../img/common/icon_lang.svg);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-position: center;
            mask-position: center;
    background: #fff;
    margin-right: 0.5em;
  }
  .c-btn-red {
    width: calc(220 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    color: #fff;
    background: #cc0000;
    margin-left: auto;
    margin-right: auto;
  }
  .c-btn-red::before {
    right: calc(20 / 375 * 100vw);
    border-color: #fff;
  }
  .c-lang-en .c-btn-red {
    width: 100%;
  }
}
.c-btn-arwlink {
  position: relative;
}
.c-btn-arwlink::before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #cc0000;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-btn-arwlink.-larw::before {
  left: 0;
}
.c-btn-arwlink.-larw__l::before {
  top: 39%;
  left: 30px;
  right: auto !important;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-btn-arwlink.-lblank::before {
  -webkit-mask-image: url(../img/common/icon_blank.svg);
          mask-image: url(../img/common/icon_blank.svg);
  left: 0;
}
.c-btn-arwlink.-rarw::before {
  right: -25px;
}
.c-btn-arwlink.-rarw--rotete180::before {
  right: 0;
  left: 25px;
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
.c-btn-arwlink.-bigarw::before {
  width: 15px;
  height: 15px;
}
.c-btn-arwlink.-larw_top::before {
  top: 5px;
  -webkit-transform: none;
          transform: none;
}
.c-btn-arwlink.-underarw::before {
  top: 37%;
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.c-btn-arwlink.-blank::before {
  -webkit-mask-image: url(../img/common/icon_blank.svg);
          mask-image: url(../img/common/icon_blank.svg);
}
@media only screen and (min-width: 835px) {
  .c-btn-arwlink:hover::before {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    -webkit-transform: translateY(-50%) translateX(3px);
            transform: translateY(-50%) translateX(3px);
  }
  .c-btn-arwlink:hover.-larw__l::before {
    top: 39%;
    -webkit-transform: rotate(180deg) translateX(3px);
            transform: rotate(180deg) translateX(3px);
  }
  .c-btn-arwlink:hover.-underarw::before {
    -webkit-transform: rotate(90deg) translateX(3px);
            transform: rotate(90deg) translateX(3px);
  }
  .c-btn-arwlink.-rarw::before {
    right: -25px;
  }
  .c-btn-arwlink.-rarw--rotete180:hover::before {
    -webkit-transform: translateX(-3px) translateY(-50%) rotate(180deg);
            transform: translateX(-3px) translateY(-50%) rotate(180deg);
  }
  .c-btn-arwlink.-larw_top:hover::before {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}
@media only screen and (max-width: 834px) {
  .c-btn-arwlink::before {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
  }
  .c-btn-arwlink.-larw__l::before {
    left: auto;
    right: calc(10 / 375 * 100vw) !important;
  }
  .c-btn-arwlink.-rarw--rotete180::before {
    right: calc(10 / 375 * 100vw) !important;
    left: auto;
  }
  .c-btn-arwlink.-bigarw::before {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
  }
  .c-btn-arwlink.-larw_top::before, .c-btn-arwlink.-larw_topsp::before {
    top: calc(4 / 375 * 100vw);
    -webkit-transform: none;
            transform: none;
  }
  .c-btn-arwlink.-underarw::before {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    top: 35%;
  }
}

.c-btn-comlink {
  position: relative;
  display: block;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 15px;
  border-bottom: 1px solid #CCCCCC;
  letter-spacing: 0.1em;
}
.c-btn-comlink::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background: #cc0000;
  position: absolute;
  top: 50%;
  right: 20px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-btn-comlink::after {
  content: "";
  display: block;
  width: 50px;
  height: 1px;
  background: #cc0000;
  position: absolute;
  bottom: -1px;
  left: 0;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-btn-comlink span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  z-index: -1;
}
.c-btn-comlink span::before {
  content: "";
  display: block;
  width: 150%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: url(../img/common/comlink_bg.png) no-repeat;
  background-position: center right;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.c-btn-comlink.--blank::before {
  -webkit-mask-image: url(../img/common/icon_blank.svg);
          mask-image: url(../img/common/icon_blank.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.c-btn-comlink.--download::before {
  width: 18px;
  height: 22px;
  -webkit-mask-image: url(../img/common/icon_download.svg);
          mask-image: url(../img/common/icon_download.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
}
.c-btn-comlink.--pdf::before {
  width: 18px;
  height: 20px;
  -webkit-mask-image: none;
          mask-image: none;
  background: url(../img/common/icon_pdf.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
.c-btn-comlink.--wh {
  color: #fff;
}
.c-btn-comlink.--wh::before {
  background: #fff;
}
.c-btn-comlink.--wh::after {
  background: #fff;
}
.c-btn-comlink.--wh span::before {
  background: url(../img/common/comlink_bg_wh.png) no-repeat;
  background-position: center right;
}
.c-btn-comlink.--bigbox {
  border: 1px solid #fff;
  font-size: 2.8rem;
  border-radius: 5px;
  height: 116px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-btn-comlink.--bigbox::before {
  width: 30px;
  height: 30px;
}
.c-btn-comlink.--bigbox::after {
  content: none;
}
.c-btn-comlink.--notlink {
  pointer-events: none;
}
.c-btn-comlink.--notlink::before {
  content: none;
}
@media only screen and (min-width: 835px) {
  .c-btn-comlink:hover, .c-btn-comlink:has(a:hover) {
    opacity: 1;
    color: #fff;
    position: relative;
  }
  .c-btn-comlink:hover::before, .c-btn-comlink:has(a:hover)::before {
    background: #fff;
    -webkit-transform: translateY(-50%) translateX(5px);
            transform: translateY(-50%) translateX(5px);
  }
  .c-btn-comlink:hover::after, .c-btn-comlink:has(a:hover)::after {
    width: 100%;
  }
  .c-btn-comlink:hover span::before, .c-btn-comlink:has(a:hover) span::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .c-btn-comlink:hover.--wh, .c-btn-comlink:has(a:hover).--wh {
    color: #333333;
  }
  .c-btn-comlink:hover.--wh::before, .c-btn-comlink:has(a:hover).--wh::before {
    background: #333333;
  }
  .c-btn-comlink:hover.--pdf::before, .c-btn-comlink:has(a:hover).--pdf::before {
    background: url(../img/common/icon_pdf.svg) !important;
  }
  .c-btn-comlink:hover.--download::before, .c-btn-comlink:has(a:hover).--download::before {
    -webkit-transform: translateY(calc(-50% + 3px)) translateX(0);
            transform: translateY(calc(-50% + 3px)) translateX(0);
  }
}
@media only screen and (max-width: 834px) {
  .c-btn-comlink {
    font-size: calc(16 / 375 * 100vw);
    padding: calc(15 / 375 * 100vw) calc(10 / 375 * 100vw);
  }
  .c-btn-comlink::before {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    right: calc(10 / 375 * 100vw);
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
  .c-btn-comlink::after {
    width: calc(50 / 375 * 100vw);
  }
  .c-btn-comlink span {
    display: none;
  }
  .c-btn-comlink.--download::before {
    width: calc(18 / 375 * 100vw);
    height: calc(22 / 375 * 100vw);
  }
  .c-btn-comlink.--bigbox {
    font-size: calc(16 / 375 * 100vw);
    border-radius: calc(5 / 375 * 100vw);
    height: calc(56 / 375 * 100vw);
  }
  .c-btn-comlink.--bigbox::before {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
  }
}

.c-btn-scroll {
  position: absolute;
  bottom: 65px;
  left: 30px;
  z-index: 20;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.c-btn-scroll picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.c-btn-scroll__img {
  width: 7px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.c-btn-scroll span {
  font-size: 1.2rem;
  margin-bottom: 10px;
  line-height: 1;
}
@media only screen and (min-width: 835px) {
  .c-btn-scroll:hover {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
.c-btn-scroll.-fixed {
  position: fixed;
}
@media only screen and (max-width: 834px) {
  .c-btn-scroll {
    display: none;
  }
  .c-btn-scroll picture {
    display: block;
  }
}

.c-btn-recruitbtm {
  position: relative;
  background: url(../img/common/comlink_changeimg_before.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.c-btn-recruitbtm::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
}
.c-btn-recruitbtm__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  position: relative;
  z-index: 1;
}
.c-btn-recruitbtm__links::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  left: 50%;
}
.c-btn-recruitbtm__links__link {
  width: 50%;
}
.c-btn-recruitbtm__links__link__ttl {
  color: #fff;
  font-size: 3.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 60px;
  letter-spacing: 0.2em;
}
.c-btn-recruitbtm__links__link__txt {
  color: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.25em;
  position: relative;
  z-index: 1;
}
.c-btn-recruitbtm__links__link__btn {
  width: 390px;
  margin: 0 auto;
}
.c-btn-recruitbtm__links__link a, .c-btn-recruitbtm__links__link div {
  display: block;
  padding: 90px 0 60px;
}
@media only screen and (min-width: 835px) {
  .c-btn-recruitbtm__links__link a:hover::before, .c-btn-recruitbtm__links__link div:hover::before {
    background: #fff;
    -webkit-transform: translateY(-50%) translateX(5px);
            transform: translateY(-50%) translateX(5px);
  }
  .c-btn-recruitbtm__links__link a:hover::after, .c-btn-recruitbtm__links__link div:hover::after {
    width: 100%;
  }
  .c-btn-recruitbtm__links__link a:hover span::before, .c-btn-recruitbtm__links__link div:hover span::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .c-btn-recruitbtm__links__link a:hover .--wh, .c-btn-recruitbtm__links__link div:hover .--wh {
    color: #333333;
  }
  .c-btn-recruitbtm__links__link a:hover .--wh::before, .c-btn-recruitbtm__links__link div:hover .--wh::before {
    background: #333333;
  }
}
@media only screen and (min-width: 835px) {
  .c-btn-recruitbtm:has(a:hover, div.--careea:hover) {
    background: url(../img/common/comlink_changeimg_after.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm:has(a.--notchange:hover) {
    background: url(../img/common/comlink_changeimg03_before.jpg) no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .c-btn-recruitbtm:has(a.--notchange.--recruit:hover) {
    background: url(../img/common/comlink_changeimg_before.jpg) no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .c-btn-recruitbtm:has(a.--notchange.--prj:hover) {
    background: url(../img/common/comlink_changeimg05.jpg) no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
  .c-btn-recruitbtm.--results:has(a.--notchange) {
    background: url(../img/common/comlink_changeimg03_before.jpg) no-repeat !important;
    background-size: cover !important;
    background-position: center !important;
  }
}
.c-btn-recruitbtm.--employee {
  background: url(../img/common/comlink_changeimg03_before.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 835px) {
  .c-btn-recruitbtm.--employee:has(a:hover) {
    background: url(../img/common/comlink_changeimg03_after.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
.c-btn-recruitbtm.--prpject-story {
  background: url(../img/common/comlink_changeimg05.jpg) no-repeat;
  background-size: cover;
  background-position: center;
}
@media only screen and (min-width: 835px) {
  .c-btn-recruitbtm.--prpject-story:has(a:hover) {
    background: url(../img/common/comlink_changeimg06.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}
.c-btn-recruitbtm.--works .c-btn-recruitbtm__links::after {
  content: none;
}
.c-btn-recruitbtm.--works .c-btn-recruitbtm__links__link {
  width: 100%;
}
.c-btn-recruitbtm.--results {
  background: url(../img/common/comlink_changeimg03_before.jpg) no-repeat;
}
@media only screen and (max-width: 834px) {
  .c-btn-recruitbtm {
    position: relative;
    background: none;
  }
  .c-btn-recruitbtm::after {
    content: none;
  }
  .c-btn-recruitbtm__wrap {
    width: 100%;
  }
  .c-btn-recruitbtm__links {
    padding: 0;
    display: block;
    z-index: 2;
  }
  .c-btn-recruitbtm__links::after {
    content: none;
  }
  .c-btn-recruitbtm__links__link {
    width: 100%;
  }
  .c-btn-recruitbtm__links__link::after {
    content: "";
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.5);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
  }
  .c-btn-recruitbtm__links__link:first-of-type {
    background: url(../img/common/comlink_changeimg01_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    border-bottom: 2px solid #fff;
  }
  .c-btn-recruitbtm__links__link:last-of-type {
    background: url(../img/common/comlink_changeimg02_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm__links__link a {
    padding: calc(35 / 375 * 100vw) 0;
  }
  .c-btn-recruitbtm__links__link__ttl {
    font-size: calc(32 / 375 * 100vw);
    margin-bottom: calc(40 / 375 * 100vw);
    position: relative;
    z-index: 1;
  }
  .c-btn-recruitbtm__links__link__txt {
    font-size: calc(16 / 375 * 100vw);
  }
  .c-btn-recruitbtm__links__link__btn {
    position: relative;
    z-index: 1;
    width: calc(280 / 375 * 100vw);
    margin: 0 auto;
  }
  .c-btn-recruitbtm.--employee {
    background: url(../img/common/comlink_changeimg03_before.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm.--employee .c-btn-recruitbtm__links__link:first-of-type {
    background: url(../img/common/comlink_changeimg03_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm.--employee .c-btn-recruitbtm__links__link:last-of-type {
    background: url(../img/common/comlink_changeimg04_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm.--employee .c-btn-recruitbtm__links__link__ttl.--project {
    width: auto;
    margin-left: 0;
    letter-spacing: 0.1em;
  }
  .c-btn-recruitbtm.--employee .c-btn-recruitbtm__links__link__btn {
    position: relative;
    z-index: 1;
    width: calc(280 / 375 * 100vw);
    margin: 0 auto;
  }
  .c-btn-recruitbtm.--prpject-story .c-btn-recruitbtm__links__link:first-of-type {
    background: url(../img/common/comlink_changeimg05.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm.--prpject-story .c-btn-recruitbtm__links__link:last-of-type {
    background: url(../img/common/comlink_changeimg06.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .c-btn-recruitbtm.--results .c-btn-recruitbtm__links__link:last-of-type {
    background: url(../img/common/comlink_changeimg03_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
}

.c-txt-archive {
  text-align: center;
}
.c-txt-archive__ttl {
  font-size: 32px;
  letter-spacing: 0.1em;
  line-height: 1.25;
  font-weight: 500;
  margin-bottom: 10px;
}
.c-txt-archive__ttl small {
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 1.67;
}
.c-txt-archive__ttl small.-min {
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.17;
}
.c-txt-archive__subttl {
  font-size: 28px;
  letter-spacing: 0.1em;
  line-height: 1.43;
  font-weight: 500;
  margin-bottom: 10px;
}
.c-txt-archive__subttl small {
  font-size: 24px;
  letter-spacing: 0.05em;
  line-height: 1.67;
}
.c-txt-archive__lead {
  font-size: 13px;
  letter-spacing: 0.1em;
  line-height: 2.31;
}

.c-txt-cnt {
  text-align: center;
  margin-bottom: 28px;
}
.c-txt-cnt__ttl {
  font-size: 28px;
  letter-spacing: 0.1em;
  line-height: 1.43;
  font-weight: 500;
}
.c-txt-cnt__ttl small {
  display: inline-block;
  font-size: 20px;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
.c-txt-cnt__ttl strong {
  display: inline-block;
  font-size: 48px;
  letter-spacing: 0em;
  line-height: 1;
  color: #cc0000;
  margin: 10px 0 0;
}
.c-txt-cnt__sub {
  font-size: 18px;
  letter-spacing: 0.05em;
  line-height: 1.44;
  font-weight: 500;
}
.c-txt-cnt__sub small {
  font-size: 13px;
  letter-spacing: 0em;
  line-height: 2;
}

.c-txt-definition {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 19px 0;
  border-bottom: 1px solid #b2b2b2;
}
.c-txt-definition__ttl {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 140px;
  font-weight: bold;
}
.c-txt-definition__body {
  width: 100%;
}
.c-txt-definition:first-of-type {
  border-top: 1px solid #b2b2b2;
}

@media only screen and (max-width: 834px) {
  .c-txt-archive {
    text-align: center;
  }
  .c-txt-archive__ttl, .c-txt-archive__subttl {
    font-size: calc(22 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.18;
    margin-bottom: calc(7 / 375 * 100vw);
  }
  .c-txt-archive__ttl small, .c-txt-archive__subttl small {
    font-size: calc(18 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.44;
  }
  .c-txt-archive__ttl small.-min, .c-txt-archive__subttl small.-min {
    font-size: calc(16 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.31;
  }
  .c-txt-archive__lead {
    font-size: calc(13 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 2.31;
  }
  .c-txt-cnt {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .c-txt-cnt__ttl {
    font-size: calc(22 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.82;
  }
  .c-txt-cnt__ttl small {
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.43;
  }
  .c-txt-cnt__ttl strong {
    font-size: calc(32 / 375 * 100vw);
    letter-spacing: 0em;
    line-height: 1;
    margin: calc(10 / 375 * 100vw) 0 0;
  }
  .c-txt-cnt__sub {
    font-size: calc(16 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.4;
  }
  .c-txt-cnt__sub small {
    font-size: calc(11 / 375 * 100vw);
    letter-spacing: 0em;
    line-height: 1.82;
  }
  .c-txt-definition {
    display: block;
    padding: calc(10 / 375 * 100vw) 0;
  }
  .c-txt-definition__ttl {
    width: 100%;
  }
  .c-txt-definition__body {
    line-height: 1.71;
  }
}
.c-txt-bread {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 30px 0 50px;
  margin: 0 auto;
  position: relative;
  z-index: 100;
}
.c-txt-bread li {
  font-size: 1.2rem;
  margin-right: 35px;
  position: relative;
}
.c-txt-bread li::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background: #CCCCCC;
  position: absolute;
  top: 50%;
  right: -25px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.c-txt-bread li:last-of-type {
  margin-right: 0;
}
.c-txt-bread li:last-of-type::after {
  content: none;
}
.c-txt-bread li a {
  color: #cc0000;
  text-decoration: underline;
}
@media only screen and (max-width: 834px) {
  .c-txt-bread {
    overflow-x: scroll;
    padding: calc(5 / 375 * 100vw) 0 calc(15 / 375 * 100vw);
  }
  .c-txt-bread li {
    font-size: calc(12 / 375 * 100vw);
    margin-right: calc(30 / 375 * 100vw);
    white-space: nowrap;
  }
  .c-txt-bread li::after {
    width: calc(15 / 375 * 100vw);
    height: calc(1 / 375 * 100vw);
    right: calc(-22 / 375 * 100vw);
  }
}

.c-txt-red2 {
  color: #d20000;
}

.c-ttl-addtxt {
  font-size: 4.6rem;
  letter-spacing: 0.15em;
  font-weight: bold;
}
.c-ttl-addtxt__small {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.8rem;
  font-weight: 300;
  color: #999999;
  display: block;
  margin-top: 5px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 834px) {
  .c-ttl-addtxt {
    font-size: calc(32 / 375 * 100vw);
  }
  .c-ttl-addtxt__small {
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(2 / 375 * 100vw);
  }
}

.l-hd {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  z-index: 1000;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.l-hd__wrap {
  position: relative;
  width: 100%;
  min-width: 1040px;
  margin: 0 auto;
  z-index: 1001;
}
.l-hd__wrap--top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  height: 90px;
  padding: 0 0 0 25px;
  line-height: 1;
}
.l-hd__wrap--top--logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  max-width: 700px;
}
.l-hd__wrap--top--btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 90px;
}
.l-hd__wrap--top .hum {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 90px;
  height: 90px;
  padding: 25px 0;
  z-index: 10111111;
  background: #fff;
  cursor: pointer;
}
.l-hd__wrap--top .hum__txt {
  font-size: 1.2rem;
  font-weight: 300;
  color: #cc0000;
}
.l-hd__wrap--top .hum span {
  position: relative;
  display: block;
  width: 40%;
  height: 1px;
  border-radius: 1px;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-hd__wrap--top .hum span::before, .l-hd__wrap--top .hum span::after {
  content: "";
  position: absolute;
  display: block;
  right: 0;
  width: 100%;
  height: 1px;
  border-radius: 1px;
  background: #cc0000;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-hd__wrap--top .hum span::after {
  top: calc(3 / 375 * 100vw);
}
.l-hd__wrap--top .hum.open .hum__txt {
  display: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.l-hd__wrap--top .hum.open::after {
  bottom: calc(-4 / 1300 * 100vw);
}
.l-hd__wrap--top .hum.open span {
  background: transparent !important;
}
.l-hd__wrap--top .hum.open span::before {
  top: 20px;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.l-hd__wrap--top .hum.open span::after {
  top: 20px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.l-hd-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.l-hd-nav__list {
  margin: 0 8px;
}
.l-hd-nav-more {
  display: none;
  position: absolute;
  top: 130px;
  left: 50%;
  width: 100vw;
  padding: 20px 0;
  background: #434a55;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.l-hd-nav-more__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media only screen and (min-width: 835px) {
  .l-hd-nav-more__list--blk:not(:nth-of-type(3n)) {
    margin-right: 25px;
  }
}
.l-hd-nav-more__close {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  width: 80px;
  height: 80px;
  background: #2e3642;
  z-index: 10000;
  cursor: pointer;
}
.l-hd-nav-more__close::before, .l-hd-nav-more__close::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 30px;
  height: 2px;
  background: #fff;
  -webkit-transform: translate(-50%, 0) rotate(45deg);
          transform: translate(-50%, 0) rotate(45deg);
  -webkit-transform-origin: center;
          transform-origin: center;
}
.l-hd-nav-more__close::after {
  -webkit-transform: translate(-50%, 0) rotate(-45deg);
          transform: translate(-50%, 0) rotate(-45deg);
}
.l-hd.-bg0 {
  background: transparent;
}
.l-hd.-bgwh {
  background: #fff;
  position: sticky !important;
}

@media only screen and (max-width: 834px) {
  .l-hd {
    background: #fff;
  }
  .l-hd__wrap {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .l-hd__wrap--top {
    height: calc(70 / 375 * 100vw);
    padding: 0 0 0 calc(19 / 375 * 100vw);
  }
  .l-hd__wrap--top--logo {
    display: block;
    width: calc(260 / 375 * 100vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
  .l-hd__wrap--top--btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-right: 0;
  }
  .l-hd__wrap--top--btn .hum {
    position: fixed;
    top: 0;
    right: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    width: calc(70 / 375 * 100vw);
    height: calc(70 / 375 * 100vw);
    padding: calc(25 / 375 * 100vw) 0 0;
    z-index: 10111111;
  }
  .l-hd__wrap--top--btn .hum__txt {
    font-size: calc(10 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 2.24;
    font-weight: 300;
    color: #cc0000;
    padding-bottom: calc(8 / 375 * 100vw);
  }
  .l-hd__wrap--top--btn .hum span {
    position: relative;
    display: block;
    width: 40%;
    height: 1px;
    background: #cc0000;
    border-radius: 1px;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-hd__wrap--top--btn .hum span::before, .l-hd__wrap--top--btn .hum span::after {
    content: "";
    position: absolute;
    display: block;
    right: 0;
    width: 100%;
    height: 1px;
    border-radius: 1px;
    background: #cc0000;
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  .l-hd__wrap--top--btn .hum span::before {
    display: none;
  }
  .l-hd__wrap--top--btn .hum span::after {
    top: calc(10 / 375 * 100vw);
  }
  .l-hd__wrap--top--btn .hum.open .hum__txt {
    display: none;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .l-hd__wrap--top--btn .hum.open::after {
    bottom: calc(-4 / 1300 * 100vw);
  }
  .l-hd__wrap--top--btn .hum.open span {
    background: transparent !important;
  }
  .l-hd__wrap--top--btn .hum.open span::before {
    width: 120%;
    display: block;
    top: 10px;
    right: -5px;
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .l-hd__wrap--top--btn .hum.open span::after {
    width: 120%;
    top: 10px;
    right: -5px;
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
  .l-hd__wrap--nav {
    position: fixed;
    top: -100%;
    left: 0;
    display: block;
    width: 100%;
    height: 100dvh;
    overflow: scroll;
    -webkit-transition: 0.3s;
    transition: 0.3s;
    z-index: 1010;
  }
  .l-hd__wrap--nav.open {
    top: 0;
  }
  .l-hd-nav {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: calc(90 / 375 * 100vw) auto;
  }
  .l-hd-nav__list {
    width: 100%;
    margin: 0;
  }
  .l-hd-nav__lang {
    width: calc(280 / 375 * 100vw);
    margin: calc(20 / 375 * 100vw) auto 0;
  }
  .l-hd-nav-more {
    display: none;
    position: static;
    padding: calc(30 / 375 * 100vw) 0;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  .l-hd-nav-more__list {
    display: block;
  }
  .l-hd-nav-more__list .c-btn-more .ttl {
    margin-left: calc(15 / 375 * 100vw);
  }
  .l-hd-nav-more__close {
    display: none;
  }
  .l-hd.-absolute .hum {
    position: absolute;
  }
}
.l-nav {
  width: 100%;
  height: calc(100vh - 90px);
  background: #fff;
  border-top: 1px solid #CCCCCC;
  padding: 90px 0;
  overflow-y: scroll;
  display: none;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.l-nav.open {
  display: block;
}
.l-nav__wrap {
  max-width: 1000px;
  margin: 0 auto;
}
.l-nav__blks {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-nav__blks__blk {
  width: 25%;
  margin-bottom: 60px;
}
.l-nav__blks__blk__ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.l-nav__blks__blk__ttl small {
  display: block;
  font-size: 1.2rem;
  color: #CCCCCC;
  font-weight: 300;
  letter-spacing: 0.25em;
  margin-top: 5px;
}
.l-nav__blks__blk__links__link {
  display: block;
  margin-bottom: 10px;
  padding-left: 20px;
  font-weight: 500;
}

@media only screen and (max-width: 834px) {
  .l-nav {
    padding: calc(35 / 375 * 100vw) calc(15 / 375 * 100vw);
  }
  .l-nav__blks__blk {
    width: 50%;
    margin-bottom: calc(30 / 375 * 100vw);
  }
  .l-nav__blks__blk__ttl {
    font-size: calc(16 / 375 * 100vw);
    margin-bottom: calc(15 / 375 * 100vw);
  }
  .l-nav__blks__blk__ttl small {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(3 / 375 * 100vw);
  }
  .l-nav__blks__blk__ttl.--second {
    margin-top: calc(30 / 375 * 100vw);
  }
  .l-nav__blks__blk__links__link {
    margin-bottom: calc(15 / 375 * 100vw);
    padding-left: calc(20 / 375 * 100vw);
  }
  .l-nav__50th {
    width: 100%;
    margin-bottom: calc(35 / 375 * 100vw);
  }
  .l-nav__50th a,
  .l-nav__50th img {
    display: block;
    width: 100%;
  }
}
.p-banner_ft_before {
  padding: 60px 0;
  background-color: #F5F5F5;
}
@media only screen and (max-width: 834px) {
  .p-banner_ft_before {
    padding: calc(60 / 375 * 100vw) 0 calc(40 / 375 * 100vw);
  }
}
.p-banner_ft_before .textWrap {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: auto;
  margin-top: 20px;
  line-height: 1.6;
}
@media only screen and (max-width: 834px) {
  .p-banner_ft_before .textWrap {
    width: inherit;
    margin-left: 0;
    margin-right: 0;
  }
}
.p-banner_ft_before .text3 {
  color: #cc0000;
}

.l-ft {
  padding: 50px 0;
}
.l-ft__totop {
  position: fixed;
  bottom: -200px;
  left: 20px;
  z-index: 500;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
.l-ft__totop picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.l-ft__totop__img {
  width: 7px;
}
.l-ft__totop span {
  font-size: 1.2rem;
  margin-top: 10px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
  line-height: 1;
}
@media only screen and (min-width: 835px) {
  .l-ft__totop:hover {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
.l-ft__wrap {
  max-width: 1200px;
  margin: 0 auto;
  position: relative;
}
.l-ft__top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.l-ft__top__logo {
  width: calc(100% - 700px);
}
.l-ft__top__logo img {
  max-width: 350px;
  width: 70%;
}
.l-ft__top__blks {
  width: 700px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.l-ft__top__blks__blk {
  width: 33.3%;
  margin-bottom: 40px;
}
.l-ft__top__blks__blk.--mt0pc {
  margin-bottom: 0;
}
.l-ft__top__blks__blk__ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
}
.l-ft__top__blks__blk__ttl small {
  display: block;
  font-size: 1.2rem;
  color: #CCCCCC;
  font-weight: 300;
  letter-spacing: 0.25em;
  margin-top: 5px;
}
.l-ft__top__blks__blk__ttl.--second {
  margin-top: 55px;
}
.l-ft__top__blks__blk__links__link {
  display: block;
  margin-bottom: 15px;
  padding-left: 20px;
  font-weight: 500;
}
.l-ft__copy {
  font-size: 1.2rem;
  float: left;
  color: #999999;
  position: absolute;
  bottom: 20px;
  left: 0;
}

@media only screen and (max-width: 834px) {
  .l-ft {
    padding: 0;
  }
  .l-ft__totop {
    left: calc(15 / 375 * 100vw);
  }
  .l-ft__totop picture {
    display: block;
  }
  .l-ft__totop__img {
    width: calc(7 / 375 * 100vw);
    margin: 0 auto;
    display: block;
  }
  .l-ft__totop span {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(10 / 375 * 100vw);
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
    line-height: 1;
  }
  .l-ft__wrap {
    padding: calc(40 / 375 * 100vw) calc(40 / 375 * 100vw) calc(60 / 375 * 100vw);
  }
  .l-ft__top {
    display: block;
  }
  .l-ft__top__logo {
    width: 100%;
    margin-bottom: calc(45 / 375 * 100vw);
  }
  .l-ft__top__logo img {
    width: calc(250 / 375 * 100vw);
  }
  .l-ft__top__blks {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .l-ft__top__blks__blk {
    width: 50%;
    margin-bottom: calc(50 / 375 * 100vw);
  }
  .l-ft__top__blks__blk.--mt0pc {
    margin-bottom: calc(50 / 375 * 100vw);
  }
  .l-ft__top__blks__blk:nth-of-type(2n) {
    padding-left: 2%;
  }
  .l-ft__top__blks__blk__ttl {
    font-size: calc(16 / 375 * 100vw);
    margin-bottom: calc(15 / 375 * 100vw);
  }
  .l-ft__top__blks__blk__ttl small {
    font-size: calc(12 / 375 * 100vw);
    margin-top: calc(3 / 375 * 100vw);
  }
  .l-ft__top__blks__blk__ttl.--second {
    margin-top: calc(30 / 375 * 100vw);
  }
  .l-ft__top__blks__blk__links__link {
    display: block;
    font-size: calc(13 / 375 * 100vw);
    margin-bottom: calc(15 / 375 * 100vw);
    letter-spacing: 0;
    padding-left: calc(15 / 375 * 100vw);
    font-weight: 500;
  }
  .l-ft__copy {
    font-size: calc(10 / 375 * 100vw);
    position: unset;
    bottom: 0;
    margin-top: calc(25 / 375 * 100vw);
  }
}
.p-footer_50th {
  position: absolute;
  top: 350px;
  left: 0;
}
@media only screen and (max-width: 834px) {
  .p-footer_50th {
    margin-top: calc(-40 / 375 * 100vw);
    position: relative;
    top: inherit;
    left: inherit;
  }
}
.p-footer_50th a {
  width: 358px;
  display: block;
  position: relative;
}
@media only screen and (max-width: 834px) {
  .p-footer_50th a {
    width: inherit;
  }
}
.p-footer_50th a .p-footer_50th__img {
  width: 100%;
  height: auto;
}
.p-footer_50th a .p-footer_50th__img--hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.p-footer_50th a:hover, .p-footer_50th a:focus-visible {
  opacity: 1 !important;
}
.p-footer_50th a:hover .p-footer_50th__img--hover, .p-footer_50th a:focus-visible .p-footer_50th__img--hover {
  opacity: 1;
}
.p-footer_50th a:hover img, .p-footer_50th a:focus-visible img {
  opacity: 1 !important;
}

.l-main {
  margin: 0 auto;
}
.l-main-bredcrumb {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  font-size: 13px;
  letter-spacing: 0.05em;
  line-height: 2.62;
  max-width: 100vw;
  overflow-x: auto;
}
.l-main-bredcrumb.c-outer {
  width: 93%;
  margin-left: 7%;
}
.l-main-bredcrumb li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-right: 3px;
  white-space: nowrap;
}
.l-main-bredcrumb li::before {
  border-color: #cc0000;
}
.l-main-archive__fv {
  position: relative;
}
.l-main-archive__fv--txt {
  position: absolute;
  top: 0;
  left: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  height: 100%;
  font-size: 40px;
  letter-spacing: 0em;
  line-height: 1;
  font-weight: 500;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.l-main .js-acd-btn {
  position: relative;
}
.l-main .js-acd-btn::before, .l-main .js-acd-btn::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  right: 5%;
  width: 12px;
  height: 1px;
  background: #fff;
  -webkit-transform-origin: center;
          transform-origin: center;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.l-main .js-acd-btn::after {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.l-main .js-acd-btn.open::after {
  -webkit-transform: rotate(0);
          transform: rotate(0);
}

@media only screen and (max-width: 834px) {
  .l-main {
    margin: 0 auto;
  }
  .l-main-bredcrumb {
    font-size: calc(11 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 3.09;
  }
  .l-main-bredcrumb li::before {
    width: 0.45em;
    height: 0.45em;
    -webkit-transform: translateY(-25%) rotate(45deg);
            transform: translateY(-25%) rotate(45deg);
  }
  .l-main-archive__fv--txt {
    font-size: calc(22 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.82;
  }
}
.p-top {
  overflow: hidden;
  margin-top: -90px;
}
.p-top-loaded {
  width: 100vw;
  height: 100vh;
  -webkit-transition: all 1s;
  transition: all 1s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  pointer-events: none;
}
.p-top-loaded__spinner {
  width: 600px;
}
.p-top-loaded.loaded {
  opacity: 0;
}
.p-top-mv {
  padding: 0;
  position: relative;
}
.p-top-mv__ttlarea {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  max-width: 660px;
  background: #fff;
  border-radius: 0 15px 0 0;
  z-index: 10;
  padding: 50px 50px 50px 70px;
}
.p-top-mv__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
.p-top-mv__slide {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-animation: loop-slide 40s infinite linear 1s both;
          animation: loop-slide 40s infinite linear 1s both;
}
.p-top-mv__slide__item {
  width: 64vw;
  margin: 0 0.5vw;
}
.p-top-mv__slide__item p {
  width: 100%;
  height: 0;
  padding-bottom: 66%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.p-top-mv__slide__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@-webkit-keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
@keyframes loop-slide {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
}
.p-top-mv__scroll {
  position: absolute;
  bottom: 65px;
  left: 30px;
  z-index: 20;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  color: #fff;
}
.p-top-mv__scroll picture {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-top-mv__scroll__img {
  width: 7px;
  height: 48px;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-top-mv__scroll span {
  font-size: 1.2rem;
  margin-bottom: 10px;
  line-height: 1;
}
@media only screen and (min-width: 835px) {
  .p-top-mv__scroll:hover {
    opacity: 1;
    -webkit-transform: scale(1.03);
            transform: scale(1.03);
  }
}
.p-top-mvslide {
  position: relative;
}
.p-top-mvslide__slide {
  height: 100vh;
}
.p-top-mvslide ul {
  height: 100vh;
  opacity: 0;
  -webkit-transition: 2s;
  transition: 2s;
}
.p-top-mvslide ul.slick-initialized {
  opacity: 1;
  -webkit-transition: 2s;
  transition: 2s;
}
.p-top-mvslide ul li {
  position: relative;
}
.p-top-mvslide ul li .-pic {
  display: block;
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-transition: 0;
  transition: 0;
}
.p-top-mvslide ul li .-img {
  width: 100%;
  height: 100vh;
  -o-object-fit: cover;
     object-fit: cover;
}
@-webkit-keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
@keyframes zoomUp {
  0% {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  100% {
    -webkit-transform: scale(1.15);
            transform: scale(1.15);
  }
}
.p-top-mvslide ul li p {
  position: absolute;
  bottom: 60px;
  left: 80px;
}
.p-top-mvslide ul li p img {
  width: auto;
  height: 90px;
}
.p-top-mvslide ul .slick-current .-pic, .p-top-mvslide ul .slick-active .-pic {
  -webkit-animation: zoomUp 9s linear 0s 1 normal both;
          animation: zoomUp 9s linear 0s 1 normal both;
}
.p-top-mvslide ul .slick-current.animate-zoom .-pic, .p-top-mvslide ul .slick-active.animate-zoom .-pic {
  -webkit-animation: zoomUp 7s linear 0s 1 normal both;
          animation: zoomUp 7s linear 0s 1 normal both;
}
.p-top-mvslide ul .slick-dots {
  height: auto;
  bottom: 20px;
  text-align: right;
  padding-right: 40px;
}
.p-top-mvslide ul .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 7px;
}
.p-top-mvslide ul .slick-dots li button {
  width: 10px;
  height: 10px;
  border: 1px solid #fff;
  border-radius: 50%;
}
.p-top-mvslide ul .slick-dots li button::before {
  content: none;
}
.p-top-mvslide ul .slick-dots li.slick-active button {
  background: #fff;
}
.p-top-about {
  padding: 100px 0 170px;
  position: relative;
}
.p-top-about__inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-top-about__imgs {
  width: 60%;
}
.p-top-about__imgs__main {
  width: 100%;
  height: 460px;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.p-top-about__imgs__main img {
  position: absolute;
  top: 0;
  right: 0;
}
.p-top-about__imgs__sub {
  position: absolute;
  top: 40%;
  z-index: -1;
  width: 675px;
  left: 0;
}
.p-top-about__txtarea {
  width: 33%;
}
.p-top-about__txtarea__subttl {
  margin-top: 50px;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.1em;
}
.p-top-bs {
  padding: 90px 0;
  background: url(../img/top/business_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center;
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.p-top-bs__inr {
  position: relative;
}
.p-top-bs__blk {
  width: 390px;
  margin-left: 5%;
}
.p-top-bs__blk__txt {
  margin: 30px 0 35px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
}
.p-top-bs__blk__img {
  position: absolute;
  top: -22%;
  right: -6%;
  width: 740px;
}
@media (max-width: 1300px) {
  .p-top-bs__blk__img {
    right: 0;
  }
}
.p-top-works {
  padding: 100px 0;
}
.p-top-works__inr {
  max-width: 1050px;
  margin: 0 auto;
  position: relative;
}
.p-top-works__ttl {
  margin-left: 10px;
  margin-bottom: 40px;
}
.p-top-works__slide {
  position: relative;
}
.p-top-works__slide::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 10;
}
.p-top-works__slide::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.6);
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 10;
}
.p-top-works__slide .slick-list {
  overflow: visible;
}
.p-top-works__slide .slick-slide {
  margin: 0 10px;
}
.p-top-works__slide .slick-arrow {
  top: 35%;
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  z-index: 20;
}
.p-top-works__slide .slick-arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/slide_arw.png) no-repeat;
  background-size: contain;
}
.p-top-works__slide .slick-prev::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-top-works__slide__item .-img {
  width: 100%;
  height: 0;
  padding-bottom: 66.6%;
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
.p-top-works__slide__item .-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.p-top-works__slide__item .-ctg {
  margin: 10px 0 5px;
  position: relative;
}
.p-top-works__slide__item .-ctg span {
  font-weight: 500;
  color: #fff;
  line-height: 1;
  padding: 2px 10px;
  background: #999999;
  border-radius: 20px;
}
.p-top-works__slide__item .-ctg::before {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  background: #cc0000;
  position: absolute;
  top: 50%;
  right: 5%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.p-top-works__slide__item .-txt {
  font-size: 1.8rem;
  font-weight: bold;
}
.p-top-works__slide__item a:hover {
  opacity: 1;
}
.p-top-works__slide__item a:hover .-img img {
  -webkit-transform: translate(-50%, -50%) scale(1.1);
          transform: translate(-50%, -50%) scale(1.1);
}
.p-top-works__slide__item a:hover .-ctg::before {
  -webkit-transform: translateY(-50%) translateX(3px);
          transform: translateY(-50%) translateX(3px);
}
.p-top-works__link {
  position: absolute;
  top: 0;
  right: -5%;
  width: 260px;
}
.p-top-news {
  background: #F5F5F5;
  padding: 60px 0;
}
.p-top-news__inr {
  background: #fff;
  padding: 60px;
  border-radius: 20px;
  position: relative;
  z-index: 0;
}
.p-top-news__ttl {
  margin-bottom: 30px;
}
.p-top-news__items__item {
  margin-top: 1px;
}
.p-top-news__items__item__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
}
.p-top-news__items__item__link .-date {
  width: 85px;
  font-size: 1.2rem;
  font-weight: 300;
  color: #999999;
}
.p-top-news__items__item__link .-date.--red {
  color: #cc0000;
}
.p-top-news__items__item__link .-ctg {
  display: inline-block;
  color: #fff;
  line-height: 1;
  padding: 7px 10px;
  min-width: 70px;
  border-radius: 30px;
  background: #999999;
  font-weight: 500;
  text-align: center;
  margin-right: 15px;
}
.p-top-news__items__item__link .-ctg.--red {
  background: -webkit-gradient(linear, left top, left bottom, from(#ED1C25), to(#D50303));
  background: linear-gradient(to bottom, #ED1C25 0%, #D50303 100%);
}
.p-top-news__items__item__link::after {
  -webkit-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
}
@media only screen and (min-width: 835px) {
  .p-top-news__items__item__link:hover {
    opacity: 0.6;
    color: #333333;
  }
  .p-top-news__items__item__link:hover::before {
    background: #cc0000;
  }
  .p-top-news__items__item__link:hover::after {
    width: 100%;
  }
}
.p-top-news__link {
  position: absolute;
  top: 60px;
  right: 50px;
  width: 260px;
}
.p-top-recruit {
  background: #cc0000;
  padding: 80px 0;
  color: #fff;
  position: relative;
  z-index: 0;
}
.p-top-recruit__inr {
  position: relative;
}
.p-top-recruit__blk {
  width: 390px;
  padding: 80px 0;
  margin-left: auto;
}
.p-top-recruit__blk__ttl {
  font-size: 4rem;
  letter-spacing: 0;
}
.p-top-recruit__blk__ttl small {
  color: #fff;
}
.p-top-recruit__blk__txt {
  margin: 30px 0 65px;
  font-size: 1.6rem;
  line-height: 2;
}
.p-top-recruit__blk__img {
  position: absolute;
  overflow: hidden;
  border-radius: 0 10px 10px 0;
  top: 50%;
  left: 0;
  width: 55%;
  height: 100%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-top-recruit__blk__img span {
  -webkit-transform: translateY(-153px);
          transform: translateY(-153px);
  display: block;
}
.p-top-recruit__blk__link__btn {
  color: #fff;
}
.p-top-recruit__blk__link__btn::before {
  background: #fff;
}
.p-top-recruit__blk__link__btn::after {
  background: #fff;
}

@media only screen and (max-width: 834px) {
  .p-top {
    margin-top: calc(-70 / 375 * 100vw);
  }
  .p-top-loaded__spinner {
    width: calc(300 / 375 * 100vw);
  }
  .p-top-mv {
    padding-bottom: calc(80 / 375 * 100vw);
  }
  .p-top-mv__ttlarea {
    position: relative;
    width: 90%;
    max-width: unset;
    background: #fff;
    border-radius: none;
    padding: calc(40 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
    margin: 0 auto;
  }
  .p-top-mv__slide {
    -webkit-animation: loop-slide 25s infinite linear 1s both;
            animation: loop-slide 25s infinite linear 1s both;
  }
  .p-top-mv__slide__item {
    width: 90vw;
    margin: 0 0.5vw;
  }
  .p-top-mv__scroll {
    bottom: calc(32 / 375 * 100vw);
    left: calc(20 / 375 * 100vw);
  }
  .p-top-mv__scroll picture {
    display: block;
  }
  .p-top-mv__scroll__img {
    width: calc(7 / 375 * 100vw);
    height: calc(28 / 375 * 100vw);
    display: block;
    margin: 0 auto;
  }
  .p-top-mv__scroll span {
    font-size: calc(12 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }
  .p-top-mvslide ul {
    height: 100vh;
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .p-top-mvslide ul li {
    position: relative;
  }
  .p-top-mvslide ul li p {
    position: absolute;
    bottom: auto;
    top: 20%;
    left: calc(20 / 375 * 100vw);
  }
  .p-top-mvslide ul li p img {
    height: calc(56 / 375 * 100vw);
    width: auto;
  }
  .p-top-mvslide ul li p img.-ttl03 {
    height: calc(99 / 375 * 100vw);
  }
  .p-top-mvslide ul .slick-dots {
    height: auto;
    bottom: calc(15 / 375 * 100vw);
    text-align: right;
    padding-right: calc(10 / 375 * 100vw);
    margin-bottom: 0;
  }
  .p-top-mvslide ul .slick-dots li {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    margin: 0 calc(7 / 375 * 100vw);
  }
  .p-top-mvslide ul .slick-dots li button {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    border: Vw(1) solid #fff;
  }
  .p-top-about {
    padding: calc(20 / 375 * 100vw) 0 calc(70 / 375 * 100vw);
  }
  .p-top-about .c-outer {
    width: 100%;
  }
  .p-top-about__inr {
    display: block;
  }
  .p-top-about__imgs {
    width: 100%;
    position: relative;
  }
  .p-top-about__imgs__ttl {
    width: 90%;
    margin: 0 auto calc(25 / 375 * 100vw);
  }
  .p-top-about__imgs__main {
    width: 92.5%;
    height: calc(220 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw) 0 0 calc(10 / 375 * 100vw);
    margin-left: auto;
    overflow: hidden;
    position: relative;
  }
  .p-top-about__imgs__main img {
    right: auto;
    left: 0;
  }
  .p-top-about__imgs__sub {
    top: 52%;
    left: -9%;
    width: 95%;
  }
  .p-top-about__txtarea {
    width: 90%;
    margin: 0 auto;
  }
  .p-top-about__txtarea__subttl {
    margin-top: calc(70 / 375 * 100vw);
    margin-bottom: calc(20 / 375 * 100vw);
    font-size: calc(24 / 375 * 100vw);
  }
  .p-top-about__txtarea__lists {
    width: 90%;
    margin: 0 auto;
    max-width: calc(275 / 375 * 100vw);
  }
  .p-top-bs {
    padding: calc(60 / 375 * 100vw) 0;
    background: url(../img/top/business_bg_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
  }
  .p-top-bs__blk {
    width: 100%;
    margin-left: 0;
  }
  .p-top-bs__blk__txt {
    margin: calc(20 / 375 * 100vw) 0 calc(15 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.8;
  }
  .p-top-bs__blk__img {
    position: relative;
    top: auto;
    right: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
  .p-top-bs__blk__lists {
    width: 90%;
    margin: calc(35 / 375 * 100vw) auto 0;
    max-width: calc(275 / 375 * 100vw);
  }
  .p-top-works {
    padding: calc(55 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
  }
  .p-top-works__inr {
    max-width: auro;
  }
  .p-top-works__ttl {
    width: 90%;
    margin: 0 auto calc(20 / 375 * 100vw);
  }
  .p-top-works__slide::before {
    left: 84%;
  }
  .p-top-works__slide::after {
    left: auto;
    right: 84%;
  }
  .p-top-works__slide .slick-list {
    overflow: hidden;
  }
  .p-top-works__slide .slick-slide {
    margin: 0 calc(10 / 375 * 100vw);
  }
  .p-top-works__slide .slick-slide div {
    -webkit-transition: none;
    transition: none;
  }
  .p-top-works__slide .slick-arrow {
    top: 30%;
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
    z-index: 20;
  }
  .p-top-works__slide .slick-arrow.slick-disabled {
    visibility: hidden;
  }
  .p-top-works__slide .slick-prev {
    left: calc(36 / 375 * 100vw);
  }
  .p-top-works__slide .slick-next {
    right: calc(36 / 375 * 100vw);
  }
  .p-top-works__slide__item .-ctg {
    margin: calc(15 / 375 * 100vw) 0 calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
  }
  .p-top-works__slide__item .-ctg span {
    padding: calc(5 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-radius: calc(20 / 375 * 100vw);
  }
  .p-top-works__slide__item .-ctg::before {
    width: calc(12 / 375 * 100vw);
    height: calc(12 / 375 * 100vw);
    right: calc(10 / 375 * 100vw);
  }
  .p-top-works__slide__item .-txt {
    font-size: calc(14 / 375 * 100vw);
  }
  .p-top-works__link {
    position: relative;
    top: auto;
    right: auto;
    width: 76%;
    margin: calc(35 / 375 * 100vw) auto 0;
    max-width: calc(275 / 375 * 100vw);
  }
  .p-top-news {
    padding: calc(60 / 375 * 100vw) 0 calc(40 / 375 * 100vw);
  }
  .p-top-news__inr {
    padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
    border-radius: calc(15 / 375 * 100vw);
  }
  .p-top-news__ttl {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .p-top-news__items__item__link {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: calc(14 / 375 * 100vw);
    font-weight: 500;
    padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw) calc(10 / 375 * 100vw) 0;
  }
  .p-top-news__items__item__link .-date {
    width: calc(90 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-top-news__items__item__link .-ctg {
    font-size: calc(12 / 375 * 100vw);
    padding: calc(5 / 375 * 100vw) calc(10 / 375 * 100vw);
    min-width: calc(50 / 375 * 100vw);
    border-radius: calc(30 / 375 * 100vw);
    margin-right: 0;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-top-news__items__item__link .-ctg.--red {
    background: #cc0000;
  }
  .p-top-news__items__item__link::before {
    right: calc(5 / 375 * 100vw);
  }
  .p-top-news__link {
    position: relative;
    top: auto;
    right: auto;
    width: 95%;
    margin: calc(40 / 375 * 100vw) auto 0;
    max-width: calc(275 / 375 * 100vw);
  }
  .p-top-recruit {
    padding: calc(40 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
  }
  .p-top-recruit__blk {
    width: 100%;
    padding: 0;
  }
  .p-top-recruit__blk__ttl {
    font-size: calc(32 / 375 * 100vw);
    text-align: center;
  }
  .p-top-recruit__blk__ttl small {
    display: none;
  }
  .p-top-recruit__blk__txt {
    margin: calc(20 / 375 * 100vw) 0 calc(25 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    text-align: center;
  }
  .p-top-recruit__blk__img {
    position: relative;
    top: auto;
    right: auto;
    width: 100vw;
    height: auto;
    margin-left: calc(50% - 50vw);
    left: -5%;
    max-width: unset;
    border-radius: 0 calc(5 / 375 * 100vw) calc(5 / 375 * 100vw) 0;
    -webkit-transform: none;
            transform: none;
  }
  .p-top-recruit__blk__link {
    max-width: calc(275 / 375 * 100vw);
    margin: calc(45 / 375 * 100vw) auto 0;
  }
  .p-top-recruit__blk__link__btn {
    color: #fff;
  }
  .p-top-recruit__blk__link__btn::before {
    background: #fff;
  }
  .p-top-recruit__blk__link__btn::after {
    background: #fff;
  }
}
.p-top_50th_btn {
  width: 550px;
  margin: 100px auto auto;
}
@media only screen and (max-width: 834px) {
  .p-top_50th_btn {
    width: 90%;
    margin-top: 80px;
    margin-bottom: 50px;
  }
}
.p-top_50th_btn a {
  display: block;
  position: relative;
}
.p-top_50th_btn a .p-top_50th_btn__img {
  width: 100%;
  height: auto;
}
.p-top_50th_btn a .p-top_50th_btn__img--hover {
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.p-top_50th_btn a:hover, .p-top_50th_btn a:focus-visible {
  opacity: 1 !important;
}
.p-top_50th_btn a:hover .p-top_50th_btn__img--hover, .p-top_50th_btn a:focus-visible .p-top_50th_btn__img--hover {
  opacity: 1;
}
.p-top_50th_btn a:hover img, .p-top_50th_btn a:focus-visible img {
  opacity: 1 !important;
}

.p-our {
  overflow: hidden;
}
.p-our-commv {
  position: relative;
}
.p-our-commv::after {
  content: "";
  width: 100vw;
  height: 200px;
  background: #F5F5F5;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
.p-our-commv__inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-our-commv__ttl {
  font-size: 4.6rem;
  font-weight: bold;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  letter-spacing: 0.2em;
}
.p-our-commv__ttl span {
  font-size: 2.8rem;
  font-weight: 500;
  margin-left: 70px;
  position: relative;
}
.p-our-commv__ttl span::before {
  content: "";
  display: block;
  width: 30px;
  height: 1px;
  background: #333333;
  position: absolute;
  top: 50%;
  left: -50px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-our-commv__ttl small {
  font-size: 1.6rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 300;
  display: block;
  width: 100%;
  color: #999999;
  letter-spacing: 0.1em;
}
.p-our-commv__nav__list {
  font-size: 2rem;
  color: #999999;
  font-weight: 500;
  letter-spacing: 0.15em;
}
.p-our-commv__nav__list:not(:first-of-type) {
  margin-top: 10px;
}
.p-our-commv__nav__list p {
  padding-left: 30px;
}
.p-our-commv__nav__list a {
  color: #333333;
  padding-left: 30px;
}
.p-our-commv__nav__list a:before {
  width: 15px;
  height: 15px;
}
.p-our-commv__img {
  position: relative;
  margin-top: 50px;
  margin-left: calc(50vw - 580px);
  width: calc(100vw - (50vw - 580px));
  min-width: 1300px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-radius: 10px 0 0 10px;
  overflow: hidden;
  z-index: 1;
}
@media (max-width: 1160px) {
  .p-our-commv__img {
    margin-left: 2.5%;
  }
}
.p-our-commv__scroll {
  left: 20px;
  bottom: 0;
}
@media only screen and (max-width: 834px) {
  .p-our-commv::after {
    content: "";
    height: calc(70 / 375 * 100vw);
  }
  .p-our-commv__ttl {
    position: relative;
    font-size: calc(32 / 375 * 100vw);
    display: block;
    margin-bottom: calc(70 / 375 * 100vw);
  }
  .p-our-commv__ttl span {
    font-size: calc(24 / 375 * 100vw);
    font-weight: 500;
    margin-left: 0;
    position: absolute;
    bottom: calc(-50 / 375 * 100vw);
    left: 0;
    letter-spacing: 0.19em;
    width: 100vw;
  }
  .p-our-commv__ttl span::before {
    content: none;
  }
  .p-our-commv__ttl small {
    font-size: 1.4rem;
  }
  .p-our-commv__ttl.--spmb30 {
    margin-bottom: calc(25 / 375 * 100vw);
  }
  .p-our-commv__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .p-our-commv__nav__list {
    font-size: calc(14 / 375 * 100vw);
    width: 50%;
    padding-left: 0;
    text-align: center;
    position: relative;
  }
  .p-our-commv__nav__list::before {
    content: "";
    width: 1px;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-our-commv__nav__list:not(:first-of-type) {
    margin-top: 0;
  }
  .p-our-commv__nav__list:last-of-type::after, .p-our-commv__nav__list.--splast::after {
    content: "";
    width: 1px;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    top: 0;
    right: 0;
  }
  .p-our-commv__nav__list a {
    display: inline-block;
    padding-left: 0;
    padding: calc(10 / 375 * 100vw) 0;
    line-height: 1;
  }
  .p-our-commv__nav__list a::before {
    width: calc(10 / 375 * 100vw);
    height: calc(10 / 375 * 100vw);
    left: calc(-20 / 375 * 100vw) !important;
  }
  .p-our-commv__img {
    width: 100vw;
    margin-top: calc(0 / 375 * 100vw);
    margin-left: 5%;
    border-radius: calc(10 / 375 * 100vw) 0 0 calc(10 / 375 * 100vw);
    min-width: unset;
  }
  .p-our-commv__scroll {
    left: 5%;
    bottom: calc(-10 / 375 * 100vw);
  }
}
.p-our-commv.--red::after {
  background: #fff;
}
.p-our-comttl {
  font-size: 3.8rem;
  letter-spacing: 0.15em;
  font-weight: bold;
}
.p-our-comttl span {
  font-size: 2.4rem;
  font-weight: 500;
  display: block;
}
.p-our-comttl small {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: 300;
  color: #999999;
  display: block;
  margin-top: 5px;
  letter-spacing: 0.15em;
}
@media only screen and (max-width: 834px) {
  .p-our-comttl {
    font-size: calc(32 / 375 * 100vw);
  }
  .p-our-comttl span {
    font-size: calc(20 / 375 * 100vw);
  }
  .p-our-comttl small {
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(3 / 375 * 100vw);
  }
}
.p-our-comtxt {
  line-height: 1.8;
  font-weight: 500;
}
.p-our-comtxt strong {
  display: block;
  font-size: 2.4rem;
  line-height: 2;
}
.p-our-comtxt strong.--first {
  margin-top: 15px;
}
.p-our-comtxt strong.--last {
  margin-bottom: 30px;
}
.p-our-comtxt strong span {
  color: #cc0000;
  font-weight: bold;
}
@media only screen and (max-width: 834px) {
  .p-our-comtxt {
    letter-spacing: 0;
  }
  .p-our-comtxt strong {
    font-size: calc(20 / 375 * 100vw);
    text-indent: -1.6em;
    padding-left: 2em;
    letter-spacing: 0.04em;
    line-height: 1.8;
  }
  .p-our-comtxt strong.--first {
    margin-top: calc(15 / 375 * 100vw);
  }
  .p-our-comtxt strong.--last {
    margin-bottom: calc(15 / 375 * 100vw);
  }
  .p-our-comtxt strong span {
    color: #cc0000;
    font-weight: bold;
  }
}
.p-our-combtmnav {
  background: #E8E8E8;
  padding: 15px 0;
}
.p-our-combtmnav__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-our-combtmnav__links__link {
  width: 33.3%;
  position: relative;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  color: #999999;
}
.p-our-combtmnav__links__link.--w {
  width: 50%;
}
.p-our-combtmnav__links__link::before {
  content: "";
  width: 1px;
  height: 100%;
  background: #CCCCCC;
  position: absolute;
  top: 0;
  left: 0;
}
.p-our-combtmnav__links__link:last-of-type::after {
  content: "";
  width: 1px;
  height: 100%;
  background: #CCCCCC;
  position: absolute;
  top: 0;
  right: 0;
}
.p-our-combtmnav__links__link__txt {
  padding: 15px 0;
}
.p-our-combtmnav__links__link__btn {
  display: block;
  font-weight: 500;
  padding: 15px 0;
}
.p-our-combtmnav__links__link__btn::before {
  right: 30px !important;
}
@media only screen and (max-width: 834px) {
  .p-our-combtmnav {
    padding: 0;
  }
  .p-our-combtmnav__links {
    display: block;
  }
  .p-our-combtmnav__links__link {
    width: 100%;
    font-size: calc(18 / 375 * 100vw);
    font-weight: 500;
  }
  .p-our-combtmnav__links__link.--w {
    width: 100%;
  }
  .p-our-combtmnav__links__link::before, .p-our-combtmnav__links__link::after {
    content: none;
  }
  .p-our-combtmnav__links__link:last-of-type::before, .p-our-combtmnav__links__link:last-of-type::after {
    content: none;
  }
  .p-our-combtmnav__links__link:nth-of-type(2)::before {
    content: "";
    width: 100%;
    height: calc(1 / 375 * 100vw);
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-our-combtmnav__links__link:nth-of-type(2)::after {
    content: "";
    width: 100%;
    height: calc(1 / 375 * 100vw);
    background: #CCCCCC;
    position: absolute;
    bottom: 0;
    left: 0;
  }
  .p-our-combtmnav__links__link p {
    padding: calc(20 / 375 * 100vw) 0;
  }
  .p-our-combtmnav__links__link__btn {
    padding: calc(20 / 375 * 100vw) 0;
  }
  .p-our-combtmnav__links__link__btn::before {
    right: calc(10 / 375 * 100vw) !important;
  }
}
.p-our-identity {
  background: #F5F5F5;
  padding: 90px 0 100px;
  position: relative;
  z-index: 0;
}
.p-our-identity__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-our-identity__main__ttl {
  width: 300px;
}
.p-our-identity__main__txtarea {
  width: calc(100% - 300px);
}
.p-our-identity__main__links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 100%;
  margin: 35px 0 70px;
}
.p-our-identity__main__links__link {
  width: 32%;
}
.p-our-identity__main__links__link a {
  min-width: unset;
}
.p-our-identity__main__box {
  width: 100%;
  background: #fff;
  padding: 60px 50px;
  border-radius: 10px;
  text-align: center;
}
.p-our-identity__main__box__ttl {
  margin: 0 auto 60px;
}
@media only screen and (max-width: 834px) {
  .p-our-identity {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-our-identity__main {
    display: block;
  }
  .p-our-identity__main__ttl {
    width: 300px;
  }
  .p-our-identity__main__txtarea {
    width: 100%;
    margin: calc(20 / 375 * 100vw) 0 calc(30 / 375 * 100vw);
  }
  .p-our-identity__main__links {
    display: block;
    width: 85%;
    margin: calc(25 / 375 * 100vw) auto calc(50 / 375 * 100vw);
  }
  .p-our-identity__main__links__link {
    width: 100%;
  }
  .p-our-identity__main__box {
    padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
  }
  .p-our-identity__main__box__ttl {
    margin: 0 auto calc(20 / 375 * 100vw);
  }
  .p-our-identity__main__box p {
    text-align: left;
  }
}
.p-our-slogan {
  background: url(../img/thought/philosophy/slogan_bg.jpg) no-repeat;
  background-size: cover;
  background-position: bottom;
  color: #fff;
  padding: 100px 0 500px;
  text-align: center;
}
.p-our-slogan__ttl small {
  color: #fff;
}
.p-our-slogan__subttl {
  font-size: 6.2rem;
  font-weight: bold;
  letter-spacing: 0.25em;
  display: inline-block;
  padding: 10px 35px;
  margin: 20px 0 40px;
  position: relative;
}
.p-our-slogan__subttl::before {
  content: "";
  width: 25px;
  height: 25px;
  border-top: solid 2px #fff;
  border-left: solid 2px #fff;
  position: absolute;
  top: 0;
  left: 0;
}
.p-our-slogan__subttl::after {
  content: "";
  width: 25px;
  height: 25px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  top: 0;
  right: 0;
}
.p-our-slogan__subttl h3::before {
  content: "";
  width: 25px;
  height: 25px;
  border-bottom: solid 2px #fff;
  border-left: solid 2px #fff;
  position: absolute;
  bottom: 0;
  left: 0;
}
.p-our-slogan__subttl h3::after {
  content: "";
  width: 25px;
  height: 25px;
  border-bottom: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-our-slogan p {
  letter-spacing: 0.15em;
  line-height: 2;
}
@media only screen and (max-width: 834px) {
  .p-our-slogan {
    background: url(../img/thought/philosophy/slogan_bg_sp.jpg) no-repeat;
    background-size: cover;
    background-position: bottom;
    padding: calc(50 / 375 * 100vw) 0 calc(200 / 375 * 100vw);
  }
  .p-our-slogan__subttl {
    display: block;
    font-size: calc(26 / 375 * 100vw);
    padding: calc(20 / 375 * 100vw) 0;
    margin: calc(30 / 375 * 100vw) 0;
  }
  .p-our-slogan__subttl::before {
    content: "";
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    border-top: solid calc(2 / 375 * 100vw) #fff;
    border-left: solid calc(2 / 375 * 100vw) #fff;
  }
  .p-our-slogan__subttl::after {
    content: "";
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    border-top: solid calc(2 / 375 * 100vw) #fff;
    border-right: solid calc(2 / 375 * 100vw) #fff;
  }
  .p-our-slogan__subttl h3::before {
    content: "";
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    border-bottom: solid calc(2 / 375 * 100vw) #fff;
    border-left: solid calc(2 / 375 * 100vw) #fff;
  }
  .p-our-slogan__subttl h3::after {
    content: "";
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    border-bottom: solid calc(2 / 375 * 100vw) #fff;
    border-right: solid calc(2 / 375 * 100vw) #fff;
  }
  .p-our-slogan p {
    text-align: left;
  }
}
.p-our-features {
  background: #F5F5F5;
  padding: 90px 0;
}
.p-our-features__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-our-features__main__ttl {
  width: 320px;
}
.p-our-features__main__txtarea {
  width: calc(100% - 320px);
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2;
}
.p-our-features__blk {
  margin-top: 70px;
  position: relative;
}
.p-our-features__blk__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-our-features__blk__txtarea {
  width: 550px;
  padding-right: 60px;
}
.p-our-features__blk__txtarea__ttl {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.14em;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #CCCCCC;
}
.p-our-features__blk__txtarea__ttl span {
  display: block;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 2.4rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.p-our-features__blk__txtarea__txt {
  text-align: justify;
  letter-spacing: 0.2em;
  line-height: 2;
}
.p-our-features__blk__txtarea__attn {
  margin-top: 15px;
  font-size: 1.4rem;
  text-indent: -1.5em;
  padding-left: 1.5em;
  letter-spacing: 0.15em;
}
.p-our-features__blk__img {
  width: calc(100% - 550px + 50vw - 520px);
  margin-right: calc((50vw - 520px) * -1);
}
@media (max-width: 1300px) {
  .p-our-features__blk__img {
    width: calc(100% - 550px + 130px);
    margin-right: -130px;
  }
}
.p-our-features__blk.--rev .p-our-features__blk__wrap {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
.p-our-features__blk.--rev .p-our-features__blk__txtarea {
  padding-right: 0;
  padding-left: 60px;
}
.p-our-features__blk.--rev .p-our-features__blk__img {
  margin-right: 0;
  margin-left: calc((50vw - 520px) * -1);
}
@media (max-width: 1300px) {
  .p-our-features__blk.--rev .p-our-features__blk__img {
    margin-left: -130px;
  }
}
@media only screen and (max-width: 834px) {
  .p-our-features {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-our-features__main {
    display: block;
  }
  .p-our-features__main__ttl {
    width: 100%;
  }
  .p-our-features__main__txtarea {
    width: 100%;
    font-size: calc(20 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    line-height: 1.6;
    text-align: justify;
  }
  .p-our-features__blk {
    margin-top: calc(50 / 375 * 100vw);
    position: relative;
  }
  .p-our-features__blk__wrap {
    display: block;
  }
  .p-our-features__blk__txtarea {
    width: 100%;
    padding-right: 0;
  }
  .p-our-features__blk__txtarea__ttl {
    font-size: calc(20 / 375 * 100vw);
    letter-spacing: 0.2em;
    padding-bottom: calc(15 / 375 * 100vw);
    margin-bottom: calc(15 / 375 * 100vw);
  }
  .p-our-features__blk__txtarea__ttl span {
    font-size: calc(16 / 375 * 100vw);
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-our-features__blk__txtarea__txt {
    letter-spacing: 0.1em;
    line-height: 1.8;
  }
  .p-our-features__blk__txtarea__attn {
    margin-top: calc(10 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    word-break: break-all;
  }
  .p-our-features__blk__img {
    width: 100%;
    margin: calc(20 / 375 * 100vw) 0 0;
  }
  .p-our-features__blk.--rev .p-our-features__blk__wrap {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
  .p-our-features__blk.--rev .p-our-features__blk__txtarea {
    padding-right: 0;
    padding-left: 0;
  }
  .p-our-features__blk.--rev .p-our-features__blk__img {
    margin: calc(20 / 375 * 100vw) 0 0;
  }
}
.p-our-message {
  background: #F5F5F5;
  padding: 90px 0;
}
.p-our-message__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-our-message__main__ttl {
  width: 400px;
}
.p-our-message__main__txtarea {
  width: calc(100% - 400px);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.15em;
  text-align: justify;
}
.p-our-message__main__txtarea__name {
  text-align: right;
  margin-top: 50px;
  line-height: 1.6;
}
.p-our-message__main__txtarea__name strong img {
  width: 140px;
  margin-top: 15px;
}
@media only screen and (max-width: 834px) {
  .p-our-message {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-our-message__main {
    display: block;
  }
  .p-our-message__main__ttl {
    width: 100%;
  }
  .p-our-message__main__txtarea {
    width: 100%;
    margin-top: calc(30 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
  }
  .p-our-message__main__txtarea__name {
    margin-top: calc(50 / 375 * 100vw);
  }
  .p-our-message__main__txtarea__name strong img {
    width: calc(120 / 375 * 100vw);
    margin-top: calc(15 / 375 * 100vw);
  }
}

.p-our-identity__hr {
  margin: 40px auto;
  width: 880px;
  height: 1px;
  background-color: #ccc;
}
@media only screen and (max-width: 834px) {
  .p-our-identity__hr {
    width: 100%;
    margin: 30px auto;
  }
}

.p-our-identity__text {
  line-height: 1.8;
}
@media only screen and (max-width: 834px) {
  .p-our-identity__text {
    text-align: left;
  }
}

.p-recruit {
  position: relative;
  background: -webkit-gradient(linear, right top, left top, from(#ED1C25), to(#D50303));
  background: linear-gradient(to left, #ED1C25 0%, #D50303 100%);
  overflow: hidden;
  letter-spacing: 0.15em;
}
.p-recruit-bread {
  color: #fff;
}
.p-recruit-bread li a {
  color: #fff;
}
.p-recruit-commv {
  color: #fff;
}
.p-recruit-commv::after {
  background: #fff;
}
.p-recruit-commv__ttl small {
  color: #fff;
}
.p-recruit-commv__nav a {
  color: #fff;
}
.p-recruit-commv__nav a::before {
  background: #fff;
}
@media only screen and (max-width: 834px) {
  .p-recruit-commv::after {
    height: calc(90 / 375 * 100vw);
  }
  .p-recruit-commv__ttl {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .p-recruit-commv__nav__list::before, .p-recruit-commv__nav__list::after {
    background: #fff !important;
  }
}
.p-recruit-comtxt:not(:first-child) {
  margin-top: 30px;
}
@media only screen and (max-width: 834px) {
  .p-recruit-comtxt:not(:first-child) {
    margin-top: calc(20 / 375 * 100vw);
  }
}
@-webkit-keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotation {
  0% {
    -webkit-transform: rotate(0);
            transform: rotate(0);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
.p-recruit-showbtn {
  position: absolute;
  bottom: -30px;
  right: 40px;
  width: 210px;
  height: 210px;
  border-radius: 50%;
  z-index: 10;
}
.p-recruit-showbtn__wrap {
  display: block;
  position: relative;
  width: 100%;
  height: 100%;
  padding: 50px 40px;
}
.p-recruit-showbtn__wrap::after {
  content: "";
  display: block;
  width: 210px;
  height: 210px;
  background: url(../img/recruit/show_btn_bg.png) no-repeat;
  background-size: contain;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-animation: 15s linear infinite rotation;
          animation: 15s linear infinite rotation;
  z-index: 0;
}
.p-recruit-showbtn__wrap span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 10;
  color: #cc0000;
  font-size: 2rem;
  font-weight: bold;
  text-align: justify;
  line-height: 1.8;
  letter-spacing: 0.12em;
}
.p-recruit-showbtn__wrap span::after {
  content: "";
  width: 60px;
  height: 15px;
  position: absolute;
  bottom: 8px;
  right: 11px;
  background: url(../img/recruit/show_btn_arw.svg) no-repeat;
  background-size: contain;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
@media only screen and (min-width: 835px) {
  .p-recruit-showbtn:hover {
    opacity: 1;
  }
  .p-recruit-showbtn:hover .p-recruit-showbtn__wrap span::after {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}
@media only screen and (max-width: 834px) {
  .p-recruit-showbtn {
    bottom: calc(-30 / 375 * 100vw);
    right: calc(10 / 375 * 100vw);
    width: calc(100 / 375 * 100vw);
    height: calc(100 / 375 * 100vw);
    background: #fff;
    border-radius: 50%;
  }
  .p-recruit-showbtn__wrap {
    padding: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .p-recruit-showbtn__wrap::after {
    width: calc(100 / 375 * 100vw);
    height: calc(100 / 375 * 100vw);
    background: url(../img/recruit/show_btn_bg_sp.svg) no-repeat;
    background-size: contain;
  }
  .p-recruit-showbtn__wrap span {
    font-size: calc(10 / 375 * 100vw);
    line-height: 1.6;
    letter-spacing: 0;
    margin-top: calc(5 / 375 * 100vw);
  }
  .p-recruit-showbtn__wrap span::after {
    width: calc(35 / 375 * 100vw);
    height: calc(6 / 375 * 100vw);
    bottom: calc(5 / 375 * 100vw);
    right: calc(-3 / 375 * 100vw);
  }
}
.p-recruit-sidebar {
  position: fixed;
  top: 50%;
  right: -100px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 2;
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.p-recruit-sidebar.--show {
  right: 0;
}
.p-recruit-sidebar a {
  display: block;
  width: 65px;
  height: 200px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: -webkit-gradient(linear, left top, left bottom, from(#ED1C25), to(#D50303));
  background: linear-gradient(to bottom, #ED1C25 0%, #D50303 100%);
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
.p-recruit-sidebar a::after {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
}
.p-recruit-sidebar a:first-of-type {
  margin-bottom: 2px;
  border-radius: 15px 0 0 0;
}
.p-recruit-sidebar a:first-of-type::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  background: #fff;
  margin-top: 10px;
}
.p-recruit-sidebar a:last-of-type {
  border-radius: 0 0 0 15px;
}
.p-recruit-sidebar a:last-of-type::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  -webkit-mask-image: url(../img/common/icon_arw.svg);
          mask-image: url(../img/common/icon_arw.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  background: #fff;
  margin-top: 10px;
}
@media only screen and (min-width: 835px) {
  .p-recruit-sidebar a:hover {
    opacity: 1;
  }
  .p-recruit-sidebar a:hover::after {
    -webkit-transform: translateX(3px);
            transform: translateX(3px);
  }
}
@media only screen and (max-width: 834px) {
  .p-recruit-sidebar {
    top: auto;
    bottom: calc(-70 / 375 * 100vw);
    right: auto;
    left: 0;
    -webkit-transform: none;
            transform: none;
    z-index: 501;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
  }
  .p-recruit-sidebar.--show {
    right: auto;
    bottom: 0;
  }
  .p-recruit-sidebar a {
    width: calc((100% - 2 / 375 * 100vw) / 2);
    height: calc(60 / 375 * 100vw);
    background: -webkit-gradient(linear, right top, left top, from(#ED1C25), to(#D50303));
    background: linear-gradient(to left, #ED1C25 0%, #D50303 100%);
    font-size: calc(18 / 375 * 100vw);
    font-weight: bold;
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
    -webkit-font-feature-settings: initial;
            font-feature-settings: initial;
  }
  .p-recruit-sidebar a::after {
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
  }
  .p-recruit-sidebar a:first-of-type {
    margin-bottom: 0;
    margin-right: calc(2 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw) 0 0 0;
  }
  .p-recruit-sidebar a:first-of-type::after {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    margin-top: 0;
    margin-left: calc(8 / 375 * 100vw);
  }
  .p-recruit-sidebar a:last-of-type {
    border-radius: 0 calc(10 / 375 * 100vw) 0 0;
  }
  .p-recruit-sidebar a:last-of-type::after {
    width: calc(13 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    margin-top: 0;
    margin-left: calc(8 / 375 * 100vw);
  }
}
.p-recruit-lead {
  background: #fff;
  padding: 100px 0;
}
.p-recruit-lead__txtarea {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-recruit-lead__txtarea__ttl {
  width: 400px;
  font-size: 3.3rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  line-height: 1.8;
}
.p-recruit-lead__txtarea__txt {
  width: calc(100% - 480px);
  font-size: 1.6rem;
  line-height: 2;
  text-align: justify;
}
@media only screen and (max-width: 834px) {
  .p-recruit-lead {
    padding: calc(50 / 375 * 100vw) 0;
  }
  .p-recruit-lead__txtarea {
    display: block;
  }
  .p-recruit-lead__txtarea__ttl {
    width: 100%;
    font-size: calc(27 / 375 * 100vw);
    line-height: 1.6;
  }
  .p-recruit-lead__txtarea__txt {
    margin-top: calc(30 / 375 * 100vw);
    width: 100%;
    font-size: calc(14 / 375 * 100vw);
    line-height: 2;
    text-align: justify;
  }
}
.p-recruit-human {
  background: #F5F5F5;
  padding: 100px 0;
}
.p-recruit-human__main__ttl {
  width: 330px;
}
.p-recruit-human__main__txtarea {
  width: calc(100% - 330px);
}
.p-recruit-human__main__box {
  margin-top: 60px;
}
@media only screen and (max-width: 834px) {
  .p-recruit-human {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-recruit-human__main__ttl {
    width: 100%;
  }
  .p-recruit-human__main__txtarea {
    width: 100%;
    margin: calc(30 / 375 * 100vw) auto;
  }
  .p-recruit-human__main__box {
    margin-top: calc(50 / 375 * 100vw);
  }
}
.p-recruit-num {
  position: relative;
  z-index: 0;
  padding: 100px 0;
  background-color: #fff;
  background-image: url(../img/recruit/num_bg.png);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  border-bottom: 1px solid #FAE8E8;
}
.p-recruit-num__main {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-recruit-num__main__ttl {
  width: 400px;
}
.p-recruit-num__main__txtarea {
  width: calc(100% - 400px);
}
.p-recruit-num__main__txtarea p {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  margin-bottom: 40px;
}
.p-recruit-num__main__txtarea a {
  width: 255px;
}
@media only screen and (max-width: 834px) {
  .p-recruit-num {
    padding: calc(50 / 375 * 100vw) 0;
    background-image: url(../img/recruit/num_bg_sp.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
  }
  .p-recruit-num__main {
    display: block;
  }
  .p-recruit-num__main__ttl {
    width: 100%;
  }
  .p-recruit-num__main__txtarea {
    width: 100%;
    margin-top: calc(20 / 375 * 100vw);
    text-align: justify;
  }
  .p-recruit-num__main__txtarea p {
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .p-recruit-num__main__txtarea a {
    width: calc(280 / 375 * 100vw);
    margin: 0 auto;
  }
}
.p-recruit-story {
  position: relative;
  z-index: 0;
  background: url(../img/recruit/story_bg.jpg) no-repeat;
  background-size: cover;
  background-position: center top;
  color: #fff;
  padding: 100px 0 580px;
  text-align: center;
  border-bottom: 1px solid #fff;
}
.p-recruit-story__ttl {
  margin-bottom: 40px;
}
.p-recruit-story__ttl small {
  color: #fff;
}
.p-recruit-story p {
  font-size: 1.6rem;
  letter-spacing: 0.15em;
  line-height: 2;
}
.p-recruit-story__btn {
  width: 390px;
  margin: 40px auto 0;
  text-align: left;
}
@media only screen and (max-width: 834px) {
  .p-recruit-story {
    background: url(../img/recruit/story_bg_sp.jpg) no-repeat;
    background-size: cover;
    background-position: center;
    padding: calc(50 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
    border-bottom: 2px solid #fff;
  }
  .p-recruit-story__ttl {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .p-recruit-story p {
    font-size: 1.4rem;
    text-align: left;
  }
  .p-recruit-story__btn {
    width: calc(275 / 375 * 100vw);
    margin: calc(40 / 375 * 100vw) auto 0;
  }
}

.p-new_graduate {
  overflow: hidden;
}

.p-new_graduate-comindent {
  padding-left: 15px;
  position: relative;
}
.p-new_graduate-comindent::before {
  content: "●";
  font-size: 1.1rem;
  position: absolute;
  top: 4px;
  left: 0;
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-comindent {
    padding-left: calc(15 / 375 * 100vw);
    position: relative;
  }
  .p-new_graduate-comindent::before {
    content: "●";
    font-size: calc(10 / 375 * 100vw);
    position: absolute;
    top: calc(3 / 375 * 100vw);
    left: 0;
  }
}

.p-new_graduate-comttl {
  font-size: 3.8rem;
}
.p-new_graduate-comttl small {
  margin-top: 5px;
  font-size: 1.6rem;
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-comttl {
    font-size: calc(32 / 375 * 100vw);
  }
  .p-new_graduate-comttl small {
    margin-top: 0;
    font-size: calc(14 / 375 * 100vw);
  }
}

.p-new_graduate-mailbtn {
  font-size: 2.8rem;
  font-weight: bold;
  text-align: center;
  border-radius: 10px;
  background: #fff;
  width: 100%;
  height: 115px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
}
.p-new_graduate-mailbtn::after {
  content: "";
  display: block;
  width: 50px;
  height: 35px;
  background: #cc0000;
  -webkit-mask-image: url(../img/common/icon_mail.svg);
          mask-image: url(../img/common/icon_mail.svg);
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  position: absolute;
  top: 50%;
  right: 60px;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
.p-new_graduate-mailbtn span {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 10px;
}
.p-new_graduate-mailbtn span::before {
  content: "";
  display: block;
  width: 130%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  background: url(../img/common/comlink_bg.png) no-repeat;
  background-position: center right;
  background-size: 100%;
  -webkit-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
.p-new_graduate-mailbtn p {
  position: relative;
  -webkit-transition: 0.6s ease-in-out;
  transition: 0.6s ease-in-out;
}
@media only screen and (min-width: 835px) {
  .p-new_graduate-mailbtn:hover {
    opacity: 1;
  }
  .p-new_graduate-mailbtn:hover::after {
    background: #fff;
  }
  .p-new_graduate-mailbtn:hover p {
    color: #fff;
  }
  .p-new_graduate-mailbtn:hover span::before {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-mailbtn {
    font-size: calc(15 / 375 * 100vw);
    border-radius: calc(5 / 375 * 100vw);
    width: 100%;
    height: calc(56 / 375 * 100vw);
  }
  .p-new_graduate-mailbtn::after {
    width: calc(15 / 375 * 100vw);
    height: calc(13 / 375 * 100vw);
    -webkit-mask-image: url(../img/common/icon_mail.svg);
            mask-image: url(../img/common/icon_mail.svg);
    right: calc(5 / 375 * 100vw);
  }
  .p-new_graduate-mailbtn span {
    display: none;
  }
}

.p-new_graduate-mv__img {
  margin-left: 0;
  width: 100%;
  height: auto;
  min-width: unset;
  overflow: visible;
}
.p-new_graduate-mv__img__cts {
  width: 100%;
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-mv__ttl {
    margin-bottom: calc(30 / 375 * 100vw);
  }
}

.p-new_graduate-job {
  background: #F5F5F5;
  padding: 90px 0 100px;
}
.p-new_graduate-job__ttl {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  padding: 10px 0;
  border-top: 2px solid #CCCCCC;
  border-bottom: 2px solid #CCCCCC;
  letter-spacing: 0.2em;
}
.p-new_graduate-job__nav {
  width: 100%;
  margin: 40px 0 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-new_graduate-job__nav__item {
  width: 100%;
  margin: 0 1.66% 20px 0;
}
.p-new_graduate-job__nav__item:last-of-type {
  margin-right: 0;
}
.p-new_graduate-job__nav__item__btn {
  position: relative;
  width: 100%;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: 1.6rem;
  font-weight: bold;
  background: #fff;
  border-radius: 5px;
}
.p-new_graduate-job__nav__item__btn.--act {
  background: #333333;
  color: #fff;
}
.p-new_graduate-job__nav__item__btn.--act::after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 10px solid transparent;
  border-left: 10px solid transparent;
  border-top: 10px solid #333333;
  border-bottom: 0;
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 835px) {
  .p-new_graduate-job__nav__item__btn:hover {
    opacity: 1;
    background: #333333;
    color: #fff;
  }
}
.p-new_graduate-job__tabcts {
  margin-top: 80px;
}
.p-new_graduate-job__tabcts__blk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-new_graduate-job__tabcts__blk:not(:first-of-type) {
  margin-top: 90px;
}
.p-new_graduate-job__tabcts__blk__ttl {
  width: 290px;
}
.p-new_graduate-job__tabcts__blk__txt {
  width: calc(100% - 290px);
  border-top: 1px solid #CCCCCC;
}
.p-new_graduate-job__tabcts__blk__txt dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-new_graduate-job__tabcts__blk__txt dl dt, .p-new_graduate-job__tabcts__blk__txt dl dd {
  border-bottom: 1px solid #CCCCCC;
  font-size: 1.6rem;
  font-weight: 500;
  padding: 25px 20px;
  line-height: 1.6;
}
.p-new_graduate-job__tabcts__blk__txt dl dt {
  width: 180px;
  background: #E8E8E8;
}
.p-new_graduate-job__tabcts__blk__txt dl dd {
  width: calc(100% - 180px);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-job {
    padding: calc(50 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
  }
  .p-new_graduate-job__ttl {
    font-size: 2rem;
    padding: calc(15 / 375 * 100vw) 0;
    border-top: 1px solid #CCCCCC;
    border-bottom: 1px solid #CCCCCC;
  }
  .p-new_graduate-job__nav {
    margin: calc(30 / 375 * 100vw) 0 calc(20 / 375 * 100vw);
  }
  .p-new_graduate-job__nav__item {
    width: 100%;
    margin: 0 1.66% calc(10 / 375 * 100vw) 0;
  }
  .p-new_graduate-job__nav__item__btn {
    height: calc(55 / 375 * 100vw);
    font-size: 1.4rem;
    border-radius: calc(5 / 375 * 100vw);
  }
  .p-new_graduate-job__nav__item__btn.--act::after {
    border-right: calc(7 / 375 * 100vw) solid transparent;
    border-left: calc(7 / 375 * 100vw) solid transparent;
    border-top: calc(7 / 375 * 100vw) solid #333333;
    border-bottom: 0;
  }
  .p-new_graduate-job__tabcts {
    margin-top: 0;
  }
  .p-new_graduate-job__tabcts__blk {
    display: block;
  }
  .p-new_graduate-job__tabcts__blk:not(:first-of-type) {
    margin-top: calc(60 / 375 * 100vw);
  }
  .p-new_graduate-job__tabcts__blk__ttl {
    width: 100%;
    margin-bottom: calc(30 / 375 * 100vw);
  }
  .p-new_graduate-job__tabcts__blk__txt {
    width: 100%;
    border-top: 1px solid #CCCCCC;
  }
  .p-new_graduate-job__tabcts__blk__txt dl {
    display: block;
  }
  .p-new_graduate-job__tabcts__blk__txt dl dt, .p-new_graduate-job__tabcts__blk__txt dl dd {
    border-bottom: 1px solid #CCCCCC;
    font-size: calc(14 / 375 * 100vw);
    padding: calc(20 / 375 * 100vw);
  }
  .p-new_graduate-job__tabcts__blk__txt dl dt {
    width: 100%;
    padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .p-new_graduate-job__tabcts__blk__txt dl dd {
    width: 100%;
  }
}

.p-new_graduate-entry {
  padding: 100px 0;
}
.p-new_graduate-entry__wrap {
  background: #F5F5F5;
  padding: 40px 80px;
  border-radius: 10px;
}
.p-new_graduate-entry__ttl {
  text-align: center;
  margin-bottom: 30px;
}
.p-new_graduate-entry__ttl small {
  color: #999999;
}
.p-new_graduate-entry__txt {
  margin-bottom: 40px;
  text-align: center;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.15em;
}
.p-new_graduate-entry__attn {
  text-align: center;
  margin-top: 20px;
  font-size: 1.4rem;
}
@media only screen and (max-width: 834px) {
  .p-new_graduate-entry {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-new_graduate-entry__wrap {
    padding: calc(30 / 375 * 100vw) calc(20 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
  }
  .p-new_graduate-entry__ttl {
    text-align: center;
    margin-bottom: calc(20 / 375 * 100vw);
    font-size: calc(20 / 375 * 100vw);
  }
  .p-new_graduate-entry__txt {
    margin-bottom: calc(20 / 375 * 100vw);
    text-align: justify;
    font-size: calc(14 / 375 * 100vw);
  }
  .p-new_graduate-entry__attn {
    font-size: calc(12 / 375 * 100vw);
    text-align: left;
    margin-top: calc(10 / 375 * 100vw);
  }
}

.p-employee {
  overflow: hidden;
}

.p-employee-mv {
  position: relative;
}
.p-employee-mv__ttlarea {
  position: relative;
  z-index: 1;
  padding: 1vw 0 17vw;
}
.p-employee-mv__ttlarea__ttl {
  font-size: 4.6rem;
  font-weight: bold;
  letter-spacing: 0.2em;
}
.p-employee-mv__ttlarea__ttl small {
  color: #d20000;
  font-size: 3.4rem;
  font-weight: 300;
  display: block;
  margin-bottom: 5px;
  letter-spacing: 0.15em;
}
.p-employee-mv__ttlarea__name {
  margin-top: 40px;
}
.p-employee-mv__ttlarea__name .-ctg {
  display: inline-block;
  font-size: 1.8rem;
  line-height: 1;
  padding: 5px 10px;
  border-radius: 30px;
  border: 1px solid #333333;
}
.p-employee-mv__ttlarea__name .-name {
  font-size: 2.8rem;
  font-weight: bold;
  margin: 10px 0;
}
.p-employee-mv__ttlarea__name .-prof {
  font-size: 2rem;
  letter-spacing: 0.2em;
}
.p-employee-mv__img {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  max-width: 1500px;
  height: calc(100% + 100px);
}
@media only screen and (max-width: 834px) {
  .p-employee-mv__ttlarea {
    padding: calc(25 / 375 * 100vw) 0 0;
  }
  .p-employee-mv__ttlarea__ttl {
    font-size: calc(32 / 375 * 100vw);
  }
  .p-employee-mv__ttlarea__ttl small {
    font-size: calc(14 / 375 * 100vw);
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-employee-mv__ttlarea__spimg {
    margin-top: calc(25 / 375 * 100vw);
    width: calc(100vw - 4%);
  }
  .p-employee-mv__ttlarea__name {
    margin-top: calc(10 / 375 * 100vw);
  }
  .p-employee-mv__ttlarea__name .-ctg {
    font-size: calc(12 / 375 * 100vw);
    padding: calc(3 / 375 * 100vw) calc(10 / 375 * 100vw);
    border-radius: calc(30 / 375 * 100vw);
  }
  .p-employee-mv__ttlarea__name .-name {
    font-size: calc(20 / 375 * 100vw);
    margin: calc(5 / 375 * 100vw) 0;
  }
  .p-employee-mv__ttlarea__name .-prof {
    font-size: calc(14 / 375 * 100vw);
  }
  .p-employee-mv__scroll {
    bottom: calc(150 / 375 * 100vw);
  }
}

.p-employee-cts {
  position: relative;
  padding: 70px 0;
}
.p-employee-cts:first-of-type {
  margin-top: 30px;
}
.p-employee-cts:not(:first-of-type)::before {
  content: "";
  display: block;
  width: 37%;
  height: 1px;
  background: #CCCCCC;
  position: absolute;
  top: 0;
  left: 0;
}
.p-employee-cts:nth-of-type(2n)::after {
  content: "";
  display: block;
  width: 37%;
  height: 100%;
  background: #E8E8E8;
  border-radius: 10px 0 0 10px;
  position: absolute;
  top: 0;
  right: 0;
  z-index: -1;
}
.p-employee-cts__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-employee-cts__ttlarea {
  width: 410px;
}
.p-employee-cts__ttlarea__ttl {
  width: 340px;
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.15em;
}
.p-employee-cts__ttlarea__ttl small {
  color: #d20000;
  display: block;
  font-size: 2.4rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.p-employee-cts__txtarea {
  width: calc(100% - 410px);
  font-size: 1.6rem;
  text-align: justify;
  line-height: 2;
}
.p-employee-cts__imgarea {
  width: 100%;
  margin-top: 40px;
}
@media only screen and (max-width: 834px) {
  .p-employee-cts {
    padding: calc(60 / 375 * 100vw) 0;
  }
  .p-employee-cts:first-of-type {
    margin-top: 0;
  }
  .p-employee-cts:not(:first-of-type)::before {
    width: calc(125 / 375 * 100vw);
    height: calc(1 / 375 * 100vw);
    left: 5%;
  }
  .p-employee-cts:nth-of-type(2n)::after {
    width: calc(125 / 375 * 100vw);
    height: 100%;
    border-radius: calc(10 / 375 * 100vw) 0 0 calc(10 / 375 * 100vw);
  }
  .p-employee-cts__ttlarea {
    width: 100%;
  }
  .p-employee-cts__ttlarea__ttl {
    width: 100%;
    font-size: calc(20 / 375 * 100vw);
  }
  .p-employee-cts__ttlarea__ttl small {
    display: block;
    font-size: calc(16 / 375 * 100vw);
  }
  .p-employee-cts__txtarea {
    width: 100%;
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    line-height: 1.8;
  }
  .p-employee-cts__imgarea {
    width: 100%;
    margin-top: calc(20 / 375 * 100vw);
  }
}

.p-employee-oneday {
  padding: 90px 0 0;
}
.p-employee-oneday__wrap {
  background: #F5F5F5;
  padding: 65px 60px;
  border-radius: 15px;
}
.p-employee-oneday__ttl {
  font-size: 2.8rem;
}
.p-employee-oneday__ttl small {
  font-size: 1.6rem;
}
.p-employee-oneday__schedule {
  margin-top: 45px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-employee-oneday__schedule__blk {
  position: relative;
  width: 100%;
  height: 265px;
  background: #fff;
  border-radius: 10px;
  text-align: center;
  margin-left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.p-employee-oneday__schedule__blk::before {
  content: "";
  display: block;
  width: 20px;
  height: 15px;
  background: #333333;
  -webkit-mask-image: url(../img/common/deco_dot4.svg);
          mask-image: url(../img/common/deco_dot4.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-position: center;
          mask-position: center;
  position: absolute;
  left: -20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}
.p-employee-oneday__schedule__blk:first-of-type {
  margin-left: 0;
}
.p-employee-oneday__schedule__blk:first-of-type::before {
  content: none;
}
.p-employee-oneday__schedule__blk .-time {
  font-size: 1.4rem;
  display: inline-block;
  width: 65px;
  height: 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #333333;
  border-radius: 20px;
  line-height: 1;
  position: absolute;
  top: -10px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.p-employee-oneday__schedule__blk .-time.--gry {
  background: #ddd;
  border: none;
}
.p-employee-oneday__schedule__blk .-txt {
  font-size: 1.8rem;
  font-weight: 500;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-font-feature-settings: initial;
          font-feature-settings: initial;
}
.p-employee-oneday__schedule__blk .-txt--small {
  font-size: 1.4rem;
}
.p-employee-oneday__imgtxt {
  margin-top: 100px;
  height: 650px;
  overflow: hidden;
  padding: 80px 0 0;
  position: relative;
}
.p-employee-oneday__imgtxt__img {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.p-employee-oneday__imgtxt .c-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  margin-top: -40px;
}
@media only screen and (max-width: 834px) {
  .p-employee-oneday__imgtxt .c-inner {
    display: inherit;
    height: inherit;
    margin-top: 0;
  }
}
.p-employee-oneday__imgtxt__txt {
  position: relative;
  color: #fff;
  width: 620px;
  margin-left: auto;
  font-size: 2rem;
  line-height: 2.5;
  text-align: center;
}
.p-employee-oneday__imgtxt__txt.--left {
  margin-left: 0;
}
@media only screen and (max-width: 834px) {
  .p-employee-oneday {
    padding: calc(60 / 375 * 100vw) 0 0;
  }
  .p-employee-oneday__wrap {
    padding: calc(30 / 375 * 100vw) calc(20 / 375 * 100vw) calc(40 / 375 * 100vw);
    border-radius: calc(15 / 375 * 100vw);
  }
  .p-employee-oneday__ttl {
    text-align: center;
    font-size: calc(20 / 375 * 100vw);
  }
  .p-employee-oneday__ttl small {
    font-size: calc(14 / 375 * 100vw);
  }
  .p-employee-oneday__schedule {
    margin-top: calc(30 / 375 * 100vw);
    display: block;
  }
  .p-employee-oneday__schedule__blk {
    position: relative;
    width: 100%;
    height: auto;
    border-radius: calc(10 / 375 * 100vw);
    text-align: left;
    margin-left: 0;
    margin-top: calc(20 / 375 * 100vw);
    padding: calc(20 / 375 * 100vw);
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
  .p-employee-oneday__schedule__blk::before {
    width: calc(20 / 375 * 100vw);
    height: calc(15 / 375 * 100vw);
    position: absolute;
    left: 50%;
    top: calc(-20 / 375 * 100vw);
    -webkit-transform: translateX(-50%) rotate(90deg);
            transform: translateX(-50%) rotate(90deg);
  }
  .p-employee-oneday__schedule__blk:first-of-type {
    margin-top: 0;
  }
  .p-employee-oneday__schedule__blk:first-of-type::before {
    content: none;
  }
  .p-employee-oneday__schedule__blk .-time {
    border: calc(1 / 375 * 100vw) solid #333333;
    border-radius: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    padding: calc(5 / 375 * 100vw) calc(15 / 375 * 100vw);
    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
            transform: none;
    margin-right: calc(20 / 375 * 100vw);
    width: auto;
    height: auto;
  }
  .p-employee-oneday__schedule__blk .-txt {
    font-size: calc(16 / 375 * 100vw);
    -webkit-writing-mode: initial;
        -ms-writing-mode: initial;
            writing-mode: initial;
  }
  .p-employee-oneday__schedule__blk .-txt--small {
    font-size: calc(12 / 375 * 100vw);
  }
  .p-employee-oneday__imgtxt {
    margin-top: calc(60 / 375 * 100vw);
    height: auto;
    padding: 0;
  }
  .p-employee-oneday__imgtxt__img {
    position: relative;
    top: auto;
    left: auto;
  }
  .p-employee-oneday__imgtxt__txt {
    width: 100%;
    margin-left: 0;
    margin-top: calc(20 / 375 * 100vw);
    font-size: calc(14 / 375 * 100vw);
    line-height: 1.8;
    color: #333333;
    text-align: justify;
  }
}

.p-project_story-mv {
  position: relative;
}
.p-project_story-mv__ttlarea {
  position: relative;
  z-index: 1;
  padding: 60px 0 80px;
}
.p-project_story-mv__ttlarea__ttl {
  font-size: 80px;
  letter-spacing: 0.15em;
  line-height: 1.2;
  font-weight: bold;
}
.p-project_story-mv__ttlarea__ttl small {
  font-size: 3.4rem;
  font-weight: 300;
  display: block;
  margin-bottom: 5px;
}
.p-project_story-mv__ttlarea__ttl span {
  font-size: 0.8em;
}
.p-project_story-mv__ttlarea__name {
  margin-top: 20px;
}
.p-project_story-mv__ttlarea__name .-prof {
  font-size: 18px;
  letter-spacing: 0.1em;
  line-height: 1.78;
}
.p-project_story-mv__img {
  position: absolute;
  bottom: 0;
  right: 0;
  z-index: 0;
  width: 100%;
  height: 113%;
}
.p-project_story-mv__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media only screen and (max-width: 834px) {
  .p-project_story-mv {
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-project_story-mv__ttlarea {
    position: static;
    padding: 0;
  }
  .p-project_story-mv__ttlarea__ttl {
    font-size: calc(32 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.75;
    line-height: 1.6;
    z-index: 2;
  }
  .p-project_story-mv__ttlarea__ttl small {
    font-size: calc(22 / 375 * 100vw);
    letter-spacing: 0.2em;
    line-height: 1.54;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-project_story-mv__ttlarea__ttl span {
    font-size: calc(32 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.75;
    line-height: 1.6;
  }
  .p-project_story-mv__ttlarea__name {
    margin-top: calc(30 / 375 * 100vw);
  }
  .p-project_story-mv__ttlarea__name .-prof {
    font-size: calc(16 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.88;
  }
  .p-project_story-mv__spimgwrap {
    margin-top: calc(25 / 375 * 100vw);
    width: calc(100vw + 5%);
    position: relative;
  }
  .p-project_story-mv__spimg.--2nd {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .p-project_story-mv__scroll {
    top: calc(400 / 375 * 100vw);
    bottom: auto;
  }
  .p-project_story-mv.fadeInOut {
    position: absolute !important;
    top: 0;
  }
  .p-project_story-mv__img {
    position: relative;
  }
  .p-project_story-mv__img.fadeInOut {
    position: absolute !important;
    top: 0;
  }
}

.p-project_story-cts {
  position: relative;
  padding: 70px 0 80px;
}
.p-project_story-cts__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: 1170px;
}
.p-project_story-cts__ttlarea__ttl {
  font-size: 4rem;
  font-weight: bold;
  letter-spacing: 0.15em;
}
.p-project_story-cts__ttlarea__ttl small {
  display: block;
  font-size: 3rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.p-project_story-cts__txtarea {
  width: calc(100% - 400px);
  font-size: 1.6rem;
  text-align: justify;
  line-height: 2;
}
.p-project_story-cts__imgarea {
  width: 100%;
  margin-top: 40px;
}
@media only screen and (max-width: 834px) {
  .p-project_story-cts {
    padding: calc(50 / 375 * 100vw) 0;
  }
  .p-project_story-cts__wrap {
    width: 90%;
  }
  .p-project_story-cts__ttlarea {
    width: 100%;
  }
  .p-project_story-cts__ttlarea__ttl {
    width: 100%;
    font-size: calc(28 / 375 * 100vw);
    letter-spacing: -0.02em;
  }
  .p-project_story-cts__ttlarea__ttl small {
    display: block;
    font-size: calc(20 / 375 * 100vw);
  }
  .p-project_story-cts__txtarea {
    width: 100%;
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    line-height: 1.8;
  }
  .p-project_story-cts__imgarea {
    width: 100%;
    margin-top: calc(20 / 375 * 100vw);
  }
}

.p-project_story-main__wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  max-width: 1300px;
  margin: 0 auto;
}
.p-project_story-main__wrap::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  display: block;
  width: 100vw;
  height: 100%;
  background: -webkit-gradient(linear, left top, right top, from(#F5F5F5), color-stop(50%, #F5F5F5), color-stop(51%, #E8E8E8), to(#E8E8E8));
  background: linear-gradient(to right, #F5F5F5 0%, #F5F5F5 50%, #E8E8E8 51%, #E8E8E8 100%);
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}
.p-project_story-main__wrap--lft {
  width: 807px;
  background: #F5F5F5;
  overflow-y: auto;
  z-index: 1;
}
.p-project_story-main__wrap--rgt {
  width: 493px;
  background: #E8E8E8;
  padding: 95px 40px;
  z-index: 1;
}
@media only screen and (max-width: 834px) {
  .p-project_story-main__wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  .p-project_story-main__wrap::after {
    display: none;
  }
  .p-project_story-main__wrap--lft {
    width: 100%;
  }
  .p-project_story-main__wrap--rgt {
    width: 100%;
    padding: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
}

.c-sticky {
  position: sticky;
  top: 90px;
  height: calc(100vh - 90px);
}
.c-sticky_wrap {
  overflow-y: auto;
  padding: 95px 65px;
}

.c-column__ttl {
  font-size: 28px;
  letter-spacing: 0.1em;
  line-height: 1.29;
  font-weight: bold;
  margin-bottom: 35px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cccccc;
}
.c-column__ttl small {
  display: block;
  font-size: 2.4rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.c-column__subttl {
  font-size: 24px;
  letter-spacing: 0.1em;
  line-height: 1.5;
  font-weight: bold;
  margin-bottom: 35px;
  padding-bottom: 15px;
  border-bottom: 1px solid #cccccc;
}
.c-column__subttl small {
  display: block;
  font-size: 1.8rem;
  font-weight: 300;
  margin-bottom: 5px;
}
.c-column__txt {
  font-size: 16px;
  letter-spacing: 0.1em;
  line-height: 2;
  margin-bottom: 40px;
}
.c-column__blk {
  margin-top: 80px;
}
.c-column__comment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.c-column__comment__person .-img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 100px;
  height: 100px;
  border-radius: 5px;
  overflow: hidden;
  margin-right: 20px;
}
.c-column__comment__person .-name {
  font-size: 12px;
  letter-spacing: 0.1em;
  line-height: 1.67;
  font-weight: bold;
  margin-top: 7px;
}
.c-column__comment__body {
  position: relative;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.86;
  font-weight: 500;
  margin-bottom: 35px;
  padding: 20px;
}
.c-column__comment__body::before, .c-column__comment__body::after {
  content: "";
  position: absolute;
  display: block;
  width: 40px;
  height: 40px;
  pointer-events: none;
}
.c-column__comment__body::before {
  top: 0;
  left: 0;
  border-top: 1px solid #333333;
  border-left: 1px solid #333333;
}
.c-column__comment__body::after {
  bottom: 0;
  right: 0;
  border-bottom: 1px solid #333333;
  border-right: 1px solid #333333;
}
.c-column__img {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 40px;
}
.c-column-data .c-column__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border: none;
  margin: 0;
  padding: 0;
}
.c-column-data .c-column__ttl small {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 15px;
}
.c-column-data .c-column__ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #cccccc;
}
.c-column-data .-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-top: 10px;
}
.c-column-data .-list_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 80px;
  min-height: 25px;
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.29;
  font-weight: 500;
  color: #fff;
  background: #999;
  margin-right: 10px;
  border-radius: 100vw;
}
.c-column-data .-list_body {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.82;
}
.c-column-data .-list_body strong {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: bold;
  margin-top: -2px;
}
.c-column-member {
  margin-top: 50px;
}
.c-column-member .c-column__ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  border: none;
  margin: 0;
  padding: 0;
}
.c-column-member .c-column__ttl small {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin-right: 15px;
}
.c-column-member .c-column__ttl::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: #cccccc;
}
.c-column-member .-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: 10px;
}
.c-column-member .-list_blk {
  width: 46%;
}
.c-column-member .-list_blk:nth-of-type(n+3) {
  margin-top: 30px;
}
.c-column-member .-list_blk_img {
  border-radius: 5px;
  overflow: hidden;
  margin-bottom: 15px;
}
.c-column-member .-list_blk_icon {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 12px;
  letter-spacing: 0em;
  line-height: 1;
  padding: 0.5em 0.75em;
  border: 1px solid #333;
  border-radius: 100vw;
  margin-bottom: 10px;
}
.c-column-member .-list_blk_name {
  font-size: 14px;
  letter-spacing: 0.1em;
  line-height: 1.43;
  font-weight: bold;
  margin-bottom: 5px;
}
.c-column-member .-list_blk_aff {
  font-size: 12px;
  letter-spacing: -0.02em;
  line-height: 1.33;
}

@media only screen and (max-width: 834px) {
  .p-project_story {
    overflow: hidden;
  }
  .c-sticky {
    position: static;
    top: 0;
    height: auto;
  }
  .c-sticky_wrap {
    padding: calc(60 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .c-column__ttl {
    font-size: calc(20 / 375 * 100vw);
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-bottom: calc(30 / 375 * 100vw);
    padding-bottom: calc(15 / 375 * 100vw);
  }
  .c-column__ttl small {
    font-size: calc(16 / 375 * 100vw);
    font-weight: 0;
  }
  .c-column__subttl {
    font-size: calc(18 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.33;
    margin-bottom: calc(30 / 375 * 100vw);
    padding-bottom: calc(15 / 375 * 100vw);
    border-bottom: 1px solid #cccccc;
  }
  .c-column__subttl small {
    display: block;
    font-size: calc(14 / 375 * 100vw);
    font-weight: 300;
    margin-bottom: 5px;
  }
  .c-column__txt {
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.86;
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .c-column__blk {
    margin-top: calc(55 / 375 * 100vw);
  }
  .c-column__comment {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  .c-column__comment__person .-img {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: calc(70 / 375 * 100vw);
    height: calc(70 / 375 * 100vw);
    margin-right: calc(10 / 375 * 100vw);
  }
  .c-column__comment__person .-name {
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.67;
  }
  .c-column__comment__body {
    font-size: calc(13 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.69;
    margin-bottom: calc(35 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw);
  }
  .c-column__comment__body::before, .c-column__comment__body::after {
    content: "";
    width: calc(20 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
  }
  .c-column__comment__img {
    border-radius: 5px;
    overflow: hidden;
    margin-bottom: 40px;
  }
  .c-column-data .c-column__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    border: none;
    margin: 0;
    padding: 0;
  }
  .c-column-data .c-column__ttl small {
    font-size: calc(20 / 375 * 100vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 15px;
  }
  .c-column-data .c-column__ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #cccccc;
  }
  .c-column-data .-list {
    margin-top: calc(10 / 375 * 100vw);
  }
  .c-column-data .-list_ttl {
    width: calc(64 / 375 * 100vw);
    min-height: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: 0em;
    line-height: 1.33;
    margin-right: calc(10 / 375 * 100vw);
  }
  .c-column-data .-list_body {
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.72;
  }
  .c-column-data .-list_body strong {
    font-size: calc(16 / 375 * 100vw);
    font-weight: bold;
    margin-top: calc(-3 / 375 * 100vw);
  }
  .c-column-member {
    margin-top: calc(50 / 375 * 100vw);
  }
  .c-column-member .c-column__ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: calc(20 / 375 * 100vw);
    border: none;
    margin: 0;
    padding: 0;
  }
  .c-column-member .c-column__ttl small {
    font-size: calc(20 / 375 * 100vw);
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-right: 15px;
  }
  .c-column-member .c-column__ttl::after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #cccccc;
  }
  .c-column-member .-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: 10px;
  }
  .c-column-member .-list_blk:nth-of-type(n+3) {
    margin-top: calc(60 / 375 * 100vw);
  }
  .c-column-member .-list_blk_img {
    margin-bottom: calc(15 / 375 * 100vw);
  }
  .c-column-member .-list_blk_icon {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: 0em;
    line-height: 1;
    padding: 0.5em 0.75em;
    margin-bottom: calc(10 / 375 * 100vw);
  }
  .c-column-member .-list_blk_name {
    font-size: calc(14 / 375 * 100vw);
    letter-spacing: 0.1em;
    line-height: 1.43;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .c-column-member .-list_blk_aff {
    font-size: calc(12 / 375 * 100vw);
    letter-spacing: -0.02em;
    line-height: 1.33;
  }
}
.p-business-construction__main {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-business-construction__main__txtarea__leadtxt {
  font-size: 1.6rem;
  margin-top: 30px;
}
@media only screen and (max-width: 834px) {
  .p-business-construction__main__txtarea__leadtxt {
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    line-height: 2;
  }
}

.p-company-profile {
  padding-bottom: 0;
  position: relative;
  z-index: 0;
}
.p-company-profile__top {
  padding-bottom: 90px;
}
.p-company-profile__top__blk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-company-profile__top__blk:not(:first-of-type) {
  margin-top: 80px;
}
.p-company-profile__top__blk__ttl {
  width: 290px;
}
.p-company-profile__top__blk__table {
  width: calc(100% - 290px);
}
.p-company-profile__top__blk__table dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #CCCCCC;
}
.p-company-profile__top__blk__table dl:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}
.p-company-profile__top__blk__table dl dt, .p-company-profile__top__blk__table dl dd {
  padding: 20px;
  font-weight: 500;
}
.p-company-profile__top__blk__table dl dt {
  width: 190px;
  background: #E8E8E8;
}
.p-company-profile__top__blk__table dl dd {
  width: calc(100% - 190px);
}
.p-company-profile__top__blk__table dl dd .-iframe {
  display: block;
  width: 100%;
  height: 200px;
  border-radius: 10px;
  margin-top: 20px;
  overflow: hidden;
  position: relative;
}
.p-company-profile__top__blk__table dl dd .-iframe iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-company-profile__top__blk__table dl dd .-ttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.p-company-profile__top__blk__table dl dd .-ttl--2nd {
  margin-top: 30px;
}
.p-company-profile__top__blk__table dl dd .-link {
  width: 260px;
  margin-top: 15px;
}
.p-company-profile__top__blk__table dl dd .c-common-adddot::before {
  top: 5px;
}
.p-company-profile__top__blk__table__link {
  width: 390px;
  margin-top: 40px;
}
@media only screen and (max-width: 834px) {
  .p-company-profile__top {
    padding-bottom: calc(45 / 375 * 100vw);
  }
  .p-company-profile__top__blk {
    display: block;
  }
  .p-company-profile__top__blk:not(:first-of-type) {
    margin-top: calc(50 / 375 * 100vw);
  }
  .p-company-profile__top__blk__ttl {
    width: 100%;
    margin-bottom: calc(25 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table {
    width: 100%;
  }
  .p-company-profile__top__blk__table dl {
    border-top: calc(1 / 375 * 100vw) solid #CCCCCC;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-company-profile__top__blk__table dl:last-of-type {
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-company-profile__top__blk__table dl dt, .p-company-profile__top__blk__table dl dd {
    padding: calc(10 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table dl dt {
    width: 100%;
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-company-profile__top__blk__table dl dd {
    padding: calc(20 / 375 * 100vw) calc(10 / 375 * 100vw);
    width: 100%;
  }
  .p-company-profile__top__blk__table dl dd p::before {
    top: calc(5 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table dl dd .-iframe {
    height: calc(120 / 375 * 100vw);
    border-radius: calc(10 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table dl dd .-ttl {
    font-size: calc(16 / 375 * 100vw);
    font-weight: bold;
    margin-bottom: calc(5 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table dl dd .-ttl--2nd {
    margin-top: calc(30 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table dl dd .-link {
    width: calc(270 / 375 * 100vw);
    margin: calc(10 / 375 * 100vw) auto 0;
  }
  .p-company-profile__top__blk__table dl dd .c-common-adddot::before {
    top: calc(5 / 375 * 100vw);
  }
  .p-company-profile__top__blk__table__link {
    width: calc(275 / 375 * 100vw);
    margin: calc(30 / 375 * 100vw) auto 0;
  }
}
.p-company-profile__btm {
  background: #fff;
  padding: 90px 0;
}
.p-company-profile__btm__blk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.p-company-profile__btm__blk__ttl {
  width: 290px;
}
.p-company-profile__btm__blk__lists {
  width: calc(100% - 290px);
}
.p-company-profile__btm__blk__lists__list .-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  padding: 20px;
}
.p-company-profile__btm__blk__lists__list .-link .-date {
  width: 85px;
  font-size: 1.2rem;
  font-weight: 300;
  color: #999999;
}
.p-company-profile__btm__blk__lists__list .-link::after {
  -webkit-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
}
@media only screen and (min-width: 835px) {
  .p-company-profile__btm__blk__lists__list .-link:hover {
    opacity: 0.6;
    color: #333333;
  }
  .p-company-profile__btm__blk__lists__list .-link:hover::before {
    background: #cc0000;
  }
  .p-company-profile__btm__blk__lists__list .-link:hover::after {
    width: 100%;
  }
}
@media only screen and (max-width: 834px) {
  .p-company-profile__btm {
    padding: calc(45 / 375 * 100vw) 0;
  }
  .p-company-profile__btm__blk {
    display: block;
  }
  .p-company-profile__btm__blk__ttl {
    width: 100%;
  }
  .p-company-profile__btm__blk__lists {
    width: 100%;
    margin-top: calc(35 / 375 * 100vw);
  }
  .p-company-profile__btm__blk__lists__list .-link {
    display: block;
    font-size: calc(14 / 375 * 100vw);
    padding: calc(20 / 375 * 100vw) 0;
  }
  .p-company-profile__btm__blk__lists__list .-link .-date {
    width: 100%;
    font-size: calc(12 / 375 * 100vw);
    margin-bottom: calc(10 / 375 * 100vw);
  }
}
.p-company-sustainability {
  padding-bottom: 0;
}
.p-company-sustainability__top {
  padding-bottom: 100px;
}
.p-company-sustainability__top__ttlarea {
  margin-bottom: 60px;
}
.p-company-sustainability__top__ttlarea .-ttl {
  width: 420px;
}
.p-company-sustainability__top__ttlarea .-txtarea {
  width: calc(100% - 420px);
}
.p-company-sustainability__top__blk:not(:first-of-type) {
  margin-top: 70px;
}
.p-company-sustainability__top__blk__ttl {
  text-align: center;
  margin-bottom: 30px;
}
.p-company-sustainability__top__blk__lead {
  line-height: 2;
}
.p-company-sustainability__top__blk__dftxt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.p-company-sustainability__top__blk__dftxt p:first-of-type {
  width: 570px;
  text-align: justify;
}
.p-company-sustainability__top__blk__dftxt p:last-of-type {
  width: calc(100% - 610px);
}
.p-company-sustainability__top__blk__tableinr {
  margin-top: 20px;
}
.p-company-sustainability__top__blk__tableinr table {
  width: 100%;
}
.p-company-sustainability__top__blk__tableinr table th, .p-company-sustainability__top__blk__tableinr table td {
  border: 1px solid #CCCCCC;
  vertical-align: middle;
}
.p-company-sustainability__top__blk__tableinr table th {
  padding: 10px;
  background: #333333;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  text-align: center;
}
.p-company-sustainability__top__blk__tableinr table td {
  padding: 30px 10px;
  background: #F5F5F5;
  font-size: 2rem;
  font-weight: bold;
}
.p-company-sustainability__top__blk__tableinr table td div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-company-sustainability__top__blk__tableinr table td div.-txts {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  font-size: 1.6rem;
  font-weight: 500;
}
.p-company-sustainability__top__blk__tableinr table td div.-txts p {
  width: 33.3333333333%;
}
.p-company-sustainability__top__blk__tableinr table td div.-txts p::before {
  top: 6px;
}
.p-company-sustainability__top__blk__tableinr table td div.-txts p:nth-of-type(n + 4) {
  margin-top: 10px;
}
.p-company-sustainability__top__blk__tableinr table td div.-txts.--4th p {
  width: 200px;
}
.p-company-sustainability__top__blk__tableinr table td:first-of-type {
  width: 5%;
}
.p-company-sustainability__top__blk__tableinr table td:nth-of-type(2) {
  width: 15%;
}
.p-company-sustainability__top__blk__tableinr table td:nth-of-type(3) {
  width: 60%;
}
.p-company-sustainability__top__blk__tableinr table td:last-of-type {
  width: 20%;
  padding: 30px 20px;
}
.p-company-sustainability__top__blk__tableinr table tr:nth-of-type(2n + 1) td {
  background: #E8E8E8;
}
.p-company-sustainability__top__blk__img {
  margin-top: 25px;
}
.p-company-sustainability__btm {
  background: #fff;
  padding: 100px 0;
}
.p-company-sustainability__btm__ttl {
  text-align: center;
  margin-bottom: 60px;
}
.p-company-sustainability__btm__blk:not(:first-of-type) {
  margin-top: 90px;
}
.p-company-sustainability__btm__blk__ttl {
  font-size: 3.2rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  text-align: center;
  padding: 15px;
  border-top: 2px solid #CCCCCC;
  border-bottom: 2px solid #CCCCCC;
}
.p-company-sustainability__btm__blk__ttl img {
  display: block;
  margin: 15px auto 0;
  height: 40px;
  width: auto;
}
.p-company-sustainability__btm__blk ul {
  margin-top: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-company-sustainability__btm__blk ul li {
  width: 490px;
}
.p-company-sustainability__btm__blk ul li h4 {
  font-size: 2.8rem;
  font-weight: bold;
  letter-spacing: 0.15em;
  padding-bottom: 20px;
  margin-bottom: 20px;
  border-bottom: 1px solid #CCCCCC;
}
.p-company-sustainability__btm__blk ul li p {
  line-height: 2;
  text-align: justify;
}
.p-company-sustainability__btm__blk ul:nth-of-type(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media only screen and (max-width: 834px) {
  .p-company-sustainability__top {
    padding-bottom: calc(50 / 375 * 100vw);
  }
  .p-company-sustainability__top__ttlarea {
    margin-bottom: calc(50 / 375 * 100vw);
  }
  .p-company-sustainability__top__ttlarea .-ttl {
    width: 100%;
  }
  .p-company-sustainability__top__ttlarea .-txtarea {
    width: 100%;
  }
  .p-company-sustainability__top__blk:not(:first-of-type) {
    margin-top: calc(60 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__ttl {
    margin-bottom: calc(20 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__lead {
    line-height: 1.8;
    text-align: justify;
  }
  .p-company-sustainability__top__blk__dftxt {
    display: block;
  }
  .p-company-sustainability__top__blk__dftxt p:first-of-type {
    width: 100%;
    text-align: justify;
  }
  .p-company-sustainability__top__blk__dftxt p:last-of-type {
    width: 100%;
    margin-top: calc(15 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr {
    margin-top: calc(30 / 375 * 100vw);
    width: calc(100% + 20 / 375 * 100vw + 10%);
    overflow-x: scroll;
  }
  .p-company-sustainability__top__blk__tableinr table {
    margin-right: calc(45 / 375 * 100vw);
    width: calc(835 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table tbody {
    display: block;
  }
  .p-company-sustainability__top__blk__tableinr table th, .p-company-sustainability__top__blk__tableinr table td {
    border: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-company-sustainability__top__blk__tableinr table th {
    padding: calc(10 / 375 * 100vw);
    font-size: calc(18 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td {
    padding: calc(30 / 375 * 100vw) calc(10 / 375 * 100vw);
    font-size: calc(18 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td div.-txts {
    font-size: calc(14 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td div.-txts p::before {
    top: calc(6 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td div.-txts p:nth-of-type(n + 4) {
    margin-top: calc(10 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td div.-txts.--4th p {
    width: calc(200 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td:first-of-type {
    width: calc(40 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td:nth-of-type(2) {
    width: calc(120 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td:nth-of-type(3) {
    width: calc(470 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__tableinr table td:last-of-type {
    width: calc(160 / 375 * 100vw);
    padding: calc(30 / 375 * 100vw) calc(15 / 375 * 100vw);
  }
  .p-company-sustainability__top__blk__img {
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-company-sustainability__btm {
    padding: calc(50 / 375 * 100vw) 0;
  }
  .p-company-sustainability__btm__ttl {
    margin-bottom: calc(30 / 375 * 100vw);
  }
  .p-company-sustainability__btm__blk:not(:first-of-type) {
    margin-top: calc(45 / 375 * 100vw);
  }
  .p-company-sustainability__btm__blk__ttl {
    font-size: calc(20 / 375 * 100vw);
    padding: calc(10 / 375 * 100vw);
    border-top: calc(1 / 375 * 100vw) solid #CCCCCC;
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-company-sustainability__btm__blk__ttl img {
    margin: calc(10 / 375 * 100vw) auto 0;
    height: calc(30 / 375 * 100vw);
  }
  .p-company-sustainability__btm__blk ul {
    margin-top: calc(20 / 375 * 100vw);
    display: block;
  }
  .p-company-sustainability__btm__blk ul:not(:first-of-type) {
    margin-top: calc(60 / 375 * 100vw);
  }
  .p-company-sustainability__btm__blk ul li {
    width: 100%;
  }
  .p-company-sustainability__btm__blk ul li:last-of-type {
    margin-top: calc(15 / 375 * 100vw);
  }
  .p-company-sustainability__btm__blk ul li h4 {
    font-size: calc(20 / 375 * 100vw);
    padding-bottom: calc(10 / 375 * 100vw);
    margin-bottom: calc(20 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-company-sustainability__btm__blk ul li p {
    line-height: 1.8;
  }
}

.p-works-index__main__ttl {
  width: 440px;
  font-size: 2.8rem;
}
.p-works-index__main__txtarea {
  width: calc(100% - 440px);
  line-height: 2;
}
.p-works-index__btns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 70px 0 60px;
}
.p-works-index__btns__btn {
  width: 24%;
}
.p-works-index__btns__btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.6rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.2;
  width: 190px;
  height: 60px;
  background: #fff;
  border-radius: 5px;
}
.p-works-index__btns__btn a.--act {
  background: #333333;
  color: #fff;
  position: relative;
}
.p-works-index__btns__btn a.--act::after {
  content: "";
  background: #333333;
  height: 8.6602540378px;
  width: 20px;
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  position: absolute;
  top: 100%;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media only screen and (min-width: 835px) {
  .p-works-index__btns__btn a:hover {
    opacity: 1;
    background: #333333;
    color: #fff;
  }
}
.p-works-index__works {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
.p-works-index__works::after {
  content: "";
  display: block;
  width: 31%;
}
.p-works-index__works__work {
  margin-bottom: 45px;
}
.p-works-index__works__work.--new {
  position: relative;
}
.p-works-index__works__work.--new::before {
  content: "New";
  display: block;
  border-radius: 25px;
  width: 70px;
  height: 25px;
  background: -webkit-gradient(linear, left top, left bottom, from(#ED1C25), to(#D50303));
  background: linear-gradient(to bottom, #ED1C25 0%, #D50303 100%);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 1.4rem;
  font-weight: 500;
  position: absolute;
  top: -12px;
  left: -10px;
  z-index: 10;
}
@media only screen and (max-width: 834px) {
  .p-works-index__main__ttl {
    width: 100%;
    font-size: calc(20 / 375 * 100vw);
  }
  .p-works-index__main__txtarea {
    font-size: calc(14 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
    width: 100%;
    text-align: justify;
  }
  .p-works-index__btns {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: calc(40 / 375 * 100vw) 0 calc(20 / 375 * 100vw);
  }
  .p-works-index__btns__btn {
    width: 31%;
    margin: 0 1.1666666667% calc(20 / 375 * 100vw);
  }
  .p-works-index__btns__btn a {
    font-size: calc(14 / 375 * 100vw);
    width: 100%;
    height: calc(55 / 375 * 100vw);
    border-radius: calc(5 / 375 * 100vw);
  }
  .p-works-index__btns__btn a.--act::after {
    height: calc(1.7320508076 * 10 / 375 * 100vw / 2);
    width: calc(20 / 375 * 100vw);
  }
  .p-works-index__works {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-works-index__works::after {
    content: none;
  }
  .p-works-index__works__work {
    margin-bottom: calc(25 / 375 * 100vw);
  }
  .p-works-index__works__work.--new {
    position: relative;
  }
  .p-works-index__works__work.--new::before {
    border-radius: calc(25 / 375 * 100vw);
    width: calc(50 / 375 * 100vw);
    height: calc(20 / 375 * 100vw);
    font-size: calc(10 / 375 * 100vw);
    font-weight: 500;
    position: absolute;
    top: calc(-10 / 375 * 100vw);
    left: calc(-10 / 375 * 100vw);
    z-index: 10;
  }
}
.p-works-detail__ttlarea {
  position: relative;
  margin-bottom: 60px;
}
.p-works-detail__ttlarea__wrap {
  position: relative;
}
.p-works-detail__ttlarea__ttl {
  font-size: 4.6rem;
  width: 800px;
}
.p-works-detail__ttlarea__ctg {
  margin-top: 20px;
  background: #999999;
  color: #fff;
  line-height: 1;
  padding: 5px 15px;
  border-radius: 20px;
  display: inline-block;
}
.p-works-detail__ttlarea__arwbtn {
  position: absolute;
  bottom: 0;
  right: 0;
}
.p-works-detail__ttlarea__arwbtn li a {
  padding-left: 25px;
  font-size: 2rem;
}
.p-works-detail__ttlarea__arwbtn li a::before {
  width: 15px;
  height: 15px;
}
.p-works-detail__ttlarea__arwbtn li a.-prev::before {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
@media only screen and (min-width: 835px) {
  .p-works-detail__ttlarea__arwbtn li a.-prev:hover::before {
    -webkit-transform: translateX(-3px) translateY(-50%) rotate(180deg);
            transform: translateX(-3px) translateY(-50%) rotate(180deg);
  }
}
.p-works-detail__ttlarea__arwbtn li:nth-of-type(2) {
  margin-top: 10px;
}
.p-works-detail__main {
  padding: 80px 0;
  background: #F5F5F5;
  position: relative;
  z-index: 0;
}
.p-works-detail__main__df {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-works-detail__main__df__slidearea {
  width: 50%;
}
.p-works-detail__main__df__slidearea__mainslide li {
  width: 100%;
  height: 0;
  padding-bottom: 66.5%;
  background: #E8E8E8;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
}
.p-works-detail__main__df__slidearea__mainslide li img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-works-detail__main__df__slidearea__mainslide .slick-list {
  border-radius: 10px;
  overflow: hidden;
}
.p-works-detail__main__df__slidearea__mainslide .slick-arrow {
  width: 60px;
  height: 60px;
  background: #fff;
  border-radius: 50%;
  z-index: 20;
}
.p-works-detail__main__df__slidearea__mainslide .slick-arrow::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: url(../img/common/slide_arw.png) no-repeat;
  background-size: contain;
}
.p-works-detail__main__df__slidearea__mainslide .slick-prev {
  left: -30px;
}
.p-works-detail__main__df__slidearea__mainslide .slick-prev::before {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.p-works-detail__main__df__slidearea__mainslide .slick-next {
  right: -30px;
}
.p-works-detail__main__df__slidearea__thumb {
  margin-top: 10px;
}
.p-works-detail__main__df__slidearea__thumb li {
  width: 100%;
  height: 0;
  padding-bottom: 66.5%;
  background: #E8E8E8;
  border-radius: 10px;
  overflow: hidden;
  position: relative;
  cursor: pointer;
}
.p-works-detail__main__df__slidearea__thumb li img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
.p-works-detail__main__df__slidearea__thumb .slick-track {
  width: 100% !important;
  -webkit-transform: unset !important;
          transform: unset !important;
}
.p-works-detail__main__df__slidearea__thumb .slick-slide {
  width: calc((100% - 40px) / 5) !important;
  margin-right: 10px;
  opacity: 0.4;
}
.p-works-detail__main__df__slidearea__thumb .slick-slide:nth-of-type(5n) {
  margin-right: 0;
}
.p-works-detail__main__df__slidearea__thumb .slick-slide.slick-current {
  opacity: 1;
}
.p-works-detail__main__df__txtarea {
  width: 46%;
  line-height: 1.6;
}
.p-works-detail__main__df__txtarea dl dt {
  width: 120px;
}
.p-works-detail__main__df__txtarea dl dd {
  width: calc(100% - 120px);
}
.p-works-detail__main__attn {
  margin-top: 40px;
  font-size: 1.4rem;
  text-align: center;
}
.p-works-detail__main__btnblk {
  margin-top: 60px;
  text-align: center;
}
.p-works-detail__main__btnblk__btn {
  display: inline-block;
  width: 260px;
  text-align: left;
}
@media only screen and (max-width: 834px) {
  .p-works-detail__ttlarea {
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .p-works-detail__ttlarea__ttl {
    font-size: calc(20 / 375 * 100vw);
    width: auto;
  }
  .p-works-detail__ttlarea__ctg {
    font-size: calc(10 / 375 * 100vw);
    margin-top: calc(15 / 375 * 100vw);
    padding: calc(5 / 375 * 100vw) calc(15 / 375 * 100vw);
    border-radius: calc(20 / 375 * 100vw);
  }
  .p-works-detail__main {
    padding: calc(50 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
  }
  .p-works-detail__main__df {
    display: block;
  }
  .p-works-detail__main__df__slidearea {
    width: 100%;
  }
  .p-works-detail__main__df__slidearea__mainslide li {
    border-radius: calc(5 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__mainslide .slick-list {
    border-radius: calc(10 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__mainslide .slick-arrow {
    width: calc(40 / 375 * 100vw);
    height: calc(40 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__mainslide .slick-prev {
    left: 0;
  }
  .p-works-detail__main__df__slidearea__mainslide .slick-next {
    right: 0;
  }
  .p-works-detail__main__df__slidearea__thumb {
    margin-top: calc(10 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__thumb li {
    border-radius: calc(5 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__thumb .slick-slide {
    width: calc((100% - 15 / 375 * 100vw) / 4) !important;
    margin-right: calc(5 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__thumb .slick-slide:nth-of-type(5n) {
    margin-right: calc(5 / 375 * 100vw);
  }
  .p-works-detail__main__df__slidearea__thumb .slick-slide:nth-of-type(4n) {
    margin-right: 0;
  }
  .p-works-detail__main__df__txtarea {
    width: 100%;
    line-height: 1.6;
    margin-top: calc(40 / 375 * 100vw);
  }
  .p-works-detail__main__df__txtarea dl dt {
    width: 100%;
  }
  .p-works-detail__main__df__txtarea dl dd {
    width: 100%;
  }
  .p-works-detail__main__attn {
    margin-top: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    text-align: left;
    text-indent: -1em;
    padding-left: 1em;
  }
  .p-works-detail__main__btnblk {
    margin-top: calc(40 / 375 * 100vw);
  }
  .p-works-detail__main__btnblk__btn {
    width: calc(270 / 375 * 100vw);
  }
}

.p-contact-mv {
  position: relative;
  padding-bottom: 60px;
}
.p-contact-mv__scroll {
  bottom: 0;
}
.p-contact-mailblk {
  padding-top: 0;
}
.p-contact-mailblk__mailbtn span {
  border-radius: 10px;
}
.p-contact-mailblk__attn {
  font-size: 1.4rem;
}
.p-contact-btnblk {
  padding-bottom: 100px;
  border-bottom: 1px solid #CCCCCC;
}
.p-contact-btnblk__wrap {
  text-align: center;
}
.p-contact-btnblk__link {
  width: 260px;
  margin: 0 auto;
  text-align: left;
}
@media only screen and (max-width: 834px) {
  .p-contact-mv {
    padding-bottom: calc(0 / 375 * 100vw);
  }
  .p-contact-mailblk__wrap {
    width: 90%;
  }
  .p-contact-btnblk {
    padding-bottom: calc(60 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-contact-btnblk__wrap {
    text-align: center;
  }
  .p-contact-btnblk__link {
    width: calc(275 / 375 * 100vw);
    margin: 0 auto;
    text-align: left;
  }
}

.p-info-index {
  border-bottom: 1px solid #CCCCCC;
}
.p-info-index__blk {
  margin-top: 50px;
  margin-bottom: 90px;
}
.p-info-index__blk__items__item__link {
  padding-right: 60px;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
.p-info-index__blk__items__item__link .-date {
  padding: 5px 0;
}
.p-info-index__blk__items__item__link .-ctg {
  padding: 5px 10px;
  min-width: 80px;
}
.p-info-index__blk__items__item__link .-txt {
  line-height: 1.8;
  width: calc(100% - 180px);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.p-info-index__blk__pagenation {
  margin-top: 40px;
}
@media only screen and (max-width: 834px) {
  .p-info-index__blk {
    margin-top: calc(30 / 375 * 100vw);
    margin-bottom: calc(40 / 375 * 100vw);
  }
  .p-info-index__blk__items__item__link {
    padding-right: calc(30 / 375 * 100vw);
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .p-info-index__blk__items__item__link .-date {
    width: calc(90 / 375 * 100vw);
    padding: 0;
  }
  .p-info-index__blk__items__item__link .-ctg {
    padding: calc(5 / 375 * 100vw) calc(10 / 375 * 100vw);
    min-width: calc(50 / 375 * 100vw);
  }
  .p-info-index__blk__items__item__link .-txt {
    line-height: 1.6;
    width: 100%;
    -webkit-line-clamp: 3;
  }
  .p-info-index__blk__pagenation {
    margin-top: 40px;
  }
}
.p-info-detail__wrap {
  padding-bottom: 100px;
}
.p-info-detail__ttlarea__dateline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 20px;
}
.p-info-detail__ttlarea__dateline .-date {
  font-size: 1.2rem;
  font-weight: lighter;
  color: #999999;
}
.p-info-detail__ttlarea__dateline .-ctg {
  font-size: 1.4rem;
  display: inline-block;
  color: #fff;
  line-height: 1;
  padding: 5px 10px;
  min-width: 70px;
  border-radius: 30px;
  background: #999999;
  font-weight: 500;
  text-align: center;
  margin-left: 15px;
}
.p-info-detail__ttlarea__dateline .-ctg.--red {
  background: -webkit-gradient(linear, left top, left bottom, from(#ED1C25), to(#D50303));
  background: linear-gradient(to bottom, #ED1C25 0%, #D50303 100%);
}
.p-info-detail__ttlarea__ttl {
  font-size: 2.8rem;
  font-weight: bold;
  padding-bottom: 20px;
  margin-bottom: 25px;
  border-bottom: 1px solid #CCCCCC;
}
.p-info-detail__main div, .p-info-detail__main dl, .p-info-detail__main p {
  margin-top: 40px;
}
.p-info-detail__main img {
  border-radius: 10px;
}
.p-info-detail__main p {
  line-height: 2;
}
.p-info-detail__main p.-attn {
  margin-top: 20px;
  font-size: 1.4rem;
  text-indent: -1em;
  padding-left: 1em;
}
.p-info-detail__main .-wimg {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.p-info-detail__main .-wimg img {
  width: 47%;
}
.p-info-detail__main dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid #CCCCCC;
}
.p-info-detail__main dl:last-of-type {
  border-bottom: 1px solid #CCCCCC;
}
.p-info-detail__main dl dt, .p-info-detail__main dl dd {
  padding: 20px;
  font-weight: 500;
}
.p-info-detail__main dl dt {
  width: 190px;
  background: #E8E8E8;
}
.p-info-detail__main dl dd {
  width: calc(100% - 190px);
}
@media only screen and (max-width: 834px) {
  .p-info-detail__wrap {
    padding-bottom: calc(60 / 375 * 100vw);
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-info-detail__ttlarea__dateline {
    margin-bottom: calc(10 / 375 * 100vw);
  }
  .p-info-detail__ttlarea__dateline .-date {
    font-size: calc(12 / 375 * 100vw);
  }
  .p-info-detail__ttlarea__dateline .-ctg {
    font-size: calc(12 / 375 * 100vw);
    display: inline-block;
    color: #fff;
    line-height: 1;
    padding: calc(5 / 375 * 100vw) calc(10 / 375 * 100vw);
    min-width: calc(50 / 375 * 100vw);
    border-radius: calc(30 / 375 * 100vw);
    margin-left: calc(10 / 375 * 100vw);
  }
  .p-info-detail__ttlarea__ttl {
    font-size: calc(20 / 375 * 100vw);
    font-weight: bold;
    padding-bottom: calc(15 / 375 * 100vw) x;
    margin-bottom: calc(20 / 375 * 100vw);
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-info-detail__main div, .p-info-detail__main dl, .p-info-detail__main p {
    margin-top: calc(20 / 375 * 100vw);
  }
  .p-info-detail__main img {
    border-radius: calc(10 / 375 * 100vw);
  }
  .p-info-detail__main p {
    line-height: 2;
  }
  .p-info-detail__main p.-attn {
    margin-top: calc(20 / 375 * 100vw);
    font-size: calc(12 / 375 * 100vw);
    text-indent: -1em;
    padding-left: 1em;
    line-height: 1.4;
  }
  .p-info-detail__main .-wimg {
    display: block;
  }
  .p-info-detail__main .-wimg img {
    width: 100%;
  }
  .p-info-detail__main .-wimg img:not(:first-of-type) {
    margin-top: calc(15 / 375 * 100vw);
  }
  .p-info-detail__main dl {
    margin-top: calc(40 / 375 * 100vw);
    border-top: calc(1 / 375 * 100vw) solid #CCCCCC;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .p-info-detail__main dl:last-of-type {
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-info-detail__main dl dt, .p-info-detail__main dl dd {
    padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .p-info-detail__main dl dt {
    width: 100%;
    border-bottom: calc(1 / 375 * 100vw) solid #CCCCCC;
  }
  .p-info-detail__main dl dd {
    padding: calc(20 / 375 * 100vw);
    width: 100%;
  }
  .p-info-detail__main dl dd p::before {
    top: calc(5 / 375 * 100vw);
  }
}
.p-numbers-mv__ttl span {
  width: 100%;
  margin-left: 0;
}
.p-numbers-mv__ttl span::before {
  content: none;
}
.p-numbers-know {
  padding-top: 120px;
}
.p-numbers-know__links {
  max-width: 690px;
  margin: 0 auto 60px;
  background: transparent;
}
.p-numbers-know__sec {
  margin: 50px 0 90px;
}
.p-numbers-know__sec ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1.37fr 30px 0.63fr 30px 1fr 30px 1fr;
  grid-template-columns: 1.37fr 0.63fr 1fr 1fr;
  -ms-grid-rows: auto 30px auto 30px auto 30px auto;
  grid-template-rows: auto auto auto auto;
  gap: 30px;
}
.p-numbers-know__sec ul > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-numbers-know__sec ul > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.p-numbers-know__sec ul > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
.p-numbers-know__sec ul > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}
.p-numbers-know__sec ul > *:nth-child(5) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.p-numbers-know__sec ul > *:nth-child(6) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.p-numbers-know__sec ul > *:nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}
.p-numbers-know__sec ul > *:nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 7;
}
.p-numbers-know__sec ul > *:nth-child(9) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
.p-numbers-know__sec ul > *:nth-child(10) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}
.p-numbers-know__sec ul > *:nth-child(11) {
  -ms-grid-row: 5;
  -ms-grid-column: 5;
}
.p-numbers-know__sec ul > *:nth-child(12) {
  -ms-grid-row: 5;
  -ms-grid-column: 7;
}
.p-numbers-know__sec ul > *:nth-child(13) {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
}
.p-numbers-know__sec ul > *:nth-child(14) {
  -ms-grid-row: 7;
  -ms-grid-column: 3;
}
.p-numbers-know__sec ul > *:nth-child(15) {
  -ms-grid-row: 7;
  -ms-grid-column: 5;
}
.p-numbers-know__sec ul > *:nth-child(16) {
  -ms-grid-row: 7;
  -ms-grid-column: 7;
}
.p-numbers-know__sec ul li:nth-of-type(1) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.p-numbers-know__sec ul li:nth-of-type(2) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
.p-numbers-know__sec ul li:nth-of-type(3) {
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  grid-column: 3/5;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
}
.p-numbers-know__sec ul li:nth-of-type(4) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.p-numbers-know__sec ul li:nth-of-type(5) {
  -ms-grid-column: 2;
  -ms-grid-column-span: 3;
  grid-column: 2/5;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.p-numbers-know__sec ul li:nth-of-type(6) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
}
.p-numbers-know__sec ul li:nth-of-type(7) {
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  grid-column: 3/5;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
}
.p-numbers-know__sec.--2nd ul {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr 30px 1fr;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
  -ms-grid-rows: auto 30px auto 30px auto 30px auto;
  grid-template-rows: auto auto auto auto;
  gap: 30px;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 3;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(3) {
  -ms-grid-row: 1;
  -ms-grid-column: 5;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(4) {
  -ms-grid-row: 1;
  -ms-grid-column: 7;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(5) {
  -ms-grid-row: 1;
  -ms-grid-column: 9;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(6) {
  -ms-grid-row: 1;
  -ms-grid-column: 11;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(7) {
  -ms-grid-row: 3;
  -ms-grid-column: 1;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(8) {
  -ms-grid-row: 3;
  -ms-grid-column: 3;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(9) {
  -ms-grid-row: 3;
  -ms-grid-column: 5;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(10) {
  -ms-grid-row: 3;
  -ms-grid-column: 7;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(11) {
  -ms-grid-row: 3;
  -ms-grid-column: 9;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(12) {
  -ms-grid-row: 3;
  -ms-grid-column: 11;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(13) {
  -ms-grid-row: 5;
  -ms-grid-column: 1;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(14) {
  -ms-grid-row: 5;
  -ms-grid-column: 3;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(15) {
  -ms-grid-row: 5;
  -ms-grid-column: 5;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(16) {
  -ms-grid-row: 5;
  -ms-grid-column: 7;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(17) {
  -ms-grid-row: 5;
  -ms-grid-column: 9;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(18) {
  -ms-grid-row: 5;
  -ms-grid-column: 11;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(19) {
  -ms-grid-row: 7;
  -ms-grid-column: 1;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(20) {
  -ms-grid-row: 7;
  -ms-grid-column: 3;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(21) {
  -ms-grid-row: 7;
  -ms-grid-column: 5;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(22) {
  -ms-grid-row: 7;
  -ms-grid-column: 7;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(23) {
  -ms-grid-row: 7;
  -ms-grid-column: 9;
}
.p-numbers-know__sec.--2nd ul > *:nth-child(24) {
  -ms-grid-row: 7;
  -ms-grid-column: 11;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(1) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(2) {
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  grid-column: 3/5;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(3) {
  -ms-grid-column: 5;
  -ms-grid-column-span: 2;
  grid-column: 5/7;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(4) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 6;
  grid-column: 1/7;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(5) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(6) {
  -ms-grid-column: 3;
  -ms-grid-column-span: 2;
  grid-column: 3/5;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(7) {
  -ms-grid-column: 5;
  -ms-grid-column-span: 2;
  grid-column: 5/7;
  -ms-grid-row: 3;
  -ms-grid-row-span: 1;
  grid-row: 3/4;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(8) {
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  grid-column: 1/4;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(9) {
  -ms-grid-column: 4;
  -ms-grid-column-span: 3;
  grid-column: 4/7;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
  position: relative;
}
.p-numbers-know__sec.--2nd ul li:nth-of-type(9) span {
  position: absolute;
  bottom: 0;
}
@media only screen and (max-width: 834px) {
  .p-numbers-know__sec.--2nd ul li:nth-of-type(9) span {
    position: relative;
    bottom: inherit;
  }
}
@media only screen and (max-width: 834px) {
  .p-numbers-mv__ttl span {
    position: relative;
    bottom: auto;
    display: block;
  }
  .p-numbers-mv__ttl span::before {
    content: none;
  }
  .p-numbers-know {
    padding: calc(55 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
  }
  .p-numbers-know__links {
    margin: 0 auto calc(40 / 375 * 100vw);
  }
  .p-numbers-know__links__link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  .p-numbers-know__links__link__link::before, .p-numbers-know__links__link__link:nth-of-type(2):before {
    content: "";
    width: 1px;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-numbers-know__links__link__link:nth-of-type(2):after {
    content: "";
    width: 1px;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
  }
  .p-numbers-know__links__link__link a {
    font-size: calc(14 / 375 * 100vw);
    font-weight: bold;
    letter-spacing: 0;
    padding: calc(10 / 375 * 100vw) calc(20 / 375 * 100vw);
  }
  .p-numbers-know__sec {
    margin: calc(25 / 375 * 100vw) 0 calc(60 / 375 * 100vw);
  }
  .p-numbers-know__sec ul {
    display: block;
  }
  .p-numbers-know__sec ul li:not(:first-of-type) {
    margin-top: calc(10 / 375 * 100vw);
  }
  .p-numbers-know__sec.--2nd {
    margin-bottom: 0;
  }
  .p-numbers-know__sec.--2nd ul {
    display: block;
  }
}

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

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

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

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

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

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

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

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

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

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

.u-tal {
  text-align: left;
}

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

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

@media only screen and (max-width: 834px) {
  .u-mt10 {
    margin-top: 10px;
  }
  .u-mt20 {
    margin-top: 10px;
  }
  .u-mt30 {
    margin-top: 13px;
  }
  .u-mt40 {
    margin-top: 20px;
  }
  .u-mt50 {
    margin-top: 20px;
  }
  .u-mt60 {
    margin-top: 30px;
  }
  .u-mt70 {
    margin-top: 30px;
  }
  .u-mt80 {
    margin-top: 35px;
  }
  .u-mt90 {
    margin-top: 45px;
  }
  .u-mt100 {
    margin-top: 60px;
  }
}