@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Shippori+Mincho&display=swap');

*, *::after, *::before {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  text-decoration: none;
  border: none;
  scroll-behavior: smooth;
}

body{
    font-size: 1rem;
    letter-spacing: 1.2px;
    font-family: "MFW-ShinGoPro-Regular";
    font-size: 18px;

    position: relative;
    line-height: 2;
}

p{
    font-size: 18px;
}

a{
    cursor: pointer;
}

img{
    width: 100%;
}

h2{
    font-family: "MFW-RyuminPro-ExHeavy";
    font-weight: 600;
}

h3{
    font-family: "MFW-ShinGoPro-DeBold", 'Noto Sans JP', sans-serif;
    font-weight: 600;
}

.interview{
    max-width: 1000px;
    margin: 32px auto;
    display: flex;
    flex-direction: column;
}

.title-bar{
    padding: 10px 1rem;
    background-color: #1D2089;
}

.title-bar p{
    color: #ffffff;
    font-size: 22px;
    font-family: "MFW-ShinGoPro-DeBold", 'Noto Sans JP', sans-serif;
}

.interview-content{
    padding: 1rem;
    background-color: #DCEDF7;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.interview-title{
    font-size: 19px;
    line-height: 1.5;
    font-family: "MFW-ShinGoPro-DeBold", 'Noto Sans JP', sans-serif;
}

.img-content{
    display: flex;
    align-items: flex-start;
    gap: 1rem;
}

.interview-img{
    flex: 1;
    width: 246px;
    height: 200px;
    background-color: #ffffff;
}

.img-content > .interview-content{
    display: flex;
    flex-direction: column;
    gap: 1rem;
    padding: 0;
}

.img-content > .interview-content > p{
    font-family: "MFW-ShinGoPro-DeBold", 'Noto Sans JP', sans-serif;
    font-size: 16px;
}

.interview-link{
    display: flex;
    align-items: center;
    gap: 1rem;
    color: #1D2089;
    font-family: "MFW-ShinGoPro-DeBold", 'Noto Sans JP', sans-serif;
}

.interview-link p{
    font-size: 16px;
    line-height: 1.5;
}

.powercms-link > img{
    width: 200px;
    object-fit: contain;
}

.powercms-security{
    max-width: 1000px;
    margin: 32px auto;
    padding: 46px 80px;

    background-image: url(/assets/images/powercms/PowerCMSX_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom;
}

.powercms-sec-title{
    max-width: 660px;
    object-fit: contain;
    margin-bottom: 32px;
}

.powercms-security-content{
    display: flex;
    align-items: flex-start;
    gap: 25px;
}

.powercms-text-content{
    flex: 1;
    color: #ffffff;
    font-weight: 300;
}

.powercms-text-content p{
    font-size: 16px;
}

.powercms-img-content{
    flex: 1;
    display: flex;
    flex-direction: column;
    font-weight: 300;
}

.powercms-img-content > p{
    color: #ffffff;
    font-size: 12px;
    line-height: 1.5;
}

.powercms-img-content > p > a{
    color: #ffffff;
    font-size: 12px;
    text-decoration: underline;
}

.aws-pc{
    max-width: 1000px;
    object-fit: contain;
    margin: 32px auto;
}

.aws-sp{
    display: none;
    width: 90%;
    margin: 32px auto;
}

.reason-one-section-three{
    position: relative;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
}

.reason-one-section-three .card {
    background-color: #F3F4F9;
    border: 0.17px solid #dfdfdf;
    border-radius: 6px;
    padding: 28px;
    width: 32%;
    text-align: left;
}

.reason-one-section-three .card-content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    gap: 1rem;
    height: 100%;
}

.reason-one-section-three .card-title {
    font-size: 1.2rem;
    font-weight: 500;
}

.reason-one-section-three .card-title, .reason-one-section-three .card-para {
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: left;
    line-height: 1.5;
}

.reason-one-section-three .card-img {
    width: 100%;
    height: auto;
    margin-top: auto;
}

#powercms-main .service-wrapper{
    width: 100%;
    max-width: 1000px;
    margin: 32px auto;

    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: flex-start;
    gap: 0;
    padding: 0;
    box-shadow: none;
}

#powercms-main .service-box{
    flex: 1 1 250px;
    height: 450px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    gap: 1rem;

    padding: 1.5rem 1rem;
}

.service-wrapper > .service-box:nth-child(1){
    background-color: #F9F9F9;
}

.service-wrapper > .service-box:nth-child(2){
    background-color: #F1EBE2;
}

.service-wrapper > .service-box:nth-child(3){
    background-color: #EFE1CD;
}

.service-wrapper > .service-box:nth-child(4){
    background-color: #F1D9B9;
}

.service-box > h3{
    text-align: center;
    margin-bottom: 0;
}

.service-img{
    height: 100px;
    margin: 0 auto;
    object-fit: contain;
}

.option{
    max-width: 1000px;
    margin: 32px auto;

    display: flex;
    flex-direction: column;
    gap: 32px;
}

.option-item{
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 20px;
}

.left-shape{
    width: 20px;
    height: 100%;
    margin-right: 1rem;
    background-color: #A79376;
}

.option-text{
    display: flex;
    flex-direction: column;
    gap: 0.5px;
    line-height: 1.5;
}

@media (min-width: 769px) and (max-width: 1100px) {
    .powercms-link > img{
        width: auto;
        height: 55px;
    }
}


    @media (max-width: 768px) {

        .title-bar{
            padding: 10px 1.5rem;
            font-size: 20px;
        }

        .interview-content{
            padding: 1.5rem;
        }

        .img-content{
            display: flex;
            flex-direction: column;
            align-items: flex-start;
            gap: 1rem;
        }

        .interview-img{
            flex: 1;
            background-color: #ABABAB;  
            width: 100%;
            height: 200px;
        }

        .img-content > .interview-content{
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            padding: 0;
        }

        .img-content > .interview-content > p{
            font-size: 18px;
            font-weight: 500;
        }

        .interview-link{
            gap: 1.5rem;
            flex-direction: column;
        }

        .powercms-link > img{
            width: 230px;
            height: 50px;
            object-fit: cover;
        }

        .option{
            width: 90%;
        }

        .powercms-security{
            max-width: 1000px;
            margin: 32px auto;
            padding: 2rem 2.5rem;

            background-image: url(/assets/images/powercms/PowerCMSX_bg.webp);
            background-repeat: no-repeat;
            background-size: cover;
            background-position: bottom;
        }

        .powercms-sec-title{
            max-width: 660px;
            object-fit: contain;
            margin-bottom: 1rem;
        }

        .powercms-security-content{
            display: flex;
            align-items: flex-start;
            gap: 25px;
        }

        .powercms-text-content{
            flex: 1;
            font-size: 16px;
            color: #ffffff;
            font-weight: 300;
        }

        .powercms-img-content{
            width: 100%;
            flex: 1;
            display: flex;
            flex-direction: column;
            font-weight: 300;
        }

        .powercms-img-content p, .powercms-img-content > p > a{
            font-size: 16px;
        }

        .powercms-security-content{
            flex-direction: column;
        }

        .reason-one-section-three{
            flex-direction: column;
        }

        .reason-one-section-three .card{
            width: 90%;
            margin: 0 auto;
        }
        
        #powercms-main .service-wrapper{
            width: 90%;
            margin: 0 auto;
            grid-template-columns: 1fr;
        }

        .service-img{
            height: 70px;
        }

        .aws-pc{
            display: none;
        }

        .aws-sp{
            display: block;
        }

        #powercms-main .service-box{
            height: 100%;
        }

    }