@charset "UTF-8";
.pcOnly {
    display: block
}

@media only screen and (max-width:767px) {
    .pcOnly {
        display: none
    }
}

.spOnly {
    display: none
}

@media only screen and (max-width:767px) {
    .spOnly {
        display: block
    }
}

.pcOnly-ib {
    display: inline-block
}

@media only screen and (max-width:767px) {
    .pcOnly-ib {
        display: none
    }
}

.spOnly-ib {
    display: none
}

@media only screen and (max-width:767px) {
    .spOnly-ib {
        display: inline-block
    }
}

.mt0 {
    margin-top: 0!important
}

.mb0 {
    margin-bottom: 0!important
}

.ml0 {
    margin-left: 0!important
}

.mr0 {
    margin-right: 0!important
}

@media print,
screen and (min-width:768px) {
    .p0 {
        padding: 0!important
    }
}

@media only screen and (max-width:767px) {
    .p0 {
        padding-top: 0!important
    }
}

.txt-center {
    text-align: center!important
}

@media print,
screen and (min-width:768px) {
    .txt-center-pc {
        text-align: center!important
    }
}

@media only screen and (max-width:767px) {
    .txt-center-sp {
        text-align: center!important
    }
}

.txt-left {
    text-align: left!important
}

@media print,
screen and (min-width:768px) {
    .txt-left-pc {
        text-align: left!important
    }
}

@media only screen and (max-width:767px) {
    .txt-left-sp {
        text-align: left!important
    }
}

.txt-right {
    text-align: right!important
}

@media print,
screen and (min-width:768px) {
    .txt-right-pc {
        text-align: right!important
    }
}

@media only screen and (max-width:767px) {
    .txt-right-sp {
        text-align: right!important
    }
}

.c-red {
    color: #ed0022!important
}

.quoatationmarks {
    font-weight: 300;
    display: inline-block;
    position: relative
}

@media print,
screen and (min-width:768px) {
    .quoatationmarks.foward {
        margin-left: 5px
    }
}

@media only screen and (max-width:767px) {
    .quoatationmarks.foward {
        margin-left: pxtovw(3)
    }
}

@media print,
screen and (min-width:768px) {
    .quoatationmarks.back {
        margin-right: 5px
    }
}

@media only screen and (max-width:767px) {
    .quoatationmarks.back {
        margin-right: pxtovw(3)
    }
}

.noWrap {
    white-space: nowrap
}

@media print,
screen and (min-width:768px) {
    .link_hover {
        transition: all 0.2s linear
    }
}

.link_hover:hover {
    color: #ed0022!important
}

.link_hover:hover .icon_blank:after {
    background-image: url(/common/img/icon/icon_blank_r.svg)
}

.link_opacity {
    display: inline-block
}

@media print,
screen and (min-width:768px) {
    .link_opacity {
        transition: all 0.2s linear
    }
}

@media print,
screen and (min-width:768px) {
    .link_opacity:hover {
        opacity: 0.75
    }
}

.link_blank:hover .icon_blank:after {
    background-image: url(/common/img/icon/icon_blank_r.svg)
}

@media print,
screen and (min-width:768px) {
    .img_hover img {
        transition: all 0.2s linear
    }
}

@media print,
screen and (min-width:768px) {
    .img_hover:hover img {
        opacity: 0.7
    }
}

.btn_hover:hover .mod-btn>* {
    background-color: #fa0000;
    background-position: -100% 100%;
    color: #fff
}

.arrow_hover:hover .icon_circleArrow:before {
    opacity: 0!important;
    transform: translate(200%, -50%)!important
}

.arrow_hover:hover .icon_circleArrow:after {
    opacity: 1!important;
    transform: translateY(-50%)!important
}

.arrow_slide:hover .arrow:before,
.arrow_slide:hover .icon_impArrow:before {
    opacity: 0!important;
    transform: translate(200%, -50%)!important
}

.arrow_slide:hover .arrow:after,
.arrow_slide:hover .icon_impArrow:after {
    opacity: 1!important;
    transform: translateY(-50%)!important
}

.icon_blank {
    position: relative;
    display: inline-block;
    overflow: hidden
}

@media print,
screen and (min-width:768px) {
    .icon_blank {
        width: 12px;
        height: 12px;
        margin-left: 8px
    }
}

@media only screen and (max-width:767px) {
    .icon_blank {
        width: 3.4666666667vw;
        height: 3.4666666667vw;
        margin-left: 2.6666666667vw
    }
}

.icon_blank:after {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_blank_g.svg) center/contain no-repeat;
    top: 0;
    left: 0;
    transition: all 0.2s linear
}

@media print,
screen and (min-width:768px) {
    .icon_blank:after {
        width: 12px;
        height: 12px
    }
}

@media only screen and (max-width:767px) {
    .icon_blank:after {
        width: 3.4666666667vw;
        height: 3.4666666667vw
    }
}

.icon_blank.white:after {
    background-image: url(/common/img/icon/icon_blank_w.svg)
}

.icon_blank.red:after {
    background-image: url(/common/img/icon/icon_blank_r.svg)
}

.icon_pdf {
    color: #ed0022;
    display: inline-block;
    border: 1px solid #ed0022;
    vertical-align: middle;
    font-weight: bold
}

@media print,
screen and (min-width:768px) {
    .icon_pdf {
        font-size: 10px;
        padding: 1px 3px;
        margin: -4px 0 0 10px
    }
}

@media only screen and (max-width:767px) {
    .icon_pdf {
        font-size: 10px;
        font-size: 2.6666666667vw;
        padding: 0.2666666667vw 0.8vw;
        margin: -1.0666666667vw 0 0 2.6666666667vw
    }
}

.icon_circleArrow {
    position: relative;
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle;
    overflow: hidden;
    border-radius: 50%
}

@media print,
screen and (min-width:768px) {
    .icon_circleArrow {
        border: 1px solid #ed0022;
        top: -2px;
        margin-right: 10px;
        width: 20px;
        height: 20px
    }
}

@media only screen and (max-width:767px) {
    .icon_circleArrow {
        border: 0.2666666667vw solid #ed0022;
        top: -0.5333333333vw;
        margin-right: 2.6666666667vw;
        width: 5.3333333333vw;
        height: 5.3333333333vw
    }
}

.icon_circleArrow:after,
.icon_circleArrow:before {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_arrow_r.svg) center/contain no-repeat;
    transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    top: 50%
}

@media print,
screen and (min-width:768px) {
    .icon_circleArrow:after,
    .icon_circleArrow:before {
        width: 10px;
        height: 8px;
        left: 4px
    }
}

@media only screen and (max-width:767px) {
    .icon_circleArrow:after,
    .icon_circleArrow:before {
        width: 2.6666666667vw;
        height: 2.1333333333vw;
        left: 1.0666666667vw
    }
}

.icon_circleArrow:before {
    transform: translateY(-50%)
}

.icon_circleArrow:after {
    opacity: 0;
    transform: translate(-200%, -50%)
}

.icon_circleArrow.red {
    background-color: #ed0022
}

.icon_circleArrow.red:after,
.icon_circleArrow.red:before {
    background-image: url(/common/img/icon/icon_arrow_w.svg)
}

@media print,
screen and (min-width:768px) {
    .icon_circleArrow.red:after,
    .icon_circleArrow.red:before {
        top: calc(50% - 1px)
    }
}

.icon_impArrow {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    overflow: hidden;
    background-color: #ed0022;
    border-radius: 50%
}

@media print,
screen and (min-width:768px) {
    .icon_impArrow {
        width: 32px;
        height: 32px;
        margin-right: 17px
    }
}

@media only screen and (max-width:767px) {
    .icon_impArrow {
        width: 8.5333333333vw;
        height: 8.5333333333vw;
        margin-right: 3.4666666667vw
    }
}

.icon_impArrow:after,
.icon_impArrow:before {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_arrow_w.svg) center/contain no-repeat;
    transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    top: 50%
}

@media print,
screen and (min-width:768px) {
    .icon_impArrow:after,
    .icon_impArrow:before {
        width: 14px;
        height: 10px;
        left: 9px
    }
}

@media only screen and (max-width:767px) {
    .icon_impArrow:after,
    .icon_impArrow:before {
        width: 3.7333333333vw;
        height: 2.6666666667vw;
        left: 2.4vw
    }
}

.icon_impArrow:before {
    transform: translateY(-50%)
}

.icon_impArrow:after {
    opacity: 0;
    transform: translate(-200%, -50%)
}

.icon_circle-red {
    background-color: #ed0022;
    color: #fff;
    font-style: normal;
    display: inline-flex;
    vertical-align: middle;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    font-weight: 400;
    font-family: Arial
}

@media print,
screen and (min-width:768px) {
    .icon_circle-red {
        width: 35px;
        height: 35px;
        margin-right: 12px
    }
}

@media only screen and (max-width:767px) {
    .icon_circle-red {
        width: 6.4vw;
        height: 6.4vw;
        margin-right: 2.1333333333vw;
        font-size: 14px;
        font-size: 3.7333333333vw
    }
}

@media print,
screen and (min-width:768px) {
    .icon_circle-red~span {
        font-size: 19px
    }
}

@media only screen and (max-width:767px) {
    .icon_circle-red~span {
        font-size: 15px;
        font-size: 4vw
    }
}

.btn_more a {
    position: relative;
    color: #ed0022;
    font-weight: bold
}

@media print,
screen and (min-width:768px) {
    .btn_more a {
        font-size: 16px
    }
}

@media only screen and (max-width:767px) {
    .btn_more a {
        font-size: 15px;
        font-size: 4vw
    }
}

.btn_more a:hover .arrow:before {
    opacity: 0;
    transform: translate(200%, -50%)
}

.btn_more a:hover .arrow:after {
    opacity: 1;
    transform: translateY(-50%)
}

.btn_more .arrow {
    display: inline-block;
    vertical-align: middle;
    position: relative;
    overflow: hidden;
    background-color: #ed0022;
    border-radius: 50%
}

@media print,
screen and (min-width:768px) {
    .btn_more .arrow {
        margin-right: 15px;
        margin-top: -3px;
        width: 32px;
        height: 32px
    }
}

@media only screen and (max-width:767px) {
    .btn_more .arrow {
        margin-right: 3.4666666667vw;
        margin-top: -0.5333333333vw;
        width: 8.5333333333vw;
        height: 8.5333333333vw
    }
}

.btn_more .arrow:after,
.btn_more .arrow:before {
    content: "";
    position: absolute;
    display: block;
    background: url(/common/img/icon/icon_arrow_w.svg) center/contain no-repeat;
    transition: all 0.8s cubic-bezier(0.86, 0, 0.07, 1);
    top: 50%
}

@media print,
screen and (min-width:768px) {
    .btn_more .arrow:after,
    .btn_more .arrow:before {
        width: 14px;
        height: 10px;
        left: 9px
    }
}

@media only screen and (max-width:767px) {
    .btn_more .arrow:after,
    .btn_more .arrow:before {
        width: 3.7333333333vw;
        height: 2.6666666667vw;
        left: 2.4vw
    }
}

.btn_more .arrow:before {
    transform: translateY(-50%)
}

.btn_more .arrow:after {
    opacity: 0;
    transform: translate(-200%, -50%)
}

.btn_more.white a {
    color: #fff
}

.btn_more.white .arrow {
    box-sizing: border-box;
    background-color: transparent;
    border: 2px solid #fff
}

@media print,
screen and (min-width:768px) {
    .btn_more.white .arrow:after,
    .btn_more.white .arrow:before {
        left: 7px
    }
}

@media only screen and (max-width:767px) {
    .btn_more.white .arrow:after,
    .btn_more.white .arrow:before {
        left: 1.8666666667vw
    }
}

.inline-link {
    color: #ed0022;
    text-decoration: underline;
    display: inline-block
}

@media print,
screen and (min-width:768px) {
    .inline-link {
        margin: 0 5px
    }
}

@media only screen and (max-width:767px) {
    .inline-link {
        margin: 0 1.3333333333vw
    }
}

.inline-link:hover {
    text-decoration: none
}

.inline-link [class^=icon_] {
    margin-right: 0
}

@media print,
screen and (min-width:768px) {
    .inline-link [class^=icon_] {
        margin-left: 5px
    }
}

@media only screen and (max-width:767px) {
    .inline-link [class^=icon_] {
        margin-left: 1.3333333333vw
    }
}

.inline-link .icon_blank:after {
    background-image: url(/common/img/icon/icon_blank_r.svg)
}

.c-red {
    color: #ed0022
}

.d-gray {
    color: #444
}

.mod-mainTtl {
    background: center/cover no-repeat
}

@media print,
screen and (min-width:768px) {
    .mod-mainTtl {
        background-image: url(/effort/img/bg_effort_mv.jpg)
    }
}

@media only screen and (max-width:767px) {
    .mod-mainTtl {
        background-image: url(/effort/img/bg_effort_mv_sp.jpg)
    }
}

.mod-mainTtl .mod-h1 {
    margin-bottom: 0
}

@media print,
screen and (min-width:768px) {
    .mod-mainTtl .mod-h1 {
        padding: 135px 0 155px
    }
}

@media only screen and (max-width:767px) {
    .mod-mainTtl .mod-h1 {
        padding: 13.3333333333vw 0
    }
}

@media print,
screen and (min-width:768px) {
    .mod-mainTtl .mod-h1 h1 {
        font-size: 46px
    }
}

@media only screen and (max-width:767px) {
    .mod-mainTtl .mod-h1 h1 {
        font-size: 24px;
        font-size: 6.4vw
    }
}

.mod-mainTtl .mod-h1>* {
    color: #fff
}

.effort {
    background-color: #ed0022
}

@media print,
screen and (min-width:768px) {
    .effort {
        padding: 80px 20px 90px
    }
}

@media only screen and (max-width:767px) {
    .effort {
        padding: 13.3333333333vw 0 16vw
    }
}

.effort_heading {
    position: relative
}

@media print,
screen and (min-width:768px) {
    .effort_heading {
        padding-bottom: 10px;
        margin-bottom: 20px
    }
}

@media only screen and (max-width:767px) {
    .effort_heading {
        padding-bottom: 4vw;
        margin-bottom: 5.3333333333vw
    }
}

.effort_heading>p {
    color: #fff;
    font-weight: bold
}

@media print,
screen and (min-width:768px) {
    .effort_heading>p {
        font-size: 22px;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .effort_heading>p {
        font-size: 17px;
        font-size: 4.5333333333vw
    }
}

.effort_heading:before {
    content: "";
    position: absolute;
    display: block;
    background-color: #fff
}

@media print,
screen and (min-width:768px) {
    .effort_heading:before {
        width: 28px;
        height: 1px;
        left: 50%;
        transform: translateX(-50%);
        bottom: 0
    }
}

@media only screen and (max-width:767px) {
    .effort_heading:before {
        width: 5.3333333333vw;
        height: 0.2666666667vw;
        left: 0;
        bottom: 0
    }
}

.effort_ttl>p {
    line-height: 1.7;
    color: #fff
}

@media print,
screen and (min-width:768px) {
    .effort_ttl>p {
        font-size: 30px;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .effort_ttl>p {
        font-size: 22px;
        font-size: 4.3vw
    }
}

@media print,
screen and (min-width:768px) {
    .effort_txt {
        margin-top: 30px
    }
}

@media only screen and (max-width:767px) {
    .effort_txt {
        margin-top: 6.6666666667vw
    }
}

.effort_txt>p {
    line-height: 1.9;
    color: #fff
}

@media print,
screen and (min-width:768px) {
    .effort_txt>p {
        font-size: 16px;
        text-align: center
    }
}

@media only screen and (max-width:767px) {
    .effort_txt>p {
        font-size: 14px;
        font-size: 3.7333333333vw
    }
}

@media print,
screen and (min-width:768px) {
    .effort_txt>p+p {
        margin-top: 15px
    }
}

@media only screen and (max-width:767px) {
    .effort_txt>p+p {
        margin-top: 4vw
    }
}







@media only screen and (max-width:767px) {
  .effort_list_item+.effort_list_item {
    position: relative
  }
}

.effort_list_img {
  flex-shrink: 0
}

@media print,
screen and (min-width:768px) {
  .effort_list_img {
    width: 100%;
    border: 1px solid #eee;
  }
}

@media only screen and (max-width:767px) {
  .effort_list_img {
    width: 37.3333333333vw
  }
}

.effort_list_img img {
  max-width: 100%
}



@media print,
screen and (min-width:768px) {
  .effort_list_img+.effort_list_txt {
    margin: 1vh 5%;
  }
}

@media only screen and (max-width:767px) {
  .effort_list_txt {
    margin-top: 2.6666666667vw;
    margin-left: 4vw
  }
}

@media print,
screen and (min-width:768px) {
  .effort_list_txt>p {
    font-size: 17px
  }
}

@media only screen and (max-width:767px) {
  .effort_list_txt>p {
    font-size: 14px;
    font-size: 3.7333333333vw
  }
}

@media print,
screen and (min-width:768px) {
  .effort_list_txt+.effort_list_img {
    margin-left: 25px
  }
}

@media only screen and (max-width:767px) {
  .effort_list_txt+.effort_list_img {
    margin-left: 4vw
  }
}







.effort_list_item .update {
    font-size: 12px;
    text-align: right;
    margin: 2vh auto 0;
    color: #909090;
}
.effort_list_list {
display: flex;
flex-wrap: wrap; 
margin-bottom: 12vh;
}

@media print, screen and (min-width:768px) {
  .effort_list_item {
    width: calc(33% - 2.3%);
    padding: 2%;
    margin: 0 1.3% 3vh;
    box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -moz-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -webkit-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -o-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -ms-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
  }
  .effort_list_list .effort_list_img+.effort_list_txt {
    margin: 1.5vh 2% 1vh;
  }
  .effort_list_item>a {
    align-items: center
  }
  .effort_list_txt .day {
    color: #ed0022;
    font-size: 90%;
  }
  .effort_list_txt .small {
    font-size: 85%;
    margin-top: 8px;
  }
}


@media only screen and (max-width:767px) {
  .effort_list .container {
    padding: 0 2vw;
  }
  .effort_list_list {
    margin-bottom: 15vh;
  }
  .effort_list_item {
    width: calc(50% - 2%);
    padding: 2%;
    margin: 0 1% 5vh;
    box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -moz-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -webkit-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -o-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
    -ms-box-shadow:0 0 20px -10px rgba(0,0,0,0.50);
  }
  .effort_list_item>a {
    align-items: center
  }
    .effort_list_txt .day {
        color: #ed0022;
        font-size: 12px;
    }
    .effort_list_txt .small {
        font-size: 13px;
        margin-top: 8px;
        line-height: 1.2;
    }
    .effort_list_txt .bold {
        font-size: 4.1vw;
        line-height: 1.2;
        margin-top: 8px;
    }
    .effort_list_list .effort_list_img+.effort_list_txt {
        margin: 1vh 2% 2vh;
    }
    .effort_list_list .effort_list_img {
        width: 100%;
        border: 1px solid #eee;
    }
}








/*# sourceMappingURL=index.css.map */