@charset "utf-8";
/* CSS Document */


.view01 {
    position: relative;
    box-sizing: border-box;
    height: 640px;
    border-bottom: 10px solid #d9dfe0;
}

.mainSlide {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.mainSlide li {
    background-size: auto 100%;
    width: 100%;
    position: relative;
}

.slide01 {
    background: url("/common/images/slide01.jpg") center center no-repeat;
}

.slide02 {
    background: url("/common/images/slide02.jpg") center center no-repeat;
}

.slide03 {
    background: url("/common/images/slide03.jpg") center center no-repeat;
}

.mainSlide .txt {
    background: url("/common/images/netBg.png") rgba(0, 0, 0, 0.35);
    height: 640px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.mainSlide img {
    margin-bottom: 2%;
}

.view01 .wlogo {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 4%;
    margin: 0 auto
}

.view01 .books_link {
    position: absolute;
    right: 20px;
    bottom: 20px;
    z-index: 10;
    display: block;
}

.view01 .books_link img {
    max-width: 300px;
    width: 100%;
}

.books_link_pc {
    display: block;
}

.books_link_sp {
    display: none;
}

@media screen and (max-width: 1024px) {

    .view01 .books_link img {
        max-width: 250px;
        width: 100%;
    }
}

@media screen and (max-width: 768px) {

    .view02 {
        margin-top: 50px;
    }

    .view01 .books_link img {
        max-width: 200px;
        width: 100%;
    }

}

@media screen and (max-width: 600px) {

    .books_link_pc {
        display: none;
    }

    .books_link_sp {
        display: block !important;
        margin: 0 auto;
        margin-top: 30px;
    }

    .books_link_text {
        width: 100%;
        margin: 0 auto;
        margin-top: 20px;
        max-width: 320px;
    }

    .view01 .books_link {
        position: absolute;
        right: 0px;
        left: 0;
        bottom: -180px;
        z-index: 10;
        margin: 0 auto;
        width: 300px;
    }

    .view01 .books_link img {
        max-width: 300px;
        width: 100%;
    }

}

@media screen and (max-width: 450px) {

    .books_link img {
        width: 300px;
        margin: 0 auto;

    }

    .view01 .books_link {
        position: absolute;
        right: 0px;
        left: 0;
        bottom: -170px;
        z-index: 10;
        margin: 0 auto;
        width: 250px;
    }

    .view01 .books_link img {
        max-width: 300px;
        width: 100%;
    }
}

@media screen and (max-width: 350px) {

    .books_link_text {
        font-size: 14px;
        max-width: 280px;
    }

}


.view02 {
    position: relative;
    width: 100%;
    height: 300px;
}

.view02 .container {
    display: -webkit-flex;
    display: flex;
    height: 100%;
}

/*.view02 .title {border-color: #b6d9dd;}*/
.view02 .title {
    border-color: #d9dfe0;
}

.view02 .right {
    position: absolute;
    top: 0;
    bottom: 0;
    right: 4vw;
    margin: auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}

/*.view02 h1 {color: #b6d9dd;}*/
.btn a {
    width: 450px;
}

.view02 .btn a {
    padding: 1.5em 1em 1.5em 2em;
}

/*.view03 {background: #cce4e6;}
.view03 {background: #d9dfe0;}*/
.view03 {
    background: url("/common/images/netBg2.png");
    border-top: 1px solid #f3f3f3;
    box-sizing: border-box;
}

.view03 .title {
    border-color: #efefef;
    /*#edf6f7;*/
    right: 0;
}

/*.view03 h1 {color: #edf6f7;}*/

.svcBlock {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
    float: none;
    padding: 32% 0 0;
    margin-bottom: 4vw
}

.svcBlock li {
    position: relative;
    margin: 2% 0;
    width: 31%;
}

.svcBlock a {
    text-transform: uppercase;
    position: absolute;
    width: 100%;
    height: 100%;
    color: #fff;
    background: rgba(0, 0, 0, .5);
    font-size: 1.7rem;
    text-align: center;
    line-height: 1.2;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    letter-spacing: 0.05em;
    flex-wrap: wrap;
}

.svcBlock a:before {
    content: "";
    border: 2.7em solid;
    position: absolute;
    bottom: 0;
    right: 0;
    border-top: 0px;
    border-left: 7em solid transparent !important;
    border-right: 0;
    opacity: .5;
    transition: opacity .2s
}

.svcBlock a:hover:before {
    opacity: 1;
}

.svcBlock a:after {
    text-transform: uppercase;
    content: "more ＞";
    font-size: 1.05rem;
    color: #fff;
    position: absolute;
    right: .7em;
    bottom: .5em;
    letter-spacing: 0.05em;
}

.svcBlock p {
    width: 100%;
}

.svcBlock img {
    display: block;
}

.tabB a:before {
    border-color: #65a9b1;
}

.tabP a:before {
    border-color: #af243b;
}

.tabY a:before {
    border-color: #e8be18;
}

.tabG a:before {
    border-color: #28711b;
}

.view03 .btn.left {
    margin: 7vw 0 0 3vw;
    position: absolute;
    top: 0;
    left: 0;
}

.view03 .btn.left a {
    padding: 1.5em 1em 1.5em 2em;
}

.view03 .cPolicy {
    background: url("/common/images/view03_bg.png") #eaeaea bottom right no-repeat;
    text-align: center;
    background-size: auto 100%;
    overflow: hidden;
    width: 100%;
}

.view03 .cPolicy .container {
    overflow: hidden;
    box-sizing: border-box;
}

.view03 h2 {
    display: inline-block;
    margin: 8% auto 0;
    width: 100%;
    text-align: center;
}

.view03 h2 img {
    margin: 0 auto;
}

.cPolicy p {
    margin: 2vw auto;
    width: 480px;
    text-align: left;
}

.view03 .cPolicy .btn {
    margin-bottom: 8vh;
    display: inline-block;
}

.cPolicy a {
    width: 500px;
    padding: 1.5em 1em 1.5em 2em;
}



.view04 .title {
    border-color: #d9dfe0;
}

/*.view04 .title {border-color: #65a9b1;}
.view04 h1 {color: #65a9b1;}*/
.view04 .right {
    margin: 2.5vw 4vw 0 0;
    position: absolute;
    top: 0;
    right: 0;
}

.view04 .right .btn {
    padding-bottom: 2%;
}

.view04 .right .btn a {
    letter-spacing: .1em;
}

.view04 .bg_lgrn span {
    font-size: .9rem;
    border-bottom: 1px solid;
    display: block;
    padding: 0 .8em .3em;
    margin-bottom: .4em;
}

.view04 .bg_lgrn .txt {
    width: 80%;
}

.view04 .bg_lgrn p {
    padding-left: .5em;
}

.view04 .bg_lgrn {
    padding: 1.2em 1em 1em 1.5em;
    line-height: 1;
}

.view04 .bg_dgrn,
.view06 .bg_dgrn {
    padding: 1.5em 1em 1.5em 2em;
}


.sTitle {
    padding: .9em 0 .9em 2rem;
    text-align: left
}

.list {
    width: 1000px;
    max-width: 94%;
}

.list ul {
    margin-bottom: 3vw
}

.list ul li a {
    padding: 1em 0;
}

.list.seminar {
    padding: 30% 0 0;
    margin-bottom: 4vw;
}

.list.seminar ul {
    border: solid #d9dfe0;
    border-width: 3px 0;
    padding: 3% 0;
}

/*.list.seminar ul { border: solid #b6d9dd; border-width: 3px 0; padding: 3% 0;}*/
.list.seminar ul li {
    padding: .5% 4%;
}

/*.list.seminar ul li {margin: 4% auto;}*/
.view05 {
    background: url("/common/images/view05_bg.jpg") center center no-repeat;
    background-size: cover;
    color: #fff;
    margin-top: 200px;
}

.list.column {
    padding: 23% 0 8%;
    text-align: center;
}

.list.column ul {
    border: 1px solid;
    border-width: 1px 0;
}

.list.column ul li {
    border-top: 1px solid;
    padding: .8em 4%;
}

.list.column ul li:first-child {
    border: 0;
}

.type03 {
    background: #2e5096;
    color: #fff !important;
}

.type04 {
    background: rgba(129, 201, 209, 0.5);
}

.type05 {
    background: rgba(255, 255, 255, 0.2);
}

.view05 .btn a {
    background: rgba(64, 150, 160, .8);
}

.view06 {
    z-index: 15;
}

.view06 .title {
    border-color: #d9dfe0;
    /* #65a9b1;*/
    width: 47%;
}

/*.view06 h1 {color: #65a9b1;}*/
.view06 .right {
    margin: 13vh 2vw 0 0;
    max-width: 44%;
}

.view06 .btn {
    margin: 27% 0 0 8%;
    position: absolute;
    top: 0;
    left: 0;
}

.view06 .btn a:after {
    background: url("/common/images/win_w.svg") center center no-repeat;
    background-size: 97% auto;
    color: transparent;
}


@media screen and (max-width: 1200px) {

    .view01,
    .mainSlide .txt {
        height: 55vw
    }

    .view02 {
        height: 28vw;
    }

    .view03 .btn.left {
        margin: 10vw 0 0 3vw;
    }

    .btn a {
        width: 40vw;
    }

    .cPolicy a {
        width: 50vw;
    }

    .view04 .bg_lgrn span {
        font-size: .7em;
    }

    .svcBlock a {
        font-size: 2.5vw;
    }

    .svcBlock a:after {
        font-size: 1.5vw;
    }

    .cPolicy p {
        margin: 4vw auto;
    }

    .view06 .title {
        width: 50vw;
    }

    .view06 .btn {
        margin: 27vw 0 0 9vw;
    }

    .view06 .right {
        margin-top: 5vw;
    }

    .svcBlock {
        width: 94%;
    }
}

@media screen and (max-width: 1100px) {
    .slide02 img {
        width: 90%;
    }

    .slide03 img {
        max-width: 55%;
    }

    .list.column ul li {
        padding: .8em 1%;
    }

    .list.seminar ul li {
        padding: .5% 1%;
    }

    .view03 .cPolicy {
        background-position: -15vw bottom;
    }

    .view03 h2 {
        margin-top: 10%;
    }
}

@media screen and (max-width:1024px) {
    .slide03 img {
        width: 55%;
    }
}

@media screen and (max-width: 900px) {
    .slide01 img {
        width: 50%;
    }
}

@media screen and (max-width: 737px) {
    .btn a {
        width: 90vw;
        margin: 0 auto;
        margin-bottom: 55px;
    }

    .view01,
    .mainSlide .txt {
        height: 65vw;
    }

    .view01 .wlogo {
        bottom: 5vw;
        max-width: 25vw;
    }

    .view02 {
        height: auto;
    }

    .view02 .right {
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        margin: 30% auto 10%
    }

    .view03 .btn.left {
        position: relative;
        margin: 0 auto;
        padding-bottom: 7vw;
        width: 100%;
    }

    .view03 h2 {
        margin: 10vw auto 0;
    }

    .cPolicy p {
        width: 75vw;
    }

    .view03 h2 img {
        max-width: 75vw;
    }

    .svcBlock {
        padding-top: 35%;
        width: 90%;
    }

    .svcBlock li {
        width: 48%;
    }

    .svcBlock a {
        font-size: 3.5vw;
    }

    .svcBlock a:after,
    .cPolicy p {
        font-size: 2.3vw;
    }

    .view03 .cPolicy .btn {
        margin-bottom: 8vw;
    }

    .view04 .right {
        margin: 0 auto 7vw;
        position: relative;
        float: none;
    }

    .sTitle,
    .sTitle .sp {
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-align-items: center;
        align-items: center;
        -webkit-justify-content: space-between;
        justify-content: space-between;
    }

    .sTitle .sp {
        font-size: 2vw;
        width: 15vw;
    }

    .sTitle .sp:after {
        content: "＞";
    }

    .list.seminar ul {
        padding: 0;
    }

    .list.seminar ul li,
    .list.column ul li {
        padding: .5% 5vw;
    }

    .list.seminar ul li {
        border-bottom: 1px dashed #eee;
    }

    .list.column {
        padding-top: 26%;
    }

    .list .btn {
        margin-top: 3.5vw;
    }

    .view06 .btn {
        float: none;
        position: relative;
        margin: 0 auto 10%;
    }

    .view06 .right {
        float: none;
        max-width: 65%;
        padding: 27% 0 0;
        margin: 0 auto;
    }

    .view06 .right img {
        margin: 0 auto;
    }
}

@media screen and (max-width: 480px) {
    .view02 .right {
        margin-top: 32%;
    }

    .svcBlock {
        padding-top: 40%;
    }

    .cPolicy p {
        font-size: 3vw;
        margin: 7vw auto;
        width: 82%;
    }

    .view03 h2 img {
        max-width: 60%;
    }

    .cPolicy p,
    .sTitle .sp {
        font-size: 3vw;
    }

    .list h2 {
        font-size: 4vw;
    }

    .sTitle .sp {
        width: 21vw;
        margin-right: 3vw;
    }

    .sTitle {
        padding-left: 4vw;
    }

    .list.seminar,
    .list.column,
    .view06 .right {
        padding-top: 32%;
    }

    .view05{
        margin-top: 40px;
    }
}

@media screen and (max-width: 380px) {
    .svcBlock {
        padding-top: 50vw;
    }

    .list.seminar,
    .list.column,
    .view06 .right {
        padding-top: 40vw;
    }

    .view02 .right {
        margin-top: 38vw;
    }

    .sTitle .sp {
        width: 24vw
    }

    .list.seminar ul li,
    .list.column ul li {
        padding: .5% 3vw
    }

    .cPolicy p,
    .sTitle .sp {
        font-size: 3.5vw
    }
}

.pc {
    display: block;
}

.sp {
    display: none;
}

.view03 {
    padding: 10px 0;
}

.view03 .container .main_service1 {
    padding: 40% 0 0 0;
    margin: 60px 0;
    text-align: center;
}

.view03 .container .main_service2 {
    margin: 60px 0;
    text-align: center;
}


.view03 .container .main_service1 img {
    transition: transform .2s ease;

}

.view03 .container .main_service2 img {
    transition: transform .2s ease;

}

.view03 .container .main_service1 img:hover {
    transform: scale(1.05);
    /* 拡大 */
}

.view03 .container .main_service2 img:hover {
    transform: scale(1.05);
    /* 拡大 */
}

.view03 .list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 60px 60px;

    width: 100%;
    margin: 0 auto;
    margin-top: 60px;
    margin-bottom: 120px;
}

.view03 .list .items {
    max-width: 500px;
    gap: 40px 40px;
    text-align: center;
    overflow: hidden;
}

.view03 .list .items a {

    overflow: hidden;
}

.view03 .list .items img {
    transition: transform .4s ease;
    overflow: hidden;
}

.view03 .list .items img:hover {
    transform: scale(1.1);
    overflow: hidden;
}

.view03 .list .items p {
    background-color: #65a9b1;
    color: #fff;
    text-align: center;
    font-size: 16px;
    margin: 0 auto;
    margin-top: 10px;
    padding: 10px;
}


.view04.news {
    margin: 0 auto;
    margin-top: 120px;
    margin-bottom: 120px;
    width: 95%;
}


.view04 h2 {
    text-align: center;
    font-size: 32px;
    font-style: italic;
}

.view04 .list {
    margin: 0 auto;
    max-width: 900px;
    width: 100%;
    margin-top: 60px;
    margin-bottom: 32px;
}

/*
.view04 .list .items{
    padding-bottom: 10px;
    border-bottom: 1px solid #333;
    margin: 10px 0;
    margin-top: 60px;
    width: 100%;
}
*/

.view04 .list .items {
    padding: 24px 0;
    border-bottom: 1px solid #333;
    width: 100%;
    align-content: center;
}


.view04 .list .items a:hover {
    color: #65a9b1;
}


.view04 .list .items .text_box {
    display: flex;
    align-items: start;
}

.view04 .list .items .days {
    color: #fff;
    background-color: #65a9b1;
    padding: 0px 20px;
    margin: 0 20px;
    width: 80px;
    text-align: center;
    line-height: 2.6rem;
    flex-shrink: 0;
}

.view04 .list .items p {
    width: 100%;
    padding: 10px 0;
}

.view04 .btn a {
    padding: 1.5em 1em 1.5em 2em;
}

.view04 .btn {
    position: absolute;
    top: 112%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
    margin-bottom: 120px;
}


@media screen and (max-width: 1024px) {

    .view03 .list .items {
        width: 45%;
    }

}

@media screen and (max-width: 450px) {


    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .view03 .container .main_service1 {
        padding: 48% 0 0 0;
        margin: 30px 0;
    }

    .view03 .container .main_service2 {
        margin: 30px 0;
    }

    .view03 .list {

        gap: 20px 20px;
        margin-bottom: 60px;

    }


    .view03 .list .items {
        width: 46%;
        gap: 20px 20px;
        text-align: center;

    }

    .view03 .list .items p {

        font-size: 12px;
        padding: 10px 0;

    }

    .view04 .list {
        width: 90%;
    }

    .view04 .list .items .text_box {
        display: flex;
        flex-direction: column;
        padding: 16px 0;
    }

    .view04 .list .items .days {
        margin: 0;
    }


    .view04 .list .items p {
        margin: 0px;
    }

    .view04 .list {
        margin-top: 24px;
    }

    .view04 .list .items .days {
        line-height: 2.0rem;
        padding: 0;
    }

    .view04 .list .items .news_title {
        padding-top: 8px;
    }

    .view04 .list .items {
        padding: 0;
    }

    .view04 .list .items .days {
        width: 72px;
    }

}

@media screen and (max-width: 768px) {

    .view02.top {
        margin-top: 320px !important;
    }


}

@media screen and (max-width: 450px) {

    .view01 .books_link {
        bottom: -330px;
    }


}