.cont_img_area img {
    width: 100%;
    margin-top: 32px;
}
.ithojo-bnr_area img {
    width: 100%;
}
.ithojo-add_bnr {
    max-width: 1200px;
    margin: 32px auto 0;
    width: 90%;
    text-align: center;
}
.ithojo-add_bnr img {
    margin: 0 auto;
}
.ithojo .cont2 {
    background: #f3f2ee;
    padding-top: 90px;
    padding-bottom: 0px !important;
    margin-bottom: 80px;
}
.ithojo .cont7 {
    background: #f3f2ee;
    padding-top: 40px;
    padding-bottom: 0px !important;
    margin-bottom: 150px;
}
span.c-orange {
    color: #ff6600;
}
.ithojo-add02_img {
    max-width: 960px;
    width: 100%;
    margin: 0 auto 80px;
    text-align: center;
}
.ithojo-add02_img img {
    width: 100%;
}

a.ithojo-add02_btn {
    width: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 560px;
    margin: 40px auto 0;
    padding: 10px 0;
    border-radius: 95px;
    background: #1ea821;
    font-size: 20px;
    color: #fff;
    font-weight: 700;
    text-align: center;
}
a.ithojo-add02_btn:hover {
    background: #0e9b11;
    transition: all 0.3s ease;
    opacity: 1;
}

.ithojo-add03_bnr {
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
.ithojo-add03_bnr img {
    width: 100%;
}
.ithojo .cont1_figure{
    display: block;
    margin: 90px auto;
    max-width: 960px;
}
@media screen and (max-width: 768px) {
    .ithojo .cont1_figure{margin: 60px auto 90px;}
    .ithojo .cont7 { margin-bottom: 100px;}
}
.ithojo .results_cont{
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 20px 100px;
}
@media screen and (max-width: 768px) {
    .ithojo .results_cont{ margin: 0 20px 60px;}
}

/* 外側の余白調整（頭が飛び出す分のスペースを確保） */
.ithojo-bnr_section {
    padding-top: 90px; /* 頭が飛び出す高さに合わせて調整 */
    width: 100%;
}
.ithojo-bnr_section02 {
    padding-top: 70px; /* 頭が飛び出す高さに合わせて調整 */
    width: 100%;
}
/* オレンジの帯 */
.ithojo-bnr_bg-orange,
.ithojo-bnr_bg-orange02 {
    background-color: #e66700;
    width: 100%;
    padding: 0 20px;
}

.ithojo-bnr_inner{
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
}

.ithojo-bnr_person img {
    display: block;
    width: 100%;
    height: auto;
    /* 頭を帯から上にはみ出させる設定 */
    margin-top: -90px; 
    /* 下側が浮かないように調整 */
    margin-bottom: 0;
}

.ithojo-bnr_person02 img {
    display: block;
    width: 100%;
    height: auto;
    /* 頭を帯から上にはみ出させる設定 */
    margin-top: -70px; 
    /* 下側が浮かないように調整 */
    margin-bottom: 0;
}

/* スマホ用調整 */
@media (max-width: 768px) {
    .ithojo-bnr_person img {
        /* スマホでは文字を大きく見せるため、横幅を広げる */
        width: 100%; 
        max-width: none;
        margin-bottom: 30px;
        margin-left: 50%;
        transform: translateX(-50%);
        /* スマホ用の飛び出し量調整 */
        margin-top: -30px; 
    }
    .ithojo-bnr_person02 img {
        /* スマホでは文字を大きく見せるため、横幅を広げる */
        width: 100%; 
        max-width: none;
        margin-left: 50%;
        transform: translateX(-50%);
        /* スマホ用の飛び出し量調整 */
        margin-top: -95px; 
        padding: 15px;
    }
    .ithojo-bnr_section {
        padding-top: 30px;
        /* スマホで横揺れを防ぐ */
        overflow: hidden; 
    }
    .ithojo-bnr_section02 {
        padding-top: 95px;
        /* スマホで横揺れを防ぐ */
        overflow: hidden; 
    }

}

/* --- 追加：下矢印のスタイル --- */
.cont7 {
    position: relative; /* 矢印の基点にするため */
}

.cont7_arrow {
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translate(-50%, 100%); /* セクションの底辺から外側（下）へ配置 */
    width: 100%;
    max-width: 1200px; /* バナーの幅に合わせる、または三角形のサイズに合わせる */
    text-align: center;
    line-height: 0; /* 画像下の余計な隙間を消す */
    z-index: 10;
}

.cont7_arrow img {
    /* 必要に応じて三角形の表示サイズを調整してください */
    width: 200px; /* PCでの三角形の横幅 */
    height: auto;
    display: inline-block;
}

@media screen and (max-width: 768px) {
    .cont7_arrow img {
        width: 120px; /* スマホでの三角形の横幅 */
    }
}


/* --- ルビ風カスタマイズ：中央寄せ・改行防止 決定版 --- */

.ithojo .innertitle1 {
    display: block !important;
    text-align: center;
}

/* 1. 親文字部分：inline-blockに戻して「幅」を認識させる */
.custom-ruby {
    display: inline-block !important; /* inlineから戻す */
    position: relative !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    vertical-align: baseline;
    text-indent: 0 !important;
    /* 左右の文字（「とは？」など）を密着させるためマージンを最小限に */
    margin: 4rem 0 0; 
}

/* 2. ルビ部分：絶対配置で中央寄せ */
.custom-rt {
    position: absolute !important;
    top: -1.5em !important; 
    left: 50% !important;
    /* この2行で親要素(custom-ruby)の幅に対して中央に配置 */
    transform: translateX(-50%) !important;
    -webkit-transform: translateX(-50%) !important;
    
    font-size: 0.5em !important; 
    white-space: nowrap !important;
    display: block !important;
    width: auto !important;
    line-height: 1 !important;
}

@media screen and (max-width: 768px) {
    .ithojo .innertitle1 {
        padding: 0 10px 20px !important;
    }

    /* 「とは？」が改行されないよう親文字の塊を画面幅に合わせる */
    .custom-ruby {
        max-width: 100%;
    }

    .custom-rt {
        top: -1.05em !important;
    }

    /* iPhone/Android共通の強制改行設定 */
    .ithojo .innertitle1 br {
        display: block !important;
        content: "";
        margin-top: 0.5em;
    }
}