@charset "utf-8";
/*--
中 font-size:96%;
小 font-size:88%;
--*/

/*---------------------------------------*/
/* 共通 */
/*---------------------------------------*/
#mainBody {
  background-color: #fff;
}

/* フェードイン */
.fadeIn {
  opacity: 0;
}

.animation.fadeIn {
  opacity: 1;
  transition: 1s cubic-bezier(.1, .65, .95, .98);
}

.areaInner {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
  position: relative;
  z-index: 10;
}




/* ズーム */
.zoomImage {
  overflow: hidden;
}

.zoomTrigger {
  transform: scale(1.16);
}

.openingZoomAnime {
  animation-name: zoomTriggerAnime;
  animation-duration: 2.2s;
  animation-delay: .5s;
  animation-timing-function: cubic-bezier(.14, 1, 1, 1);
  animation-fill-mode: forwards;
  transform: scale(1.16);
}

.zoomAnimation.zoomTrigger {
  animation-name: zoomTriggerAnime;
  animation-duration: 2.2s;
  animation-delay: 0;
  animation-timing-function: cubic-bezier(.14, 1, 1, 1);
  animation-fill-mode: forwards;
}

@keyframes zoomTriggerAnime {
  0% {
    transform: scale(1.16);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* フェードleftslide */
.fadeLeftSlide {
  clip-path: inset(0 100% 0 0);
  transition: 2s cubic-bezier(0, 1, 0, 1);
}

.animation02.fadeLeftSlide {
  clip-path: inset(0 0 0 0);
}

.openingLeftSlide {
  animation-name: leftSlideAnime;
  animation-duration: 2s;
  animation-delay: .5s;
  animation-timing-function: cubic-bezier(0, 1, 0, 1);
  animation-fill-mode: forwards;
  clip-path: inset(0 100% 0 0);
}

@keyframes leftSlideAnime {
  0% {
    clip-path: inset(0 100% 0 0);
  }

  100% {
    clip-path: inset(0 0 0 0);
  }
}

/* フェードrightslide */
.fadeRightSlide {
  clip-path: inset(0 0 0 100%);
  transition: 2s cubic-bezier(0, 1, 0, 1);
}

.animation02.fadeRightSlide {
  clip-path: inset(0 0 0 0);
}

/* フェードleft */
.fadeLeft {
  opacity: 0;
  transform: translate(-24px, 0);
  transition: .7s cubic-bezier(.14, 1, 1, 1);
}

.animation02.fadeLeft {
  opacity: 1;
  transform: translate(0, 0);
}

/* フェードbottom */
.fadeBottom {
  opacity: 0;
  transform: translate(0, 24px);
  transition: .7s cubic-bezier(.14, 1, 1, 1);
}

.animation02.fadeBottom {
  opacity: 1;
  transform: translate(0, 0);
}

/* フェードtopleft */
.fadeTopLeft {
  opacity: 0;
  transform: translate(-24px, -24px);
  transition: .7s cubic-bezier(.14, 1, 1, 1);
}

.animation02.fadeTopLeft {
  opacity: 1;
  transform: translate(0, 0);
}

/* フェードdownright */
.fadeBottomRight {
  opacity: 0;
  transform: translate(24px, 24px);
  transition: .7s cubic-bezier(.14, 1, 1, 1);
}

.animation02.fadeBottomRight {
  opacity: 1;
  transform: translate(0, 0);
}


@media screen and (min-aspect-ratio: 16/10) and (max-width:1440px) {
  .areaInner {
    max-width: 1100px;
  }
}

.areaInner.w1200 {
  max-width: 1200px;
}

.areaInner.w1100 {
  max-width: 1100px;
}

.areaInner.w980 {
  max-width: 980px;
}

.areaInner.w800 {
  max-width: 800px;
}

.areaBase {
  margin: 0 auto 100px;
  overflow: hidden;
}

@media screen and (max-width:767px) {
  .areaBase {
    margin: 0 auto 40px;
  }
}

.areaTtl {
  text-align: center;
  font-size: 171%;
  margin-bottom: 65px;
}

@media screen and (max-width:767px) {
  .areaTtl {
    font-size: 16pt;
    margin-bottom: 30px;
  }
}

.contentTtl {
  font-size: 171%;
  margin-bottom: 50px;
  font-weight: bold;
}

@media screen and (max-width:980px) {
  .contentTtl {
    font-size: 14pt;
    margin-bottom: 15px;
  }
}

.btn a {
  display: block;
  max-width: 350px;
  width: 100%;
  margin: 0 auto;
  height: 75px;
  line-height: 73px;
  box-sizing: border-box;
  border: 1px solid #333;
  text-align: center;
  position: relative;
}

@media screen and (max-width:767px) {
  .btn a {
    height: 50px;
    line-height: 48px;
    width: 84%;
  }
}

.btn a:hover {
  background: #333;
}

.btn a .icon-arrow {
  content: "";
  position: absolute;
  top: 31px;
  right: 20px;
  font-size: 10px;
}

@media screen and (max-width:767px) {
  .btn a .icon-arrow {
    top: 19px;
  }
}

.small {
  font-size: 85%;
}

.big {
  font-size: 107%;
}

.fontBold {
  font-weight: bold;
}

.colorred {
  color: #ff0000;
}

/*---------------------------------------*/
/* postPage共通 */
/*---------------------------------------*/
.postPage {
  position: relative;
  margin: 200px 0 120px;
}

@media screen and (max-width:767px) {
  .postPage {
    margin: 150px 0 80px;
  }
}

.postPage .pageTtlOuter {
  font-size: 714%;
  width: 1em;
  height: 1em;
  white-space: nowrap;
  transform: rotate(-90deg);
  position: absolute;
  top: 0;
  left: 5px;
}

@media screen and (max-width:980px) {
  .postPage .pageTtlOuter {
    font-size: 550%;
  }
}

@media screen and (max-width:767px) {
  .postPage .pageTtlOuter {
    font-size: 20pt;
  }
}

.postPage .pageTtlOuter .pageTtl {
  line-height: 1;
  position: absolute;
  right: 0;
  color: #fff;
}

.postPage .topContent .catch {
  font-size: 160%;
  letter-spacing: .12em;
  line-height: 1.9;
  margin-bottom: 40px;
}

@media screen and (max-width:767px) {
  .postPage .topContent .catch {
    font-size: 13pt;
    margin-bottom: 30px;
  }
}

.postPage .topContent .lead {
  margin-bottom: 1.8em;
}

@media screen and (max-width:767px) {}

.postPage .topContent .lead:last-child {
  margin-bottom: 0;
}

/*---------------------------------------*/
/* breadcrumbs */
/*---------------------------------------*/
.breadcrumbs {
  width: 100%;
  height: 30px;
  font-size: 86%;
  color: #898989;
}

@media screen and (max-width:767px) {
  .breadcrumbs {
    font-size: 7pt;
    height: auto;
    padding-bottom: 2px;
  }
}

.breadcrumbs ol {
  width: 90%;
  padding-top: 4px;
}

.breadcrumbs li {
  display: inline;
  list-style: none;
  vertical-align: middle;
}

.breadcrumbs li:after {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-top: 1px solid #898989;
  border-right: 1px solid #898989;
  transform: rotate(45deg);
  margin: 0 8px 0 6px;
  position: relative;
  top: -1px;
}

.breadcrumbs li:last-child:after {
  display: none;
}

/*---------------------------------------*/
/* company */
/*---------------------------------------*/
#company.postPage {
  margin-top: 0;
  margin-bottom: 0;
}

#company.postPage .topContent .catch {
  font-size: 257%;
}

@media screen and (max-width:767px) {
  #company.postPage .topContent .catch {
    font-size: 14pt;
  }
}

#company.postPage .topContent .lead {
  font-size: 114%;
}

@media screen and (max-width:767px) {
  #company.postPage .topContent .lead {
    font-size: 10pt;
  }
}

#company .imgArea {
  position: relative;
}

#company .imgArea .bg {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 22%;
}

#company .imgArea .blockLeft,
#company .imgArea .blockRight {
  width: 49%;
}

#company .imgArea .img {
  margin-bottom: 15px;
  overflow: hidden;
  position: relative;
}

#company .imgArea .w100 {
  padding-top: 66.666%;
}

#company .imgArea .w50 {
  padding-top: 63.83%;
}

#company .imgArea .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: auto;
}

#company .companyInfo {
  margin-top: 160px;
  padding: 104px 0 160px;
}

@media screen and (max-width:767px) {
  #company .companyInfo {
    padding: 10px 0 90px;
  }
}

#company .companyInfo table {
  width: 100%;
}

#company .companyInfo table th {
  width: 22%;
  padding: 12px 0;
  line-height: 1.9;
}

@media screen and (max-width:767px) {
  #company .companyInfo table th {
    display: block;
    width: 100%;
    padding: 0;
  }
}

#company .companyInfo table td {
  padding: 12px 0;
  line-height: 1.9;
}

@media screen and (max-width:767px) {
  #company .companyInfo table td {
    display: block;
    width: 100%;
    padding: 4px 0 24px;
  }
}

/*---------------------------------------*/
/* staff */
/*---------------------------------------*/
#staff .staff-styleA .staffContent {
  position: relative;
  min-height: 375px;
  padding-bottom: 50px;
  margin-bottom: 50px;
}

@media screen and (max-width:980px) {
  #staff .staff-styleA .staffContent {
    min-height: auto;
  }
}

@media screen and (max-width:767px) {
  #staff .staff-styleA .staffContent {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}

#staff .staff-styleA .staffContent .img {
  position: absolute;
  top: 0;
  width: 300px;
  height: 375px;
  overflow: hidden;
}

@media screen and (max-width:980px) {
  #staff .staff-styleA .staffContent .img {
    width: 200px;
    height: 250px;
  }
}

@media screen and (max-width:767px) {
  #staff .staff-styleA .staffContent .img {
    width: 100px;
    height: 125px;
  }
}

#staff .staff-styleA .staffContent:first-child .img,
#staff .staff-styleA .staffContent:nth-child(2n+1) .img {
  left: 0;
}

#staff .staff-styleA .staffContent:nth-child(2n) .img {
  right: 0;
}

@media screen and (max-width:767px) {
  #staff .staff-styleA .staffContent:nth-child(2n) .img {
    left: 0;
  }
}

#staff .staff-styleA .staffContent .img img {
  width: 100%;
  height: auto;
}

#staff .staff-styleA .staffContent:first-child .ttlBox,
#staff .staff-styleA .staffContent:nth-child(2n+1) .ttlBox {
  margin-left: 360px;
  position: relative;
}

#staff .staff-styleA .staffContent:first-child .noteBox,
#staff .staff-styleA .staffContent:nth-child(2n+1) .noteBox {
  margin-left: 360px;
}

#staff .staff-styleA .staffContent:nth-child(2n) .ttlBox {
  margin-right: 360px;
  position: relative;
}

#staff .staff-styleA .staffContent:nth-child(2n) .noteBox {
  margin-right: 360px;
}

@media screen and (max-width:1200px) {

  #staff .staff-styleA .staffContent:first-child .ttlBox,
  #staff .staff-styleA .staffContent:nth-child(2n+1) .ttlBox {
    margin-left: 340px;
  }

  #staff .staff-styleA .staffContent:first-child .noteBox,
  #staff .staff-styleA .staffContent:nth-child(2n+1) .noteBox {
    margin-left: 340px;
  }

  #staff .staff-styleA .staffContent:nth-child(2n) .ttlBox {
    margin-right: 340px;
  }

  #staff .staff-styleA .staffContent:nth-child(2n) .noteBox {
    margin-right: 340px;
  }
}

@media screen and (max-width:980px) {

  #staff .staff-styleA .staffContent:first-child .ttlBox,
  #staff .staff-styleA .staffContent:nth-child(2n+1) .ttlBox {
    margin-left: 230px;
    min-height: 270px;
  }

  #staff .staff-styleA .staffContent:first-child .noteBox,
  #staff .staff-styleA .staffContent:nth-child(2n+1) .noteBox {
    margin-left: 0;
  }

  #staff .staff-styleA .staffContent:nth-child(2n) .ttlBox {
    margin-right: 230px;
    min-height: 270px;
  }

  #staff .staff-styleA .staffContent:nth-child(2n) .noteBox {
    margin-right: 0;
  }

  #staff .staff-styleA .staffContent .ttlBox .ttlBoxIn {
    position: absolute;
    bottom: 0;
    left: 0;
  }
}

@media screen and (max-width:767px) {

  #staff .staff-styleA .staffContent:first-child .ttlBox,
  #staff .staff-styleA .staffContent:nth-child(2n+1) .ttlBox,
  #staff .staff-styleA .staffContent:nth-child(2n) .ttlBox {
    margin-left: 110px;
    margin-right: 0;
    min-height: 140px;
  }
}

#staff .staff-styleA .staffContent .noteBox .note {
  margin-bottom: 1em;
}

#staff .staff-styleA .staffContent .noteBox .note:last-child {
  margin-bottom: 0;
}

/* staffB */
.staffB_title {
  margin-bottom: 0;
}

.staffB_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.staffB_content {
  width: 44%;
  margin-top: 80px;
}

.staffB_index {
  display: flex;
  align-items: center;
}

.staffB_image {
  width: 33%;
  margin-left: 2%;
  margin-right: 5%;
}

.staffB_box {
  width: 57%;
}

.staffB_name_jp {
  margin-right: 16px;
  font-weight: bold;
  color: #3c567c;
  font-size: 120%;
}

.staffB_name_en {
  color: #3c567c;
  font-size: 90%;
}

.staffB_text {
  margin-top: 32px;
  text-align: justify;
}

@media screen and (max-width:767px) {
  .staffB_content {
    width: 100%;
    margin-top: 64px;
  }

  .staffB_image {
    max-width: 120px;
    margin-left: 1%;
  }

  .staffB_index {
    align-items: flex-end;
  }
}


#staff .staffContent .name {
  margin-bottom: 30px;
}

@media screen and (max-width:980px) {
  #staff .staffContent .name {
    margin-bottom: 15px;
  }
}

#staff .staffContent .name .jp {
  margin-right: 1em;
  font-weight: bold;
  font-size: 124%;
}

@media screen and (max-width:767px) {
  #staff .staffContent .name .jp {
    font-size: 12pt;
  }
}

#staff .staffContent .name .en {
  font-size: 86%;
}

@media screen and (max-width:767px) {
  #staff .staffContent .name .en {
    font-size: 9pt;
  }
}

#staff .staffContent table {
  width: 100%;
}

#staff .staffContentt table th {
  padding: 5px 0;
  width: 25%;
}

#staff .staffContent table td {
  padding: 5px 0 5px 1em;
}

/*---------------------------------------*/
/* service */
/*---------------------------------------*/
#service.postPage {
  margin-bottom: 0;
}

#service .serviceContentOuter {
  padding: 100px 0;
}

@media screen and (max-width:767px) {
  #service .serviceContentOuter {
    padding: 50px 0;
  }
}

#service .serviceContent {
  margin-bottom: 70px;
}

@media screen and (max-width:767px) {
  #service .serviceContent {
    margin-bottom: 40px;
  }
}

#service .serviceContent:last-child {
  margin-bottom: 0;
}

#service .serviceContent .ttl {
  font-size: 150%;
  letter-spacing: 0.1em;
  margin-bottom: 15px;
}

@media screen and (max-width:767px) {
  #service .serviceContent .ttl {
    font-size: 13pt;
    margin-bottom: 5pt;
  }
}

#service .serviceContent .subTtl {
  font-size: 107%;
  font-weight: bold;
  margin-bottom: 5px;
}

#service .serviceContent .note {
  font-size: 107%;
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  #service .serviceContent .note {
    font-size: 10pt;
    margin-bottom: 10pt;
  }
}

#service .serviceContent .img {
  margin-bottom: 40px;
}

@media screen and (max-width:767px) {
  #service .serviceContent .img {
    margin-bottom: 10pt;
  }
}

#service .serviceContent .img img {
  width: 100%;
  height: auto;
}

#service .serviceContent .service01-img01 {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
}

#service .imgArea {
  padding-bottom: 300px;
}

@media screen and (max-width:767px) {
  #service .imgArea {
    padding-bottom: 90px;
  }
}

#service .imgArea .blockLeft,
#service .imgArea .blockRight {
  width: 49%;
  margin-bottom: 15px;
}

#service .imgArea .img {
  position: relative;
  padding-top: 63.83%;
  overflow: hidden;
}

#service .imgArea .img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*---------------------------------------*/
/* default */
/*---------------------------------------*/
.defaultContent {
  margin-bottom: 70px;
}

@media screen and (max-width:767px) {
  .defaultContent {
    margin-bottom: 40px;
  }
}

#post02 .worksInner .defaultContent {
  margin-bottom: 40px;
}

@media screen and (max-width:767px) {
  #post02 .worksInner .defaultContent {
    margin-bottom: 20px;
  }
}

.defaultContent.minmb {
  margin-bottom: 40px;
}

@media screen and (max-width:767px) {
  .defaultContent.minmb {
    margin-bottom: 30px;
  }
}

.defaultContent p {
  margin-bottom: 1em;
}

.defaultContent p:last-child {
  margin-bottom: 0;
}

.defaultContent .blockLeft,
.defaultContent .blockRight {
  width: 48%;
}

@media screen and (max-width:767px) {

  .defaultContent .blockLeft,
  .defaultContent .blockRight {
    width: 100%;
  }

  .defaultContent .blockLeft {
    margin-bottom: 10px;
  }
}

.defaultContent img {
  max-width: 100%;
  height: auto;
}

.defaultContent.img img {
  width: 100%;
  height: auto;
}

.defaultContent.txtBox .subTtl {
  font-family: din-2014, "TsukuGoPro-B";
  font-weight: 600;
  font-size: 17px;
  margin-bottom: 15px;
  line-height: 1.5;
}

@media screen and (max-width:767px) {
  .defaultContent.txtBox .subTtl {
    font-size: 11pt;
    margin-bottom: 10px;
  }
}

.defaultContent.txtBox .note {
  font-size: 93%;
}

@media screen and (max-width:767px) {
  .defaultContent.txtBox .note {
    font-size: 9pt;
  }
}

.defaultContent table {
  width: 100%;
}

.defaultContent table th {
  padding: 10px 0;
  width: 25%;
  font-weight: bold;
}

.defaultContent table td {
  padding: 10px 0 10px 1em;
}

.defaultContent .ttl {
  font-size: 107%;
  font-weight: bold;
}

.defaultContent .list {
  margin-left: 1em;
  line-height: 1.5;
  margin-bottom: 5px;
}

.defaultContent .list .dot {
  margin-left: -1em;
  display: inline-block;
  width: 1em;
}

.defaultContent iframe {
  width: 100%;
  height: 600px;
  border: 0;
}

@media screen and (max-width:767px) {
  .defaultContent iframe {
    height: 250px;
  }
}

.defaultContent .annotation {
  font-size: 14px;
  color: #333;
  font-weight: normal;
}

@media screen and (max-width:767px) {
  .defaultContent .annotation {
    font-size: 9pt;
  }
}

.defaultContent span.annotation {
  margin-left: 1em;
}

.defaultContent.interview {
  background: #f1f1f1;
  padding: 50px;
}

@media screen and (max-width:767px) {
  .defaultContent.interview {
    padding: 20px 15px;
  }
}

.defaultContent.interview .top {
  position: relative;
  min-height: 210px;
  margin-bottom: 30px;
}

@media screen and (max-width:767px) {
  .defaultContent.interview .top {
    min-height: 125px;
    margin-bottom: 15px;
  }
}

.defaultContent.interview .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 150px;
}

@media screen and (max-width:767px) {
  .defaultContent.interview .img {
    width: 90px;
  }
}

.defaultContent.interview .img img {
  width: 100%;
  height: auto;
}

.defaultContent.interview .top .subTtl {
  margin-left: 180px;
  padding-top: 50px;
}

@media screen and (max-width:767px) {
  .defaultContent.interview .top .subTtl {
    margin-left: 100px;
    padding-top: 20px;
  }
}

.defaultContent.interview .btn {
  margin-top: 20px;
}

/*---------------------------------------*/
/* post01 カテゴリー */
/*---------------------------------------*/
#post01 .post01cateList {
  max-width: 800px;
  margin: 0 auto;
  width: 90%;
}

#post01 .post01cateList li {
  margin-bottom: 50px;
  position: relative;
  min-height: 140px;
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li {
    margin-bottom: 64px;
  }
}

#post01 .post01cateList li .img {
  position: absolute;
  top: 0;
  left: 0;
  width: 210px;
  height: 140px;
  overflow: hidden;
}

@media screen and (max-width:980px) {
  #post01 .post01cateList li .img {
    width: 160px;
    height: 106px;
  }
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .img {
    width: 110px;
    height: 73px;
  }
}

#post01 .post01cateList li .img img {
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  filter: grayscale(100%);
  -webkit-filter: grayscale(100%);
  filter: gray;
  transition: all 0.8s ease;
}

#post01 .post01cateList li .img a:hover img {
  filter: grayscale(0);
  -webkit-filter: grayscale(0%);
  filter: none;
}

#post01 .post01cateList li .txt {
  margin-left: 245px;
}

@media screen and (max-width:980px) {
  #post01 .post01cateList li .txt {
    margin-left: 180px;
  }
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .txt {
    margin-left: 120px;
    height: 73px;
    margin-bottom: 5px;
  }
}

#post01 .post01cateList li .txt .ttl {
  font-size: 16px;
  margin-bottom: 0;
  line-height: 1.6;
  height: 1.6em;
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .txt .ttl {
    font-size: 10pt;
    height: 2.8em;
  }
}

#post01 .post01cateList li .txt .info {
  font-size: 12px;
  margin-bottom: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

#post01 .post01cateList li .txt .info a {
  color: #898989;
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .txt .info {
    font-size: 8pt;
  }
}

#post01 .post01cateList li .txt .info .date {
  color: #898989;
  margin-right: 2em;
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .txt .info .date {
    margin-right: 1em;
  }
}

#post01 .post01cateList li .note {
  font-size: 14px;
  line-height: 2;
  text-align: justify;
  height: 5.4em;
  margin-left: 245px;
  word-break: break-all;
}

@media screen and (max-width:980px) {
  #post01 .post01cateList li .note {
    margin-left: 180px;
  }
}

@media screen and (max-width:767px) {
  #post01 .post01cateList li .note {
    margin-left: 0;
    font-size: 9pt;
  }
}

/*---------------------------------------*/
/* info 詳細 */
/*---------------------------------------*/
#post01 .post01Content {
  max-width: 1200px;
}

#post01 .post01Content .ttl {
  font-size: 150%;
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .ttl {
    font-size: 11pt;
    margin-bottom: 10px;
  }
}

#post01 .post01Content .info {
  font-size: 93%;
  margin-bottom: 50px;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .info {
    font-size: 8pt;
    margin-bottom: 30px;
  }
}

#post01 .post01Content .info .date {
  color: #898989;
  margin-right: 2em;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .info .date {
    margin-right: 1em;
  }
}

#post01 .post01Content .defaultContent.txtBox .note {
  font-size: 100%;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .defaultContent.txtBox .note {
    font-size: 9pt;
  }
}

#post01 .post01Content .mainContent {
  font-size: 107%;
  word-break: break-all;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .mainContent {
    font-size: 9pt;
  }
}

#post01 .post01Content .mainContent p {
  margin-bottom: 1.8em;
}

@media screen and (max-width:767px) {
  #post01 .post01Content .mainContent p {
    margin-bottom: 1.5em;
  }
}

#post01 .post01Content .mainContent img {
  max-width: 100%;
  height: auto;
}

#post01 .post01Content .mainContent pre {
  white-space: pre-line;
}

#post01 .goback {
  margin: 200px auto 150px;
}

@media screen and (max-width:767px) {
  #post01 .goback {
    margin: 50px auto 90px;
  }
}

.rebirth-cta-box {
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  margin: 40px 0;
  padding: 2em 0;
}

/*---------------------------------------*/
/* post02List */
/*---------------------------------------*/
.post02List {
  margin-bottom: 72px;
}

@media screen and (max-width:767px) {
  .post02List {
    margin-bottom: 20px;
  }
}

.post02List li {
  width: 29%;
  margin-right: 6.5%;
  float: left;
}

@media screen and (max-width:767px) {
  .post02List li {
    width: 100%;
    margin-right: 0;
  }
}

.post02List li:nth-child(3n) {
  margin-right: 0;
}

.post02List li .img {
  position: relative;
  padding-top: 62.5%;
  overflow: hidden;
  margin-bottom: 15px;
}

@media screen and (max-width:767px) {
  .post02List li .img {
    margin-bottom: 12px;
  }
}

.post02List li .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}

.post02List li .img a:hover img {
  transform: translate(-50%, -50%) scale(1.05, 1.05);
}

.post02List li .img a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: all 0.3s ease;
}

.post02List li .img a:hover:after {
  opacity: 1;
}

.post02List li .ttl {
  line-height: 1.65;
}


.post02List li .cate {
  font-size: 80%;
  margin-bottom: 50px;
}

@media screen and (max-width:767px) {
  .post02List li .cate {
    font-size: 8pt;
    margin-bottom: 30px;
  }
}

.post02List li:nth-last-child(1) .cate,
.post02List li:nth-last-child(2) .cate,
.post02List li:nth-last-child(3) .cate {
  margin-bottom: 0;
}

@media screen and (max-width:767px) {

  .post02List li:nth-last-child(2) .cate,
  .post02List li:nth-last-child(3) .cate {
    margin-bottom: 30px;
  }
}

/* 検索ボックス */
#post02 .selectOuter {
  position: relative;
  border-bottom: 1px solid #333;
  border-radius: 0;
  background: #ffffff;
  margin: 0 0 50px auto;
  max-width: 150px;
}

#post02 .selectOuter.none {
  opacity: 0.3;
}

#post02 .selectOuter::before {
  position: absolute;
  top: 47%;
  right: 10px;
  width: 5px;
  height: 5px;
  content: '';
  border-right: 1px solid #333;
  border-bottom: 1px solid #333;
  transform: rotate(45deg) translate(0, -50%);
}

#post02 .selectOuter select {
  width: 100%;
  padding: 8px 38px 8px 1em;
  box-sizing: border-box;
  color: #333;
  cursor: pointer;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
  -webkit-appearance: none;
  appearance: none;
}

#post02 .selectOuter select::-ms-expand {
  display: none;
}

/*---------------------------------------*/
/* post02詳細 */
/*---------------------------------------*/
#post02 .post02Content .ttl {
  font-size: 160%;
  margin-bottom: 80px;
  letter-spacing: 0.1em;
  line-height: 1.8;
}

@media screen and (max-width:767px) {
  #post02 .post02Content .ttl {
    font-size: 17px;
    margin-bottom: 40px;
  }
}

#post02 .post02Content .defaultContent.txtBox .note {
  font-size: 100%;
}

#post02 .post02Content .mainContent {
  word-break: break-all;
}

#post02 .post02Content.worksInner .note {
  max-width: 720px;
}

#post02 .post02Content .mainContent img {
  max-width: 100%;
  height: auto;
}

#post02 .post02Content .mainContent pre {
  white-space: pre-line;
}

#post02 .goback {
  margin: 120px auto 150px;
}

@media screen and (max-width:767px) {
  #post02 .goback {
    margin: 50px auto 90px;
  }
}

/*---------------------------------------*/
/* post03List TOPページ */
/*---------------------------------------*/
.post03List {
  margin-bottom: 72px;
}

@media screen and (max-width:767px) {
  .post03List {
    margin-bottom: 20px;
  }
}

.post03List li {
  width: 29%;
  margin-right: 6.5%;
  float: left;
}

@media screen and (max-width:767px) {
  .post03List li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30px;
  }
}

.post03List li:nth-child(3n) {
  margin-right: 0;
}

.post03List li .img {
  position: relative;
  padding-top: 62.5%;
  overflow: hidden;
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  .post03List li .img {
    margin-bottom: 10px;
  }
}

.post03List li .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}

.post03List li .img a:hover img {
  transform: translate(-50%, -50%) scale(1.05, 1.05);
}

.post03List li .img a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: all 0.3s ease;
}

.post03List li .img a:hover:after {
  opacity: 1;
}

.post03List li .ttl {
  line-height: 1.65;
}

.post03List li .info {
  font-size: 86%;
}

@media screen and (max-width:767px) {
  .post03List li .info {
    font-size: 8pt;
  }
}

/*---------------------------------------*/
/* post03List カテゴリーページ */
/*---------------------------------------*/
#post03 .post03CateContent {
  margin-bottom: 100px;
  letter-spacing: 0.06em;
  text-align: justify;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent {
    margin-bottom: 50px;
  }
}

#post03 .post03CateContent:last-child {
  margin-bottom: 0;
}

#post03 .post03CateContent li {
  float: left;
  width: 47.5%;
  margin-right: 5%;
}

@media screen and (max-width:980px) {
  #post03 .post03CateContent li {
    float: left;
    width: 45%;
    margin-right: 3%;
  }
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li {
    width: 100%;
    margin-right: 0;
  }
}

#post03 .post03CateContent li:nth-child(2) {
  margin-right: 0;
}

@media screen and (max-width:980px) {
  #post03 .post03CateContent li:nth-child(2) {
    width: 52%;
  }
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li:nth-child(2) {
    width: 100%;
  }
}

#post03 .post03CateContent li .img {
  position: relative;
  padding-top: 60%;
  overflow: hidden;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li .img {
    margin-bottom: 15px;
  }
}

#post03 .post03CateContent .img img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease;
}

#post03 .post03CateContent .img a:hover img {
  transform: translate(-50%, -50%) scale(1.05, 1.05);
}

#post03 .post03CateContent .img a:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: block;
  background: rgba(0, 0, 0, 0.5);
  opacity: 0;
  transition: all 0.3s ease;
}

#post03 .post03CateContent .img a:hover:after {
  opacity: 1;
}

#post03 .post03CateContent li .ttl {
  font-size: 16px;
  line-height: 1.65;
  margin-bottom: 10px;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li .ttl {
    font-size: 15px;
    margin-bottom: 5px;
  }
}

#post03 .post03CateContent li .infoOuter {
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li .infoOuter {
    margin-bottom: 10px;
  }
}

#post03 .post03CateContent li .info {
  font-size: 12px;
  line-height: 1.6;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li .info {
    font-size: 10px;
  }
}

#post03 .post03CateContent li .note {
  font-size: 14px;
  margin-bottom: 20px;
  line-height: 2;
}

@media screen and (max-width:767px) {
  #post03 .post03CateContent li .note {
    font-size: 12px;
  }
}

/*---------------------------------------*/
/* post03詳細 */
/*---------------------------------------*/
#post03.postPage {
  letter-spacing: 0.05em;
}

#post03 .post03Content .topArea {
  margin-bottom: 200px;
}

@media screen and (max-width:767px) {
  #post03 .post03Content .topArea {
    margin-bottom: 50px;
  }
}

#post03 .post03Content .topArea .ttl {
  font-size: 160%;
  margin-bottom: 80px;
  line-height: 1.8;
}

@media screen and (max-width:767px) {
  #post03 .post03Content .topArea .ttl {
    font-size: 13pt;
    margin-bottom: 20px;
  }
}

#post03 .post03Content .topArea .img {
  margin-bottom: 30px;
}

#post03 .post03Content .topArea .img img {
  width: 100%;
  height: auto
}

#post03 .post03Content .topArea .infoOuter {
  line-height: 1.8;
  margin-bottom: 30px;
}

#post03 .post03Content .topArea .note {
  width: 90%;
  max-width: 700px;
  text-align: justify;
}

#post03 .post03Content .defaultContent.txtBox .note {
  font-size: 100%;
  width: 90%;
  max-width: 700px;
  text-align: justify;
}

#post03 .post03Content .mainContent {
  word-break: break-all;
}

#post03 .post03Content .mainContent img {
  max-width: 100%;
  height: auto;
}

#post03 .post03Content .mainContent pre {
  white-space: pre-line;
}

#post03 .goback {
  margin: 200px auto 150px;
}

@media screen and (max-width:767px) {
  #post03 .goback {
    margin: 50px auto 90px;
  }
}

/*---------------------------------------*/
/* pager */
/*---------------------------------------*/
.pager {
  text-align: center;
  position: relative;
  height: 40px;
  line-height: 40px;
  margin: 200px auto 0;
}

@media screen and (max-width:767px) {
  .pager {
    margin: 50px auto 90px;
  }
}

.pager a {
  border-bottom: 1px solid #fff;
  padding: 0 0 5px;
  margin: 0 10px;
  transition: all 0.3s ease 0s;
}

@media screen and (max-width: 767px) {
  .pager a {
    font-size: 9pt;
    margin: 0 8px;
  }
}

.pager .current {
  border-bottom: 1px solid #333;
  padding: 0 0 5px;
  margin: 0 10px;
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .pager .current {
    font-size: 9pt;
    margin: 0 8px;
  }
}

.pager .nextpostslink {
  padding: 0 0 5px;
  margin: 0;
  font-size: 93%;
  position: absolute;
  top: 0;
  right: 0;
}

.pager .previouspostslink {
  padding: 0 0 5px;
  margin: 0;
  font-size: 93%;
  position: absolute;
  top: 0;
  left: 0;
}

@media screen and (max-width: 767px) {

  .pager .nextpostslink,
  .pager .previouspostslink {
    font-size: 8pt;
    padding: 0;
  }

  .pager .nextpostslink .none,
  .pager .previouspostslink .none {
    display: none;
  }
}

.pager .icon-arrow {
  display: inline-block;
  margin: 5px;
  position: relative;
  top: -1px;
  font-size: 10px;
}

.pager .previouspostslink .icon-arrow {
  transform: rotate(180deg);
}

/*---------------------------------------*/
/* 追加ページ */
/*---------------------------------------*/
.additionPage {
  letter-spacing: .12em;
  line-height: 1.9;
}

.flexWrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flexWrapper_item01 {
  width: 46%;
  border: 1px solid #aaa;
  box-sizing: border-box;
  padding: 2%;
}

.underlineTitle {
  position: relative;
  font-size: 170%;
  padding-bottom: 28px;
  margin: 144px auto 56px;
}

.underlineTitle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 2px;
  background-color: #333;
  width: 72px;
  height: 1px;
}

.defaultContent .txtBox .underlineSubtitle {
  position: relative;
  font-size: 130%;
  margin-bottom: 20px;
  padding-bottom: 16px;
}

.defaultContent .txtBox .underlineSubtitle::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: #435f77;
  width: 48px;
  height: 1px;
}

.defaultContent .codingservice_image {
  margin-bottom: 80px;
  width: 60%;
}

.wpSectionWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wpImage {
  width: 25%;
}

.wpText {
  background-color: #f5f5f5;
  box-sizing: border-box;
  width: 68%;
  padding: 16px;
}

.wpTextFlex {
  display: flex;
  justify-content: space-between;
}

.wpTextList_item {
  margin-top: 4px;
}

.wpTextList_item::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 2px;
  margin-bottom: 4px;
  margin-right: 4px;
  background-color: #435f77;
}

.wpBrowser_title {
  font-size: 105%;
  font-weight: bold;
  margin-top: 24px;
}

.codingPrepareWrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
}

.codingPrepare_image {
  width: 16%;
}

.codingPrepare_image03 {
  width: 12%;
}

.codingPrepare_box {
  width: 70%;
}

.codingPrepare_title {
  font-size: 120%;
  font-weight: bold;
}

.codingFlow_image {
  margin-top: 40px;
  width: 70%;
}

@media screen and (max-width:980px) {
  .wpSectionWrapper {
    flex-direction: column;
  }

  .wpImage {
    margin: 24px auto 40px;
  }

  .wpText {
    width: 100%;
  }
}

@media screen and (max-width:767px) {
  .underlineTitle {
    position: relative;
    font-size: 150%;
    padding-bottom: 16px;
    margin: 80px auto 40px;
  }

  .flexWrapper {
    flex-direction: column;
  }

  .flexWrapper_item01 {
    width: 100%;
    padding: 4%;
  }

  .defaultContent .codingservice_image {
    width: 90%;
  }

  .wpImage {
    width: 40%;
  }

  .wpTextFlex {
    flex-direction: column;
  }

  .wpTextList_item {
    margin-top: 4px;
  }

  .codingPrepareWrapper {
    flex-direction: column;
  }

  .codingPrepare_image {
    width: 56px;
  }

  .codingPrepare_image03 {
    width: 40px;
  }

  .codingFlow_image {
    width: 100%;
  }
}

/*---------------------------------------*/
/* contact */
/*---------------------------------------*/
#contact .formAttention {
  margin: 0 auto 45px;
}

#contact .color {
  color: #ff0000;
}

/* form */
.form {
  margin-top: 80px;
}

@media screen and (max-width: 767px) {
  .form {
    margin-top: 30px;
  }
}

.form dl {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .form dl {
    margin-bottom: 15px;
  }
}

.form .address dl {
  margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
  .form .address dl {
    margin-bottom: 5px;
  }
}

.form .itemName {
  width: 27.5%;
  font-size: 114%;
  padding-top: 15px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .form .itemName {
    width: 100%;
    font-size: 10pt;
    padding-top: 0;
  }

  .form dl .itemName.none {
    display: none;
  }
}

.form .itemName .check {
  color: #ff0000;
  font-size: 71.5%;
  position: relative;
  top: -5px;
  margin-left: 3px;
}

.form .itemForm {
  width: 72.5%;
  position: relative;
}

.form .Inquiry {
  padding-top: 1em;
}

@media screen and (max-width: 767px) {
  .form .itemForm {
    width: 100%;
  }

  .form .Inquiry {
    padding-top: 0.5em;
  }
}

.form .itemForm .note {
  font-size: 86%;
}

@media screen and (max-width: 767px) {
  .form .itemForm .note {
    font-size: 8pt;
  }
}

.form .address {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  .form .address {
    margin-bottom: 15px;
  }
}

.form .address .itemForm .note {
  position: absolute;
  top: 5px;
  left: 50%;
}

@media screen and (max-width: 767px) {
  .form .address .itemForm .note {
    position: static;
  }
}

.form .txt-l,
.form .txt-m,
.form .txt-s,
.form .txt-area,
.form .rescue_txt-l {
  border: 1px solid #e2e2e2;
  border-radius: 0;
  font-size: 100%;
  height: 60px;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  cursor: pointer;
  vertical-align: middle;
  -webkit-appearance: none;
  box-shadow: none;
}

@media screen and (max-width: 767px) {

  .form .txt-l,
  .form .txt-m,
  .form .txt-s,
  .form .txt-area,
  .form .rescue_txt-l {
    height: 55px;
    padding: 10px;
    font-size: 16px;
  }
}

.form .txt-m {
  width: 47.5%;
  margin-right: 5%;
}

@media screen and (max-width: 767px) {
  .form .txt-m {
    width: 100%;
    margin-right: 0;
  }
}

.form span:last-child .txt-m {
  margin-right: 0;
}

@media screen and (max-width: 767px) {
  .form span:last-child .txt-m {
    margin-top: 5px;
  }
}

.form .txt-s {
  width: 44%;
}

@media screen and (max-width: 767px) {
  .form .txt-s {
    width: 80%;
  }
}

.form .txt-area {
  height: 220px;
  padding: 10px 20px;
}

@media screen and (max-width: 767px) {
  .form .txt-area {
    height: 150px;
  }
}

.form input[type="radio"] {
  vertical-align: middle;
}

.form .wpcf7-checkbox {
  margin: 15px 0 0;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .form .wpcf7-checkbox {
    margin: 0 0 0 5px;
  }
}

.form .wpcf7-checkbox input[type="checkBox"] {
  position: relative;
  top: -2px;
  margin-right: 10px;
  transform: scale(1.3, 1.3);
}

@media screen and (max-width: 767px) {
  .form .wpcf7-checkbox input[type="checkBox"] {
    transform: scale(1.1, 1.1);
    margin-right: 5px;
  }
}

.form .wpcf7-checkbox span.wpcf7-list-item {
  padding-right: 20px;
  margin-bottom: 5px;
  display: inline-block;
}

@media screen and (max-width: 767px) {
  .form .wpcf7-checkbox span.wpcf7-list-item {
    padding-right: 30px;
  }
}

.form .wpcf7-checkbox .wpcf7-list-item-label {
  font-size: 114%;
}

@media screen and (max-width: 767px) {
  .form .wpcf7-checkbox .wpcf7-list-item-label {
    font-size: 16px;
  }
}

.form input:focus,
.form textarea:focus,
.form select:focus {
  border: 1px solid #ff0000;
}

.form div.wpcf7-validation-errors {
  border: 2px solid #ff0000 !important;
}

.form div.wpcf7-mail-sent-ok {
  border: 2px solid #ff0000;
}

.form div.wpcf7-response-output {
  margin-left: 30px !important;
  margin-right: 30px !important;
  margin-top: 0 !important;
  text-align: center;
}

.form .hasCustomSelect {
  width: 100%;
}

.form .customSelect {
  background: url(../images/page/contact-select.gif) no-repeat right center;
  background-size: 60px 60px;
  height: 60px;
  line-height: 60px;
  padding: 0 20px;
  width: 100%;
  box-sizing: border-box;
  border: 1px solid #e2e2e2;
}

@media screen and (max-width: 767px) {
  .form .customSelect {
    letter-spacing: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    height: 55px;
    line-height: 55px;
    font-size: 16px;
  }
}

.form .radio .wpcf7-list-item {
  display: block;
  margin-bottom: 5px;
}

/* ▼IE10・IE11用 */
:-ms-input-placeholder {
  color: #d4d4d4;
}

/* ▼Chrome・Safari・Opera用(※Edgeにも使える) */
::-webkit-input-placeholder {
  color: #d4d4d4;
}

/* ▼Firefox18以前用 */
:-moz-placeholder {
  color: #d4d4d4;
}

/* ▼Firefox19以上用 */
::-moz-placeholder {
  color: #d4d4d4;
  opacity: 1;
}

/* ▼CSS標準(予定)の記述 */
:placeholder-shown {
  color: #d4d4d4;
}

.form .agree {
  text-align: center;
  margin-bottom: 30px;
}

@media screen and (max-width:767px) {
  .form .agree {
    margin-bottom: 10px;
    font-size: 9pt;
  }
}

.acceptance {
  margin-right: 5px;
}

.form .privacyLink {
  text-align: center;
  margin-bottom: 60px;
}

@media screen and (max-width:767px) {
  .form .privacyLink {
    margin-bottom: 30px;
    font-size: 8pt;
  }
}

.btnSubmit {
  padding-bottom: 26px;
}

@media screen and (max-width:767px) {
  .btnSubmit {
    padding-bottom: 21px;
  }
}

.btnSubmit.disabled {
  padding-bottom: 0;
  opacity: 0.3;
}

.btnSubmit input {
  -webkit-appearance: none;
  width: 100%;
  margin: 0 auto;
  max-width: 375px;
  height: 72px;
  display: block;
  background: #000;
  border-radius: 0;
  border: 1px solid #000;
  cursor: pointer;
  font-size: 114%;
  color: #fff;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}

@media screen and (max-width:767px) {
  .btnSubmit input {
    font-size: 11pt;
    height: 55px;
    line-height: 55px;
  }
}

.btnSubmit input:hover {
  background: #fff;
  color: #000;
}

.btnSubmit.disabled input:hover {
  background: #000;
  color: #fff;
}

.btnSubmitAlert {
  font-size: 86%;
  color: #a1a1a1;
  max-width: 370px;
  margin: 5px auto 0;
}

@media screen and (max-width:767px) {
  .btnSubmitAlert {
    font-size: 7pt;
  }
}

.btnSubmitAlert.none {
  display: none;
}

/*---------------------------------------*/
/* privacy */
/*---------------------------------------*/
#privacy .lead {
  margin-bottom: 50px;
}

@media screen and (max-width:767px) {
  #privacy .lead {
    margin-bottom: 30px;
  }
}

#privacy .privacyContent {
  margin: 0 auto 50px;
  max-width: 860px;
}

@media screen and (max-width:767px) {
  #privacy .privacyContent {
    margin-bottom: 30px;
  }
}

#privacy .privacyContent .ttl {
  font-size: 143%;
  font-weight: bold;
  margin-bottom: 20px;
}

@media screen and (max-width:767px) {
  #privacy .privacyContent .ttl {
    font-size: 11pt;
    margin-bottom: 10px;
  }
}

/*---------------------------------------*/
/* basePage */
/*---------------------------------------*/
#basePage .centerContentOuter {
  text-align: center;
}

#basePage .centerContentOuter .centerContent {
  display: inline-block;
  text-align: left;
}

/*---------------------------------------*/
/* TOP追加 */
/*---------------------------------------*/
.textBold {
  font-weight: bold;
}

.textCenter {
  text-align: center;
}

.dinExlight {
  font-family: din-2014, sans-serif;
  font-weight: 200;
  letter-spacing: .14em;
}

.dinLight {
  font-family: din-2014, sans-serif;
  font-weight: 300;
  letter-spacing: .14em;
}

.dinRegular {
  font-family: din-2014, sans-serif;
  font-weight: 400;
  letter-spacing: .14em;
}

.dinBold {
  font-family: din-2014, sans-serif;
  font-weight: 600;
  letter-spacing: .14em;
}

.mainTitle {
  font-size: 28px;
  letter-spacing: .18em;
  line-height: 1.9;
}

.notoserifLight {
  font-family: 'Noto Serif JP', serif;
  font-weight: 300;
}

/* スクロール */
.homeScroll {
  display: inline-block;
  position: absolute;
  right: 16px;
  top: 48%;
  z-index: 2;
  padding-bottom: 120px;
  overflow: hidden;
  color: #fff;
  font-size: 10px;
  line-height: 1;
  letter-spacing: .28em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}

.homeScroll::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 112px;
  background: rgba(255, 255, 255, .4);
}

.homeScroll::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 112px;
  background: rgba(255, 255, 255, .25);
}

.homeScroll::after {
  animation: sdl 2s cubic-bezier(1, 0, 0, 1) infinite;
}

@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }

  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }

  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }

  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

.homeAbout {
  width: 490px;
  margin: 0 auto;
}

.homeAbout_title {
  width: 100%;
}

.homeSubTitle {
  position: relative;
  margin-top: 44px;
  padding-top: 28px;
  font-size: 23px;
  letter-spacing: .18em;
  line-height: 1.4;
}


.homeSubTitle_border {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 72px;
  height: 1px;
  background-color: #323232;
}

.anime02.borderAnime01 {
  transform: scaleX(0);
  transform-origin: top left;
  transition: .6s cubic-bezier(.33, .01, 1, -0.06);
}

.anime02.borderAnime02 {
  transform: scaleX(0);
  transform-origin: top right;
  transition: .6s cubic-bezier(.33, .01, 1, -0.06);
}

.animation02.borderAnime01,
.animation02.borderAnime02 {
  transform: scaleX(1);
  opacity: .8;
}

.homeText {
  margin-top: 16px;
}

.mainBtnList {
  margin-top: 72px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.homeAbout_btnList {
  flex-direction: row;
  gap: 48px;
}

.mainBtnList_item {
  position: relative;
  font-size: 14px;
  letter-spacing: .15em;
  width: fit-content;
  display: flex;
  align-items: center;
}

.mainBtnList_item::before {
  content: "";
  width: 8px;
  height: 1px;
  margin-right: 4px;
  background-color: #646464;
}

.mainBtnList_item::after {
  content: url(../images/common/btn_icon01.svg);
  width: 12px;
  margin-left: 8px;
}

.mainBtnList_item a {
  transition: .5s cubic-bezier(0, .94, .85, 1);
}

.mainBtnList_item a::after {
  position: absolute;
  bottom: 2px;
  left: 16px;
  content: '';
  width: calc(100% - 16px);
  height: 1px;
  background: #aaa;
  transform: scale(0, 1);
  transform-origin: right top;
  transition: transform .5s cubic-bezier(0, .94, .85, 1);
}

.mainBtnList_item a:hover::after {
  transform-origin: left top;
  transform: scale(1, 1);
}

.mainBtnInner {
  overflow: hidden;
  display: inline-block;
  line-height: 1.5;
  margin-bottom: 4px;
  -webkit-perspective: 1000px;
  perspective: 1000px;
  -webkit-perspective-origin: 50% 50%;
  perspective-origin: 50% 50%;
  vertical-align: bottom;
}

.mainBtnInner span {
  position: relative;
  transition: .25s cubic-bezier(.3, 0, .7, 1);
  display: inline-block;
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d;
}

.mainBtnInner span::after {
  content: attr(data-text);
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
  transition: .25s cubic-bezier(.3, 0, .7, 1);
  -webkit-transform-origin: 50% 0%;
  transform-origin: 50% 0%;
  -webkit-transform: translate3d(0, 105%, 0) rotateX(-90deg);
  transform: translate3d(0, 105%, 0) rotateX(-90deg);
  opacity: 0;
}

.mainBtnList_item a:hover span,
.footerNavList_item a:hover span,
.footerMainNav_item a:hover span {
  -webkit-transform: translate3d(0, 0, -30px) rotateX(90deg);
  transform: translate3d(0, 0, -30px) rotateX(90deg);
}

.mainBtnList_item a:hover .mainBtnInner span::after,
.footerNavList_item a:hover .mainBtnInner span::after,
.footerMainNav_item a:hover .mainBtnInner span::after {
  opacity: 1;
}

.homeConsept {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin-top: 160px;
}

.homeConsept_image {
  width: 50%;
  overflow: hidden;
}

.homeConseptContent {
  width: 60%;
  margin-left: -10%;
  margin-top: 80px;
  padding: 140px 2% 90px 17%;
  box-sizing: border-box;
  background-color: #d0d7dd;
}

.homeConsept_text {
  max-width: 445px;
}

.homeSectionTitle {
  font-size: 24px;
  letter-spacing: .2em;
  text-align: center;
}

.BCSection {
  position: relative;
  z-index: 1;
  margin: 200px 0;
  box-sizing: border-box;
}

.bcTitle {
  position: relative;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
  text-align: left;
  line-height: 1.4;
}

.BCSectionInner {
  position: relative;
  z-index: 1;
  padding-top: 120px;
  margin-top: 120px;
}

.BCSectionInner::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100%;
  height: 80%;
  background-color: #ebebeb;
}

.BCWrapper {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}

.BCContent {
  width: 46%;
  margin-top: 56px;
}

.brandingImage {
  width: 50%;
  overflow: hidden;
  background-color: #3c567c;
}

.brandingImageInner {
  width: 100%;
  overflow: hidden;
}

.homeBranding_text {
  max-width: 410px;
}

.creativeWrapper {
  flex-direction: row-reverse;
  align-items: flex-start;
  margin-top: 100px;
}

.homeCreative_text {
  max-width: 400px;
}

.creativeImage {
  position: relative;
  z-index: 1;
  width: 36%;
  margin-top: 40px;
  margin-left: 40px;
  background-color: #3c567c;
}

.creativeImage::after {
  content: "";
  position: absolute;
  z-index: -1;
  width: calc(100% - 40px);
  height: calc(100% - 40px);
  top: -40px;
  left: -40px;
  background-color: #3c567c;
}

.creativeImageInner {
  width: 100%;
  overflow: hidden;
}

.homeWorks {
  position: relative;
  padding-top: 160px;
}

.homeWorksBorder {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #111;
}

.worksContent {
  margin-top: 56px;
}

.homeDesign {
  background-color: #323232;
  margin-top: 200px;
  padding: 160px 0;
  box-sizing: border-box;
  color: #f2f2f2;
}

.homeDesign a {
  color: #eee;
}

.designWrapper {
  width: 90%;
  max-width: 1100px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}

.designWrapper+.designWrapper {
  margin-top: 160px;
}

.webdesignWrapper {
  flex-direction: row-reverse;
}

.homeDesign_image {
  width: 75%;
  position: relative;
  overflow: hidden;
}

.homeDesign_image::before {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  content: '';
  transition-delay: .5s;
  background-color: #323232;
}

.homeDesign_image::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  background-color: #2c2c2c;
  transition: .5s cubic-bezier(.14, 1, 1, 1);
  transform: scaleX(0);
  transform-origin: top left;
}

.animation.homeDesign_image::before {
  transform: scale(0);
}

.animation.homeDesign_image::after {
  animation-name: scroll_anime;
  animation-duration: 1s;
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

@keyframes scroll_anime {
  0% {
    transform: scaleX(0);
  }

  15% {
    transform: scaleX(0);
  }

  42% {
    transform: scaleX(1);
    transform-origin: top left;
  }

  50% {
    transform-origin: top right;
  }

  73% {
    transform: scaleX(1);
  }

  100% {
    transform: scaleX(0);
    transform-origin: top right;
  }
}

.designContent {
  position: relative;
  z-index: 1;
  width: 50%;
  margin-top: 56px;
  margin-left: -25%;
}

.webdesignContent {
  margin-left: auto;
  margin-right: -25%;
}

.designSectionTitle {
  font-size: 42px;
  letter-spacing: .2em;
  width: fit-content;
}

.graphicTitle {
  margin-left: auto;
}

.designBtnList_item::before {
  background-color: #eee;
}

.designBtnList_item::after {
  content: url(../images/common/btn_icon02.svg);
}

.graphicBtnList {
  width: fit-content;
  margin-left: auto;
}

.homeCaricon {
  width: 95%;
  max-width: calc((100vw - 1100px) / 2 + 1100px);
  margin-top: 200px;
  margin-left: auto;
}

.cariconSectionTitle {
  text-align: left;
}

.cariconSectionTitle::after,
.bcTitle::after {
  content: "";
  display: inline-block;
  width: 240px;
  height: 1px;
  background-color: #111;
  margin-bottom: 6px;
  margin-left: 16px;
  transition: .4s cubic-bezier(.46, .03, .93, .49);
  transform: scaleX(0);
  transform-origin: top left;
}

.animation.cariconSectionTitle::after,
.animation.bcTitle::after {
  transform: scaleX(1);
  opacity: .3;
}

.cariconWrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  margin-top: 80px;
}

.homeCaricon_image {
  width: 80%;
  overflow: hidden;
}

.cariconContent {
  position: relative;
  width: 45%;
  margin-top: 100px;
  margin-right: -30%;
}

.homeOther {
  margin-top: 200px;
  background-color: #ebebeb;
  box-sizing: border-box;
  padding: 120px 0;
}

.homeOtherWrapper {
  display: flex;
  justify-content: space-between;
  width: 90%;
  max-width: 1100px;
  margin: 0 auto;
}

.homeOtherBox {
  width: 48%;
}

.homeOther_title {
  position: relative;
  font-size: 20px;
  padding-top: 16px;
}

.homeOther_title::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 64px;
  height: 1px;
  background-color: #111;
  transition: .4s cubic-bezier(.46, .03, .93, .49);
  transform: scaleX(0);
  transform-origin: top left;
}

.animation.homeOther_title::before {
  transform: scaleX(1);
  opacity: .4;
}

.homeOther_image {
  width: 100%;
  overflow: hidden;
  margin-top: 16px;
}

.homeOtherContent {
  width: 70%;
  height: 88px;
  background-color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  margin: -24px auto 0;
}

.otherBtn {
  margin-top: 0;
}

@media screen and (max-width:980px) {
  .homeBr {
    display: none;
  }

  .mainTitle {
    font-size: 36px;
  }

  .homeAbout {
    width: 560px;
  }

  .homeAbout_subTitle {
    margin-top: 48px;
    padding-top: 48px;
  }

  .homeConsept {
    flex-direction: column-reverse;
  }

  .homeConsept_image {
    width: 90%;
  }

  .homeConseptContent {
    width: 90%;
    margin-left: auto;
    margin-top: -160px;
    padding: 240px 0 96px 8%;
  }

  .homeSectionTitle {
    font-size: 17px;
  }

  .BCSection {
    margin-bottom: 160px;
  }

  .BCSectionInner {
    margin-top: 80px;
    padding-top: 80px;
  }

  .BCWrapper {
    flex-direction: column-reverse;
  }

  .brandingImage {
    width: 80%;
    margin-left: auto;
  }

  .BCContent {
    width: 80%;
    margin-top: 64px;
  }

  .creativeImage {
    width: 35%;
    margin-left: auto;
  }

  .creativeImage::after {
    top: -24px;
    left: -24px;
  }

  .creativeContent {
    position: relative;
    z-index: 2;
    margin-top: -16px;
  }

  .creativeWrapper {
    margin-top: -48px;
  }

  .BCSection::after {
    height: 86%;
  }

  .homeWorks {
    padding-top: 136px;
  }

  .homeDesign {
    margin-top: 160px;
    padding: 120px 0;
  }

  .designWrapper+.designWrapper {
    margin-top: 120px;
  }

  .homeCaricon {
    margin-top: 120px;
  }

  .cariconWrapper {
    margin-top: 64px;
  }

  .homeOther {
    margin-top: 160px;
    padding: 80px 0;
  }
}

@media screen and (max-width:767px) {
  .mainBtnList {
    margin-top: 40px;
  }

  .mainBtnList_item {
    font-size: 12px;
  }

  .homeAbout {
    width: 90%;
    max-width: 560px;
  }

  .homeAbout_subTitle {
    font-size: 28px;
  }

  .homeAbout_btnList {
    gap: 32px;
  }

  .homeConsept {
    margin-top: 80px;
  }

  .homeConsept_image {
    width: 95%;
    max-width: calc((100vw - 560px) / 2 + 560px);
  }

  .homeConseptContent {
    width: 95%;
    max-width: calc((100vw - 560px) / 2 + 560px);
  }

  .homeConseptContent {
    margin-top: -120px;
    padding: 160px 5% 48px 4%;
  }

  .mainTitle {
    font-size: 20px;
  }

  .homeSubTitle {
    margin-top: 32px;
    padding-top: 24px;
    font-size: 18px;
  }

  .homeSubTitle_border {
    width: 40px;
  }

  .homeText {
    margin-top: 16px;
    text-align: justify;
  }

  .BCSection {
    margin: 100px 0 80px;
  }

  .BCSectionInner {
    margin-top: 40px;
    padding-top: 56px;
  }

  .BCContent {
    width: 90%;
    margin-top: 32px;
  }

  .creativeWrapper {
    margin-top: 8px;
  }

  .creativeContent {
    margin-top: -24px;
  }

  .homeBranding_text {
    width: 92%;
  }

  .homeCreative_text {
    width: 92%;
  }

  .homeWorks {
    padding-top: 64px;
  }

  .worksContent {
    margin: 30px auto 40px;
    width: 84%;
  }

  .post03List li:last-child {
    margin-bottom: 0;
  }

  .homeDesign {
    margin-top: 120px;
    padding: 80px 0;
  }

  .designWrapper {
    flex-direction: column;
  }

  .homeDesign_image {
    width: 90%;
  }

  .designContent {
    width: 90%;
    margin-top: -20px;
    margin-left: auto;
  }

  .webdesignContent {
    width: 90%;
    margin-top: -20px;
    margin-left: 0;
    margin-right: auto;
  }

  .webDesign_image {
    margin-left: auto;
  }

  .designSectionTitle {
    font-size: 28px;
  }

  .designWrapper+.designWrapper {
    margin-top: 80px;
  }

  .homeCaricon {
    margin-top: 80px;
    max-width: calc((100vw - 560px) / 2 + 560px);
  }

  .cariconSectionTitle::after,
  .bcTitle::after {
    display: none;
  }

  .cariconWrapper {
    margin-top: 40px;
    flex-direction: column;
  }

  .homeCaricon_image {
    width: 90%;
    margin-left: auto;
  }

  .cariconContent {
    width: 100%;
    margin-top: 32px;
    margin-right: 0;
  }

  .homeOther {
    margin-top: 80px;
    padding: 56px 0;
  }

  .homeOtherWrapper {
    flex-direction: column;
    align-items: center;
    max-width: 560px;
  }

  .homeOtherBox {
    width: 90%;
  }

  .homeOtherBox+.homeOtherBox {
    margin-top: 56px;
  }

  .homeOther_title {
    font-size: 16px;
  }

  .homeOther_image {
    margin-top: 8px;
  }

  .otherBtn {
    margin-top: 0;
  }
}

/* about us */
.lowerPageMv {
  width: 100%;
  overflow: hidden;
}

.aboutLink {
  margin-top: 80px;
}

.aboutLinkList {
  display: flex;
  justify-content: center;
  gap: 56px;
  margin-top: 28px;
}

.aboutLinkList_item {
  font-size: 16px;
  letter-spacing: .14em;
}

#anc_message::before {
  content: "";
}

.lowerSection {
  position: relative;
  z-index: 1;
  margin: 120px auto 0;
  padding-top: 80px;
  width: 90%;
  max-width: 1080px;
}

.lowerSectionBorder {
  content: "";
  position: absolute;
  z-index: -1;
  top: 100px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #111;
}

.lowerSectionTitle span {
  display: block;
  font-size: 20px;
}

.lowerSectionTitle {
  position: relative;
  z-index: 1;
  background-color: #fff;
  font-size: 12px;
  box-sizing: border-box;
  padding-right: 32px;
  display: inline-block;
}

.lowerSectionInner {
  width: 70%;
  margin: 0 auto;
}

.lowerSection02 {
  background-color: #f7f7f7;
  margin-top: 200px;
  padding: 120px 0;
}

.lowerSectionWrapper02 {
  width: 90%;
  max-width: 1080px;
  margin: 0 auto;
}

.lowerSectionContent {
  width: 100%;
  margin-top: 120px;
}

.lowerContent_title01 {
  font-size: 120%;
  display: flex;
  align-items: center;
  font-family: din-2014, "TsukuGoPr5-D", YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  ;
  font-weight: 500;
}

.lowerContent_title01::before {
  content: "";
  display: block;
  width: 2px;
  height: 1em;
  background-color: #3c567c;
  margin-right: 8px;
}

.lowerContent_title02 {
  font-size: 120%;
  font-weight: bold;
}

.lowerContent_title02Num {
  font-size: 10px;
  margin-bottom: -6px;
  display: flex;
  align-items: center;
}

.lowerContent_title02Num::before {
  content: "";
  display: block;
  width: 20px;
  height: 1px;
  margin-right: 4px;
  background-color: #3c567c;
}

.lowerFlex_text {
  margin-top: 12px;
}

.aboutSectionFlex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 56px;
  box-sizing: border-box;
  padding: 0 4%;
}

.aboutMainTitle {
  font-size: 23px;
  letter-spacing: 0.18em;
  line-height: 1.9;
}

.aboutVisionFlex {
  align-items: center;
  margin-top: 104px;
}

.aboutMessageSubtitle {
  margin-top: 80px;
}

.aboutMessageBox {
  width: 45%;
}

.aboutSection_text+.aboutSection_text {
  margin-top: 24px;
}

.aboutValue {
  background-color: #f7f7f7;
  margin-top: 200px;
  box-sizing: border-box;
  padding: 80px 0 120px;
}

.aboutValueTitle {
  background-color: #f7f7f7;
}

.aboutValueWrapper {
  position: relative;
  margin-top: 0;
}

.aboutValueBorder {
  content: "";
  position: absolute;
  top: -32px;
  left: 0;
  width: 56px;
  height: 1px;
  background-color: #111;
}

.aboutValueFlex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.aboutValueFlex::after {
  content: "";
  width: 30%;
  height: 0;
}

.aboutValueBox {
  width: 29%;
  margin-top: 64px;
}

.aboutValueBox_num {
  position: relative;
  font-size: 12px;
  margin-right: 2px;
  color: #666;
}

.aboutValueBox_num::after {
  content: "";
  position: absolute;
  top: 8px;
  left: 18px;
  width: 32px;
  height: 1px;
  background-color: #aaa;
}

.aboutValue_subTitle {
  font-size: 18px;
  letter-spacing: .18em;
  margin-top: -6px;
}

.aboutValue_text {
  margin-top: 8px;
}

.aboutPhilosophyGallery {
  width: 90%;
  max-width: 1080px;
  margin: 160px auto 0;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.aboutGallery_image01 {
  width: 100%;
}

.aboutGallery_image02,
.aboutGallery_image03 {
  width: 49%;
  margin-top: 2%;
}

.aboutPhilosophyList {
  width: fit-content;
  margin: 96px auto 0;
}

.aboutPhilosophyList_item {
  font-size: 20px;
  margin-top: 36px;
  letter-spacing: 0.12em;
  line-height: 2;
}

@media screen and (max-width:1023px) {
  .lowerSection {
    margin-top: 80px;
  }

  .lowerSectionContent {
    margin-top: 88px;
  }

  .aboutSectionFlex {
    flex-direction: column;
    width: 480px;
    margin: 80px auto 0;
  }

  .aboutMessageSubtitle {
    width: 100%;
    margin-top: 0;
  }

  .aboutMessageBox {
    width: 100%;
  }

  .aboutMessageBox {
    margin-top: 72px;
  }

  .aboutVisionSubtitle {
    width: 100%;
  }

  .aboutValue {
    margin-top: 160px;
    padding-bottom: 96px;
  }

  .aboutValueWrapper {
    margin-top: 0;
  }

  .aboutValueBox {
    width: 45%;
  }

  .aboutPhilosophyGallery {
    margin-top: 136px;
  }

  .aboutPhilosophyList {
    margin-top: 80px;
  }

  .aboutPhilosophyList_item {
    font-size: 18px;
  }

  #company .companyInfo {
    margin-top: 136px;
    padding: 96px 0 136px;
  }
}

@media screen and (max-width:980px) {
  #company.postPage {
    margin-top: 80px;
  }
}

@media screen and (max-width:767px) {
  #company.postPage {
    margin-top: 60px;
  }

  .aboutLinkList {
    gap: 40px;
  }

  .aboutLinkList_item {
    font-size: 12px;
  }

  .lowerSectionTitle span {
    font-size: 18px;
    margin-bottom: -2px;
  }

  .aboutLinkList {
    margin-top: 20px;
  }

  .lowerSection {
    max-width: 480px;
    margin-top: 20px;
    padding-top: 60px;
  }

  .lowerSectionBorder {
    top: 76px;
  }

  .lowerSectionTitle {
    padding-right: 16px;
  }

  .lowerSectionInner {
    width: 100%;
  }

  .lowerSectionContent {
    margin-top: 64px;
  }

  .lowerSection02 {
    margin-top: 80px;
    padding: 64px 0;
  }

  .lowerSectionWrapper02 {
    max-width: 480px;
  }

  .aboutSectionFlex {
    width: 100%;
    margin-top: 64px;
  }

  .aboutMainTitle {
    font-size: 17px;
  }

  .aboutMessageBox {
    margin-top: 48px;
    text-align: justify;
  }

  .aboutValue {
    margin-top: 104px;
    padding: 36px 0 96px;
  }

  .aboutValueWrapper {
    margin-top: 0;
  }

  .aboutValueBox {
    width: 100%;
    margin-top: 40px;
  }

  .aboutValueBox_num {
    font-size: 10px;
  }

  .aboutValueBox_num::after {
    top: 7px;
  }

  .aboutValue_subTitle {
    font-size: 17px;
  }

  .aboutValue_text {
    margin-top: 4px;
  }

  .aboutPhilosophyGallery {
    margin-top: 104px;
  }

  .aboutPhilosophyList {
    margin-top: 64px;
    width: 84%;
  }

  .aboutPhilosophyList_item {
    font-size: 15px;
    max-width: 360px;
  }

  .aboutPhilosophyList_item br {
    display: none;
  }

  #company .companyInfo {
    margin-top: 104px;
    padding: 96px 0;
  }
}

/* concept */
.conceptMessage {
  margin: 80px auto 0;
  width: 440px;
}

.conceptMessage_subTitle {
  width: 100%;
  margin-top: 80px;
}

.lowerMessage_text {
  margin-top: 24px;
}

.lowerMessage_text:first-of-type {
  margin-top: 48px;
  text-align: justify;
}

.lowerTitle_border01 {
  position: absolute;
  top: -32px;
  left: 0;
  width: 48px;
  height: 1px;
  background-color: #111;
}

.conceptSC_image {
  width: 90%;
  margin: 80px auto 0;
}

.conceptRCWrapper {
  width: 80%;
  max-width: 720px;
  margin: 0 auto;
  padding: 80px 72px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, .94);
}

.conceptRC_image {
  width: 100%;
}

.conceptRC_text {
  margin-top: 48px;
}

.conceptDCContent {
  width: 50%;
  margin: 80px auto 0;
}

.conceptDCContent_text {
  margin-top: 56px;
}

.conceptProcess {
  background-color: #f7f7f7;
  margin-top: 200px;
  padding: 40px 0 120px;
}

.conceptProcessWrapper {
  margin: 0 auto;
  padding-top: 80px;
}

.conceptProcessTitle {
  background-color: #f7f7f7;
}

.conceptFlow {
  width: 70%;
  margin: 140px auto 0;
}

.conceptFlow_title {
  font-size: 17px;
  font-weight: bold;
  display: flex;
  align-items: center;
}

.conceptFlow_num {
  font-size: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  color: #666;
  width: 40px;
  height: 40px;
  border: 1px solid #aaa;
  border-radius: 50%;
  margin-right: 16px;
}

.conceptFlow_text {
  margin-top: 16px;
}

.conceptFlowContent {
  margin-top: 80px;
  width: 100%;
}

.conceptFlowContent_title {
  display: flex;
  align-items: center;
}

.conceptFlowContent_title::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #666;
  margin: 0px 4px 0 1px;
}

.conceptFlowContent_text {
  margin-top: 8px;
}

.conceptFlowContent_image01 {
  width: 85%;
  margin: 24px auto 0;
}

.conceptCultureBtnFlex {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.conceptCultureBtn {
  width: 49%;
  position: relative;
  overflow: hidden;
}

.conceptCultureBtn03 {
  width: 100%;
  margin-top: 2%;
}

.conceptCultureBtn_inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.conceptCultureBtn_title {
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  margin-top: 16px;
}

.conceptCultureBtn_title::after {
  content: "";
  display: block;
  width: 88px;
  height: 1px;
  background-color: #fff;
  margin: 20px auto 0;
}

.conceptCultureBtn img {
  transition: .5s cubic-bezier(.14, 1, 1, 1);
}

.conceptCultureBtn:hover img {
  transform: scale(1.04);
}

.conceptCulture {
  margin-bottom: 200px;
}

@media screen and (max-width:980px) {
  .conceptProcess {
    margin-top: 160px;
    padding: 16px 0 96px;
  }
}

@media screen and (max-width:767px) {
  .conceptMessage {
    width: 90%;
    max-width: 480px;
  }

  .conceptSC_image {
    width: 100%;
    margin-top: 50px;
  }

  /*
   .conceptRC {
    margin-top: 56px;
    padding: 56px 0;
  }*/



  .conceptRCWrapper {
    width: 90%;
    max-width: 480px;
    padding: 48px 32px;
  }

  .conceptDCContent {
    width: 100%;
  }

  .conceptProcess {
    margin-top: 104px;
    padding: 20px 0 80px;
  }

  .conceptProcessWrapper {
    padding-top: 60px;
  }

  .conceptFlow {
    width: 100%;
    margin-top: 80px;
  }

  .conceptFlow_text {
    margin-top: 12px;
    text-align: justify;
  }

  .conceptFlowContent {
    margin-top: 56px;
  }

  .conceptFlowContent_text {
    margin-top: 4px;
    text-align: justify;
  }

  .conceptFlow_title {
    font-size: 16px;
  }

  .conceptFlowContent_image01 {
    width: 90%;
    margin-top: 16px;
  }

  .conceptFlow_num {
    margin-right: 12px;
  }

  .conceptCultureBtn {
    width: 100%;
  }

  .conceptCultureBtn+.conceptCultureBtn {
    margin-top: 2%;
  }

  .conceptCultureBtn_title {
    font-size: 16px;
  }

  .conceptCultureBtn_title::after {
    width: 80px;
    margin-top: 12px;
  }

  .conceptCulture {
    margin-bottom: 104px;
  }
}


/* SERVICE */
.serviceMessage {
  width: 440px;
  margin: 120px auto 0;
}

.serviceMessage_subTitle {
  width: 336px;
  margin-top: 80px;
}

.serviceOutline {
  margin-top: 160px;
  background-color: #f7f7f7;
}

.serviceOutlineInner {
  padding: 120px 0;
}

.serviceOutline_message {
  font-size: 23px;
  letter-spacing: .15em;
}

.serviceOutline_title {
  background-color: #f7f7f7;
  margin-top: 80px;
}

.serviceOutline_image {
  margin: 32px auto 0;
  width: 90%;
  max-width: 760px;
}

.serviceInner {
  width: 90%;
  margin: 104px auto 0;
}

.serviceInner_box {
  width: 70%;
}

.serviceBrandingContent {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.serviceBranding {
  padding-bottom: 160px;
}

.serviceBrandingBox {
  width: 45%;
  display: flex;
  flex-direction: column;
  padding: 0 0 24px;
  border-bottom: 1px solid #ccc;
}

.serviceBrandingBox:nth-child(n+3) {
  padding-top: 48px;
}

.serviceBrandingBox_title {
  font-size: 17px;
}

.serviceBrandingBox_text {
  margin-top: 8px;
}

.lowerBtnFlex {
  display: flex;
  justify-content: center;
  gap: 40px;
  margin-top: 40px;
}

.lowerBtn {
  position: relative;
  width: 280px;
  transition: .3s cubic-bezier(.51, 0, .25, 1);
}

.lowerBtn a {
  display: block;
  padding: 12px 0;
  text-align: center;
  transition: .3s cubic-bezier(.51, 0, .25, 1);
}

.lowerBtn01 {
  border: 1px solid #828282;
}

.lowerBtn01::after {
  content: url(../images/common/btn_arrow01.svg);
  position: absolute;
  width: 28px;
  top: 10px;
  right: 16px;
  transition: .5s cubic-bezier(.51, 0, .25, 1);
}

.lowerBtn01:hover {
  border: 1px solid #323232;
  background-color: #323232;
}

.lowerBtn01:hover a {
  color: #fff;
}

.lowerBtn01:hover::after {
  content: url(../images/common/btn_arrow02.svg);
  right: 14px;
}

.lowerBtn02 {
  border: 1px solid #728799;
  background-color: #728799;
}

.lowerBtn02 a {
  color: #fff;
}

.lowerBtn02::after {
  content: url(../images/common/btn_arrow02.svg);
  position: absolute;
  width: 28px;
  top: 10px;
  right: 16px;
  transition: .5s cubic-bezier(.51, 0, .25, 1);
}

.lowerBtn02:hover {
  background-color: #fff;
}

.lowerBtn02:hover a {
  color: #728799;
}

.lowerBtn02:hover::after {
  content: url(../images/common/btn_arrow01.svg);
  right: 14px;
}

.serviceDesign {
  margin-bottom: 160px;
}

.serviceDesign_box {
  margin: 104px auto 0;
}

.serviceDesign_title {
  font-size: 20px;
  display: flex;
  align-items: center;
}

.serviceDesign_title::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #666;
  margin: 2px 8px 0 2px;
}

.serviceDesign_text {
  margin-top: 12px;
}

.serviceDesignList {
  margin: 28px 0 24px;
  display: flex;
  flex-wrap: wrap;
}

.serviceDesignList_item {
  padding: 0 1.2em;
  border-left: 1px solid #aaa;
  line-height: 1.2;
  margin-top: 16px;
}

.serviceDesignList_item:first-of-type {
  border-left: none;
  padding-left: 0;
}

.serviceDesign_image {
  width: 60%;
  margin: 32px auto;
}

.serviceCoding_title {
  font-weight: bold;
  font-size: 120%;
  margin-top: 64px;
}


@media screen and (max-width:767px) {
  .pcIndent01 {
    display: none;
  }

  .serviceMessage {
    width: 90%;
    max-width: 440px;
  }

  .serviceMessage_subTitle {
    width: 100%;
    max-width: 320px;
  }

  .lowerMessage_text {
    margin-top: 16px;
  }

  .serviceOutline {
    margin-top: 104px;
  }

  .serviceOutlineInner {
    padding: 80px 0;
  }

  .serviceOutline_message {
    font-size: 20px;
  }

  .serviceOutline_title {
    margin-top: 48px;
  }

  .lowerTitle_border01 {
    top: -20px;
  }

  .serviceOutline_image {
    width: 100%;
    max-width: 560px;
  }

  .serviceInner {
    margin-top: 80px;
  }

  .serviceInner_box {
    width: 100%;
  }

  .serviceBrandingBox {
    width: 100%;
    padding: 40px 0 32px;
  }

  .lowerBtnFlex {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    margin-top: 48px;
  }

  .serviceDesign_box {
    margin-top: 72px;
  }

  .serviceDesign_title {
    font-size: 16px;
  }
}

/* caricon */
.cariconMessage {
  margin: 120px auto 0;
  width: 440px;
}

.cariconMessage_subTitle {
  width: 100%;
  margin-top: 80px;
}

.cariconAbout {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin-top: 160px;
}

.cariconAboutContent {
  width: 60%;
  margin-left: -10%;
  margin-top: 120px;
  padding: 104px 0 104px 14%;
  box-sizing: border-box;
  background-color: #E5F0F9;
}

.cariconAbout_title {
  position: relative;
  font-size: 18px;
  letter-spacing: .16em;
  line-height: 1.5;
  padding-bottom: 50px;
}

.cariconAbout_subtitle {
  display: block;
  font-size: 26px;
  margin-bottom: 10px;
}

.cariconAbout_title_border {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 280px;
  height: 1px;
  background-color: #111;
}

.cariconAbout_textbox {
  width: 80%;
  max-width: 480px;
}

.cariconAbout_textbox02 {
  margin-left: auto;
}

.cariconAbout_text {
  margin-top: 30px;
  line-height: 2.1;
  letter-spacing: .1em;
}

.cariconAbout_text:first-of-type {
  margin-top: 50px;
}

.cariconAbout_image {
  width: 50%;
  overflow: hidden;
}

.cariconAbout02 {
  flex-direction: row;
}

.cariconAboutContent02 {
  margin-right: -10%;
  margin-left: 0;
  margin-top: 0;
  padding: 104px 14% 104px 0;
  background-color: #E1E6EA;
}

.cariconAbout_image02 {
  margin-top: 120px;
}

.cariconProcess {
  background-color: #EFEFEF;
  margin-top: 240px;
  padding: 1px 0 180px;
}

.cariconGroup {
  margin-top: 80px;
}

.cariconGroup_text {
  width: 80%;
  margin-top: 50px;
}

.cariconTitle02 {
  background-color: #EFEFEF;
}

.cariconProcess_box {
  display: flex;
  justify-content: space-between;
}

.cariconProcess_item {
  background-color: #fff;
  width: 32%;
  padding: 30px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.cariconProcess_item_number {
  font-size: 30px;
}

.cariconProcess_title {
  font-weight: bold;
  text-align: center;
  font-size: 20px;
}

.cariconProcess_title span {
  display: block;
  font-size: 14px;
  font-weight: normal;
}

.cariconProcess_text {
  font-size: 95%;
  margin-top: 24px;
}

.cariconService {
  margin-bottom: 200px;
}

.cariconService_img {
  margin-top: 50px;
  overflow: hidden;
}

.cariconSeminar_section {
  margin: 0 auto;
}

.cariconSeminar_title {
  font-size: 16px;
  font-weight: bold;
}

.cariconGroup_notes {
  font-size: 12px;
  margin-top: 40px;
}

.cariconSeminar {
  margin-bottom: 160px;
}

.cariconSeminar_btn {
  margin: 70px auto 0;
}

.cariconSeminar_btn a {
  padding: 24px 0;
  font-size: 16px;
}

.cariconSeminar_btn::after {
  top: 20px;
}

.cariconGroup_titlebox {
  letter-spacing: 4px;
  font-size: 14px;
  border: 1px solid #333;
  padding: 4px 30px;
  margin-right: 20px;
}

.cariconSeminar_text {
  font-size: 20px;
  font-weight: bold;
}

.cariconSeminarFlex {
  display: flex;
  justify-content: space-between;
  margin-top: 16px;
  width: 75%;
}

.cariconSeminar_item {
  display: flex;
  align-items: center;
}

.cariconSeminar_item+.cariconSeminar_item {
  margin-top: 8px;
}

.cariconSeminar_item::before {
  content: "";
  width: 6px;
  height: 2px;
  background-color: #bbb;
  margin-right: 4px;
}

.lowerSectionTitle03.cariconService_title {
  font-size: 20px;
}

.cariconService_title_jp {
  display: block;
  font-size: 14px;
  font-weight: normal;
  margin-top: -2px;
}

.cariconServiceFlex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.cariconServiceFlex02 {
  flex-direction: row-reverse;
}

.cariconServiceBox {
  width: 45%;
}

.cariconService_subtitle01,
.cariconService_subtitle02 {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
}

.cariconService_subtitle01::after {
  content: "";
  display: block;
  width: 48px;
  height: 1px;
  background-color: #aaa;
  margin-top: 24px;
}

.cariconServiceFlex_text {
  margin-top: 24px;
}

.cariconServiceFlex_text+.cariconServiceFlex_text {
  margin-top: 16px;
}

.cariconService_image {
  width: 50%;
  overflow: hidden;
}

.cariconServiceBtn {
  margin-top: 32px;
}

.cariconService_alert {
  font-size: 95%;
  width: 70%;
}

@media screen and (max-width:980px) {
  .cariconAbout {
    flex-direction: column-reverse;
  }

  .cariconAboutContent {
    width: 90%;
    margin-left: auto;
    margin-top: -180px;
    padding: 250px 0 104px 14%;
  }

  .cariconAbout_image {
    width: 90%;
  }

  .cariconProcess_box {
    flex-direction: column;
    align-items: center;
  }

  .cariconProcess_item {
    width: 80%;
    padding: 30px 100px;
    margin-top: 50px;
  }

  .cariconSeminarFlex {
    width: 100%;
  }

  .cariconAbout_image02 {
    margin-left: auto;
    margin-top: 0;
  }

  .cariconAboutContent02 {
    margin-left: 0;
  }

  .cariconAbout_textbox02 {
    margin-left: 0;
  }

  .cariconServiceFlex {
    flex-direction: column-reverse;
  }

  .cariconService_image {
    width: 70%;
  }

  .cariconServiceBox {
    width: 70%;
    margin-top: 48px;
  }
}

@media screen and (max-width:767px) {
  .cariconAbout {
    margin-top: 80px;
  }

  .cariconMessage {
    width: 90%;
    max-width: 440px;
  }

  .cariconAboutContent {
    margin-top: -110px;
    padding: 150px 0 104px 8%;
  }

  .cariconAbout_textbox {
    width: 90%;
  }

  .cariconAbout_title {
    font-size: 14px;
    padding-bottom: 32px;
  }

  .cariconAbout_subtitle {
    line-height: 1.3;
  }

  .cariconAbout_title_border {
    width: 40px;
  }

  .cariconAbout_text:first-of-type {
    margin-top: 32px;
  }

  .cariconGroup_text {
    width: 100%;
  }

  .cariconProcess_item {
    width: 100%;
    padding: 25px 25px;
    margin-top: 20px;
  }

  .lowerSectionTitle03.cariconService_title {
    font-size: 18px;
  }

  .cariconService_title_jp {
    font-size: 12px;
    margin-top: -4px;
  }

  .cariconSeminarFlex {
    display: block;
  }

  .cariconSeminar_text {
    font-size: 16px;
  }

  .cariconGroup_titlebox {
    display: block;
    width: fit-content;
    margin-bottom: 12px;
  }

  .cariconServiceBox {
    width: 100%;
  }

  .cariconService_image {
    width: 100%;
  }

  .cariconSeminar_list+.cariconSeminar_list {
    margin-top: 8px;
  }

  .cariconService_subtitle01,
  .cariconService_subtitle02 {
    font-size: 14px;
  }

  .cariconService_subtitle01::after {
    margin-top: 16px;
  }

  .cariconService_alert {
    width: 100%;
  }

  .cariconService {
    margin-bottom: 104px;
  }
}

/* キャリコン研修 */
.seminarMessage {
  margin: 120px auto 0;
  width: 440px;
}

.seminarFeatureWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.seminarFeatureWrapper02 {
  flex-direction: row-reverse;
  margin-top: 80px;
}

.seminarFeature_image {
  width: 60%;
}

.seminarFeatureContent {
  width: 55%;
  margin-left: -5%;
  background-color: #f2f2f2;
  box-sizing: border-box;
  padding: 48px 5%;
  position: relative;
}

.seminarFeatureContent02 {
  margin-left: 0;
  margin-right: -5%;
  background-color: #dae4ea;
}

.seminarFeatureContent_title_point {
  display: block;
  font-size: 16px;
  margin-bottom: 20px;
}

.seminarFeatureContent_title {
  font-size: 18px;
}

.seminarList_title {
  font-size: 20px;
  letter-spacing: .24em;
  text-align: center;
}

.seminarListLink {
  display: flex;
  justify-content: center;
  margin-top: 40px;
}

.seminarListLink_item {
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 1.5;
  padding: 0 1.6em;
}

.seminarListLink_item+.seminarListLink_item {
  border-left: 1px solid #aaa;
}

.seminarListContent {
  width: 100%;
  margin-top: 160px;
}

.seminarListContent_title {
  font-size: 110%;
  font-weight: bold;
  letter-spacing: .2em;
}

.seminarListBorder {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #111;
  margin-top: 24px;
}

.seminarTable_headText {
  margin-top: 16px;
}

.seminarTableWrapper {
  overflow-x: scroll;
  margin-top: 32px;
}

.seminarTable {
  width: 100%;
  display: flex;
  font-size: 90%;
}

.seminarTable+.seminarTable>.seminarTableInner {
  border-top: none;
}

.seminarTableInner {
  border: 1px solid #aaa;
}

.seminarTableInner+.seminarTableInner {
  border-left: none;
}

.seminarTableIndex {
  min-width: 200px;
  max-width: 200px;
}

.seminarTableContent {
  min-width: 280px;
  max-width: 280px;
}

.seminarTableTime {
  min-width: 104px;
  max-width: 104px;
}

.seminarTablePurpose {
  min-width: 488px;
  max-width: 488px;
}

.seminarTable_title {
  background-color: #646464;
  color: #fff;
  font-weight: bold;
  letter-spacing: .24em;
  text-align: center;
  box-sizing: border-box;
  padding: .3em 0;
}

.seminarTable_text {
  box-sizing: border-box;
  padding: 40px 1.6em 32px;
}

.seminarTable_text+.seminarTable_text {
  padding: 0 1.6em 32px;
}

.seminarTableIndex>.seminarTable_text {
  font-weight: bold;
}

.seminarFlow {
  margin-bottom: 200px;
}


@media screen and (max-width:980px) {
  .seminarFeatureWrapper {
    flex-direction: column;
  }

  .seminarFeature_image {
    width: 65%;
    margin: 0 auto;
  }

  .seminarFeatureContent {
    margin: -32px auto 0;
    padding: 32px 3%;
  }
}

@media screen and (max-width:767px) {
  .seminarMessage {
    width: 90%;
    max-width: 440px;
  }

  .seminarFeatureWrapper02 {
    margin-top: 64px;
  }

  .seminarFeature_image {
    width: 100%;
  }

  .seminarFeatureContent {
    width: 90%;
    margin: -24px auto 0;
    padding: 24px 3%;
  }

  .seminarFeatureContent_title {
    font-size: 14px;
  }

  .seminarFeatureContent_title_point {
    font-size: 14px;
    margin-bottom: 12px;
  }

  .seminarList_title {
    font-size: 18px;
  }

  .seminarListLink {
    flex-direction: column;
    align-items: center;
  }

  .seminarListLink_item {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
  }

  .seminarListLink_item+.seminarListLink_item {
    border-left: none;
  }

  .seminarListLink_item+.seminarListLink_item::before {
    content: "";
    display: block;
    width: 16px;
    height: 1px;
    background-color: #aaa;
    margin: 8px 0;
  }

  .seminarListContent {
    margin-top: 104px;
  }

  .seminarListBorder {
    margin-top: 16px;
  }

  .seminarTableWrapper {
    margin-top: 24px;
  }

  .seminarTable_text {
    padding: 24px 1.6em 16px;
  }

  .seminarTable_text+.seminarTable_text {
    padding: 0 1.6em 16px;
  }

  .seminarTableIndex {
    min-width: 152px;
    max-width: 152px;
  }

  .seminarTableContent {
    min-width: 200px;
    max-width: 200px;
  }

  .seminarTableTime {
    min-width: 88px;
    max-width: 88px;
  }

  .seminarTablePurpose {
    min-width: 320px;
    max-width: 320px;
  }

  .seminarFlow {
    margin-bottom: 104px;
  }
}



/* ここから注意 */

/* 下層情報ページ */
.lowerSectionTitle02 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .2em;
}

.lowerSectionTitle03 {
  font-size: 18px;
  letter-spacing: .2em;
  font-family: din-2014, "TsukuGoPr5-D", YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  ;
  font-weight: 500;
}

.lowerSectionTitle03::before,
.lowerSectionTitle05::before {
  content: "";
  display: block;
  width: 64px;
  height: 1px;
  background-color: #111;
  margin-bottom: 24px;
  transition: .4s cubic-bezier(.46, .03, .93, .49);
  transform: scaleX(0);
  transform-origin: top left;
}

.animation.lowerSectionTitle03::before,
.animation.lowerSectionTitle05::before {
  transform: scaleX(1);
  opacity: .4;
}

.lowerSectionTitle04 {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .2em;
  text-align: center;
}

.lowerSectionTitle05 {
  font-size: 12px;
}

.lowerSectionTitle05 span {
  font-size: 24px;
  display: block;
  margin-bottom: -8px;
}

.titleSmall {
  font-size: 75%;
  letter-spacing: .1em;
}

.lowerSection_text {
  width: 70%;
  margin-top: 48px;
}

.lowerSection_text02 {
  width: 70%;
  margin-top: 32px;
}

.text_alert {
  display: block;
  font-size: 90%;
  margin-top: 16px;
}

.lowerSection_image {
  width: 100%;
  margin: 80px auto 0;
}

.lowerSection_figure {
  width: 75%;
  margin: 40px auto 0;
}

.lowerBorder {
  display: block;
  width: 120px;
  height: 1px;
  background-color: #323232;
  margin-top: 32px;
}

.itemBorder {
  display: flex;
  align-items: center;
}

.itemBorder::before {
  content: "";
  display: block;
  width: 6px;
  height: 1px;
  background-color: #646464;
  margin-right: 6px;
}

.nowLoading {
  font-size: 20px;
  letter-spacing: .24em;
  font-weight: bold;
  color: #fff;
  background-color: #323232;
  margin: 40px auto 120px;
  width: fit-content;
  padding: 4px 20px;
}

.healthSystemContent+.healthSystemContent {
  margin-top: 72px;
}

.healthSystem_title {
  display: inline-block;
  font-size: 110%;
  font-weight: bold;
  color: #fff;
  background-color: #646464;
  padding: 0 1em;
}

.healthSystem_subtitle {
  font-size: 110%;
  font-weight: bold;
  margin-top: 32px;
}

.healthSystem_titleNum {
  display: flex;
  align-items: center;
  font-size: 10px;
  margin-bottom: -6px;
}

.healthSystem_titleNum::after {
  content: "";
  width: 24px;
  height: 1px;
  background-color: #aaa;
  margin: 2px 0 0 4px;
}

.healthEffortLink {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 56px;
}

.healthEffortLink_item {
  font-weight: bold;
  padding: 0 2.5em;
  line-height: 1.7;
}

.healthEffortLink_item+.healthEffortLink_item {
  border-left: 1px solid #ccc;
}


@media screen and (max-width:980px) {
  .lowerSection_image {
    margin-top: 64px;
  }

  .healthAbout {
    flex-direction: column-reverse;
  }

  .healthEffortWrapper {
    margin-top: 80px;
  }

  .healthAbout_image {
    width: 60%;
    margin: 0 auto;
  }

  .healthAbout_text {
    width: 100%;
    margin: 40px auto 0;
  }

  .wpFunctionItem,
  .wpActualizationItem {
    margin-top: 88px;
  }

  .ecFlowContent_title {
    width: 280px;
  }

  .ecFlowContent_text {
    width: calc(100% - 280px);
  }
}

@media screen and (max-width:768px) {

  .lowerSectionTitle02,
  .lowerSectionTitle03 {
    font-size: 16px;
  }

  .lowerSectionTitle03::before {
    width: 48px;
    margin-bottom: 16px;
  }

  .lowerSectionTitle05 span {
    font-size: 20px;
  }

  .lowerSection_text {
    width: 100%;
    margin-top: 32px;
    text-align: justify;
  }

  .lowerSection_text02 {
    width: 100%;
    margin-top: 24px;
  }

  .lowerSection_image {
    margin-top: 40px;
  }

  .lowerSection_figure {
    width: 90%;
    margin-top: 32px;
  }

  .wpFunctionItem,
  .wpActualizationItem {
    width: 90%;
    margin: 56px auto 0;
  }

  .wpActualization {
    margin-bottom: 104px;
  }

  .ecFeatureItem {
    width: 100%;
  }

  .ecFunctionList {
    justify-content: center;
  }

  .ecFunctionItem {
    width: 80%;
  }

  .ecFlowContent_text {
    width: 100%;
    margin-top: 16px;
  }

  .ecFlowContent_titleNum {
    font-size: 10px;
    width: 56px;
    height: 56px;
  }

  .ecSettlement {
    margin-bottom: 104px;
  }

  .ecSettlementService_text {
    width: 100%;
  }
}



/* 下層情報New */
.infoMessage {
  width: 90%;
  max-width: 720px;
  margin: 80px auto 0;
  max-height: 66rem;
}

.infoMessage_title {
  font-size: 24px;
  letter-spacing: .2em;
  text-align: center;
  line-height: 1.8;
}

.infoMessage_text {
  width: 80%;
  margin: 24px auto 0;
  letter-spacing: .17em;
  line-height: 2.2;
}

.infoMessage_text:first-of-type {
  margin-top: 32px;
}

.infoMessage_image {
  position: relative;
  width: 100%;
  margin-top: 64px;
  overflow: hidden;
}

.infoIndex {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  margin-top: 200px;
}

.infoIndex02 {
  flex-direction: row;
  margin-top: 120px;
}

.infoIndexImage {
  width: 50%;
  overflow: hidden;
}

.infoIndexImage02 {
  margin-top: 120px;
}

.infoIndexContent {
  width: 60%;
  margin-left: -10%;
  margin-top: 120px;
  box-sizing: border-box;
  padding: 80px 0 80px 14%;
  background-color: #E5F0F9;
}

.infoIndexContent02 {
  margin: 0 -10% 0 auto;
  padding: 80px 14% 80px 0;
  background-color: #e1e6ea;
}

.infoIndexBox {
  width: 90%;
  max-width: 560px;
}

.infoIndexBox02 {
  margin-left: auto;
  margin-right: 0;
}

.infoIndex_title {
  font-weight: bold;
  font-size: 140%;
  line-height: 1.7;
}

.infoIndex_text {
  margin-top: 32px;
}

.infoIndexWord {
  margin-top: 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.infoIndexWord_item {
  font-size: 85%;
  font-weight: bold;
  margin-top: 4px;
}

.infoBtnWrapper {
  display: flex;
  justify-content: center;
  margin-top: 120px;
}

.otherService {
  width: 720px;
  margin: 120px auto 0;
}

.otherService_title {
  font-size: 120%;
  font-weight: bold;
}

.otherServiceWrapper {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}

.otherService_item {
  margin-top: 8px;
}

.codingFeatureList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 24px;
}

.codingFeature_item {
  width: 45%;
  margin-top: 72px;
}

.codingPrepare_item {
  display: flex;
  align-items: center;
  border-bottom: 1px solid #aaa;
  margin-top: 24px;
  box-sizing: border-box;
  padding: 0 4px 8px;
}

.codingPrepare_name {
  width: 320px;
  font-family: din-2014, "TsukuGoPr5-D", YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  ;
  font-weight: 500;
}

.codingPrepare_text {
  width: calc(100% - 320px);
}

.codingFlow {
  margin-bottom: 200px;
}

/* wp */

.wpLogo {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
}

.wpDetailList {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.wpDetailItem {
  width: 50%;
  box-sizing: border-box;
  padding: 64px 64px 64px 0;
  border-bottom: 1px solid #ccc;
}

.wpDetailItem_bottom {
  border-bottom: none;
}

.wpDetailItem:nth-of-type(even) {
  padding: 64px 0 64px 64px;
  border-left: 1px solid #ccc;
}

.lowerFlexContent {
  margin-top: 40px;
}

.lowerSubtopic {
  width: fit-content;
  border: 1px solid #aaa;
  padding: 0 2.5em;
  border-radius: 40px;
}

.wpNet {
  padding-bottom: 200px;
}

.wpNet_text {
  margin-top: 24px;
  width: 70%;
}

.wpNetContent {
  background-color: #fff;
  box-sizing: border-box;
  padding: 64px;
}

.wpNetContentItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.wpNetContentItem+.wpNetContentItem {
  margin-top: 48px;
  padding-top: 48px;
  border-top: 1px solid #ccc;
}

.wpNetContentBox {
  width: 50%;
}

.wpNetContent_image {
  width: 45%;
}

.wpNetContent_topic:first-of-type {
  margin-top: 24px;
}

/* it */
.lowerFlex01 {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}

.lowerFlex01_image {
  width: 65%;
}

.lowerFlex01_box {
  width: 40%;
  margin-left: -5%;
  background-color: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 32px 0 32px 5%;
}

.itFeatureContent_text+.itFeatureContent_text {
  margin-top: 4px;
}

.itNeedWrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.itNeedContent {
  width: 35%;
}

.itNeedContent_text {
  margin-top: 48px;
}

.itNeedContent_text+.itNeedContent_text {
  margin-top: 24px;
}

.itNeed_image {
  width: 55%;
}

.subsidyDetail {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 160px;
  box-sizing: border-box;
  padding: 80px 40px;
  border: 1px solid #ccc;
}

.subsidyDetail_title {
  font-size: 18px;
  font-weight: bold;
}

.subsidyDetailList {
  margin-top: 40px;
}

.subsidyDetail_item {
  display: flex;
  align-items: flex-start;
  margin-top: 24px;
}

.subsidyDetail_titleWrapper {
  width: 200px;
  position: relative;
  margin-right: 24px;
}

.subsidyDetail_titleWrapper::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #aaa;
}

.subsidyDetail_subtitle {
  position: relative;
  z-index: 1;
  font-weight: bold;
  background-color: #fff;
  width: fit-content;
  padding-right: 16px;
}

.subsidyDetail_text {
  width: calc(100% - 224px);
}

.subsidyDetail_textItem+.subsidyDetail_textItem {
  margin-top: 16px;
}

.subsidyDetail_text_alert {
  display: block;
  font-size: 90%;
  margin-top: -2px;
}

.subsidyDetail_text_bold {
  font-weight: bold;
  font-size: 140%;
  letter-spacing: .2em;
  line-height: 0.1;
}

.subsidyPrepareItem {
  margin-top: 72px;
}

.subsidyPrepareItem_title {
  font-size: 18px;
  font-weight: bold;
}

.subsidyPrepareItem_title span {
  font-weight: normal;
  font-size: 80%;
  display: inline-block;
  margin-left: 8px;
}

.subsidyPrepareItem_text {
  margin-top: 16px;
}

.subsidyPrepareItem_subtitle {
  font-weight: bold;
  margin-top: 24px;
}

.subsidyPrepareItem_subtitle span {
  font-weight: normal;
  font-size: 95%;
  margin-left: 4px;
}

.subsidyPrepareDocument_item {
  display: flex;
  align-items: center;
}

.subsidyPrepareDocument_item:first-of-type {
  margin-top: 8px;
}

.subsidyPrepareDocument_item::before {
  content: "・";
  margin-right: 4px;
}

.subsidyFeature_image {
  width: 70%;
  margin: 4em auto 0;
}

.itFlow {
  margin-bottom: 160px;
}

/* 小規模 */
.subsidyFeatureList_title {
  font-size: 16px;
}

.subsidyFeatureList_text {
  margin-top: 8px;
}

.subsidyFeatureItem+.subsidyFeatureItem {
  margin-top: 48px;
}

.subsidyNeedContent {
  width: 50%;
  margin: 80px auto 0;
}

.subsidyNeed_text {
  margin-top: 40px;
}

.sustainDetail_item {
  margin-top: 56px;
}

.subsidyDetailAssist {
  background-color: #d0d7dd;
  box-sizing: border-box;
  padding: 24px;
}

.subsidyDetailAssist02 {
  background: #fff;
  border: solid 2px #d0d7dd;
}

.subsidyDetailAssist03 {
  background-color: #EBEBEB;
}

.subsidyDetailAssist+.subsidyDetailAssist {
  margin-top: 24px;
}

.subsidyDetailAssist_text:first-of-type {
  margin-top: 8px;
}

.subsidySchedule+.subsidySchedule {
  margin-top: 32px;
}

.subsidySchedule_title {
  font-size: 16px;
  font-weight: bold;
  line-height: 1.8;
  border: 1px solid #aaa;
  padding: 0 1.5em;
  width: fit-content;
  margin-bottom: 8px;
}

.subsidySchedule .subsidyDetail_text_alert {
  margin-top: 40px;
}

.subsidyFlow {
  margin-bottom: 200px;
}

/* ECサイト */
.ecFeatureContent {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 24px;
}

.ecFeatureItem {
  width: 45%;
  margin-top: 72px;
}

.ecDetailItem {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 40px;
}

.ecDetailItem:nth-of-type(even) {
  padding: 40px;
}

.ecDetailItem_icon {
  width: 32px;
}

.ecDetailBox {
  width: calc(100% - 72px);
}

.ecDetailItem_bottom {
  border-bottom: none;
  border-right: 1px solid #ccc;
}

.ecPaypal {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.ecPaypal_image {
  width: 45%;
}

.ecPaypalBox {
  width: 45%;
}

.ecPaypal_item {
  display: flex;
  align-items: center;
}

.ecPaypal_item::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #aaa;
  margin-right: 4px;
}

.ecPaypal_item+.ecPaypal_item {
  margin-top: 4px;
}

.ecPriceWrapper {
  display: flex;
  box-sizing: border-box;
  align-items: center;
  border: 1px solid #ccc;
  padding: 40px 0;
}

.ecPrice01,
.ecPrice02 {
  width: 47%;
  box-sizing: border-box;
  padding: 16px 0;
}

.ecPrice02 {
  width: 53%;
  border-left: 1px solid #ccc;
}

.ecPrice01_inner {
  width: fit-content;
  margin: 0 auto;
}

.ecPrice01_item+.ecPrice01_item {
  margin-top: 32px;
}

.ecPrice01_itemTitle {
  display: flex;
  align-items: center;
}

.ecPrice01_itemTitle span {
  font-size: 85%;
  margin-top: 1px;
  margin-left: 8px;
  color: #aaa;
}

.ecPrice01_itemTitle::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #aaa;
  margin-right: 6px;
}

.ecPrice01_itemText {
  font-size: 125%;
  margin-top: -4px;
}

.ecPrice02_inner {
  width: 360px;
  margin: 0 auto;
}

.ecPrice02_option {
  font-weight: bold;
  font-size: 110%;
  margin-bottom: 16px;
}

.ecPrice02_item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 90%;
  margin-top: 8px;
}

.ecPrice02_itemText {
  text-align: right;
}

.ecFlow {
  margin-bottom: 200px;
}

/* 健康経営 */
.healthIndexImage {
  position: relative;
}

.healthLogo {
  position: absolute;
  z-index: 1;
  width: 40%;
  top: 10%;
  right: 5%;
}

.healthIndex_title {
  font-size: 120%;
}

.healthIndex_subtitle {
  font-size: 140%;
  display: block;
  margin-bottom: -4px;
}

.healthProof {
  width: 90%;
  max-width: 1080px;
  margin: 160px auto 0;
  display: flex;
  justify-content: space-between;
  box-sizing: border-box;
  border: 1px solid #aaa;
}

.healthProof_image {
  width: 33%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #eaeaea;
}

.healthProofContent {
  width: 65%;
  box-sizing: border-box;
  padding: 48px 3%;
}

.healthProof_title {
  font-size: 18px;
  font-weight: bold;
  letter-spacing: .2em;
  line-height: 1.7;
}

.healthProof_text {
  margin-top: 24px;
}

.healthPurposeContent {
  display: flex;
  justify-content: space-between;
}

.healthPurpose_image {
  overflow: hidden;
}

.healthPurpose_image,
.healthPurposeBox {
  width: 45%;
}

.healthPurpose_text+.healthPurpose_text {
  margin-top: 24px;
}

.healthEffortContent {
  box-sizing: border-box;
  border: 1px solid #ccc;
}

.healthEffortContent_title {
  text-align: center;
  background-color: #646464;
  color: #fff;
  font-size: 130%;
  font-weight: bold;
  padding: .5em 0;
}

.healthEffortInner {
  padding: 0 2%;
}

.healthEffortWrapper {
  width: 100%;
  border-bottom: 1px solid #ccc;
}

.healthEffortFlex {
  display: flex;
  justify-content: space-between;
  margin: 32px auto 32px;
}

.healthEffort_title {
  font-size: 130%;
  font-weight: bold;
  line-height: 1.5;
  width: 25%;
  box-sizing: border-box;
  padding: 32px 0 24px 24px;
}

.healthEffortBox {
  width: 70%;
  border-left: 1px solid #ccc;
  box-sizing: border-box;
  padding: 16px 40px;
}

.healthEffort_subtitle {
  font-weight: bold;
  align-items: center;
}

.healthEffort_subtitle::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 1px;
  margin: 0 6px 4px 2px;
  background-color: #666;
}

.healthEffort_text {
  margin-top: 4px;
}

.healthEffortList {
  margin-top: 40px;
}

.healthEffort_item {
  font-size: 95%;
  display: flex;
}

.healthEffort_item::before {
  content: attr(data-text);
  margin-right: 4px;
}

.healthResultFlex {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.healthResult_item {
  display: flex;
  align-items: center;
  font-size: 120%;
}

.healthResult_item+.healthResult_item {
  margin-top: 8px;
}

.healthResult_num {
  display: flex;
  align-items: center;
  font-size: 90%;
}

.healthResult_num::after {
  content: "";
  width: 32px;
  height: 1px;
  background-color: #ccc;
  margin: 0 8px;
}

.healthResult_text {
  line-height: 1.5;
  background: linear-gradient(to bottom, rgba(255, 232, 102, 0) 60%, #fcfc92 60%);
}

.healthSupport {
  padding-bottom: 200px;
}

/* 映像制作 */
.movieService {
  margin-top: 40px;
}

.movieServiceList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.movieServiceItem {
  width: 45%;
  margin-top: 72px;
}

.movieServiceYoutube {
  background-color: #f7f7f7;
  width: fit-content;
  padding: 28px 40px;
  margin-top: 72px;
}

.movieServiceYoutube_list {
  display: flex;
  gap: 56px;
  flex-wrap: wrap;
  letter-spacing: 0.05em;
}

.movieServiceYoutube_title {
  font-size: 108%;
  font-weight: 600;
}

.movieServiceYoutube_text {
  display: flex;
  gap: 24px;
}

.movieServiceYoutube_textList li {
  font-size: 95%;
  margin-top: 0.3em;
  display: flex;
  align-items: center;
}

.movieServiceYoutube_textList li::before {
  content: "-";
  margin-right: 0.2em;
}

.movieServiceYoutube_textList li:first-child {
  margin-top: 0.8em;
}

.movieType {
  margin-top: 48px;
}

.movieTypeItem {
  border-bottom: 1px solid #aaa;
  display: flex;
  align-items: center;
  padding: 28px 8px 20px;
}

.movieTypeItem_title {
  font-size: 110%;
  font-weight: 600;
  width: 20em;
}

.movieTypeItem_text {
  flex: 1;
}

.movieWorks {
  margin-top: 120px;
}

.movieWorks_title {
  font-size: 140%;
  font-weight: 600;
}

.movieWorks_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 32px;
}

.movieWorks_list::after {
  content: "";
  width: 31%;
  height: 0;
}

.movieWorks_item {
  width: 31%;
}

.movieWorks_itemImage {
  overflow: hidden;
}

.movieWorks_itemImage img {
  transition: .5s cubic-bezier(.14, 1, 1, 1);
}

.movieWorks_item:hover .movieWorks_itemImage img {
  transform: scale(1.03);
}

.movieWorks_itemTitle {
  font-weight: 600;
  letter-spacing: 0.1em;
  line-height: 1.6;
  margin-top: 1em;
}

.movieBtnFlex {
  margin-top: 48px;
  justify-content: flex-start;
}

.movieFlow {
  margin-bottom: 200px;
}

@media screen and (max-width:980px) {
  .movieServiceYoutube {
    padding: 24px;
  }

  .movieServiceYoutube_list {
    flex-direction: column;
    gap: 32px;
  }
}

@media screen and (max-width:768px) {
  .movieServiceItem {
    width: 100%;
    margin-top: 40px;
  }

  .lowerFlex_text {
    margin-top: 4px;
  }

  .movieServiceYoutube {
    margin-top: 40px;
  }

  .movieServiceYoutube_list {
    gap: 24px;
  }

  .movieServiceYoutube_text {
    flex-direction: column;
    gap: 0;
  }

  .movieServiceYoutube_textList li:first-child {
    margin-top: 0.3em;
  }

  .movieType {
    margin-top: 16px;
  }

  .movieTypeItem {
    display: block;
    padding: 28px 4px 20px;
  }

  .movieTypeItem_text {
    margin-top: 4px;
  }

  .movieWorks {
    margin-top: 64px;
  }

  .movieWorks_list {
    margin-top: 0;
  }

  .movieWorks_item {
    width: 100%;
    margin-top: 32px;
  }

  .movieFlow {
    margin-bottom: 104px;
  }
}


@media screen and (max-width:980px) {
  .infoMessage {
    max-width: 560px;
  }

  .infoIndex {
    flex-direction: column-reverse;
  }

  .infoIndexImage {
    width: 90%;
  }

  .infoIndexContent {
    width: 90%;
    margin-left: auto;
    margin-top: -200px;
    padding: 264px 0 80px 8%;
  }

  .infoIndexImage02 {
    margin-top: 0;
    margin-left: auto;
  }

  .infoIndexContent02 {
    margin-left: 0;
  }

  .infoIndexBox02 {
    margin-left: 0;
  }

  .wpDetailItem {
    width: 100%;
    padding: 64px 8px 48px;
  }

  .wpDetailItem:first-of-type {
    padding-top: 0;
  }

  .wpDetailItem:nth-of-type(even) {
    border-left: none;
    padding: 64px 8px 48px;
  }

  .wpDetailItem_bottom {
    border-bottom: 1px solid #ccc;
  }

  .lowerFlex01_image {
    width: 80%;
  }

  .lowerFlex01_box {
    width: 55%;
    margin-top: -40px;
    margin-left: auto;
  }

  .itNeedWrapper {
    flex-direction: column;
  }

  .itNeedContent {
    width: 100%;
  }

  .itNeed_image {
    width: 80%;
    margin: 80px auto 0;
  }

  .subsidyDetail {
    margin-top: 120px;
  }

  .ecDetailItem,
  .ecDetailItem:nth-of-type(even) {
    padding: 40px 8px 32px;
  }

  .ecDetailItem_bottom {
    border-right: none;
    border-bottom: 1px solid #ccc;
  }

  .ecPaypal {
    flex-direction: column;
  }

  .ecPaypalBox {
    margin-top: 32px;
  }

  .ecPriceWrapper {
    flex-direction: column;
    width: 640px;
    margin-left: auto;
    margin-right: auto;
  }

  .ecPrice01 {
    width: 100%;
  }

  .ecPrice02 {
    width: 80%;
    border-left: none;
    border-top: 1px solid #ccc;
    margin-top: 32px;
    padding-top: 48px;
  }

  .healthEffortFlex {
    flex-direction: column;
    box-sizing: border-box;
    padding: 0 1em;
  }

  .healthEffort_title {
    width: 100%;
    padding: 0;
  }

  .healthEffort_title::after {
    content: "";
    display: block;
    width: 64px;
    height: 1px;
    background-color: #888;
    margin-top: 24px;
  }

  .healthEffortBox {
    width: 100%;
    margin: 40px auto 0;
    padding: 0;
    border-left: none;
  }

  .healthProof {
    max-width: 480px;
    flex-direction: column;
  }

  .healthProofContent {
    width: 100%;
    padding: 48px 5%;
  }

  .healthProof_image {
    width: 100%;
  }

  .healthPurposeContent {
    flex-direction: column;
  }

  .healthPurpose_image,
  .healthPurposeBox {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }

  .healthPurposeBox {
    margin-top: 40px;
  }

  .healthSupport {
    padding-bottom: 160px;
  }
}

@media screen and (max-width:768px) {
  .infoMessage_title {
    font-size: 20px;
  }

  .infoMessage_text {
    width: 100%;
  }

  .infoIndex {
    margin-top: 160px;
  }

  .infoIndex02 {
    margin-top: 80px;
  }

  .lowerBorder {
    width: 80px;
  }

  .infoIndexContent {
    margin-top: -96px;
    padding: 136px 0 64px 8%;
  }

  .otherService {
    width: 90%;
    max-width: 480px;
    margin-top: 80px;
  }

  .infoBtnWrapper {
    margin-top: 64px;
  }

  .otherServiceWrapper {
    flex-wrap: wrap;
    margin-top: 16px;
  }

  .otherServiceList {
    width: 100%;
  }

  .codingFeature_item {
    width: 100%;
    margin-top: 40px;
  }

  .codingPrepare_item {
    flex-direction: column;
    align-items: flex-start;
    margin-top: 32px;
    padding: 0 4px 16px;
  }

  .codingPrepare_text {
    width: 100%;
    margin-top: 8px;
  }

  .codingFlow {
    margin-bottom: 104px;
  }

  .wpNet {
    padding-bottom: 104px;
  }

  .wpNet_text {
    width: 100%;
  }

  .wpNetContent {
    padding: 48px 24px;
  }

  .wpNetContentItem {
    flex-direction: column-reverse;
  }

  .wpNetContentBox {
    width: 100%;
    margin-top: 32px;
  }

  .wpNetContent_topic:first-of-type {
    margin-top: 16px;
  }

  .wpNetContent_image {
    width: 100%;
  }

  .lowerFlex01_image {
    width: 100%;
  }

  .lowerFlex01_box {
    width: 90%;
    margin: -24px auto 0;
    padding: 24px 0 24px 5%;
  }

  .itNeed_image {
    width: 100%;
    margin: 40px auto 0;
  }

  .subsidyDetail {
    margin-top: 104px;
    padding: 64px 24px;
  }

  .subsidyDetailList {
    margin-top: 24px;
  }

  .subsidyDetail_item {
    flex-direction: column;
  }

  .subsidyDetail_text {
    width: 100%;
    margin-top: 16px;
  }

  .subsidyDetail_titleWrapper {
    width: 160px;
  }

  .subsidyNeedContent {
    width: 100%;
    margin-top: 64px;
  }

  .ecFeatureContent {
    margin-top: 0;
  }

  .ecFeatureItem {
    width: 100%;
  }

  .ecPaypal_image {
    width: 100%;
  }

  .ecPaypalBox {
    width: 100%;
  }

  .ecPriceWrapper {
    width: 100%;
  }

  .ecPrice01 {
    padding: 0;
  }

  .ecPrice01_item+.ecPrice01_item {
    margin-top: 16px;
  }

  .ecPrice02 {
    width: 90%;
    max-width: 360px;
    padding-top: 32px;
  }

  .ecPrice02_inner {
    width: 100%;
  }

  .healthProof {
    margin-top: 104px;
  }

  .healthProof .ib {
    display: inline;
  }

  .healthProof_title {
    font-size: 16px;
  }

  .healthEffortLink {
    flex-direction: column;
    margin-top: 40px;
  }

  .healthEffortLink_item+.healthEffortLink_item {
    border-left: none;
    margin-top: 12px;
  }

  .healthEffortWrapper {
    margin-top: 56px;
  }

  .healthEffortFlex {
    margin: 0 auto 24px;
  }

  .healthEffort_title {
    padding: 0 0 16px 0px;
  }

  .healthEffortBox {
    margin-top: 32px;
  }

  .healthSystem_title {
    padding: 0 .3em;
  }
}



/* プライバシー利用規約 */
.grecaptcha-badge {
  z-index: 99;
}


/* ブログサイドバー */
/* ブログサイドバー */
.articleFlex {
  display: flex;
  justify-content: space-between;
}

.widget-title {
  margin: 15px 0 15px 0;
  font-size: 18px;
  letter-spacing: 0.14em;
  border-bottom: 1px solid #aaaaaa;
  font-family: din-2014, sans-serif;
}

.articleWrap {
  width: calc(100% - 350px);
}

.sidebarDiv {
  margin-left: 100px;
  width: 250px;
}

.widget_recent_entries {
  margin-bottom: 50px;
}

.widget_recent_entries ul li a {
  font-size: 85%;
  width: 250px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.widget_archive ul li {
  font-size: 85%;
}

.widget_categories ul li {
  font-size: 85%;
}

.widget_tag_cloud ul li {
  font-size: 85%;
}

@media screen and (max-width:1350px) {
  .articleFlex {
    flex-direction: column;
  }

  .sidebarDiv {
    margin-left: 0px;
    width: 100%;
  }

  .articleWrap {
    width: 100%;
  }
}

/* レンタルルームフォーム */
.rental-contact {
  padding-top: 150px;
}

@media screen and (max-width:1023px) {
  .rental-contact {
    padding-top: 120px;
  }
}

@media screen and (max-width:768px) {
  .rental-contact {
    padding-top: 80px;
  }
}



/* works */
.works-movie {
  width: 100%;
  max-width: 640px;
}

.works-movie-inner {
  position: relative;
  padding-top: 56.25%;
}

.works-movie-inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
}

/* blog */
.blog-link-cont {
  margin: 70px 0 40px;
}

.blog-link-cont::before {
  content: '';
  width: 30px;
  height: 1px;
  display: inline-block;
  background-color: #333333;
  margin-bottom: 15px;
}

.blog-link-cont::after {
  content: '';
  width: 30px;
  height: 1px;
  display: inline-block;
  background-color: #333333;
  margin-top: 30px;
}

.blog-link-cont li a {
  font-family: din-2014, "TsukuGoPr5-B";
  font-weight: 600;
  position: relative;
  display: inline-block;
  transition: .3s;
  color: #435F77;
  letter-spacing: 1.5px;
}

.blog-link-cont li a::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: '';
  width: 0;
  height: 1px;
  /*下線の太さ*/
  background-color: #435F77;
  /*下線の色*/
  transition: .3s;
}

.blog-link-cont li a:hover::after {
  width: 100%;
}

.blog-link-inner {
  margin-bottom: 20px;
}

.blog-info-txt-b {
  font-family: din-2014, "TsukuGoPro-B";
  font-weight: 600;
}

.blog-txt-s {
  font-size: 12px;
}

.blog-txt-m {
  font-size: 13px;
}




/* 緊急復旧サービス */
.rescueIndex {
  margin-top: 160px;
  position: relative;
  z-index: 1;
}

.rescueIndex .infoIndexContent {
  width: 45%;
  margin-left: 0;
  margin-top: 0;
  background-color: transparent;
  max-height: 66rem;
  padding: 0;
}

.rescueIndex .infoIndexBox {
  margin: 0 auto;
  padding-top: 100px;
}

.rescueIndex .lowerSection_text {
  margin-top: 0;
}

.rescueIndex .lowerBorder {
  margin-top: 16px;
}

.rescueIndex .infoIndex_text {
  margin-top: 16px;
}

.rescueIndex01 .lowerSection_text {
  padding-bottom: 24px;
}

.rescueIndex .infoIndex_title {
  margin-top: 46px;
  font-family: din-2014, "TsukuGoPr5-D", YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  ;
  font-weight: 500;
}

.rescueIndex .infoIndexImage {
  position: relative;
  width: 55%;
  overflow: inherit;
}

.rescueIndex .infoIndexImage .fadeRightSlide {
  overflow: hidden;
}

.rescueIndex .infoIndexbg {
  width: 77vw;
  height: 27vw;
  background-color: #E5F0F9;
  position: absolute;
  z-index: -1;
  right: 0;
  top: 32%;
}

.rescueIndex02 {
  margin-top: 15vw;
}

.rescueIndex02 .infoIndexBox {
  padding-top: 40%;
}

.rescueIndex02 .infoIndex_title:first-child {
  margin-top: 0;
}

.rescueIndex02 .infoIndexbg {
  width: 68vw;
  left: 0;
  top: 40%;
  background-color: #e1e6ea;
}

.rescueIndex03 {
  margin-top: 25vw;
}

.rescueIndex03 .infoIndexBox {
  padding-top: 0;
}

.rescueIndex03 .infoIndex_title:nth-child(1) {
  margin-top: 0;
}

.rescueIndex03 .infoIndexImage {
  margin-top: 5%;
}

.rescueIndex03 .infoIndexbg {
  top: -30%;
}

.trouble-case {
  margin: 200px 11vw;
  background-color: #323232;
  color: #f2f2f2;
  padding: 16em 2em 13em;
}

.trouble-case__wrap {
  width: fit-content;
  margin: 0 auto;
  display: flex;
  gap: 8vw;
}

.trouble-case__left .lowerSectionTitle03 {
  font-size: clamp(1.125rem, 0.996rem + 0.55vw, 1.875rem);
}

.trouble-case__left .lowerSectionTitle03::before {
  background-color: #fafafa;
}

.trouble-case__left .animation.lowerSectionTitle03::before,
.animation.lowerSectionTitle05::before {
  opacity: 1;
}

.trouble-case__left .lowerSection_text {
  width: 100%;
  font-size: clamp(0.938rem, 0.884rem + 0.23vw, 1.25rem);
  margin-top: 18px;
}

.trouble-case__right .lowerSectionContent {
  margin-top: 0;
}

.trouble-case__right .lowerSectionContent p {
  font-size: clamp(0.938rem, 0.83rem + 0.46vw, 1.563rem);
  padding-left: 1.4em;
  position: relative;
}

.trouble-case__right .lowerSectionContent p::before {
  content: "";
  width: 6px;
  height: 2px;
  background-color: #fafafa;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  position: absolute;
}

.picture {
  margin-top: 80px;
}

.maintenance {
  padding-top: 0;
  margin-top: 100px;
  max-width: 1030px;
}

.maintenance .lowerSectionContent {
  margin-top: 60px;
}

.maintenance .lowerSectionTitle03 {
  padding-left: 25px;
  position: relative;
}

.maintenance .lowerSectionTitle03::before {
  content: "";
  width: 6px;
  height: 2px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  position: absolute;
}

.maintenance .codingPrepare_item {
  margin-top: 0;
  padding-top: 16px;
}

.maintenance-exclude {
  margin-top: 24px;
  box-sizing: border-box;
  padding: 0 4px 16px;
}

.maintenance-exclude .codingPrepare_name {
  width: 100%;
}

.rescue__qa {
  margin-bottom: 200px;
}

.rescue__qa .lowerSection_text {
  width: 100%;
}

.rescue__qa .lowerSectioううnContent {
  margin-top: 60px;
}

.rescue__qa-list {
  padding: 2.1em 0;
  border-bottom: 1px solid #aaa;
  box-sizing: border-box;
}

.rescue__qa-list__text {
  display: flex;
  align-items: baseline;
  gap: 3em;
  font-family: din-2014, "TsukuGoPr5-D", YakuHanJP_Narrow, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", YuGothic, 'Lato', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', sans-serif;
  ;
  font-weight: 500;
}

.rescue__qa-list__text:nth-child(1) {
  margin-bottom: 1em;
}

.rescue__qa-list__text span {
  font-size: 1.25em;
}

.rescue__infoBtnWrapper {
  margin-bottom: 10rem;
}

.rescue__lowerSection_text {
  margin-top: 24px;
}

@media screen and (max-width:980px) {
  .rescueIndex {
    margin-top: 160px;
  }

  .rescueIndex .infoIndexBox {
    padding-top: 80px;
  }

  .rescueIndex .infoIndexImage {
    width: 80%;
    margin-left: auto;
  }

  .rescueIndex02 .infoIndexImage {
    margin: 0 auto 0 0;
  }

  .rescueIndex .infoIndexContent {
    width: 100%;
  }

  .rescueIndex .infoIndexBox {
    width: 90%;
    min-width: 90%;
  }

  .rescueIndex .infoIndexbg {
    width: 90vw;
    height: 50vw;
  }

  .rescueIndex03 .infoIndexbg {
    top: 40%;
  }

  .trouble-case {
    margin: 100px 0 0;
    padding: 5em 0 6em;
  }

  .trouble-case__wrap {
    flex-direction: column;
    gap: 3.5em;
  }

  .trouble-case__left .lowerSection_text {
    margin-top: 12px;
  }

  .rescue-strengths {
    margin-top: 0;
  }

  .maintenance .lowerSectionContent {
    margin-top: 40px;
  }

  .maintenance .codingPrepare_item {
    flex-direction: column;
    align-items: baseline;
  }

  .maintenance .codingPrepare_item .codingPrepare_text {
    width: 100%;
  }

  .maintenance .codingPrepare_text {
    margin-top: 4px;
  }

  .maintenance-exclude {
    margin-top: initial;
  }

  .rescue__qa {
    margin-bottom: 10em;
  }

  .rescue__qa .lowerSectionContent {
    margin-top: 40px;
  }

  .rescue__infoBtnWrapper {
    margin-bottom: 8em;
  }
}

@media screen and (max-width:768px) {
  .picture {
    width: 80%;
    margin: 80px auto 0;
  }

  .maintenance {
    max-width: 426px;
    margin-top: 60px;
  }
}





/* サービス下層ページ共通 */
.serviceDetail-head {
  padding: 0 0 120px 0;
}

.serviceDetail-head-line {
  width: 100%;
  margin-top: 80px;
  position: relative;
  z-index: 1;
  background-color: #fff;
  box-sizing: border-box;
  display: inline-block;
}

.serviceDetail-head-en-ttl {
  font-size: 12px;
}

.serviceDetail-head-ttl {
  font-size: 23px;
  letter-spacing: .15em;
  font-family: din-2014, "TsukuGoPr5-D";
  font-weight: 500;
}

.serviceDetail-head-problems {
  margin-top: 3.5em;
  border: 1px solid #ccc;
  padding: 2.7em 4em;
  display: flex;
  align-items: center;
}

.serviceDetail-head-problems-ttl {
  font-family: din-2014, "TsukuGoPr5-D";
  font-weight: 500;
  font-size: 1.2em;
}

.serviceDetail-head-problems-list {
  border-left: 1px solid #ccc;
  margin-left: 4em;
  padding-left: 4em;
}

.serviceDetail-head-problems-item {
  display: flex;
  line-height: initial;
  margin-bottom: 0.8em;
}

.serviceDetail-head-problems-item:last-child {
  margin-bottom: 0;
}

.serviceDetail-check-img {
  width: 0.8em;
  margin-right: 18px;
}

.serviceDetail-cont {
  background-color: #f7f7f7;
  padding: 20px 0 120px;
}

.serviceDetail-cont-wrap {
  position: relative;
  z-index: 1;
  margin: 120px auto 0;
  padding-top: 80px;
  width: 90%;
  max-width: 1080px;
}

.serviceDetail-cont-wrap02 {
  width: 100%;
  margin-top: 3.5em;
}

.serviceDetail-cont-ttl {
  position: relative;
  z-index: 1;
  background-color: #f7f7f7;
  font-size: 20px;
  font-family: din-2014, "TsukuGoPr5-D";
  font-weight: 500;
  box-sizing: border-box;
  padding-right: 32px;
  display: inline-block;
}

.serviceDetail-cont-txt {
  margin-top: 3em;
}

.serviceDetail-cont-txt p {
  margin-bottom: 1em;
}

.serviceDetail-mark {
  background: linear-gradient(transparent 30%, #f9f2af 60%);
}

.serviceDetail-feature-list {
  display: flex;
  justify-content: space-between;
  margin-top: 4em;
  flex-wrap: wrap;
}

.serviceDetail-feature-item {
  background-color: #fff;
  width: 49%;
  position: relative;
  margin-bottom: 1em;
}

.serviceDetail-feature-box {
  padding-top: 1em;
  padding-bottom: 1em;
}

.serviceDetail-feature-box p {
  font-size: 18px;
  width: fit-content;
  margin-left: 3em;
  letter-spacing: 0.2em
}

.feature-item-num {
  color: #808080;
  font-size: 1.5em;
  position: absolute;
  top: -16%;
  left: -1%;
}

.serviceDetail-support-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 4em;
}

.serviceDetail-support-item {
  width: 45%;
  margin-bottom: 1em;
}

.serviceDetail-Change-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: 4em;
  justify-content: space-between;
}

/* 20260325_井上修正 */
.serviceDetail-recommend-ttl {
  margin-bottom: 1em;
  line-height: 1;
}

.serviceDetail-recommend-ttl-box {
  display: flex;
  align-items: center;
}

.Change-item-num {
  width: 50px;
  padding-top: 0.6em;
  height: 50px;
  border: 1px solid #5b5b5b;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  margin-right: 3em;
}

.Change-item-box-txt {
  font-size: 1.1em;
  letter-spacing: 0.2em;
}

.serviceDetail-recommend {
  margin-bottom: 8em;
}

.serviceDetail-recommend-list {
  margin-top: 3em;
}

.serviceDetail-recommend-item {
  display: flex;
  line-height: initial;
  margin-bottom: 1.5em;
}

.recommend-ttl-line {
  background-color: #b1b1b1;
  height: 1px;
}

.pc-none {
  display: none;
}

@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }

  .pc-none {
    display: block;
  }

  .ib {
    display: block;
  }

  .serviceDetail-head-en-ttl {
    font-size: 10px;
  }

  .serviceDetail-check-img {
    width: 1em;
  }

  .serviceDetail-head {
    margin-top: 150px;
    padding-bottom: 104px;
  }

  .serviceDetail-head-ttl {
    font-size: 17px;
  }

  .lowerSectionBorder-serviceDetail {
    top: 130px;
  }

  .serviceDetail-head-line {
    margin-top: 35px;
  }

  .serviceDetail-head-problems {
    display: block;
    padding: 2em;
    margin-top: 2em;
  }

  .serviceDetail-head-problems-list {
    border-left: none;
    border-top: 1px solid #ccc;
    padding-left: 0;
    margin-left: 0;
    margin-top: 1em;
    padding-top: 1.5em;
  }

  .serviceDetail-head-problems-item {
    margin-bottom: 1.3em;
  }

  .serviceDetail-cont {
    padding-bottom: 104px;
  }

  .serviceDetail-cont-wrap {
    margin-top: 0;
  }

  .serviceDetail-cont-ttl {
    font-size: 16px;
    padding-right: 0;
  }

  .serviceDetail-feature-box p {
    font-size: 14px;
    margin-left: 2em;
  }

  .serviceDetail-support-list {
    display: block;
  }

  .serviceDetail-support-item {
    width: 100%;
  }

  .serviceDetail-Change-list {
    display: block;
  }

  .serviceDetail-Change-item {
    width: 100%;
  }

  .serviceDetail-Change-item-box p {
    font-size: 14px;
  }

  .Change-item-num {
    padding-top: 0.8em;
    margin-right: 2em;
  }
}

@media screen and (max-width:500px) {
  .serviceDetail-list {
    display: block;
  }

  .serviceDetail-feature-item {
    width: 90%;
    margin: 0 auto 1em;
  }
}


/* SNSブランディング */
/* 20260328_井上修正 */
.serviceDetail-sns-support-cont-list {
  display: flex;
  justify-content: space-between;
  margin-top: 4em;
  flex-wrap: wrap;
}

.serviceDetail-sns-support-cont-item {
  background-color: #fff;
  width: 48%;
  position: relative;
  margin-bottom: 3em;
}

.sns-support-icon {
  width: 27px;
  margin-right: 0.5em;
}

.sns-support-icon-p {
  line-height: 3;
}

.sns-support-list-list {
  display: flex;
  margin-top: 3em;
}

.sns-support-list-item {
  display: flex;
  font-size: 1.4em;
  margin-right: 3em;
}

.serviceDetail-sns-support-detail {
  padding-top: 2em;
  padding-bottom: 2em;
  padding-left: 3.5em;
}

.serviceDetail-sns-support-detail-ttl {
  font-size: 1.2em;
  margin-bottom: 1em;
}

.feature-item-num02 {
  color: #808080;
  font-size: 1.5em;
  position: absolute;
  top: -10%;
  left: -1%;
}

.serviceDetail-sns-support-example-list {
  margin-top: 4em;
}

.serviceDetail-sns-support-example-item {
  background-color: #fff;
  position: relative;
  margin-bottom: 3em;
}

.serviceDetail-sns-support-example-box {
  margin-top: 3.5em;
  padding: 2.7em 4em;
  display: flex;
  align-items: center;
}

.serviceDetail-sns-support-example-ttl {
  width: 20%;
  text-align: center;
}

.serviceDetail-sns-support-example-cont {
  border-left: 1px solid #ccc;
  margin-left: 4em;
  padding-left: 4em;
}

.serviceDetail-sns-support-faq {
  margin-top: 7em;
  background-color: #f2f2f2;
  padding: 4em 0;
}

.serviceDetail-sns-support-faq-wrap {
  width: 85%;
  margin: 0 auto;
}

.support-faq-ttl-line {
  margin-top: 0.5em;
  margin-bottom: 2em;
  background-color: #b1b1b1;
  height: 1px;
}

.support-faq-item {
  margin-bottom: 13px;
  font-size: 1.1em;
}

.support-faq-item span {
  color: #666666;
  padding-right: 0.5em;
}

.serviceDetail-sns-support-message {
  text-align: center;
  margin-bottom: 8em;
  margin-top: 8em;
}


@media screen and (max-width:768px) {
  .serviceDetail-sns-support-box p {
    font-size: 15px;
    margin: auto;
  }

  .sns-support-list-list {
    display: block;
    margin-bottom: 1em;
  }

  .sns-support-list-item {
    align-items: end;
  }

  .sns-support-icon-p {
    line-height: 1;
  }

  .serviceDetail-sns-support-cont-list {
    display: block;
  }

  .serviceDetail-sns-support-cont-item {
    width: 90%;
    margin: 0 auto 1.5em;
  }

  .serviceDetail-sns-support-detail {
    padding-left: 2em;
  }

  .serviceDetail-sns-support-example-box {
    display: block;
    padding: 2.7em 2em;
  }

  .serviceDetail-sns-support-example-list {
    margin: 4em auto 1em;
  }

  .serviceDetail-sns-support-example-ttl {
    width: 100%;
    text-align: left;
  }

  .serviceDetail-sns-support-example-cont {
    border-left: none;
    margin-left: 0;
    padding-left: 0;
  }

  .feature-item-num {
    top: -20%;
    left: -2%;
  }

  .sns-support-flow-img {
    width: 100%;
    margin-top: 3em;
  }

  .serviceDetail-sns-support-wrap {
    margin: 0 auto 0;
  }

  .serviceDetail-sns_support {
    padding: 0 0 100px 0;
  }

  .support-faq-item {
    font-size: 1em;
  }

  .serviceDetail-sns-support-message {
    margin-bottom: 6em;
    margin-top: 6em;
  }
}



/* サービスページ追加分 */

.serviceBrandingBox-mainBtnList {
  margin-top: 16px;
}

.serviceBrandingBox-mainBtnInner {
  color: #646464;
}


/* フッターcss変更 */
.footerSubNav {
  max-width: 580px;
  width: 57%;
}









/* ポップアップ表示 */

/* ポップアップ全体 */
#contact-popup {
  position: fixed;
  top: auto;
  right: -60px;
  bottom: 60px;
  width: auto;
  height: auto;
  z-index: 9999;

  opacity: 0;
  transform: translateY(20px);
  pointer-events: none;
  /* ← 非表示時は背面操作を許可 */
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* 表示状態 */
#contact-popup.active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
  /* ← 表示時は有効化 */
}

/* 白いボックス部分 */
.popup-content {
  background: #fff;
  border: solid 0.5px #333333;
  width: 70%;
  max-width: 410px;
  padding: 15px;
  position: relative;
  pointer-events: auto;
  /* ← この中だけクリック可能 */
}

/* --- 以下装飾類 --- */
.popup-form {
  margin-top: 20px;
  margin-bottom: 0px;
}

.form dl.popup-form_cont {
  margin-bottom: 10px;
}

.popup-ttl {
  font-size: 15px;
  text-align: center;
  margin-top: 1em;
  line-height: 1.6em;
}

.popup-ttl_en {
  letter-spacing: 0.15em;
  font-size: clamp(1rem, 0.97rem + 0.13vw, 1.125rem);
  font-weight: normal;
}

.popup-itemname {
  width: 100%;
  font-size: 0.8em;
  position: relative;
}

.popup-itemform {
  width: 100%;
  position: relative;
}

.form .popup-form_h40 {
  height: 40px;
}

.form .popup-form_h150 {
  height: 150px;
  padding: 10px 20px;
}

.popup-form_btn {
  margin-top: 20px;
}


.btnSubmit.popup-form_btn {
  padding-bottom: 0px;
}

.btnSubmit.popup-form_btn input {
  -webkit-appearance: none;
  width: 100%;
  margin: 0 auto;
  max-width: 260px;
  height: 46px;
  display: block;
  background: #000;
  border-radius: 0;
  border: 1px solid #000;
  cursor: pointer;
  font-size: 0.9em;
  color: #fff;
  letter-spacing: 0.15em;
  transition: all 0.3s ease;
}

.btnSubmit.popup-form_btn input:hover {
  background: #fff;
  color: #000;
}

.popup-close {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 25px;
  height: 25px;
  color: #ffffff;
  border: none;
  cursor: pointer;
  background-color: black;
}

.popup-close:before,
.popup-close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1.5px;
  background: #ffffff;
  transform-origin: center;
}

.popup-close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.popup-close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* SP用ボタン */
/* SP用ボタン */
.popup-mobile-btn {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 70%;
  transform: translateX(-50%);
  background: #435f77;
  color: #fff;
  padding: 2% 3%;
  z-index: 10000;
  font-size: clamp(0.813rem, 0.633rem + 0.77vw, 1rem);
  width: 45%;

  /* アニメーション用 */
  opacity: 0;
  transform: translate(-50%, 20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
  pointer-events: none;
  /* 非表示時はクリック無効 */
}

.popup-mobile-btn.active {
  opacity: 1;
  transform: translate(-50%, 0);
  pointer-events: auto;
  /* 表示時のみクリック可能 */
}

/* ✕ ボタン */
.popup-mobile_close {
  position: absolute;
  top: 0px;
  right: 0px;
  width: 30px;
  height: 30px;
  background: #435f77;
  border: 2px solid #435f77;
  cursor: pointer;
  padding: 0;
}

.popup-mobile_close::before,
.popup-mobile_close::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  width: 12px;
  height: 1.5px;
  background: #ffffff;
  transform-origin: center;
}

.popup-mobile_close::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.popup-mobile_close::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* リンク色 */
.popup-mobile-btn a {
  color: #ffffff;
  text-decoration: none;
  display: block;
}

/* 下線アニメーション */
.popup-underline {
  padding-bottom: 0.25em;
  position: relative;
}

.popup-underline::before {
  background: #ffffff;
  content: '';
  width: 100%;
  height: 0.75px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}

.popup-underline:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

/* スマホではポップアップ非表示、ボタン表示 */
@media (max-width: 767px) {
  #contact-popup {
    display: none !important;
  }

  .popup-mobile-btn {
    display: block;
  }
}


/* 20251201レスキューページフォーム追記 */

.rescue_itemName {
  line-height: 1.5em;
}

.form .itemName .rescue_txt {
  font-size: 85%;
}

.form .rescue_txt-l {
  font-size: 15px;
  height: 125px;
  padding: 10px 20px;
}

@media screen and (max-width: 767px) {
  .form .rescue_txt-l {
    height: 150px;
  }
}

#rescue-intro,
#rescue-security,
#rescue-wordpress,
#rescue-restore,
#trouble-case,
#rescue-strengths,
#rescue-flow,
#maintenance-included,
#maintenance-excluded,
#rescue-faq,
#rescue-form {
  scroll-margin-top: 100px;
}








/*---------------------------------------*/
/* 下層 2026~ */
/*---------------------------------------*/


/* --------------- 下層共通 --------------- */
.contents-page-ttl {
  width: 57.03125%;
  margin-left: auto;
}

.border-ttl__top {
  display: flex;
  align-items: center;
}

.border-ttl__top-inner {
  padding-right: 1em;
}

.border-ttl__line {
  flex: 1;
  height: 1px;
  background-color: rgb(51, 51, 51, 0.3);
  margin-bottom: 0.2em;
}

/* 左右横並びで僅かに右が大きいレイアウトの場合は大抵これ使う */
.contents-wrap {
  display: flex;
  justify-content: space-between;
}

.contents-wrap-center {
  align-items: center;
}

.contents-wrap__left {
  width: 39.84375%;
}

.contents-wrap__left-center {
  display: flex;
  align-items: center;
}

.contents-wrap__right {
  width: 57.03125%;
}

.contents-wrap__img {
  width: 80%;
}

.contents-wrap__right-message>p+p {
  margin-top: 1.5em;
}

.contents-bottom__line {
  display: block;
  height: 1px;
  background-color: rgb(51, 51, 51, 0.3);
  width: 100%;
  margin-top: 4.8em;
}

.lower-postPage {
  margin-top: 0;
}

@media (max-width:1023px) {}

@media (max-width:767px) {
  .lower-postPage {
    margin-top: 60px;
  }

  .contents-page-ttl {
    width: 100%;
    margin-left: 0;
  }

  .contents-wrap {
    flex-direction: column;
  }

  .contents-wrap__left {
    width: 100%;
  }

  .contents-wrap__right {
    width: 100%;
    margin-top: 1.8em;
  }

  .contents-wrap__right-message>p+p {
    margin-top: 1.2em;
  }

  .contents-wrap__img {
    margin: 0 auto;
  }
}


/* --------------- ABOUT --------------- */
/* value */
.about-value__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 85%;
}

.about-value__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: 3em 3.125%;
}

.about-value__list-head {
  display: flex;
  align-items: center;
  margin-left: 0.2em;
}

.about-value__list-num {
  position: relative;
  margin-right: 1em;
  padding-right: 1em;
}

.about-value__list-num::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 1px;
  height: 100%;
  background-color: rgb(51, 51, 51, 0.2);
}

.about-value__list-txt {
  margin-top: 0.3em;
}

.about-value__image-bottom {
  display: flex;
  justify-content: space-between;
  margin-top: 3.125%;
}

.about-value__image-bottom-inner {
  width: 48.4375%;
}

.about-philosophy__list {
  margin: 4em auto 0;
}

.about-philosophy__item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3em;
}

.about-philosophy__cont-left {
  display: flex;
  align-items: center;
  width: fit-content;
  margin-left: 17.1875%;
  border-right: 1px solid rgb(51, 51, 51, 0.3);
  margin-right: 3em;
  padding-right: 2em;
  height: 4em;
}

.about-philosophy__num {
  margin-right: 1em;
}

.about-philosophy__cont {
  width: 65.625%;
  line-height: 1.8;
}

.about-info__list {
  margin: 4em auto 0;
  width: fit-content;
}

.about-info__item {
  display: flex;
  align-items: start;
  margin-bottom: 2em;
  justify-content: space-between;
}

.about-info__item-ttl {
  color: #666666;
  margin-left: 17.1875%;
  width: fit-content;
}

.about-info__item-txt {
  width: 65.625%;
  text-align: justify;
}

@media (max-width:1023px) {}

@media (max-width:767px) {
  .about-value__list {
    grid-template-columns: repeat(1, 1fr);
    grid-gap: 1.8em 0;
  }

  .about-value__list-txt {
    margin-top: 0.1em;
  }

  .about-philosophy__list {
    margin-top: 2.4em;
  }

  .about-philosophy__item {
    display: block;
    margin-bottom: 1.8em;
  }

  .about-philosophy__num {
    display: inline;
  }

  .about-philosophy__ttl {
    display: inline;
  }

  .about-philosophy__cont-left {
    margin-left: 0;
    border-right: none;
  }

  .about-philosophy__cont {
    border-left: none;
    padding-left: 0;
    margin-left: 0;
    border-top: 1px solid rgb(51, 51, 51, 0.3);
    padding-top: 1em;
    width: 100%;
  }

  .about-info__list {
    margin-top: 2.4em;
  }

  .about-info__item {
    display: block;
    margin-bottom: 1.5em;
  }

  .about-info__item-ttl {
    margin-left: 0;
  }

  .about-info__item-txt {
    width: 100%;
  }
}


/* --------------- CONCEPT --------------- */
.concept-sc__image {
  width: 65.625%;
  margin-left: auto;
  margin-right: auto;
}

.conceptRC {
  background-image: url(../images/page/s_concept_bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  margin-top: 0px;
  box-sizing: border-box;
}

.concept-rc__wrap {
  margin: 0 auto;
  padding: 80px 72px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, .94);
}

.concept-rc__cont {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.concept-rc__image {
  width: 30%;
  margin-right: 5em;
}

.contents-dc__wrap {
  align-items: center;
}

.process-wrap__left {
  display: flex;
  align-items: flex-start;
}

.conceptFlowContent_image01 {
  width: 69.863%;
  margin-left: 0;
}

.conceptCulture {
  position: relative;
  z-index: 1;
}

.lowerSection_text {
  width: 65.625;
}

.conceptCultureBtn {
  width: 48.4375;
}

@media (max-width:1023px) {}

@media (max-width:767px) {
  .concept-sc__image {
    width: 100%;
  }

  .concept-rc__cont {
    display: block;
  }

  .concept-rc__image {
    width: 75%;
    margin: 0 0 0 5%;
  }

  .concept-rc__wrap {
    padding: 2.5em;
  }

  .conceptFlowContent_image01 {
    width: 85%;
    margin: 1em auto 0;
  }
}


/* --------------- SERVICE --------------- */
.serviceOutline_image {
  width: 100%;
  max-width: none;
}

.service-design_title {
  display: flex;
  align-items: center;
}

.service-design_title::before {
  content: "";
  width: 8px;
  height: 2px;
  background-color: #666;
  margin: 2px 8px 0 2px;
}

.service-lowerBtn {
  position: relative;
  width: 39%;
  transition: .3s cubic-bezier(.51, 0, .25, 1);
}

.service-lowerBtn02 {
  width: 42%;
}

.service-lowerBtn a {
  display: block;
  padding: 8px 0;
  text-align: center;
  transition: .3s cubic-bezier(.51, 0, .25, 1);
}

.service-lowerBtn::after {
  width: 15px;
  top: 4px;
  right: 10px;
}

.service-lowerBtnFlex {
  display: flex;
  gap: 40px;
  margin-top: 40px;
}

.serviceDesignList {
  margin-top: 0;
  margin-bottom: 10px;
}

.serviceDesignList_item {
  margin-top: 0;
  margin-bottom: 0.8em;
  border-right: 1px solid #aaa;
  border-left: none;
  margin-right: 1.2em;
  padding-right: 1.2em;
  padding-left: 0;
}

.serviceDesignList_item:last-child {
  border-right: none;
}


@media (max-width:1023px) {}

@media (max-width:767px) {
  .serviceDesign {
    margin-bottom: 0;
  }

  .service-lowerBtnFlex {
    display: block;
    margin-top: 2em;
  }

  .service-lowerBtn {
    width: 70%;
    margin: 0 auto 1.2em;
  }
}


/* --------------- BRANDING --------------- */
.serviceBrandingBox-mainBtnList02 {
  margin-top: 10px;
}

@media (max-width:1023px) {}

@media (max-width:767px) {}




/* --------------- 20260324_井上友翔下層追加 --------------- */
.branding {
  display: flex;
  justify-content: center;
}

.contents-wrap__left {
  display: flex;
  justify-content: center;
}

.branding-cont__grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 5em 5em;
  align-items: stretch;
}

.branding-cont__wrap {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

/* ブランディングハブ 成功事例 */
.brandingCaseStudy__list {
  padding-left: 1.4em;
  list-style: disc;
}

.brandingCaseStudy__list li {
  margin-bottom: 0.6em;
}

/* ブランディングの流れ */
.brandingFlow__list {
  list-style: none;
  padding-left: 0;
}

.brandingFlow__list__cont {
  position: relative;
}

.brandingFlow__list__cont-wrap {
  width: 90%;
  margin: 0 auto;
  align-items: center;
  height: min(9em);
  display: flex;
  justify-content: space-between;
}

.brandingFlow__list__cont-number {
  position: absolute;
  top: 0;
  left: 3%;
  transform: translateY(-50%);
}

.brandingFlow__list__cont-number span {
  font-size: 1.8em;
}

.brandingFlow__list__cont-wrap h3 {
  flex: 1;
}

.brandingFlow__list__cont-wrap p {
  width: 21em;
}

.brandingFlow__item {
  display: flex;
  align-items: flex-start;
  padding: 32px 0;
  border-bottom: 1px solid #ddd;
}

.brandingFlow__item:first-child {
  border-top: 1px solid #ddd;
}

.brandingFlow__num {
  font-size: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1;
  width: 40px;
  height: 40px;
  min-width: 40px;
  border: 1px solid #aaa;
  border-radius: 50%;
  margin-right: 24px;
  flex-shrink: 0;
}

.brandingFlow__body {
  flex: 1;
}

.brandingFlow__txt {
  margin-top: 0;
}

/* ブランディングご相談 */

.brandingContact__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1em;
}

@media (max-width:767px) {

  .contents-wrap__left {
    flex-direction: column;
    justify-content: flex-start;
  }

  .branding-cont__grid {
    grid-template-columns: 1fr;
    gap: 3.5em;
  }

  .branding-cont__wrap {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
  }

  .brandingFlow__item {
    padding: 24px 0;
  }

  .brandingFlow__num {
    width: 32px;
    height: 32px;
    min-width: 32px;
    margin-right: 16px;
  }

  .brandingContact__list {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: .8em;
  }

  .brandingFlow__list__cont-wrap {
    padding: 1em 1em .8em;
    height: auto;
    flex-direction: column;
    align-items: first baseline;
  }

  .brandingFlow__list__cont-number {
    position: absolute;
    top: 0;
    left: 3%;
    transform: translateY(-50%);
  }

  .brandingFlow__list__cont-number span {
    font-size: 1.4em;
  }

  .brandingFlow__body {
    flex: 1;
  }

  .brandingFlow__txt {
    margin-top: 0;
  }
}

/* 下層ページ共通 */
.lower__cont-list {}

.lower__cont {
  padding: 2em 0;
  border-bottom: solid 1px rgb(51, 51, 51, 0.3);
}

.lower__cont:last-child {
  border-bottom: none;
}

.lower__cont-title {
  padding-left: 1rem;
  position: relative;
}

.lower__cont-title::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 1px;
  background-color: #666;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.lower__cont-desc {
  padding-left: 1em;
}

@media (max-width:767px) {
  .lower {
    padding-top: 120px;
  }
}




/* 20260325_井上 */
/* service-lower-page */
.service-lower-page .brandingFlow__list__cont-wrap {
  width: min(78%);
  height: min(6em);
}

.service-lower-page .brandingFlow__list__cont-wrap h3 {
  line-height: 1.7;
}

.service-lower-page .brandingContact__list {
  grid-template-columns: 1fr;
  row-gap: 2em;
}

.service-lower-page .serviceDetail-Change-item {
  width: 100%;
}

.service-lower-page .serviceDetail-Change-item-box {
  display: flex;
  align-items: center;
}

.service-lower-page .serviceDetail-Change-item-box .Change-item-num {
  border-color: #b1b1b1;
}

@media (max-width:767px) {
  .service-lower-page .brandingFlow__list__cont-wrap {
    width: 85%;
    height: auto;
  }

  /* 期待できる変化 */
  .service-lower-page .serviceDetail-Change-item {
    width: 100%;
    margin-bottom: 1em;
  }

  .service-lower-page .serviceDetail-Change-item-box {
    gap: 0.6em;
  }

  .service-lower-page .serviceDetail-Change-item-box .Change-item-num {
    min-width: 2.4em;
    width: 2.4em;
    height: 2.4em;
    font-size: 14px;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 0;
  }

  .service-lower-page .serviceDetail-Change-item-box p {
    font-size: 14px;
    line-height: 1.6;
  }

  /* こんな企業におすすめ */
  .service-lower-page .serviceDetail-recommend {
    margin-bottom: 4em;
  }

  .service-lower-page .serviceDetail-recommend-item {
    font-size: 14px;
    margin-bottom: 1em;
    align-items: flex-start;
  }
}

/* =====================
  sns-support
   ===================== */

/* 支援内容：縦並び・左タイトル／右リスト */
.sns-support .serviceDetail-sns-support-cont-list {
  display: flex;
  flex-direction: column;
  gap: 3em;
  margin-top: 3em;
}

.sns-support .serviceDetail-sns-support-cont-item {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 0;
  padding: 2em;
}

.sns-support .feature-item-num02 {
  position: absolute;
  top: 0;
  left: 3%;
  transform: translateY(-50%);
  width: auto;
  font-size: 1.8em;
  color: #808080;
  padding-top: 0;
  padding-left: 0;
}

.sns-support .serviceDetail-sns-support-detail {
  display: flex;
  flex-direction: row;
  align-items: center;
  width: 100%;
  gap: 5%;
  padding: 0;
}

.sns-support .serviceDetail-sns-support-detail-ttl {
  width: 40%;
  text-align: left;
  margin-top: 0;
  margin-bottom: 0;
  padding-left: 2em;
}

.sns-support .serviceDetail-sns-support-detail p {
  flex: 1;
  line-height: 2;
}

/* 投稿コンテンツ例：縦レイアウト */
.sns-support .serviceDetail-sns-support-example-list {
  margin-top: 3em;
}

.sns-support .serviceDetail-sns-support-example-item {
  margin-top: 2.5em;
  margin-bottom: 0;
}

.sns-support .feature-item-num {
  position: absolute;
  top: 0;
  left: 3%;
  transform: translateY(-50%);
  font-size: 1.8em;
}

.sns-support .serviceDetail-sns-support-example-box {
  flex-direction: column;
  align-items: flex-start;
  gap: .2em;
  padding: 2em 2.5em;
  margin-top: 0;
}

.sns-support .serviceDetail-sns-support-example-ttl {
  width: auto;
  text-align: left;
  margin-bottom: 0;
}

.sns-support .serviceDetail-sns-support-example-cont {
  border-left: none;
  border-top: none;
  margin-left: 0;
  padding-left: 0;
  padding-top: 0;
  width: 100%;
  line-height: 1.9;
}

/* 対応SNSアイコン */
.sns-support .sns-support-list-list {
  display: flex;
  margin-top: 2em;
}

.sns-support .sns-support-list-item {
  width: 50%;
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
  font-size: 1.2em;
  gap: 0.8em;
}

.sns-support .sns-support-icon {
  width: 100px;
  flex-shrink: 0;
  margin-right: 0;
}

.sns-support .sns-support-icon-p {
  line-height: 1;
}

.sns-support .sns-support-icon img {
  width: 100px;
  height: 100px;
}

.sns-support .sns-support-list-item:nth-child(2) .sns-support-icon img {
  width: 80px;
  height: 80px;
}

/* SP対応 */
@media (max-width: 767px) {

  /* 対応SNS：縦組み */
  .sns-support .sns-support-list-list {
    flex-direction: column;
    gap: 1em;
  }

  .sns-support .sns-support-list-item {
    width: 100%;
  }

  /* 支援内容 */
  .sns-support .serviceDetail-sns-support-cont-list {
    gap: 2.5em;
  }

  .sns-support .serviceDetail-sns-support-cont-item {
    flex-direction: column;
    align-items: flex-start;
    padding: 1.5em;
  }

  .sns-support .feature-item-num02 {
    font-size: 1.4em;
  }

  .sns-support .serviceDetail-sns-support-detail {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8em;
    width: 100%;
  }

  .sns-support .serviceDetail-sns-support-detail-ttl {
    width: 100%;
    padding-left: 0;
  }

  .sns-support .serviceDetail-sns-support-detail-ttl br {
    display: none;
  }

  .sns-support .serviceDetail-sns-support-detail p {
    width: 100%;
  }

  /* 投稿コンテンツ例 */
  .sns-support .serviceDetail-sns-support-example-item {
    margin-top: 2em;
  }

  .sns-support .serviceDetail-sns-support-example-box {
    padding: 1.5em;
  }

  .sns-support .feature-item-num {
    font-size: 1.4em;
  }
}

/* ========================================
  WEB DESIGN PAGE (.web-design-page)
   ======================================== */
.web-design-page .contents-wrap__right-message > p.mt-4 {
  margin-top: 4em;
}

/* ========================================
  WEB DESIGN PRICE / MARKET / FLOW PAGE
   ======================================== */

/* 相場：左ボーダーつきシンプルリスト */
.web-design-price .price-range__item,
.web-design-market .price-range__item,
.wordpress-price .price-range__item {
  padding-left: 1.2em;
  border-left: 1px solid rgba(51, 51, 51, 0.3);
}

/* 料金体系：左右分割カード */
.web-design-price .price-plan,
.web-design-market .price-plan {
  display: flex;
  flex-direction: column;
  gap: 0.6em;
}
.web-design-price .price-plan__item,
.web-design-market .price-plan__item {
  display: flex;
  align-items: center;
  gap: 3em;
  padding: 1.8em 2em;
  background: #fff;
}
.web-design-price .price-plan__ttl,
.web-design-market .price-plan__ttl {
  width: 36%;
  flex-shrink: 0;
}

/* 内訳・フロー・会社選び・SEO：カード内縦並び */
.web-design-price .brandingFlow__list__cont-wrap,
.web-design-market .brandingFlow__list__cont-wrap,
.web-design-flow .brandingFlow__list__cont-wrap,
.web-design-company .brandingFlow__list__cont-wrap,
.web-design-seo .brandingFlow__list__cont-wrap,
.wordpress-price .brandingFlow__list__cont-wrap,
.wordpress-maintenance .brandingFlow__list__cont-wrap,
.wordpress-security .brandingFlow__list__cont-wrap,
.wordpress-custom .brandingFlow__list__cont-wrap {
  flex-direction: column;
  height: auto;
  align-items: flex-start;
  padding: 2em 0;
}

.web-design-price .brandingFlow__list__cont-wrap p,
.web-design-market .brandingFlow__list__cont-wrap p,
.web-design-flow .brandingFlow__list__cont-wrap p,
.web-design-company .brandingFlow__list__cont-wrap p,
.web-design-seo .brandingFlow__list__cont-wrap p,
.wordpress-price .brandingFlow__list__cont-wrap p,
.wordpress-maintenance .brandingFlow__list__cont-wrap p,
.wordpress-security .brandingFlow__list__cont-wrap p,
.wordpress-custom .brandingFlow__list__cont-wrap p {
  width: 100%;
}

.web-design-flow .brandingFlow__list__cont-wrap,
.web-design-company .brandingFlow__list__cont-wrap,
.web-design-seo .brandingFlow__list__cont-wrap {
  padding: 2.5em 0;
  gap: 1em;
}

/* ===== brandingFlow 2パターン用モディファイア ===== */
/* 縦組み：番号→タイトル→説明文（文章量が少ない時） */
.service-lower-page .brandingFlow__list__cont-wrap.flow-col {
  flex-direction: column;
  height: auto;
  align-items: flex-start;
  padding: 2em 0;
}
.service-lower-page .brandingFlow__list__cont-wrap.flow-col p {
  width: 100%;
}

/* 左右分割：タイトル左・説明文右（文章量が多い時） */
.service-lower-page .brandingFlow__list__cont-wrap.flow-lr {
  flex-direction: row;
  align-items: center;
  height: auto;
  min-height: 6em;
  padding: 1.5em 0;
  justify-content: space-between;
}
.service-lower-page .brandingFlow__list__cont-wrap.flow-lr h3 {
  flex: 0 0 38%;
}
.service-lower-page .brandingFlow__list__cont-wrap.flow-lr p {
  flex: 1;
  width: auto;
  padding-left: 2em;
}
@media (max-width: 767px) {
  .service-lower-page .brandingFlow__list__cont-wrap.flow-lr {
    flex-direction: column;
    align-items: flex-start;
    min-height: auto;
  }
  .service-lower-page .brandingFlow__list__cont-wrap.flow-lr h3 {
    flex: none;
  }
  .service-lower-page .brandingFlow__list__cont-wrap.flow-lr p {
    padding-left: 0;
    width: 100%;
  }
}


.web-design-flow .brandingFlow__list__cont-wrap ul {
  width: 100%;
}


/* FAQ：Q./A.構造 */
.web-design-price .price-faq__q,
.web-design-price .price-faq__a,
.web-design-market .price-faq__q,
.web-design-market .price-faq__a,
.web-design-faq .price-faq__q,
.web-design-faq .price-faq__a,
.wordpress-price .price-faq__q,
.wordpress-price .price-faq__a {
  display: flex;
  gap: 1em;
  align-items: flex-start;
}
.web-design-price .price-faq__label,
.web-design-market .price-faq__label,
.web-design-faq .price-faq__label,
.wordpress-price .price-faq__label {
  flex-shrink: 0;
  min-width: 1.5em;
}

.web-design-price .contents-bottom__line,
.web-design-market .contents-bottom__line,
.web-design-faq .contents-bottom__line,
.wordpress-price .contents-bottom__line {
  margin-top: 4em;
}

/* FAQ page：A.内の直接子divがflex崩れしないよう */
.web-design-faq .price-faq__a > div {
  flex: 1;
  min-width: 0;
}

@media (max-width: 767px) {
  .web-design-price .price-plan__item,
  .web-design-market .price-plan__item {
    flex-direction: column;
    gap: 1em;
  }
  .web-design-price .price-plan__ttl,
  .web-design-market .price-plan__ttl {
    width: 100%;
  }
}

/* 2列ドットリスト：service下層ページのコンテンツリスト用 */
/* 使い方: <ul class="brandingContact__list list-2col"> */
.service-lower-page .brandingContact__list.list-2col {
  grid-template-columns: repeat(2, 1fr);
  row-gap: 1em;
}

@media (max-width: 767px) {
  .service-lower-page .brandingContact__list.list-2col {
    grid-template-columns: 1fr;
  }
}








/*---------------------------------------*/
/* loading */
/*---------------------------------------*/
#loading {
position: fixed;
width: 100%;
height: 100%;
top: 0px;
left: 0px;
background:#fff;
z-index: 99999;
}
#loading .movie{
position:fixed;
top:50%;
left:50%;
width:320px;
height: 32px;
transform: translate(-50%,-50%);
transition: all 1.5s ease 2s;
}
@media screen and (max-width:767px){
#loading .movie{
width:270px;
height: 27px;
background: #fff;
}
}
#loading .movie video{
width:100%;
height:auto;
}
/*-------------------------------------*/
/* topArea */
/*-------------------------------------*/
#topArea{
position: relative;
overflow: visible;
margin-bottom: 160px;
}
@media screen and (max-width:980px){
#topArea{
margin-bottom:120px;
}
}
@media screen and (max-width:767px){
#topArea{
margin-top: 60px;
margin-bottom:64px;
}
}

.topMovie{
aspect-ratio: 16/7.2;
overflow: hidden;
}
.topMovie video{
display: block;
width: 100%;
transform: translateY(-5%);
}
@media screen and (max-width:980px){
.topMovie{
aspect-ratio: 1/0.7;
overflow: hidden;
}
.topMovieInner{
height: 100%;
}
.topMovie video{
object-fit: cover;
height: 100%;
transform: translateY(0);
}
}
@media screen and (max-width:767px){
.topMovie{
aspect-ratio: 1/0.9;
}
}


.nofadeBg{
position:relative;
height:680px;
width:100%;
background-repeat:no-repeat;
background-size:cover;
background-position: center;
}
@media screen and (max-width:767px){
.nofadeBg{
height:400px;
}
}
/* スライドインコンテンツ */
#topArea .slideIn{
position:relative;
padding:0;
overflow:hidden;
}
/* #topArea .slideIn:after{
position:absolute;
top:-25%;
right:-25%;
width:150%;
height:150%;
background:#fff;
z-index:100;
display:inline-block;
opacity:1;
content:"";
transform: rotate(-2deg);
transition: all 0.9s cubic-bezier(0.075, 0.82, 0.165, 1) 0.4s;
}
#topArea.animation .slideIn:after{
width:0;
}
#topArea .slideIn.bg:after{
background:#e8e9ea;
}
#topArea .slideIn:before{
position:absolute;
top:-25%;
right:-25%;
width:150%;
height:150%;
background:#f5f5f5;
z-index:100;
display:inline-block;
opacity:1;
content:"";
transform: rotate(-2deg);
transition: all 0.9s cubic-bezier(0.075, 0.82, 0.165, 1) 1.1s;
}
#topArea.animation .slideIn:before{
width:0;
} */
/* 画像スライドイン */
/* #topArea .slideIn .slideBg{
margin-left:-30px;
transition: all 1.2s cubic-bezier(0.075, 0.82, 0.165, 1) 1.1s;
}
#topArea.animation .slideIn .slideBg{
	margin-left:0;
} */
/* メッセージ */
#topArea .message{
position: absolute;
bottom:-12%;
right: 5%;
width: 893px;
height: 192px;
}
@media screen and (max-width:980px){
#topArea .message{
position: absolute;
bottom:-10%;
width:700px;
height: 150px;
}
}
@media screen and (max-width:767px){
#topArea .message{
bottom:-7%;
width:300px;
height:65px;
}
}
#topArea .message .cover{
width: 0;
overflow: hidden;
transition: all 0.7s cubic-bezier(0.1, 0.122, 0.165, 1) 1.7s;
}
#topArea.animation .message .cover{
width: 100%;
}
#topArea .message img{
height: auto;
width: 893px;
}
@media screen and (max-width:980px){
#topArea .message img{
width: 700px;
}
}
@media screen and (max-width:767px){
#topArea .message img{
width: 300px;
}
}
#topArea .message-jp{
position: absolute;
bottom:-30px;
right: 5%;
font-size:107%;
letter-spacing: 0.1em;
opacity: 0;
transition: all 0.6s ease 2.2s;
}
@media screen and (max-width:767px){
#topArea .message-jp{
font-size:9pt;
}
}
#topArea.animation .message-jp{
opacity: 1;
}
/*---------------------------------------*/
/* infoArea */
/*---------------------------------------*/
#infoArea .infoAreaIn{
position: relative;
}
#infoArea  .areaTtl{
position: absolute;
top:50%;
left:0;
transform: translate(0,-50%);
}
@media screen and (max-width:980px){
#infoArea  .areaTtl{
position: static;
transform: translate(0,0);
}
}
#infoArea  .infoList{
margin-left:155px;
padding-left: 30px;
border-left: 1px solid #ebebeb;
margin-bottom:50px;
}
@media screen and (max-width:980px){
#infoArea  .infoList{
margin-left:0;
padding-left: 0;
border: none;
margin-bottom:20px;
}
}
#infoArea  .infoList li{
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
margin-bottom: 15px;
}
#infoArea  .infoList li:last-child{
margin-bottom: 0;
}
#infoArea  .infoList li .cate{
display: inline-block;
width:145px;
font-size: 86%;
}
@media screen and (max-width:767px){
#infoArea  .infoList li .cate{
font-size:8pt;
width:90px;
}
}
#infoArea  .infoList li .date{
display: inline-block;
width:110px;
font-size: 86%;
color: #808080;
}
@media screen and (max-width:767px){
#infoArea  .infoList li .date{
font-size:8pt;
width: auto;
}
}
#infoArea  .infoList li .ttl{
font-size: 93%;
}
@media screen and (max-width:767px){
#infoArea  .infoList li .ttl{
font-size:9pt;
display: block;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
}








/*-------------------------------------------*/
/* A */
/*-------------------------------------------*/


/*-------------------------------------------*/

a.line:link,
a.line:visited
{
text-decoration:underline;
}

a.line:hover,
a.line:active
{
text-decoration:none;
}

.btn a:link,
.btn a:visited
{
color:#333333;
}
.btn a:hover,
.btn a:active
{
color:#fff;
}


.footerLinksArea .w50:first-child .bgimg:link,
.footerLinksArea .w50:first-child .bgimg:visited
{
color:#fff;
}
.footerLinksArea .w50:first-child .bgimg:hover,
.footerLinksArea .w50:first-child .bgimg:active
{
color:#fff;
}






@font-face {
  font-family: 'icomoon';
  src:  url('../fonts/icomoon.eot?xut67f');
  src:  url('../fonts/icomoon.eot?xut67f#iefix') format('embedded-opentype'),
    url('f../fonts/icomoon.ttf?xut67f') format('truetype'),
    url('../fonts/icomoon.woff?xut67f') format('woff'),
    url('../fonts/icomoon.svg?xut67f#icomoon') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-arrow:before {
  content: "\e900";
}
.icon-mail:before {
  content: "\e901";
}
