@charset "UTF-8";
main.subpage {
  overflow: hidden;
}

.subpage .commonBanner {
  position: relative;
  display: block;
}
.subpage .commonBanner:hover .commonBanner__onText {
  opacity: 1;
}
.subpage .commonBanner__onText {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
  opacity: 0;
  width: 100%;
  height: 100%;
  font-size: 13px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: rgba(34, 36, 39, 0.8);
  color: #fff;
  padding: 10px 20px;
}
.subpage .commonBanner__name {
  font-size: 14px;
  font-weight: bold;
  background: unset;
  border-radius: unset;
  padding: 0;
  margin-top: 5px;
  margin-left: 0;
  margin-right: 8px;
}
@media screen and (min-width: 768px) {
  .subpage .commonBanner__name {
    font-size: 16px;
  }
}
.subpage .commonBanner__tagWrap {
  margin-left: 0;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
}
.subpage .commonBanner__tag {
  margin-top: 2px;
  margin-right: 8px;
  background: #e0e0e0;
  font-size: 12px;
  border-radius: 2px;
  padding: 0 3px;
  margin-left: 0;
  font-weight: 500;
}
.subpage .serviceList__offerLink + .commonBanner__tagWrap {
  margin-top: 4px;
}
.subpage img {
  width: 100%;
}
.subpage .pc {
  display: block;
}
@media screen and (min-width: 1025px) {
  .subpage .pc {
    display: none;
  }
}
.subpage .sp {
  display: none;
}
@media screen and (min-width: 1025px) {
  .subpage .sp {
    display: block;
  }
}
.subpage .breadcrumb {
  background-color: #eee;
  margin: 64px auto 0;
}
.subpage .breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 10px 20px;
}
.subpage .breadcrumb__line {
  display: block;
  margin: 0 4px;
}
.subpage .breadcrumb li {
  display: flex;
  align-items: center;
  line-height: 1;
}
.subpage a {
  font-size: 12px;
  letter-spacing: 0;
  color: #222427;
  text-decoration: none;
}
.subpage .contentWrap {
  margin: 0 auto;
  padding: 0 20px;
  width: 100%;
  max-width: 1020px;
}
.subpage .contentWrap.md {
  max-width: 1020px;
}
.subpage .kv {
  padding: 42px 0;
  background-color: #F8F9FA;
}
@media screen and (min-width: 1025px) {
  .subpage .kv {
    padding: 84px 0;
  }
}
.subpage .kv__ttl {
  font-size: 32px;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  font-weight: bold;
}
.subpage .kv__line {
  display: block;
  margin: 20px auto 0;
  width: 40px;
  height: 4px;
  background-color: #222427;
}
.subpage ::-ms-expand {
  display: none;
}
.subpage .selectBoxBlc {
  position: relative;
  display: inline-block;
}
.subpage .selectBoxBlc::after {
  cursor: pointer;
  bottom: 17px;
  right: 15px;
  position: absolute;
  content: "";
  width: 10px;
  height: 6px;
  background: url(../images/ir/news_arrow.svg) center center/contain no-repeat;
}
.subpage .selectBox {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  margin-top: 80px;
  width: 140px;
  background: #000;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 14px;
  height: 40px;
  box-sizing: border-box;
  font-size: 16px;
  color: #fff;
  position: relative;
  cursor: pointer;
}
.subpage .selectBox__year {
  font-size: 16px;
  color: #fff;
}
.subpage .commonTtl {
  font-size: 26px;
  line-height: 1;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .subpage .commonTtl {
    font-size: 28px;
  }
}
.subpage .commonSubttl {
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
  position: relative;
}
.subpage .-uLine {
  position: relative;
}
.subpage .-uLine::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #222427;
  display: block;
  margin-top: 10px;
}
.subpage .-lLine {
  padding-left: 10px;
  position: relative;
}
.subpage .-lLine::before {
  content: "";
  width: 5px;
  height: 20px;
  background: #222427;
  position: absolute;
  top: 3px;
  left: 0;
}
.subpage .imgKv {
  width: 100%;
  height: 100vw;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/ir/kv_img.jpg);
  max-height: 500px;
}
@media screen and (min-width: 768px) {
  .subpage .imgKv {
    background-image: url(../images/ir/kv_img_pc.jpg);
  }
}
@media screen and (min-width: 768px) {
  .subpage .imgKv {
    width: 100%;
    height: 500px;
  }
}
.subpage .imgKv__ttl {
  color: #fff;
  font-size: 34px;
  font-weight: bold;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.5px;
}
@media screen and (min-width: 1025px) {
  .subpage .imgKv__ttl {
    font-size: 36px;
  }
}
.subpage .imgKv__line {
  width: 10%;
  display: block;
  margin: 16px auto 0;
  height: 4px;
  background-color: #FFFFFF;
}
@media screen and (min-width: 1025px) {
  .subpage .imgKv__line {
    width: 2.5%;
  }
}
.subpage .pdf__icon::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  background: url(../images/common/icon_pdf.svg) center center/contain no-repeat;
}
.subpage .movei__link::after {
  content: "";
  display: inline-block;
  align-items: center;
  width: 16px;
  height: 16px;
  vertical-align: middle;
  background: url(../images/common/icon_movie.svg) center center/contain no-repeat;
}
.subpage .dlBlk {
  margin: 40px auto 56px;
  padding: 16px 22.1px 16px 20px;
  background-color: #f5f6f7;
  width: 100%;
  max-width: 450px;
}
.subpage .dlBlk__txt {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  font-size: 16px;
  letter-spacing: 0;
  line-height: 1.5;
}
.subpage .dlBlk__txt::after {
  content: "";
  display: block;
  width: 12.6px;
  height: 11px;
  background: url(../images/common/icon_dl.svg) center center/contain no-repeat;
}
.subpage .dlBlk .arrow__iconHover {
  border: 1px solid #222427;
}
.subpage .linkBlk {
  margin-top: 40px;
}
.subpage .linkBlk__list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 20px;
}
.subpage .linkBlk__list li {
  width: 50%;
  line-height: 1;
  box-sizing: border-box;
  background: #F5F6F7;
  display: flex;
  align-items: center;
  justify-content: center;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  position: relative;
  box-sizing: border-box;
  transition: color 0.3s;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk__list li {
    width: calc(100% / 3);
  }
}
.subpage .linkBlk__list li:hover {
  color: #D28903 !important;
  outline: 1px solid #D28903;
  position: relative;
  z-index: 3;
}
.subpage .linkBlk__list li:hover .arrow-glay span {
  background-color: #D28903;
}
.subpage .linkBlk__list li:hover .arrow-glay span::before, .subpage .linkBlk__list li:hover .arrow-glay span:after {
  content: "";
  color: #D28903;
  border-color: #D28903;
  background: #D28903;
}
.subpage .linkBlk__list li:hover a {
  color: #D28903 !important;
}
.subpage .linkBlk__list li:nth-of-type(odd) {
  border-left: 1px solid #ddd;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk__list li:nth-of-type(odd) {
    border-left: none;
  }
}
.subpage .linkBlk__list li:nth-of-type(1), .subpage .linkBlk__list li:nth-of-type(2) {
  border-top: 1px solid #ddd;
}
.subpage .linkBlk__list li:last-of-type {
  border-right: 1px solid #ddd;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk__list li:nth-of-type(3n) {
    border-bottom: 1px solid #ddd;
  }
  .subpage .linkBlk__list li:nth-of-type(3) {
    border-top: 1px solid #ddd;
  }
  .subpage .linkBlk__list li:nth-of-type(3n+1) {
    border-left: 1px solid #ddd;
  }
}
.subpage .linkBlk__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 20px 30px 20px 20px;
  font-size: 16px;
  line-height: 1.333;
  font-weight: bold;
  color: #000;
}
.subpage .linkBlk__ttl {
  display: flex;
  align-items: center;
  font-size: 22px;
  letter-spacing: 0;
  line-height: 1;
  color: #000;
  font-weight: 500;
}
.subpage .linkBlk__ttl::before {
  content: "";
  display: block;
  width: 5px;
  height: 22px;
  margin-right: 6px;
  background-color: #222427;
}
@media screen and (min-width: 768px) {
  .subpage .linkBlk__ttl::before {
    height: 22px;
  }
}
.subpage .linkBlk.mt {
  margin-top: 80px;
}
.subpage .linkBlk.-col .linkBlk__list {
  flex-direction: column;
  border: 1px solid #ddd;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk.-col .linkBlk__list {
    flex-direction: row;
    border: none;
  }
}
.subpage .linkBlk.-col .linkBlk__list li {
  width: 100%;
  border: none;
  border-right: 1px solid #ddd;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk.-col .linkBlk__list li {
    width: calc(100% / 3);
  }
}
.subpage .linkBlk.-col .linkBlk__list li:not(:last-of-type) {
  border-bottom: 1px solid #ddd;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk.-col .linkBlk__list li:last-of-type {
    border-bottom: 1px solid #ddd;
  }
  .subpage .linkBlk.-col .linkBlk__list li:nth-of-type(3n+1) {
    border-left: 1px solid #ddd;
  }
  .subpage .linkBlk.-col .linkBlk__list li:nth-of-type(-n+3) {
    border-top: 1px solid #ddd;
  }
}
.subpage .bnrBlk {
  margin-top: 90px;
}
.subpage .bnrBlk__list {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 1025px) {
  .subpage .bnrBlk__list {
    flex-direction: row;
    justify-content: space-between;
    max-width: 980px;
    margin: 0 auto 90px;
  }
}
.subpage .bnrBlk__list li {
  position: relative;
  line-height: 1;
  height: 41.667vw;
}
@media screen and (min-width: 1025px) {
  .subpage .bnrBlk__list li {
    width: 46%;
    height: 14.648vw;
  }
}
@media screen and (min-width: 1025px) {
  .subpage .bnrBlk__list li {
    width: 46%;
    height: 150px;
  }
}
.subpage .bnrBlk__list li:nth-of-type(1) {
  background: url(../images/common/ir_link01.jpg) top center/cover no-repeat;
}
.subpage .bnrBlk__list li:nth-of-type(2) {
  margin-top: 10px;
  background: url(../images/common/ir_link02.jpg) top center/cover no-repeat;
}
@media screen and (min-width: 1025px) {
  .subpage .bnrBlk__list li:nth-of-type(2) {
    margin-top: 0px;
  }
}
.subpage .bnrBlk__list li::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.subpage .bnrBlk__list li a {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 24px;
  height: 100%;
  width: 100%;
}
.subpage .bnrBlk__list li a::after {
  content: "";
  display: inline-block;
  width: 13px;
  height: 12px;
  background: url(../images/common/icon_arrow_w.svg);
}
.subpage .bnrBlk__list li a .bnrBlk__txt {
  font-size: 16px;
  letter-spacing: 0;
  color: #fff;
}
.subpage .arrow__icon::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 10px;
  flex: 0 0 11px;
  background: url(../images/common/icon_arrow.svg);
}
.subpage .arrow-glay {
  position: absolute;
  right: 18px;
  top: 50%;
  transform: translate(0, -50%);
}
.subpage .arrow-glay .arrow {
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 2px;
  background-color: #222427;
  position: relative;
  transition: 0.3s;
}
.subpage .arrow-glay .arrow::before, .subpage .arrow-glay .arrow:after {
  content: "";
  display: block;
  width: 8px;
  height: 2px;
  background-color: #222427;
  position: absolute;
  right: 0;
  transition: 0.3s;
}
.subpage .arrow-glay .arrow::before {
  transform: rotate(45deg);
  top: -3px;
}
.subpage .arrow-glay .arrow:after {
  transform: rotate(-45deg);
  bottom: -3px;
}
.subpage .arrow-glay.-left {
  left: 18px;
  right: auto;
}
.subpage .arrow-glay.-left .arrow::before, .subpage .arrow-glay.-left .arrow:after {
  content: "";
  left: 0;
  right: auto;
}
.subpage .arrow-glay.-left .arrow::before {
  transform: rotate(-45deg);
  top: -3px;
}
.subpage .arrow-glay.-left .arrow:after {
  transform: rotate(45deg);
  bottom: -3px;
}
.subpage .arrow__iconHover {
  transition: 0.3s;
  position: relative;
}
.subpage .arrow__iconHover input {
  transition: 0.3s;
}
.subpage .arrow__iconHover:hover {
  color: #D28903 !important;
  border: 1px solid #D28903 !important;
}
.subpage .arrow__iconHover:hover input {
  color: #D28903;
}
.subpage .arrow__iconHover:hover .arrow-glay span {
  background-color: #D28903;
}
.subpage .arrow__iconHover:hover .arrow-glay span::before, .subpage .arrow__iconHover:hover .arrow-glay span:after {
  content: "";
  color: #D28903;
  border-color: #D28903;
  background: #D28903;
}
.subpage .arrow__iconHover-underLine {
  transition: 0.3s;
  position: relative;
}
.subpage .arrow__iconHover-underLine input, .subpage .arrow__iconHover-underLine a {
  transition: 0.3s;
}
.subpage .arrow__iconHover-underLine .arrow-glay {
  transform: scale(0.9) translate(0, -50%);
  right: 15px;
}
.subpage .arrow__iconHover-underLine:hover {
  color: #D28903 !important;
  border-color: #D28903 !important;
}
.subpage .arrow__iconHover-underLine:hover .arrow-glay span {
  background-color: #D28903;
}
.subpage .arrow__iconHover-underLine:hover .arrow-glay span::before, .subpage .arrow__iconHover-underLine:hover .arrow-glay span:after {
  content: "";
  color: #D28903;
  border-color: #D28903;
  background: #D28903;
}
.subpage .arrow__iconHover-underLine:hover a {
  color: #D28903 !important;
}
.subpage .-borderLglay {
  border: 1px solid #ddd;
}
.subpage .-borderGlay {
  border: 1px solid #222427;
}
.subpage .txtBase {
  margin-top: 80px;
}
.subpage .txtBase__ttl {
  font-size: 22px;
  line-height: 1.4;
  font-weight: normal;
}
.subpage .txtBase__ttl::after {
  content: "";
  display: block;
  margin-top: 10px;
  width: 20px;
  height: 2px;
  background-color: #222427;
}
.subpage .txtBase__ttl:not(:first-of-type) {
  margin-top: 60px;
}
@media screen and (min-width: 1025px) {
  .subpage .txtBase__ttl {
    font-size: 24px;
  }
}
.subpage .txtBase__ttl--h4 {
  color: #000;
  font-size: 22px;
  font-weight: normal;
  line-height: 1;
  border-left: 4px solid #222427;
  padding-left: 6px;
  letter-spacing: 0.5px;
  margin-top: 40px;
}
.subpage .txtBase__ttl--h4:not(:first-of-type) {
  margin-top: 40px;
}
.subpage .txtBase__subTtl {
  margin-top: 22px;
  font-size: 22px;
}
.subpage .txtBase__lead {
  margin-bottom: 40px;
  font-size: 16px;
  line-height: 1.5714;
}
.subpage .txtBase__txt {
  font-size: 16px;
  line-height: 1.5714;
  margin-top: 30px;
}
.subpage .txtBase__innerLink {
  text-decoration: underline;
  font: inherit;
  word-break: break-all;
}
.subpage .txtBase__link {
  display: inline-block;
  margin-top: 10px;
  font: inherit;
  text-decoration: underline;
}
.subpage .txtBase__txt-innerBold {
  font-weight: bold;
}
.subpage .txtBase__txt-bold {
  display: block;
  font-weight: bold;
  font-size: 16px;
  margin-top: 8px;
  margin-bottom: 4px;
}
.subpage .txtBase .bnrBlk__list li.-planLink {
  background: url(../images/ir/strategy_link_img.png) top center/cover no-repeat;
}
@media screen and (min-width: 1025px) {
  .subpage .txtBase .bnrBlk__list li.-planLink {
    margin-left: auto;
    margin-right: auto;
  }
}
.subpage .txtBase__table {
  margin-top: 16px;
  border: unset;
  border-spacing: 0;
  border: 1px solid #DDDDDD;
  width: 100%;
}
.subpage .txtBase__table tr th, .subpage .txtBase__table tr td {
  vertical-align: center;
  line-height: 2;
  padding: 3px 12px;
  border-spacing: 0;
  font-weight: normal;
}
.subpage .txtBase__table tr th.bg, .subpage .txtBase__table tr td.bg {
  background: #F8F9FA;
}
.subpage .txtBase__table tr th {
  width: 40%;
  text-align: right;
  font-size: 15px;
}
.subpage .txtBase__table tr td {
  text-align: left;
  font-size: 13px;
}
.subpage .txtBase__table tr:not(:last-of-type) th, .subpage .txtBase__table tr:not(:last-of-type) td {
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
}
.subpage .txtBase__table tr:last-of-type th, .subpage .txtBase__table tr:last-of-type td {
  border-right: 1px solid #DDDDDD;
}
.subpage .txtBase__table tr th:last-child, .subpage .txtBase__table tr td:last-child {
  border-right: unset;
}
@media screen and (min-width: 1025px) {
  .subpage .txtBase__table.column2 {
    max-width: 450px;
  }
}
.subpage .txtBase__table.column2 th {
  width: 40%;
}
.subpage .txtBase__table.column2 td {
  width: calc(100% - 40%);
}
.subpage .txtBase__table.column3 tr th:first-of-type {
  width: 45%;
  text-align: left;
}
.subpage .txtBase__table.column3 tr th:not(:first-of-type) {
  width: calc(55% / 2);
  text-align: right;
}
.subpage .txtBase__table.column3 tr td {
  width: calc(55% / 2);
  text-align: right;
}
@media screen and (min-width: 1025px) {
  .subpage .txtBase__table.columnAdd {
    max-width: 450px;
  }
}
.subpage .txtBase__table.columnAdd tr th:first-of-type {
  width: 45%;
  text-align: left;
}
.subpage .txtBase__table.columnAdd tr th:not(:first-of-type) {
  width: calc(55% / 2);
  text-align: left;
}
.subpage .txtBase__table.columnAdd tr td {
  width: 55%;
  text-align: left;
}
.subpage .txtBase__scrBlock {
  overflow: scroll;
}
.subpage .txtBase__scrBlock .txtBase__table th, .subpage .txtBase__scrBlock .txtBase__table td {
  width: auto;
}
.subpage .txtBase__table.column6 tr th, .subpage .txtBase__table.column6 tr td {
  white-space: nowrap;
}
.subpage .txtBase__table.column6 tr td {
  text-align: right;
}
.subpage .txtBase__table.column6 tr th:first-of-type {
  background: #F8F9FA;
}
.subpage .txtBase__table.column6 tr:first-of-type th {
  text-align: center;
}
.subpage .txtBase .colorBox {
  margin-top: 8px;
  background: #ddd;
  padding: 11px 10px;
}
.subpage .txtBase .colorBox h4 {
  font-size: 18px;
  font-weight: bold;
}
.subpage .txtBase .colorBox__txt {
  font-size: 16px;
  line-height: 2;
  padding-left: 20px;
}
.subpage .business_design-ttl {
  margin-top: 90px;
}
.subpage .business_design_banner {
  margin-top: 40px;
}
.subpage .business_design_banner a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 244px;
  font-size: 32px;
  line-height: 1;
  color: #fff;
  background: url(../images/common/business_design_banner.jpg) center center/cover no-repeat;
}
@media screen and (min-width: 768px) {
  .subpage .business_design_banner a {
    height: 494px;
    background-image: url(../images/common/business_design_banner-pc.jpg);
  }
}
.subpage .global__btn {
  cursor: pointer;
  width: 100%;
  margin: 0 auto;
  height: 60px;
  background: #050505;
  border: 1px solid #222427;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: bold;
  font-size: 16px;
  z-index: 6;
  max-width: 385px;
}
@media screen and (min-width: 1025px) {
  .subpage .global__btn {
    max-width: 385px;
  }
}
.subpage .global__btn.-glayBtn {
  background: #f5f6f7;
}
.subpage .servicelinks {
  padding: 60px 0;
  background: #F5F6F7;
}
@media screen and (min-width: 1025px) {
  .subpage .servicelinks__list {
    max-width: 980px;
    margin: 0 auto;
    display: flex;
  }
}
.subpage .servicelinks__list li {
  width: 100%;
  max-width: 300px;
  margin: 0 auto;
}
.subpage .servicelinks__list li:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  .subpage .servicelinks__list li {
    margin: 0;
  }
  .subpage .servicelinks__list li:not(:first-of-type) {
    margin-top: 0;
    margin-left: 40px;
  }
}
.subpage .servicelinks__list li .global__btn {
  background: #fff;
}
.subpage .commonBtn-plus {
  width: 100%;
  height: 58px;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
  background: #222427;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.555;
  color: #fff;
  padding: 0 20px;
  cursor: pointer;
}
.subpage .commonBtn-plus::before, .subpage .commonBtn-plus::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 2px;
  right: 25px;
}
.subpage .commonBtn-plus::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
.subpage .commonBtn-plus.is-active::before {
  opacity: 0;
}
.subpage .commonBtn-plus.is-active::after {
  transform: rotate(0);
}
.subpage .commonBtnList {
  max-width: 980px;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  .subpage .commonBtnList {
    display: flex;
    justify-content: space-between;
  }
}
.subpage .commonBtnList li {
  width: 100%;
  max-width: 335px;
}
@media screen and (min-width: 1025px) {
  .subpage .commonBtnList li {
    width: 30%;
  }
}
.subpage .commonBtn-arrow {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  background: #222427;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.555;
  color: #fff;
  padding: 15px 20px;
  cursor: pointer;
}
.subpage .commonBtn-arrow:after {
  content: "";
  height: 14px;
  width: 7.78px;
  transform: rotate(90deg);
  margin-left: 5px;
  background: url(../images/about_us/overview_arrow_w.svg) no-repeat center center/cover;
}
.subpage .js-txtWrap {
  height: 0;
  overflow: hidden;
  transition-duration: 0.3s;
}
.subpage .js-txtWrap.is-open {
  margin: 20px 0;
  height: auto;
}
.subpage .-outboundLink {
  position: relative;
  max-width: 335px;
  height: 60px;
  font-size: 16px;
}
.subpage .-outboundLink:after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
}
.subpage .-outboundLinkFlex {
  position: relative;
  display: inline-flex;
  padding: 22px 45px 22px 20px;
  font-size: 16px;
  border: 1px solid #DDDDDD;
  line-height: 1;
}
.subpage .-outboundLinkFlex:after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
}
.subpage .-outboundLinkFlex.-btnWidth {
  max-width: 335px;
  width: 100%;
}
.subpage .-linkTxt--arrow {
  text-decoration: none !important;
  font: inherit;
  padding-left: 10px;
  position: relative;
  border-bottom: 1px solid #000;
}
.subpage .-linkTxt--arrow::before {
  content: "";
  width: 7px;
  height: 7px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  position: absolute;
  top: 7px;
  left: 0;
  transform: rotate(45deg);
}
.subpage .global__btn--gray {
  cursor: pointer;
  width: 100%;
  margin: 0 auto;
  height: 60px;
  background: #f5f6f7;
  border: 1px solid #38404d;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: bold;
  font-size: 16px;
  z-index: 6;
  max-width: 385px;
}
.subpage .global__btn--gray input {
  background-color: unset;
  border: none;
  outline: none;
  /* -webkit-appearance: none; */
  box-sizing: border-box;
  padding: 0;
}
.subpage .ankerLinks__blk-glay {
  margin: 80px auto 0;
  max-width: 335px;
}
@media screen and (min-width: 768px) {
  .subpage .ankerLinks__blk-glay {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: unset;
  }
}
@media screen and (min-width: 768px) {
  .subpage .ankerLinks__blk-glay li {
    width: 100%;
    max-width: 313px;
  }
}
.subpage .ankerLinks__blk-glay li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px 15px 24px 0;
  font-size: 18px;
  border-bottom: 1px solid #DDDDDD;
}
@media screen and (min-width: 768px) {
  .subpage .ankerLinks__blk-glay li a {
    width: 100%;
    max-width: 300px;
  }
}
.subpage .ankerLinks__blk-glay li a::after {
  content: "";
  background: url(../images/about_us/under_arrow.svg) no-repeat center center/contain;
  width: 10px;
  height: 11.5px;
}

.-cate-id01 {
  background: #996600;
}

.-cate-id02 {
  background: #007699;
}

#creative .imgKv {
  background-image: url(../images/creative_studios_kv_img_sp.png);
}
@media screen and (min-width: 1025px) {
  #creative .imgKv {
    background-image: url(../images/creative_studios_kv_img_pc.png);
  }
}
#creative .commonTtl {
  font-size: 24px;
  text-align: center;
  line-height: 1.4;
}
@media (max-width: 360px) {
  #creative .commonTtl {
    font-size: calc(24 * (100vw / 360));
  }
}
#creative .topSection {
  padding: 86px 0 75px;
}
@media screen and (min-width: 1025px) {
  #creative .topSection {
    padding: 120px 0 115px;
  }
}
#creative .topSection__ttl {
  width: calc(360 * (100vw / 430));
  max-width: 360px;
  margin: 0 auto;
  font-weight: bold;
  line-height: 1;
  position: relative;
}
@media (max-width: 360px) {
  #creative .topSection__ttl {
    font-size: calc(24 * (100vw / 360));
  }
}
@media screen and (min-width: 1025px) {
  #creative .topSection__ttl {
    max-width: 540px;
  }
}
#creative .topSection__mainLead {
  margin-top: 45px;
  text-align: center;
  font-size: 24px;
  line-height: 1.4;
  font-weight: bold;
}
#creative .topSection__mainLead .-col {
  color: #D28903;
}
#creative .topSection__lead {
  margin-top: 40px;
  font-size: 16px;
  line-height: 1.625;
}
#creative .movie {
  background: #E9E9E9;
  padding: 40px 0 35px;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 1025px) {
  #creative .movie {
    padding: 80px 0 75px;
  }
}
#creative .movie .movie__ttlBlk {
  text-align: center;
}
#creative .movie .commonTtl {
  display: inline-block;
  position: relative;
}
#creative .movie__youtubeBox {
  max-width: 800px;
  position: relative;
  margin: 25px auto 0;
  overflow: hidden;
}
#creative .movie__youtubeBox::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
@media screen and (min-width: 1025px) {
  #creative .movie__youtubeBox {
    margin-top: 40px;
  }
}
#creative .movie__youtubeBox iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#creative .movie__tumb {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 800px;
  height: 100%;
  z-index: 2;
  cursor: pointer;
}
#creative .movie__playBtn {
  display: block;
  width: 58px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transition: all 0.3s;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  #creative .movie__playBtn {
    width: 120px;
  }
}
#creative .movie__playBtn::hover {
  opacity: 0.9;
}
#creative .movie__lead {
  font-size: 14px;
  max-width: 570px;
  margin: 35px auto 0;
  padding: 0 20px;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  #creative .movie__lead {
    padding: 0;
  }
}
#creative .about {
  padding: 75px 0 100px;
}
@media screen and (min-width: 1025px) {
  #creative .about {
    padding: 115px 0 120px;
  }
}
#creative .about__subTtl {
  margin-top: 45px;
  font-size: 18px;
  color: #0087B9;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #creative .about__subTtl {
    font-size: 20px;
  }
}
#creative .about__mainImg {
  display: block;
  padding: 0;
  width: 100vw;
  margin: 0 calc(50% - 50vw) 0;
}
@media screen and (min-width: 1025px) {
  #creative .about__mainImg {
    max-width: 980px;
    margin: 0 auto 0;
  }
}
#creative .about__blk {
  margin-top: 60px;
}
@media screen and (min-width: 1025px) {
  #creative .about__blk {
    margin-top: 55px;
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1025px) {
  #creative .about__img {
    width: 39.5%;
  }
}
#creative .about__lead {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 35px;
}
@media screen and (min-width: 1025px) {
  #creative .about__lead {
    width: 56.3%;
    margin-top: 0;
  }
}
#creative .about__linkBlk {
  margin-top: 75px;
}
@media screen and (min-width: 1025px) {
  #creative .about__linkBlk {
    display: flex;
    justify-content: space-between;
    max-width: 100%;
    margin-top: 100px;
  }
}
#creative .about__linkBlk .global__btn {
  font-size: 16px;
  font-weight: normal;
  height: 75px;
  line-height: 1.25;
  max-width: 385px;
  margin: 0 auto;
}
@media (max-width: 360px) {
  #creative .about__linkBlk .global__btn {
    font-size: calc(16 * (100vw / 360));
  }
}
@media screen and (min-width: 1025px) {
  #creative .about__linkBlk .global__btn {
    width: 48%;
    max-width: unset;
  }
}
#creative .about__linkBlk a:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  #creative .about__linkBlk a:not(:first-of-type) {
    margin-top: 0;
  }
}
#creative .studioList {
  padding-bottom: 80px;
}
@media (min-width: 768px) {
  #creative .studioList {
    padding-bottom: 80px;
  }
}
#creative .studioList img {
  aspect-ratio: unset;
}
#creative .professionals__link__wrapper {
  margin-bottom: 0;
}
#creative__serviceLink[href=""] {
  text-decoration: none;
}
#creative .professionals__link a[href=""] {
  pointer-events: none;
}
#creative .professionals__link a[href=""] .professionals__link__icon {
  display: none;
}
#creative .caseList {
  padding-bottom: 80px;
}
#creative .caseList .features__listLink a {
  font-size: 14px;
}
#creative .caseList .common-carouselArea__topWrap {
  justify-content: flex-end;
}
#creative .global__btn {
  background: #f5f6f7;
}
#creative .servicelinks .global__btn {
  background: #fff;
}

#ir-arch .newsBlock {
  margin-top: 80px;
}
#ir-arch .newsBlock__ttl {
  font-size: 26px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #ir-arch .newsBlock__ttl {
    font-size: 28px;
  }
}
#ir-arch .newsBlock__list {
  margin-top: 16px;
}
#ir-arch .newsBlock__list li:first-of-type {
  border-top: 1px solid #DDDDDD;
}
#ir-arch .newsBlock__list li {
  padding: 16px 0;
  border-bottom: 1px solid #DDDDDD;
}
#ir-arch .newsBlock__txtBox {
  display: flex;
  align-items: center;
}
#ir-arch .newsBlock__day {
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}
#ir-arch .newsBlock__cate {
  font-size: 12px;
  padding: 2px 3px;
  margin-left: 8px;
  color: #fff;
  border-radius: 2px;
}
#ir-arch .newsBlock__txt {
  font-size: 16px;
  line-height: 1.5714;
  margin-top: 6px;
}
#ir-arch .dlBlk.-w50 {
  width: 50%;
  margin: 16px 0 0 auto;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  #ir-arch .dlBlk.-w50 {
    margin: 32px 0 0 auto;
  }
}
#ir-arch .dlBlk.-w50 .arrow__iconHover {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 22.1px 16px 20px;
  font-size: 16px;
}
#ir-arch .dlBlk {
  margin-top: 16px;
}
@media screen and (min-width: 1025px) {
  #ir-arch .dlBlk {
    margin-top: 60px;
  }
}
#ir-arch .manageInfo {
  margin: 90px 0 0;
  padding-bottom: 100px;
}
#ir-arch .manageInfo__ttl {
  display: flex;
  align-items: center;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #ir-arch .manageInfo__ttl {
    font-size: 22px;
  }
}
#ir-arch .manageInfo__ttl::before {
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  margin-right: 6px;
  background-color: #222427;
}
#ir-arch .manageInfo__lead {
  margin-top: 11px;
  line-height: 1.7142;
}
@media screen and (min-width: 768px) {
  #ir-arch .manageInfo__lead {
    font-size: 16px;
  }
}
#ir-arch .manageInfo__list {
  margin-top: 14px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#ir-arch .manageInfo__list li {
  width: 100%;
  height: 24vw;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media screen and (min-width: 1025px) {
  #ir-arch .manageInfo__list li {
    width: calc((100% - 15px * 2) / 3);
    padding-top: 8.7%;
    background-size: contain;
    height: auto;
  }
}
#ir-arch .manageInfo__list li:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  #ir-arch .manageInfo__list li:not(:first-of-type) {
    margin-top: 0;
  }
}
#ir-arch .manageInfo__list-info01 {
  background-image: url(../../../images/ir/manageInfo_img_01.jpg);
}
#ir-arch .manageInfo__list-info02 {
  background-image: url(../../../images/ir/manageInfo_img_02.jpg);
}
#ir-arch .manageInfo__list-info03 {
  background-image: url(../../../images/ir/manageInfo_img_03.jpg);
}

#library .libraryBlock, #ir-arch .libraryBlock {
  margin-top: 80px;
}
#library .libraryBlock__day, #ir-arch .libraryBlock__day {
  font-size: 16px;
  margin-top: 20px;
  line-height: 1;
  font-weight: bold;
}
#library .libraryBlock__list li, #ir-arch .libraryBlock__list li {
  padding: 16px 0;
  border-bottom: 1px solid #DDDDDD;
}
#library .libraryBlock__txtBox, #ir-arch .libraryBlock__txtBox {
  display: flex;
  align-items: center;
}
#library .libraryBlock__cate, #ir-arch .libraryBlock__cate {
  font-size: 12px;
  padding: 2px 3px;
  background: #E0E0E0;
  margin-left: 8px;
}
#library .libraryBlock__txt, #ir-arch .libraryBlock__txt {
  font-size: 16px;
  line-height: 1.5714;
  margin-top: 6px;
}
#library .libraryLinkBlk, #ir-arch .libraryLinkBlk {
  margin: 66px 0 0 0;
}
#library .libraryLinkBlk__list, #ir-arch .libraryLinkBlk__list {
  display: flex;
  flex-wrap: wrap;
}
#library .libraryLinkBlk__list li, #ir-arch .libraryLinkBlk__list li {
  width: 100%;
  border: unset;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  #library .libraryLinkBlk__list li:nth-child(2n-1), #ir-arch .libraryLinkBlk__list li:nth-child(2n-1) {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1025px) {
  #library .libraryLinkBlk__list li, #ir-arch .libraryLinkBlk__list li {
    width: calc(50% - 20px);
  }
}
#library .libraryLinkBlk__list li a, #ir-arch .libraryLinkBlk__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  font-size: 16px;
  font-weight: normal;
  padding: 24px 15px 24px 0;
  border-bottom: 1px solid #DDDDDD;
  position: relative;
}

#settlement .yearBlk, #financial .yearBlk, #news .yearBlk {
  margin-top: 80px;
}
#settlement .yearBlk__ttl, #financial .yearBlk__ttl, #news .yearBlk__ttl {
  display: flex;
  align-items: center;
  padding-bottom: 20px;
  font-size: 22px;
  letter-spacing: 0;
  line-height: 1;
  border-bottom: 1px solid #ddd;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #settlement .yearBlk__ttl, #financial .yearBlk__ttl, #news .yearBlk__ttl {
    font-size: 22px;
  }
}
#settlement .yearBlk__ttl::before, #financial .yearBlk__ttl::before, #news .yearBlk__ttl::before {
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  margin-right: 6px;
  background-color: #222427;
}
#settlement .yearBlk__desc, #financial .yearBlk__desc, #news .yearBlk__desc {
  margin-top: 16px;
  padding-bottom: 17px;
  font-size: 14px;
  letter-spacing: 0;
  line-height: 1.6;
  border-bottom: 1px solid #ddd;
}
#settlement .yearBlk__desc dt, #financial .yearBlk__desc dt, #news .yearBlk__desc dt {
  font-weight: 600;
  margin-bottom: 10px;
}
#settlement .yearBlk__desc a, #financial .yearBlk__desc a, #news .yearBlk__desc a {
  display: block;
  margin-top: -1px;
  font-size: 16px;
}
#settlement .yearBlk__desc p, #financial .yearBlk__desc p, #news .yearBlk__desc p {
  display: block;
  margin-top: -1px;
  font-size: 16px;
}
#settlement .yearBlk__desc p a, #financial .yearBlk__desc p a, #news .yearBlk__desc p a {
  text-decoration: underline;
  font: inherit;
}
#settlement .yearBlk__txt-links, #financial .yearBlk__txt-links, #news .yearBlk__txt-links {
  margin-top: 40px;
  font-size: 16px;
  line-height: 1.5714;
}
#settlement .yearBlk__txt-links a, #financial .yearBlk__txt-links a, #news .yearBlk__txt-links a {
  font: inherit;
  text-decoration: underline;
  display: inline;
}

#news .yearBlk {
  margin-top: 40px;
}
#news .yearBlk__desc dt {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
}
#news .yearBlk__desc dt .yearBlk__cate {
  padding: 2px 3px;
  font-size: 12px;
  color: #fff;
  border-radius: 2px;
  margin-left: 3px;
  font-weight: normal;
}

#message .message {
  margin-top: 80px;
}
@media screen and (min-width: 1025px) {
  #message .message {
    display: block;
    margin-top: 80px;
    max-width: unset;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 1025px) {
  #message .message__imgBlk {
    width: 100%;
    margin-bottom: 60px;
  }
}
#message .message__imgBlk figure {
  width: 234px;
  margin: 0 auto;
}
@media screen and (min-width: 1025px) {
  #message .message__imgBlk figure {
    width: 100%;
  }
}
#message .message__txtBlk {
  margin-top: 43px;
}
@media screen and (min-width: 1025px) {
  #message .message__txtBlk {
    margin-top: 0;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    padding: 0 0;
  }
}
#message .message__txtBlk p {
  font-family: YuGothic;
  font-weight: 500;
  font-size: 16px;
  line-height: 1.7142;
}
@media screen and (min-width: 768px) {
  #message .message__txtBlk p {
    font-size: 16px;
  }
}
#message .message__txtBlk p .-bold {
  font-weight: bold;
}
#message .message__txtBlk h2 {
  font-size: 18px;
  text-align: right;
  font-weight: normal;
  line-height: 1;
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #message .message__txtBlk h2 {
    font-size: 20px;
  }
}
#message .message__txtBlk h2 span {
  display: block;
  margin-bottom: 8px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #message .message__txtBlk h2 span {
    font-size: 16px;
  }
}

#officers .officers {
  margin-top: 80px;
}
#officers .officers .officersList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#officers .officers .officersList li {
  margin-bottom: 80px;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #officers .officers .officersList li {
    width: 47%;
    max-width: 450px;
  }
}
#officers .officers .officersList__imgBox {
  display: flex;
}
#officers .officers .officersList__imgBox figure {
  width: 44.77%;
}
#officers .officers .officersList__imgBox h2 {
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-weight: 600;
  font-size: 24px;
  line-height: 1;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #officers .officers .officersList__imgBox h2 {
    font-size: 26px;
  }
}
#officers .officers .officersList__imgBox h2 span {
  display: block;
  margin-bottom: 5px;
  font-size: 14px;
  line-height: 1.57;
}
#officers .officers .officersList__imgBox h2 .-detail {
  display: block;
  margin-bottom: 13px;
  font-size: 12px;
  color: #83807A;
  line-height: 1.5;
}
#officers .officers .officersList__imgBox h2 .-en {
  display: block;
  margin: 2px 0 0;
  font-size: 14px;
  line-height: 1.57;
  font-weight: normal;
}
#officers .officers .officersList__txtBox {
  margin-top: 32px;
}
#officers .officers .officersList__txtBox h3 {
  font-size: 16px;
  font-weight: bold;
  padding-bottom: 12px;
  border-bottom: 1px solid #DDDDDD;
}
@media screen and (min-width: 768px) {
  #officers .officers .officersList__txtBox h3 {
    font-size: 18px;
  }
}
#officers .officers .officersList__txtBox dl {
  margin-top: 17px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
#officers .officers .officersList__txtBox dl dt, #officers .officers .officersList__txtBox dl dd {
  font-size: 14px;
  line-height: 1.42;
}
#officers .officers .officersList__txtBox dl dt {
  flex: 0 0 25%;
}
#officers .officers .officersList__txtBox dl dd {
  flex: 0 0 75%;
}
#officers .officers .officersList__txtBox dl dd:not(:last-of-type) {
  margin-bottom: 10px;
}
#officers .officers .officersNote {
  font-weight: 400;
  font-size: 14px;
  line-height: 1.511;
}

#calendar .imgBlk {
  margin-top: 80px;
}
#calendar .imgBlk__img {
  margin-top: 24px;
  display: block;
}
#calendar .imgBlk__ttl {
  margin-top: 56px;
  font-weight: 400;
  font-size: 22px;
  line-height: 1.4;
  position: relative;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #calendar .imgBlk__ttl {
    font-size: 24px;
  }
}
#calendar .imgBlk__ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #222427;
  position: absolute;
  left: 0;
  bottom: 0;
}
#calendar .imgBlk__txtWrap {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
#calendar .imgBlk__txtWrap dt {
  width: 110px;
}
#calendar .imgBlk__txtWrap dt:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .imgBlk__txtWrap dd {
  width: calc(100% - 110px);
}
#calendar .imgBlk__txtWrap dd:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .imgBlk__txtWrap dd, #calendar .imgBlk__txtWrap dt {
  font-size: 16px;
}
#calendar .history {
  margin-top: 56px;
}
@media screen and (min-width: 1025px) {
  #calendar .history__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
@media screen and (min-width: 1025px) {
  #calendar .history__list li {
    width: 45%;
  }
}
#calendar .history__box:first-of-type {
  margin-top: 20px;
}
#calendar .history__box:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  #calendar .history__box:first-of-type {
    margin-top: 20px;
  }
  #calendar .history__box:not(:first-of-type) {
    margin-top: 20px;
  }
}
#calendar .history__ttl {
  font-weight: 400;
  font-size: 22px;
  line-height: 1.4;
  position: relative;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #calendar .history__ttl {
    font-size: 24px;
  }
}
#calendar .history__ttl::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #222427;
  position: absolute;
  left: 0;
  bottom: 0;
}
#calendar .history__btn {
  width: 100%;
  height: 58px;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
  background: #222427;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.555;
  color: #fff;
  padding: 0 20px;
  cursor: pointer;
}
#calendar .history__btn:hover {
  opacity: 0.9;
}
#calendar .history__txtWrap {
  display: flex;
  flex-wrap: wrap;
}
#calendar .history__txtWrap dt {
  width: 110px;
}
#calendar .history__txtWrap dt:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .history__txtWrap dd {
  width: calc(100% - 110px);
}
#calendar .history__txtWrap dd:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .history__txtWrap dd, #calendar .history__txtWrap dt {
  font-size: 16px;
}
#calendar .history__btn::before, #calendar .history__btn::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 2px;
  right: 25px;
}
#calendar .history__btn::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#calendar .history__btn.is-active::before {
  opacity: 0;
}
#calendar .history__btn.is-active::after {
  transform: rotate(0);
}
#calendar .history__txtWrap {
  height: 0;
  overflow: hidden;
  transition-duration: 0.3s;
}
#calendar .history__txtWrap.is-open {
  margin: 20px 0;
  height: auto;
}

#highlight .highlight {
  margin: auto;
  margin-top: 80px;
}
@media screen and (min-width: 1025px) {
  #highlight .highlight ul {
    display: flex;
    justify-content: space-between;
    max-width: 980px;
    margin: 0 auto;
  }
}
#highlight .highlight ul li {
  width: 100%;
}
#highlight .highlight ul li:not(:first-of-type) {
  margin-top: 80px;
}
@media screen and (min-width: 1025px) {
  #highlight .highlight ul li {
    width: 46%;
    max-width: 450px;
  }
  #highlight .highlight ul li:not(:first-of-type) {
    margin-top: 0;
  }
}
#highlight .highlight__img {
  margin-top: 40px;
}
@media screen and (min-width: 1025px) {
  #highlight .highlight__img {
    margin-top: 40px;
  }
}
#highlight .highlight__table {
  width: 100%;
  margin-top: 40px;
}
@media screen and (min-width: 1025px) {
  #highlight .highlight__table {
    margin-top: 56px;
  }
}
#highlight .highlight__table .bg {
  background: #EEEEEE;
}
#highlight .highlight__table tr {
  width: 100%;
}
#highlight .highlight__table tr th, #highlight .highlight__table tr td {
  padding: 14px 0;
  text-align: center;
}
#highlight .highlight__table tr th {
  width: calc((100% - 11%) / 5);
}
#highlight .highlight__table tr th:nth-of-type(1) {
  width: 11%;
}
#highlight .highlight__table tr td {
  width: calc((100% - 11%) / 5);
}

#plan .planWrap__topTxt {
  text-align: left;
  margin-bottom: 100px;
  line-height: 1.7;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__topTxt {
    font-size: 16px;
  }
}
#plan .planWrap__mainTxt {
  max-width: 375px;
  margin: 0 auto;
}
#plan .planWrap .businessField__num {
  margin-bottom: 0;
}
#plan .planWrap__day {
  width: 100%;
  max-width: 120px;
  margin: -11.5px auto 0;
  padding: 5px 0;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
  background-color: #83807a;
}
#plan .planWrap__themeBox-txt {
  line-height: 1;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 1;
}
@media (min-width: 768px) {
  #plan .planWrap__themeBox-txt {
    font-size: 22px;
  }
}
#plan .planWrap__themeBox-line {
  display: block;
  margin: 10px auto 0;
  width: 30px;
  height: 4px;
  background-color: #222427;
}
#plan .planWrap__themeBox-lead {
  margin-top: 25px;
  font-size: 18px;
  line-height: 1.9;
  text-align: left;
}
@media (min-width: 768px) {
  #plan .planWrap__themeBox-lead {
    font-size: 22px;
  }
}
#plan .planWrap__themeBox-img {
  width: 100%;
  margin-top: 100px;
  position: relative;
}
#plan .planWrap__themeBox-img img {
  width: 100%;
}
#plan .planWrap__themeBox-wrap {
  width: 100%;
  padding: 0;
}
#plan .planWrap__listBox {
  display: flex;
  flex-direction: column;
  margin-top: 20px;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__listBox {
    margin-top: 32px;
    flex-direction: row;
    justify-content: space-between;
    margin-bottom: 40px;
  }
}
#plan .planWrap__listBox li {
  width: 100%;
  padding: 10px 0 17px;
  border: 1px solid #ddd;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__listBox li {
    width: 49%;
  }
}
#plan .planWrap__listBox li:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__listBox li:not(:first-of-type) {
    margin-top: 0;
  }
}
#plan .planWrap__listBox li:nth-of-type(1) .planWrap__listBox-icon {
  max-width: 70px;
}
#plan .planWrap__listBox li:nth-of-type(2) {
  padding-top: 20px;
}
#plan .planWrap__listBox li:nth-of-type(2) .planWrap__listBox-icon {
  max-width: 59px;
}
#plan .planWrap__listBox li:nth-of-type(2) .planWrap__listBox-lead {
  margin-top: 9px;
}
#plan .planWrap__listBox-icon {
  display: block;
  width: 100%;
  margin: 0 auto;
}
#plan .planWrap__listBox-icon img {
  width: 100%;
}
#plan .planWrap__listBox-lead {
  margin-top: 5px;
  font-size: 16px;
  line-height: 1.5;
  text-align: center;
}
#plan .planWrap .businessField__GN__title {
  font-size: 32px;
  margin-bottom: 20px;
}
#plan .planWrap .common-section__GN {
  padding: 45px 0 45px 0;
  margin-bottom: 60px;
  margin: 40px calc(50% - 50vw) 60px;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  #plan .planWrap .common-section__GN {
    width: 100%;
    margin: 40px auto 60px;
  }
}
#plan .planWrap .businessField__num__item:not(:last-child) {
  margin-right: 0;
  margin-bottom: 20px;
}
#plan .planWrap .businessField__num__heading {
  font-size: 16px;
  margin-bottom: 10px;
}
#plan .planWrap .businessField__num__text {
  font-size: 60px;
}
#plan .planWrap__strategyBox {
  margin-top: 80px;
}
#plan .planWrap__strategyBox .features__anchors {
  margin-top: 24px;
}
#plan .planWrap__strategyBox .features__anchors__text {
  font-size: 16px;
}
@media (min-width: 768px) {
  #plan .planWrap__strategyBox .features__anchors__text {
    font-size: 16px;
  }
}
@media (max-width: 750px) {
  #plan .planWrap__strategyBox .features__anchors__text {
    padding-right: 10px;
  }
}
#plan .planWrap__strategyBox-ttl {
  font-size: 24px;
  line-height: 1.333;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-ttl {
    font-size: 26px;
  }
}
#plan .planWrap__strategyBox-list {
  display: flex;
  flex-direction: column;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-list {
    flex-direction: row;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: unset;
    margin: 24px auto 0;
  }
}
#plan .planWrap__strategyBox-list li {
  padding: 0;
  border: unset;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-list li {
    width: 43%;
  }
}
#plan .planWrap__strategyBox-list li:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-list li:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-list li:nth-of-type(n+3) {
    margin-top: 40px;
  }
}
#plan .planWrap__strategyBox-txt {
  font-size: 20px;
  line-height: 1.4;
  font-weight: normal;
  position: relative;
}
#plan .planWrap__strategyBox-txt::before {
  content: "";
}
#plan .planWrap__strategyBox-lead {
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-lead {
    font-size: 15px;
  }
}
#plan .planWrap__strategyBox-note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-note {
    text-align: center;
  }
}
#plan .planWrap__strategyBox-img {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__strategyBox-img {
    max-width: 700px;
    margin: 20px auto 0;
  }
}
#plan .planWrap__graphBox {
  margin-top: 80px;
}
#plan .planWrap__graphBox-ttl {
  font-size: 24px;
  line-height: 1.333;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__graphBox-ttl {
    text-align: center;
    font-size: 26px;
  }
}
#plan .planWrap__graphBox-txt {
  font-size: 18px;
  line-height: 1.4;
  font-weight: bold;
}
#plan .planWrap__graphBox-lead {
  margin-top: 3px;
  font-size: 13px;
  line-height: 1.4;
}
#plan .planWrap__graphBox-note {
  margin-top: 10px;
  font-size: 13px;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__graphBox-note {
    text-align: center;
  }
}
#plan .planWrap__graphBox-img {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__graphBox-img {
    max-width: 700px;
    margin: 20px auto 0;
  }
}
#plan .planWrap__dlBox {
  margin-top: 80px;
}
#plan .planWrap__dlBox-ttl {
  font-size: 24px;
  line-height: 1;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__dlBox-ttl {
    font-size: 26px;
  }
}
#plan .planWrap__dlBox-list {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__dlBox-list {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
}
#plan .planWrap__dlBox-pdf {
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__dlBox-pdf {
    max-width: 49%;
    margin: 0;
  }
}
#plan .planWrap__dlBox-pdf:not(:first-of-type) {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__dlBox-pdf:not(:first-of-type) {
    margin-top: 0;
    height: 74px;
    display: flex;
    align-items: center;
  }
}
#plan .planWrap__dlBox-pdf:not(:first-of-type) .dlBlk__txt {
  justify-content: space-between;
}
#plan .planWrap__dlBox .dlBlk__txt {
  justify-content: flex-start;
}
#plan .planWrap__dlBox .dlBlk__txt::after {
  width: 14px;
  height: 14px;
  background-image: url(../../images/common/icon_pdf.svg);
}
#plan .planWrap__dlBox-txt {
  display: inline-block;
  font-size: 14px;
}
#plan .planWrap__dlBox-day {
  display: block;
  margin-top: 3px;
  font-size: 13px;
  line-height: 1;
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__flexBlk {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__blk {
    width: 40%;
    margin-left: 30px;
    margin-right: 30px;
  }
}
#plan .planWrap__objectiveTxt {
  font-size: 35px;
  font-weight: bold;
  display: flex;
  align-items: flex-end;
  line-height: 1;
}
#plan .planWrap__objectiveTxt span {
  font-size: 120px;
  line-height: 1;
}
#plan .planWrap__objectiveTxt:first-of-type {
  margin-top: 60px;
}
#plan .planWrap__objectiveTxt:not(:first-of-type) {
  margin-top: 40px;
}
#plan .planWrap__objectiveTxt.-txt_01 {
  max-width: 157px;
  width: 41%;
}
#plan .planWrap__objectiveTxt.-txt_02 {
  max-width: 331px;
  width: 76%;
}
#plan .planWrap__objectiveTxt.-txt_03 {
  max-width: 270px;
  width: 62%;
}
#plan .planWrap__objectiveCate {
  font-size: 20px;
  font-weight: bold;
  display: flex;
}
#plan .planWrap__objectiveCate span {
  line-height: 1;
  font-size: 20px;
}
#plan .planWrap__objectiveCate.-cate01 {
  margin-top: 9px;
  align-items: flex-end;
}
#plan .planWrap__objectiveCate.-cate01::before {
  content: "";
  background: url(../../images/ir/plan_icon_01.svg) no-repeat center center/contain;
  flex: 0 0 35px;
  height: 28px;
  margin-right: 8px;
}
#plan .planWrap__objectiveCate.-cate01 span {
  margin-bottom: 2px;
}
#plan .planWrap__objectiveCate.-cate02 {
  margin-top: 11px;
  align-items: flex-end;
}
#plan .planWrap__objectiveCate.-cate02::before {
  content: "";
  background: url(../../images/ir/plan_icon_02.svg) no-repeat center center/contain;
  flex: 0 0 47px;
  height: 24px;
  margin-right: 5px;
}
#plan .planWrap__objectiveCate.-cate03 {
  align-items: center;
  margin-top: 13px;
}
#plan .planWrap__objectiveCate.-cate03::before {
  content: "";
  background: url(../../images/ir/plan_icon_03.svg) no-repeat center center/contain;
  flex: 0 0 44px;
  height: 27px;
  margin-right: 6px;
}
#plan .planWrap__blk {
  margin-top: 60px;
}
#plan .planWrap__objectiveBox {
  font-size: 18px;
  line-height: 1.5;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__objectiveBox {
    max-width: 335px;
  }
}
#plan .planWrap__objectiveBox.-box1 {
  background: #F8F9FA;
  padding: 16.5px 0;
  position: relative;
  margin: 0 auto;
}
#plan .planWrap__objectiveBox.-box1::after {
  content: "";
  background: url(../../images/ir/plan_arrow_b.svg) no-repeat center center/contain;
  width: 47px;
  height: 35px;
  position: absolute;
  bottom: -42px;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}
#plan .planWrap__objectiveBox.-box2 {
  background: #000000;
  padding: 27.5px 0;
  margin: 50px auto 0;
  color: #FFFFFF;
}
#plan .planWrap__objectiveLead {
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5;
  margin-top: 16px;
  text-align: center;
}
#plan .planWrap__counting {
  margin-top: 80px;
}
#plan .planWrap__counting-ttl {
  font-size: 24px;
  line-height: 1;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__counting-ttl {
    font-size: 26px;
  }
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__counting-ttl {
    text-align: center;
  }
}
#plan .planWrap__counting-table {
  margin-top: 20px;
  border: unset;
  border-spacing: 0;
  border: 1px solid #DDDDDD;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__counting-table {
    max-width: 740px;
    margin: 40px auto 0;
  }
}
#plan .planWrap__counting-table tr th, #plan .planWrap__counting-table tr td {
  vertical-align: center;
  font-size: 14px;
  line-height: 1.3;
  padding: 10px 6px;
  border-spacing: 0;
  font-weight: normal;
}
#plan .planWrap__counting-table tr th.bg, #plan .planWrap__counting-table tr td.bg {
  background: #F8F9FA;
}
#plan .planWrap__counting-table tr th {
  width: 32%;
  text-align: left;
}
#plan .planWrap__counting-table tr th .-small {
  display: block;
  text-align: left;
  font-size: 13px;
  line-height: 1;
  margin-top: 6px;
}
#plan .planWrap__counting-table tr td {
  line-height: 1.25;
}
#plan .planWrap__counting-table tr td .-color {
  font-size: 15px;
  color: #007699;
  line-height: 1;
}
#plan .planWrap__counting-table tr td .-big {
  font-size: 20px;
}
#plan .planWrap__counting-table tr th:not(:first-of-type) {
  width: 25%;
  text-align: center;
}
#plan .planWrap__counting-table tr td {
  width: 25%;
  text-align: right;
}
#plan .planWrap__counting-table tr:not(:last-of-type) th, #plan .planWrap__counting-table tr:not(:last-of-type) td {
  border-bottom: 1px solid #DDDDDD;
  border-right: 1px solid #DDDDDD;
}
#plan .planWrap__counting-table tr:not(:last-of-type) th .-big, #plan .planWrap__counting-table tr:not(:last-of-type) td .-big {
  font-size: 20px;
}
#plan .planWrap__counting-table tr:last-of-type th, #plan .planWrap__counting-table tr:last-of-type td {
  border-right: 1px solid #DDDDDD;
}
#plan .planWrap__counting-table tr th:last-child, #plan .planWrap__counting-table tr td:last-child {
  border-right: unset;
}
#plan .planWrap__counting-lead {
  font-size: 18px;
  text-align: left;
  margin-top: 25px;
  line-height: 1.9;
  text-align: left;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__counting-lead {
    font-size: 22px;
  }
}
#plan .planWrap__counting-txt {
  font-size: 14px;
  line-height: 1.7;
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__counting-txt {
    font-size: 16px;
  }
}
#plan .planWrap__counting-txt a {
  word-break: break-all;
  font: inherit;
}
@media screen and (min-width: 1025px) {
  #plan .planWrap__counting-txt {
    margin: 28px auto 0;
  }
}
#plan .planWrap .c-ttl {
  font-weight: bold;
  font-size: 26px;
  line-height: 1.3333;
  text-align: left;
}
@media (min-width: 768px) {
  #plan .planWrap .c-ttl {
    font-size: 28px;
  }
}

@media screen and (min-width: 1025px) {
  #stock .txtBase {
    margin: 40px auto;
  }
}
#stock .txtBase__ttl {
  margin-top: 40px;
}
#stock .txtBase__subTtl {
  margin-top: 90px;
  font-size: 26px;
}
@media screen and (min-width: 768px) {
  #stock .txtBase__subTtl {
    font-size: 28px;
  }
}
#stock .txtBase__ttl + .txtBase__txt {
  margin-top: 16px;
}
#stock .txtBase .colorBox {
  margin-top: 16px;
}
#stock .txtBase__table {
  border: unset;
  border-spacing: 0;
  border: 1px solid #DDDDDD;
}
#stock .txtBase__table__ttl:not(:last-of-type) {
  margin-top: 25px;
}
#stock .dlBlk.-stockTransitionLink {
  margin: 25px auto 0 0;
}
#stock .-graph01 {
  margin-top: 30px;
}
@media screen and (min-width: 1025px) {
  #stock .-graph01 {
    max-width: 500px;
    margin: 60px auto 0;
  }
}
#stock .-graph02 {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  #stock .-graph02 {
    max-width: 700px;
    margin: 40px auto 0;
  }
}

#individual .features__mainWrap {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #individual .features__mainWrap {
    max-width: 460px;
    margin: 40px auto 0;
  }
}
#individual .common-section__GN {
  margin-bottom: 60px;
  margin: 40px calc(50% - 50vw) 60px;
  width: 100vw;
}
@media screen and (min-width: 768px) {
  #individual .common-section__GN {
    width: 100%;
    margin: 40px auto 60px;
  }
}
@media screen and (min-width: 1025px) {
  #individual .businessField__num {
    justify-content: right;
  }
}
@media screen and (max-width: 1024px) {
  #individual .businessField__num {
    justify-content: space-between;
  }
}
@media screen and (max-width: 1024px) {
  #individual .businessField__num__item:not(:last-child) {
    margin-right: 0;
  }
}
#individual .businessField__GN__title {
  font-size: 32px;
}
#individual .businessField__num__heading {
  font-size: 24px;
}
#individual .businessField__num__text {
  font-size: 60px;
}
#individual .businessField__num {
  margin-bottom: 0;
}
#individual .movie__youtubeBox {
  max-width: 800px;
  position: relative;
  margin: 0 auto 0;
  overflow: hidden;
}
#individual .movie__youtubeBox::before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
#individual .movie__youtubeBox iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#individual .movie__tumb {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  max-width: 800px;
  height: 100%;
  z-index: 2;
  cursor: pointer;
}
#individual .movie__playBtn {
  display: block;
  width: 58px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transition: all 0.3s;
  z-index: 5;
}
@media screen and (min-width: 1025px) {
  #individual .movie__playBtn {
    width: 120px;
  }
}
#individual .movie__playBtn::hover {
  opacity: 0.9;
}
#individual .individual__title {
  font-size: 26px;
}
@media screen and (min-width: 768px) {
  #individual .individual__title {
    font-size: 28px;
  }
}
#individual .individual-common-text {
  font-size: 16px;
}

#contact .imgKv {
  background-image: url(../../../images/contact/kv_img.jpg);
}
@media screen and (min-width: 768px) {
  #contact .imgKv {
    background-image: url(../../../images/contact/kv_img_pc.jpg);
  }
}
#contact .-uLine {
  position: relative;
}
#contact .-uLine::after {
  content: "";
  width: 20px;
  height: 2px;
  background: #222427;
  position: absolute;
  bottom: -10px;
  left: 0;
}
#contact .-lLine {
  padding-left: 10px;
  position: relative;
}
#contact .-lLine::before {
  content: "";
  width: 5px;
  height: 20px;
  background: #222427;
  position: absolute;
  top: 4px;
  left: 0;
}
#contact .contact {
  padding-bottom: 60px;
}
#contact .contact__lead {
  font-size: 22px;
  line-height: 1.6;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #contact .contact__lead {
    font-size: 24px;
  }
}
#contact .contact__questionLink {
  font-weight: 500;
  text-decoration: underline;
  font-size: 14px;
  margin-top: 20px;
  display: inline-block;
}
#contact .contact h3 {
  font-weight: 500;
}
#contact .contact h4 {
  font-weight: 500;
  font-size: 22px;
  line-height: 1;
  margin-top: 40px;
  line-height: 1.3;
}
#contact .contact .checkboxWrap {
  margin-top: 5px;
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #contact .contact .checkboxWrap {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
#contact .contact .checkbox {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  margin-top: 20px;
  margin-right: 30px;
}
#contact .contact .checkbox:not(:first-of-type) {
  margin-top: 20px;
}
#contact .contact .checkbox__input {
  margin: 0;
  width: 0;
  opacity: 0;
}
#contact .contact .checkbox__input:checked + .checkbox__dummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 4px;
  left: 3.5px;
  width: 19px;
  height: 15.6px;
  background: url(../images/contact/contact_check_btn.svg) no-repeat center center/cover;
}
#contact .contact .checkbox__dummyInput {
  position: relative;
  top: 0;
  left: 0;
  display: block;
  width: 28px;
  flex: 0 0 28px;
  height: 28px;
  border-radius: 2px;
  background: #fff;
  border: 1px solid #ddd;
}
#contact .contact .checkbox__labelText {
  display: block;
  font-size: 16px;
  font-weight: normal;
  margin-left: 6px;
}
#contact .contact .linkbox {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
#contact .contact .linkbox__txt {
  font-weight: 500;
  margin-top: 20px;
}
#contact .contact .form__btn {
  cursor: pointer;
  width: 100%;
  margin: 0 auto;
  height: 60px;
  background: #f5f6f7;
  border: 1px solid #222427;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-weight: bold;
  font-size: 16px;
  z-index: 6;
  max-width: 385px;
}
@media screen and (min-width: 768px) {
  #contact .contact .form__btn {
    margin-top: 40px;
  }
}
#contact .contact .form__btn input {
  background-color: unset;
  border: none;
  outline: none;
  /* -webkit-appearance: none; */
  box-sizing: border-box;
  padding: 0;
}
#contact .contact .form__btn.mt {
  margin-top: 35px;
}
#contact .contact .form__backBtn.mt {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #contact .contact .form__btn.-left {
    margin-right: auto;
    margin-left: 0;
  }
}
#contact .contact .form__backBtn {
  max-width: unset;
  width: auto;
  display: inline-flex;
  margin: 32px auto 0 0;
  height: auto;
  padding: 6px 25px 6px 51px;
}
@media screen and (min-width: 768px) {
  #contact .contact .form__backBtn {
    margin: 16px auto 0 0;
  }
}
#contact .contact .form__backBtn::after {
  content: "";
  display: none;
}
#contact .contact a.form__backBtn {
  max-width: 221px;
  margin-top: 35px;
}
#contact .contact .stickyBtn {
  width: calc(100% - 40px);
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  max-width: 385px;
}
@media screen and (min-width: 768px) {
  #contact .contact .stickyBtn {
    position: relative;
    bottom: auto;
    left: auto;
    margin: 0 auto;
    transform: unset;
    margin-top: 40px;
  }
}
#contact .contact .phaseBox {
  max-width: 236px;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
}
#contact .contact .phaseBox li {
  position: relative;
  z-index: 1;
}
#contact .contact .phaseBox li span {
  width: 36px;
  height: 36px;
  border-radius: 60px;
  background: #DDDDDD;
  font-weight: bold;
  font-size: 15px;
  line-height: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 2;
}
#contact .contact .phaseBox li p {
  font-size: 14px;
  margin-top: 9px;
  text-align: center;
}
#contact .contact .phaseBox li:not(:first-of-type):after {
  content: "";
  background: #DDDDDD;
  width: 105px;
  height: 1px;
  position: absolute;
  top: 12px;
  left: -74px;
  z-index: 1;
}
#contact .contact .phaseBox li.-color {
  z-index: 2;
}
#contact .contact .phaseBox li.-color span {
  color: #fff;
  background: #D28903;
}
#contact .contact .phaseBox li.-color p {
  color: #D28903;
  font-weight: bold;
}
#contact .contact .phaseBox li.-color:after {
  background: #D28903;
}
#contact .contact .dateBring {
  margin-top: 35px;
  padding: 20px;
  border: 1px solid #ddd;
}
#contact .contact .dateBring__ttl {
  font-size: 18px;
  font-weight: bold;
  line-height: 1;
  margin: 0;
}
@media screen and (min-width: 768px) {
  #contact .contact .dateBring__list {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
  }
}
#contact .contact .dateBring p {
  font-size: 16px;
  position: relative;
  margin-left: 20px;
  line-height: 1.6777;
}
#contact .contact .dateBring p:first-of-type {
  margin-top: 9px;
  line-height: 1.6777;
}
@media screen and (min-width: 768px) {
  #contact .contact .dateBring p {
    margin-top: 9px;
    margin-right: 15px;
  }
}
#contact .contact .dateBring p::after {
  content: "";
  width: 12px;
  height: 12px;
  background: #d28903;
  position: absolute;
  top: 6.5px;
  left: -20px;
}
#contact .contact .noteBox {
  margin-top: 30px;
  font-size: 16px;
  line-height: 1.6777;
}
#contact .contact .noteBox a {
  text-decoration: none;
  font: inherit;
  padding-left:3px;
  padding-right:3px;
  position: relative;
  border-bottom: 1px solid #000;
}
#contact .contact .noteBox a::before {
  content: none;
  width: 9px;
  height: 9px;
  border-right: 1px solid #000;
  border-top: 1px solid #000;
  position: absolute;
  top: 4px;
  left: 0;
  transform: rotate(45deg);
}
#contact .contact .inputBlk {
  margin-top: 90px;
}
#contact .contact .inputBlk__wrap:not(:first-of-type) {
  margin-top: 20px;
}
#contact .contact .inputBlk__th {
  font-size: 16px;
  font-weight: bold;
  display: flex;
  align-items: center;
  line-height: 1;
  border: 1px solid #ddd;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 4px;
  padding: 6px 7px;
}
#contact .contact .inputBlk__th span {
  border-radius: 2px;
  background: #d28903;
  font-size: 10px;
  font-weight: bold;
  line-height: 1;
  padding: 0 4px;
  line-height: 1.6;
  margin-left: 6px;
  color: #fff;
  display: block;
}
#contact .contact .inputBlk__td input, #contact .contact .inputBlk__td textarea {
  border: 1px solid #ddd;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 4px;
  margin-top: 6px;
  display: block;
  font-size: 15px;
}
#contact .contact .inputBlk__td input {
  padding: 12px 10px;
  width: 100%;
}
#contact .contact .inputBlk__td textarea {
  width: 100%;
  height: 153px;
  padding: 10px;
}
#contact .contact .inputBlk__confirmTxt {
  font-size: 16px;
  line-height: 1.375;
  margin-top: 12px;
}
#contact .form__submitBtn.-right {
  margin-left: auto;
  margin-right: 0;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseSelect {
    margin: 0 auto;
  }
}
#contact .contact.phaseInput .form__backBtn {
  max-width: unset;
  width: auto;
  display: inline-flex;
  margin: 32px auto 0 0;
  padding: 6px 25px 6px 51px;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseInput .form__backBtn {
    margin: 35px auto 0 0;
  }
}
#contact .contact.phaseInput .form__backBtn::after {
  content: "";
  display: none;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseInput, #contact .contact.phaseConfirm {
    margin: 0 auto;
  }
}
#contact .contact.phaseInput .checkboxWrap, #contact .contact.phaseConfirm .checkboxWrap {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: flex-start;
}
#contact .contact.phaseInput .checkbox, #contact .contact.phaseConfirm .checkbox {
  display: flex;
  align-items: flex-start;
  cursor: pointer;
  margin-top: 20px;
  margin-right: 30px;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseInput .checkbox, #contact .contact.phaseConfirm .checkbox {
    width: auto;
    margin-right: 30px;
  }
}
#contact .contact.phaseInput .checkbox:not(:first-of-type), #contact .contact.phaseConfirm .checkbox:not(:first-of-type) {
  margin-top: 20px;
}
#contact .contact.phaseInput .checkbox.-indent, #contact .contact.phaseConfirm .checkbox.-indent {
  width: 100%;
  margin-top: 12px;
}
#contact .contact.phaseInput .enQueteBlk__lead, #contact .contact.phaseConfirm .enQueteBlk__lead {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.73333;
  margin-top: 14.6px;
}
#contact .contact.phaseInput .enQueteBlk__wrap, #contact .contact.phaseConfirm .enQueteBlk__wrap {
  margin-left: 34px;
  margin-top: 12px;
  width: 100%;
}
#contact .contact.phaseInput .enQueteBlk__th, #contact .contact.phaseConfirm .enQueteBlk__th {
  font-size: 16px;
  font-weight: bold;
}
#contact .contact.phaseInput .enQueteBlk__td input, #contact .contact.phaseInput .enQueteBlk__td textarea, #contact .contact.phaseConfirm .enQueteBlk__td input, #contact .contact.phaseConfirm .enQueteBlk__td textarea {
  border: 1px solid #ddd;
  appearance: none;
  -webkit-appearance: none;
  border-radius: 4px;
  margin-top: 6px;
  display: block;
  font-size: 16px;
  padding: 12px 10px;
  width: 100%;
  font-size: 15px;
}
#contact .contact.phaseInput .enQueteBlk__td.-noTxt input, #contact .contact.phaseConfirm .enQueteBlk__td.-noTxt input {
  margin-top: 0;
}
#contact .contact.phaseInput .enQueteBlk__bring, #contact .contact.phaseConfirm .enQueteBlk__bring {
  font-size: 16px;
  line-height: 1.333;
  margin-top: 9px;
}
#contact .contact.phaseInput .enQueteBlk__url, #contact .contact.phaseConfirm .enQueteBlk__url {
  font-size: 16px;
  font-weight: bold;
  margin-top: 40px;
}
#contact .contact.phaseInput .enQueteBlk__another, #contact .contact.phaseConfirm .enQueteBlk__another {
  font-size: 16px;
  line-height: 1.333;
  margin-top: 40px;
}
#contact .contact.phaseInput .confirm__note, #contact .contact.phaseConfirm .confirm__note {
  font-size: 16px;
  line-height: 1.5714;
  margin-top: 40px;
  padding: 24px 0;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}
#contact .contact.phaseInput .privacyCheckBox, #contact .contact.phaseConfirm .privacyCheckBox {
  margin-top: 28px;
  display: inline-flex;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseInput .privacyCheckBoxWrap, #contact .contact.phaseConfirm .privacyCheckBoxWrap {
    text-align: left;
  }
}
#contact .contact.phaseInput .form__submitBtn, #contact .contact.phaseConfirm .form__submitBtn {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #contact .contact.phaseInput .pcFlex, #contact .contact.phaseConfirm .pcFlex {
    margin-top: 40px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row-reverse;
  }
  #contact .contact.phaseInput .pcFlex .form__submitBtn, #contact .contact.phaseInput .pcFlex .form__backBtn, #contact .contact.phaseConfirm .pcFlex .form__submitBtn, #contact .contact.phaseConfirm .pcFlex .form__backBtn {
    margin-top: 0 !important;
  }
}
#contact .contact.phaseInput .form__submitBtn, #contact .contact.phaseInput .form__backBtn, #contact .contact.phaseConfirm .form__submitBtn, #contact .contact.phaseConfirm .form__backBtn {
  cursor: pointer;
}
#contact .contact.phaseInput .form__submitBtn input, #contact .contact.phaseInput .form__backBtn input, #contact .contact.phaseConfirm .form__submitBtn input, #contact .contact.phaseConfirm .form__backBtn input {
  cursor: pointer;
}
#contact .contact.phaseConfirm .inputBlk__th {
  border: none;
  padding: 0;
}
#contact .contact.phaseConfirm .inputBlk__wrap:not(:first-of-type) {
  margin-top: 40px;
}
#contact .contact.phaseConfirm .enQueteBlk__lead {
  margin-top: 40px;
}
#contact .contact.phaseConfirm .privacyCheckBox {
  margin-top: 28px;
}
@media screen and (min-width: 768px) {
  #contact .contact.complate {
    margin: 0 auto;
  }
}
#contact .contact.complate .complate__txt {
  margin-top: 35px;
  font-size: 16px;
  line-height: 1.625;
}
#contact .privacy__boxTtl {
  font-size: 18px;
  font-weight: bold;
  margin-top: 60px;
}
#contact .privacy__boxNote {
  margin-top: 20px;
  font-size: 16px;
}
#contact .privacy__box {
  margin-top: 20px;
  padding: 25px;
  background-color: #F5F6F7;
  overflow-y: visible;
}
@media screen and (min-width: 768px) {
  #contact .privacy__box {
    padding: 35px;
  }
}
#contact .privacy__boxSubTtl {
  font-size: 18px;
  font-weight: bold;
}
#contact .privacy__boxTxt {
  font-size: 16px;
  margin-top: 20px;
}
#contact .privacy__boxTxt a {
  text-decoration: underline;
  font-size: 16px;
}
#contact .privacy__boxTxt + h5 {
  margin-top: 40px;
}

#recruit h2 {
  line-height: 1.4;
}
#recruit .imgKv {
  background-image: url(../../../images/recruit/kv_img.jpg);
}
@media screen and (min-width: 768px) {
  #recruit .imgKv {
    background-image: url(../../../images/recruit/kv_img_pc.jpg);
  }
}
#recruit .recruit {
  margin-top: 80px;
  padding-bottom: 100px;
}
#recruit .recruit__mainLogo {
  margin-top: 34px;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__mainLogo {
    max-width: 540px;
  }
}
#recruit .recruit__linkWrap {
  margin-top: 40px;
}
#recruit .recruit__linkWrap ul {
  margin-top: 10px;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__linkWrap {
    display: flex;
    justify-content: space-between;
  }
}
#recruit .recruit__linkWrap > li:not(:first-of-type) {
  margin-top: 40px;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__linkWrap > li:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__linkWrap > li {
    max-width: 450px;
    width: 45%;
  }
}
#recruit .recruit__section {
  padding-top: 90px;
}
#recruit .recruit__group ul {
  margin-top: 6px;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__group ul {
    margin-top: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
#recruit .recruit__group ul li {
  margin-top: 40px;
}
#recruit .recruit__group ul li:not(:first-of-type) {
  margin-top: 60px;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__group ul li {
    margin-top: 60px;
    max-width: 430px;
    width: 45.74%;
  }
}
#recruit .recruit__group ul li a {
  display: block;
  width: 100%;
  position: relative;
}
#recruit .recruit__group ul li a::after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
}
#recruit .recruit__group ul li a img {
  -webkit-box-shadow: 0 0 0 1.5px #ddd;
  box-shadow: 0 0 0 1.5px #ddd;
}
#recruit .recruit__group ul li p {
  font-size: 12px;
  font-weight: bold;
  margin-top: 2px;
}
#recruit .recruit__group ul li p span {
  padding: 2px 0;
  display: block;
}
#recruit .recruit__group ul li p span:first-of-type {
  font-size: 16px;
}
#recruit .recruit__group ul li p .-cate {
  background: #E0E0E0;
  padding: 0 3px;
  border-radius: 2px;
  display: inline-block;
  font-weight: 500;
}
@media screen and (min-width: 1025px) {
  #recruit .recruit__group ul li p.pcCol {
    width: 100%;
    flex-wrap: wrap;
  }
}
#recruit .recruitLinkBlk {
  margin: 40px 0 0 0;
}
@media screen and (min-width: 1025px) {
  #recruit .recruitLinkBlk {
    margin: 40px 0 0 0;
  }
}
#recruit .recruitLinkBlk__list {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #recruit .recruitLinkBlk__list {
    margin-top: 18px;
  }
}
#recruit .recruitLinkBlk__list li {
  width: 100%;
  border-bottom: unset;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  #recruit .recruitLinkBlk__list li {
    width: 100%;
  }
}
#recruit .recruitLinkBlk__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 24px 15px 24px 0;
  font-size: 16px;
  font-weight: normal;
  border-bottom: 1px solid #DDDDDD;
}
#recruit .recruitLinkBlk__list li .arrow__icon::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 10px;
  flex: 0 0 11px;
  background: url(../../images/common/icon_arrow.svg);
}
#recruit .know {
  margin-top: 90px;
}
#recruit .know section:not(:first-of-type) {
  margin-top: 60px;
}
#recruit .know section figure {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  #recruit .know section figure {
    max-width: 566px;
    width: 57%;
  }
}
@media screen and (min-width: 1025px) {
  #recruit .know section .sectionWrap {
    max-width: 354px;
    width: 100%;
    margin-top: 37px;
  }
}
@media screen and (min-width: 1025px) {
  #recruit .know section.flex {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1025px) {
  #recruit .know section.fdrr {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
#recruit .know section.movieLink {
  margin-top: 100px;
  text-align: center;
}
#recruit .know section.movieLink figure {
  max-width: 520px;
  margin: 40px auto 0;
}
#recruit .know section.movieLink .global__btn, #recruit .know section.movieLink .global__btn--gray {
  margin-top: 32px;
}

.commonBtnList li {
  margin: 0 auto;
}
.commonBtnList li:not(:first-of-type) {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .commonBtnList li:not(:first-of-type) {
    margin-top: 0;
  }
}

.ankerLinks {
  display: none;
  display: flex;
  justify-content: space-between;
  padding: 5px 4px;
  max-width: 980px;
  margin: 0 auto;
  width: 100%;
  background: #fff;
}
.ankerLinks li {
  width: 32%;
  height: 50px;
}
.ankerLinks li a {
  display: block;
  width: 100%;
  height: 100%;
  background: #222427;
  font-size: 13px;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-decoration: none;
}
.ankerLinks li a::after {
  content: "";
  margin-top: -2px;
  background: url(../images/about_us/overview_arrow_w.svg) no-repeat center center/contain;
  height: 14px;
  width: 7.78px;
  transform: rotate(90deg);
}
.ankerLinks li a:hover {
  opacity: 0.9;
}

.ankerFixed {
  position: fixed;
  bottom: 0;
  z-index: 10;
  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}

#overview .subttl {
  font-size: 20px;
  font-weight: bold;
}
#overview .company, #overview .access {
  padding-top: 90px;
}
@media screen and (min-width: 768px) {
  #overview .company__list, #overview .access__list {
    display: flex;
    justify-content: space-between;
  }
}
#overview .company__list li, #overview .access__list li {
  position: relative;
}
@media screen and (min-width: 768px) {
  #overview .company__list li, #overview .access__list li {
    width: 45%;
  }
}
#overview .company__list li .global__btn:not(:first-of-type), #overview .access__list li .global__btn:not(:first-of-type) {
  margin-top: 0px;
}
#overview .company__list li .global__btn.mt30, #overview .access__list li .global__btn.mt30 {
  margin: 30px auto 0 0;
  background: unset;
}
#overview .company__subttl, #overview .access__subttl {
  font-size: 22px;
  letter-spacing: 0.1em;
  padding-top: 25px;
  font-weight: 500;
  line-height: 1.4;
}
@media screen and (min-width: 768px) {
  #overview .company__subttl, #overview .access__subttl {
    padding-top: 60px;
    font-size: 24px;
  }
}
@media screen and (max-width: 767px) {
  #overview .company .bgcBlc, #overview .access .bgcBlc {
    padding-bottom: 25px;
    width: 100vw;
    padding-left: 20px;
    padding-right: 20px;
    margin: 0 calc(50% - 50vw);
  }
  #overview .company .bgcBlc.-gray, #overview .access .bgcBlc.-gray {
    background: #F6F6F6;
  }
}
#overview .company__txt, #overview .access__txt {
  margin-top: 20px;
  font-size: 15px;
  line-height: 1.333;
}
@media screen and (min-width: 768px) {
  #overview .company__txt, #overview .access__txt {
    font-size: 16px;
  }
}
#overview .company__txt.mt, #overview .access__txt.mt {
  margin-top: 30px;
}
#overview .company__serviceLink, #overview .access__serviceLink {
  font-size: 16px;
  text-decoration: underline;
  display: inline-block;
  line-height: 2;
}
#overview .company__serviceLink[href=""], #overview .access__serviceLink[href=""] {
  text-decoration: none;
}
#overview .company__line, #overview .access__line {
  display: block;
  width: 100%;
  height: 1px;
  background: #000000;
  margin: 7.5px 0;
}
@media screen and (min-width: 768px) {
  #overview .company__line, #overview .access__line {
    width: 50%;
  }
}
#overview .company__dt, #overview .access__dt {
  font-size: 22px;
  letter-spacing: 0.1em;
  font-weight: 500;
  margin-top: 25px;
}
#overview .company__dt::before, #overview .access__dt::before {
  top: 6px;
}
@media screen and (min-width: 768px) {
  #overview .company__dt, #overview .access__dt {
    font-size: 22px;
  }
  #overview .company__dt::before, #overview .access__dt::before {
    top: 8px;
  }
}
#overview .company__qrLink, #overview .access__qrLink {
  display: block;
  position: absolute;
  width: 25%;
  top: 45px;
  right: 0;
  max-width: 100px;
}
#overview .company__accessLinks, #overview .access__accessLinks {
  font-size: 13px;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  #overview .company__accessLinks, #overview .access__accessLinks {
    max-width: 385px;
    margin: 60px 0 0 0;
    font-size: 14px;
  }
}
#overview .company__accessLinks::hover, #overview .access__accessLinks::hover {
  opacity: 0.9;
}
#overview .company__ankerLinks, #overview .access__ankerLinks {
  justify-content: center;
  max-width: unset;
  margin-top: 40px;
}
#overview .company__ankerLinks li, #overview .access__ankerLinks li {
  max-width: 400px;
  margin: 0 auto;
}
#overview .company__ankerLinks li a, #overview .access__ankerLinks li a {
  max-width: 400px;
}
#overview .company__ankerLinks li a:after, #overview .access__ankerLinks li a:after {
  margin-left: 10px;
  display: inline-block;
}
#overview .company__serviceLink, #overview .access__serviceLink {
  font-size: 16px;
  text-decoration: underline;
  display: inline-block;
  line-height: 2;
}
#overview .company .-outboundLinkFlex, #overview .access .-outboundLinkFlex {
  margin-top: 30px;
}
#overview .company .-outboundLinkFlex, #overview .access .-outboundLinkFlex {
  display: flex;
}
@media screen and (min-width: 768px) {
  #overview .company .-outboundLinkFlex, #overview .access .-outboundLinkFlex {
    margin: 30px 0 0 auto;
  }
}
#overview .company__privacy, #overview .access__privacy {
  display: flex;
  margin-top: 10px;
}
#overview .company__privacy figure, #overview .access__privacy figure {
  flex: 0 0 67px;
  margin-right: 12px;
}
#overview .company__privacy p, #overview .access__privacy p {
  font-size: 15px;
  line-height: 1.333;
}
@media screen and (min-width: 768px) {
  #overview .company__privacy p, #overview .access__privacy p {
    font-size: 16px;
  }
}
@media screen and (min-width: 768px) {
  #overview .company__txt, #overview .company__subttl, #overview .company .company__accessLinks, #overview .company .commonTtl {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  #overview .company__list {
    display: block;
    margin: 0 auto;
  }
  #overview .company__list li {
    width: 100%;
    margin-left: 0;
    margin-right: auto;
  }
}
@media screen and (min-width: 768px) {
  #overview .access__dt {
    margin-top: 60px;
  }
}
#overview .origin {
  padding-top: 90px;
}
#overview .origin__txtBtnWrap {
  text-align: right;
  display: block;
  margin-top: 30px;
}
#overview .origin__txtBtn {
  display: inline-block;
  line-height: 1.714;
  font-size: 14px;
  text-align: right;
  border-bottom: 1px solid #222427;
  position: relative;
  padding-right: 25px;
  line-height: 1;
  cursor: pointer;
}
#overview .origin__txtBtn:after {
  content: "";
  background: url(../images/about_us/overview_arrow_b.svg) no-repeat center center/contain;
  height: 9.7px;
  width: 16px;
  display: inline-block;
  position: absolute;
  right: 0;
  bottom: 2px;
}
#overview .origin figure {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #overview .origin figure {
    margin: 40px auto 0;
  }
}
#overview .origin__txt {
  margin-top: 35px;
  line-height: 1.714;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  #overview .origin__txt {
    max-width: 800px;
    margin: 35px auto 0;
    font-size: 16px;
  }
}
#overview .origin__txt span {
  font: inherit;
}
#overview .origin__txt #addElm {
  display: none;
}
#overview .origin .commonBtn-plus {
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  #overview .origin .commonBtn-plus {
    max-width: 385px;
    margin: 30px auto 0;
  }
}
#overview .origin .commonBtn-plus.active::after {
  transform: rotate(0);
}
#overview .access {
  padding-bottom: 100px;
}
@media screen and (max-width: 767px) {
  #overview .access .bgcBlc {
    padding-top: 25px;
  }
  #overview .access .access__dt {
    margin-top: 0;
  }
}
#overview .access__list {
  flex-wrap: wrap;
}
#overview .access__list .access__dt.mt {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #overview .access__list .access__dt.mt {
    margin-top: 40px;
  }
}
#overview .access__txt {
  line-height: 1.716;
}
#overview .access__txt .-bold {
  font-weight: bold;
}
#overview .access__txt.mt0 {
  margin-top: 0;
}
#overview .access__qrLink {
  width: 30%;
  max-width: 100px;
}
#overview .access__gmap {
  height: 0;
  overflow: hidden;
  padding-bottom: 74.6%;
  position: relative;
  margin-top: 20px;
}
#overview .access__gmap iframe {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 768px) {
  #philosophy .contentWrap {
    margin: 0 auto;
  }
}
#philosophy section {
  padding-top: 90px;
}
#philosophy section:not(:first-of-type) {
  padding-top: 90px;
}
#philosophy .management__leadBlk {
  margin-top: 58px;
  text-align: center;
}
#philosophy .management__leadBlk p {
  font-size: 18px;
  line-height: 1.666;
}
#philosophy .management__leadBlk p:not(:first-of-type) {
  margin-top: 20px;
}
#philosophy .mission {
  margin-top: 40px;
}
#philosophy .mission__blk {
  max-width: 500px;
  margin: 40px auto 0;
}
#philosophy .mission__list {
  margin-top: 58px;
}
#philosophy .mission__list li:not(:first-of-type) {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  #philosophy .mission__list {
    display: flex;
    justify-content: space-between;
  }
  #philosophy .mission__list li:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  #philosophy .mission__list li {
    width: 45%;
  }
}
#philosophy .mission__subttl {
  font-size: 22px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #philosophy .mission__subttl {
    font-size: 24px;
  }
}
#philosophy .mission__lead {
  font-size: 16px;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  #philosophy .mission__lead {
    font-size: 16px;
  }
}
#philosophy .mission__disc {
  font-size: 18px;
  line-height: 1;
}
#philosophy .mission__disc:not(:first-of-type) {
  margin-top: 10px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  #philosophy .mission__disc {
    font-size: 20px;
  }
}
#philosophy .mission .mt {
  margin-top: 30px;
}
#philosophy .logo {
  padding-bottom: 90px;
}
#philosophy .logo figure {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #philosophy .logo figure {
    max-width: 600px;
    margin: 20px auto 0;
  }
}
#philosophy .logo__lead {
  font-size: 16px;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  #philosophy .logo__lead {
    font-size: 16px;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
  }
}
#philosophy .logo .-en {
  margin-top: 55px;
}
#philosophy .logo .-jp {
  margin-top: 30px;
}

#message .message.aboutUs {
  padding-bottom: 100px;
}

#culture .contentWrap section:first-of-type {
  margin-top: 60px;
}
#culture .contentWrap section:not(:first-of-type) {
  margin-top: 80px;
}
#culture .section__mainimg {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  position: relative;
}
@media screen and (min-width: 768px) {
  #culture .section__wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
@media screen and (min-width: 768px) {
  #culture .section__wrapper .section__blk {
    width: 46.5%;
  }
}
#culture .section__ttl {
  font-size: 26px;
  color: #fff;
  position: absolute;
  bottom: 10px;
  left: 20px;
}
@media screen and (min-width: 768px) {
  #culture .section__ttl {
    font-size: 28px;
    top: auto;
    bottom: 30px;
    max-width: 940px;
    width: 100%;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
  }
}
#culture .section__lead {
  font-size: 14px;
  line-height: 1.875;
  margin-top: 33px;
}
@media screen and (min-width: 768px) {
  #culture .section__lead {
    font-size: 16px;
  }
}
#culture .section__imgBlk {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  #culture .section__imgBlk {
    margin-top: 100px;
  }
}
#culture .section h3 {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #culture .section h3 {
    margin-top: 25px;
  }
}
#culture .section__txt {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  #culture .section__txt {
    font-size: 16px;
  }
}
#culture .recruitLink {
  display: block;
  margin-top: 80px;
  margin-bottom: 100px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #culture .recruitLink {
    width: 100%;
    margin: 100px auto 100px;
    max-width: 450px;
    position: relativee;
  }
  #culture .recruitLink:hover {
    opacity: 0.6;
  }
  #culture .recruitLink::after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 13px;
    height: 12px;
    background: url(../images/common/icon_arrow_w.svg);
    top: 50%;
    right: 25px;
    transform: translate(-50%, -50%);
  }
}
#culture .recruitLink span {
  position: absolute;
  font-size: 16px;
  font-weight: normal;
  display: block;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  #culture .recruitLink span {
    top: 50%;
    left: 24px;
    transform: translateY(-50%);
    color: #fff;
  }
}
@media screen and (min-width: 768px) {
  #culture .ankerLinks__blk-glay li {
    width: 29.787%;
    max-width: 280px;
  }
  #culture .ankerLinks__blk-glay li a {
    padding: 15px 15px 15px 0;
  }
}
#culture .ankerLinks__blk-glay li a::after {
  content: "";
  background: url(../images/faq/arrow_short_b.svg) no-repeat center center/contain;
  width: 14px;
  flex: 0 0 14px;
  height: 8px;
}

#clients .newsDetail__mainHeading {
  font-size: 34px;
}
@media screen and (min-width: 1025px) {
  #clients .newsDetail__mainHeading {
    font-size: 36px;
  }
}
#clients .newsDetail__mainHeading::before {
  content: "";
  width: 10%;
  height: 4px;
  background: #000;
  position: absolute;
  bottom: 0;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
  transform: translate(-50%, 0);
}
@media screen and (min-width: 1025px) {
  #clients .newsDetail__mainHeading::before {
    width: 2.5%;
  }
}
#clients .clients {
  padding: 100px 0;
}
#clients .clients__list {
  margin-top: 40px;
}
@media (min-width: 768px) {
  #clients .clients__list {
    display: flex;
    flex-wrap: wrap;
  }
}
#clients .clients__list li {
  font-size: 16px;
  line-height: 1.777;
  padding-right: 2%;
}
@media (min-width: 768px) {
  #clients .clients__list li {
    width: 50%;
  }
}
#clients .clients__blk:not(:first-of-type) {
  margin-top: 100px;
}
#clients .clients__bottomTxt {
  font-size: 14px;
  margin-top: 40px;
  text-align: right;
}

.ankerLinks__blk-hover li a {
  transition: 0.3s;
}
.ankerLinks__blk-hover li a::after {
  content: "";
  display: none !important;
}
.ankerLinks__blk-hover li a .arrow {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  position: relative;
  width: 10px;
  height: 10px;
  transition: 0.3s;
  transform: translateY(-25%) rotate(135deg);
}
.ankerLinks__blk-hover li a .arrow::before, .ankerLinks__blk-hover li a .arrow::after {
  content: "";
  position: absolute;
  background: currentColor;
  border-radius: 0.1em;
}
.ankerLinks__blk-hover li a .arrow::before {
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
}
.ankerLinks__blk-hover li a .arrow::after {
  top: 0;
  right: 0;
  bottom: 0;
  width: 2px;
}
.ankerLinks__blk-hover li a:hover {
  color: #D28903;
  border-color: #D28903;
}
.ankerLinks__blk-hover li a:hover .arrow {
  color: #D28903;
}

#logoguide .logoguide-heading {
  padding-top: 90px;
  padding-bottom: 130px;
}
#logoguide .logoguide-heading--h1 {
  font-size: 34px;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.5px;
  color: #000;
}
@media screen and (min-width: 768px) {
  #logoguide .logoguide-heading--h1 {
    font-size: 36px;
  }
}
#logoguide .logoguide-heading--h1 span {
  width: 10%;
  display: block;
  margin: 10px auto 0;
  height: 4px;
  background-color: #000;
}
@media screen and (min-width: 768px) {
  #logoguide .logoguide-heading--h1 span {
    width: 2.5%;
  }
}
#logoguide .contentSec {
  padding-bottom: 80px;
}
#logoguide .commonTtl {
  line-height: 1.6;
}
#logoguide .contentTtl {
  color: #222427;
  font-size: 26px;
  font-weight: 700;
  margin-bottom: 40px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #logoguide .contentTtl {
    font-size: 28px;
  }
}
#logoguide .blockTtl {
  margin-top: 40px;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #logoguide .blockTtl {
    font-size: 24px;
    margin-top: 60px;
  }
}
#logoguide .leadTxt {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.875;
}
#logoguide .bodyTxt {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.875;
}
#logoguide .typeTtl {
  margin-bottom: 20px;
  padding-left: 1.1em;
  font-size: 14px;
  text-indent: -1.1em;
}
@media screen and (min-width: 768px) {
  #logoguide .typeTtl {
    font-size: 16px;
  }
}
#logoguide .typeTtl::before {
  content: "●";
  font-size: 1.1em;
}
#logoguide .note {
  margin-top: 20px;
  font-size: 16px;
}
#logoguide .colorLst li {
  margin-top: 20px;
}
#logoguide .colorLst li::before {
  content: "";
  display: inline-block;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  vertical-align: middle;
}
#logoguide .colorLst li .color_code {
  display: inline-block;
  margin-left: 20px;
  font-size: 16px;
  line-height: 1.4;
  vertical-align: middle;
}
#logoguide .colorLst.flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
#logoguide .colorLst.flex li {
  width: 46%;
}
@media screen and (min-width: 768px) {
  #logoguide .colorLst.flex li {
    width: 280px;
    margin-top: 40px;
    text-align: center;
  }
  #logoguide .colorLst.flex li .color_code {
    margin: 10px 0 0;
  }
}
#logoguide .colorLst .rgb_main::before {
  background: #D28903;
}
#logoguide .colorLst .rgb_black::before {
  background: #000;
}
#logoguide .colorLst .dic::before {
  background: #997B60;
}
#logoguide .colorLst .cmyk_main::before {
  background: #B88625;
}
#logoguide .colorLst .cmyk_black::before {
  background: #180A06;
}
#logoguide .colorLst .cmyk_monoblack::before {
  background: #000;
}
#logoguide .responsible {
  padding-bottom: 80px;
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #logoguide .responsible {
    font-size: 24px;
  }
}
#logoguide #origin .originBlk {
  flex-direction: column;
}
#logoguide #origin dl {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #logoguide #origin .origin__image {
    order: 3;
    width: 65%;
    margin: 40px auto 0;
  }
}
#logoguide #pattern .em {
  color: #D28903;
  font-weight: bold;
}
#logoguide #pattern .pattern__type {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  #logoguide #pattern .pattern__other li {
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  #logoguide #pattern .pattern__type {
    display: flex;
    justify-content: space-between;
  }
  #logoguide #pattern .pattern__basic {
    width: 450px;
  }
  #logoguide #pattern .pattern__other {
    width: 450px;
  }
  #logoguide #pattern .pattern__other li:first-child {
    width: 200px;
  }
  #logoguide #pattern .pattern__other li:not(:first-child) {
    margin-top: 40px;
  }
}
#logoguide #color .color__type {
  display: inline-block;
  vertical-align: top;
}
#logoguide #color .color__type.type__rgb {
  margin-right: 40px;
}
#logoguide #color .color__type.type__cmyk {
  display: block;
}
@media screen and (min-width: 768px) {
  #logoguide #color .color__type.type__cmyk .color_code {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #logoguide #color .color__type.type__rgb li {
    display: inline-block;
  }
  #logoguide #color .color__type.type__rgb li:first-child {
    margin-right: 60px;
  }
  #logoguide #color .color__type.type__dic {
    margin-left: 120px;
  }
}
#logoguide #placement .color__type {
  flex-wrap: wrap;
  justify-content: space-between;
}
#logoguide #placement .color__type::before, #logoguide #placement .color__type::after {
  content: "";
  width: 220px;
  height: 0;
}
#logoguide #placement .color__type::before {
  order: 1;
}
#logoguide #placement li {
  width: 46%;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #logoguide #placement li {
    width: 220px;
  }
}
#logoguide #background .background__image {
  margin: 40px -20px 0 0;
  overflow: auto;
}
@media screen and (min-width: 768px) {
  #logoguide #background .background__image {
    margin: 40px 0 0;
  }
}
@media screen and (max-width: 767px) {
  #logoguide #background .background__image img {
    width: 940px;
  }
}
#logoguide #isolation li {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #logoguide #isolation li {
    width: 500px;
  }
  #logoguide #isolation li.isolation__basic {
    display: inline-block;
  }
  #logoguide #isolation li:nth-child(2) {
    display: inline-block;
    width: 400px;
    margin-left: 35px;
  }
  #logoguide #isolation li:nth-child(4) {
    display: inline-block;
    width: 510px;
  }
  #logoguide #isolation li:nth-child(4) img {
    margin-left: -10px;
  }
}
#logoguide #size .size__type.flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
#logoguide #size .size__type.flex li {
  width: 46%;
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  #logoguide #size .size__type.flex li {
    width: 200px;
  }
}
#logoguide #size .size__type .typeTtl {
  min-height: 48px;
}
#logoguide #group .group__type.flex {
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  #logoguide #group .group__type.flex {
    display: inline-flex;
    width: 450px;
  }
}
#logoguide #group .group__type.flex li {
  width: 46%;
  margin-top: 60px;
}
#logoguide #group .group__type .colorLst li {
  display: inline-block;
}
#logoguide #group .group__type .colorLst li:first-child {
  margin-right: 20px;
}
@media screen and (min-width: 768px) {
  #logoguide #group .group__type .colorLst li {
    display: block;
  }
}
@media screen and (min-width: 768px) {
  #logoguide #group .group__type.type__horizontal {
    flex-direction: column;
    margin-left: 30px;
  }
  #logoguide #group .group__type.type__horizontal li {
    width: 100%;
  }
  #logoguide #group .group__type__wrap {
    display: flex;
  }
  #logoguide #group .group__type__wrap .group__type:not(:first-child) {
    margin-left: 60px;
  }
}
@media screen and (min-width: 768px) {
  #logoguide #group .group__type.type__image {
    display: flex;
    justify-content: space-between;
  }
  #logoguide #group .group__type.type__image .group__isolation {
    width: 500px;
  }
  #logoguide #group .group__type.type__image .group__size {
    display: inline-block;
    width: 420px;
  }
}
#logoguide #group .group__isolation img {
  margin-top: 40px;
}
#logoguide #group .group__size {
  justify-content: space-between;
  margin-top: 40px;
}
#logoguide #group .group__size img {
  width: 50%;
}
@media screen and (min-width: 768px) {
  #logoguide #group .group__size img {
    width: 200px;
  }
}
#logoguide #text .text__type li {
  margin-top: 60px;
}
#logoguide #text .text__rule {
  font-size: min(5.4vw, 24px);
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #logoguide #text .text__rule {
    font-size: 40px;
  }
}
#logoguide #text .text__rule .halfsize {
  position: relative;
  background: #90dafb;
}
#logoguide #text .text__rule .halfsize::before {
  content: "半角";
  margin: 0 -12px;
  position: absolute;
  bottom: -24px;
  left: 0;
  font-size: 12px;
  font-weight: normal;
  transform: translateX(6px);
}
@media screen and (min-width: 768px) {
  #logoguide #text .text__rule .halfsize::before {
    font-size: 14px;
    transform: translateX(7px);
  }
}
#logoguide #misuse .misuse__image {
  margin: 40px -20px 0 0;
  overflow: auto;
}
#logoguide #misuse .misuse__image img {
  width: 940px;
}
@media screen and (min-width: 768px) {
  #logoguide #misuse .misuse__image {
    margin: 40px 0 0;
  }
}
#logoguide .flex {
  display: flex;
}
#logoguide .flex.justify-content-between {
  justify-content: space-between;
}
#logoguide .mt_20 {
  margin-top: 20px;
}
#logoguide .mt_40 {
  margin-top: 40px;
}
#logoguide .mt_60 {
  margin-top: 60px;
}
#logoguide .mt_80 {
  margin-top: 80px;
}
#logoguide .bold {
  font-weight: bold;
}

#sns {
  background-color: unset;
  padding-bottom: 100px;
}
#sns .imgKv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/sns/kv_img_sp.jpg);
}
@media screen and (min-width: 768px) {
  #sns .imgKv {
    background-image: url(../images/sns/kv_img.jpg);
  }
}
#sns .imgKv__ttl {
  color: #fff;
  font-weight: bold;
}
#sns .imgKv__line {
  background: #fff;
}
#sns .tabListWrap {
  max-width: 360px;
  margin: 0 auto;
  border-bottom: 1px solid #222427;
}
@media screen and (min-width: 768px) {
  #sns .tabListWrap {
    max-width: 980px;
  }
}
#sns .tabList {
  margin: 80px auto 0;
  max-width: 360px;
  width: 100%;
  display: flex;
}
@media screen and (min-width: 768px) {
  #sns .tabList {
    margin: 80px auto 0 0;
    max-width: unset;
  }
}
#sns .tabList .tab {
  width: 50%;
  border: unset;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  cursor: pointer;
  font-weight: bold;
  background: #F5F6F7;
  color: #222427;
}
#sns .tabList .tab.active {
  color: #fff;
  background: #222427;
}
#sns .tabContents {
  display: none;
}
#sns .tabContents__ttl {
  font-size: 22px;
  font-weight: normal;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__ttl:first-of-type {
    margin-top: 60px;
  }
}
#sns .tabContents__ttl:not(:first-of-type) {
  margin-top: 80px;
}
#sns .tabContents__wrapper {
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__wrapper {
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #sns .tabContents__wrapper::after {
    content: "";
    display: block;
    width: 30%;
  }
}
#sns .tabContents__blk {
  margin-top: 40px;
}
#sns .tabContents__blk:nth-of-type(1) {
  margin-top: 0;
}
#sns .tabContents__blk .tabContents__bnr img {
  -webkit-box-shadow: 0 0 0 1.5px #ddd;
  box-shadow: 0 0 0 1.5px #ddd;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__blk {
    width: 47.5%;
    max-width: 430px;
    margin-top: 60px;
  }
  #sns .tabContents__blk:nth-of-type(2) {
    margin-top: 0;
  }
}
#sns .tabContents__bnr {
  display: block;
  position: relative;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__bnr {
    width: 100%;
    max-width: 430px;
  }
}
#sns .tabContents__bnr:hover .tabContents__hoverBox {
  opacity: 1;
}
#sns .tabContents__hoverBox {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
  opacity: 0;
  width: 100%;
  height: 100%;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background: rgba(34, 36, 39, 0.8);
  color: #fff;
  padding: 10px 20px;
}
#sns .tabContents .icon-black:after, #sns .tabContents .icon-white:after {
  content: "";
  width: 16px;
  height: 13px;
  position: absolute;
  top: 10px;
  right: 10px;
  background: url(../images/sns/outbound_link_icon.svg) center center/contain no-repeat;
}
#sns .tabContents .professionals__link__info {
  width: 100%;
  align-items: center;
  margin-top: 5px;
}
#sns .tabContents__tagWrap {
  margin-left: 0;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  margin-top: 2px;
}
#sns .tabContents__tag {
  margin-right: 8px;
  background: #e0e0e0;
  font-size: 12px;
  border-radius: 2px;
  padding: 0 3px;
  margin-left: 0;
  font-weight: 500;
  margin-bottom: 3px;
}
#sns .tabContents__name {
  margin-top: 0;
  font-weight: bold;
  font-size: 14px;
  background: unset;
  border-radius: unset;
  padding: 0;
  margin-left: 0;
  margin-right: 8px;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__name {
    font-size: 16px;
  }
}
#sns .tabContents__link {
  font-size: 14px;
  margin-top: 8px;
  line-height: 1;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__link {
    font-size: 16px;
  }
}
#sns .tabContents__snsLinks {
  display: flex;
  flex-wrap: wrap;
}
#sns .tabContents__snsLinks a {
  margin-top: 14px;
  display: block;
  width: 30px;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__snsLinks a {
    font-size: 18px;
  }
}
#sns .tabContents__snsLinks a:not(:first-of-type) {
  margin-left: 15px;
}
#sns .tabContents.show {
  display: block;
}

#faq .imgKv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/faq/kv_img_sp.jpg);
}
@media screen and (min-width: 768px) {
  #faq .imgKv {
    background-image: url(../images/faq/kv_img.jpg);
  }
}
#faq .imgKv__ttl {
  color: #fff;
  font-weight: bold;
}
#faq .imgKv__line {
  background: #fff;
}
#faq .common-container {
  padding-bottom: 100px;
}
#faq .anchor-item--no-arrow {
  font-size: 16px;
}
#faq .common-container p {
  font-size: 16px;
}
#faq .common-container p a {
  font-size: 16px;
}
#faq .faq {
  padding-bottom: 100px;
}
#faq .faq__ttl {
  font-size: 24px;
  font-weight: bold;
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  #faq .faq__ttl {
    padding-top: 80px;
  }
}
#faq .faq__wrapper {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #faq .faq__wrapper {
    margin-top: 0;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
#faq .faq__blk {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  #faq .faq__blk {
    margin-top: 45px;
    width: 45%;
  }
}
#faq .faq__questionBox {
  background: #F5F6F7;
  border: 1px solid #222427;
  padding: 15px 20px;
}
#faq .faq__questionTxt {
  font-size: 18px;
  font-weight: bold;
  line-height: 1.5556;
}
#faq .faq__questionTtl {
  font-size: 16px;
  margin-bottom: 15px;
}
#faq .faq__anserBox {
  padding: 15px 0 25px;
}
#faq .faq__anserTxt {
  font-size: 14px;
  line-height: 1.714;
}
#faq .faq__contactBtn {
  margin-top: 60px;
}
#faq .common-link {
  font-size: 14px;
  padding-left: 0;
}
#faq .common-link::before {
  content: "";
  display: none;
}
#faq .common-heading--h4 {
  font-size: 18px;
  font-weight: bold;
}
#faq p.common-mb {
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  #faq p.common-mb {
    margin-bottom: 60px;
  }
}

#services-arch {
  padding-bottom: 0;
}
#services-arch .imgKv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/services/services_kv_img_sp.jpg);
}
@media screen and (min-width: 768px) {
  #services-arch .imgKv {
    background-image: url(../images/services/services_kv_img.jpg);
  }
}
#services-arch .imgKv__ttl {
  color: #fff;
  font-weight: bold;
}
#services-arch .imgKv__line {
  background: #fff;
}
#services-arch .tabListWrap {
  max-width: 360px;
  margin: 0 auto;
  border-bottom: 1px solid #222427;
}
@media screen and (min-width: 768px) {
  #services-arch .tabListWrap {
    max-width: 980px;
  }
}
#services-arch .tabList {
  margin: 40px auto 0;
  max-width: 360px;
  width: 100%;
  display: flex;
}
@media screen and (min-width: 768px) {
  #services-arch .tabList {
    margin: 80px auto 0 0;
    max-width: unset;
  }
}
#services-arch .tabList .tab {
  width: 50%;
  border: unset;
  font-size: 16px;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 50px;
  cursor: pointer;
  font-weight: bold;
  background: #F5F6F7;
  color: #222427;
}
#services-arch .tabList .tab.active {
  background: unset;
  color: #fff;
  background: #222427;
}
#services-arch .tabList.bottom {
  margin-top: 100px;
}
#services-arch .tabList.bottom .tab {
  border-top: unset;
  border-bottom: unset;
}
#services-arch .top__lead {
  font-size: 14px;
  line-height: 1.714;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #services-arch .top__lead {
    font-size: 16px;
    margin-top: 80px;
  }
}
#services-arch .top__links {
  text-decoration: underline;
  display: block;
  margin-top: 15px;
  font-size: 16px;
}
#services-arch .tabContents {
  display: none;
}
#services-arch .tabContents__lead {
  font-size: 14px;
  margin-top: 35px;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents__lead {
    font-size: 16px;
  }
}
#services-arch .tabContents__mainImg {
  width: 100vw;
  margin: 35px calc(50% - 50vw) 0;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents__mainImg {
    max-width: 700px;
    margin: 35px auto 0;
  }
}
#services-arch .tabContents__ttl {
  font-size: 26px;
  font-weight: bold;
  margin-top: 80px;
  line-height: 1.411;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents__ttl {
    font-size: 28px;
  }
}
#services-arch .tabContents__ttl.mt {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents__ttl.mt {
    margin-top: 75px;
  }
}
#services-arch .tabContents .linkBlk__list {
  margin-top: 5px;
  justify-content: space-between;
}
#services-arch .tabContents .linkBlk__list li {
  width: 48.65%;
  margin-top: 10px;
  border: unset !important;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents .linkBlk__list li {
    width: 44%;
    margin-top: 20px;
  }
}
#services-arch .tabContents .linkBlk__list li a {
  padding: 24px 15px 24px 0;
  transition: 0.3s;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents .linkBlk__list li a {
    height: 60px;
  }
}
#services-arch .tabContents {
  margin-top: 56px;
}
#services-arch .tabContents .libraryLinkBlk {
  margin: 66px 0 0 0;
}
#services-arch .tabContents .libraryLinkBlk__list {
  display: flex;
  flex-wrap: wrap;
}
#services-arch .tabContents .libraryLinkBlk__list li {
  padding: 24px 15px 24px 0;
  border-bottom: 1px solid #DDDDDD;
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #services-arch .tabContents .libraryLinkBlk__list li:nth-child(2n-1) {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1025px) {
  #services-arch .tabContents .libraryLinkBlk__list li {
    width: calc(50% - 20px);
  }
}
#services-arch .tabContents .libraryLinkBlk__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 0;
  font-size: 14px;
  font-weight: normal;
}
#services-arch .tabContents .btnLinks__list {
  display: flex;
  flex-wrap: wrap;
}
#services-arch .tabContents .btnLinks__list li {
  display: flex;
  align-items: center;
  width: 100%;
}
#services-arch .tabContents .btnLinks__list li .btnLinks__listIcon {
  width: auto;
  display: inline-block;
  margin-right: 10px;
}
@media screen and (min-width: 1025px) {
  #services-arch .tabContents .btnLinks__list li:nth-child(2n-1) {
    margin-right: 40px;
  }
}
@media screen and (min-width: 1025px) {
  #services-arch .tabContents .btnLinks__list li {
    width: calc(50% - 20px);
  }
}
#services-arch .tabContents .btnLinks__list li a {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0;
  font-size: 16px;
  font-weight: normal;
  position: relative;
  padding: 24px 15px 24px 0;
  border-bottom: 1px solid #DDDDDD;
}
#services-arch .tabContents__linkBlk a {
  position: relative;
  display: block;
}
#services-arch .tabContents__linkBlk a::after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
}
#services-arch .tabContents__linkBlk .-flxBox {
  margin-top: 8px;
}
#services-arch .tabContents__ctgr {
  font-size: 14px;
  font-weight: bold;
  padding: 0 0;
  line-height: 1.6;
}
#services-arch .tabContents__tagWrap {
  margin-top: 4px;
  width: 42%;
  display: flex;
  flex-wrap: wrap;
}
#services-arch .tabContents__tagWrap span {
  display: inline-block;
  padding: 0 3px;
  background: #e0e0e0;
  border-radius: 2px;
  line-height: 1.6;
  margin-right: 6px;
  margin-bottom: 5px;
}
@media screen and (min-width: 1025px) {
  #services-arch .tabContents__list {
    display: block;
    margin: 0 auto;
  }
}
#services-arch .tabContents__list li {
  max-width: 470px;
  margin: 0 auto;
  width: auto;
}
#services-arch .tabContents__btn {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  position: relative;
  background: #222427;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.888;
  color: #fff;
  padding: 12px 48px 12px 20px;
  margin-top: 40px;
  cursor: pointer;
  border: 1px solid #222427;
}
#services-arch .tabContents__btn:hover {
  opacity: 0.9;
}
#services-arch .tabContents__btn:first-of-type {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #services-arch .tabContents__btn:first-of-type {
    margin-top: 20px;
  }
}
#services-arch .tabContents__txtWrap {
  display: flex;
  flex-wrap: wrap;
}
#services-arch .tabContents__txtWrap .tabContents__linkBlk:not(:first-of-type) {
  margin-top: 20px;
}
#services-arch .tabContents__btn.is-active {
  background: #F5F6F7;
  color: #222427;
}
#services-arch .tabContents__btn::before, #services-arch .tabContents__btn::after {
  content: "";
  display: block;
  background-color: #fff;
  position: absolute;
  top: 50%;
  width: 15px;
  height: 2px;
  right: 25px;
}
#services-arch .tabContents__btn.is-active::before, #services-arch .tabContents__btn.is-active::after {
  background-color: #222427;
}
#services-arch .tabContents__btn::after {
  transform: rotate(90deg);
  transition-duration: 0.3s;
}
#services-arch .tabContents__btn.is-active::before {
  opacity: 0;
}
#services-arch .tabContents__btn.is-active::after {
  transform: rotate(0);
}
#services-arch .tabContents__txtWrap {
  height: 0;
  overflow: hidden;
  transition-duration: 0.3s;
}
#services-arch .tabContents__txtWrap.is-open {
  margin: 20px 0;
  height: auto;
}
#services-arch .tabContents.show {
  display: block;
}
#services-arch .servicelinks {
  background: unset;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #services-arch .servicelinks .servicelinks__list {
    padding: 0 20px;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) {
  #services-arch .servicelinks li {
    margin-left: 0;
  }
  #services-arch .servicelinks li:not(:last-of-type) {
    margin-right: 60px;
  }
}
#services-arch .global__btn {
  background: #F5F6F7;
}
#services-arch .bannerLinks {
  margin-bottom: 60px;
  display: flex;
  justify-content: center;
}

#service {
  padding-bottom: 0;
}
#service .firstMv__heading {
  font-size: 69px;
  font-weight: 700;
  font-family: Barlow, sans-serif;
  line-height: 1;
  margin-bottom: 50px;
  top: 10.4vh;
}
@media screen and (max-width: 767px) {
  #service .firstMv__heading {
    font-size: 45px;
  }
}
#service .firstMv__bottom {
  background: unset;
}
#service .serviceMv__img {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  #service .serviceMv__img {
    height: 500px;
  }
  #service .serviceMv__img img {
    object-fit: cover;
    height: 100%;
  }
}
#service .serviceMv__img-sp {
  height: 100%;
  object-fit: cover;
}
@media screen and (min-width: 1025px) {
  #service .serviceMv__img-sp {
    display: none;
  }
}
@media screen and (max-width: 1024px) {
  #service .serviceMv__img-pc {
    display: none;
  }
}
#service .serviceMv__img {
  position: relative;
  height: 80vh;
}
@media screen and (min-width: 768px) {
  #service .serviceMv__img {
    height: 100vh;
  }
}
@media screen and (min-width: 1025px) {
  #service .serviceMv__img {
    height: 500px;
  }
}
#service .serviceMv .firstMv__bottom {
  position: absolute;
}
#service .serviceTop__ttl {
  font-size: 32px;
  font-weight: bold;
  display: flex;
  align-items: flex-end;
  line-height: 1;
  margin-top: 80px;
}
#service .serviceTop__ctgr {
  font-size: 16px;
  line-height: 1.4;
  padding: 0 4px;
  background: #83807A;
  color: #fff;
  margin-left: 16px;
  font-weight: normal;
}
#service .serviceTop__lead {
  font-size: 16px;
  margin-top: 35px;
  line-height: 1.714;
}
#service .serviceTop__hashTagListWrap {
  margin: 55px calc(50% - 50vw) 0;
  background: #F5F6F7;
}
#service .serviceTop__hashTagList {
  width: 100vw;
  padding: 30px 20px 30px 20px;
}
#service .serviceTop__hashTag {
  padding: 13px 16px;
  border-radius: 60px;
  display: inline-block;
  background: #fff;
  font-size: 14px;
  margin-top: 10px;
  margin-left: 10px;
  font-weight: bold;
  line-height: 1;
  border: 1px solid #222427;
}
#service .network {
  padding-top: 60px;
}
@media screen and (min-width: 768px) {
  #service .network__txtbox {
    display: inline-block;
  }
}
@media screen and (min-width: 768px) {
  #service .network__txtbox + dl {
    margin-left: 60px;
  }
}
#service .network__name {
  display: block;
  font-size: 16px;
  font-weight: bold;
  margin-top: 30px;
}
#service .network__txt {
  font-size: calc(24 * (100vw / 375));
  line-height: 1;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #service .network__txt {
    font-size: 24px;
  }
}
#service .network__txt-large {
  font-size: calc(104 * (100vw / 375));
  font-weight: bold;
  font-family: din-condensed, sans-serif;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #service .network__txt-large {
    font-size: 104px;
  }
}
#service .network__cap {
  font-size: 13px;
}
#service .network__company {
  margin-top: 30px;
}
#service .network__companyTtl {
  font-size: 16px;
  font-weight: bold;
}
#service .network__companyName {
  font-size: 15px;
  margin-top: 16px;
  line-height: 1.5;
  display: inline-block;
  width: 100%;
}
#service .network__companyName.-icon {
  text-decoration: underline;
  position: relative;
}
#service .network__companyName.-icon::after {
  content: "";
  width: 14px;
  height: 12px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
  vertical-align: text-bottom;
  margin-left: 4.7px;
  display: inline-block;
}
#service .serviceList {
  padding-top: 90px;
}
#service .serviceList .common-heading--h3 {
  margin-top: 80px;
}
#service .serviceList .service__commonTtl + h3 {
  margin-top: 30px;
}
#service .serviceList__hashTagList {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  #service .serviceList__hashTagList {
    margin-top: 20px;
  }
}
#service .serviceList__hashTag {
  margin-top: 10px;
  padding: 13px 16px;
  border-radius: 60px;
  display: inline-block;
  background: f5f6f7;
  font-size: 14px;
  margin-top: 10px;
  margin-left: 10px;
  line-height: 1;
  font-weight: bold;
  border: 1px solid #222427;
}
@media screen and (min-width: 768px) {
  #service .serviceList__hashTag {
    margin-top: 20px;
  }
}
#service .serviceList__txt {
  margin-top: 20px;
  font-size: 16px;
  line-height: 1.875;
}
#service .serviceList__jobListWrap {
  background: #F5F6F7;
  width: 100vw;
  margin: 20px calc(50% - 50vw) 0;
}
@media screen and (min-width: 768px) {
  #service .serviceList__jobListWrap {
    margin: 30px calc(50% - 50vw) 0;
  }
}
#service .serviceList__jobList {
  padding: 0 20px;
  background: unset;
}
@media screen and (min-width: 768px) {
  #service .serviceList__jobList {
    padding: 30px 20px;
  }
}
#service .serviceList__jobTtl {
  font-size: 12px;
  display: inline-block;
  line-height: 1.4;
  padding: 0 4px;
  border-radius: 2px;
  background: #fff;
}
#service .serviceList__jobTxt {
  font-size: 14px;
  font-weight: bold;
  line-height: 1.4285;
  margin-top: 7px;
}
#service .serviceList__jobTxt a {
  text-decoration: underline;
  font: inherit;
}
#service .serviceList__offerTtl {
  display: inline-block;
  padding: 0 4px;
  border-radius: 2px;
  font-size: 12px;
  background: #E0E0E0;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  #service .serviceList__offerTtl {
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  #service .serviceList__offerWrapper {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
@media screen and (min-width: 768px) {
  #service .serviceList__offerWrapper li {
    width: 45.75%;
    max-width: 430px;
  }
}
#service .serviceList__offerLink {
  margin-top: 20px;
  display: block;
  position: relative;
  width: 100%;
}
@media screen and (min-width: 768px) {
  #service .serviceList__offerLink {
    margin-top: 40px;
  }
}
#service .serviceList__offerLink img {
  -webkit-box-shadow: 0 0 0 1.5px #ddd;
  box-shadow: 0 0 0 1.5px #ddd;
}
#service .serviceList .icon-black:after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon.svg) center center/contain no-repeat;
}
#service .serviceList .icon-white:after {
  content: "";
  width: 14px;
  height: 12px;
  position: absolute;
  top: 20px;
  right: 15px;
  background: url(../images/common/outbound_link_icon_w.svg) center center/contain no-repeat;
}
#service .serviceList .common-carouselArea {
  padding: 0;
  margin-top: 40px;
}
#service .serviceList .common-carouselArea__topWrap {
  justify-content: right;
}
#service .serviceList .common-carousel {
  padding-bottom: 0;
}
#service .serviceList .common-button--grayArrowBtn a {
  font-size: 16px;
  font-weight: bold;
  justify-content: left;
}
#service .serviceList .service__txtLink {
  text-align: right;
  margin-top: 10px;
}
#service .serviceList .service__txtLink a {
  font-size: 12px;
  text-decoration: underline;
}
#service .serviceList .btnWrapper {
  display: flex;
  justify-content: left;
  width: 100%;
  max-width: 335px;
  margin: 30px auto 30px 0;
}
@media screen and (min-width: 768px) {
  #service .serviceList .btnWrapper {
    max-width: unset;
    margin: 60px auto 30px 0;
  }
}
#service .serviceList .common-button--grayArrowBtn.-back {
  padding: 0;
  width: 100%;
  max-width: 335px;
}
@media screen and (min-width: 768px) {
  #service .serviceList .common-button--grayArrowBtn.-back {
    margin: 0 0 auto 0;
  }
}
#service .serviceList .common-button--grayArrowBtn.-back .arrow--grayBtn {
  position: absolute;
  right: auto;
  left: 18px;
  top: 50%;
  transform: translate(0, -50%);
}
#service .serviceList .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::before, #service .serviceList .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::after {
  right: auto;
  left: 0;
}
#service .serviceList .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::before {
  transform: rotate(-45deg);
}
#service .serviceList .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::after {
  transform: rotate(45deg);
}
#service .serviceList .common-button--grayArrowBtn.-back a {
  padding: 0 50px 0 0;
  min-height: 60px;
  justify-content: right;
}
#service .service__commonTtl {
  font-size: 26px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #service .service__commonTtl {
    font-size: 28px;
  }
}
#service .common-heading--h4.mt {
  margin-top: 90px;
}
#service .common-button--whiteArrowBtn > a {
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  #service .common-mainBottom__btnWrap {
    max-width: 980px;
    justify-content: flex-start;
  }
  #service .common-mainBottom__btnWrap .common-button--whiteArrowBtn:not(:last-of-type) {
    margin-right: 40px;
  }
}
#service .service__listLink {
  display: flex;
  justify-content: flex-end;
  margin: 30px 0;
}
#service .service__listLink a {
  padding-left: 10px;
  position: relative;
  text-decoration: none;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 14px;
}

#case_studies_detail {
  padding-bottom: 100px;
}
#case_studies_detail .detailTop {
  padding-top: 80px;
}
#case_studies_detail .detailTop__ttl {
  font-size: 26px;
  line-height: 1.4166;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__ttl {
    font-size: 28px;
  }
}
#case_studies_detail .detailTop__tags {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__tags {
    margin-top: 0;
  }
}
#case_studies_detail .detailTop__tag {
  margin-top: 10px;
  font-size: 12px;
  display: inline-block;
  line-height: 1.4;
  padding: 0 4px;
  border-radius: 2px;
  background: #E0E0E0;
  margin-right: 6px;
}
#case_studies_detail .detailTop__link {
  font-size: 14px;
  line-height: 1;
  display: inline-block;
  margin-top: 0;
}
#case_studies_detail .detailTop__lead {
  margin-top: 35px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .detailTop__dl {
  margin-top: 0;
  display: inline-block;
  text-decoration: underline;
  font-size: 14px;
  line-height: 1.71;
}
#case_studies_detail .detailTop__dl.-pdf::after {
  content: "";
  background: url(../images/case_studies/detail_dl_icon.svg) no-repeat center center/contain;
  width: 10px;
  height: 14px;
  vertical-align: text-top;
  display: inline-block;
  margin-left: 5px;
}
#case_studies_detail .detailTop__overview {
  border: 1px solid #DDDDDD;
  padding: 30px 20px;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__overview {
    max-width: unset;
    margin-top: 50px;
  }
}
#case_studies_detail .detailTop__overviewTtl {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__overviewTtl {
    font-size: 20px;
  }
}
#case_studies_detail .detailTop__overviewTxt {
  font-size: 14px;
  line-height: 1.716;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__overviewTxt {
    font-size: 16px;
  }
}
#case_studies_detail .detailTop__overviewBlk.-topBlk {
  padding-bottom: 30px;
  border-bottom: 1px solid #ddd;
}
#case_studies_detail .detailTop__overviewBlk.-bottomBlk {
  padding-top: 30px;
}
#case_studies_detail .detailTop__skillTtl {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillTtl {
    margin-top: 60px;
  }
}
#case_studies_detail .detailTop__skillBlk {
  margin-top: 20px;
  display: flex;
  align-items: flex-start;
}
#case_studies_detail .detailTop__skillBlk dt {
  padding: 5px 9px;
  line-height: 1;
  margin-right: 8px;
  white-space: nowrap;
}
#case_studies_detail .detailTop__skillBlk dt.-glay {
  background: #F5F6F7;
}
#case_studies_detail .detailTop__skillBlk dt.-color {
  background: #D28903;
  color: #fff;
}
#case_studies_detail .detailTop__skillBlk dd {
  font-size: 16px;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillBlk dd {
    font-size: 16px;
  }
}
#case_studies_detail .detailTop__skillBlk dd.-bold {
  font-weight: bold;
}
#case_studies_detail .detailTop__skillBlk.-annualIncome {
  background: #F5F6F7;
  padding: 18px 12px;
  max-width: 400px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillBlk.-annualIncome {
    display: inline-flex;
    align-items: center;
    padding: 12px 17px 12px 40px;
    width: 100%;
  }
}
#case_studies_detail .detailTop__skillBlk.-annualIncome dt {
  background: #fff;
  margin-right: 40px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillBlk.-annualIncome dt {
    font-size: 18px;
  }
}
#case_studies_detail .detailTop__skillBlk.-annualIncome dd {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillBlk.-annualIncome dd {
    font-size: 18px;
  }
}
#case_studies_detail .detailTop__skillBlk.-annualIncome dd span.-after {
  display: inline-block;
  margin-left: 0;
  font: inherit;
  color: #D28903;
  font-weight: bold;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__skillBlk.-annualIncome dd span.-after {
    font-size: 20px;
  }
}
#case_studies_detail .detailTop__skillBlk.-annualIncome dd span.-arrow {
  margin: 0 30px;
}
#case_studies_detail .detailTop__imgBlk {
  margin-top: 35px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__imgBlk {
    display: flex;
    justify-content: space-between;
  }
}
#case_studies_detail .detailTop__imgBlk li {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__imgBlk li {
    width: 47.5%;
  }
}
#case_studies_detail .detailTop__flxBlk {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__flxBlk {
    display: flex;
    justify-content: space-between;
    margin-top: 30px;
  }
}
#case_studies_detail .detailTop__flxLeftBox {
  margin-top: 0;
  max-width: unset;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__flxLeftBox {
    margin-top: 0;
    width: 49.5%;
    max-width: 465px;
  }
}
#case_studies_detail .detailTop__flxLeftBox > img {
  width: auto;
  max-width: 100%;
}
#case_studies_detail .detailTop__flxRightBox {
  margin-top: 40px;
  max-width: unset;
  flex: unset;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__flxRightBox {
    margin-top: 0;
    width: 45%;
    max-width: 413px;
    flex: unset;
  }
}
#case_studies_detail .detailTop__heading {
  font-size: 16px;
  font-weight: bold;
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .detailTop__heading {
    margin-top: 0;
  }
  #case_studies_detail .detailTop__heading:not(:first-of-type) {
    margin-top: 30px;
  }
}
#case_studies_detail .detailTop__dataDetail {
  margin-top: 9px;
}
#case_studies_detail .detailTop__dataDetail.min-height {
  min-height: 145px;
}
#case_studies_detail .detailTop__dataDetail p {
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .detailTop__date::before {
  content: "";
  width: 14px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  display: inline-block;
  margin-right: 4px;
  vertical-align: text-top;
  background-image: url(../images/case_studies/case_studies_published.svg);
}
#case_studies_detail .detailTop__projectView {
  padding: 40px 0;
  background: #F5F6F7;
  width: 100vw;
  margin: 20px calc(50% - 50vw) 40px;
}
#case_studies_detail .projectDetail {
  margin-top: 60px;
}
#case_studies_detail .projectDetail .common-heading--h3__underLine {
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .projectDetail {
    margin-top: 80px;
  }
}
#case_studies_detail .projectDetail p {
  font-size: 16px;
  line-height: 1.875;
}
#case_studies_detail .projectDetail p a {
  font-size: 14px;
}
#case_studies_detail .projectDetail .singleColumnImg {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .projectDetail .singleColumnImg {
    margin-top: 50px;
  }
}
#case_studies_detail .projectDetail .multipleColumnImg-wrap {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .projectDetail .multipleColumnImg-wrap {
    margin-top: 50px;
  }
}
#case_studies_detail .story {
  padding-bottom: 55px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .story {
    padding-bottom: 100px;
  }
}
#case_studies_detail .story__article h4 {
  margin-top: 60px;
}
#case_studies_detail .story__article p {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.714;
}
#case_studies_detail .interview {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 50px 0;
  background: #F5F6F7;
}
#case_studies_detail .interview .singleColumnImg, #case_studies_detail .interview .multipleColumnImg-wrap {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .interview {
    padding: 100px 0;
  }
}
#case_studies_detail .interview h4 {
  margin-top: 55px;
}
#case_studies_detail .interview .common-heading--h3__underLine + h4 {
  margin-top: 40px;
}
#case_studies_detail .interview__peopleWrap {
  margin-top: 10px;
}
#case_studies_detail .interview article p {
  margin-top: 15px;
  font-size: 16px;
  line-height: 1.714;
}
#case_studies_detail .interview article span {
  margin-top: 3px;
  font-size: 16px;
  line-height: 1.714;
  display: block;
}
#case_studies_detail .interview__belongs {
  margin-top: 3px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .award {
  padding-top: 50px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .award {
    padding-top: 100px;
  }
}
@media screen and (min-width: 768px) {
  #case_studies_detail .award__wrapper {
    display: flex;
    flex-wrap: wrap;
  }
}
#case_studies_detail .award__blk {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .award__blk {
    margin-right: 0;
    width: 50%;
    padding-right: 20px;
  }
}
#case_studies_detail .award__img {
  width: 50px;
  flex: 0 0 50px;
  margin-right: 12px;
}
#case_studies_detail .award dt {
  font-size: 16px;
  line-height: 1.625;
  font-weight: bold;
}
#case_studies_detail .award dd {
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .project {
  padding-top: 80px;
  padding-bottom: 40px;
}
#case_studies_detail .project__outer {
  max-width: 500px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .project__outer {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    max-width: unset;
  }
}
@media screen and (min-width: 768px) {
  #case_studies_detail .project__wrapper {
    width: 40.5%;
  }
}
#case_studies_detail .project__position {
  margin-top: 20px;
}
#case_studies_detail .project p {
  font-size: 14px;
  line-height: 1.714;
  font-weight: bold;
}
#case_studies_detail .project dl {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#case_studies_detail .project dt, #case_studies_detail .project dd {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .project dt {
  font-weight: bold;
  width: 70%;
}
#case_studies_detail .project dd {
  font-size: 14px;
  line-height: 1.714;
  width: 30%;
  text-align: right;
}
#case_studies_detail .project dd span {
  font-size: 14px;
  line-height: 1.714;
  display: block;
}
#case_studies_detail .project a {
  width: 130px;
  height: 40px;
  font-weight: bold;
  background: #f5f6f7;
  border: 1px solid #222427;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 16px;
  margin: 15px 0 0 auto;
  transition: 0.3s;
}
#case_studies_detail .project a:hover {
  color: #D28903;
  border: 1px solid #D28903;
}
#case_studies_detail .client {
  background: #f5f6f7;
  padding: 40px 0;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
}
@media screen and (min-width: 768px) {
  #case_studies_detail .client {
    margin: 40px calc(50% - 50vw) 0;
  }
}
#case_studies_detail .client__name {
  font-size: 14px;
  font-weight: bold;
  margin-top: 20px;
}
#case_studies_detail .client__txt {
  font-size: 14px;
  line-height: 1.714;
  margin-top: 15px;
  max-width: 600px;
}
#case_studies_detail .client__Link {
  font-size: 14px;
  line-height: 1.714;
  margin-top: 15px;
}
#case_studies_detail .bottomLinks {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .bottomLinks {
    display: block;
    justify-content: center;
    margin-top: 60px;
  }
}
@media screen and (min-width: 768px) {
  #case_studies_detail .bottomLinks a {
    width: 100%;
  }
}
#case_studies_detail .common-button--grayArrowBtn.-mt {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .common-button--grayArrowBtn.-mt {
    margin-top: 20px;
  }
}
#case_studies_detail .common-button--grayArrowBtn.-back {
  padding: 0;
}
#case_studies_detail .common-button--grayArrowBtn.-back .arrow--grayBtn {
  position: absolute;
  right: auto;
  left: 18px;
  top: 50%;
  transform: translate(0, -50%);
}
#case_studies_detail .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::before, #case_studies_detail .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::after {
  right: auto;
  left: 0;
}
#case_studies_detail .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::before {
  transform: rotate(-45deg);
}
#case_studies_detail .common-button--grayArrowBtn.-back .arrow--grayBtn .arrow::after {
  transform: rotate(45deg);
}
#case_studies_detail .common-button--grayArrowBtn.-back a {
  padding: 0 0 0 50px;
  min-height: 60px;
  justify-content: left;
  max-width: 335px;
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .common-button--grayArrowBtn.-back {
    margin-left: 0;
    margin-right: auto;
  }
}
#case_studies_detail h3 {
  color: #222427;
  font-size: 22px;
  font-weight: normal;
  line-height: 1.4;
  letter-spacing: 0.5px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail h3 {
    font-size: 24px;
  }
}
#case_studies_detail h4 {
  color: #000;
  font-size: 22px;
  font-weight: normal;
  line-height: 1;
  border-left: 4px solid #222427;
  padding-left: 6px;
  letter-spacing: 0.5px;
}
#case_studies_detail .singleColumnMovie {
  margin-top: 20px;
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
#case_studies_detail .singleColumnMovie iframe, #case_studies_detail .singleColumnMovie video {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}
#case_studies_detail .singleColumnImg {
  margin-top: 20px;
}
#case_studies_detail .multipleColumnImg-wrap .multipleColumnImg:not(:first-of-type) {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .multipleColumnImg-wrap .multipleColumnImg {
    margin-top: 0;
    width: 47.4%;
  }
  #case_studies_detail .multipleColumnImg-wrap .multipleColumnImg:not(:first-of-type) {
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) {
  #case_studies_detail .multipleColumnImg-wrap {
    display: flex;
    justify-content: space-between;
  }
}
#case_studies_detail .newsDetail__topLink {
  display: flex;
  justify-content: flex-end;
  margin: 30px 0;
}
#case_studies_detail .newsDetail__topLink a {
  padding-left: 10px;
  position: relative;
  text-decoration: none;
  border-bottom: 1px solid #000;
  color: #000;
  font-size: 14px;
}

#case_studies_detail.case_studies_detail_p {
  padding-bottom: 100px;
}

#case_studies .imgKv {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../images/case_studies/case_studies_kv_img_sp.jpg);
}
@media screen and (min-width: 768px) {
  #case_studies .imgKv {
    background-image: url(../images/case_studies/case_studies_kv_img.jpg);
  }
}
#case_studies .imgKv__ttl {
  color: #fff;
  font-weight: bold;
}
#case_studies .imgKv__line {
  background: #fff;
}
#case_studies .backBtn {
  width: 20px;
  position: fixed;
  bottom: 20px;
  right: 20px;
  display: block;
  z-index: 30;
}
#case_studies .contentwrapper {
  margin-top: 80px;
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  #case_studies .contentwrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies {
    width: calc(100% - 250px);
  }
}
#case_studies .caseStudies__result {
  font-size: 20px;
}
#case_studies .caseStudies__numbers {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
#case_studies .caseStudies__ttl {
  font-size: 26px;
  line-height: 1;
}
@media (min-width: 768px) {
  #case_studies .caseStudies__ttl {
    font-size: 28px;
  }
}
#case_studies .caseStudies__number {
  font-size: 12px;
}
#case_studies .caseStudies__tumb {
  aspect-ratio: 36/23;
  position: relative;
}
#case_studies .caseStudies__tumb img {
  object-fit: contain;
  height: 100%;
  font-family: "object-fit: contain;";
}
#case_studies .caseStudies__tumbTtl {
  margin-top: 22px;
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies__tumbTtl {
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies__list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
#case_studies .caseStudies__card {
  margin-top: 60px;
}
#case_studies .caseStudies__card:first-of-type {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies__card {
    margin-top: 50px;
    width: 47%;
    max-width: 345px;
  }
  #case_studies .caseStudies__card:first-of-type, #case_studies .caseStudies__card:nth-of-type(2) {
    margin-top: 20px;
  }
}
#case_studies .caseStudies__categoryLabel {
  margin-top: 20px;
}
#case_studies .caseStudies__categoryLabel li {
  display: inline-block;
  font-size: 12px;
  background-color: #E0E0E0;
  padding: 0 3px;
  margin-right: 6px;
  border-radius: 2px;
}
#case_studies .caseStudies__entryDate {
  font-size: 14px;
  line-height: 1.7114;
  text-align: left;
  color: #707070;
  display: inline-block;
  margin-top: 8px;
}
#case_studies .caseStudies__entryDate::before {
  content: "";
  width: 14px;
  height: 14px;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  display: inline-block;
  margin-right: 4px;
  vertical-align: text-top;
}
#case_studies .caseStudies__entryDate.-published {
  margin-right: 20px;
}
#case_studies .caseStudies__entryDate.-published::before {
  background-image: url(../images/case_studies/case_studies_published.svg);
}
#case_studies .caseStudies__entryDate.-updated::before {
  background-image: url(../images/case_studies/case_studies_updated.svg);
}
#case_studies .caseStudies__pageList {
  display: flex;
  justify-content: center;
  max-width: 324px;
  margin: 60px auto 0;
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies__pageList {
    margin: 80px auto 0;
  }
}
#case_studies .caseStudies__pageList a {
  width: 50px;
  height: 50px;
  border: 1px solid #222427;
  display: flex;
  justify-content: center;
  align-items: center;
}
#case_studies .caseStudies__pageList li:not(:first-of-type) a {
  border-left: none;
}
#case_studies .caseStudies__pageList li.caseStudies__btn-dots a {
  width: 28px;
  border: none;
  background: unset;
}
#case_studies .caseStudies__pageList .caseStudies__btn-dots + li a {
  border-left: 1px solid #222427;
}
#case_studies .caseStudies .archiveList {
  margin-top: 80px;
}
#case_studies .caseStudies__btn-arrow .-arrow {
  width: 16px;
  display: flex;
  align-items: center;
}
#case_studies .searchBtn {
  width: 80px;
  position: fixed;
  bottom: 10px;
  left: 10px;
  z-index: 31;
  display: block;
  cursor: pointer;
}
#case_studies .searchBtn .close {
  display: none;
}
#case_studies .searchBtn.active .open {
  display: none;
}
#case_studies .searchBtn.active .close {
  display: block;
}
#case_studies .sidebar__serviceList {
  margin-top: 30px;
}
#case_studies .sidebar__link {
  font-size: 15px;
  text-decoration: underline;
  margin-bottom: 20px;
  color: #000;
  line-height: 1;
}
#case_studies .searchMenu .common-heading--h4 {
  margin-top: 40px;
}
#case_studies .searchMenu__wrapper {
  margin-top: 30px;
}
#case_studies .searchMenu__genre {
  margin-top: 20px;
  font-size: 15px;
  font-weight: bold;
  line-height: 1;
}
#case_studies .searchMenu__detail {
  margin-top: 5px;
  line-height: 1.625;
  font-size: 16px;
  margin-left: 20px;
  display: inline-block;
}
#case_studies .searchMenu .common-button--whiteArrowBtn {
  margin-top: 10px;
  width: 100%;
}
#case_studies .searchMenu .common-button--whiteArrowBtn a {
  line-height: 1.3;
  display: flex;
  justify-content: center;
  flex-direction: column;
  font-size: 15px;
  padding-left: 15px;
}
#case_studies .searchMenu .common-button--whiteArrowBtn .desc {
  display: block;
  font-size: 12px;
}
#case_studies .searchMenu .common-button--whiteArrowBtn .arrow--grayBtn {
  bottom: 19px;
}
#case_studies .searchMenu.is-open {
  right: 0;
}
@media screen and (min-width: 768px) {
  #case_studies .sidebar .sidebar__heading {
    font-size: 24px;
    margin: 40px 0 22px 0;
  }
  #case_studies .sidebar .-borderLi {
    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;
    border-bottom: 1px solid #000;
    margin: 30px -20px 25px 0;
    padding-right: 20px;
  }
  #case_studies .sidebar .-borderLi .sidebar__link {
    text-decoration: none;
    line-height: 1.466666;
    margin-bottom: 4px;
  }
}
@media screen and (max-width: 767px) {
  #case_studies .sidebar .sidebar__heading {
    padding: 0;
    margin: 40px 0;
    font-size: 30px;
  }
  #case_studies .sidebar .sidebar__subHeading {
    padding-left: 20px;
    position: relative;
  }
  #case_studies .sidebar .sidebar__subHeading::before {
    content: "";
    width: 12px;
    height: 12px;
    border-top: 2px solid #222427;
    border-right: 2px solid #222427;
    -webkit-transform: rotate(45deg) translate(0, -50%);
    transform: rotate(45deg) translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 30px;
  }
  #case_studies .sidebar .sidebar__list {
    padding-left: 0;
  }
  #case_studies .sidebar .sidebar__heading + .sidebar__subHeading {
    border-top: 1px solid #fff;
  }
  #case_studies .sidebar .sidebar__link {
    text-decoration: none;
    line-height: 1.466666;
    margin-bottom: 4px;
    font-size: 16px;
    font-weight: bold;
  }
  #case_studies .sidebar .-borderLi {
    height: 65px;
  }
  #case_studies .sidebar .-borderLi a {
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  #case_studies .sidebar .-borderLi span {
    font-size: 13px;
    display: block;
    font-weight: normal;
  }
}

#sustainability {
  padding-bottom: 100px;
}
#sustainability .common-textBlock {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #sustainability .common-textBlock {
    margin-top: 80px;
  }
}
@media screen and (max-width: 767px) {
  #sustainability .contentWrap.pc_only {
    padding: 0;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .common-textBlock__imgWrap {
    width: 315px;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .common-textBlock__textWrap {
    width: 585px;
  }
}
#sustainability .sustain__president {
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  #sustainability .materialities .common-textBlock__imgWrap {
    width: 200px;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .materialities .common-textBlock__textWrap {
    width: 700px;
  }
}
#sustainability .aboutUs {
  margin-top: 80px;
}
#sustainability .aboutUs__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(300px, 1fr));
  grid-template-rows: auto;
  grid-gap: 120px 80px;
  margin-bottom: 100px;
}
@media (min-width: 751px) and (max-width: 1024px) {
  #sustainability .aboutUs__grid {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 750px) {
  #sustainability .aboutUs__grid {
    grid-template-columns: 1fr;
    margin-bottom: 40px;
  }
}
#sustainability .aboutUs__col img {
  width: 100%;
  object-fit: contain;
  aspect-ratio: 1/1;
}
#sustainability .aboutUs__col:nth-child(1) img, #sustainability .aboutUs__col:nth-child(2) img {
  aspect-ratio: 45/29;
}
#sustainability .aboutUs__col:nth-child(3) img, #sustainability .aboutUs__col:nth-child(4) img {
  aspect-ratio: 1/1;
}
#sustainability .aboutUs__col:nth-child(5) img {
  aspect-ratio: 15/17;
}
#sustainability .aboutUs__col:nth-child(6) img {
  aspect-ratio: 3/2;
}
#sustainability .aboutUs__president {
  display: grid;
  grid-template-columns: 190px 1fr;
  margin-bottom: 120px;
}
@media (max-width: 750px) {
  #sustainability .aboutUs__president {
    grid-template-columns: 100px 1fr;
  }
}
#sustainability .aboutUs__president img {
  box-shadow: 0 0 0px 1px #000;
  aspect-ratio: 1/1;
  border-radius: 50%;
  max-width: 100%;
  object-fit: cover;
}
#sustainability .aboutUs__president__text {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  padding-left: 20px;
}
#sustainability .aboutUs__president__text__lead {
  font-size: 32px;
  font-weight: bold;
}
@media (max-width: 750px) {
  #sustainability .aboutUs__president__text__lead {
    font-size: 20px;
  }
}
#sustainability .aboutUs__president__text__name {
  font-size: 16px;
}
#sustainability .aboutUs__president__text::before {
  content: "";
  display: block;
  height: 25px;
  width: 100%;
}
@media (max-width: 750px) {
  #sustainability .aboutUs__president__text::before {
    content: none;
  }
}
#sustainability .aboutUs__image {
  text-align: center;
  margin-bottom: 60px;
}
#sustainability .aboutUs__image img {
  width: 100%;
  max-width: 610px;
}
#sustainability .aboutUs__link {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 40px;
  padding: 60px 0;
  place-items: center;
}
@media (max-width: 750px) {
  #sustainability .aboutUs__link {
    padding-top: 90px;
    padding-bottom: 100px;
    grid-template-columns: 1fr;
    grid-row-gap: 10px;
  }
}
#sustainability .aboutUs__link__item {
  position: relative;
  max-width: 450px;
  width: 100%;
}
#sustainability .aboutUs__link__item img {
  width: 100%;
  aspect-ratio: 3/1;
  object-fit: cover;
}
@media (max-width: 750px) {
  #sustainability .aboutUs__link__item img {
    width: 100%;
    height: 150px;
  }
}
#sustainability .aboutUs__link__item:hover {
  opacity: 0.6;
}
#sustainability .aboutUs__link__title {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  font-size: 16px;
  color: #fff;
  width: 100%;
  padding: 0 25px;
}
#sustainability .aboutUs__link__title span {
  position: absolute;
  top: 50%;
  right: 25px;
}
#sustainability .aboutUs__link__title span::before {
  content: "";
  width: 15px;
  height: 2px;
  background: #fff;
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(0, -50%);
}
#sustainability .aboutUs__link__title span::after {
  content: "";
  width: 8px;
  height: 8px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  position: absolute;
  top: -4px;
  left: -8px;
  transform: rotate(45deg);
}
@media screen and (min-width: 1025px) {
  #sustainability .aboutUs__heading.mb {
    margin-bottom: 68px;
  }
}
#sustainability .aboutUs__heading {
  font-size: 22px;
  font-weight: bold;
  position: relative;
  padding-right: 30px;
  color: #000;
  text-decoration: none;
  margin-bottom: 30px;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  #sustainability .aboutUs__heading {
    font-size: 24px;
  }
}
#sustainability .aboutUs__heading span {
  position: absolute;
  top: 43%;
  right: 0;
  transform: translate(0, -50%);
}
#sustainability .aboutUs__heading span::before {
  content: "";
  width: 15px;
  height: 2px;
  background: #000;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-100%, 0);
}
#sustainability .aboutUs__heading span::after {
  content: "";
  width: 7px;
  height: 7px;
  border-top: 2px solid #000;
  border-right: 2px solid #000;
  position: absolute;
  top: 0.5px;
  left: -6px;
  transform: rotate(45deg);
  transform-origin: top right;
}
#sustainability .aboutUs__heading:hover {
  color: #D28903;
}
#sustainability .aboutUs__heading:hover span::before {
  background: #D28903;
}
#sustainability .aboutUs__heading:hover span::after {
  border-color: #D28903;
}
#sustainability .recruitLinkBlk {
  margin: 40px 0 0 0;
}
@media screen and (min-width: 1025px) {
  #sustainability .recruitLinkBlk {
    margin: 40px 0 0 0;
  }
}
#sustainability .recruitLinkBlk__list {
  width: 100%;
}
@media screen and (min-width: 1025px) {
  #sustainability .recruitLinkBlk__list {
    margin-top: 18px;
  }
}
#sustainability .recruitLinkBlk__list li {
  width: 100%;
  border-bottom: unset;
  padding: 0;
}
@media screen and (min-width: 1025px) {
  #sustainability .recruitLinkBlk__list li {
    width: 100%;
  }
}
#sustainability .recruitLinkBlk__list li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 24px 15px 24px 0;
  font-size: 16px;
  font-weight: normal;
  border-bottom: 1px solid #DDDDDD;
}
#sustainability .recruitLinkBlk__list li .arrow__icon::after {
  content: "";
  display: inline-block;
  width: 11px;
  height: 10px;
  flex: 0 0 11px;
  background: url(../../images/common/icon_arrow.svg);
}
#sustainability .know {
  margin-top: 90px;
}
#sustainability .know section:not(:first-of-type) {
  margin-top: 60px;
}
#sustainability .know section figure {
  margin-top: 20px;
}
@media screen and (min-width: 1025px) {
  #sustainability .know section figure {
    max-width: 566px;
    width: 57%;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .know section .sectionWrap {
    max-width: 354px;
    width: 100%;
    margin-top: 37px;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .know section.flex {
    display: flex;
    justify-content: space-between;
  }
}
@media screen and (min-width: 1025px) {
  #sustainability .know section.fdrr {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
}
#sustainability .know section.movieLink {
  margin-top: 100px;
  text-align: center;
}
#sustainability .know section.movieLink figure {
  max-width: 520px;
  margin: 40px auto 0;
}
#sustainability .know section.movieLink .global__btn, #sustainability .know section.movieLink .global__btn--gray {
  margin-top: 32px;
}
#sustainability .servicelinks {
  background: unset;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sustainability .servicelinks .servicelinks__list {
    justify-content: left;
  }
}
@media screen and (min-width: 768px) {
  #sustainability .servicelinks li {
    margin-left: 0;
    margin-right: 60px;
  }
}
#sustainability .esg .ankerLinks__blk-glay {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sustainability .esg .ankerLinks__blk-glay li {
    width: 47%;
    max-width: unset;
  }
}
#sustainability .esg .ankerLinks__blk-glay li a {
  transition: 0.3s;
  position: relative;
}
#sustainability .esg .ankerLinks__blk-glay li a::after {
  display: none;
}
@media screen and (min-width: 768px) {
  #sustainability .esg .ankerLinks__blk-glay li a {
    max-width: unset;
  }
}
#sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn {
  position: absolute;
  right: 18px;
  bottom: 26px;
}
#sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn .arrow {
  display: inline-block;
  vertical-align: middle;
  width: 16px;
  height: 2px;
  background-color: #222427;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn .arrow::before, #sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn .arrow::after {
  content: "";
  display: block;
  width: 8px;
  height: 2px;
  background-color: #222427;
  position: absolute;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn .arrow::before {
  top: -3px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#sustainability .esg .ankerLinks__blk-glay li a .arrow--grayBtn .arrow::after {
  bottom: -3px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#sustainability .esg .ankerLinks__blk-glay li a:after {
  transform: rotate(-90deg);
}
#sustainability .esg .ankerLinks__blk-glay li a:hover {
  border-color: #D28903;
  color: #D28903;
}
#sustainability .esg .ankerLinks__blk-glay li a:hover .arrow {
  background: #D28903;
}
#sustainability .esg .ankerLinks__blk-glay li a:hover .arrow::before, #sustainability .esg .ankerLinks__blk-glay li a:hover .arrow::after {
  background: #D28903;
}
#sustainability .esgData {
  margin-bottom: 0;
}
#sustainability .commonSustainability.sectionTop__mt {
  margin-top: 80px;
}
#sustainability .commonSustainability .tac {
  text-align: center;
}
#sustainability .commonSustainability__ttl {
  margin-top: 80px;
  font-size: 26px;
}
@media screen and (min-width: 768px) {
  #sustainability .commonSustainability__ttl {
    font-size: 28px;
  }
}
#sustainability .commonSustainability__txt {
  font-size: 16px;
  margin-top: 30px;
}
#sustainability .commonSustainability__note {
  font-size: 14px;
  margin-top: 30px;
}
#sustainability .commonSustainability__txt + .sustain__list {
  margin-top: 40px;
}
#sustainability .commonSustainability .sustain__list p {
  font-size: 16px;
}
#sustainability .commonSustainability .sustain__list .sustain-table__cap {
  font-size: 14px;
}
#sustainability .commonSustainability .sustain__list__commonTxt {
  font-size: 16px;
}
#sustainability .commonSustainability .sustain__list > h4 {
  font-size: 18px;
}
#sustainability .commonSustainability__img {
  margin: 0 auto;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sustainability .commonSustainability__img {
    margin-top: 40px;
    max-width: 700px;
  }
}
#sustainability .commonSustainability__img .mg {
  margin: 30px 0;
  display: block;
}
#sustainability .commonSustainability__img.mb {
  margin-bottom: 40px;
}
#sustainability .commonSustainability__cap {
  font-size: 12px;
  text-align: left;
  margin-top: 0;
}
#sustainability .commonSustainability__cap.mt {
  margin-top: 20px;
}
#sustainability .commonSustainability .common-heading--h3 {
  margin-top: 60px;
}
#sustainability .commonSustainability h2 + .common-heading--h3 {
  margin-top: 40px;
}
#sustainability .commonSustainability .sustain__pdfLinkWrap > a {
  display: flex;
  align-items: center;
  color: #fff;
  text-decoration: none;
  padding: 20px;
}
#sustainability .ankerLinks__blk-glay {
  flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  #sustainability .ankerLinks__blk-glay li {
    width: 29.787%;
    max-width: 280px;
  }
}
#sustainability .common-button--grayArrowBtn {
  margin-top: 40px;
}
#sustainability .common-button--grayArrowBtn a {
  font-size: 16px;
}
#sustainability table th.bold {
  width: 80px;
  font-weight: bold;
  font-size: 16px;
  border-bottom: unset;
}
#sustainability .txtBase__scrBlock {
  margin-top: 40px;
  overflow: auto;
}
#sustainability .materialities .step__table {
  margin-top: 40px;
}
#sustainability .materialities .step__table th {
  width: 15%;
  text-align: center;
}
#sustainability .materialities .step__table td {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  text-align: left;
  padding: 15px 25px;
}
#sustainability .materialities .step__table td .step__ttl {
  font-weight: bold;
  font-size: 18px;
}
#sustainability .materialities .step__table td .step__txt {
  word-break: break-all;
  white-space: pre-wrap;
  font-size: 16px;
}
#sustainability .materialities .materiality__table {
  table-layout: fixed;
  width: 750px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sustainability .materialities .materiality__table {
    table-layout: fixed;
    width: 100%;
  }
}
#sustainability .materialities .materiality__table .-line2 {
  width: 25%;
}
#sustainability .materialities .materiality__table tr {
  width: 100%;
}
#sustainability .materialities .materiality__table tr th {
  padding: 15px;
  vertical-align: middle;
}
#sustainability .materialities .materiality__table tr th:nth-of-type(1) {
  width: 40px;
  padding: 5px;
  text-align: center;
}
#sustainability .materialities .materiality__table tr td {
  padding: 15px;
  text-align: left;
  vertical-align: middle;
}
#sustainability .materialities .materiality__table tr .materiality__tableTtl {
  font-weight: bold;
  white-space: pre-wrap;
}
#sustainability .materialities .materiality__table tr .materiality__tableTxt {
  white-space: pre-wrap;
}
#sustainability .materialities .materiality__table tr .img {
  text-align: center;
  width: 300px;
}
@media screen and (min-width: 768px) {
  #sustainability .materialities .materiality__table tr .img {
    width: auto;
  }
}
#sustainability .materialities .materiality__table tr .img .-imgWrap {
  display: inline-block;
  width: 70px;
}
#sustainability .materialities .materiality__table tr .img .-imgWrap:not(:first-of-type) {
  margin-left: 15px;
}
@media screen and (min-width: 768px) {
  #sustainability .materialities .materiality__table tr .img .-imgWrap {
    width: 29%;
  }
}
#sustainability .materialities .common-textBlock.mt.top {
  margin-top: 40px;
}
#sustainability .materialities .common-textBlock.mt {
  margin-top: 60px;
}
#sustainability .materialities .common-textBlock.mt a {
  cursor: pointer;
  text-decoration: underline;
  font-size: 16px;
}
#sustainability .environment__logo {
  max-width: 300px;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #sustainability .environment__logo {
    max-width: 450px;
  }
}
#sustainability .common-textBlock__textDetail {
  margin-top: 20px;
}
#sustainability .common-heading--h4 {
  margin-top: 40px;
  font-size: 22px;
}
#sustainability .txtBase__scrBlock.mt {
  margin-top: 0;
}
#sustainability .sustain__pdfLinkWrap.mt {
  margin-top: 40px;
}
#sustainability .materiality__img {
  margin: 60px auto;
  max-width: 800px;
}
#sustainability .contentWrap.-bg {
  padding: 20px;
  margin-top: 40px;
  background: #f9f8fa;
}
@media screen and (min-width: 768px) {
  #sustainability .contentWrap.-bg {
    padding: 20px 40px;
  }
}
#sustainability .-bg .common-heading--h3:first-of-type {
  margin-top: 0;
}
#sustainability .-bg .common-heading--h3:first-of-type.-mt {
  margin-top: 40px;
}
#sustainability .-border {
  margin-top: 20px;
  padding: 20px;
  border: 1px solid #222427;
}
#sustainability .-border .sustain__list:first-of-type {
  margin-top: 0;
}
#sustainability .linkBlk {
  margin-top: 80px !important;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks {
  margin: 80px auto 0;
}
@media screen and (min-width: 768px) {
  #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks {
    justify-content: flex-start;
  }
}
@media screen and (min-width: 768px) {
  #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li {
    width: 29.787%;
    max-width: 280px;
  }
  #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li:not(:nth-child(3n)) {
    margin-right: 5.3%;
  }
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a {
  transition: 0.3s;
  position: relative;
  padding-right: 35px;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a::after {
  display: none;
}
@media screen and (min-width: 768px) {
  #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a {
    max-width: unset;
  }
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn {
  position: absolute;
  right: 10px;
  top: 50%;
  left: auto;
  transform: translateY(-50%) rotate(90deg);
  -webkit-transform: translateY(-50%) rotate(90deg);
  -ms-transform: translateY(-50%) rotate(90deg);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  height: 23px;
  width: 10px;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn .arrow {
  display: inline-block;
  vertical-align: middle;
  height: 0;
  width: 0;
  background-color: #222427;
  position: relative;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn .arrow::before, #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn .arrow::after {
  content: "";
  display: block;
  width: 10px;
  height: 1.5px;
  background-color: #222427;
  position: absolute;
  right: 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  border-radius: 60px;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn .arrow::before {
  top: -4px;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a .arrow--grayBtn .arrow::after {
  bottom: -4px;
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a:after {
  transform: rotate(-90deg);
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a:hover {
  border-color: #D28903;
  color: #D28903;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a:hover .arrow {
  background: #D28903;
}
#sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a:hover .arrow::before, #sustainability .ankerLinks__blk-glay.commonSustainabilityLinks li a:hover .arrow::after {
  background: #D28903;
}
#sustainability .pdfLink {
  font-size: 16px;
  margin-top: 20px;
  display: inline-block;
}
#sustainability .pdfLink + .txtBase__scrBlock, #sustainability .spSwipe + .txtBase__scrBlock {
  margin-top: 0;
}
#sustainability .spSwipe {
  margin-top: 6px;
}
@media screen and (min-width: 768px) {
  #sustainability .spSwipe {
    display: none;
  }
}
#sustainability .txtBase__table {
  margin-top: 6px;
}
#sustainability .txtBase__table tr.bg th, #sustainability .txtBase__table tr.bg td {
  background: #F8F9FA;
}
#sustainability .txtBase__table tr:not(.bg) th, #sustainability .txtBase__table tr:not(.bg) td {
  background: #fff;
}
#sustainability .txtBase__table tr .bg {
  background: #ebebeb !important;
}
#sustainability .txtBase__table tr th {
  font-size: 15px;
}
#sustainability .txtBase__table tr td {
  font-size: 13px;
}
#sustainability .sustain-table .sustain-table__list:first-of-type dt, #sustainability .sustain-table .sustain-table__list:first-of-type dd {
  background: #ebebeb;
  font-size: 15px;
}
#sustainability .sustain-table__list dt {
  background: #ebebeb;
  font-size: 15px;
}
#sustainability .sustain-table__list dd {
  font-size: 13px;
}
#sustainability .sustain-table__list.bg dd {
  background: #F8F9FA;
}
#sustainability .sustain-table__list:not(.bg) dd {
  background: #fff;
}
#sustainability .common-button--grayArrowBtn:hover .arrow--grayBtn .arrow {
  background: #D28903;
}
#sustainability .common-button--grayArrowBtn:hover .arrow--grayBtn .arrow::before, #sustainability .common-button--grayArrowBtn:hover .arrow--grayBtn .arrow::after {
  background: #D28903;
}
#sustainability .ankerLinks__blk-glay li a {
  font-size: 16px;
}

* + #sustainability .commonSustainability__ttl {
  margin-top: 120px;
}

@media screen and (max-width: 768px) {
  .subpage .txtBase__scrBlock .txtBase__table tr th,
.subpage .txtBase__scrBlock .txtBase__table tr .nowrap {
    white-space: nowrap;
  }

  .subpage .txtBase__scrBlock .txtBase__table tr .preWrap {
    white-space: pre-wrap;
  }
}
