@charset "UTF-8"; /*--- common --*/
h2.ttl {
    font-size: 37px;
}

h2.ttl span {
    font-size: 15px;
    margin: 8px 0 0;
}

h2.ttl.colon {
    padding: 22px 0 0;
}

h2.ttl.colon:before {
    width: 13.5px;
    height: 10.75px;
}

a.readmore {
    font-size: 11.25px;
    background: url(../img/top/readmore_sp.png) right center no-repeat;
    background-size: 37px;
    padding-right: 50px;
    padding-bottom: 9px;
}

/*--- mv ---*/
div.mv {
}

div.mv div.inner {
    width: 100%;
    padding-left: 11.469%;
}

div.mv div.inner:before {
    height: 342px;
}

div.mv div.inner div.slider {
    height: 413px;
}

div.mv div.inner div.slider video {
    width: 100%;
    object-fit: cover;
    height: 413px;
}

div.mv div.inner div.slider img {
    width: 100%;
    object-fit: cover;
    height: 413px;
}

div.mv div.inner div.slider div.slider01 {
    height: 413px;
    background: url(../img/top/mv_sp.jpg) center center no-repeat;
    background-size: cover;
}

div.mv div.inner div.ttlbox {
    top: calc(50% - 50px);
    left: calc(11.466% - 31px);
}

div.mv div.inner div.ttlbox p {
    font-size: 50px;
    font-size: 34px;
}

div.mv div.inner div.ttlbox p:before {
    width: 9.5%;
}

div.mv div.inner div.ttlbox p span:before {
    width: 9.5%;
}

div.mv div.inner div.progress {
    display: none;
}

/*--- sec01 ---*/
section.sec01 {
    padding: 44px 0 34px;
    background: url(../img/top/sec01_bg01_sp.png) left top 24px no-repeat;
    background-size: 145.5px;
}

#top section.sec01 {
    padding: 44px 0 34px;
}

section.sec01:before {
    width: 81.5px;
    height: 417.5px;
    background: url(../img/top/sec01_bg02_sp.png) center center no-repeat;
    background-size: cover;
    position: absolute;
    right: 0;
    top: 148px;
}

section.sec01 div.inner {
    flex-wrap: wrap;
}

section.sec01 div.inner h2.ttl.colon {
    margin: 0 0 24px;
    padding: 22px 0 0 3%;
}

section.sec01 div.inner div.box1 {
    width: 100%;
}

section.sec01 div.inner div.box1 img {
    width: 71.919%;
    margin: 0 auto 0;
}

section.sec01 div.inner div.box2 {
    width: 100%;
    padding: 0 0 0;
    margin-bottom: 30px;
}

section.sec01 div.inner div.box2 p.t1 {
    width: 84.825%;
    margin: 29px auto 23px;
}

section.sec01 div.inner div.box2 a.readmore {
    float: right;
    margin-right: 7.5875%;
}

section.sec01 div.inner div.box3 {
    display: block;
    width: 100%;
}

section.sec01 div.inner div.box3 div.itembox {
    width: 100%;
}

section.sec01 div.inner div.box3 div.itembox img {
    width: 100%;
}

/*--- sec02 ---*/
section.sec02 {
    background: none;
    padding: 0 0 10px;
}

section.sec02:before {
    content: none;
}

section.sec02 div.inner {
    width: 100%;
}

section.sec02 div.inner h2.ttl.colon {
    margin: 0 0 24px;
    padding: 22px 0 0 3%;
}

section.sec02 div.inner h2.ttl.colon:before {
    left: 3%;
}

section.sec02 div.inner div.lbox {
    width: 94%;
    padding-left: 0;
    order: 2;
    margin: 0 auto;
}

section.sec02 div.inner div.lbox p.t1 {
    width: 84.825%;
    margin: 29px auto 23px;
    padding-right: 0;
}

section.sec02 div.inner div.lbox a.readmore {
    float: right;
    margin-right: 7.5875%;
}

section.sec02 div.inner div.rbox {
    width: 94%;
    order: 1;
    margin: 0 auto;
    display: block;
}

section.sec02 div.inner div.rbox img {
    position: relative;
    right: calc(-3% - 1px);
}

section.sec02 div.inner div.bt_box {
    order: 3;
    margin: 25px 0 0;
    width: 100%;
}

section.sec02 div.inner div.bt_box ul li {
    width: 100%;
    height: 189.5px;
    margin: 0;
}

section.sec02 div.inner div.bt_box ul li a {
    padding: 40.5px 0 0 50%;
    background: url(../img/top/sec02_img01sp.jpg) left center no-repeat;
    background-size: 50%;
    height: 100%;
}

section.sec02 div.inner div.bt_box ul li:nth-child(2n) a {
    padding: 40.5px 50% 0 0;
    background: url(../img/top/sec02_img02sp.jpg) right center no-repeat;
    background-size: 50%;
}

section.sec02 div.inner div.bt_box ul li:nth-child(3) a {
    background: url(../img/top/sec02_img03sp.jpg) left center no-repeat;
    background-size: 50%;
}

section.sec02 div.inner div.bt_box ul li:nth-child(4) a {
    background: url(../img/top/sec02_img04sp.jpg) right center no-repeat;
    background-size: 50%;
}

section.sec02 div.inner div.bt_box ul li a:before {
    font-size: 90px;
    left: calc(50% + 11px);
    top: 8px;
}

section.sec02 div.inner div.bt_box ul li:nth-child(2) a:before {
    left: 11px;
}

section.sec02 div.inner div.bt_box ul li:nth-child(4) a:before {
    left: 11px;
}

section.sec02 div.inner div.bt_box ul li a h4.ttl {
    font-size: 13.5px;
    padding: 31px 0 0;
    background: url(../img/top/sec02_h4.png) left top no-repeat;
    background-size: 19px;
    margin: 0 0 12px 17px;
}

section.sec02 div.inner div.bt_box ul li a h4.ttl span {
    display: block;
    font-size: 18px;
    margin: 6px 0 0;
}

section.sec02 div.inner div.bt_box ul li a p.t1 {
    font-size: 11.5px;
    margin: 0 0 0 17px;
}

/*--- sec03 ---*/
section.sec03 {
    padding: 17.5px 0 0;
    background: url(../img/top/sec03_bg01sp.png) left top no-repeat;
    background-size: 114px;
}

#top section.sec03 {
    background: unset;
}

section.sec03:after {
    content: none;
}

section.sec03 div.inner {
}

section.sec03 div.inner div.item {
    flex-wrap: wrap;
}

section.sec03 div.inner div.item div.box_1 {
    width: 100%;
}

section.sec03 div.inner div.item div.box2 {
    width: 100%;
    flex-wrap: wrap;
    margin: 30px 0 0;
}

section.sec03 div.inner div.item div.box2 div.item p.t1 {
    font-size: 15px;
    line-height: 1.4;
    margin: 10px 0 0;
}

section.sec03 div.inner div.item div.box2 p.t2 {
    position: relative;
    right: 0;
    width: 100%;
    bottom: unset;
    text-align: center;
    padding: 0;
    border-bottom: none;
    font-size: 18.5px;
    order: 1;
    margin: 0 0 30px;
}

section.sec03 div.inner div.item.item01 {
    margin: 0 3% 57px;
}

section.sec03 div.inner div.item.item01 div.box_1 {
    width: 100%;
    order: 1;
    padding-left: 35.425%;
    padding-left: 0;
    padding: 20px;
}

section.sec03 div.inner div.item.item01 div.box_1 h2.ttl.colon {
    margin: 0 0 20px;
}

section.sec03 div.inner div.item.item01 div.box_1 p.t1 {
    line-height: 2;
    margin: 0 0 18px;
}

section.sec03 div.inner div.item.item01 div.box_1 a.readmore {
    margin-right: 0;
}

section.sec03 div.inner div.item.item01 div.box2 {
    order: 2;
    left: 0;
}

section.sec03 div.inner div.item div.none_type:after {
    content: none;
}

section.sec03 div.inner div.item.item01 div.box2 p.t2 {
    right: unset;
    text-align: center;
    margin: 10px 0 0;
}

section.sec03 div.inner div.item.item02 {
    margin: 0 3% 0;
    position: relative;
}

section.sec03 div.inner div.item.item02:before {
    content: '';
    width: 212px;
    height: 153.5px;
    position: absolute;
    top: 14px;
    right: calc(-6% - 2px);
    background: url(../img/top/sec03_bg02sp.png) center center no-repeat;
    background-size: cover;
}

section.sec03 div.inner div.item.item02 div.box_1 {
    width: 100%;
    padding-right: 0;
}

section.sec03 div.inner div.item.item02 div.box_1 h2.ttl.colon {
    margin: 0 0 20px;
}

section.sec03 div.inner div.item.item02 div.box_1 p.t1 {
    margin: 0 0 32px;
}

section.sec03 div.inner div.item.item02 div.box_1 a.readmore {
    margin-right: 0;
    float: unset;
}

section.sec03 div.inner div.item.item02 div.box2 {
    width: 100%;
    padding-right: 0;
}

section.sec03 div.inner div.item div.box2 div.item {
    display: block;
    width: 50%;
    order: 2;
    margin-right: 0;
    max-width: 398px;
    margin-left: 0;
}

section.sec03 div.inner div.item.item02 div.box2 p.t2 {
    left: 0;
}

/*--- sec04 ---*/
section.sec04 {
    background: none;
    padding: 77px 0 75px;
}

section.sec04 div.inner {
    width: 100%;
    padding: 0 0 19px;
}

section.sec04 div.inner div.lbox {
    width: 65.87%;
    padding: 84px 0 70px 3%;
}

section.sec04 div.inner div.lbox h2.ttl.colon {
    margin: 0 0 0;
    position: relative;
    z-index: 1;
}

section.sec04 div.inner div.lbox p.t1 {
    display: none;
}

section.sec04 div.inner div.lbox a.readmore {
    display: none;
}

section.sec04 div.inner div.rbox {
    width: 65.337%;
    height: 250px;
    background-size: cover;
}

section.sec04 div.inner.sp {
    width: 94%;
    padding: 0;
}

section.sec04 div.inner.sp p.t1 {
    width: 84.825%;
    margin: 29px auto 23px;
}

section.sec04 div.inner.sp a.readmore.hv {
    float: right;
    margin-right: 7.5875%;
}

/*--- sec05 ---*/
section.sec05 {
    padding: 0 0 47px;
    margin: 96px 0 0;
}

section.sec05 div.inner:before {
    content: none;
}

section.sec05 div.inner h2.ttl {
    font-size: 17px;
    margin: 0 0 25px;
    top: -10px;
}

section.sec05 div.inner h2.ttl:before {
    width: 65px;
    height: 65px;
    left: calc(50% - 32.5px);
    top: -85px;
}

section.sec05 div.inner p.t1 {
    font-size: 15px;
    width: 94%;
    margin: 0 auto 30px;
}

section.sec05 div.inner a.sec05_btn {
    font-size: 15px;
    width: 236.5px;
    line-height: 42.5px;
    background: url(../img/common/arrow_b.png) right 18px center no-repeat;
    background-size: 5px;
}

/*--- sec06 ---*/
section.sec06 {
    padding: 34px 0 0;
}

section.sec06 div.inner a.sec06_btn {
    width: 100%;
    height: 109.5px;
    background: #eceef7 url(../img/top/sec06_bg01sp.jpg) right center no-repeat;
    background-size: cover;
}

section.sec06 div.inner a.sec06_btn h2.ttl {
    padding-left: 6%;
    font-size: 22px;
}

section.sec06 div.inner a.sec06_btn h2.ttl span {
    font-size: 15px;
    margin: 4px 0 0;
}

/*--- sec07 ---*/
section.sec07 {
    padding: 10px 0 40px;
}

section.sec07 div.inner h2.ttl {
    margin: 0 0 30px;
}

section.sec07 div.inner ul {
    width: 94%;
    margin: 0 auto 36px;
}

section.sec07 div.inner ul li a p.date {
    font-size: 11px;
}

section.sec07 div.inner ul li a p.ttl {
    text-align: center;
    font-size: 12.5px;
}

section.sec07 div.inner a.sec07_btn {
    font-size: 15px;
    width: 236.5px;
    line-height: 42.5px;
    background-size: 5px;
}


/*--- sec08 ---*/
section.sec08 {
    margin: 18px 0 0;
    background: linear-gradient(180deg,#f6f6f6 0%,#f6f6f6 88%,#FFF 88%,#FFF 100%);
}

section.sec08 div.inner h2.ttl {
    font-size: 37px;
    top: -20px;
    margin: 0 0 5px;
}

section.sec08 div.inner h2.ttl span {
    font-size: 15px;
    margin: 8px 0 0;
}

section.sec08 div.inner div.box {
    padding: 33.5px 0 0;
}

section.sec08 div.inner div.box ul {
    display: unset;
    position: relative;
}

section.sec08 div.inner div.box ul li {
    margin: 0 7.5px 0;
}

section.sec08 div.inner div.box ul li a p.name {
    font-size: 10px;
    margin: 10px 0 14px;
}

section.sec08 div.inner div.box ul li a p.name span {
    margin-bottom: 4px;
}

section.sec08 div.inner div.box ul li a p.date {
    font-size: 10px;
}

/*--- sec09 ---*/
section.sec09 {
    padding: 40px 0 37px;
}

section.sec09 div.inner {
    width: 100%;
}

section.sec09 div.inner div.box {
}

section.sec09 div.inner div.box a.sec09link {
    height: 109.5px;
}

section.sec09 div.inner div.box a.sec09link p.ttl {
    font-size: 23px;
}

section.sec09 div.inner div.box a.sec09link p.ttl span {
    font-size: 12px;
}

section.sec09 div.inner div.box div.lbox a.sec09link {
    background: url(../img/top/sec09_img01sp.jpg) center center no-repeat;
    background-size: cover;
}

section.sec09 div.inner div.box div.rbox {
    margin: 0;
}

section.sec09 div.inner div.box div.rbox a.sec09link {
    background: url(../img/top/sec09_img02sp.jpg);
    background-size: cover;
}

@media screen and (max-width: 375px) {
    section.sec03 div.inner div.item.item01 div.box_1 p.t1 {
        font-size: 12px;
    }
}

@media screen and (max-width: 320px) {
    section.sec02 div.inner div.bt_box ul li {
        height: 160.5px;
    }

    section.sec02 div.inner div.bt_box ul li a {
        padding: 32.5px 0 0 50%;
    }

    section.sec02 div.inner div.bt_box ul li a h4.ttl {
        margin: 0 0 12px 12px;
    }

    section.sec02 div.inner div.bt_box ul li a h4.ttl span {
        font-size: 16px;
    }

    section.sec03 div.inner div.item.item01 div.box_1 p.t1 br {
        display: none;
    }
}
