@charset "UTF-8";

/*------------------------------------------------------------
  common
------------------------------------------------------------*/
#front .cmHdImg{
    width: 32px;
    display: block;
    margin:1rem auto 5px auto;
}
#front .cmHdDeco{
    text-align: center;
    color: #4fb848;
    display: block;
    font-size: 80%;
    letter-spacing: 0.1rem;
}
#front .cmHd{
    text-align: center;
    font-weight: 700;
    letter-spacing: 0.5rem;
    font-size: 190%;
    margin-bottom: 2rem;
}
#front .cmHdp{
    width: 85%;
    margin: 2rem auto;
    line-height: 200%;
}


/*------------------------------------------------------------
  mainView
------------------------------------------------------------*/
#front #mainView .contentWrapper{
    background: url(../img/index/KV-bg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: right 40% top;
}
#front #mainView h2{ 
    padding: 6rem 1rem;
}
#front #mainView h2 span.txt{ 
    display: inline-block;
    font-size: 170%;
    padding: 8px;
    letter-spacing: 0.2rem;
    font-style: italic;
    border: 1px solid;
    margin: 5px 0;
    background: #FFF;
    position: relative;
}
#front #mainView h2 span.txt::after{
    border-bottom: 5px solid #4fb848;
    border-right: 5px solid #4fb848;
    display: block;
    padding: 9px 6px;
    position: absolute;
    left: 5px;
    top: 3px;
}
#front #mainView h2 span.txt:nth-of-type(1){ 
    color: #FFF;
    background: #4fb848;
}
#front #mainView h2 span.txt:nth-of-type(1)::after{ 
    content: "　　　　　　　";
}
#front #mainView h2 span.txt:nth-of-type(2)::after{ 
    content: "　　　　　　　　　　　";
    padding: 9px 28px 9px 6px;
}
#front #mainView h2 span.txt:nth-of-type(3)::after{ 
    content: "　　　　";
    padding: 9px 39px 9px 6px;
}
#front #mainView h2 span.small{
    font-size: 73%;
}

/*------------------------------------------------------------
  reason
------------------------------------------------------------*/
#front #reason{
    padding: 4rem 1rem;
}
#front #reason ul{
    flex-wrap: wrap;
    justify-content: center;
}
#front #reason ul li{
    font-size: 150%;
    font-weight: 700;
    font-style: italic;
    color: #009d37;
    line-height: 140%;
    border: 1px solid;
    margin: 5px;
    padding: 1rem 1.5rem;
}
#front #reason ul li span{
    color: #9fd5a2;
    display: inline-block;
    font-size: 310%;
    padding: 1rem 1rem 1rem 0;
}


/*------------------------------------------------------------
  menu
------------------------------------------------------------*/
#front #menu{
    padding: 4rem 1rem;
    background: #f8f8ec;
}
#front #menu h3{
    color: #FFF;
    background: #57ba4e;
    padding: 10px 10px 10px 2.5rem;
    letter-spacing: 0.1rem;
    font-weight: 600;
    page-break-after: always;
    position: relative;
    margin: 1rem 0;
}
#front #menu h3::after{
    content: "";
    display: block;
    background: url(../img/common/icon_white.png) no-repeat;
    background-size: cover;
    width: 24px;
    height: 24px;
    position: absolute;
    top: 14px;
    left: 10px;
}
#front #menu ul{
    flex-wrap: wrap;
}
#front #menu li{
    margin: 10px;
    width: 47%;
}
#front #menu li a{
    position: relative;
    display: block;
    background: #FFF;
    font-size: 110%;
    font-weight: 600;
    border: 1px solid #57ba4e;
    padding: 1.5rem 0 1.5rem 2.5rem;
}
#front #menu li a::after{
    content: '\f054';
    position: absolute;
    top: 34%;
    left: 4%;
    font-family: "Font Awesome 5 Free";
    color: #57ba4e;
}


/*------------------------------------------------------------
  philosophy
------------------------------------------------------------*/
#front #philosophy{
    padding: 4rem 1rem;
}
#front #philosophy .txtWrapper{
    flex: 1.5;
    padding: 1rem;
}
#front #philosophy .txtWrapper h2{
    font-weight: bold;
    border-left: 10px solid #57ba4e;
    padding-left: 1rem;
}
#front #philosophy .txtWrapper p{
    font-size: 110%;
    margin: 1.5rem 0;
}
#front #philosophy .txtWrapper p.sign{
    text-align: right;
    font-size: 150%;
    line-height: 110%;
}
#front #philosophy .txtWrapper p span.deco{
    font-size: 60%;
    padding-right: 1rem;
    display: inline-block;
}
#front #philosophy .txtWrapper p span.from{
    display: block;
    font-size: 50%;
}
#front #philosophy .imgWrapper{
    flex: 1;
    padding: 1rem;
}



/*------------------------------------------------------------
  reasonMain
------------------------------------------------------------*/
#front #reasonMain{
    padding: 4rem 1rem;
    background: #f6f6f6;

}
#front #reasonMain .rsmWrapper{
    background: #FFF;
    margin: 1rem 0;
}
#front #reasonMain .rsmWrapper .txtWrapper{
    flex: 2;
    padding: 2rem;
}
#front #reasonMain .rsmWrapper .txtWrapper h3{
    font-size: 160%;
    color: #57ba4e;
    font-weight: bold;
    border-bottom: 3px solid;
    margin-bottom: 1rem;
}
#front #reasonMain .rsmWrapper .txtWrapper h3 span{
    color: #9fd5a2;
    font-style: italic;
    font-size: 160%;
    padding-right: 1rem;
}
#front #reasonMain .rsmWrapper .txtWrapper p{
    line-height: 180%;
}
#front #reasonMain .rsmWrapper .imgWrapper{
    flex: 1;
}

/*------------------------------------------------------------
  case
------------------------------------------------------------*/
#front #case{
    padding: 4rem 1rem;
}
#front #case #solveCase,#front #case #column{
    flex: 1;
    padding: 1.5rem;
}
#front #case h2{
    font-weight: bold;
    border-left: 6px solid #4fb848;
    padding-left: 1rem;
    margin-bottom: 2rem;
}
#front #case #column h2{
    border-left: 6px solid #ff8a3c;
}
#front #case h2 .cmHdDeco{
    text-align: left;
    font-size: 50%;
    line-height: 130%;
    color: #ccc;
}
#front #case #solveCase .solveContent,#front #case #column .columnContent{
    border: 1px solid #d5d5d5;
    padding: 1.5rem;
    margin: 1rem 0;
    border-right: 3rem solid #4fb848;
    position: relative;
}
#front #case #solveCase .solveContent::after,#front #case #column .columnContent::after{
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0.75rem 0 0.75rem 1rem;
    border-color: transparent transparent transparent #fff;
    position: absolute;
    right: -1rem;
    top: 50%;
    transform: translateY(-50%) translateX(0%);
    -webkit-transform: translateY(-50%) translateX(0%);
}
#front #case #solveCase .solveContent h3 a{
    font-size: 80%;
    font-weight: bold;
    line-height: 142%;
    margin-bottom: 10px;
}
#front #case #column .columnContent{
    border-right: 3rem solid #ff8a3c;
}
#front #case #column .columnContent h3 a{
    font-size: 80%;
    font-weight: bold;
    line-height: 142%;
}
#front #case #column .columnContent time i{
    font-family: "Font Awesome 5 Free";
    font-style: inherit;
    padding-right: 5px;
}
#front #case #column .columnContent .categoly a{
    font-size: 80%;
    font-weight: bold;
    color: #FFF;
    background: #ff8a3c;
    padding: 1px 1rem;
}
#front #case .moreLink{
    background: #4fb848;
    display: block;
    text-align: center;
    color: #FFF;
    font-weight: bold;
    padding: 1rem;
    border-radius: 4px;
}
#front #case #column .moreLink{
    background: #ff8a3c;
}

@media (max-width: 1099px) {
    #front .underlayerWrapper.double{
        padding: 10px;
    }
    #front #reason ul li{
        width: 100%;
    }
    #front #philosophy .flex{
        display: block;
    }
    #front #philosophy .imgWrapper{
        width: 60%;
        margin: 0 auto;
    }
    #front #reasonMain .rsmWrapper{
        display: block;
    }
    #front #reasonMain .rsmWrapper .txtWrapper{
        padding: 2rem 2rem 0 2rem;
    }
    #front #reasonMain .rsmWrapper .imgWrapper{
        width: 50%;
        margin: 1rem auto;
        padding: 1rem 1rem 3rem 1rem;
    }
}

@media (max-width: 480px) {
    #front .cmHd{
        font-size: 120%;
    }
    #front .cmHdDeco{
        font-size: 60%;
        margin-bottom: 1rem;
    }
    #front .cmHdp{
        width: 90%;
        font-size: 90%;
    }
    #front .underlayerWrapper.double{
        padding: 10px;
    }
    #front #mainView .contentWrapper{
        background-position: right 23% top;
    }
    #front #mainView h2 span.txt{
        font-size: 85%;
        padding: 3px;
    }
    #front #mainView h2 span.txt::after{
        padding: 3px 2px;
    }
    #front #mainView h2 span.txt:nth-of-type(2)::after{
        padding: 3px 20px 3px 0;
        content: "　　　　　";
    }
    #front #mainView h2 span.txt:nth-of-type(3)::after{
        padding: 3px 20px 3px 0;
        content: "　　　　　";
    }
    #front #mainView h2 span.txt:nth-of-type(4)::after{
        content: "　　　　";
        padding: 3px 14px 3px 6px;
    }
    #front #mainView h2{
        padding: 1rem 1rem 14rem 1rem;
    }
    #front #reason{
        padding: 1rem;
    }
    #front #reason ul{
        margin-bottom: 2rem;
    }
    #front #reason ul li{
        padding: 10px;
        padding: 12px 10px 4px 10px;
    }
    #front #reason ul li span{
        font-size: 200%;
    }
    #front #menu{
        padding: 2rem 1rem;
    }
    #front #menu li{
        width: 100%;
        margin: 5px
    }
    #front #menu li a{
        padding: 10px 10px 10px 2rem;
        font-size: 100%;
    }
    #front #menu li a::after{
        top: 23%;
    }
    #front #philosophy{
        padding: 2rem 1rem;
    }
    #front #philosophy .txtWrapper h2{
        font-size: 110%;
    }
    #front #philosophy .txtWrapper p{
        font-size: 100%;
    }
    #front #philosophy .imgWrapper{
        width: 90%;
    }
    #front #reasonMain{
        padding: 2rem 1rem;
    }
    #front #reasonMain .rsmWrapper .txtWrapper{
        padding: 1.5rem 1rem 0 1rem;
    }
    #front #reasonMain .rsmWrapper .txtWrapper h3{
        font-size: 110%;
        text-indent: -3rem;
        margin-left: 3rem;
    }
    #front #reasonMain .rsmWrapper .txtWrapper h3 span{
        vertical-align: middle;
    }
    #front #reasonMain .rsmWrapper .imgWrapper{
        width: 100%;
        margin: 0;
        padding: 0;
    }
    #front #reasonMain .rsmWrapper .txtWrapper p{
        margin-bottom: 1rem;
    }
    #front #case{
        padding: 2rem 1rem;
    }
    #front #case #solveCase, #front #case #column{
        padding: 0;
        padding: 1rem 0;
    }
    #front #case #solveCase .solveContent, #front #case #column .columnContent{
        padding: 1rem;
    }

















}