body{
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

/* テキストの折り返し */
h1, h2, h3, h4, h5, p, a, th, td, li, span {
word-break: keep-all;
overflow-wrap: anywhere;
}

a{
    text-decoration: none !important;
}

/* テキストの色 */
.text-default-blue{
    color:#1b7fbe;
}

.text-default-pink{
    color:#e63f7c !important;
}

html {
    font-size: 70% !important;
}
@media screen and (max-width:991px) {
    html {
        font-size: 150% !important;
    }
}


/* //header */
.nav-logo{
    height:64px;
    width: auto;
}
@media screen and (min-width:992px) {
    .nav-logo{
        height:32px;
    }
}

@media screen and (min-width:992px) {
    .hide-nav-item{
        display: none !important;
    }
}

.navbar-nav {
    --bs-nav-link-padding-y: 1.0rem  !important;
}

.navbar-toggler-icon {
    width: 2.5em !important;
    height: 2.5em !important;
}

.nav-link:hover{
    color:#1b7fbe !important;
}

.nav-link{
    margin-inline: .5rem;
    font-weight: 800;
    font-weight: bolder !important;
}

.bg-default{
    /* 必要か？ */
    background-color: transparent;
}
/* //header */


/* //top-hero */
.p-header{
    padding-block: 40px;
}

.img-phone-header {
    display: block;
    height: 400px;
    width: auto;
}
    @media screen and (max-width: 991px) {
        .img-phone-header {
            height: 450px;
        }
    }

.btn-theme-pink-grad{
    background: linear-gradient(to right, #ffa5a5, #e63f7c);
    padding-inline: 30px !important;
    color: white !important;
    font-weight: bolder;
}
/* //top-hero */


/* //header and top-hero */
.home-container-header {
    background: url("images/runboze-bg-06-01.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    width: auto;
    padding: 0px;
    height: 800px;
}
    @media screen and (max-width: 991px) {
        .home-container-header {
            /* !キャッシュの問題を避けるためにタイムスタンプを追記 */
            /* background: url("images/runboze-bg-05-01.jpg?timestamp=20240205"); */
            /* background-size: 245%; */
            background-attachment: local;
            height: 950px !important;
        }
}

.home-container-header-filter {
    width: auto;
    background: linear-gradient(to bottom, rgba(255,255,255,0),rgba(255,255,255,0),#ffffff 80%,#ffffff 89%);
    height: 900px;
}
    @media screen and (max-width: 991px) {
        .home-container-header-filter {
            background:rgba(255, 255, 255, 0.75);
            height: 960px !important;
        }
}
/* //header and top-hero */


/* //header and page-hero */
.section-container-header{
    background: url("images/runboze-bg-06-01.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    height: 510px;
    padding: 0px;
}
    @media screen and (max-width: 991px) {
        .section-container-header {
            background-attachment: local;
        }
    }

.section-container-header-filter{
    height: 600px;
    width: auto;
    background: linear-gradient(to bottom, rgba(255,255,255,0),rgba(255,255,255,0),#ffffff 80%,#ffffff 89%);
}
    @media screen and (max-width: 991px) {
        .section-container-header-filter {
            background:rgba(255, 255, 255, 0.75);
            height: 960px !important;
        }
    }

.info-header-title{
    margin-top: 120px;
}
/* //header and page-hero */


/* //section */
.section-bg{
    background-color: #FAF9F6;
}

.section{
    padding-block: 65px;
    background-color: white;
    border-bottom-left-radius: 100px;
    border-bottom-right-radius: 100px;
}

.feature-icon{
    height: auto;
    width: 100%;
    border-radius: 0.375rem;
    margin-top: 1rem;
    @media screen and (min-width: 992px) {
        /* height: 140px; */
    }
}

.download-img{
    width: auto;
    height: 64px;
}
@media screen and (max-width: 991px) {
    .download-img{
        height: 150px;
    }
}

@media screen and (min-width:992px) {
    .plan-table-and-comment {
        padding: 0 160px;
    }
}

.ribbon-wrap {
    --f: 10px; /* control the folded part*/
    --r: 15px; /* control the ribbon shape */
    --t: 10px; /* the top offset */

    position: absolute;
    inset: var(--t) calc(-1*var(--f)) auto auto;
    padding: 0 10px var(--f) calc(10px + var(--r));
    clip-path:
      polygon(0 0,100% 0,100% calc(100% - var(--f)),calc(100% - var(--f)) 100%,
        calc(100% - var(--f)) calc(100% - var(--f)),0 calc(100% - var(--f)),
        var(--r) calc(50% - var(--f)/2));
    box-shadow: 0 calc(-1*var(--f)) 0 inset #0005;
    margin-top: 10px;
}

.ribbon-wrap-blue{
    background: #1b7fbe;
    color:white;
}

.ribbon-wrap-pink{
    background: #e63f7c;
    color:white;
}

@media screen and (min-width:992px) {
    .monthly-fee {
        position: absolute;
        right: -8px;
        top: 55px;
    }
}

.membership-thead tr {
    height: 130px !important;
}
    @media screen and (max-width: 991px) {
        .membership-thead tr {
            height: 200px !important;
        }
    }

.membership-tbody td {
    height: 110px !important;
}
    @media screen and (max-width: 991px) {
        .membership-tbody td {
            height: 250px !important;
        }
    }

.box-table-category > div > table > thead > tr > th,
.box-table-category > div > table > tbody > tr > th,
.box-table-category > div > table > tbody > tr > td,
.box-table-plan > div > table > thead > tr > th,
.box-table-plan > div > table > tbody > tr > td {
    padding: 0px;
}
/* //section */


/* //footer */
.footer-menu{
    min-height: 70px;
    background-color: #FAF9F6;
    margin-block:0;
}

.footer-logo{
    height: 64px;
    width: auto;
}
@media screen and (min-width:992px) {
    .footer-logo{
        height:32px;
    }
}

.download-img-footer{
    width: auto;
    height: 56px;
}
@media screen and (max-width: 991px) {
    .download-img-footer{
        height: 105px;
    }
}

/* アプリバッジ左 */
.footer-menu > div > div > div > div > div:first-child > .download-img-footer {
    float: right;
}
@media screen and (min-width: 992px) {
    .footer-menu > div > div > div > div > div:first-child > .download-img-footer {
        margin-right: 26px;
    }
}

/* アプリバッジ右 */
.footer-menu > div > div > div > div > div:last-child > .download-img-footer {
    float: left;
}

/* リンクかどうかを判別する */
.footer-link:where(:any-link, :enabled, summary):hover{
    /* マウスのときだけホバースタイルを当てる */
    @media (hover: hover) {
        text-shadow: 0 0 1px #6c757d !important;
    }
  }

/* リンクが現在のページである場合は色を変える */
.footer-link-active {
    color: #1b7fbe !important;
}

/* copyright */
.footer-end{
    min-height: 30px;
    padding-block: 0.5rem;
}
/* //footer */


/* //index-alt.html内でのみ使用 */
.about-container-header{
    background: url("images/bg-04.jpg");
    background-size:cover;
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: fixed;
    padding: 0px;
    border-bottom-right-radius: 100px;
    border-bottom-left-radius: 100px;
}

.btn-theme-blue-grad{
    background: linear-gradient(to right, #14cdca, #1b7fbe);
    padding-inline: 30px !important;
    color: white !important;
    font-weight: bolder;
}

.feature-bg-icon-blue{
    background-color: #1b7fbe14;
    width: auto;
    min-height: 110px;
    border-radius: 0.375rem;
    padding-block: 2rem;
    margin-top: 1rem;
}

.feature-bg-icon-pink{
    background-color: #e63f7c14;
    width: auto;
    min-height: 110px;
    border-radius: 0.375rem;
    padding-block: 2rem;
    margin-top: 1rem;
}

.about-section-img-bg{
    background-color: #1b7fbe22;
    border-radius: 2rem;
    padding-block: 4rem;
}

.about-section-img{
    height: 350px;
    width: auto;
}

.about-section{
    padding-block: 40px;
}
/* //index-alt.html内でのみ使用 */


/* //about.html内でのみ使用 */
.about-sns {
    vertical-align: middle;
}
.about-sns ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    padding: 15px;
    list-style: none;
    margin-bottom: 0;
}
.about-sns ul a {
    display: flex;
    align-items: center;
    gap: 15px;
}
.about-sns ul a img {
    object-fit: contain;
}
@media screen and (max-width: 1199px) {
    .about-sns ul {
        grid-template-columns: repeat(2, 1fr);
    }
}
@media screen and (max-width: 991px) {
    .about-sns ul a {
        gap: 20px;
    }
    .about-sns ul a img {
        width: 40px;
    }
}
/* //about.html内でのみ使用 */