/* Colors */
.fdv_green { /* 順次「.teal」に移行し、いずれは削除 */
    color: #009E99 !important;
}
.fdv_blue {
    color: #0096D6 !important;
}
.fdv_yellow {
    color: #FF0 !important;
}
.teal {
    color: #009E99 !important;
}
.turquoise_blue {
    color: #66C5C2 !important;
}
.coral_pink {
    color: #FF588A !important;
}
.charcoal {
    color: #333 !important;
}
.c-transparent {
    color: transparent !important;
}

.link-blue {
    color: #007BFF !important;
}
.deep_ruby_wine {
    color: #AA272D !important;
}
.rich_walnut_smoke {
    color: #413633 !important;
}
.soft_white_veil {
    color: #FFFC !important;
}
@media all and (min-width: 769px) {
    .dark_gray-pc {
        color: #666 !important;
    }
}

/* Backgroud */
.bg-teal {
    background-color: #009E99 !important;
}
.bg-light_mint {
    background-color: #EDF7F6 !important;
}
.bg-turquoise_blue {
    background-color: #66C5C2 !important;
}
.bg-vax_support {
    background: url(/wp-content/uploads/2023/06/vax_support_back.png) no-repeat !important;
}
.bg-img-choshi_banner {
    background-image: url(/wp-content/uploads/2023/07/bg_choshi.webp);
}
.bg-size-100 {
    background-size: 100% !important;
}
.bg-size-100vw {
    background-size: 100vw !important;
}
.bg-size-cover {
    background-size: cover !important;
}
.bg-soft_mint_mist {
    background-color: #E8F8F8 !important;
}
.bg-gossamer_white_film {
    background-color: #FFFFFF7F !important;
}
@media all and (min-width: 769px) {
    .bg-md-vax_support {
        background: url(/wp-content/uploads/2023/06/vax_support_back-md.png) no-repeat !important;
    }
    .bg-md-size-100vw {
        background-size: 100vw auto !important;
    }
    .bg-img-md-choshi_banner {
        background-image: url(/wp-content/uploads/2023/07/bg_choshi-md.png);
    }
}

.valign_baseline {
    vertical-align: baseline !important;
}

.mt-neg5 {
    margin-top: -0.5rem !important;
}
.mt4 {
    margin-top: 0.4rem !important;
}
.mt8 {
    margin-top: 0.8rem !important;
}
.mt20 {
    margin-top: 2rem !important;
}
.mt30 {
    margin-top: 3rem !important;
}
.mt40 {
    margin-top: 4rem !important;
}
.mt60 {
    margin-top: 6rem !important;
}
.mt70 {
    margin-top: 7rem !important;
}
.mt100 {
    margin-top: 10rem !important;
}
.mt150 {
    margin-top: 15rem !important;
}
.mb-n15 {
    margin-bottom: -1.5rem !important;
}
.mb9 {
    margin-bottom: 0.9rem !important;
}
.mb20 {
    margin-bottom: 2rem !important;
}
.mb40 {
    margin-bottom: 4rem !important;
}
.mb60 {
    margin-bottom: 6rem !important;
}
.mb70 {
    margin-bottom: 7rem !important;
}
.mb80 {
    margin-bottom: 8rem !important;
}
.mb100 {
    margin-bottom: 10rem !important;
}
.ms20 {
    margin-left: 2rem !important;
}
.ms70 {
    margin-left: 7rem !important;
}
.mx0 {
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.mx3vw {
    margin-right: 3vw !important;
    margin-left: 3vw !important;
}
@media all and (min-width: 769px) {
    .mt-md20 {
        margin-top: 2rem !important;
    }
    .mt-md50 {
        margin-top: 5rem !important;
    }
    .mt-md-neg50 {
        margin-top: 0 !important;
    }
    .mt-md100 {
        margin-top: 10rem !important;
    }
    .mb-md0 {
        margin-bottom: 0 !important;
    }
    .mb-md35 {
        margin-bottom: 3.5rem !important;
    }
    .mb-md40 {
        margin-bottom: 4rem !important;
    }
    .mb-md80 {
        margin-bottom: 8rem !important;
    }
    .mb-md100 {
        margin-bottom: 10rem !important;
    }
    .mb-md150 {
        margin-bottom: 15rem !important;
    }
    .ms-md50 {
        margin-left: 5rem !important;
    }
    .ml80_pc {
        margin-left: 8rem !important;
    }
}
@media all and (max-width: 768px) {
    .mx20_sp {
        margin-right: 2rem !important;
        margin-left: 2rem !important;
    }
}

.p20 {
    padding: 2rem !important;
}
.py20 {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
}
.py80 {
    padding-top: 8rem !important;
    padding-bottom: 8rem !important;
}
.px20 {
    padding-right: 2rem !important;
    padding-left: 2rem !important;
}
.px3vw {
    padding-right: 3vw !important;
    padding-left: 3vw !important;
}
.px6 {
    padding-right: 0.6rem !important;
    padding-left: 0.6rem !important;
}
.pt80 {
    padding-top: 8rem !important;
}
.pt90 {
    padding-top: 9rem !important;
}
.pt120 {
    padding-top: 12rem !important;
}
.pt160 {
    padding-top: 16rem !important;
}
.pt56per { /* アスペクト比16:9に主に利用 */
    padding-top: 56.25% !important;
}
.pb8 {
    padding-bottom: 0.8rem !important;
}
.pb14 {
    padding-bottom: 1.4rem !important;
}
@media all and (min-width: 769px) {
    .py-md-5 { /* Bootstrapが負けるので定義 */
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }
    .pt-pc150 {
        padding-top: 15rem !important;
    }
    .py-md20 {
        padding-top: 2rem !important;
        padding-bottom: 2rem !important;
    }
    .py-md60 {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
    }
    .py-pc150 {
        padding-top: 15rem !important;
        padding-bottom: 15rem !important;
    }
    .px-md-0 { /* Bootstrapが負けるので定義 */
        padding-right: 0rem !important;
        padding-left: 0rem !important;
    }
    .px-md20 {
        padding-right: 2rem !important;
        padding-left: 2rem !important;
    }
    .px-md40 {
        padding-right: 4rem !important;
        padding-left: 4rem !important;
    }
    .px-md50 {
        padding-right: 5rem !important;
        padding-left: 5rem !important;
    }
}
@media all and (max-width: 768px) {
    .pt-sp0 {
        padding-top: 0 !important;
    }
    .pt50_sp {
        padding-top: 5rem !important;
    }
    .pt90_sp {
        padding-top: 9rem !important;
    }
}

.w40 {
    width: 4rem !important;
}
.w45 {
    width: 4.5rem !important;
}
.w50 {
    width: 5rem !important;
}
.w55 {
    width: 5.5rem !important;
}
.w140 {
    width: 14rem !important;
}
.w150 {
    width: 15rem !important;
}
.w180 {
    width: 18rem !important;
}
.w200 {
    width: 20rem !important;
}
.w225 {
    width: 22.5rem !important;
}
.w230 {
    width: 23rem !important;
}
.w300 {
    width: 30rem !important;
}
.w330 {
    width: 33rem !important;
}
.w335 {
    width: 33.5rem !important;
}
.w350 {
    width: 35rem !important;
}
.w800 {
    width: 80rem !important;
}
.w-95 {
    width: 95% !important;
}
.mw4 {
    max-width: 4rem !important;
}
.vw-85 {
    width: 85vw !important;
}
.mw439 {
    max-width: 43.9rem !important;
}
.mw90vw {
    max-width: 90vw !important;
}

@media all and (min-width: 769px) {
    .w-md-auto {
        width: auto !important;
    }
    .w-pc-auto {
        width: auto !important;
    }
    .w-md-25 {
        width: 25% !important;
    }
    .w-md60 {
        width: 6rem !important;
    }
    .w-pc84 {
        width: 8.4rem !important;
    }
    .w-md100 {
        width: 10rem !important;
    }
    .w-md180 {
        width: 18rem !important;
    }
    .w-md190 {
        width: 19rem !important;
    }
    .w185_pc {
        width: 18.5rem !important;
    }
    .w-pc200 {
        width: 20rem !important;
    }
    .w-md210 {
        width: 21rem !important;
    }
    .w-md260 {
        width: 26rem !important;
    }
    .w-pc300 {
        width: 30rem !important;
    }
    .w-pc355 {
        width: 35.5rem !important;
    }
    .w-pc368 {
        width: 36.8rem !important;
    }
    .w-md400 {
        width: 40rem !important;
    }
    .w-md400 {
        width: 40rem !important;
    }
    .w-md430 {
        width: 43rem !important;
    }
    .w-pc500 {
        width: 50rem !important;
    }
    .w-md520 {
        width: 52rem !important;
    }
    .w-pc575 {
        width: 57.5rem !important;
    }
    .w-md700 {
        width: 70rem !important;
    }
    .w-md780 {
        width: 78rem !important;
    }
    .w-md800 {
        width: 80rem !important;
    }
    .w-md980 {
        width: 98rem !important;
    }
    .w-md1020 {
        width: 102rem !important;
    }
    .w1150_pc {
        width: 115rem !important;
    }
    .w-md1200 {
        width: 120rem !important;
    }
    .w-md-50 {
        width: 50% !important;
    }
    .w-pc-70 {
        width: 70% !important;
    }
    .mw-md-none {
        max-width: none !important;
    }
    .miw-md-100 {
        min-width: 100px;
    }
    .miw-md-110 {
        min-width: 110px;
    }
}
@media all and (max-width: 768px) {
    .w150_sp { /* 順次「w150」に移行し、いずれは削除 */
        width: 15rem !important;
    }
    .w355_sp {
        width: 35.5rem !important;
    }
    .w-sp100per {
        width: 100%  !important;
    }
}

.h12 {
    height: 1.2rem !important;
}
.h15 {
    height: 1.5rem !important;
}
.h48 {
    height: 4.8rem !important;
}
.h55 {
    height: 5.5rem !important;
}
.h60 {
    height: 6rem !important;
}
.h120 {
    height: 12rem !important;
}
.h560 {
    height: 56rem !important;
}
.h-65vw { /* 85vwの横幅に対してほぼ4:3の高さ */
    height: 65vw !important;
}
.h-100vw {
    height: 100vw !important;
}
.mh90vh {
    max-height: 90vh !important;
}

@media all and (min-width: 769px) {
    .h-md39_5vw {
        height: 39.5vw !important;
    }
    .h-md585 { /* 780の横幅に対して4:3の高さ */
        height: 58.5rem !important;
    }
    .h-md86 {
        height: 8.6rem !important;
    }
    .h-md100 {
        height: 10rem !important;
    }
    .h-pc110 {
        height: 11rem !important;
    }
    .h-md130 {
        height: 13rem !important;
    }
    .h-md135 {
        height: 13.5rem !important;
    }
    .h-md600 {
        height: 60rem !important;
    }
    .h-md700 {
        height: 70rem !important;
    }
}

.minh-40vh {
    min-height: 40vh;
}

/* Position */
.position-static {
    position: static !important;
}
.top5 {
    top: 0.5rem !important;
}
.top25vw {
    top: 25vw !important;
}
.top67vw {
    top: 67vw !important;
}
.top68vw {
    top: 68vw !important;
}
.r10per {
    right: 10% !important;
}
.bottom-neg2 {
    bottom: -0.2rem !important;
}
.end-10 {
    right: 10% !important;
}
.bottom10 {
    bottom: 1rem !important;
}
.start-10 {
    left: 10% !important;
}
@media all and (min-width: 769px) {
    .top-md-23 {
        top: 23% !important;
    }
    .top-md17vw {
        top: 17vw !important;
    }
    .position-md-static {
        position: static !important;
    }
    .end-md20 {
        right: 2rem !important;
    }
    .start-md20 {
        left: 2rem !important;
    }
}
@media all and (max-width: 768px) {
    .r3per_sp {
        right: 3% !important;
    }
}

/* Text */
.ff-noto_sans_jp {
    font-family: 'Noto Sans JP' !important;
}
.fs10 {
    font-size: 1rem !important;
}
.fs11 {
    font-size: 1.1rem !important;
}
.fs12 {
    font-size: 1.2rem !important;
}
.fs13 {
    font-size: 1.3rem !important;
}
.fs14 {
    font-size: 1.4rem !important;
}
.fs15 {
    font-size: 1.5rem !important;
}
.fs16 {
    font-size: 1.6rem !important;
}
.fs17 {
    font-size: 1.7rem !important;
}
.fs18 {
    font-size: 1.8rem !important;
}
.fs20 {
    font-size: 2rem !important;
}
.fs22 {
    font-size: 2.2rem !important;
}
.fs24 {
    font-size: 2.4rem !important;
}
.fs26 {
    font-size: 2.6rem !important;
}
.fs28 {
    font-size: 2.8rem !important;
}
.fs30 {
    font-size: 3rem !important;
}
.fs32 {
    font-size: 3.2rem !important;
}
.fs35 {
    font-size: 3.5rem !important;
}
.fs38 {
    font-size: 3.8rem !important;
}
.fs40 {
    font-size: 4rem !important;
}
.fs48 {
    font-size: 4.8rem !important;
}
.fs52 {
    font-size: 5.2rem !important;
}
@media all and (min-width: 769px) {
    .fs-pc12 {
        font-size: 1.2rem !important;
    }
    .fs-md13 {
        font-size: 1.3rem !important;
    }
    .fs-pc14 { /* 順次「.fs-md14」に移行し、いずれは削除 */
        font-size: 1.4rem !important;
    }
    .fs-md14 {
        font-size: 1.4rem !important;
    }
    .fs-md15 {
        font-size: 1.5rem !important;
    }
    .fs-md16 {
        font-size: 1.6rem !important;
    }
    .fs-md18 {
        font-size: 1.8rem !important;
    }
    .fs-pc20 { /* 順次「.fs-md20」に移行し、いずれは削除 */
        font-size: 2rem !important;
    }
    .fs-md20 {
        font-size: 2rem !important;
    }
    .fs-md24 {
        font-size: 2.4rem !important;
    }
    .fs-md26 {
        font-size: 2.6rem !important;
    }
    .fs-md28 {
        font-size: 2.8rem !important;
    }
    .fs-md35 {
        font-size: 3.5rem !important;
    }
    .fs-md36 {
        font-size: 3.6rem !important;
    }
    .fs-md40 {
        font-size: 4rem !important;
    }
    .fs-md50 {
        font-size: 5rem !important;
    }
    .fs-md70 {
        font-size: 7rem !important;
    }
}
@media all and (max-width: 768px) {
    .fs12_sp {
        font-size: 1.2rem !important;
    }
    .fs16_sp {
        font-size: 1.6rem !important;
    }
    .fs18_sp {
        font-size: 1.8rem !important;
    }
    .fs24_sp {
        font-size: 2.4rem !important;
    }
    .fs30_sp {
        font-size: 3rem !important;
    }
}
.fw400 {
    font-weight: 400 !important;
}
.fw500 {
    font-weight: 500 !important;
}
.fw600 {
    font-weight: 600 !important;
}
.fw700 {
    font-weight: 700 !important;
}
.fw900 {
    font-weight: 900 !important;
}
@media all and (min-width: 769px) {
    .fw-pc-normal {
        font-weight: 400 !important;
    }
}

.lh10 {
    line-height: 1rem !important;
}
.lh-110per {
    line-height: 1.1 !important;
}
.lh-120per {
    line-height: 1.2 !important;
}
.lh-130per {
    line-height: 1.3 !important;
}
.lh150per {
    line-height: 1.5 !important;
}
.lh180per {
    line-height: 1.8 !important;
}
@media all and (min-width: 769px) {
    .lh-md100per {
        line-height: 1 !important;
    }
    .lh-md200per {
        line-height: 2 !important;
    }
}
.l-spacing-sm {
    letter-spacing: 0.05em !important;
}
.l-spacing0_8 {
    letter-spacing: 0.08rem !important;
}
.l-spacing1 {
    letter-spacing: 0.1rem !important;
}
.l-spacing1_8 {
    letter-spacing: 0.18rem !important;
}
.l-spacing8 {
    letter-spacing: 0.8rem !important;
}
@media all and (min-width:769px) {
    .l-spacing-md1 {
        letter-spacing: 0.1rem !important;
    }
}

.gap4 {
    gap: 0.4rem !important;
}
.gap6 {
    gap: 0.6rem !important;
}
.gap7 {
    gap: 0.7rem !important;
}
.gap20 {
    gap: 2rem !important;
}
.gap40 {
    gap: 4rem !important;
}
.gap50 {
    gap: 5rem !important;
}
.gap52 {
    gap: 5.2rem !important;
}
.gap70 {
    gap: 7rem !important;
}
.gap-y40 {
    row-gap: 4rem !important;
}
@media all and (min-width: 769px) {
    .gap-pc-3 {
        gap: 1rem !important;
    }
    .gap-md20 {
        gap: 2rem !important;
    }
    .gap-pc40 {
        gap: 4rem !important;
    }
    .gap-md50 {
        gap: 5rem !important;
    }
    .gap-pc50 {
        gap: 5rem !important;
    }
    .gap-pc100 {
        gap: 10rem !important;
    }
    .gap-md150 {
        gap: 15rem !important;
    }
    .gap-pc-y70 {
        row-gap: 7rem !important;
    }
}

@media all and  (min-width: 769px) {
    .text-pc-center {
        text-align: center !important;
    }
}

/* Borders */
.border-teal {
    border: 1px solid #009E99 !important;
}
.border-t-dotted-white {
    border-top: 0.5rem dotted #FFF !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none !important;
}
.border-s-backslash {
    border-left-width: 2px !important;
    border-left-style: solid !important;
    transform: skewX(20deg) !important;
}
.border-s-slash {
    border-left-width: 2px !important;
    border-left-style: solid !important;
    transform: skewX(-20deg) !important;
}
.border-s-deep_ruby_wine {
    border-left-color: #AA272D !important;
}
@media all and (min-width: 769px) {
    .border-l-pc-light_gray {
        border-left: 1px solid #AFAFAF !important;
    }
}
.rounded4 {
    border-radius: 0.4rem !important;
}
.rounded10 {
    border-radius: 1rem !important;
}
.rounded20 {
    border-radius: 2rem !important;
}
@media all and (min-width: 769px) {
    .rounded-pc10 {
        border-radius: 1rem !important;
    }
}

.cursor-pointer {
    cursor: pointer !important;
}

.object-fit-cover {
    object-fit: cover !important;
}

/* Z-index */
.z-index10 {
    z-index: 10 !important;
}

/* display */
@media all and (min-width: 769px) {
    /* PC版のときにSP版を非表示にする */
    .sp {
        display: none !important;
    }
}

@media all and (max-width: 768px) {
    /* SP版のときにPC版を非表示にする */
    .pc {
        display: none !important;
    }
}
