@charset "UTF-8";

/* 共通 */
.com-section {
    padding: 9rem 0;

    @media screen and (max-width: 767px) {
        padding: 6rem 0;
    }
}

.mv-box {
  
  .inner {
    width: 153.2rem;
    max-width: 153.2rem;

    @media screen and (max-width: 767px) {
      width: calc(100% - 4rem);
      display: flex;
      flex-direction: column;
      gap: 3rem;
      justify-content: center;

      .mv-text-box {
        font-weight: bold;
        font-size: 1.2rem;

        .main-text {
          color: var(--primary-color);
          font-size: 3rem;
          line-height: 1.4;
          margin-bottom: 2rem;
          font-family: "Zen Kaku Gothic New", sans-serif;

        }

        .sub-text {
          font-weight: 500;
          line-height: 1.8;
        }
      }

      & img {
        width: 335px;

        @media screen and (max-width: 767px) {
          transform: translateX(-2rem);
          width: 355px;
        }
      }
    }
  }
}

.sec-news {

  @media screen and (max-width: 767px) {
    .news-btn-box {
      margin-top: 5rem;
    }
  }
}

/* service */
.sec-service {
    background-color: #F8F8F8;

    .common-title-box {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: 1.6rem;

      .top-desc {
        font-family: "Zen Kaku Gothic New", sans-serif;
        color: var(--primary-color);
        font-size: 2.8rem;
        font-weight: bold;
        display: inline-block;
        position: relative;
        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
        }


        &::before, &::after {
          content: '';
          position: absolute;
          bottom: 0;
          width: 3px;
          height: 2.5rem;
          background: var(--primary-color);
          border-radius: 10px;

          @media screen and (max-width: 767px) {
            width: 2px;
            height: 1rem;
          }
        }

        &::before {
          left: -2rem;
          transform: rotate(-45deg);

          @media screen and (max-width: 767px) {
            left: -1rem;
          }
        }

        &::after {
          right: -2rem;
          transform: rotate(45deg);

          @media screen and (max-width: 767px) {
            right: -1rem;
          }
        }
      }

      .ja-title {
        text-align: center;
  
        @media screen and (max-width: 767px) {
          line-height: 1.5;
        }
      }
    }


    .srv-box {

      .desc-box{
          display: flex;
          align-items: center;
          gap: 6rem;
          margin-bottom: 4.4rem;

          @media screen and (max-width: 767px) {
            flex-direction: column;
            gap: 2rem;
            align-items: flex-start;
          }

          .desc-col{
            display: flex;
            align-items: center;
            gap: 1.8rem;
            font-size: 1.8rem;
            font-weight: bold;

            @media screen and (max-width: 767px) {
              font-size: 1.6rem;
            }
          
            .label{
              color: #fff;
              line-height: 1;
              padding: 8px 15px;

              @media screen and (max-width: 767px) {
                font-size: 1.4rem;
              }


            }
            .desc-text{

              @media screen and (max-width: 767px) {
                font-size: 1.4rem;
              }
            
            }
          }
          .col01{
            .label {
              background-color: #E00000;
            }
          
          }
          .col02{
            .label {
              background-color: #F38D8F;
            }
          
          }
        }

      &:not(:last-child) {
        margin-bottom: 7rem;

        @media screen and (max-width: 767px) {
          margin-bottom: 5rem;
        }
      }

      .srv-name {
        background-color: var(--primary-color);
        color: #fff;
        font-size: 2.8rem;
        font-weight: bold;
        border-radius: 30px;
        padding: 1.7rem 3.5rem;
        margin-bottom: 4rem;

        @media screen and (max-width: 767px) {
          font-size: 1.6rem;
          line-height: 1;
          border-radius: 30px;
          padding: 1rem;
        }
      }

      .content-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 3.4rem;
    grid-row-gap: 4.4rem;

    @media screen and (max-width: 767px) {
      grid-template-columns: 1fr;
      grid-row-gap: 2rem;
    }

    .content-item {
        border-radius: 10px;
        overflow: hidden;

        &.item-blue {
            border: 3px solid var(--primary-color);
    
            .item-top-box {
                background-color: var(--primary-color);
            }
        
        }
    
        &.item-orange {
            border: 3px solid var(--orange-color);
    
            .item-top-box {
                background-color: var(--orange-color);
            }
        
        }
        &.item-green {
            border: 3px solid var(--green-color);
    
            .item-top-box {
                background-color: var(--green-color);
            }
        
        }
        &.item-pink {
            border: 3px solid var(--pink-color);
    
            .item-top-box {
                background-color: var(--pink-color);
            }
        
        }
        &.item-gray {
            border: 3px solid var(--gray-color);
    
            .item-top-box {
                background-color: var(--gray-color);
            }
        
        }
        &.item-ocean {
            border: 3px solid var(--ocean-color);
    
            .item-top-box {
                background-color: var(--ocean-color);
            }
        
        }
        &.item-light-green {
            border: 3px solid var(--light-green-color);
    
            .item-top-box {
                background-color: var(--light-green-color);

                .top-icon {
                  @media screen and (max-width: 767px) {
                    width: 2rem !important;
                  }
                }
            }



            .notice-box {

              .text-box {
                  display: flex;
                  flex-direction: column;
                  gap: 1.4rem;
              
                  .title {
                      font-size: 2.4rem;
                      font-weight: bold;
                      color: var(--red-color);
                      position: relative;
                      padding-left: 3.5rem;

                      @media screen and (max-width: 767px) {
                        font-size: 2rem;
                        padding-left: 3rem;
                      }

                      &::after {
                          content: '';
                          position: absolute;
                          width: 2.6rem;
                          height: 2.6rem;
                          left: 0;
                          top: 0;
                          background-image: url(../common/img/icon_notification.svg);
                          background-size: contain;
                          background-repeat: no-repeat;

                          @media screen and (max-width: 767px) {
                            width: 2rem;
                            height: 2rem;
                          }
                      }
                  
                  }
                  .main-notice {
                      font-size: 1.6rem;
                      line-height: 1.4;

                      & a {
                        color: var(--red-color);
                        text-decoration: underline;
                      }

                      @media screen and (max-width: 767px) {
                        margin-bottom: 2rem;
                      }
                  }
              }
            }
        
        }
        &.item-purple {
            border: 3px solid var(--purple-color);
    
            .item-top-box {
                background-color: var(--purple-color);
            }
        
        }

        &.item-char {
          display: flex;
          justify-content: center;
          align-items: center;

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

          & img {
            width: 25rem;
            margin: 0 auto;
          }
        }
        
        .item-top-box {
            color: #fff;
            display: flex;
            align-items: center;
            gap: 2.2rem;
            padding: 3rem 2.5rem;

            @media screen and (max-width: 767px) {
              padding: 1.7rem 1.2rem;
              padding-right: 0;
              gap: 1.3rem;
            }
        
            .top-icon {

                @media screen and (max-width: 767px) {
                  width: 3.5rem;
                }
            
            }
            .top-text {
                border-left: 2px solid currentColor;
                padding-left: 2.2rem;
                display: flex;
                flex-direction: column;
                gap: 1.4rem;
                font-size: 1.8rem;
                line-height: 1;

                @media screen and (max-width: 767px) {
                  font-size: 1.4rem;
                  padding-left: 1.3rem;
                  gap: 1rem;
                }
    
                & span {
                    font-size: 2.8rem;
                    font-weight: bold;

                    @media screen and (max-width: 767px) {
                      font-size: 1.8rem;
                    }
                }
            }
        }
        .item-content-box {
            padding: 4rem 4.5rem;
            background-color: #fff;
            height: 100%;

            @media screen and (max-width: 767px) {
              padding: 2.5rem;
            }

            .item-cat-box {
              display: flex;
              gap: 1.2rem;
              margin-bottom: 1.8rem;

              .item-cat {
                color: #fff;
                font-weight: bold;
                font-size: 1.8rem;
                line-height: 1;
                padding: 8px 15px;

                @media screen and (max-width: 767px) {
                  font-size: 1.6rem;
                }
  
                &.cat-foreigner {
                  background-color: var(--red-color);
                }
  
                &.cat-japanese {
                  background-color: var(--pink-color);
                }
              }
            }

            
            .content-link-box {
                display: flex;
                flex-direction: column;
                gap: 2.4rem;
                font-size: 1.6rem;

                @media screen and (max-width: 767px) {
                  gap: 2rem;
                }

                .content-link-item {
                   & a {
                    width: 100%;
                   }
                }
                
                .content-link-title {
                    display: inline-block;
                    font-size: 2.4rem;
                    font-weight: bold;
                    margin-bottom: 1.8rem;
                    line-height: 1.3;

                    & span:first-child {
                      text-decoration: underline;
                      color: var(--ocean-color);
                    }

                    @media screen and (max-width: 767px) {
                      font-size: 1.6rem;
                      margin-bottom: 1rem;
                    }
                
                }
                .content-link-main {
                    display: flex;
                    align-items: center;
                    gap: 2.4rem;
                    justify-content: space-between;
                    padding-bottom: 2.3rem;
                    /* border-bottom: 2px solid #C0C0C0; */

                    @media screen and (max-width: 767px) {
                      padding-bottom: 2rem;
                    }
                
                    .link-main-text {
                        line-height: 1.7;

                        @media screen and (max-width: 767px) {
                          font-size: 1.2rem;
                        }
                    
                    }
    
                    .link-main-icon {
                        @media screen and (max-width: 767px) {
                          width: 2.8rem;
                        }
                    }
                }
            
            }
        }

        &:nth-child(4) {
            @media screen and (max-width: 767px) {
              .item-top-box .top-icon {
                width: 2.5rem;
              }
            }
        }
        &:last-child{
            @media screen and (max-width: 767px) {
              .item-top-box .top-icon {
                width: 2rem;
              }
            }
        }
    
    }
}
    }

}

/* 数字で見るJEES */

.sec-data {

  .content-box {
    .data-list{
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      grid-gap: 2rem;

      @media screen and (max-width: 767px) {
        grid-template-columns: 1fr;
        grid-row-gap: 2rem;
      }

      .data-item{
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        padding: 3rem 0;
        background-color: #F8F8F8;
        border-radius: 1rem;
        gap: 2rem;

        @media screen and (max-width: 767px) {
        }
      
        .title-box{
          flex: 0 0 5.6rem;
          font-size: 2.2rem;
          font-weight: bold;
          text-align: center;
          line-height: 1.5;
          padding: 0 1rem;

          @media screen and (max-width: 767px) {
            flex: 0 0 auto;
            font-size: 1.8rem;
          }
        
        }
        .content-box{
          flex: 1;
          display: flex;
          flex-direction: column;
          gap: 2rem;
        
          .data-text{
            color: var(--primary-color);
            font-size: 5.6rem;
            font-family: "Noto Sans JP", sans-serif;
            font-weight: bold;

            &.en-ver {
              display: flex;
              flex-direction: column;
              align-items: center;
            }

            @media screen and (max-width: 767px) {
              font-size: 4.6rem;
            }

            & span {
              font-size: 10rem;
              font-family: "Roboto", sans-serif;

              @media screen and (max-width: 767px) {
                font-size: 8rem;
              }

              &.unit {
                display: block;
                text-align: center;
                font-size: 5rem;

                @media screen and (max-width: 767px) {
                  font-size: 3rem;
                }
              }
            }
          
          }
          .data-desc{
            font-size: 1.6rem;
            text-align: center;
          
          }
        }
      }
    }

  }
}
