/************************
* style.css
*   programing Yuji Yajima
*************************/
@charset "utf-8";
@import url('https://fonts.googleapis.com/earlyaccess/notosansjp.css');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Orbitron:wght@400..900&display=swap');
:root {
    /* Font Size */
    --FontSize_LL: 27px; 
    --FontSize_L: 18px; 
    --FontSize_M: 16px; 
    --FontSize_S: 14px; 
    --FontSize_SS: 12px;
    /* Font Weight */
    --Heavy: 900;
    --Bold:  600;
    --Midium: 500;
    --Regular: 400;
    --Normal: 300;
    --Light:200;
    --ExtraLight:100;

    /* Line Height */
    --LineHeight_LL: 41px; 
    --LineHeight_L: 27px; 
    --LineHeight_M: 24px; 
    --LineHeight_S: 21px; 
    --LineHeight_SS: 18px;
    /* Color */
    --Color_Black:#292929;
    --Color_LightBlue:#58c2c8;
    --Color_LightBlue02:#9eeff1;
    --Color_LightBlue03:#b1ecef;
    --Color_Yellow:#ffe503;
    --Color_Yellow02:#ffec67;
    --Color_Yellow03:#fff9c5;
    --Color_Green01:#e1ebd3;
    --Color_Green02:#e1ebd3;
    

}
*{
    margin:0;
    padding:0;
    color:var(--Color_Black);
    font-size: 100%;
    line-height: 1.5em;
    text-decoration: none;
    z-index: 10;
}
img{
    width: 100%;
}
a{
    text-decoration: none;
}
ul,li{
    list-style: none;
}
body{
    width: 100%;
    font-family: 'Noto Sans JP', sans-serif;
    box-sizing: border-box;
    overflow-x: hidden;
}
@media screen and (max-width:767px){
    .wrap{
        width: 100%;
        max-width: 500px;
        margin: 0 auto;
        overflow:hidden;
        box-sizing: border-box;
    }
    header{
        position: relative;
        display: flex;
        background: #fff;
        width: 100%;
        height: 75px;
        z-index: 100;
    }
    header>img{
        width: 15%;
        height: auto;
    }
    header>p{
        position: relative;
        top: 0.3em;
        left: 0px;
        font-size: 14px;
        font-weight: var(--Midium);
        line-height: 24px;
        width: 85%;
        text-align: center;
    }
    main{
        position: relative;
    }
    /* ---------------------------------- */
    section#sec01{
        background-image:url(../images/bg-01.png);
        background-repeat: no-repeat;
        width: 100%;
        text-align: center;
        position: relative;
    }
    #sec01 .title-gr{
        position: relative; 
        width: 100%;
        height: 150px; 
    }
    #sec01 .circle-gr{
        position: relative;
        top: -30px;
        font-size: 16px;
        line-height: var(--LineHeight_M);
        font-weight: 1.5em;
        width: 100px;
        height: 100px;
    }
    #sec01 .circle01{
        position: absolute;
        top: 0px;
        width: 100px;
        height: 100px;
        border-radius: 50%;
        background: var(--Color_Yellow02);
        display: block;
        z-index: 10px;
    }
    #sec01 .circle01 h2{
        text-align: center;
    }
    #sec01 .sub-title{
        position: relative;
        top: 30px;
        display: inline-block;
        width: 100%;
        font-size: 12px;
        font-weight: var(--Bold);
        line-height: 1.5em;
    }
    #sec01 .sub-title span.large{
        font-size: 14px;
        font-weight: var(--Bold);
    }
    #sec01 .title{
        position: relative;
        top: -100px;
        font-size: 30px;
        font-weight:900;
        line-height: 42px;
        letter-spacing: -0.01em;
        text-align: center;
    }
    #sec01 .title>span:nth-of-type(1){
        font-size: 26px;
        line-height: 30px;
    }
    #sec01 .title>span:nth-of-type(2){
        font-size: 54px;
        line-height: 100px;
    }
    #sec01 .title>span:nth-of-type(3){
        position: relative;
        top: -30px;
        font-size: 26px;
        line-height: 26px;
    }
    #sec01 .line{
        position: relative;
        top: -55px;
        left: 50px;
        display: block;
        width: 250px;
        height: 1px;
        border-top:3px solid var(--Color_Yellow02);
    }
    #sec01 .sentence{
        position: relative;
        top: 10px;
        font-size: 12px;
        font-weight: 500;
        line-height: 18px;
        letter-spacing: normal;
        padding: 0px;
        margin-bottom: 1em;
    }
    #sec01 .main-visual{
        position: relative;
        display: flex;
        width: 100%;
        height: max-content;
    }
    #sec01 .main-visual img{
        position: relative;
        left: 50%;
        width: 45%;
        object-fit: fill;
    }
    #sec01 .fukidashi{
        position: relative;
        top: 25px;
        left: -40%;
        width: fit-content;
        height: 6em;
        font-size: 14px;
        line-height: 22px;
        padding: 5px 5px 5px 5px;
        background: #fff;
    }
    #sec01 .fukidashi h3{
        position: relative;
        top: 0em;
        text-align: center;
        font-weight: 400;
    }
    #sec01 .fukidashi ul{
        position: relative;
        top:0em;
        width: fit-content;
        margin: 0 auto;
    }
    #sec01 .fukidashi ul>li{
        text-align: left;
        position: relative;
    }
    #sec01 .fukidashi ul>li:last-of-type{
        text-align: center;
        position: relative;
    }
    /* ---------------------------------------- */
    section#sec02{
        background-image:url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec02 .title-gr{
        position: relative;
        margin: 0;
    }
    #sec02 h2{
        text-shadow: 0px 0px 10px #fff;
    }
    #sec02 .sec02_title{
        position: relative;
        top: 20px;
        font-size: 28px;
    }
    #sec02 .sec02_title>span{
        font-size: 30px;
    }
    #sec02 .sec_title_sub_block{
        position: relative;
        display: flex;
        width: 100%;
        align-items: center;
        /* justify-content: center; */
        
    }
    #sec02 .sec02_title_02{
        position: relative;
        left: 100px;
        font-size: 50px;
    }
    #sec02 .sec02_title_02>span{
        position: relative;
        top: 2px;
        font-size: 60px;
    }
    #sec02 .sec_title_sub_block>img{
        position: relative;
        top: 2px;
        left: 100px;
        width: 72.5px;
    }
    #sec02 .sec02_block{
        position: relative;
        display: block;
        width: 100%;
        margin: 0px auto 30px auto;
        padding: 0px;
    }
    #sec02 .sec02_circle{
        position: absolute;
        top: -15px;
        left: 20px;
        width: 80px;
        height: 80px;
        border-radius: 50%;
        background: var(--Color_Yellow);
        z-index: 100;
    }
    #sec02 .sec02_circle>p{
        font-size: 15px;
        position: relative;
        top: 10px;
    }
    #sec02 .sec02_circle>p.number{
        font-family: 'Orbitron', sans-serif;
        font-size: 36px;
        position: relative;
        top: -2px;
    }
    #sec02 .sec02_outer_box{
        position: relative;
        display: block;
        width: 94.53%;
        height: calc(193px * 0.9453 / 2);
        border-radius: 23px;
        padding-top: 23px;
        margin: 5px auto 0px auto;
        background: var(--Color_LightBlue);
    }
    #sec02 .sec02_outer_box>p{
        position: relative;
        top: 1em;
        font-size: 13px;
        font-weight: var(--Midium);
        color: #fff;
        text-align: left;
        padding-left: 95px;
    }
    
    #sec02 .sec02_inner_box{
        position: relative;
        display: block;
        width: 86.66%;
        height: calc(97px * 0.8666 / 2);
        /* height: 50px; */
        border-radius: 42px;
        margin: auto;
        background: #fff;
    }
    #sec02 .sec02_inner_box>p{
        position: relative;
        top: 1px;
        font-size: 14px;
        line-height: 20px;
        font-weight: var(--Bold);
        color: var(--Color_Black);
        text-align: left;
        padding-left: 80px;
    
    }
    /* ----------------------------------------- */
    section#sec03{
        background-image:url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec03 .title-gr{
        position: relative;
        display: block;
        width: 94.53%;
        margin: 0;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 0px 0px;
        margin: 0px auto 30px auto;
        text-align: center;
    }
    #sec03 .title-gr h2.sec03_title_01{
        font-size: 20px;
    }
    #sec03 .title-gr h2.sec03_title_02{
        font-size: 32px;
    }
    #sec03 .sec03_outer_box{
        position: relative;
        display: block;
        width: 90%;
        border-radius: 23px;
        margin: 0px auto 30px auto;
        padding: 0px;
        background: var(--Color_Yellow02);
    }
    #sec03 .sec03_flex{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 15px;
        height: 50px;
    }
    #sec03 .sec03_flex img{
        width: 30px;
        height: auto;
        margin-right: 10px;
    }
    #sec03 .sec03_flex p>span{
        margin-right: 0.5em;
    }
    #sec03 .sec03_inner_box{
        position: relative;
        color: var(--Color_Black);
        background: #fff;
        width: 96%;
        height: 80px;
        margin: 0 auto;
        padding: 0px;
    }
    #sec03 .sec03_inner_box p{
        position: relative;
        top: 10px;
        display: block;
        width: 100%;
        height: 3em;
        font-size: 16px;
        font-weight: 600;
        line-height: 1.2em;
        text-align: center;
    }
    #sec03 .sec03_inner_box p.box_foot{
        display: block;
        width: 100%;
        height: 1em;
        position: relative;
        top: auto;
        bottom: -5px;
        text-align: center;
        font-size: 14px;
        font-weight: 400;
    }
    
    #sec03 ul{
        position: relative;
        left: 40px;
        margin: 10px auto 0px auto;
        padding-bottom: 10px;
        text-align: left;
    }
    #sec03 ul>li{
        font-size: 13px;
        /* list-style-type: disc; */
        margin-left: 0em;
    }
    #sec03 ul>li span::before{
        content: "\00A0\00A0\00A0\00A0";
    }
    /* ------------------------------------ */
    section#sec04{
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec04 .title-gr{
        position: relative;
        display: block;
        width: 94.53%;
        margin: 0px;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 0px 0px;
        margin: 0px auto;
        text-align: center;
        box-sizing: border-box;
    }
    #sec04 .title-gr h2.sec04_title_01{
        font-size: 20px;
    }
    #sec04 .title-gr h2.sec04_title_02{
        font-size: 32px;
        line-height: 40px;
    }
    #sec04 .sec04_title_box{
        position: relative;
        background-image: url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        border: 5px solid var(--Color_Yellow);
        border-radius: 0px 0px 23px 23px;
        width: 94.53%;
        height:410px;
        margin: 0px auto 10px auto;
        padding: 0px;
        box-sizing: border-box;
    }
    
    #sec04 .sec04_outer_box{
        position: relative;
        top: 10px;
        display: block;
        margin:0px auto 10px auto;
        width: 96%;
        height: auto;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 23px 23px;
        border: 3px solid var(--Color_Yellow);
        text-align: center;
        font-size: 16px;
    }
    #sec04 .sec04_inner_box{
        position: relative;
        top: 0px;
        display: block;
        margin:0px auto;
        padding: 10px 5px;
        width: 96%;
        /* height: 150px; */
        border-radius: 23px 23px 23px 23px;
    }
    #sec04 .sec04_inner_box ul{
        font-size: 13px;
        text-align: left;
    }
    #sec04 .sec04_inner_box ul>li{
        position: relative;
        font-size: 12px;
        line-height: 1.5em;
        text-align: left;
        text-indent: 0;
    }
    #sec04 .sec04_inner_box ul>li span::before{
        content: "\00A0\00A0\00A0\00A0";
    }
    
    #sec04 .triangle{
        position: relative;
        top: 10px;
        display: block;
        margin: 10px auto 10px auto;
        width: 100px;
        height: 50px;
        clip-path: polygon(0% 0%,100% 0%,50% 100%);
        background: var(--Color_LightBlue02);
    }
    #sec04 .before{
        background: var(--Color_Green02);
    }
    #sec04 .after{
        background: #fff;
    }
    #sec04 .before img{
        position: absolute;
        bottom: 5px;
        right: -20px;
        display: block;
        width: 80px;
        height: auto;
    
    }
    #sec04 .after img{
        position: absolute;
        bottom: 5px;
        right: 0px;
        display: block;
        width: 60px;
        height: auto;
    }
    #sec04 .sec04_outer_box .flex{
        display: flex;
        justify-content: center;
    }
    #sec04 .sec04_outer_box .flex img{
        width: 7px;
        height: auto;
        margin: 0 15px;
    }
    /* -------------------------------------------- */
    section#sec05{
        position: relative;
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }
    #sec05 .sec05_block_01{
        position: relative;
        display: block;
        width: 100%;
        border: 5px solid var(--Color_LightBlue03);
        background:#fff;
        box-sizing: border-box;
        padding-bottom: 1em;
        text-align: center;
    }
    #sec05 .sec05_block_01 img{
        width: 150px;
        height: 150px;
    }
    #sec05 .sec05_block_01 .pro{
        display: block;
        width: 90%;
        margin: 0 auto;
        text-align: left;
        font-size: 12px;
    }
    #sec05 h3{
        font-size: 16px;
    }
    #sec05 dl dt{
        font-size: 14px;
    }
    #sec05 dl dd{
        font-size: 13px;
    }

    #sec05 .sec05_block_02{
        position: relative;
        top: 0px;
        display: block;
        border: 5px solid var(--Color_LightBlue03);
        background: var(--Color_LightBlue03);
        box-sizing: border-box;
        padding: 10px;
    }
    #sec05 .sec05_block_02 p{
        font-size: 12px;
        text-align: justify   ;
    }
    /* ----------------------------------- */
    footer{
        position: relative;
    }
    footer ul{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    footer ul li{
        width: 93.5px;
        height: 3em;
        border: 1px solid var(--Color_Yellow);
        background: var(--Color_Yellow03);
        box-sizing: border-box;
        text-align: center;
        font-size: 10px;
        line-height: 1.2em;
    }
    footer ul li.one-line{
        line-height: 3em;
        vertical-align: middle;
    }
    
    footer .copyright{
        position: relative;
        display: block;
        width: 100%;
        background:#ccc;
        border-top: #292929 1px solid;
        box-sizing: border-box;
    }
    footer p{
        text-align: center;
        font-size: 12px;
    }
      
}

@media screen and (min-width:768px){
    .wrap{
        width: 750px;
        margin: 0 auto;
        overflow:hidden;
        box-sizing: border-box;
    }    
    header{
        position: relative;
        display: flex;
        background: #fff;
        width: 100%;
        height: 150px;
        z-index: 100;
    }
    header>img{
        width: 15%;
        height: auto;
    }
    header>p{
        position: relative;
        top: 0.3em;
        left: 0px;
        font-size: 28px;
        font-weight: var(--Midium);
        line-height: 1.5em;
        width: 85%;
        text-align: center;
    }
    main{
        position: relative;
    }
    /* ---------------------------------- */
    section#sec01{
        background-image:url(../images/bg-01.png);
        background-repeat: no-repeat;
        width: 100%;
        text-align: center;
        position: relative;
    }
    #sec01 .title-gr{
        position: relative; 
        width: 100%;
        height: 300px; 
    }
    #sec01 .circle-gr{
        position: relative;
        top: -30px;
        font-size: 32px;
        line-height: var(--LineHeight_M);
        font-weight: 1.5em;
        width: 100px;
        height: 100px;
    }
    #sec01 .circle01{
        position: absolute;
        top: 0px;
        width: 180px;
        height: 180px;
        border-radius: 50%;
        background: var(--Color_Yellow02);
        display: block;
        z-index: 10px;
    }
    #sec01 .circle01 h2{
        text-align: center;
    }
    #sec01 .sub-title{
        position: relative;
        top: 30px;
        display: inline-block;
        width: 100%;
        font-size: 32px;
        font-weight: var(--Bold);
        line-height: 1.5em;
    }
    #sec01 .sub-title span.large{
        font-size: 48px;
        font-weight: var(--Bold);
    }
    #sec01 .title{
        position: relative;
        top: -100px;
        font-size: 52px;
        font-weight:900;
        line-height: 80px;
        letter-spacing: -0.01em;
        text-align: center;
    }
    #sec01 .title>span:nth-of-type(1){
        font-size: 52px;
        line-height: 1.5em;
    }
    #sec01 .title>span:nth-of-type(2){
        font-size: 100px;
        line-height: 1.5em;
    }
    #sec01 .title>span:nth-of-type(3){
        position: relative;
        top: -30px;
        font-size: 52px;
        line-height: 1.5em;
    }
    #sec01 .line{
        position: relative;
        top: -20px;
        left: 170px;
        display: block;
        width: 500px;
        height: 1px;
        border-top:3px solid var(--Color_Yellow02);
    }
    #sec01 .sentence{
        position: relative;
        top: 10px;
        font-size: 24px;
        font-weight: 500;
        line-height: 1.5em;
        letter-spacing: normal;
        padding: 0px;
        margin-bottom: 1em;
    }
    #sec01 .main-visual{
        position: relative;
        display: flex;
        width: 100%;
        height: max-content;
    }
    #sec01 .main-visual img{
        position: relative;
        left: 50%;
        width: 45%;
        height: auto;
        object-fit: fill;
    }
    #sec01 .fukidashi{
        position: relative;
        top: 25px;
        left: -40%;
        width: fit-content;
        height: 6em;
        font-size: 24px;
        line-height: 1.5em;
        padding: 5px 5px 5px 5px;
        background: #fff;
    }
    #sec01 .fukidashi h3{
        position: relative;
        top: 0em;
        text-align: center;
        font-weight: 400;
    }
    #sec01 .fukidashi ul{
        position: relative;
        top:0em;
        width: fit-content;
        margin: 0 auto;
    }
    #sec01 .fukidashi ul>li{
        text-align: left;
        position: relative;
    }
    #sec01 .fukidashi ul>li:last-of-type{
        text-align: center;
        position: relative;
    }
    /* ---------------------------------------- */
    section#sec02{
        background-image:url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec02 .title-gr{
        position: relative;
        margin: 0;
    }
    #sec02 h2{
        text-shadow: 0px 0px 10px #fff;
    }
    #sec02 .sec02_title{
        position: relative;
        top: 20px;
        font-size: 48px;
    }
    #sec02 .sec02_title>span{
        font-size: 56px;
    }
    #sec02 .sec_title_sub_block{
        position: relative;
        display: flex;
        width: 100%;
        align-items: center;
        /* justify-content: center; */
        
    }
    #sec02 .sec02_title_02{
        position: relative;
        left: 100px;
        font-size: 100px;
    }
    #sec02 .sec02_title_02>span{
        position: relative;
        top: 2px;
        font-size: 120px;
    }
    #sec02 .sec_title_sub_block>img{
        position: relative;
        top: 2px;
        left: 100px;
        width: 145px;
    }
    #sec02 .sec02_block{
        position: relative;
        display: block;
        width: 100%;
        margin: 0px auto 30px auto;
        padding: 0px;
    }
    #sec02 .sec02_circle{
        position: absolute;
        top: -15px;
        left: 30px;
        width: 160px;
        height: 160px;
        border-radius: 50%;
        background: var(--Color_Yellow);
        z-index: 100;
    }
    #sec02 .sec02_circle>p{
        font-size: 30px;
        position: relative;
        top: 10px;
    }
    #sec02 .sec02_circle>p.number{
        font-family: 'Orbitron', sans-serif;
        font-size: 72px;
        position: relative;
        top: -2px;
    }
    #sec02 .sec02_outer_box{
        position: relative;
        display: block;
        width: 94.53%;
        height: calc(193px * 0.9453);
        border-radius: 23px;
        padding-top: 23px;
        margin: 5px auto 0px auto;
        background: var(--Color_LightBlue);
    }
    #sec02 .sec02_outer_box>p{
        position: relative;
        top: 1em;
        font-size: 26px;
        font-weight: var(--Midium);
        color: #fff;
        text-align: left;
        padding-left: 170px;
    }
    
    #sec02 .sec02_inner_box{
        position: relative;
        display: block;
        width: 86.66%;
        height: calc(97px * 0.8666);
        /* height: 50px; */
        border-radius: 42px;
        margin: auto;
        background: #fff;
    }
    #sec02 .sec02_inner_box>p{
        position: relative;
        top: 1px;
        font-size: 29.0px;
        line-height: 40px;
        font-weight: var(--Bold);
        color: var(--Color_Black);
        text-align: left;
        padding-left: 125px;
    
    }
    /* ----------------------------------------- */
    section#sec03{
        background-image:url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec03 .title-gr{
        position: relative;
        display: block;
        width: 94.53%;
        margin: 0;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 0px 0px;
        margin: 0px auto 30px auto;
        text-align: center;
    }
    #sec03 .title-gr h2.sec03_title_01{
        font-size: 44px;
    }
    #sec03 .title-gr h2.sec03_title_02{
        font-size: 60px;
    }
    #sec03 .sec03_outer_box{
        position: relative;
        display: block;
        width: 90%;
        border-radius: 23px;
        margin: 0px auto 30px auto;
        padding: 0px;
        background: var(--Color_Yellow02);
    }
    #sec03 .sec03_flex{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 36px;
        height: 100px;
    }
    #sec03 .sec03_flex img{
        width: 30px;
        height: auto;
        margin-right: 10px;
    }
    #sec03 .sec03_flex p>span{
        margin-right: 0.5em;
    }
    #sec03 .sec03_inner_box{
        position: relative;
        color: var(--Color_Black);
        background: #fff;
        width: 96%;
        height: 160px;
        margin: 0 auto;
        padding: 0px;
    }
    #sec03 .sec03_inner_box p{
        position: relative;
        top: 10px;
        display: block;
        width: 100%;
        height: 3em;
        font-size: 36px;
        line-height: 1.2em;
        text-align: center;
    }
    #sec03 .sec03_inner_box p.box_foot{
        display: block;
        width: 100%;
        height: 1em;
        font-size: 30px;
        position: relative;
        top: auto;
        bottom: -5px;
        text-align: center;
    }
    
    #sec03 ul{
        position: relative;
        left: 40px;
        margin: 10px auto 0px auto;
        padding-bottom: 10px;
        text-align: left;
    }
    #sec03 ul>li{
        font-size: 26px;
        /* list-style-type: disc; */
        margin-left: 0em;
    }
    #sec03 ul>li span::before{
        content: "\00A0\00A0\00A0\00A0";
    }
    /* ------------------------------------ */
    section#sec04{
        width: 100%;
        padding-bottom: 20px;
        text-align: center;
        position: relative;
    }
    #sec04 .title-gr{
        position: relative;
        display: block;
        width: 94.53%;
        margin: 0px;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 0px 0px;
        margin: 0px auto;
        text-align: center;
        box-sizing: border-box;
    }
    #sec04 .title-gr h2.sec04_title_01{
        font-size: 44px;
    }
    #sec04 .title-gr h2.sec04_title_02{
        font-size: 60px;
        line-height: 80px;
    }
    #sec04 .sec04_title_box{
        position: relative;
        background-image: url(../images/bg-02.png);
        background-size:cover;
        background-repeat: no-repeat;
        border: 5px solid var(--Color_Yellow);
        border-radius: 0px 0px 23px 23px;
        width: 94.53%;
        height:750px;
        margin: 0px auto 10px auto;
        padding: 0px;
        box-sizing: border-box;
    }
    
    #sec04 .sec04_outer_box{
        position: relative;
        top: 10px;
        display: block;
        margin:0px auto 10px auto;
        width: 96%;
        height: auto;
        background: var(--Color_Yellow);
        border-radius: 23px 23px 23px 23px;
        border: 3px solid var(--Color_Yellow);
        text-align: center;
        font-size:36px ;
    }
    #sec04 .sec04_inner_box{
        position: relative;
        top: 0px;
        display: block;
        margin:0px auto;
        padding: 10px 5px;
        width: 96%;
        /* height: 150px; */
        border-radius: 23px 23px 23px 23px;
    }
    #sec04 .sec04_inner_box ul{
        font-size: 24px;
        text-align: left;
    }
    #sec04 .sec04_inner_box ul>li{
        position: relative;
        font-size: 24px;
        line-height: 1.5em;
        text-align: left;
        text-indent: 0;
    }
    #sec04 .sec04_inner_box ul>li span::before{
        content: "\00A0\00A0\00A0\00A0";
    }
    
    #sec04 .triangle{
        position: relative;
        top: 10px;
        display: block;
        margin: 10px auto 10px auto;
        width: 200px;
        height: 100px;
        clip-path: polygon(0% 0%,100% 0%,50% 100%);
        background: var(--Color_LightBlue02);
    }
    #sec04 .before{
        background: var(--Color_Green02);
    }
    #sec04 .after{
        background: #fff;
    }
    #sec04 .before img{
        position: absolute;
        bottom: 5px;
        right: -20px;
        display: block;
        width: 150px;
        height: auto;
    
    }
    #sec04 .after img{
        position: absolute;
        bottom: 5px;
        right: 0px;
        display: block;
        width: 130px;
        height: auto;
    }
    #sec04 .sec04_outer_box .flex{
        display: flex;
        justify-content: center;
    }
    #sec04 .sec04_outer_box .flex img{
        width: 15px;
        height: auto;
        margin: 0 30px;
    }
    /* -------------------------------------------- */
    section#sec05{
        position: relative;
        display: block;
        width: 100%;
        margin-bottom: 20px;
    }
    #sec05 .sec05_block_01{
        position: relative;
        display: block;
        width: 100%;
        border: 5px solid var(--Color_LightBlue03);
        background:#fff;
        box-sizing: border-box;
        padding-bottom: 1em;
        text-align: center;
    }
    #sec05 .sec05_block_01 img{
        width: 300px;
        height: 300px;
    }
    #sec05 .sec05_block_01 .pro{
        display: block;
        width: 90%;
        margin: 0 auto;
        text-align: left;
        font-size: 26px;
    }
    #sec05 h3{
        font-size: 34px;
    }
    #sec05 dl dt{
        font-size: 30px;
    }
    #sec05 dl dd{
        font-size: 26px;
    }
    #sec05 .sec05_block_02{
        position: relative;
        top: 0px;
        display: block;
        border: 5px solid var(--Color_LightBlue03);
        background: var(--Color_LightBlue03);
        box-sizing: border-box;
        padding: 10px;
    }
    #sec05 .sec05_block_02 p{
        font-size: 24px;
        text-align: justify   ;
    }
    /* ----------------------------------- */
    footer{
        position: relative;
    }
    footer ul{
        position: relative;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    footer ul li{
        width: 187px;
        height: 3em;
        border: 1px solid var(--Color_Yellow);
        background: var(--Color_Yellow03);
        box-sizing: border-box;
        text-align: center;
        font-size: 20px;
        line-height: 1.2em;
    }
    footer ul li.one-line{
        line-height: 3em;
        vertical-align: middle;
    }
    
    footer .copyright{
        position: relative;
        display: block;
        width: 100%;
        background:#ccc;
        border-top: #292929 1px solid;
        box-sizing: border-box;
    }
    footer p{
        text-align: center;
        font-size:20px;
    }
}
/* ---------------------------*/



