:root {
  --tilt-wrap-ff: "Tilt Warp", "Noto Sans JP", sans-serif;
  --tilt-neon-ff: "Tilt Neon", "Noto Sans JP", sans-serif;
}

body {
  font-family: "Poppins", "Noto Sans JP", sans-serif !important;
}

.cb_post .headline {
  font-family: "Poppins", "Noto Sans JP", sans-serif !important;
}

h1 {
  font-family: "Poppins", "Noto Sans JP", sans-serif !important;
}

#container {
  font-weight: 500;
}

br.sp {
  display: none;
}

@media (max-width: 767px) {
  br.sp {
    display: block;
  }
}

/*header*/
@media (max-width: 575px) {
  /* #header_logo .image {
    height: 36px;
  } */
}

/*footer*/
#footer_banner_list .item {
  aspect-ratio: 430/303;
  min-height: 303px;
}

#footer_banner_list .title {
  font-family: var(--tilt-wrap-ff);
  font-weight: 400;
  font-size: 41px;
}

#footer_inner {
  gap: 0;
  padding-top: 70px;
  padding-bottom: 40px;
}

#footer_menu_bottom {
  border-top: none;
}

#footer_menu_bottom ul {
  padding-block: 0;
}

#copyright {
  padding-bottom: 50px;
  margin-top: 40px;
  border-top: none;
}

@media (max-width: 1280px) {
  #footer_banner_list .item {
    min-height: auto;
  }
}

@media (max-width: 900px) {
  #footer_banner_list {
    height: auto;
  }

  /* #footer_banner_list .item_list {
    flex-direction: column;
    width: 100%;
  } */
}

@media (max-width: 767px) {
  #footer_banner_list .title {
    font-size: 28px;
  }

  #footer_inner {
    padding-top: 40px;
  }
}


/*top*/
.cb_design_content .catch {
  line-height: 1.4;
}

#index_hero_header .item1 .content.headline_direction_horizontal .headline {
  position: absolute;
  left: 0;
  bottom: 90px;
  padding: 0 100px;
  font-size: 53px;
  font-weight: 900;
  text-align: left;
}

#index_hero_header .item1 .catch {
  text-align: left;
  font-family: var(--tilt-neon-ff);
  font-weight: 400;
}

#index_hero_header .item2 .content.headline_direction_horizontal .headline,
#index_hero_header .item3 .content.headline_direction_horizontal .headline {
  writing-mode: vertical-rl;
  text-align: left;
  font-weight: 700;
  line-height: 1.8;
}

.tcdce-body p {
  line-height: 1.66;
}

.cb_slide_content .headline {
  font-family: var(--tilt-wrap-ff);
  font-size: 70px;
  font-weight: 400;
}

.cb_slide_content .catch {
  font-size: 34px;
}

.cb_slide_content:has(.slide_content:nth-child(4)) {
  height: 800vh;
  height: 800dvh;
}

@media (max-width: 1100px) {
  .cb_slide_content .headline {
    font-size: 55px;
  }

  .cb_slide_content .catch {
    font-size: 25px;
  }
}

@media (max-width: 767px) {
  #index_hero_header .item1 .content.headline_direction_horizontal .headline {
    bottom: 80px;
    font-size: 26px;
    padding: 0 50px;
  }

  .cb_slide_content .content {
    padding-inline: 20px;
  }

  .cb_slide_content .headline {
    font-size: 40px;
  }

  .cb_slide_content .catch {
    font-size: 16px;
  }
}



/*page*/
#post_container .main_col {
  max-width: 1020px;
  font-weight: 500;
}

#post_container .main_col .contain {
  max-width: 1020px;
  margin-inline: auto;
}

#post_container .main_col .main_phase {
  max-width: 965px;
  margin-inline: auto;
  font-size: 20px;
  line-height: 2.1;
}

/* #page_header .top_area {
  height: 243px;
} */

#page_header .top_area .catch {
  font-size: 34px;
}

#page_header .title {
  font-size: 69px;
}

#page_header .sub_title {
  font-size: 34px;
}

.tcdce-body .custom_h2 {
  margin-bottom: 0;
  text-align: left;
  font-size: 46px;
  font-weight: 700;
}

.tcdce-body .subttl {
  margin-bottom: 40px;
  font-size: 24px;
  font-weight: 700;
}


@media (max-width: 767px) {
  /* #page_header {
    height: 437px;
  }

  #page_header .top_area {
    height: 200px;
  } */

  #page_header .top_area .catch {
    font-size: 20px;
  }

  #page_header .title {
    font-size: 35px;
  }

  #page_header .sub_title {
    font-size: 20px;
  }

  #post_container .main_col .main_phase {
    font-size: 16px;
  }

  .tcdce-body .custom_h2 {
    font-size: 28px;
  }

  .tcdce-body .subttl {
    font-size: 18px;
    margin-bottom: 30px;
  }
}


/*company*/
.tcdce-body .message_txt {
  font-size: 18px;
  line-height: 1.8;
}

.tcdce-body .message_name {
  font-size: 18px;
  line-height: 1.8;
  font-weight: 700;
}

.tcdce-body .profile_df {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.tcdce-body .profile_df dt,
.tcdce-body .profile_df dd {
  border-top: solid 1px #A8A8A8;
  padding: 20px 0;
  line-height: 1.5625;
}

.tcdce-body .profile_df dt:last-of-type,
.tcdce-body .profile_df dd:last-of-type {
  border-bottom: solid 1px #A8A8A8;
}

.tcdce-body .profile_df dt {
  width: 22.84%;
}

.tcdce-body .profile_df dd {
  width: 74.22%;
}

@media (max-width: 767px) {

  .tcdce-body .message_txt,
  .tcdce-body .message_name {
    font-size: 16px;
  }
}


/*business*/
.tcdce-body .business_list .wrap {
  width: 100vw;
  margin: 100px calc(50% - 50vw) 0;
  border-top: solid 1px #E6E6E6;
  padding-top: 63px;
}

.tcdce-body .business_list h2 {
  margin-bottom: 0;
  font-family: var(--tilt-wrap-ff);
  font-size: 69px;
  font-weight: 400;
  text-align: center;
  line-height: 1.2;
}

.tcdce-body .business_list .sub {
  margin-top: 10px;
  font-size: 22px;
  text-align: center;
}

.tcdce-body .business_list .fullimg {
  width: 100vw;
  margin: 43px calc(50% - 50vw) 0;
  max-height: 658px;
  aspect-ratio: 1300 / 646;
  overflow: hidden;
}

.tcdce-body .business_list .fullimg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.tcdce-body .business_list .inner {
  max-width: 808px;
  margin: 0 auto;
  padding: 0 20px;
}

.tcdce-body .business_list .info {
  margin-top: 52px;
}

.tcdce-body .business_list .ttl {
  margin-bottom: 28px;
  font-size: 24px;
  font-weight: 700;
}

.tcdce-body .business_list .desc {
  margin-top: 28px;
  line-height: 1.8;
}

.tcdce-body .business_list .design_button {
  border-radius: 100px;
  margin-top: 37px !important;
  height: 60px;
  line-height: 60px;
}

.tcdce-body .business_list .space {
  margin-top: 60px;
}

.tcdce-body .business_list .space_ttl {
  margin-bottom: 0;
  font-family: var(--tilt-wrap-ff);
  font-size: 49px;
  font-weight: 400;
}

.tcdce-body .business_list .space_sub {
  font-size: 24px;
  font-weight: 700;
}

.tcdce-body .business_list .space .img {
  margin-bottom: 30px;
}

.tcdce-body .business_list .space2 {
  max-width: 967px;
  margin-inline: auto;
  padding: 0 20px;
}

.tcdce-body .business_list .space .imglist {
  display: flex;
  gap: 12px;
  margin-bottom: 30px;
}

.tcdce-body .business_list .space .imglist .img {
  margin-bottom: 0;
}

@media (max-width: 1100px) {
  .tcdce-body .business_list h2 {
    font-size: 55px;
  }

  .tcdce-body .business_list .space_ttl {
    font-size: 40px;
  }

  .tcdce-body .business_list .space_sub {
    font-size: 20px;
  }
}

@media (max-width: 767px) {
  .tcdce-body .business_list .wrap {
    margin-top: 70px;
    padding-top: 40px;
  }

  .tcdce-body .business_list h2 {
    font-size: 40px;
  }

  .tcdce-body .business_list .sub {
    font-size: 16px;
  }

  .tcdce-body .business_list .info {
    margin-top: 40px;
  }

  .tcdce-body .business_list .ttl {
    margin-bottom: 20px;
    font-size: 18px;
  }

  .tcdce-body .business_list .desc {
    margin-top: 20px;
  }

  .tcdce-body .business_list .space_ttl {
    font-size: 28px;
  }

  .tcdce-body .business_list .space_sub {
    margin-top: 7px;
    font-size: 18px;
  }

}