@media screen and (min-width: 992px) and (max-width: 1199px) {}

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

@media screen and (min-width: 1025px) {}

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

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

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

.wrapper {
    overflow-x: hidden;
}


/* コンテンツ幅 */

.cnt {
    width: 1170px;
    max-width: 100%;
    margin-inline: auto;
}

.cntS {
    width: 720px!important;
    max-width: 100%;
    margin-inline: auto;
}

.cntM {
    width: 840px!important;
    max-width: 100%;
    margin-inline: auto;
}

.cntL {
    width: 980px!important;
    max-width: 100%;
    margin-inline: auto;
}

.cntXl {
    width: 1370px!important;
    max-width: 100%;
    margin-inline: auto;
}

.w100 {
    width: 100%;
}

@media screen and (max-width: 1170px) {
    .cnt {
        width: auto;
        padding-inline: 20px;
    }
}

@media screen and (max-width: 767px) {
    .w100sp {
        width: 100%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .cnt {
        padding-inline: 30px;
    }
}


/* 余白 */

.margin {
    margin-block: 5vw;
}

.padding {
    padding-block: 5vw;
}

@media screen and (max-width: 767px) {
    .margin {
        margin-block: 50px;
    }
    .padding {
        padding-block: 50px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .margin {
        margin-block: 60px;
    }
    .padding {
        padding-block: 60px;
    }
}

.marginS {
    margin-block: 2.5vw;
}

.paddingS {
    padding-block: 2.5vw;
}

.marginW {
    margin-block: 7.5vw;
}

.paddingW {
    padding-block: 7.5vw;
}


/* 表示・非表示 */

@media screen and (min-width: 1281px) {
    .note {
        display: none !important;
    }
    .tabNote {
        display: none !important;
    }
    .notDesk {
        display: none !important;
    }
}

@media screen and (max-width: 1280px) {
    .notDesk {
        display: block !important;
    }
}

@media screen and (min-width: 1279px) {
    .tabNote {
        display: none !important;
    }
    .note {
        display: none !important;
    }
}

@media screen and (min-width: 960px) {
    .tab {
        display: none !important;
    }
    .spTab {
        display: none !important;
    }
}

@media screen and (max-width: 959px) {
    .spTab {
        display: block !important;
    }
    .note {
        display: none !important;
    }
}

@media screen and (min-width: 768px) {
    .sp {
        display: none !important;
    }
}

@media screen and (max-width: 767px) {
    .pc {
        display: none !important;
    }
    .tab {
        display: none !important;
    }
    .notSp {
        display: none !important;
    }
    .tabNote {
        display: none !important;
    }
}

@media (min-width: 960px) and (max-width: 1280px) {
    .note {
        display: block !important;
    }
}

@media (min-width: 768px) and (max-width: 1280px) {
    .tabNote {
        display: block !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .tab {
        display: block !important;
    }
    .notTab {
        display: none !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .tab {
        display: block !important;
    }
    .notTab {
        display: none !important;
    }
}


/* 配置 */

.text-center {
    text-align: center;
}

.text-left {
    text-align: left;
}

.text-right {
    text-align: right;
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .text-center-tab {
        text-align: center;
    }
    .text-left-tab {
        text-align: left;
    }
}

@media screen and (max-width: 767px) {
    .text-center-sp {
        text-align: center;
    }
    .text-left-sp {
        text-align: left;
    }
}


/* float */

.left {
    float: left;
}

.right {
    float: right;
}


/* clearfix */

.clearfix {
    display: block;
}

.clearfix::before,
.clearfix::after {
    content: "";
    display: block;
    clear: both;
}


/* 余白 */

.m0 {
    margin: 0;
}

.p0 {
    padding: 0;
}

.mt0 {
    margin-top: 0!important;
}

.pt0 {
    padding-top: 0!important;
}

.pb0 {
    padding-bottom: 0 !important;
}

.mb0 {
    margin-bottom: 0 !important;
}

.mb5 {
    margin-bottom: 5px !important;
}

.mb10 {
    margin-bottom: 10px !important;
}

.mb15 {
    margin-bottom: 15px !important;
}

.mb20 {
    margin-bottom: 20px !important;
}

.mb25 {
    margin-bottom: 25px !important;
}

.mb30 {
    margin-bottom: 30px !important;
}

.mb35 {
    margin-bottom: 30px !important;
}

.mb40 {
    margin-bottom: 40px !important;
}

.mb45 {
    margin-bottom: 40px !important;
}

.mb50 {
    margin-bottom: 50px !important;
}

.mb60 {
    margin-bottom: 60px !important;
}

.mb70 {
    margin-bottom: 70px !important;
}

.mb80 {
    margin-bottom: 80px !important;
}

.mb90 {
    margin-bottom: 90px !important;
}

.mb100 {
    margin-bottom: 100px;
}

@media screen and (max-width: 767px) {
    .mbSp0 {
        margin-bottom: 0px !important;
    }
    .mbSp5 {
        margin-bottom: 5px !important;
    }
    .mbSp10 {
        margin-bottom: 10px !important;
    }
    .mbSp15 {
        margin-bottom: 15px !important;
    }
    .mbSp20 {
        margin-bottom: 20px !important;
    }
    .mbSp25 {
        margin-bottom: 25px !important;
    }
    .mbSp30 {
        margin-bottom: 30px !important;
    }
    .mbSp35 {
        margin-bottom: 35px !important;
    }
    .mbSp40 {
        margin-bottom: 40px !important;
    }
    .mbSp45 {
        margin-bottom: 45px !important;
    }
    .mbSp50 {
        margin-bottom: 50px !important;
    }
    .mbSp60 {
        margin-bottom: 60px !important;
    }
    .mbSp70 {
        margin-bottom: 70px !important;
    }
    .mbSp80 {
        margin-bottom: 80px !important;
    }
    .mbSp90 {
        margin-bottom: 90px !important;
    }
    .mbSp100 {
        margin-bottom: 100px !important;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .mbTab0 {
        margin-bottom: 0 !important;
    }
    .mbTab5 {
        margin-bottom: 5px !important;
    }
    .mbTab10 {
        margin-bottom: 10px !important;
    }
    .mbTab15 {
        margin-bottom: 15px !important;
    }
    .mbTab20 {
        margin-bottom: 20px !important;
    }
    .mbTab25 {
        margin-bottom: 25px !important;
    }
    .mbTab30 {
        margin-bottom: 30px !important;
    }
    .mbTab35 {
        margin-bottom: 35px !important;
    }
    .mbTab40 {
        margin-bottom: 40px !important;
    }
    .mbTab45 {
        margin-bottom: 45px !important;
    }
    .mbTab50 {
        margin-bottom: 50px !important;
    }
    .mbTab60 {
        margin-bottom: 60px !important;
    }
    .mbTab70 {
        margin-bottom: 70px !important;
    }
    .mbTab80 {
        margin-bottom: 80px !important;
    }
    .mbTab90 {
        margin-bottom: 90px !important;
    }
    .mbTab100 {
        margin-bottom: 100px;
    }
}

@media screen and (max-width: 959px) {
    .mbSpTab0 {
        margin-bottom: 0 !important;
    }
    .mbSpTab5 {
        margin-bottom: 5px !important;
    }
    .mbSpTab10 {
        margin-bottom: 10px !important;
    }
    .mbSpTab15 {
        margin-bottom: 15px !important;
    }
    .mbSpTab20 {
        margin-bottom: 20px !important;
    }
    .mbSpTab25 {
        margin-bottom: 25px !important;
    }
    .mbSpTab30 {
        margin-bottom: 30px !important;
    }
    .mbSpTab35 {
        margin-bottom: 35px !important;
    }
    .mbSpTab40 {
        margin-bottom: 40px !important;
    }
    .mbSpTab45 {
        margin-bottom: 45px !important;
    }
    .mbSpTab50 {
        margin-bottom: 50px !important;
    }
    .mbSpTab60 {
        margin-bottom: 60px !important;
    }
    .mbSpTab70 {
        margin-bottom: 70px !important;
    }
    .mbSpTab80 {
        margin-bottom: 80px !important;
    }
    .mbSpTab90 {
        margin-bottom: 90px !important;
    }
    .mbSpTab100 {
        margin-bottom: 100px;
    }
}

@media screen and (min-width: 960px) and (max-width: 1279px) {
    .mbNote0 {
        margin-bottom: 0px !important;
    }
    .mbNote10 {
        margin-bottom: 10px !important;
    }
    .mbNote20 {
        margin-bottom: 20px !important;
    }
    .mbNote30 {
        margin-bottom: 30px !important;
    }
    .mbNote40 {
        margin-bottom: 40px !important;
    }
    .mbNote50 {
        margin-bottom: 50px !important;
    }
    .mbNote80 {
        margin-bottom: 80px !important;
    }
    .mbNote100 {
        margin-bottom: 100px !important;
    }
}


/* flex・Grid */

.flex {
    display: flex;
}

.justCenter {
    justify-content: center;
}

.justEnd {
    justify-content: flex-end;
}

.justBetween {
    justify-content: space-between;
}

.alignCenter {
    align-items: center;
}

.alignStart {
    align-items: flex-start;
}

.alignEnd {
    align-items: flex-end;
}

.flexReverse {
    flex-flow: row-reverse;
}

.flexWrap {
    flex-wrap: wrap;
}

.flexCol {
    width: 100%;
}

.rw {
    margin-left: -15px;
    margin-right: -15px;
}

.col {
    padding-left: 15px;
    padding-right: 15px;
}

.col1 {
    width: 100%;
}

.col2 {
    width: 50%;
}

.col3 {
    width: 33.3333%;
}

.col-3 {
    width: 66.6666%;
}

.col4 {
    width: 25%;
}

.col-4 {
    width: 75%;
}

.col5 {
    width: 20%;
}

.col-5 {
    width: 80%;
}

.col6 {
    width: 16.666%;
}

.col-6 {
    width: 83.333%;
}

.col3-2 {
    width: 60%;
}

.col-3-2 {
    width: 40%;
}

@media screen and (max-width: 767px) {
    .flexSplit {
        width: 100%;
    }
    .flexPc {
        display: block;
    }
    .flexWrapSp {
        flex-wrap: wrap;
    }
    .bgFixed {
        background-attachment: unset;
    }
    .flexReverse {
        flex-flow: row;
    }
    .flexSp {
        display: flex;
    }
    .colSp1 {
        width: 100%;
        padding-inline: 0;
    }
    .colSp2 {
        width: 50%;
    }
    .colSp3 {
        width: 33.3333%;
    }
    .colSp-3 {
        width: 66.6666%;
    }
    .colSp4 {
        width: 25%;
    }
    .colSp-4 {
        width: 75%;
    }
    .colSp5 {
        width: 20%;
    }
    .colSp-5 {
        width: 80%;
    }
    .colSp6 {
        width: 16.666%;
    }
    .colSp-6 {
        width: 83.333%;
    }
    .colSp3-2 {
        width: 60%;
    }
    .colSp-3-2 {
        width: 40%;
    }
}

@media screen and (min-width: 768px) and (max-width: 959px) {
    .colMd1 {
        width: 100%!important;
    }
    .colMd2 {
        width: 50%!important;
    }
    .colMd3 {
        width: 33.3333%!important;
    }
    .colMd-3 {
        width: 66.6666%!important;
    }
    .colMd4 {
        width: 25%!important;
    }
    .colMd-4 {
        width: 75%!important;
    }
    .colMd5 {
        width: 20%!important;
    }
    .colMd-5 {
        width: 80%!important;
    }
    .colMd6 {
        width: 16.666%;
    }
    .colMd-6 {
        width: 83.333%;
    }
    .colMd3-2 {
        width: 60%;
    }
    .colMd-3-2 {
        width: 40%;
    }
    .flexNotTab {
        display: block!important;
    }
}