@charset "UTF-8";
/* **************************************************

Name: ai-glies.css

Description: /solution/ai-glies/

Create: 2024.12.17
Update:

Copyright Hitachi Systems, Ltd.

***************************************************** */

/* custom property */
:root {
    /* color */
    --color-default: #333333;
    --color-default-contrast: #fff;

    --color-primary: #e5132b;
    --color-primary-rgb: 229, 19, 43;
    --color-primary-deep: #d4142a;
    --color-primary-contrast: #fff;

    --color-secondary: #f8b62d;
    --color-secondary-rgb: 248, 182, 45;
    --color-secondary2: #1a7d98;
    --color-secondary2-rgb: 26, 125, 152;
}


/* setting */

#title-area {
    font-family: "Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, Helvetica, sans-serif;
    width: 100%;
    max-height: 400px;
    background-image: url('/-/media/ind/carbon_neutral/image/about/sj-hisys/bg_img_01.png');
    /* 画像のパスを指定 */
    background-size: cover;
    /* 画像を要素に合わせて拡大・縮小 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを防止 */
    background-position: center center;
    /* 画像の位置を中央に */
}


.hero-area {
    padding: 5%;
    text-align: left;
    color: #002e06;
}

.main-title h1 {
    font-size: clamp(20px, 4vw, 32px);
    margin-bottom: 0.3em;
}

.sub-title p {
    max-width: 600px;
    font-size: clamp(12px, 4vw, 16px);
    margin-bottom: 3em;
    line-height: 1.5;
    background-color: rgba(255, 255, 255, 0.5); /* 半透明の白 */
}

.form-btn {
    background-color: #d4142a;
    padding: 12px 28px;
    color: #fff;
    max-width: 300px;
    font-size: clamp(16px, 4vw, 20px);
    text-align: center;
    border-radius: 45px;
}

.form-btn a {
    color: #fff;
    font-weight: bold;
}

.page-bg {
    background: url(/-/media/ind/carbon_neutral/image/index/contents_bgi01_top01_img01_pc.png) no-repeat 0% 0%;
    background-size: cover;
    /* 画像を要素に合わせて拡大・縮小 */
    background-repeat: no-repeat;
    /* 画像の繰り返しを防止 */
    background-position: center center;
    /* 画像の位置を中央に */
    background-attachment: fixed;
    font-family: "Noto Sans Japanese", "游ゴシック体", "Yu Gothic", YuGothic, Helvetica, sans-serif;
}

.page-section {
    font-size: clamp(12px, 4vw, 16px);
    padding: 3em 0;
    text-align: center;
}

.midashi {
    text-align: center;
    font-size: clamp(18px, 4vw, 28px);
    margin-bottom: 2em;
}

.midashi-deza {
    display: inline-block;
    /* テキストの幅に合わせる */
    position: relative;
    border-bottom: 5px solid #b3b3b3;
}

.midashi-deza::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 0;
    width: 30%;
    height: 5px;
    background-color: #23a013;
}

.lead-text p {
    margin: auto;
    margin: 2em 2em;
}



/* ===================================================================================== */
/* ===================================================================================== */



.movie-contents iframe {
    width: 80%;
    max-width: 600px;
    height: auto;
    aspect-ratio: 16 / 9;
    /* 自動で高さを調整（対応ブラウザのみ） */
    display: block;
    margin: 0 auto;
    /* 中央寄せ（任意） */
}

#movie-area .lead-text {
    margin: auto;
    margin-top: 2em;
    width: 320px;
}

#movie-area .lead-text a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    font-size: clamp(12px, 4vw, 16px);
    font-weight: bold;
    text-decoration: none;
    background-color: #baffc0;
    border-radius: 40px;
}

#movie-area .lead-text a::before {
    content: '';
    position: absolute;
    bottom: 16px;
    right: 27px;
    width: 20px;
    height: 12px;
    border-right: 2px solid #2b550e;
    border-bottom: 2px solid #2b550e;
}

#movie-area .lead-text a::after {
    content: '';
    width: 18px;
    height: 12px;
    border: 2px solid #2b550e;
}

/* ===================================================================================== */
/* ===================================================================================== */



#haikei .lead-text p {
    width: 80%;
    margin: auto;
    margin-bottom: 3em;
    text-align: left;
}

.img-card {
    margin: auto;
    padding: 0 2em;
}


#haikei .img-card {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 75%;
}

#haikei .img-card>* {
    margin: 1em 0;
    min-width: 250px;
    /* 1つの要素がこれ以上小さくならないようにする */

    flex-grow: 1;
    flex-shrink: 1;
    flex-basis: 45%;
    /* 幅が足りなくなったら折り返す */
    box-sizing: border-box;

}

#haikei .img-card img {
    width: 80%;
}


/* ===================================================================================== */
/* ===================================================================================== */


.one-img-card {
    margin: auto;
    width: 50%;
}

.one-img-card img {
    width: 100%;
}

/* ===================================================================================== */
/* ===================================================================================== */

.form-section {
    padding: 1em 2em;
}

.out-link-btn {
    margin: 1em auto;
    max-width: 350px;
    padding: 0.5em 2em;
    font-size: clamp(8px, 3vw, 16px);
    font-weight: bold;
    text-decoration: none;
    background-color: #baffc0;
    border-radius: 40px;
}

.external-icon {
    /* 四角い枠 */
    position: relative;
    display: inline-block;
    width: 18px;
    height: 12px;
    border: 2px solid #2b550e;
    margin-left: 6px;
    flex-shrink: 0;
}

.external-icon::after {
    /* 四角の外枠 */
    content: '';
    position: absolute;
    bottom: -6px;
    right: -6px;
    width: 20px;
    height: 12px;
    border-right: 2px solid #2b550e;
    border-bottom: 2px solid #2b550e;
}

.external-icon2 {
    /* 四角い枠 */
    position: relative;
    display: inline-block;
    width: 3px;
    height: 0px;
    border: 1px solid #2b550e;
    margin-left: 0px;
    flex-shrink: 0;
}

.external-icon2::after {
    /* 四角の外枠 */
    content: '';
    position: absolute;
    bottom: -4px;
    right: -4px;
    width: 15px;
    height: 10px;
    border-right: 1px solid #2b550e;
    border-bottom: 1px solid #2b550e;
}


.service-list {
    margin: auto;
    padding: 2em 2em;
    max-width: 70%;
}

.service-list ul {
    display: flex;
    flex-wrap: wrap;
    gap: 2em;
    /* 要素間のすき間を調整（任意） */
    justify-content: center;
    list-style: none;
}

.service-list ul li {
    flex: 0 1 30%;
    background-color: #ededed;
    box-sizing: border-box;
    margin-bottom: 2em;
    min-width: 200px;
    /* 折り返しの基準になる最小幅 */
}

.service-img {
    position: relative;
    height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.service-img img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    display: block;
}

.label {
    position: absolute;
    top: 1em;
    left: 1em;
    background-color: rgba(255, 255, 255, 0.8);
    /* 白背景を半透明に */
    border-radius: 10px;
    padding: 2px 1.5em;
    font-size: clamp(8px, 4vw, 12px);
    font-weight: bold;
    color: black;
    z-index: 2;
}


.service-category {
    font-weight: bold;
    font-size: clamp(14px, 4vw, 22px);

}


/* ===================================================================================== */
/* ===================================================================================== */


.sj-card,
.hisys-card {
    width: 70%;
    margin: 2em auto;
    display: flex;
    flex-wrap: wrap;
}

.company {
    text-align: left;
    font-size: clamp(18px, 4vw, 28px);
    font-weight: bold;
    margin-bottom: 0.5em;
}

.company-text {
    text-align: left;
    font-size: clamp(12px, 4vw, 16px);
}


.company-link a {
    margin-top: 2em;
    margin-left: 30%;
    max-width: 90%;
    /* 幅を制限して小さい画面でも崩れにくく */
    display: flex;
    justify-self: flex-start;
    align-items: center;
    position: relative;
    padding: 1em 0 1em 1em;
    color: #333;
    font-size: clamp(0.5em, 2vw, 1em);
    text-decoration: none;
}



.company-link a span {
    position: relative;
    padding: 0.5em;
    margin-left: 0.5em;
    background-color: #fff;
    z-index: 1;
}

.company-link a::before {
    content: '';
    transform: rotate(45deg);
    width: clamp(0.5em, 2vw, 1em);
    /* 固定幅から柔軟な幅へ */
    height: clamp(0.5em, 2vw, 1em);
    border-top: 0.1em solid #2b550e;
    border-right: 0.1em solid #2b550e;
}

.company-link a::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: clamp(40px, 20vw, 80px);
    /* 画面サイズに応じて調整 */
    height: clamp(40px, 20vw, 80px);
    border: 2px solid #90be70;
    border-radius: 50%;
}