@charset "UTF-8";

html {
    scroll-behavior: smooth;
}

main {
    overflow-x: unset;
}

@media screen and (max-width: 768px) {
    main {
        overflow-x: hidden;
    }
}

.contents {
    padding-bottom: 0;
}

@font-face {
  font-family: Braisetto;
  src: url("../font/braisetto-light.otf");
}



/* map */
.map h2 {
    font-size: 37px;
    text-align: center;
    margin-bottom: 60px;
    letter-spacing: 0.2em;
}

.map .txt {
    max-width: 700px;
    width: 100%;
    margin: 0 auto 40px;
}

.map .txt p {
    font-size: 19px;
}

.map figure .photo__capIn {
    bottom: 17%;
    right: 8%;
}

.map .caption {
    max-width: 700px;
    width: 100%;
    margin: 0 auto 20px;
    font-size: 12px;
}

.map .cap01 {
    position: relative;
    padding-left: 50px;
    margin-bottom: 20px;
}

.map .cap01 span {
    position: absolute;
    top: 0;
    left: 0;
}


@media screen and (max-width: 768px) {
    .map h2 {
        font-size: min(6vw);
    }

    .map .txt {
        margin: 20px 0;
    }

    .map .txt p {
        font-size: 14px;
    }

    .map .caption {
        font-size: 10px;
    }

    .map figure .photo__capIn {
        bottom: 4%;
        right: 3%;
    }
}



/* navTab */
.navTab {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 920px;
    margin: 60px auto;
}

.navTab a {
    width: 32%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    height: 104px;
    background: #5B5349;
    color: #fff;
    font-family: "Crimson Text", serif;
    font-size: 23px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
    transition: 0.2s;
}

.navTab a:nth-child(2) {
    background: #545C4F;
}

.navTab a:nth-child(3) {
    background: #1F294F;
}

.navTab a:hover {
    opacity: 0.8;    
}

@media screen and (max-width: 768px) {
    .navTab {
        margin: 40px auto;
    }

    .navTab a {
        height: 60px;
        font-size: min(3.5vw, 18px);
    }
}





/* mainGroup */

.mainGroup {
    display: flex;
}

.contentLeft {
    width: 50%;
    height: 100vh;
    position: sticky;
    top: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.contentLeft .image-container {
    position: relative;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transition: transform 0.4s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.contentLeft .titVer {
    position: absolute;
    top: 0;
    left: 0;
    width: 88px;
    height: 100%;
    color: #fff;
    display: flex;
    align-items: center;
    padding-top: 120px;

    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    -moz-writing-mode: tb-rl;
    writing-mode: sideways-rl;
    writing-mode: tb-rl;
}

.contentLeft .titVer .en {
    font-size: 27px;
    font-family: "Crimson Text", serif;
    letter-spacing: 0.1em;
}

.contentLeft .titVer .jp {
    font-size: 16px;
    margin-top: 20px;
}

#sticky-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.4s ease-in-out;
}

.contentRight {
    width: 50%;
    color: #fff;
}


.contentRight .station {
    background: #5b5349;
}

.contentRight .honchodori {
    background: #545c4f;
}

.contentRight .bay {
    background: #1f294f;
}



/* design-overlay  */
.design-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    text-align: center;
    transition: opacity 0.4s ease-in-out;
}

.design-overlay img {
    width: 100%;
}

.design-overlay h3 {
    position: absolute;
    top: 0;
    left: 0;
    width: 88px;
    height: 100%;
    background: #5B5349;
    color: #fff;
    display: flex;
    align-items: center;
    padding-top: 120px;
    font-size: 27px;
    font-family: "Crimson Text", serif;
    letter-spacing: 0.1em;


    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    -moz-writing-mode: tb-rl;
    writing-mode: sideways-rl;
    writing-mode: tb-rl;
}

.design-overlay h3 span {
    font-size: 16px;
    margin-top: 20px;
}

.design-overlay::after {
    content: '';
    position: absolute;
    bottom: 20px;
    left: 108px;
    width: 26px;
    height: 36px;
    background: url(../imgs/station_map_ic.svg) no-repeat top left / 100% 100%;
    z-index: 2;
}

.designHonchodori::after {
    background-image: url(../imgs/honchodori_map_ic_01.svg);
}


.designHonchodoriColumn01::after {
    background-image: url(../imgs/honchodori_map_ic_02.svg);
    opacity: 0.6;
}

.designHonchodoriColumn02::after {
    bottom: 20%;
    left: 30%;
    background-image: url(../imgs/honchodori_map_ic_02.svg);
}

.designBay::after {
    background-image: url(../imgs/bay_map_ic.svg);
}

@media screen and (max-width: 1500px) {
    .contentLeft .titVer .en {
        font-size: 2vw;
    }

    .contentLeft .titVer .jp {
        font-size: 1vw;
    }
}

@media screen and (max-width: 768px) {

    .design-overlay {
        position: relative;
        z-index: 1;
        height: auto;
        opacity: 1 !important;        
        width: calc(100% + 30px);
        margin: 0 0 15% -15px;
    }

    .design-overlay::after {
        width: 20px;
        height: 28px;
        bottom: 72px !important;
        left: 13vw !important;
    }

    .design-overlay h3 {
        width: 11vw;
        font-size: min(4.5vw, 27px);
        bottom: 0;
        padding-top: 50px;
    }

    .design-overlay h3 span {
        font-size: min(3vw, 16px);
    }

    .contentLeft .titVer {
        display: none;
    }
}

/* sideNav */
.sideNav {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-direction: column;
    height: 300px;
    width: 88px;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 5;
}

.sideNav a {
    width: 100%;
    height: 33.3333%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    line-height: 1.4;
    text-align: center;
    font-family: "Crimson Text", serif;
    font-size: 14px;
    transition: 0.2s;
    letter-spacing: 0;
    border-top: 1px solid #6d6d6d;

    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: tb-rl;
    -moz-writing-mode: tb-rl;
    writing-mode: sideways-rl;
    writing-mode: tb-rl;
}

.sideNav a:last-child {
    border-bottom: 1px solid #6d6d6d;
}

.sideNav a:hover {
    opacity: 0.8
}

.sideNav .btnStation {
    background: #5B5349;
}

.sideNav .btnHonchodori {
    background: #545C4F;
}

.sideNav .btnBay {
    background: #1F294F;
}

@media screen and (max-width: 1500px) {
}
@media screen and (max-width: 768px) {

    .sideNav {
        flex-direction: unset;
        width: calc(100% - 11vw);
        height: auto;
        margin: 0 0 0 auto;
        padding: 0 15px;
        left: 0;
        right: 0;
        bottom: 10px;
        justify-content: space-between;
    }

    .sideNav a {
        font-size: 3vw;
        writing-mode: unset;
        width: 32%;
        height: 52px;
        border: 0 !important;
    }

}


/* design column */
.design-overlay .inner {
    position: absolute;
    width: calc(100% - 88px);
    left: 88px;
    padding: 5%;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    color: #231815;
}

.designHonchodoriColumn02 .inner {
    top: 60px;
    transform: translateY(0);
    -webkit-transform: translateY(0);
}

.design-overlay .inner .titColumn {
    text-align: center;
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
}

.design-overlay .inner .titColumn span {
    display: block;
}

.design-overlay .inner .titColumn .en {
    font-family: 'Braisetto', sans-serif;
    line-height: 1;
    padding-bottom: 10px;
    margin-bottom: 10px;
    border-bottom: 1px solid #796A56;
    font-size: 42px;
    letter-spacing: 0.2em;
}

.design-overlay .inner .titColumn .jp {
    font-family: 'Noto Sans JP', sans-serif;
    letter-spacing: 0.2em;
    font-size: 16px;
}

.design-overlay .inner h4 {
    text-align: center;
    font-size: 22px;
    margin: 40px 0;
}

.design-overlay .inner .innerTxt {
    text-align: center;
    margin-bottom: 40px;
}

.design-overlay .inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.design-overlay .inner ul li {
    width: 32%;
}

.design-overlay .inner ul li .caption {
    line-height: 1.2;
    margin-top: 5px;
}

@media screen and (max-width: 1300px) {
    .design-overlay .inner h4 {
        font-size: 18px;
        margin: 80px 0 20px;
    }

    .design-overlay .inner .innerTxt {
        font-size: 14px;
    }
}

@media screen and (max-width: 768px) {
    .design-overlay .inner {
        transform: translateY(0);
        -webkit-transform: translateY(0);
        top: 0;
        left: 11vw;        
        width: calc(100% - 11vw);
        padding: 3vw;
    }

    .design-overlay .inner .titColumn .en {
        font-size: min(10vw, 42px);
        margin-bottom: 2vw;
        padding-bottom: 2vw;
    }

    .design-overlay .inner .titColumn .jp {
        font-size: min(3vw, 16px);
    }

    .design-overlay .inner h4 {
        margin: 10px 0 25px;
        font-size: min(4vw, 22px);

    }

    .design-overlay .inner .innerTxt {
        font-size: min(3vw, 16px);
        text-align: left;
        margin-bottom: 10px;
    }

    .design-overlay .inner .caption {
        font-size: min(2.5vw,  10px);
    }

    .design-overlay .inner ul li {
        width: 36%;
    }

    .design-overlay .inner ul li .caption {
        font-size: min(2vw,  10px);
    }
}






.designStation {
    opacity: 1;
}

.designHonchodori h3,
.designHonchodoriColumn01 h3,
.designHonchodoriColumn02 h3 {
    background: #545C4F;    
}

.designBay h3 {
    background: #1F294F;
}




.contentRight article {
    padding: 12% 8% 6%;
    color: #fff;
    letter-spacing: 0.1em;
}

.contentRight article figure {
    overflow: hidden;
}

.contentRight article > figure .caption {
    font-size: 16px !important;
}

.contentRight article > figure .caption span {
    font-size: 10px !important;
}


.contentRight article .tit18,
.contentRight article .tit22 {
    margin-bottom: 50px;
    letter-spacing: 0.3em;
    position: relative;
    z-index: 1;
}

.contentRight article .tit18 {
    font-size: 18px;
}

.contentRight article .tit22 {
    font-size: 22px;
}

.contentRight article .icRound::before {
    content: ""; 
    display: block; 
    width: 160px; 
    height: 160px; 
    background: url("../imgs/circle.svg") no-repeat top left/100% 100%; 
    position: absolute; 
    bottom: -47%;
    left: -40px; 
    z-index: -1;
}

.contentRight article .photoBig {
    margin-bottom: 100px;
}

.contentRight article .txt {
    margin-bottom: 40px;
}

.contentRight article .listPlace {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-bottom: 100px;
}

.contentRight article .listPlace.paddingBot0 {
    margin-bottom: 0;
}

.contentRight article .listPlace li {
    width: 48%;
    margin-right: 4%;
    margin-bottom: 30px;
}

.contentRight article .listPlace li:nth-child(2n) {
    margin-right: 0;
}

.contentRight article .listPlace li .desc {
    margin-top: 10px;
    position: relative;
    padding-left: 25px;
    line-height: 1.5;
    font-size: 16px;
}

.contentRight article .listPlace li .desc .no {
    position: absolute;
    top: 2px;
    left: 0;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 11px;    
    background: #fff;
    color: #000;
}

.contentRight article .listPlace li .desc .descLocate {
    font-size: 18px;
}

.contentRight article .listPlace li .desc .descLocate span {
    font-size: 12px;
}

.contentRight article .listPlace li .desc .descTxt2 {
    margin-top: 15px;
    font-size: 14px;
}

.contentRight article .listPlace li .desc .caption {
    font-size: 10px !important;
}

.contentRight article .listPlace .videoWrap {
    width: 100%;
}

.contentRight article .listPlace .videoWrap video {
    width: 100%;
}


.contentRight #station .icRound::before {
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
}

.contentRight #honchodori .imgSide {
    width: 100%;
    margin-right: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contentRight #honchodori .imgSide .imgSideLeft {
    width: 58%;
}

.contentRight #honchodori .imgSide .imgSideRight {
    width: 40%;
}

.contentRight #honchodori .imgSide .imgSideRight .videoWrap {
    margin-bottom: 7px;
}

.contentRight #honchodori .imgSide .desc ul {
    display: block;
    width: 100%;
    margin-top: 20px;
}

.contentRight #honchodori .imgSide .desc ul li {
    position: relative;
    width: 100%;
    margin: 0;
    font-size: 12px;
}

.contentRight #honchodori .imgSide .desc ul li:nth-child(3) {
    padding-left: 85px;
}


.contentRight #honchodori .imgSide .desc ul li:nth-child(3) span {
    position: absolute;
    top: 0;
    left: 0;
}

.contentRight #honchodori .imgSide .desc .descLocate {
    margin-top: 15px;
}

.contentRight #honchodori .imgSide img {
    width: 100%;
}

.contentRight #honchodori .imgSide01 .imgSideRight .photo {
    margin-top: 10px;
}

.contentRight #honchodori .imgSide01 .imgSideRight:first-of-type {
    margin-top: 0;
}

.contentRight #honchodori .imgSide01 .imgSideRight {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contentRight #honchodori .imgSide01 .imgSideRight .videoWrap {
    width: 100%;
    margin-bottom: 10px;
}

.contentRight #honchodori .imgSide01 .imgSideRight .photo {
    width: calc(50% - 5px);
}

.contentRight #honchodori .imgSide01 .imgSideRight .photo:last-of-type {
    width: 100%;
}


.contentRight #honchodori .imgSide02 .imgSideRight {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}


.contentRight #honchodori .imgSide02 .imgSideRight .videoWrap {
    width: 100%;
    margin-bottom: 10px;
}

.contentRight #honchodori .imgSide02 .imgSideRight .photo {
    width: calc(50% - 5px);
}

.contentRight #honchodori .imgSide03 .imgSideRight {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contentRight #honchodori .imgSide03 .imgSideRight .photo:first-of-type {
    width: 100%;
    margin-bottom: 10px;
}

.contentRight #honchodori .imgSide03 .imgSideRight .photo {
    width: calc(50% - 5px);
}

.contentRight #honchodori .imgSide03 .imgSideRight .caption {
    width: 100%;
}

.contentRight #honchodori .videoWrap {
    width: 100%;
}

.contentRight #honchodori .videoWrap video {
    width: 100%;
}







.contentRight #honchodoriCol01 .listPlace li {
    width: 49% !important;
    margin-right: 2% !important;
}

.contentRight #honchodoriCol01 .listPlace li:nth-child(2n) {
    margin-right: 0 !important;
}


.contentRight #honchodoriCol01 .listPlace li .desc {
    padding-left: 0;
}


.contentRight #honchodoriCol02 .contentRight .itemLeft .inner {
    position: absolute;
    width: calc(100% - 88px);
    left: 88px;
    padding: 5%;
    top: 0;
    color: #231815;
}

.contentRight #honchodoriCol02 .contentRight .itemLeft .inner .titColumn {
    text-align: center;
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
}

.contentRight #honchodoriCol02 .listPlace {
    justify-content: space-between;
}

.contentRight #honchodoriCol02 .listPlace li {
    width: 31% !important;
    margin-right: 0 !important;
}
.contentRight #honchodoriCol02 .listPlace li:nth-child(1) {
    width: 55% !important;
}
.contentRight #honchodoriCol02 .listPlace li:nth-child(2),
.contentRight #honchodoriCol02 .listPlace li:nth-child(3) {
    width: 20% !important;
}
.contentRight #honchodoriCol02 .listPlace li:nth-child(4),
.contentRight #honchodoriCol02 .listPlace li:nth-child(5) {
    margin-top: 7%;
}
.contentRight #honchodoriCol02 .listPlace li:last-child .desc{
    padding-left: 0;
}

.contentRight #honchodoriCol02 .caption2 {
    font-size: 12px;
    margin-top: 10px;
}

.contentRight #honchodoriCol02 .tit22 {
    text-align: center;
}

.contentRight #honchodoriCol02 .txt {
    text-align: center;
}

.contentRight #bay .videoWrap {
    position: relative;
    width: 100%;
}

.contentRight #bay .videoWrap video {
    width: 100%;
}
.contentRight #bay .videoWrap .caption {
    position: absolute;
    left: 10px;
    bottom: 5px;
}

.contentRight #bay .listPlace li {
    width: 100% !important;
    margin: 0 0 60px !important;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.contentRight #bay .listPlace li .videoWrap,
.contentRight #bay .listPlace li figure {
    width: 52%;
}
.contentRight #bay .listPlace li .videoWrap video,
.contentRight #bay .listPlace li figure img {
    width: 100%;
}




.contentRight #bay .listPlace li .desc {
    width: 46%;
}

.contentRight #bay .listPlace li .descTxt {
    font-size: 18px;
}

.contentRight #bay .listPlace li .descTxt2 {
    font-size: 14px;
}

.contentRight #bay .listPlace li .desc .caption {
    margin-bottom: 10px;
}

.contentRight #bay .listPlace .child01 {
    display: block;
}

.contentRight #bay .listPlace .child01 figure {
    width: 100%;
    margin-bottom: 10px;
}

.contentRight #bay .listPlace .child01 .desc {
    width: 100%;
    margin-bottom: 10px;
}

.contentRight #bay .listPlace .child01 .titBg {
    background: #CDD8D9;
    color: #231815;;
    font-size: 14px;
    text-align: center;
    padding: 5px;
    margin: 20px 0;
    font-weight: 500;
}

.contentRight #bay .listPlace .child01 ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 20px;
}

.contentRight #bay .listPlace .child01 ul li {
    width: 49% !important;
}

.contentRight #bay .listPlace .child02 figure {
    order: 2;
}

.contentRight #bay .listPlace .child02 .desc {
    order: 1;
}

.contentRight #bay .listPlace .child04 figure {
    order: 2;
}

.contentRight #bay .listPlace .child04 .desc {
    order: 1;
}

.contentRight #bay .photoFull {
    margin-bottom: 40px;
}

.contentRight #bay .listPlace .child06 .videoWrap {
    order: 2;
}

.contentRight #bay .listPlace .child06 .desc {
    order: 1;
    padding-left: 0;
}

@media screen and (max-width: 1600px) {
    .contentRight article {
        padding: 10% 6% 6%;
    }

    .contentRight article .icRound::before {
        width: 120px;
        height: 120px;
        left: -20px;
        bottom: -39%;
    }

    .contentRight article .photoBig {
        margin-bottom: 60px;
    }

    .contentRight article .listPlace {
        margin-bottom: 60px;
    }
}

@media screen and (max-width: 768px) {
    .mainGroup {
        display: block;
    }

    .contentLeft {
        display: none;
    }

    .contentLeft {
        width: 100%;
    }

    .contentRight {
        width: 100%;
        position: relative;
        z-index: 1;
    }

    .contentRight article > figure .caption {
        font-size: 14px !important;
    }

    .contentRight article {
        padding: 0 15px 10%;
    }

    .contentRight article .txt {
        font-size: 14px;
    }

    .contentRight article .tit22 {
        font-size: min(4.5vw, 22px);
        margin-bottom: 30px;
    }

    .contentRight article .tit18 {
        font-size: min(4vw, 18px);
    }

    .contentRight article .listPlace li {
        width: 100% !important;
        margin: 0 auto 30px !important;
    }   

    .contentRight article .listPlace li figure {
        text-align: center;
    }

    .contentRight article .listPlace li figure img {
        width: 100%;
    }

    .contentRight article .icRound::before {        
        width: 100px;
        height: 100px;
        left: -10px;
        top: 50% !important;
        transform: translateY(-50%) !important;
        -webkit-transform: translateY(-50%) !important;
    }

    .contentRight article .listPlace li .desc .descTxt {
        font-size: 14px;
    }

    .contentRight article .listPlace li .desc .descLocate {
        font-size: 16px;
    }

    .contentRight #honchodori .imgSide .imgSideLeft {
        width: 100%;
        order: 2;
    }

    .contentRight #honchodori .imgSide .imgSideRight {
        width: 100%;
        order: 1;
        margin-bottom: 10px;
    }

    .contentRight #honchodori .imgSide .desc .descTxt > span {
        margin-top: 10px;
    }

    .contentRight #honchodori .imgSide .desc ul li {
        margin-bottom: 0 !important;
    }

    .contentRight #honchodori .imgSide .desc > .caption {
        margin-top: 10px;
    }

    .contentRight #honchodoriCol01 .listPlace li {
        width: 100% !important;
        margin: 0 auto 30px !important;
    }

    .contentRight #honchodoriCol02 .listPlace li {
        width: 100% !important;
        margin: 0 auto 30px !important;
    }

    .contentRight #honchodoriCol02 .listPlace li:nth-child(1),
    .contentRight #honchodoriCol02 .listPlace li:nth-child(2),
    .contentRight #honchodoriCol02 .listPlace li:nth-child(3), 
    .contentRight #honchodoriCol02 .listPlace li:nth-child(4) {
        width: 100% !important;
    }

    .contentRight #honchodoriCol02 .listPlace li:last-child figure img {
        width: 70%;    
        max-width: 300px;
    }

    .contentRight #honchodoriCol02 .txt {
        text-align: left;
    }

    .contentRight #bay .listPlace li {
        display: block;
        margin:0 0 30px !important;
    }

    .contentRight #bay .listPlace li figure {
        width: 100%;
    }

    .contentRight #bay .listPlace li .desc {
        width: 100%;
    }

    .contentRight #bay .listPlace li .descTxt {
        font-size: 14px;
    }

    .contentRight #bay .photoFull img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        height: 55vw;

    }

    .contentRight #bay .listPlace .child03 .boxBg .colL {
        width: 100%;
        margin-bottom: 20px;
    }

    .contentRight #bay .listPlace .child03 .boxBg .colR {
        width: 100%;
    }

    .contentRight #bay .listPlace .child01 ul li {
        width: 100% !important;
        margin: 0 !important;
    }


    .contentRight #bay .listPlace li .desc .caption {
        font-size: 10px !important;
        display: block;
        margin-bottom: 10px;
    }

    .contentRight #bay .listPlace .child03 .boxBg .colL .caption {
        margin-top: 0;
    }

    .contentRight #bay .listPlace li .videoWrap, 
    .contentRight #bay .listPlace li figure {
      width: 100%;
  }
}

/* box-claim */
.box-claim {
    max-width: 1000px;
    width: 100%;
    margin: 80px auto;
    border: 1px solid #525554;
    padding: 40px 50px;
}

.box-claim .claim-tit {
    font-size: 23px;
    text-align: center;
    padding: 0 0 30px;
    margin: 0 0 40px;
    border-bottom: 1px solid #000;
    letter-spacing: 0.12em;
}

.box-claim .list-rate {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.box-claim .list-rate .rate {
    width: 44%;
    text-align: center;
}

.box-claim .tit-rate {
    font-size: 21px;
    line-height: 1.2;
    margin: 0 0 20px;
    font-weight: 500;
}

.box-claim .tit-rate span {
    display: inline-block;
    padding-top: 6px;
    color: #ac5943;
}

.box-claim .list-rate .rate table {
    width: 100%;
}

.note-claim {
    text-align: center;
    font-size: 12px;
}

.ranking-table {
    margin: 40px auto 60px;
}

.ranking-table-02 {
    max-width: 50%;
}

.ranking-table table {
    border-collapse: collapse;
    border: 1px solid #525554;
}

.ranking-table td {
    border: 1px solid #525554;
    padding: 0;
    min-width: 70px;
}

.cell {
    display: grid;
    grid-template-columns: 40px 1fr;
    min-height: 40px;
}

.cell.highlight {
    grid-template-columns: 60px 1fr;
}

.rank,
.name {
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    white-space: nowrap;
}

.rank {
    background: #efefef;
    font-size: 14px;
}

.name {
    background: #fff;
    font-size: 14px;
    box-shadow: inset 1px 0 0 #525554;
}

.highlight .name {
    font-weight: bold;
}

.cell.highlight .rank,
.cell.highlight .name {
    background: #85262a;
    color: #fff;
}

.cell.highlight .name {
    box-shadow: none;
    font-size: 18px;
}

.note {
    font-size: 12px;
    text-align: right;
    margin-top: 0px;
}

.cell.highlight-sm {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    background: #85262a;
    position: relative;
}

.cell.highlight-sm .rank {
    position: relative;
}

.cell.highlight-sm .rank::after {
    position: absolute;
    content: '';
}

@media screen and (max-width: 768px) {
    .box-claim {
        padding: 30px 20px;
        margin: 30px auto;
    }

    .box-claim .claim-tit {
        font-size: 20px;
        padding-bottom: 20px;
        margin-bottom: 30px;
    }

    .box-claim .list-rate .rate {
        width: 100%;
    }

    .box-claim .list-rate .rate:not(:first-of-type) {
        margin-top: 40px;
    }

    .box-claim .list-rate .rate .photo {
        margin-bottom: 20px;
    }

    .box-claim .tit-rate {
        font-size: 18px;
        margin-bottom: 25px;
    }

    .ranking-table {
        margin: 0 auto;
        padding: 0;
        

    }

    .ranking-table td {
        min-width: 200px;
    }

    .cell {
        grid-template-columns: 60px 1fr;
        min-height: 30px;
    }

    .name {
        padding: 0 5px;
    }

    .note-claim {
        text-align: left;
        font-size: 10px;
        margin-top: 20px;
    }

    .ranking-table-02 {
        max-width: 100%;
    }

}

/* end box-claim */