@charset "UTF-8";

/*=================================================
　リセットCSS
==================================================*/
/* Eric Meyer's Reset CSS v2.0 */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font: inherit;
vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
display: block;
}
body {
line-height: 1;
}
ol, ul {
list-style: none;
}
blockquote, q {
quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content: '';
content: none;
}
table {
border-collapse: collapse;
border-spacing: 0;
}

/*=================================================
 TOP(OUR SERVICE)
==================================================*/
/* service_top */
.service_top{
    width:80%;
    margin:0 auto 100px;
}
.service_title{
    margin-bottom:50px;
}
.service_title h3{
    font-size:55px;
    color:#0071bc;
    font-weight: bold;
    margin-bottom:10px;
}
.service_title p{
    color:#0071bc;
}
.service_title_flex{
    /* h2とpを横並びにする */
    display:flex;
    gap:3em;
}
.service_title_flex h2{
    color:#00005f;
    font-size:30px;
    font-weight: bold;
    width:50%;
}
.service_title_flex p{
    width:50%;
    color:#00005f;
    line-height: 2.5;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_title h3{
        font-size:30px;
        margin-bottom:10px;
    }
    .service_title_flex{
        /* h2とpの横並びを解除 */
        display:block;
    }
    .service_title_flex h2{
        font-size:20px;
        width:100%;
        margin-bottom:30px;
    }
    .service_title_flex p{
        width:100%;
        line-height: 1.5;
    }
}


/*=================================================
  ヒーロー画像(SOLUTION FOR THE FUTURE)
==================================================*/
/* sarvice_hero */
.service_hero{
    position:relative;
    margin-bottom:5px;
}
.service_hero img{
    width:100%;  
}
.service_hero_font{
    position:absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}
.service_hero_font h2{
    font-size:60px;
    color:#fff;
    font-weight:bold;
    text-align:center;
    line-height: 1.5;
    text-shadow: 0 0 1rem #00005F;
}
.service_hero_font h2 span{
    color:#f4b100;
}
.service_hero_font p{
    color:#fff;
    text-align:center;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_hero img{
        width:100vw;
        height:40vh;
        object-fit: cover;
        object-position: 50% 50%;  
    }
    .service_hero_font h2{
        font-size:25px;
        line-height: 1.5;
    }
}


/*=================================================
  PROCESS
==================================================*/
/* service_process */
.service_process{
    text-align:center;
}

/* *PROCESS(色が付いている部分)* */
/* ---service_process_img--- */
.service_process_img{
    background-color: #e4eaff;
    padding-bottom: 50px;
    margin-bottom:100px;
}
.service_process_img h3{
    font-size:55px;
    color:#00005f;
    font-weight: bold;
    margin-bottom:20px;
    padding-top:100px;
}
.service_process_img p{
    color:#00005f;
}
.service_process_img img{
    width:80%;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_process_img h3{
        font-size:30px;
    }
    .service_process_img p{
        margin-bottom:20px;
    }
}
/* *色が付いている部分ここまで* */

/* *ソフトウェア開発及び技術支援* */
/* ---service_process_software--- */
.service_process_software{
    /* PC版では画像とテキストを横並び */
    display: flex;
    width:90%;
    gap:100px;
    margin:0 auto 100px;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_process_software{
        /* 768px以下で画像とテキストの横並びを解除 */
        display: block;
    }
}

/* 画像(Software Development & IT Support) */
.service_process_software_img{
    position:relative;
}
.service_process_software_img p{
    position:absolute;
    top: 35%;
    left: 30%;
    transform: translate(-50%, -50%);
    color:#ffffffc4;
    writing-mode: vertical-rl; /*縦書き*/
    font-size:55px;
    text-align: left;
}
.service_process_software_img img{
    width:40vw;
    height:180vh;
    object-fit: none;
    object-position: 50% 50%;
}
@media screen and (max-width: 1200px) {
	/* 1200px以下に適用されるCSS（タブレット用） */
    .service_process_software_img img{
        height:120vw;
    }
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_process_software_img p{
        position:absolute;
        top: 40%;
        left: 20%;
        transform: translate(-50%, -50%);
        font-size:25px;
    }
    .service_process_software_img img{
        width:90vw;
        height:40vh;
        object-fit: cover;
    }
    .gradation{
        margin-bottom:50px;
    }
}

/* テキスト部分(ソフトウェア開発及び技術支援) */
.service_process_software_text{
    text-align:left;
    width:50vw;
}
.service_process_software_text h4{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_process_software_text hr{
    height:10px;
    background-color: #e4eaff;
    border:none;
    margin-bottom:30px;
}
.service_process_software_text p{
    color:#00005f;
    line-height:2.5;
    margin-bottom:50px;
}
.service_process_software_text h5{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_process_software_text ul{
    list-style-type: disc;
}
.service_process_software_text ul li{
    color:#00005f;
    line-height: 2.5;
    margin-bottom:15px;
}
.service_process_software_text ul li span{
    font-weight: bold;
    vertical-align: 0.3em;
}
.service_process_software_text ul li::marker {
    color: #f4b100;
    font-size: 2em;
}
@media screen and (max-width: 768px) {
    /* 768px以下に適用されるCSS（モバイル版） */
    .service_process_software_text{
        margin:0 auto;
        width:80%;
    }
    .service_process_software_text h4{
        font-size:20px;
        margin-bottom:30px;
    }
    .service_process_software_text h5{
        font-size:20px;
    }
    .service_process_software_text ul li{
        line-height: 2;
    }
}


/*=================================================
  PROJECT
==================================================*/
/* service_project */
.service_project{
    text-align:center;
}

/* *PROJECT(色が付いている部分)* */
/* ---service_project_img--- */
.service_project_img{
    background-color: #e4eaff;
    padding-bottom: 50px;
    margin-bottom:100px;
}
.service_project_img h3{
    font-size:55px;
    color:#00005f;
    font-weight: bold;
    margin-bottom:20px;
    padding-top:100px;
}
.service_project_img p{
    color:#00005f;
}
.service_project_img h4{
    font-size:30px;
    color:#0071bc;
    font-weight: bold;
    margin-bottom:30px;
    padding-top:100px;
}
.service_project_img hr{
    background-color:#0071bc;
    border:none;
    height:2px;
    width:60%;
    margin-bottom:20px;
}
.service_project_img .service_project_img_text{
    color:#0071bc;
    line-height:2.5;
}
.service_project_img img{
    width:80%;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_project_img h3{
        font-size:30px;
    }
    .service_project_img p{
        margin-bottom:20px;
    }
    .service_project_img h4{
        font-size:22px;
        padding-top:50px;
        width:80%;
        margin:0 auto;
    }
    .service_project_img .service_project_img_text{
        width:90%;
        margin:0 auto 30px;
        line-height:1.5;
    }
}
/* *色が付いている部分ここまで* */

/* *コンピュータシステムの導入に関するコンサルティング* */
/* ---service_project_consulting--- */
.service_project_consulting{
    /* PC版では画像とテキストを横並び */
    display: flex;
    width:90%;
    gap:100px;
    margin:0 auto 100px;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_project_consulting{
        /* 768px以下で画像とテキストの横並びを解除 */
        display: block;
    }
}

/* 画像(IT System Consulting) */
.service_project_consulting_img{
    position:relative;
}
.service_project_consulting_img p{
    position:absolute;
    top: 30%;
    left: 20%;
    transform: translate(-50%, -50%);
    color:#ffffffc4;
    writing-mode: vertical-rl; /*縦書き*/
    font-size:55px;
    text-align: left;
}
.service_project_consulting_img img{
    width:40vw;
    height:180vh;
    object-fit: cover;
    object-position: 50% 50%;
}
@media screen and (max-width: 1200px) {
	/* 1200px以下に適用されるCSS（タブレット用） */
    .service_project_consulting_img img{
        height:120vh;   
    }
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_project_consulting_img p{
        position:absolute;
        top: 40%;
        left: 20%;
        transform: translate(-50%, -50%);
        font-size:30px;
    }
    .service_project_consulting_img img{
        width:90vw;
        height:40vh;
        object-fit: cover;
    }
    .gradation{
        margin-bottom:50px;
    }
}

/* テキスト部分(コンピュータシステムの導入に関するコンサルティング) */
.service_project_consulting_text{
    text-align:left;
    width:50vw;
}
.service_project_consulting_text h4{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_project_consulting_text hr{
    height:10px;
    background-color: #e4eaff;
    border:none;
    margin-bottom:30px;
}
.service_project_consulting_text p{
    color:#00005f;
    line-height:2.5;
    margin-bottom:50px;
}
.service_project_consulting_text h5{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_project_consulting_text ul{
    list-style-type: disc;
}
.service_project_consulting_text ul li{
    color:#00005f;
    line-height: 2.5;
    margin-bottom:15px;
}
.service_project_consulting_text ul li span{
    font-weight: bold;
    vertical-align: 0.3em;
}
.service_project_consulting_text ul li::marker {
    color: #f4b100;
    font-size: 2em;
}
@media screen and (max-width: 768px) {
    /* 768px以下に適用されるCSS（モバイル版） */
    .service_project_consulting_text{
        margin:0 auto;
        width:80%;
    }
    .service_project_consulting_text h4{
        font-size:20px;
        margin-bottom:30px;
    }
    .service_project_consulting_text h5{
        font-size:20px;
    }
    .service_project_consulting_text ul li{
        line-height: 2;
    }
}

/*=================================================
  STRENGTH
==================================================*/
/* service_strength */
.service_strength{
    text-align:center;
}

/* *STRENGTH(色が付いている部分)* */
/* ---service_strength_img--- */
.service_strength_img{
    background-color: #e4eaff;
    padding-bottom: 50px;
    margin-bottom:100px;
}
.service_strength_img h3{
    font-size:55px;
    color:#00005f;
    font-weight: bold;
    margin-bottom:20px;
    padding-top:100px;
}
.service_strength_img p{
    color:#00005f;
}
.service_strength_img h4{
    font-size:30px;
    color:#0071bc;
    font-weight: bold;
    margin-bottom:30px;
    padding-top:100px;
}
.service_strength_img hr{
    background-color:#0071bc;
    border:none;
    height:2px;
    width:60%;
    margin-bottom:20px;
}
.service_strength_img .service_strength_img_text{
    color:#0071bc;
    line-height:2.5;
}
.service_strength_img img{
    width:80%;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_strength_img h3{
        font-size:30px;
    }
    .service_strength_img p{
        margin-bottom:20px;
    }
    .service_strength_img h4{
        font-size:22px;
        padding-top:50px;
        width:80%;
        margin:0 auto;
    }
    .service_strength_img .service_strength_img_text{
        width:90%;
        margin:0 auto 30px;
        line-height:1.5;
    }
}
/* *色が付いている部分ここまで* */

/* *コンピューターシステムの運用管理* */
/* ---service_strength_system--- */
.service_strength_system{
    /* PC版では画像とテキストを横並び */
    display: flex;
    width:90%;
    gap:100px;
    margin:0 auto 100px;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_strength_system{
        /* 768px以下で画像とテキストの横並びを解除 */
        display: block;
    }
}

/* 画像(IT Operations Management) */
.service_strength_system_img{
    position:relative;
}
.service_strength_system_img p{
    position:absolute;
    top: 35%;
    left: 20%;
    transform: translate(-50%, -50%);
    color:#ffffffc4;
    writing-mode: vertical-rl; /*縦書き*/
    font-size:55px;
    text-align: left;
}
.service_strength_system_img img{
    width:40vw;
    height:180vh;
    object-fit: cover;
    object-position: 50% 50%;
}
@media screen and (max-width: 1200px) {
	/* 1200px以下に適用されるCSS（タブレット用） */
    .service_strength_system_img img{
        height:150vh;   
    }
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_strength_system_img p{
        position:absolute;
        top: 40%;
        left: 20%;
        transform: translate(-50%, -50%);
        font-size:25px;
    }
    .service_strength_system_img img{
        width:90vw;
        height:40vh;
        object-fit: cover;
    }
    .gradation{
        margin-bottom:50px;
    }
}

/* テキスト部分(コンピューターシステムの運用管理) */
.service_strength_system_text{
    text-align:left;
    width:50vw;
}
.service_strength_system_text h4{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_strength_system_text hr{
    height:10px;
    background-color: #e4eaff;
    border:none;
    margin-bottom:30px;
}
.service_strength_system_text p{
    color:#00005f;
    line-height:2.5;
    margin-bottom:50px;
}
.service_strength_system_text h5{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_strength_system_text ul{
    list-style-type: disc;
}
.service_strength_system_text ul li{
    color:#00005f;
    line-height: 2.5;
    margin-bottom:15px;
}
.service_strength_system_text ul li span{
    font-weight: bold;
    vertical-align: 0.3em;
}
.service_strength_system_text ul li::marker {
    color: #f4b100;
    font-size: 2em;
}
@media screen and (max-width: 768px) {
    /* 768px以下に適用されるCSS（モバイル版） */
    .service_strength_system_text{
        margin:0 auto;
        width:80%;
    }
    .service_strength_system_text h4{
        font-size:20px;
        margin-bottom:30px;
    }
    .service_strength_system_text h5{
        font-size:20px;
    }
    .service_strength_system_text ul li{
        line-height: 2;
    }
}

/*=================================================
  FUTURE
==================================================*/
/* service_future */
.service_future{
    text-align:center;
}

/* *FUTURE(色が付いている部分)* */
/* ---service_future_img--- */
.service_future_img{
    background-color: #e4eaff;
    padding-bottom: 50px;
    margin-bottom:100px;
}
.service_future_img h3{
    font-size:55px;
    color:#00005f;
    font-weight: bold;
    margin-bottom:20px;
    padding-top:100px;
}
.service_future_img p{
    color:#00005f;
}
.service_future_img h4{
    font-size:30px;
    color:#0071bc;
    font-weight: bold;
    margin-bottom:30px;
    padding-top:100px;
}
.service_future_img hr{
    background-color:#0071bc;
    border:none;
    height:2px;
    width:60%;
    margin-bottom:20px;
}
.service_future_img .service_future_img_text{
    color:#0071bc;
    line-height:2.5;
}
.service_future_img img{
    width:80%;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_future_img h3{
        font-size:30px;
    }
    .service_future_img p{
        margin-bottom:20px;
    }
    .service_future_img h4{
        font-size:22px;
        padding-top:50px;
        width:80%;
        margin:0 auto;
    }
    .service_future_img .service_future_img_text{
        width:90%;
        margin:0 auto 30px;
        line-height:1.5;
    }
}
/* *色が付いている部分ここまで* */

/* *ネットワーク構築・保守* */
/* ---service_future_network--- */
.service_future_network{
    /* PC版では画像とテキストを横並び */
    display: flex;
    width:90%;
    gap:100px;
    margin:0 auto 100px;
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_future_network{
        /* 768px以下で画像とテキストの横並びを解除 */
        display: block;
    }
}

/* 画像(Network Construction & IT Maintenance) */
.service_future_network_img{
    position:relative;
}
.service_future_network_img p{
    position:absolute;
    top: 35%;
    left: 20%;
    transform: translate(-50%, -50%);
    color:#ffffffc4;
    writing-mode: vertical-rl; /*縦書き*/
    font-size:55px;
    text-align: left;
}
.service_future_network_img img{
    width:40vw;
    height:180vh;
    object-fit: cover;
    object-position: 50% 50%;
}
@media screen and (max-width: 1200px) {
	/* 1200px以下に適用されるCSS（タブレット用） */
    .service_future_network_img img{
        height:160vh;   
    }
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .service_future_network_img p{
        position:absolute;
        top: 40%;
        left: 20%;
        transform: translate(-50%, -50%);
        font-size:25px;
    }
    .service_future_network_img img{
        width:90vw;
        height:40vh;
        object-fit: cover;
    }
    .gradation{
        margin-bottom:50px;
    }
}

/* テキスト部分(ネットワーク構築・保守) */
.service_future_network_text{
    text-align:left;
    width:50vw;
}
.service_future_network_text h4{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_future_network_text hr{
    height:10px;
    background-color: #e4eaff;
    border:none;
    margin-bottom:30px;
}
.service_future_network_text p{
    color:#00005f;
    line-height:2.5;
    margin-bottom:50px;
}
.service_future_network_text h5{
    color:#0071bc;
    font-size:30px;
    font-weight: bold;
    margin-bottom:30px;
}
.service_future_network_text ul{
    list-style-type: disc;
}
.service_future_network_text ul li{
    color:#00005f;
    line-height: 2.5;
    margin-bottom:15px;
}
.service_future_network_text ul li span{
    font-weight: bold;
    vertical-align: 0.3em;
}
.service_future_network_text ul li::marker {
    color: #f4b100;
    font-size: 2em;
}
@media screen and (max-width: 768px) {
    /* 768px以下に適用されるCSS（モバイル版） */
    .service_future_network_text{
        margin:0 auto;
        width:80%;
    }
    .service_future_network_text h4{
        font-size:20px;
        margin-bottom:30px;
    }
    .service_future_network_text h5{
        font-size:20px;
    }
    .service_future_network_text ul li{
        line-height: 2;
    }
}

/*=================================================
  画像グラデーション
==================================================*/
/* 4つの画像に同じクラス名gradationを付与し、共通のCSSでグラデーションをかけています */
.gradation {
    position: relative;
}
.gradation::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: linear-gradient(90deg, #2336e0c9, transparent);
}
@media screen and (max-width: 768px) {
	/* 768px以下に適用されるCSS（モバイル版） */
    .gradation{
        margin-bottom:50px;
    }
}
