@charset "UTF-8";
/*----------------------------------------------------
    Company
----------------------------------------------------*/

/* jumbotron_sub01
---------------------------*/
#jumbotron_sub01 {
    padding-bottom: 0;
}

#jumbotron_sub01 .jumbotron_bg {
    background-position: right top 30%;
}

#jumbotron_sub01 .copy_area .ttl_main_01 {
    text-align: left;
    margin-bottom: 2rem;
    margin-top: 5rem;
}

#jumbotron_sub01 .copy_area .txt_block {
    margin-bottom: 2rem;
}

#jumbotron_sub01 .copy_area .name_block {
    text-align: right;
}

#jumbotron_sub01 .copy_area .name_block img {
    width: 100px;
}

#jumbotron_sub01 .copy_area .img_block {
    margin-bottom: 4rem;
}

@media screen and (min-width:768px) and (max-width:991px) {
    #jumbotron_sub01 .copy_area .ttl_main_01 {
        margin-bottom: 1rem;
        margin-top: 0;
    }

    #jumbotron_sub01 .copy_area .txt_block {
        margin-bottom: 1rem;
    }

    #jumbotron_sub01 .copy_area .name_block img {
        width: 80px;
    }
}

@media screen and (max-width:767px) {
    #jumbotron_sub01 .jumbotron_bg {
        background-size: 90%;
        background-position: right top 6rem;
    }

    #jumbotron_sub01 .copy_area .ttl_main_01 {
        text-align: center;
        margin-bottom: 1rem;
        margin-top: 0;
    }

    #jumbotron_sub01 .copy_area .txt_block {
        margin-bottom: 0;
    }

    #jumbotron_sub01 .copy_area .name_block {
        margin-bottom: 2rem;
    }

    #jumbotron_sub01 .copy_area .name_block img {
        width: 25%;
    }
}

/* Sec01
---------------------------*/
#sec01 {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

#sec01 .ttl_main_01 {
    text-align: center;
    margin-bottom: 2.6rem;
}

#sec01 .img_block {
    margin-bottom: 1.2rem;
}

#sec01 h3 {
    text-align: center;
    color: #4775a9;
    font-size: 40px;
    border-bottom: 2px solid #4775a9;
    padding-bottom: 1.6rem;
    margin-bottom: 1.4rem;
}

#sec01 .txt_block {
    margin-bottom: 2rem;
}

@media screen and (min-width:768px) and (max-width:991px) {
    #sec01 {
        padding-top: 3rem;
        padding-bottom: 3rem;
    }

    #sec01 h3 {
        font-size: 28px;
        border-bottom: 2px solid #4775a9;
    }
}

@media screen and (max-width:767px) {
    #sec01 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    #sec01 h3 {
        font-size: 26px;
        border-bottom: 2px solid #4775a9;
        padding-bottom: 1.6rem;
        margin-bottom: 1.4rem;
    }
}

/* Sec02
---------------------------*/
#sec02 {
    background-image: url("../images/base/bg_01.jpg");
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100% auto;
    padding-top: 4rem;
    padding-bottom: 4rem;
}

#sec02 .ttl_main_01 {
    text-align: center;
    margin-bottom: 2.6rem;
}

#sec02 .date_area {
    background-color: #fff;
    padding: 1.6rem;
    margin-bottom: 1.8rem;
}

#sec02 .date_area .ttl_block {
    font-size: 1.2em;
    margin-bottom: 10px;
}

#sec02 .row-data .item .ttl-area {
    position: relative;
}

#sec02 .row-data .item .icon_block {
    display: block;
    fill: #000;
    position: absolute;
    top: 0;
    right: 0;
}

@media (max-width: 767px) {
    #sec02 .row-data .item .icon_block {
        width: 48px;
        height: 48px;
    }
}

@media (min-width: 768px) and (max-width: 1200px) {
    #sec02 .row-data .item .icon_block {
        width: 64px;
        height: 64px;
    }
}

@media (min-width: 1201px) {
    #sec02 .row-data .item .icon_block {
        width: 96px;
        height: 96px;
    }
}

#sec02 .row-data .item:nth-of-type(1) .icon_block svg {
    fill: #c44545;
}

#sec02 .row-data .item:nth-of-type(2) .icon_block svg {
    fill: #c49345;
}

#sec02 .row-data .item:nth-of-type(3) .icon_block svg {
    fill: #96c445;
}

#sec02 .row-data .item:nth-of-type(4) .icon_block svg {
    fill: #45c4c2;
}

#sec02 .row-data .item:nth-of-type(5) .icon_block svg {
    fill: #7e45c4;
}

#sec02 .row-data .item:nth-of-type(1) .date_area .ttl_block {
    color: #c44545;
}

#sec02 .row-data .item:nth-of-type(2) .date_area .ttl_block {
    color: #c49345;
}

#sec02 .row-data .item:nth-of-type(3) .date_area .ttl_block {
    color: #96c445;
}

#sec02 .row-data .item:nth-of-type(4) .date_area .ttl_block {
    color: #45c4c2;
}

#sec02 .row-data .item:nth-of-type(5) .date_area .ttl_block {
    color: #7e45c4;
}

#sec02 .date_area .img_block {
    margin-bottom: 1rem;
}

#sec02 .date_area p {
    margin-bottom: 0
}

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

@media screen and (max-width:767px) {
    #sec02 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }
}

/*
#sec02 .pattern01 {
    border-top: 3px solid #c44545;
}
#sec02 .pattern02 {
    border-top: 3px solid #c49345;
}
#sec02 .pattern03 {
    border-top: 3px solid #c4c045;
}
#sec02 .pattern04 {
    border-top: 3px solid #96c445;
}
#sec02 .pattern05 {
    border-top: 3px solid #48c445;
}*/
#sec02 .pattern01 {
    border-top: 3px solid #c44545;
}

#sec02 .pattern02 {
    border-top: 3px solid #c49345;
}

#sec02 .pattern03 {
    border-top: 3px solid #96c445;
}

#sec02 .pattern04 {
    border-top: 3px solid #45c4c2;
}

#sec02 .pattern05 {
    border-top: 3px solid #7e45c4;
}

#sec02 .pattern06 {
    border-top: 3px solid #45c4c2;
}

#sec02 .pattern07 {
    border-top: 3px solid #4775a9;
}

#sec02 .pattern08 {
    border-top: 3px solid #7e45c4;
}

#sec02 .pattern09 {
    border-top: 3px solid #bd45c4;
}

/* Sec03
---------------------------*/
#sec03 {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

#sec03 .ttl_main_01 {
    text-align: center;
    margin-bottom: 2.6rem;
}

#sec03 .img_block {}

#sec03 .txt_area {
    padding: 0.8rem 0.8rem 0.8rem 0;
    border-bottom: 2px solid #4775a9;
    margin-bottom: 2rem;
}

#sec03 .txt_area h3 {
    float: left;
    display: inline-block;
    font-size: 36px;
    margin-right: 1rem;
}

#sec03 .txt_area .post_block {
    float: left;
    display: inline-block;
    padding-top: 1.2rem;
}

#sec03 .txt_area .btn_block {
    float: right;
    display: inline-block;
}

#sec03 .txt_area .btn_block {
    width: 10%;
}

#sec03 .txt_area .btn_block img {
    width: 100%;
}

@media screen and (min-width:768px) and (max-width:991px) {
    #sec03 .txt_area h3 {
        font-size: 28px;
    }

    #sec03 .txt_area .post_block {
        padding-top: 0.6rem;
    }
}

@media screen and (max-width:767px) {
    #sec03 {
        padding-top: 2rem;
        padding-bottom: 2rem;
    }

    #sec03 .txt_area h3 {
        font-size: 28px;
    }

    #sec03 .txt_area .post_block {
        padding-top: 0.6rem;
    }
}

/* Sec04
---------------------------*/
#sec04 {
    padding-top: 4rem;
    padding-bottom: 3rem;
}

#sec04 .ttl_main_01 {
    text-align: center;
    margin-bottom: 2.6rem;
}

#sec04 .table_01 th {
    width: 20%;
}

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

@media screen and (max-width:767px) {
    #sec04 {
        padding-top: 2rem;
        padding-bottom: 4rem;
    }
}

.category_list {
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}

.category_list li a {
    display: inline-block;
    color: #4775a9;
    background-color: #d9e6f4;
    padding: 1rem 4rem;
    margin-right: 1.6rem;
    border-radius: 30px;
}

.category_list li:last-child a {
    margin-right: 0;
}

.category_list li a.active,
.category_list li a:hover {
    color: #fff;
    background-color: #4775a9;
    opacity: 1;
}

@media screen and (max-width:767px) {
    .category_list {
        margin-bottom: 1rem;
    }

    .category_list li a {
        display: inline-block;
        padding: 0.4rem 1.4rem;
        margin-right: 0.4rem;
        font-size: 14px;
    }

    .category_list li:last-child a {
        margin-right: 0;
    }
}

.entry_btn {
    margin-top: 2rem;
    text-align: center;
}

.entry_btn a {
    display: inline-block;
    color: #fff;
    background-color: #c44545;
    padding: 1.2rem 4rem;
    border-radius: 30px;
}

@media screen and (max-width:767px) {
    .entry_btn a {
        display: block;
        padding: 1rem 1rem 1rem 1rem;
    }
}

/* slide_area
---------------------------*/
/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
    display: -ms-grid;
    overflow: hidden;
}

/*----------------------------*/
.d-demo__wrap {
    display: flex;
    overflow: hidden;
}

.d-demo__list {
    display: flex;
    list-style: none;
}

.d-demo__list--left {
    animation: infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
    width: calc(100vw / 5);
}

.d-demo__item>img {
    width: 100%;
}

@media screen and (min-width:768px) and (max-width:991px) {
    .d-demo__item {
        width: calc(100vw / 4);
    }
}

@media screen and (max-width:767px) {
    .d-demo__item {
        width: calc(100vw / 2);
    }
}

/* modaldialog
---------------------------*/
.modal {
    z-index: 10000;
}

.modal-body .ttl_block {
    color: #4775a9;
    font-size: 32px;
    margin-bottom: 0.6rem;
}

.modal-body .img_block {
    margin-bottom: 2rem;
}

#sec03 .modal-body .txt_area {
    margin-bottom: 1rem;
    color: #4775a9;
}

@media screen and (max-width:991px) {
    .modal-body .img_block {
        margin-bottom: 1rem;
    }
}

@media screen and (max-width:767px) {
    .modal-body .ttl_block {
        font-size: 22px;
    }
}
