main.subpage {
  overflow: hidden;
}

.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: 980px;
}
.subpage .contentWrap.md {
  max-width: 980px;
}
.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: 24px;
  line-height: 1;
  font-weight: bold;
}
.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 {
  font-size: 32px;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
  font-weight: normal;
  color: #FFFFFF;
}
.subpage .imgKv__line {
  display: block;
  margin: 20px auto 0;
  width: 40px;
  height: 4px;
  background-color: #FFFFFF;
}
.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;
  transition: 0.3s;
  border-bottom: 1px solid #ddd;
  border-right: 1px solid #ddd;
  transition: 0.3s;
  position: relative;
}
@media screen and (min-width: 1025px) {
  .subpage .linkBlk__list li {
    width: 33.3333333333%;
  }
}
.subpage .linkBlk__list li:hover {
  color: #D28903 !important;
  border: 1px solid #D28903 !important;
}
.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: 20px;
  letter-spacing: 0;
  line-height: 1;
  color: #000;
}
.subpage .linkBlk__ttl::before {
  content: "";
  display: block;
  width: 5px;
  height: 20px;
  margin-right: 6px;
  background-color: #222427;
}
.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: 33.3333333333%;
  }
}
.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: 20px;
  font-size: 20px;
}
.subpage .txtBase__lead {
  margin-bottom: 40px;
  font-size: 14px;
  line-height: 1.5714;
}
.subpage .txtBase__txt {
  font-size: 14px;
  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;
  font-size: 14px;
  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;
}
.subpage .txtBase__table tr td {
  text-align: left;
}
.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: 60%;
}
.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: 27.5%;
  text-align: right;
}
.subpage .txtBase__table.column3 tr td {
  width: 27.5%;
  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: 27.5%;
  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: 16px;
  font-weight: bold;
}
.subpage .txtBase .colorBox__txt {
  font-size: 16px;
  line-height: 2;
  padding-left: 20px;
}
.subpage .business_design_banner {
  margin-top: 90px;
}
.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;
    justify-content: space-between;
  }
}
.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:not(:first-of-type) {
    margin-top: 0;
  }
}
.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: 6.6666666667vw;
  }
}
#creative .topSection {
  padding: 86px 0 75px;
}
@media screen and (min-width: 1025px) {
  #creative .topSection {
    padding: 120px 0 115px;
  }
}
#creative .topSection__ttl {
  width: 83.7209302326vw;
  max-width: 360px;
  margin: 0 auto;
  font-weight: bold;
  line-height: 1;
  position: relative;
}
@media (max-width: 360px) {
  #creative .topSection__ttl {
    font-size: 6.6666666667vw;
  }
}
@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: 4.4444444444vw;
  }
}
@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;
  }
}

#ir-arch .newsBlock {
  margin-top: 80px;
}
#ir-arch .newsBlock__ttl {
  font-size: 24px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #ir-arch .newsBlock__ttl {
    font-size: 26px;
  }
}
#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: 14px;
  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% - 30px) / 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: 14px;
  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: 14px;
  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: 20px;
  letter-spacing: 0;
  line-height: 1;
  border-bottom: 1px solid #ddd;
}
@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: 14px;
}
#settlement .yearBlk__desc p, #financial .yearBlk__desc p, #news .yearBlk__desc p {
  display: block;
  margin-top: -1px;
  font-size: 14px;
}
#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: 14px;
  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: 740px;
    margin: 0 auto;
    padding: 0 0;
  }
}
#message .message__txtBlk p {
  font-family: YuGothic;
  font-weight: 500;
  font-size: 14px;
  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-size: 20px;
  line-height: 1.625;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #calendar .imgBlk__ttl {
    font-size: 22px;
  }
}
#calendar .imgBlk__txtWrap {
  margin-top: 20px;
  display: flex;
  flex-wrap: wrap;
}
#calendar .imgBlk__txtWrap dt {
  width: 85px;
}
#calendar .imgBlk__txtWrap dt:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .imgBlk__txtWrap dd {
  width: calc(100% - 85px);
}
#calendar .imgBlk__txtWrap dd:not(:first-of-type) {
  margin-top: 8px;
}
#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: 20px;
  line-height: 1.625;
  position: relative;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #calendar .history__ttl {
    font-size: 22px;
  }
}
#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: 85px;
}
#calendar .history__txtWrap dt:not(:first-of-type) {
  margin-top: 8px;
}
#calendar .history__txtWrap dd {
  width: calc(100% - 85px);
}
#calendar .history__txtWrap dd:not(:first-of-type) {
  margin-top: 8px;
}
#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: 17.8%;
}
#highlight .highlight__table tr th:nth-of-type(1) {
  width: 11%;
}
#highlight .highlight__table tr td {
  width: 17.8%;
}

#plan .planWrap__mainTxt {
  max-width: 375px;
  margin: 0 auto;
}
#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 {
  margin-top: 68px;
  font-size: 16px;
  line-height: 1;
  text-align: center;
}
#plan .planWrap__themeBox-lead {
  margin-top: 17px;
  font-size: 20px;
  line-height: 1.9;
  text-align: center;
}
#plan .planWrap__themeBox-img {
  width: 100%;
  margin-top: 38px;
}
#plan .planWrap__themeBox-img img {
  width: 100%;
}
#plan .planWrap__listBox {
  display: flex;
  flex-direction: column;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  #plan .planWrap__listBox {
    flex-direction: row;
    justify-content: space-between;
  }
}
#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__strategyBox {
  margin-top: 80px;
}
#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;
  font-weight: bold;
  line-height: 1.88;
  text-align: center;
  margin-top: 33px;
}
#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 {
    max-width: 740px;
    margin: 28px auto 0;
  }
}

@media screen and (min-width: 1025px) {
  #stock .txtBase {
    max-width: 850px;
    margin: 40px auto;
  }
}
#stock .txtBase__ttl {
  margin-top: 90px;
}
#stock .txtBase__subTtl {
  margin-top: 40px;
}
#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;
  }
}

#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: 3px;
  left: 0;
}
#contact .contact {
  padding-bottom: 60px;
}
#contact .contact__lead {
  font-size: 20px;
  line-height: 1.6;
  font-weight: bold;
  margin-top: 40px;
}
#contact .contact__questionLink {
  font-weight: 500;
  text-decoration: underline;
  font-size: 14px;
  margin-top: 20px;
  display: inline-block;
}
#contact .contact h3 {
  font-size: 20px;
  line-height: 1;
  font-weight: bold;
  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: 15px;
  font-weight: normal;
  margin-left: 6px;
  margin-top: 3px;
}
#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: 14px;
  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: 15px;
  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-style: 14px;
  line-height: 1.6777;
}
#contact .contact .noteBox a {
  text-decoration: none;
  font: inherit;
  padding-left: 10px;
  position: relative;
  border-bottom: 1px solid #000;
}
#contact .contact .noteBox a::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);
}
#contact .contact .inputBlk {
  margin-top: 90px;
}
#contact .contact .inputBlk__wrap:not(:first-of-type) {
  margin-top: 20px;
}
#contact .contact .inputBlk__th {
  font-size: 15px;
  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 {
    max-width: 740px;
    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 {
    max-width: 740px;
    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: 15px;
  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: 15px;
  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: 15px;
  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: 15px;
  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: 14px;
  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 {
    max-width: 740px;
    margin: 0 auto;
  }
}
#contact .contact.complate .complate__txt {
  margin-top: 35px;
  font-size: 16px;
  line-height: 1.625;
}

#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 p {
  font-size: 12px;
  font-weight: bold;
  margin-top: 7px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
#recruit .recruit__group ul li p span {
  padding: 2px 0;
}
#recruit .recruit__group ul li p .-cate {
  background: #E0E0E0;
  padding: 2px 4px;
  border-radius: 2px;
}
@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: 14px;
  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: 20px;
  letter-spacing: 0.1em;
  font-weight: bold;
  padding-top: 25px;
}
@media screen and (min-width: 768px) {
  #overview .company__subttl, #overview .access__subttl {
    padding-top: 60px;
    font-size: 22px;
  }
}
@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__dt, #overview .access__dt {
  font-size: 20px;
  letter-spacing: 0.1em;
  font-weight: bold;
  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 .-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 .commonTtl {
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  #overview .company__txt, #overview .company__subttl, #overview .company .company__accessLinks, #overview .company .commonTtl {
    width: 100%;
    max-width: 540px;
    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%;
    max-width: 540px;
    margin-left: auto;
    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;
}
@media screen and (min-width: 768px) {
  #overview .origin h2 {
    text-align: center;
  }
}
#overview .origin figure {
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #overview .origin figure {
    margin: 40px auto 0;
    max-width: 720px;
  }
}
#overview .origin__txt {
  margin-top: 35px;
  line-height: 1.714;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  #overview .origin__txt {
    max-width: 720px;
    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 {
    max-width: 780px;
    margin: 0 auto;
    padding: 0 20px;
  }
}
#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: 20px;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #philosophy .mission__subttl {
    font-size: 22px;
  }
}
#philosophy .mission__lead {
  font-size: 14px;
  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: 14px;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  #philosophy .logo__lead {
    font-size: 16px;
  }
}
#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: 24px;
  color: #fff;
  position: absolute;
  bottom: 10px;
  left: 20px;
}
@media screen and (min-width: 768px) {
  #culture .section__ttl {
    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;
}

#sns {
  background-color: unset;
  padding-bottom: 100px;
}
#sns .tabListWrap {
  max-width: 360px;
  margin: 0 auto;
  border-bottom: 1px solid #222427;
}
@media screen and (min-width: 768px) {
  #sns .tabListWrap {
    max-width: 940px;
  }
}
#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: 360px;
  }
}
#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__blk {
  margin-top: 40px;
}
#sns .tabContents__blk:nth-of-type(1) {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  #sns .tabContents__blk {
    width: 47.5%;
    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 .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;
}
#sns .tabContents .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;
}
#sns .tabContents__name {
  font-weight: bold;
  font-size: 14px;
  margin-top: 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 .common-container {
  padding-bottom: 100px;
}
#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 .anchor-container {
  margin-top: 60px;
}
@media screen and (min-width: 768px) {
  #faq .anchor-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
#faq .anchor-container a {
  text-decoration: none;
  font-size: medium;
  color: #222427;
  margin-bottom: 5px;
}
#faq .anchor-list {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  #faq .anchor-list {
    flex: 0 0 47.5%;
    width: 47.5%;
  }
}
#faq .anchor-item {
  display: flex;
  flex-direction: column;
}
#faq .anchor-link.top-link {
  font-size: 22px;
  font-weight: bold;
}
#faq .anchor-link {
  padding: 15px 15px 15px 0;
  border-bottom: 1px solid #DDDDDD;
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
#faq .anchor-link::after {
  content: "";
  background: url(../images/faq/arrow_short_b.svg) no-repeat center center/contain;
  width: 14px;
  flex: 0 0 14px;
  height: 8px;
  margin-left: 10px;
}
#faq .anchor-item--no-arrow {
  padding-left: 1.25rem;
}
#faq .common-link {
  font-size: 14px;
  padding-left: 0;
}
#faq .common-link::before {
  content: "";
  display: none;
}
#faq .common-link:hover {
  border-bottom: unset;
}
#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: 40px;
}
#services-arch .imgKv {
  background: #F8F9FA;
}
#services-arch .imgKv__ttl {
  color: #222427;
  font-weight: bold;
}
#services-arch .imgKv__line {
  background: #222427;
}
#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: 940px;
  }
}
#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: 360px;
  }
}
#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: 80px;
}
@media screen and (min-width: 768px) {
  #services-arch .top__lead {
    font-size: 16px;
  }
}
#services-arch .top__links {
  text-decoration: underline;
  display: block;
  margin-top: 15px;
  font-size: 15px;
}
#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: 24px;
  font-weight: bold;
  margin-top: 80px;
  line-height: 1.411;
}
#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: 14px;
  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 {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-top: 8px;
}
#services-arch .tabContents__ctgr {
  font-size: 14px;
  font-weight: bold;
  padding: 0 0;
  line-height: 1.6;
}
#services-arch .tabContents__tagWrap {
  width: 42%;
  display: flex;
  justify-content: right;
  flex-wrap: wrap;
}
#services-arch .tabContents__tagWrap span {
  display: inline-block;
  padding: 0 4px;
  background: #e0e0e0;
  border-radius: 5px;
  line-height: 1.6;
  margin-left: 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;
}

#service {
  padding-bottom: 0;
}
#service .serviceMv__img {
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  #service .serviceMv__img {
    height: 100vh;
  }
  #service .serviceMv__img img {
    object-fit: cover;
    height: 100vh;
  }
}
@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;
}
#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: 14px;
  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;
  line-height: 1;
}
#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: 6.4vw;
  line-height: 1;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #service .network__txt {
    font-size: 24px;
  }
}
#service .network__txt-large {
  font-size: 27.7333333333vw;
  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__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;
}
@media screen and (min-width: 768px) {
  #service .serviceList__hashTag {
    margin-top: 20px;
  }
}
#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: 20px;
}
@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__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 .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 .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: 24px;
  font-weight: bold;
}
#service .common-button--whiteArrowBtn > a {
  font-size: 16px;
}
@media screen and (min-width: 1025px) {
  #service .common-mainBottom__btnWrap {
    max-width: 640px;
  }
}

#case_studies_detail {
  padding-bottom: 100px;
}
#case_studies_detail .detailTop {
  padding-top: 80px;
}
#case_studies_detail .detailTop__ttl {
  font-size: 24px;
  line-height: 1.4166;
}
#case_studies_detail .detailTop__tags {
  margin-top: 10px;
}
#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: 20px;
}
#case_studies_detail .detailTop__lead {
  margin-top: 35px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .detailTop__dl {
  margin-top: 10px;
  display: inline-block;
  text-decoration: underline;
  font-size: 15px;
  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: 18px 17px 18px 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 .story {
  padding-bottom: 55px;
}
#case_studies_detail .story__ttl {
  margin-top: 60px;
}
#case_studies_detail .story__txt {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .interview {
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding: 50px 0;
  background: #F5F6F7;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .interview {
    padding: 50px 0;
  }
}
#case_studies_detail .interview__subTtl {
  margin-top: 55px;
}
#case_studies_detail .interview .common-heading--h3__underLine + h4 {
  margin-top: 40px;
}
#case_studies_detail .interview__txt {
  margin-top: 15px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .interview__manager {
  margin-top: 10px;
  font-size: 14px;
  line-height: 1.714;
}
#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__wrapper {
    display: flex;
    flex-wrap: wrap;
  }
}
#case_studies_detail .award__blk {
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  #case_studies_detail .award__blk {
    margin-right: 40px;
  }
}
#case_studies_detail .award__img {
  width: 50px;
  flex: 0 0 50px;
  margin-right: 12px;
}
#case_studies_detail .award__blk {
  margin-top: 20px;
}
#case_studies_detail .award__name {
  font-size: 16px;
  line-height: 1.625;
  font-weight: bold;
}
#case_studies_detail .award__txt {
  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__blk {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#case_studies_detail .project__position, #case_studies_detail .project__member {
  margin-top: 20px;
  font-size: 14px;
  line-height: 1.714;
}
#case_studies_detail .project__position {
  font-weight: bold;
  width: 70%;
}
#case_studies_detail .project__member {
  font-size: 14px;
  line-height: 1.714;
  width: 30%;
  text-align: right;
}
#case_studies_detail .project__member span {
  font-size: 14px;
  line-height: 1.714;
  display: block;
}
#case_studies_detail .project .project__linkBtn {
  width: 100px;
  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 .project__linkBtn: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;
}
#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 .imgKv {
  background: #F8F9FA;
}
#case_studies .imgKv__ttl {
  color: #222427;
  font-weight: bold;
}
#case_studies .imgKv__line {
  background: #222427;
  font-weight: bold;
}
#case_studies .contentwrapper {
  margin-top: 80px;
}
@media screen and (min-width: 768px) {
  #case_studies .contentwrapper {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
}
#case_studies .caseStudies {
  padding-bottom: 100px;
}
@media screen and (min-width: 768px) {
  #case_studies .caseStudies {
    width: calc(100% - 290px);
  }
}
#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: 24px;
  line-height: 1;
}
#case_studies .caseStudies__number {
  font-size: 12px;
}
#case_studies .caseStudies__tumbTtl {
  margin-top: 20px;
}
#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: 40px;
  }
}
#case_studies .caseStudies__categoryLabel {
  margin-top: 20px;
}
#case_studies .caseStudies__categoryLabel li {
  display: inline-block;
  font-size: 12px;
  line-height: 1;
  background-color: #E0E0E0;
  padding: 2px 4px;
  margin-right: 6px;
  border-radius: 5px;
}
#case_studies .caseStudies__entryDate {
  font-size: 14px;
  line-height: 1.7114;
  text-align: left;
  color: #707070;
  display: inline-block;
  margin-top: 17px;
}
#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;
}
#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__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;
}
