@charset "utf-8";
html{
    overflow-x:hidden;
}
body {
    margin: auto;
    max-width: 1000px;
    padding:0 5px 0 5px!important;
    overflow-x:hidden;
}

a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}
header.main-header {
    /*width: 100%;*/
    width: 100%;
    height: 100px;
    color: #c0c0c0;
    background: white; /* 上下中央に揃える */
    position: fixed;
    top: 0;
    box-sizing: border-box;
    z-index: 999;
}

.header-container {
    
    width: 100%;
    max-width:1000px;
    height: 100px;
    color: #c0c0c0;
    display: flex;
    align-items: center;
}

h1 a {
    color: #1a1a1a;
    font-size: 30px;
    text-decoration: none;
}


#kouji {
    position: relative;
    width: 100%;
    margin: 0 auto;
    margin-top: 110px;
    margin-bottom: 80px
}

    #kouji img {
        width: 100%;
    }

.navbar {
    list-style: none;
    display: flex;
}

    .navbar li a {
        padding: 10px 15px;
        color: #1a1a1a;
        text-decoration: none;
        font-weight: bold;
    }

        .navbar li a:hover {
            text-decoration: underline;
        }


h2 {
    background-color: white;
    margin: 0;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    color: rgb(110, 203, 247);
}

p {
    margin: 0 auto;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}


#baisyou {
    position: relative;
    width: 300px;
    margin: auto;
    text-align: center;
}

    #baisyou img {
        width: 300px;
    }

#zaibutu {
    position: relative;
    width: 300px;
    margin: auto;
    text-align: center;
}

    #zaibutu img {
        width: 300px;
    }

#gyoumu {
    position: relative;
    width: 300px;
    margin: auto;
    text-align: center;
}

    #gyoumu img {
        width: 300px;
    }


#off57 {
    margin: auto;
    text-align: center;
    width:100%;
}

    #off57 img {
        margin-bottom: 30px;
        width: 100%;
    }

#off60 {
    margin: auto;
    width:100%;
    text-align: center;
}

    #off60 img {
        margin-bottom: 30px;
        width: 100%;
    }




#risk3 {
    position: relative;
    width: 260px;
    margin: auto;
    text-align: center;
}

#risk3i img {
    width: 240px;
}

#risk4 {
    position: relative;
    width: 260px;
    margin: auto;
    text-align: center;
}

    #risk4 img {
        width: 240px;
    }


.btn_01 {
    font-size:35px;
    margin: auto;
    position: relative;
    display: block;
    width: 80%;
    padding: 0.8em;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    color: #FFF;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.0);
    background: #ff8c00;
    transition: .4s;
    border-radius: 4px;

}

    .btn_01:hover {
        text-shadow: -6px 0px 15px rgba(255, 255, 240, 0.83), 6px 0px 15px rgba(255, 255, 240, 0.83);
        transition: .4s;
        color:#FFF;
    }
@media screen and (max-width:1000px) {
    .btn_01{
        width:90%;
        font-size:3.7vw;
    }
}
.point{
    font-size:45px;
}
@media screen and (max-width:1000px){
    .point{
        font-size:4.5vw;
    }
}
.exheadline{
    font-size:40px;
}
@media screen and (max-width:1000px){
    .exheadline{
        font-size:4vw;
    }
}

#graph {
    position: relative;
    width: 100%;
    margin: 0 auto;
    margin-top: 120px;
    margin-bottom: 80px
}

    #graph img {
        width: 100%;
    }

#flow {
    position: relative;
    width: 700px;
    margin: 0 auto;
    display: block;
}

#aboutins {
    margin: auto;
    text-align: left;
}

details {
    padding: 1rem;
    border-radius: 5px;
    margin: 0 auto;
}
.beforeafter{
    margin-bottom:20px;
}
.beforeafter img{
    width:100%;
}
.offratio {
    font-size: 55px;
    background-color: #ffe5ff;
}
.offratio span{
    font-size:75px;
    color:#FF0000;
}
@media screen and (max-width:1000px){
    .offratio {
        font-size: 5vw;
    }
    .offratio span{
        font-size:6vw
    }
}
summary {
    outline: none;
    /*padding-left: 100px;*/
}

details summary p {
    text-align: left;
}

details[open] .in-details {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.footer {
    color: #808080;
    text-align: center;
    padding: 30px;
}

    .footer a {
        color: #808080;
        text-decoration: none;
    }

        .footer a:hover {
            text-decoration: underline;
        }

    .footer .menu {
        margin: 0;
        padding: 0;
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }

        .footer .menu li {
            margin: 0;
            padding: 0 20px;
        }

    .footer .copyright {
        margin: 0;
        padding: 20px 0 0 0;
    }

/*.formarea {
    margin: 1em;
    padding: 1em;
    border: 5px dotted #c0c0c0;
    border-radius: 30px;
    background: #dcdcdc;
}

    .formarea p {
        margin: 0;
        padding: 0;
    }*/


.line {
    text-align: left;
    text-decoration: underline;
    text-decoration-color: #ff3838;
}

.haikei {
    text-align: center;
    background-color: #ffff7a;
}

.haikei2 {
    text-align: center;
    background-color: #ffe5ff;
}




/* Chrome、Safari以外 */
summary {
    display: block;
}

    /* Chrome、Safari */
    summary::-webkit-details-marker {
        display: none;
    }

summary {
    cursor: pointer;
    transition: 0.2s;
}

    summary:hover {
        cursor: pointer;
        background-color: #EFEFEF;
    }

details[open] .details-content {
    animation: fadeIn 0.5s ease;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-10px);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.youtube {
    width: 100%;
    aspect-ratio: 16/9;
}

.firstview {
    background-image: url("../image/Cyber2.jpeg");
    height: 300px;
    background-size: cover;
}

.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background-color: #dcdcdc;
}

    .menu-btn span,
    .menu-btn span:before,
    .menu-btn span:after {
        content: '';
        display: block;
        height: 3px;
        width: 25px;
        border-radius: 3px;
        background-color: #555;
        position: absolute;
    }

        .menu-btn span:before {
            bottom: 8px;
        }

        .menu-btn span:after {
            top: 8px;
        }

#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0); /*メニューオープン時は真ん中の線を透明にする*/
}

    #menu-btn-check:checked ~ .menu-btn span::before {
        bottom: 0;
        transform: rotate(45deg);
        background-color:#555;
    }

    #menu-btn-check:checked ~ .menu-btn span::after {
        top: 0;
        transform: rotate(-45deg);
        background-color:#555;
    }

#menu-btn-check {
    display: none;
}

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 80;
    background-color: #dcdcdc;
}

    .menu-content ul {
        padding: 70px 10px 0;
    }

        .menu-content ul li {
            border-bottom: solid 1px #555;
            list-style: none;
        }

            .menu-content ul li a {
                display: block;
                width: 100%;
                font-size: 15px;
                box-sizing: border-box;
                color: #555;
                text-decoration: none;
                padding: 9px 15px 10px 0;
                position: relative;
            }

                .menu-content ul li a::before {
                    content: "";
                    width: 7px;
                    height: 7px;
                    border-top: solid 2px #555;
                    border-right: solid 2px #555;
                    transform: rotate(45deg);
                    position: absolute;
                    right: 11px;
                    top: 16px;
                }

.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    left: 100%; /*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: #dcdcdc;
    transition: all 0.5s; /*アニメーション設定*/   

}

#menu-btn-check:checked ~ .menu-content {
    left: 0; /*メニューを画面内へ*/

}

.hamburger-menu {
    display: none;
}

@media screen and (max-width:750px) {

    .hamburger-menu {
        display: block;
    }

    .navbar {
        display: none;
    }
}
.companylogo img{
    width:80%;
    margin-bottom:30px;
}
#ioi img {
    width: 40%
}
@media screen and (max-width:768px){
    #ioi img{
        width:100%;
    }
}
#pamphlet{
    width:100%;
}
/*セロテープ風*/
.box76 {
    margin: 2em auto; /* ボックスの余白 */
    background-color: #e0ffff; /* ボックス背景色 */
    padding: 2.5em 2em 2em; /* ボックス内側余白 */
    position: relative; /* 配置(ここを基準に) */
}

    .box76 .box-title {
        background-color: rgba(255,255,255,.1); /* テープ背景色と透過*/
        border-left: 2px dotted rgba(0,0,0,.1); /* テープのギザギザ左*/
        border-right: 2px dotted rgba(0,0,0,.1); /* テープのギザギザ右*/
        box-shadow: 0 0 5px rgba(0,0,0,0.2); /*テープ影*/
        transform: rotate(-2deg); /*テープの傾き*/
        font-size: 1em; /*タイトル文字の大きさ*/
        color: #666; /*タイトル文字色 */
        padding: 10px 20px; /*タイトルの余白*/
        line-height: 1; /*タイトルの行の高さ*/
        position: absolute; /*配置(ここを動かす)*/
        top: -15px; /*上から（-10px）移動*/
        left: 20px; /*左から(20px)移動*/
    }
#explanation img{
    width:90%;
    margin:auto;
}
    #explanation img:hover{
        opacity:0.7;
    }
    .grd {
        display: inline-block;
        background: linear-gradient(45deg, #FA8BFF 16%, #2BD2FF 57%, #2BFF88 90%);
        background: -webkit-linear-gradient(45deg, #FA8BFF 16%, #2BD2FF 57%, #2BFF88 90%);
        background-size: 300% auto;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        animation: gradientEffect 2.5s infinite alternate;
    }

@keyframes gradientEffect {
    from {
        background-position: left
    }

    to {
        background-position: right
    }
}
.bfex{
    font-size:45px;
}
@media screen and (max-width:1000px){
    .bfex{
        font-size:4.5vw;
    }
}
.down {
    text-align: center;
    font-size: 100px;
    font-weight: bold;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.brsp{
    display:none;
}
@media screen and (max-width:1000px){
    .down{
        font-size:8vw;
    }
    .brsp{
        display:inline;
        margin-left:30%;
    }
}


a.btn_02 {
    font-size: 35px;
    margin: auto;
    position: relative;
    display: block;
    width: 80%;
    padding: 0.8em;
    text-align: center;
    font-weight: bold;
    text-decoration: none;
    color: #FFF;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.0);
    background: #1489ff;
    transition: .4s;
    border-radius: 4px;
}
a.btn_02 .tell{
    font-size:55px;
}

a.btn_02 .open{
    font-size:25px;
}

    a.btn_02:hover {
        text-shadow: -6px 0px 15px rgba(255, 255, 240, 0.83), 6px 0px 15px rgba(255, 255, 240, 0.83);
        transition: .4s;
    }
@media screen and (max-width:1000px){
    a.btn_02{
        width:90%;
        font-size:3.3vw;
    }
        a.btn_02 .tell {
            font-size: 5vw;
        }

        a.btn_02 .open {
            font-size: 3vw;
        }
}
