@import url('https://fonts.googleapis.com/css2?family=Inter:wght@700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@700&display=swap');

html,
body {
    width: 100%;
    font-size: 10px;
    margin: 0;
    font-family: "Noto Sans JP";
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

.uramcont {
    padding: 104px 0 0 0;
}

.commonPageTitle.SP {
    display: none;
}

.commonPageTitle.SP {
    display: none;
}

.commonPageTitle {
    display: table;
    width: 100%;
    height: 37.1rem;
    background: url(../images/pc_banner.webp) no-repeat center center;
    background-size: cover;
    line-height: 1.4;
    position: relative;
    z-index: -1;
}

.commonPageTitle .inTitle {
    position: absolute;
    display: inline-block;
    top: 29%;
    left: 12rem;
}

.commonPageTitle .inTitle span {

    font-family: 'Noto Sans JP', sans-serif;
    display: block;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 13px;
    color: #fff;
    font-size: 4.2rem;
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 6.4rem;
}

.commonPageTitle .inTitle p {
    font-family: 'Inter', sans-serif;
    max-width: 1080px;
    margin: 0 auto;
    padding: 0 13px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 3.8rem;
    letter-spacing: 0.7px;
}

.breakcump {
    width: 100%;
    max-width: 110rem;
    margin: 0 auto;
    background-color: #fff;
    box-shadow: 0 0.4rem 0.8rem rgba(125, 127, 216, 0.08), 0 0.8rem 1.6rem -0.4rem rgba(125, 127, 216, 0.1);
    border-radius: 0.8rem;
    padding: 2.4rem 0 2.4rem 3.6rem;
    margin-top: -45px;
}

.breakcump ul {
    display: flex;
    align-items: center;
    column-gap: 1.7rem;
    padding-left: 0;
    margin: 0;
}

.breakcump ul li {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    position: relative;
    padding-right: 0.52rem;
}

.breakcump ul li.home a {
    color: #54A734;
}

.breakcump ul li.last::after {
    content: '';
    background-image: url(../icons/icon_next.svg);
    background-repeat: no-repeat;
    position: absolute;
    width: 0.96rem;
    height: 1rem;
    right: -1.5rem;
    top: 30%;
    color: #54A734;
}

.breakcump ul li a {
    color: #737373;
    font-size: 1.4rem;
    text-decoration: none;
    font-family: 'Noto Sans JP';
}

.breakcump ul li:last-child a {
    pointer-events: none;
}

.chart {
    width: 100%;
    max-width: 114rem;
    padding-left: 2rem;
    padding-right: 2rem;
    margin: 0 auto;
    padding-top: 8.4rem;
    margin-bottom: 6.1rem;
}

.chart .top .chart1 {
    text-align: center;
}

.chart .top .line {
    display: flex;
    justify-content: space-between;
    align-self: center;
    flex-wrap: nowrap;
    gap: 0.5em 1em;
    margin-bottom: 4.4rem;
}

.chart .top .line .title {
    font-size: 2.6rem;
    line-height: 150%;
    font-weight: 700;
    color: #404040;
    letter-spacing: 0.04em;
}

.chart .top .line .date {
    font-weight: 400;
    font-size: 16px;
    line-height: 175%;
    color: #a8a29e;
    letter-spacing: 0.04em;
    margin-top: 1.1rem;
}

.chart .top .chart1 img {
    width: 100%;
    max-width: 92rem;
    object-fit: cover;
}

/*.chart .top .chart1 img.sp {
    display: none;
    max-width: 37.5rem;
}*/

.chart .top .chart1 .sp {
    display: none;
}

.content-table {
    padding: 8rem 0;
    margin-bottom: 8rem;
    margin-top: 8rem;
}

table {
    font-family: 'Noto Sans JP';
    border-collapse: collapse;
    width: 100%;
    max-width: 72.8rem;
    margin-left: auto;
    margin-right: auto;

}

td,
th {

    border-right: none;
    text-align: left;
    padding: 8px;
}

td {
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 169%;
    color: #525252;
    padding-left: 2rem;
    border-bottom: 1px solid #E5E5E5;
    letter-spacing: 0.5px;
}

td.first-child {
    border-top: 1px solid #E5E5E5;
}

th {
    border-left: none;
    border-right: none;
    background: #F5F5F5;
    width: 20rem;
    max-width: 100%;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    text-align: center;
    color: #404040;
    /* border-top: 0.5px solid #E5E5E5; */
    border-bottom: 0.5px solid #E5E5E5;
    padding: 0;

}

th.first-child {
    border-top: 0.5px solid #E5E5E5;
}


.link-btn {}

.link-btn .title {
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    font-size: 24px;
    line-height: 168%;
    text-align: center;
    color: #54A734;
    padding: 2.4rem 0;
}

.link-btn .btn-green {
    text-align: center;
}

.link-btn .btn-green a {
    font-family: 'Noto Sans JP';
    display: inline-flex;
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    color: #FFFFFF;
    padding: 2rem 3.2rem;
    background: #54A734;
    border-radius: 50px;
    border: 2px solid #54A734;
}

.link-btn .btn-green a.btn-one {
    margin-right: 4rem;
}

.link-btn .btn-green a:hover {
    background: #FFFFFF;
    transition: all 0.5s ease;
    color: #54A734;
  }
  


/* /////////// */
.chart .body .section {
    margin-top: 6rem;
}

.chart .body .section .content {
    margin-top: 2.4rem;
}

.chart .body .section .content .chart2 img {
    max-width: 100%;
}

.chart .body .section .content .sub {
    margin-bottom: 2.4rem;
}

.chart .body .section .content .sub h4 {
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 700;
    font-size: 16px;
    line-height: 175%;
    letter-spacing: 0.04em;
    color: #525252;
    padding-left: 2.8rem;
    margin-bottom: 1.6rem;
    position: relative;
}

.chart .body .section .content .sub h4::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 2rem;
    height: 2rem;
    background-image: url(../icons/ic_arrow-down.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: left center;
}

.chart .body .section .content .sub p {
    font-family: 'Noto Sans JP', sans-serif;
    color: #525252;
    font-size: 1.6rem;
    line-height: 180%;
    margin-bottom: 24px;
}

.chart .body .section .content .sub .btn-green {

    width: 100%;

}

.chart .body .section .content .sub .btn-green .btn {
    width: 100%;
    max-width: 253px;
    margin: auto;
    padding: 18px 32px;
    background: #54A734;
    border-radius: 50px;
    display: inline-block;
    font-family: 'Noto Sans JP';
    font-style: normal;
    font-weight: 700;
    font-size: 16px;
    line-height: 150%;
    letter-spacing: 0.04em;
    color: #FFFFFF;
    border: 2px solid #54A734;


}

.chart .body .section .content .sub .btn-green .btn:hover {
    background: #FFFFFF;
    color: #54A734;
    border: 2px solid #54A734;
    transition: all 0.5s ease;
}

.chart .body .chart2 img.sp {
    display: none;
}

.chart .body .section .title {
    font-family: 'Noto Sans JP', sans-serif;
    color: #404040;
    font-weight: 700;
    font-size: 2.6rem;
    line-height: 157%;
    letter-spacing: 0.04em;
    padding-bottom: 2.4rem;
    border-bottom: 0.1rem solid #eae9e7;
    position: relative;
}

.chart .body .section .title::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -0.1rem;
    height: 0.2rem;
    width: 2.4rem;
    background-color: #54a734;
}

.chart .bottom {
    padding-top: 19.8rem;
}

.chart .bottom .organizations {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1.6rem;
}

.chart .bottom .organizations .item {
    font-family: 'Noto Sans JP', sans-serif;
    /* width: calc((100% / 3) - 1.1rem); */
    width: 35.6rem;
    border: 0.1rem solid #e5e5e5;
    border-radius: 0.8rem;
    /* background-image: url(../icons/ic_arrow-right.svg);
    background-position: calc(100% - 2.8rem) center;
    background-repeat: no-repeat; */
    color: #525252;
    font-weight: 700;
    font-size: 1.6rem;
    line-height: 175%;
    cursor: pointer;
    position: relative;
    background: #FAFAFA;
    letter-spacing: 0.7px;
}
.chart .bottom .organizations a {
    width: 100%;
    display: inline-block;
    padding: 2.3rem 2.8rem;
    color: #525252;
}
.chart .bottom .organizations .item::after {
    content: "";
    position: absolute;
    right: 2.4rem;
    inset-block: 0;
    width: 31px;
    height: 22px;
    background-image: url(../icons/ic_arrow-right.svg);
    background-size: 28px 22px;
    background-repeat: no-repeat;
    background-position: 0 0;
    margin-block: auto;
}

.chart .bottom .organizations .item:hover {
    opacity: 1;
    background-color: #54a734;
    transition: color, background-color 0.3s ease;
}

.chart .bottom .organizations .item:hover a {
    opacity: 1;
    color: #fff;
    transition: color, background-color .3s ease;
}

.chart .bottom .organizations .item:hover::after {
    background-image: url(../icons/ic_arrow-right-white.svg);
    -webkit-animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards;
    animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards
}

.chart .bottom .link {
    font-family: 'Noto Sans JP', sans-serif;
    display: block;
    /* background-image: url(../icons/ic_arrow-right.svg);
    background-position: left center;
    background-repeat: no-repeat; */
    padding-left: 3.6rem;
    color: #525252;
    letter-spacing: 0.04em;
    font-size: 1.6rem;
    line-height: 175%;
    text-decoration: none;
    margin-top: 2.4rem;
    position: relative;
}

.chart .bottom .link::after {
    content: '';
    position: absolute;
    display: block;
    background-image: url(../icons/ic_arrow-right.svg);
    background-position: left center;
    background-repeat: no-repeat;
    top: 3px;
    left: 0;
    width: 2.8rem;
    height: 2.2rem;
}

.chart .bottom .link:hover {
    color: #54A734;
}

.chart .bottom .link:hover::after {
    background-image: url(../icons/ic_arrow-right.svg);
    -webkit-animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards;
    animation: iconMove .5s cubic-bezier(.215, .61, .355, 1) 0s 1 forwards
}

@media screen and (max-width: 1279px) {
    .commonPageTitle {
        background: url(/jrvanews/images/pc-middle.svg) no-repeat bottom center;
        border-bottom: 1px solid #54a734;
    }
}

@media screen and (max-width: 1100px) {
    .outline {
        padding: 0 2.4rem;
    }

    .breakcump {
        max-width: 90%;
    }

}

@media screen and (max-width: 1060px) {
    .chart {
        padding: 6.4rem 2.4rem 7rem;
        margin-bottom: 3.6rem;
    }

    .chart .bottom .organizations .item {
        width: calc(50% - 0.8rem);
    }
}

@media screen and (max-width: 1023px) {
    .uramcont {
        padding: 54px 0 10px 0;
    }
}

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

    .breakcump {
        padding: 1.5rem 1.4rem;
        /* max-width: 32.7rem; */
        height: 5.2rem;
        margin-top: -2rem;
        position: relative;
    }

    .breakcump ul {
        column-gap: 1.7rem;
    }

    .breakcump ul li {
        padding-right: 0.4rem;
        gap: 0.4rem;
    }

    .commonPageTitle.PC {
        display: none;
    }

    .commonPageTitle .inTitle {
        padding-top: 4.3rem;
        position: static;
        padding-left: 2.6rem;
    }

    .commonPageTitle .inTitle span {
        font-size: 2.6rem;
        padding: 0;
        line-height: 3.4rem;
        letter-spacing: 1px;
    }

    .commonPageTitle .inTitle p {
        font-size: 1.8rem;
        padding: 0;
        line-height: 3.9rem;
    }

    .commonPageTitle.SP {
        display: block;
        background: url(../images/sp_banner.webp) no-repeat bottom right;
        background-size: cover;
        height: 16rem;
        position: static;
    }
    .chart {
        padding: 3.5rem 2.4rem 7rem;
    }
    .chart .top .line {
        margin-bottom: 2.8rem;
        /* justify-content: center; */
    }

    .chart .top .line .title {
        font-size: 2.2rem;
        line-height: 3.3rem;
    }

    /*.chart .top .chart1 img.pc {
        display: none;
    }

    .chart .top .chart1 img.sp {
        display: block;
    }

    .chart .top .chart1 img.sp {
        margin: auto;
    }*/
    
    .chart .top .chart1 {
        position: relative;
    }
    
    .chart .top .chart1 .sp {
        display: block;
        margin-top: 1em;
        font-size: 1.1rem;
    }
    
    .chart .top .chart1 .icon {
        display: block;
        position: absolute;
        background: url("../icons/icon-swipe.svg") no-repeat center/30px rgba(19,78,74,0.9);
        width: 50px;
        height: 50px;
        border-radius: 5px;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        z-index: 2;
    }

    .chart .top .line .date {
        /* display: none; */
        font-size: 1.2rem;
    }
    
    .link-btn .title {
        font-size: 22px;
        padding: 24px 0;
        letter-spacing: 1px;
        margin-bottom: 1.6rem;
        line-height: 150%;
    }

    .link-btn .btn-green a {
        padding: 2rem 9.15rem;
        display: table;
    }
    .link-btn .btn-green {
        max-width: 327px;
        margin: auto;
    }
    .link-btn .btn-green a.btn-one {
        margin-right: 0;
        padding:2rem 2rem;
        width:100%;
        margin-bottom: 2rem;
    }
    .link-btn .btn-green a.btn-two {
        margin-right: 0;
        padding:2rem 2rem;
        width:100%;
    }
    .chart .body .section {
        margin-top: 4rem;
    }

    .chart .body .section .title {
        font-size: 2.2rem;
        line-height: 153%;
    }

    .chart .body .section .title::before {
        width: 2rem;
    }

    .content-table {
        padding: 4rem 0;
        margin-bottom: 4rem;
        margin-top: 4rem;
    }
/* //////// */
    .chart .body .section .content {
        margin-top: 2.5rem;
    }

    .chart .body .section .content .sub h4 {
        font-size: 1.4rem;
        line-height: 2.4rem;
        margin-bottom: 1.2rem;
    }

    .chart .body .section .content .sub p {
        font-size: 1.6rem;
        line-height: 28.8px;
        margin-bottom: 2.6rem;
    }

    .chart .body .section .content .chart2 {
        margin-bottom: 2.4rem;
    }

    .chart .body .section .content .sub .btn-green {
        max-width: 253px;
        margin: auto;
    }

    .chart .body .section .content .chart2 img {
        max-width: 32.8rem;
    }

    .chart .body .chart2 img.pc {
        display: none;
    }

    .chart .body .chart2 img.sp {
        display: block;
    }

    .chart .bottom .organizations {
        row-gap: 2.4rem;
    }

    .chart .bottom .organizations .item {
        width: 100%;
    }
    .chart .bottom .organizations a {
        padding: 2.3rem 2.4rem;
    }

    .chart .bottom .organizations .item::after {
        width: 2.7rem;
    }

    .chart .bottom {
        padding-top: 16rem;
    }
}

@media screen and (max-width: 480px) {
    th {
        width: 11rem;
        padding-left: 2rem;
        padding-right: 2rem;
    }
}

@keyframes iconMove {
    0% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }

    50.0% {
        -webkit-transform: translate3d(60%, 0, 0);
        transform: translate3d(60%, 0, 0);
        opacity: 0
    }

    50.1% {
        -webkit-transform: translate3d(-60%, 0, 0);
        transform: translate3d(-60%, 0, 0);
        opacity: 0
    }

    100% {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        opacity: 1
    }
}