@charset "UTF-8";
.gcp_main_text h1 {
  font-size: 30px;
  font-weight: bold; }
.gcp_main_text strong {
  display: block;
  margin-bottom: 1em;
  font-size: 24px !important;
  font-weight: bold; }
.gcp_main_text p {
  padding-right: 0;
  font-size: 14px;
  line-height: 2; }

.gcp_main_pic img {
  width: 100%; }

.ct_flex01 {
  align-items: center; }
  .ct_flex01 > ul {
    width: 50%;
    padding-left: 50px;
    font-size: 1.25em;
    list-style: disc; }
    .ct_flex01 > ul li {
      margin: 1em 0; }

.ct_title_intfra01 {
  padding-top: 35px;
  margin-bottom: 60px;
  background: url(../images/icon_intfra01.png) no-repeat center top/30px; }

.ct_title_intfra02 {
  padding-top: 35px;
  margin-bottom: 60px;
  background: url(../images/icon_intfra02.png) no-repeat center top/30px; }

.ct_content_width a {
  margin-bottom: 0; }

.ct_item_stit_wp {
  margin-top: auto; }

.ct_img_about01 {
  top: 50px; }

.ct_img_about02 {
  top: -50px; }

.ct_flex01 ul {
  padding-left: 70px; }

.infraCard ul {
  display: flex;
  width: 80%;
  margin: auto;
  gap: 50px; }
  .infraCard ul li {
    width: 50%;
    border-radius: 10px;
    background: #d3f3e6;
    overflow: hidden; }
    .infraCard ul li p {
      padding: 20px; }
.infraCard h4 {
  margin: 3em 0 2em 0;
  font-size: 24px;
  font-weight: bold;
  text-align: center; }
  .infraCard h4 + div {
    display: flex;
    width: 80%;
    margin: auto;
    align-items: center;
    gap: 50px; }
    .infraCard h4 + div p {
      width: 50%;
      line-height: 2; }
    .infraCard h4 + div img {
      width: 50%;
      border-radius: 10px; }

#case .ct_img_about02 {
  top: -100px; }
#case .ct_box_w {
  padding-bottom: 50px; }
#case .caseList a {
  display: block;
  margin-top: 20px;
  padding: 15px 20px 10px 40px;
  border-radius: 10px;
  background: #d3f0ff;
  position: relative;
  transition: 0.3s background; }
  #case .caseList a:before {
    content: "▼";
    color: #4382f2;
    font-size: 12px;
    position: absolute;
    top: 50%;
    left: 15px;
    transform: translateY(-50%) rotate(-90deg);
    transition: 0.3s color; }
  #case .caseList a:after {
    content: "詳しく見る";
    padding: 5px 20px 2px 20px;
    color: #fff;
    font-size: 14px;
    border-radius: 5px;
    background: #4382f2;
    position: absolute;
    top: 50%;
    right: 30px;
    transform: translateY(-50%);
    transition: 0.3s background; }
  #case .caseList a:hover {
    background: #d3f3e6;
    opacity: 1; }
    #case .caseList a:hover:before {
      color: #33a653; }
    #case .caseList a:hover:after {
      background: #33a653; }
  #case .caseList a h3 {
    color: #666;
    font-size: 24px;
    font-weight: bold; }
  #case .caseList a p {
    color: #666;
    font-size: 16px; }

@media only screen and (max-width: 767px) {
  .ct_flex01 {
    align-items: center; }
    .ct_flex01 > ul {
      padding: 0 20px;
      font-size: 1em; }

  .ct_flex01 > * {
    width: 100%; }

  .infraCard ul {
    display: block; }
    .infraCard ul li {
      width: 100%;
      margin-bottom: 30px; }
    .infraCard ul + h4 {
      text-align: left; }
      .infraCard ul + h4 + div {
        display: block; }
        .infraCard ul + h4 + div p {
          width: 100%;
          margin-bottom: 20px; }
        .infraCard ul + h4 + div img {
          width: 100%; }

  .ct_item_box {
    width: 100%; }

  .ct_img_about01 {
    top: 70px;
    right: -15px; }
    .ct_img_about01.ex01 {
      top: -80px;
      right: 0; }

  .ct_img_about02 {
    top: -40px;
    right: 20px; }
    .ct_img_about02.ex01 {
      top: -80px;
      right: 0; }

  #case .ct_img_about02 {
    top: -50px; }
  #case .caseList a {
    padding-left: 20px; }
    #case .caseList a:before {
      content: normal; }
    #case .caseList a:after {
      display: block;
      width: auto;
      margin-top: 1em;
      text-align: center;
      position: static;
      top: auto;
      right: auto;
      left: auto;
      transform: none; }
    #case .caseList a h3 {
      font-size: 18px; }
    #case .caseList a p {
      margin-top: 0.75em;
      font-size: 14px; } }
