@charset "utf-8";
/* CSS Document */

html.is_fixed,
html.is_fixed body {
    height: 100%;
    overflow: hidden;
}
.main_visual {
    max-width: 700px;
    width: 65%;
    margin: 100px auto 65px;
    position: relative;
    background-color: #FFF;
}
.replacement {
    display: none;
}
.main_svg_wrap {
    width: 700px;
    margin: 0 auto;
    position: relative;
}
.main_svg {
    max-width: 100%;
}
.main_svg_sp {
    position: absolute;
    z-index: -1;
    visibility: hidden;
}
.cls-1,.cls-3{fill:none;}
.cls-1,.cls-11,.cls-3,.cls-6,.cls-7,.cls-8{stroke:#036;}
.cls-1,.cls-10,.cls-3,.cls-4,.cls-6,.cls-7,.cls-8{stroke-linecap:round;stroke-linejoin:round;}
.cls-1{stroke-width:5.37px;}
.cls-10,.cls-12,.cls-13,.cls-4,.cls-9{fill:#123473;}
.cls-10,.cls-12,.cls-2,.cls-4,.cls-9{stroke:#123473;}
.cls-11,.cls-12,.cls-2,.cls-9{stroke-miterlimit:10;}
.cls-2{stroke-width:0.36px;}
.cls-3{stroke-width:4.03px;}
.cls-4{stroke-width:2.67px;}
.cls-11,.cls-5,.cls-6,.cls-7{fill:#ffd400;}
.cls-6,.cls-8{stroke-width:3px;}
.cls-7{stroke-width:2.62px;}
.cls-8{fill:#fff;}
.cls-10{stroke-width:1.57px;}
.cls-11{stroke-width:5.71px;}
.cls-12{stroke-width:0.6px;}
.cls-14{fill:#5a4e4e;}
.hoge .cls-11 {
    animation:
        dash 2s linear forwards,
        bgYellow 2s linear forwards;
    animation-delay: 0s, 3s;
}
.line_house {
    animation: dash 2s linear forwards;
}
.renga {
    animation: dash 2s linear forwards;
}
.main_txt_blue {
    fill: transparent;
    animation:
        dash 2s linear forwards,
        bgBlue 1s linear forwards;
    animation-delay: 0s, 3s;
}
.yellow_box {
    fill: transparent;
    animation:
        dash 2s linear forwards,
        bgYellow 1s linear forwards;
    animation-delay: 0s, 3s;
}
.yellow_box4 {
    transform: translate(72.55px,-112.67px) rotate(14.6deg);
}
.ryoku {
    transform: rotate(-14.6deg);
    transform-origin: 466.95px 296.8px 0;
    animation: ryoku .5s ease forwards;
    animation-delay: 6s;
}
.cls-13 {
    fill: transparent;
    opacity: 0;
    animation: bgBlue65 1s linear forwards;
}
.level_txt_01 {animation-delay: 4s;}
.level_txt_02 {animation-delay: 4.1s;}
.level_txt_03 {animation-delay: 4.2s;}
.level_txt_04 {animation-delay: 4.3s;}
.level_txt_05 {animation-delay: 4.4s;}
.level_txt_06 {animation-delay: 4.5s;}
.level_txt_07 {animation-delay: 4.6s;}
.level_txt_08 {animation-delay: 4.7s;}
.level_txt_09 {animation-delay: 4.8s;}
.level_txt_10 {animation-delay: 4.9s;}
.level_txt_11 {animation-delay: 5s;}
.level_txt_12 {animation-delay: 5.1s;}
.main_case_list {
    list-style: none;
}
.main_case_item {
    border: 6px solid #123473;
    border-radius: 50%;
    background-color: #fff1be;
    position: absolute;
    opacity: 0;
    animation:
        show 1s ease forwards,
        updown 4s ease forwards infinite;
}
.main_case_item:nth-child(1) {
    width: 31.43%;
    left: -11.29%;
    bottom: 23.45%;
    animation-delay: 6s, 7s;
}
.main_case_item:nth-child(2) {
    width: 30%;
    right: 4.71%;
    top: -12.4%;
    animation-delay: 6.5s, 7.5s;
}
.main_case_item:nth-child(3) {
    width: 32.14%;
    right: -25.71%;
    bottom: 10.15%;
    animation-delay: 7s, 8s;
}
.main_case_image {
    border-radius: 50%;
}
.main_sumanavi {
    opacity: 0;
    animation: show 1s linear forwards;
    animation-delay: 8s;
}
.heikesan {
    transform: translateX(120%);
    animation: heikesan 2s ease forwards;
    animation-delay: 7s;
}
.arm {
    animation: arm 3s ease forwards infinite;
    animation-delay: 10s;
    transform-origin: 579.95px 316.8px 0;
}


.ie_parts{fill:none;}
.ie_parts{stroke:#036;}
.ie_parts{stroke-linecap:round;stroke-linejoin:round;}
.ie_parts{stroke-width:5.37px;}
.ie {
    display: block;
    width: 700px;
    margin: 0 auto;
}

@keyframes dash {
    to {
        stroke-dashoffset: 0;
    }
}
@keyframes show {
    to {
        opacity: 1;
    }
}
@keyframes bgYellow {
    to {
        fill: #ffd400;
    }
}
@keyframes bgBlue {
    to {
        fill: #123473;
    }
}
@keyframes bgBlue65 {
    to {
        fill: #123473;
        opacity: 1;
    }
}
@keyframes heikesan {
    to {
        transform: translateX(0);
    }
}
@keyframes arm {
    0% {
        transform: rotate(0);
    }
    50% {
        transform: rotate(30deg);
    }
    100% {
        transform: rotate(0);
    }
}
@keyframes ryoku {
    to {
        transform: rotate(0);
    }
}
@keyframes updown {
    0% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
    100% {
        transform: translateY(0);
    }
}
@media (-ms-high-contrast: none) {
    .replacement {
        display: block;
    }
    .main_case_item:nth-child(1) {
        animation-delay: 1s, 2s;
    }
    .main_case_item:nth-child(2) {
        animation-delay: 1.5s, 2.5s;
    }
    .main_case_item:nth-child(3) {
        animation-delay: 2s, 3s;
    }
}
@media (max-width:960px) {
    .main_visual {
        margin: 10% auto;
    }
}
@media (max-width:768px) {
}
@media (max-width:600px) {
    .main_visual {
        width: 73%;
    }
    .main_svg_pc {
        position: absolute;
        visibility: hidden;
        z-index: -1;
    }
    .main_svg_sp {
        position: static;
        visibility: visible;
    }
    .ryoku {
        transform-origin: 358.95px 221.8px 0;
    }
    .arm {
        transform-origin: 440.95px 225.8px 0;
    }
    .main_case_item {
        border-width: .5vw;
    }
    .main_case_item:nth-child(1) {
        left: -13.29%;
        bottom: 32.45%;
    }
    .main_case_item:nth-child(2) {
        right: 6.71%;
        top: -5.4%;
    }
    .main_case_item:nth-child(3) {
        right: -15.71%;
        bottom: 11.15%;
    }

}
@media (max-width:480px) {
    
}


.btn_pagelink {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    background-color: #123473;
    color: #FFF;
    text-decoration: none;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1;
    padding: .8em 3em;
    border-radius: .75em .75em 0 0;
    transition: padding .2s ease;
    position: fixed;
    left: 10%;
    bottom: 0;
    z-index: 50;
}
.btn_pagelink:before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    margin-right: .5em;
    background: url("../images/icn_finger.png") no-repeat center;
    background-size: contain;
}
.btn_pagelink:hover {
    padding-bottom: 1.1em;
}
.btn_pagelink.is_fixed {
    position: absolute;
    bottom: 48px;
}
@media (max-width:1100px) {
    .btn_pagelink {
        left: 2.5%;
    }
}
@media (max-width:960px) {
    .btn_pagelink {
        font-size: 2rem;
    }
}
@media (max-width:768px) {
    .btn_pagelink {
        font-size: 1.8rem;
    }
}
@media (max-width:480px) {
    .btn_pagelink {
        font-size: 1.4rem;
        padding: .8em 1.2em;
    }
}


/* our mission*/
.our_mission {
    padding-top: 45px;
    margin-bottom: 100px;
}
.our_mission .section_title {
    margin-bottom: 50px;
}
.site_guide {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 4%;
}
.site_guide_text {
    line-height: 1.75;
    font-size: 2.4rem;
    font-weight: bold;
    width: 680px;
}
.site_guide_emp {
    font-style: normal;
    color: #f93e6f;
}
.our_mission_intro {
    font-size: 2rem;
    line-height: 1.9;
    position: relative;
    margin-bottom: 100px;
}
.our_mission_intro p {
    margin-top: 0;
}
.intro_block1 {
    margin-bottom: 2em;
}
.mission_image {
    background-color: #fffff5;
    border-radius: 15px;
    padding: 40px;
}
.mission_image1 {
    width: 380px;
    float: right;
    margin-left: 40px;
    margin-bottom: 10px;
}
.mission_image2 {
    width: 450px;
    float: left;
    margin-right: 40px;
    margin-bottom: 10px;
}
.emp_txt {
    font-style: normal;
    font-weight: bold;
    background-color: #ffed8b;
}
.read_more {
    font-size: 1.5rem;
    font-weight: bold;
    color: #FFF;
    background-color: #15346b;
    border: 1px solid #15346b;
    border-radius: .3em;
    display: inline-block;
    padding: .2em 2em .2em 1em;
    cursor: pointer;
    position: absolute;
    right: 0;
    bottom: 0;
    transform: translateY(50%);
    transition: .1s ease;
}
.read_more:before, .read_more:after {
    content: "";
    display: block;
    width: .8em;
    height: 2px;
    background-color: #FFF;
    position: absolute;
    right: .5em;
    top: 50%;
    transform: translateY(-50%);
    transition: .1s ease;
}
.read_more:before {
    transform: translateY(-50%) rotate(90deg);
}
.read_more:hover {
    background-color: #FFF;
    color: #15346b;
}
.read_more:hover:before, .read_more:hover:after {
    background-color: #15346b;
}
.read_more.is_active:before {
    opacity: 0;
}
.popup_procedure {
    width: 400px;
    margin: 0 auto 100px;
    border-radius: 1em;
    cursor: pointer;
    background-image: url("../images/icn_popup.png");
    background-repeat: no-repeat;
    background-position: right 25px center;
    background-size: 20px auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-right: 2.5em;
    text-indent: inherit;
}
.popup_procedure:hover {
    color: #FFF;
    background-color: #123473;
}
.popup_procedure:before {
    content: "";
    display: inline-block;
    width: 1.4em;
    height: 1.4em;
    margin-right: .2em;
    background: url("../images/icn_beginner.png") no-repeat center;
    background-size: contain;

}
.popup_procedure:hover:before {
    /*transform: scale(1.2);*/
}
@media (max-width:960px) {
    .our_mission_intro {
        font-size: 1.7rem;
    }
    .mission_image1 {
        width: 320px;
        margin-left: 30px;
    }
    .mission_image2 {
        width: 370px;
        margin-right: 30px;
    }
}
@media (max-width:768px) {
    .our_mission {
        margin-bottom: 50px;
    }
    .our_mission_intro {
        font-size: 1.6rem;
        margin-bottom: 50px;
    }
    .mission_image {
        padding: 20px;
    }
    .mission_image1 {
        float: none;
        margin: 0 auto 1em;
        width: 80%;
        max-width: 500px;
        text-align: center;
    }
    .mission_image1 img {
        max-height: 250px;
        width: auto;
    }
    .mission_image2 {
        float: none;
        margin: 0 auto 1em;
        width: 80%;
        max-width: 500px;
        text-align: center;
    }
    .mission_image2 img {
        max-height: 200px;
        width: auto;
    }
    .popup_procedure {
        max-width: 400px;
        width: 90%;
    }
    
}
@media (max-width:480px) {
    .our_mission {
        padding-top: 30px;
    }
    .our_mission .section_title {
        margin-bottom: 30px;
    }
    .our_mission_intro {
        font-size: 1.5rem;
        line-height: 1.7;
    }
    
}



/* how to training */
.how_to_training {
    width: 90%;
    position: fixed;
    z-index: -1;
    opacity: 0;
    left: 50%;
    top: 5%;
    height: 90%;
    transform: translateX(-50%);
    pointer-events: none;
}
.how_to_training.is_active {
    z-index: 20000;
    opacity: 1;
    pointer-events: auto;
}
.training_procedure {
    width: 90%;
    height: calc(100% - 146px);
    margin: 0 auto
}
.training_flow_list {
    list-style: none;
    display: flex;
    justify-content: space-between;
    padding-left: 0;
}
.training_flow_item {
    width: 307px;
    position: relative;
}
.training_flow_item:not(:last-child):before {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 12px 0 12px 16px;
    border-color: transparent transparent transparent #123473;
    position: absolute;
    right: -40px;
    top: 100px;
}
.flow_matter {
    display: inline-flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 20px;
}
.num_icon {
    width: 36px;
}
.flow_matter_text {
    display: inline-block;
    width: calc(100% - 46px);
    font-size: 2.2rem;
    font-weight: bold;
    color: #123473;
}
.flow_matter_sup {
    margin-left: 46px;
}
.mCSB_scrollTools {
    width: 20px;
}
.mCSB_scrollTools .mCSB_draggerRail {
    width: 3px;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
    background-color: #123473;
    width: 20px;
}
.mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
    background-color: #123473;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:before,
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:after {
    content: "";
    display: block;
    position: absolute;
    left: 50%;
    width: 10px;
    height: 10px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:before {
    top: 10px;
    transform: translateX(-50%) rotate(-45deg);
}
.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:after {
    bottom: 10px;
    transform: translateX(-50%) rotate(135deg);
}
@media (max-width:960px) {
    .training_procedure {
        height: calc(100% - 131px);
    }
}
@media (max-width:768px) {
    .training_procedure {
        height: calc(100% - 101px);
    }
}
@media (max-width:600px) {
    .mCSB_inside > .mCSB_container {
        margin-right: 20px;
    }
    .mCSB_scrollTools {
        width: 10px;
    }
    .mCSB_scrollTools .mCSB_draggerRail {
        width: 3px;
    }
    .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
        width: 100%;
    }
    .mCSB_scrollTools .mCSB_dragger:hover .mCSB_dragger_bar {
        background-color: #123473;
    }
    .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:before,
    .mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar:after {
        width: 5px;
        height: 5px;
        border-right: 1px solid #FFF;
        border-top: 1px solid #FFF;
    }
}
@media (max-width:480px) {
    .training_procedure {
        height: calc(100% - 91px);
    }
}




/* pick up */
.pick_up_list {
    width: 94%;
    max-width: 980px;
    margin: 0 auto;
    padding: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
@media (max-width:1100px) {
    .pick_up_list {
        max-width: 850px;
    }
}
@media (max-width:960px) {
    .pick_up_list {
        max-width: 680px;
    }
}
@media (max-width:768px) {
    .pick_up_list {
        max-width: 530px;
    }
    .pick_up_list .case_item:nth-child(2) {
        display: none;
    }
}
@media (max-width:600px) {
    .pick_up_list {
        max-width: 426px;
    }
}
@media (max-width:480px) {
    .pick_up_list {
        max-width: 260px;
    }
    .pick_up_list .case_item:nth-child(-n+2) {
        display: none;
    }
}





/* case number */
/*.case_list {
    padding: 0 50px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.case_item {
    margin-bottom: 20px;
}*/

