@charset "UTF-8";

/* ==========================================
   0. 全体設定・変数 (root)
   ========================================== */
:root {
    --c-font: #000000;
    --c-base: #f4f5f7;
    --c-main: #003f6c;
    --c-accent: #e0701e;
    --f-sans: 'Noto Sans JP', 'ヒラギノ角ゴ ProN', '游ゴシック', sans-serif;
    --f-serif: 'Noto Serif JP', 'ヒラギノ明朝 ProN', '游明朝', serif;
}

#container {
    /*
    background-position: top 0 right 0px;
    background-repeat: no-repeat;
    background-size: min(60vw, 615px) auto;
	*/
    position: relative;
}

#container::before {
    content: '';
    position: absolute;
    top: 0;
    right: calc(50% - 50vw); /* 画面の右端まで伸ばす計算式 */
    width: 50vw; /* 画面中央から右端までの幅 */
    height: 100%;
    z-index: -1; /* コンテンツの背後に配置 */

    /* 背景画像の設定 */
    background-image: url('https://ec.sakamoto-corp.net/user_data/packages/raku2pc/image/top/top-about.webp');
    background-position: top right;
    background-repeat: no-repeat;
    background-size: 50vw auto;
}

#main_column figure {
    margin: 0 !important;
}

#main_slide_image .bx-wrapper .bx-prev {
    left: 1010px !important;
}
#main_slide_image .bx-wrapper .bx-next {
    right: 1010px !important;
}

/* unique */
.un_fvTop ul li a {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    justify-content: center !important;
    align-items: center !important;
    width: calc(100% - 40px) !important;
    padding: 20px !important;
}

.un_fvTop ul li a img {
    display: block;
    width: 100% !important;
    height: auto !important;
}

.un_topHead {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px 0;
    width: 100%;
    height: auto;
    min-height: 360px;
    margin-left: 30px;
    text-align: left;
}

.un_topHead_title {
    color: var(--c-main) !important;
    font-size: 30px;
    font-family: var(--f-serif);
    font-weight: 700;
    line-height: 2;
}

.un_topGift {
    margin: 0 auto;
    padding: 60px 40px;
    background-color: #ffffff;
    border: 4px solid #f2f2f2;
    border-radius: 20px;
}

.un_topGift_head {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    margin: 0 0 40px 0 !important;
    padding: 0 !important;
    color: var(--c-main);
    border: 0 !important;
    font-weight: 700;
}

.un_topGift_headSub {
    display: block;
    font-size: 20px;
}

.un_topGift_headMain {
    display: block;
    width: 100%;
    padding: 15px 0;
    border-top: 1px solid var(--c-main);
    border-bottom: 1px solid var(--c-main);
    font-size: 24px;
    text-align: center;
}

.un_topGiftGrid {
    margin-bottom: 40px;
}

.un_topGiftGrid_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 10px;
    max-width: 740px;
    margin: 0 auto;
}

.un_topGiftGrid_item {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 10px 0;
    width: 100%;
    max-width: 240px;
    margin: 0 auto;
    position: relative;
}

.un_topGiftGrid_badge {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 64px;
    height: 64px;
    padding-top: 8px;
    box-sizing: border-box;
    color: #ffffff;
    background-color: #e7c254;
    border-radius: 50%;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
}

.un_topGiftGrid_badge strong {
    font-size: 18px;
    font-weight: 600;
}

.un_topGiftGrid_pic {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px 0;
    width: 100%;
    max-width: 205px;
    aspect-ratio: 1 / 1;
    margin-bottom: auto;
    background-color: #f7f3ef;
    border-radius: 50%;
}

.un_topGiftGrid_pic img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 100%;
}

.un_topGiftGrid_caption {
    color: var(--c-main);
    font-size: 16px;
    font-weight: 600;
    text-align: center;
    line-height: 1.4;
}

.un_topGiftGrid_text {
    display: block;
    font-size: 14px;
    text-align: center;
}

.un_topGiftLead_wrap {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 30px 0;
    text-align: center;
}

.un_topGiftLead {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 0 5px;
}

.un_topGiftLead::before {
    display: block;
    content: '';
    width: 40px;
    height: 0vw;
    border-top: 1px solid var(--c-accent);
    transform: rotate(50deg);
    position: relative;
    top: 5px;
}

.un_topGiftLead::after {
    display: block;
    content: '';
    width: 40px;
    height: 0vw;
    border-top: 1px solid var(--c-accent);
    transform: rotate(-50deg);
    position: relative;
    top: 5px;
}

.un_topGiftLead_text {
    color: var(--c-accent);
    font-size: 16px;
    font-weight: 600;
}

.un_topGiftLead_text__lg {
    font-size: 20px;
}

.un_topGiftLead_text__lg strong {
    font-weight: 600;
    text-emphasis: filled;
    -webkit-text-emphasis: filled;
}

.un_topInfo {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
    padding: 40px 30px;
    border-top: 2px solid #f2f2f2;
    border-bottom: 2px solid #f2f2f2;
}

.un_topInfo .el_headingLv2 {
    width: 15%;
    margin: 0;
}

.un_topInfo_inner {
    display: flex;
    flex-direction: column;
    gap: 1em 0;
    width: 85%;
}

.un_topInfo_dl {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0 2em;
}

.un_topInfo_dt {
    font-size: 14px;
    font-weight: 500;
}

.un_topInfo_dd {
    font-size: 16px;
    font-weight: 600;
}

.un_recommendTop {
    margin-top: 40px;
}

.un_recommendTop_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
}

.un_recommendTop_link {
    display: block;
}

.un_recommendTop_link img {
    width: 100%;
    height: auto;
}

.un_topRanking {
    margin-top: 40px;
}

.un_topRanking_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 30px;
}

.un_topRanking_item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 10px 0;
    position: relative;
}

.un_topRanking_item:nth-child(1) {
    flex-direction: row;
    justify-content: flex-start;
    align-items: center;
    gap: 0 40px;
    grid-area: 1 / 1 / 2 / 5;
}

.un_topRanking_item:nth-child(1) .el_btn_wrap {
    align-items: flex-start;
    margin-top: 20px;
}

.un_topRanking_item:nth-child(2) {
    grid-area: 2 / 1 / 3 / 2;
}

.un_topRanking_item:nth-child(3) {
    grid-area: 2 / 2 / 3 / 3;
}

.un_topRanking_item:nth-child(4) {
    grid-area: 2 / 3 / 3 / 4;
}

.un_topRanking_item:nth-child(5) {
    grid-area: 2 / 4 / 3 / 5;
}

.un_topRanking_item:not(:nth-child(1)) .el_btn_wrap {
    display: none !important;
}

.un_topRanking_link {
    display: block;
    width: 100%;
    max-width: 290px;
    height: auto;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    position: relative;
}

.un_topRanking_link img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: contain;
}

.un_topRanking_img {
    width: 100%;
    object-fit: contain;
}

.un_topRanking_badge {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    width: 30px;
    height: 35px;
    padding-top: 5px;
    color: #ffffff;
    background-color: var(--c-main);
    clip-path: polygon(0 0, 100% 0, 100% 100%, 50% 80%, 0 100%);
    font-size: 14px;
    font-weight: 600;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}

.un_topRanking_badge__1 {
    background-color: #e8bc41;
}

.un_topRanking_badge__2 {
    background-color: #969393;
}

.un_topRanking_badge__3 {
    background-color: #985800;
}

.un_topRanking_body {
    display: flex;
    flex-direction: column;
    gap: 5px 0;
}

.un_topRanking_name {
    font-size: 14px;
    font-weight: 500;
}

.un_topRanking_item:nth-child(1) .un_topRanking_name {
    margin-bottom: 15px;
    font-size: 18px;
    font-weight: 600;
}

.un_topRanking_originPrice {
    color: #8f8f8f;
    font-size: 11px;
    font-weight: 500;
}

.un_topRanking_item:nth-child(1) .un_topRanking_originPrice {
    font-size: 14px;
}

.un_topRanking_salePrice {
    color: var(--c-accent);
    font-size: 13px;
    font-weight: 600;
}

.un_topRanking_item:nth-child(1) .un_topRanking_salePrice {
    font-size: 16px;
}

.un_topReason {
    padding: 0 0 80px 0;
    background-color: #f7f3ef;
}

.un_topReason_bg {
    display: block;
    position: relative;
}

.un_topReason_bg::after {
    display: inline-block;
    content: '';
    width: 100%;
    height: auto;
    aspect-ratio: 820 / 85;
    background-image: url('https://ec.sakamoto-corp.net/user_data/packages/raku2pc/image/top/arch.svg');
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    position: absolute;
    left: 0;
    bottom: 0;
    z-index: 10;
}

.un_topReason_bg img {
    width: 100%;
}

.un_topReason_head {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 15px 0;
    width: calc(100% - 60px);
    margin: 0 auto !important;
    padding: 0 !important;
    color: var(--c-main);
    border: none !important;
    font-weight: 600;
    text-align: center;
}

.un_topReason_headSub {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 15px;
    position: relative;
}

.un_topReason_headSub::before {
    display: block;
    content: '';
    width: 90px;
    height: 0vw;
    border-top: 1px solid var(--c-main);
    transform: rotate(55deg);
    position: absolute;
    left: -70px;
}

.un_topReason_headSub::after {
    display: block;
    content: '';
    width: 90px;
    height: 0vw;
    border-top: 1px solid var(--c-main);
    transform: rotate(-55deg);
    position: absolute;
    right: -70px;
}

.un_topReason_headSub__md {
    display: inline-block;
    font-size: 20px;
}

.un_topReason_headSub__lg {
    display: inline-block;
    padding: 0 1em;
    background-color: #ffffff;
    font-size: 24px;
}

.un_topReason_headSub__lg strong {
    font-weight: 600;
    position: relative;
}

.un_topReason_headSub__lg strong::before {
    color: var(--c-accent);
    content: '・';
    position: absolute;
    top: -1.3em;
    left: 0;
}

.un_topReason_headMain {
    display: block;
    font-size: 30px;
    letter-spacing: 0.15em;
}

.un_topReason_headNum {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: 48px;
    height: 48px;
    margin: 0 5px;
    color: var(--c-accent);
    background-color: #ffffff;
    border-radius: 50%;
    font-size: 40px;
    text-align: center;
}

.un_topReasonList {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 40px;
    grid-row-gap: 60px;
    padding: 60px 40px;
}

.un_topReasonList_item {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    padding: 20px;
    background-color: #ffffff;
    border: 4px solid #ebebeb;
    border-radius: 10px;
    position: relative;
}

.un_topReasonList_item:nth-child(1) {
    grid-area: 1 / 1 / 2 / 2;
}

.un_topReasonList_item:nth-child(2) {
    grid-area: 1 / 2 / 2 / 3;
}

.un_topReasonList_item:nth-child(3) {
    grid-area: 2 / 1 / 3 / 2;
}

.un_topReasonList_item:nth-child(4) {
    grid-area: 2 / 2 / 3 / 3;
}

.un_topReasonList_item:nth-child(5) {
    grid-area: 3 / 1 / 4 / 3;
}

.un_topReasonBadge {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    width: 120px;
    height: 120px;
    background-color: #fff7ce;
    border-radius: 50%;
    position: absolute;
    top: -30px;
    left: -30px;
}

.un_topReasonBadge::after {
    display: block;
    content: '';
    width: 15px;
    height: 20px;
    background-color: #fff7ce;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: rotate(-45deg);
    position: absolute;
    right: 5px;
    bottom: 0;
}

.un_topReasonBadge_num {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: flex-end;
    padding-bottom: 10px;
    color: var(--c-main);
    border-bottom: 1px solid var(--c-main);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

.un_topReasonBadge_numText {
    display: block;
    font-size: 30px;
    font-style: italic;
    font-weight: 500;
    line-height: 1;
    position: relative;
    bottom: -5px;
}

.un_topReasonBadge_text {
    display: block;
    margin-top: 5px;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.2;
    text-align: center;
}

.un_topReasonBadge_text strong {
    font-size: 20px;
    font-weight: 600;
}

.un_topReasonList_body {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 5px;
}

.un_topReasonList_body__flex {
    flex-direction: row;
    gap: 20px;
}

.un_topReasonList_pic {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 163px;
    height: 140px;
}

.un_topReasonList_pic img {
    object-fit: contain;
}

.un_topReasonList_inner {
    display: flex;
    flex-direction: column;
    gap: 0;
    text-align: center;
}

.un_topReasonList_head {
    color: var(--c-accent);
    font-size: 26px;
    font-weight: 600;
}

.un_topReasonList_head strong {
    font-size: 32px;
    font-weight: 600;
}

.un_topReasonList_headNum {
    font-size: 40px !important;
    font-weight: 600;
}

.un_topReasonList_text {
    margin-bottom: 20px;
    font-size: 20px;
    font-weight: 600;
}

.un_topReasonList_btm {
    gap: 15px 0;
}

.un_budgetList_wrap {
    display: block;
    margin-top: 40px;
}

.un_budgetList {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

.un_budgetList_item {
    display: block;
}

.un_budgetList_item:nth-child(1) {
    grid-area: 1 / 1 / 2 / 2;
}

.un_budgetList_item:nth-child(2) {
    grid-area: 1 / 2 / 2 / 3;
}

.un_budgetList_item:nth-child(3) {
    grid-area: 1 / 3 / 2 / 4;
}

.un_budgetList_item:nth-child(4) {
    grid-area: 1 / 4 / 2 / 5;
}

.un_budgetList_item:nth-child(5) {
    grid-area: 2 / 2 / 3 / 3;
}

.un_budgetList_item:nth-child(6) {
    grid-area: 2 / 3 / 3 / 4;
}

.un_budgetList_link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 55px;
    color: #ffffff !important;
    background-color: var(--c-main);
    border-radius: 5px;
    font-size: 16px;
    font-weight: 600 !important;
    text-align: center;
}

.un_sceneList_wrap {
    display: block;
    margin-top: 40px;
}

.un_sceneList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

.un_sceneList_item {
    display: block;
}

.un_sceneList_link {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 0 15px;
    width: calc(100% - 50px);
    height: 100px;
    padding: 0 30px 0 20px;
    background-color: #ffffff;
    border: 2px solid #dedede;
    border-radius: 5px;
    position: relative;
}

.un_sceneList_link::after {
    display: inline-block;
    content: '';
    width: 6px;
    height: 6px;
    border-right: 2px solid #000000;
    border-bottom: 2px solid #000000;
    transform: rotate(-45deg);
    position: absolute;
    right: 20px;
    transition: 0.3s all;
}

.un_sceneList_text {
    color: #000000;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.un_sceneList_subText {
    font-size: 14px;
}

.un_catList_wrap {
    display: block;
}

.un_catList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 0 20px;
    margin-top: 40px;
}

.un_catList_item {
    display: block;
    border-top: 2px solid #dedede;
    border-bottom: 2px solid #dedede;
}

.un_catList_item:nth-child(4),
.un_catList_item:nth-child(5),
.un_catList_item:nth-child(6) {
    border-top: none;
}

.un_catList_link {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 0 15px;
    width: calc(100% - 30px);
    height: 60px;
    padding: 0 15px;
    color: #000000;
    background-color: #ffffff;
    font-size: 16px;
    font-weight: 600;
    position: relative;
}

.un_catList_link::after {
    display: inline-block;
    content: '';
    width: 6px;
    height: 6px;
    border-right: 2px solid #dedede;
    border-bottom: 2px solid #dedede;
    transform: rotate(-45deg);
    position: absolute;
    right: 20px;
    transition: 0.3s all;
}

.un_catList_pic {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50px;
    height: 45px;
    overflow: hidden;
}

.un_catList_pic img {
    display: block;
    width: auto;
    height: auto;
    object-fit: contain;
}

.un_orderSteps {
    margin-top: 40px;
    margin-bottom: 60px;
}

.un_orderSteps_list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}

.un_orderSteps_item {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 5px 0;
    padding: 20px 10px;
    background-color: #ffffff;
    border-radius: 10px;
    position: relative;
}

.un_orderSteps_item:not(:last-child):after {
    display: flex;
    justify-content: center;
    align-items: center;
    content: '▶';
    width: 32px;
    height: 32px;
    color: #ffffff;
    background-color: #e7c254;
    border-radius: 32px;
    position: absolute;
    top: 40%;
    right: -26px;
    z-index: 3;
}

.un_orderSteps_num {
    display: inline-block;
    color: #cdcdcd;
    font-size: 30px;
    font-weight: 600;
    position: absolute;
    top: 5px;
    left: 10px;
}

.un_orderSteps_pic {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 96px;
    height: 96px;
    margin: 0 !important;
}

.un_orderSteps_pic img {
    object-fit: contain;
}

.un_orderSteps_head {
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}

.un_orderSteps_text {
    font-size: 12px;
}

.un_orderSteps_strong {
    display: block;
    color: var(--c-main) !important;
    font-weight: 600;
    text-align: center !important;
}

.un_orderType {
    display: block;
}

.un_orderTypeTitle {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0 2em;
    margin-bottom: 60px;
    position: relative;
}

.un_orderTypeTitle::before,
.un_orderTypeTitle::after {
    display: block;
    content: '';
    width: 30%;
    height: 0vw;
    border-top: 3px dotted #97c0d9;
}

.un_orderTypeTitle_text {
    display: inline-block;
    color: var(--c-main);
    font-size: 20px;
    font-weight: 600;
    text-align: center;
}

.un_orderTypeTitle_text strong {
    font-size: 30px;
    font-weight: 600;
}

.un_orderType_list {
    display: flex;
    flex-direction: column;
    gap: 80px 0;
}

.un_orderType_item {
    padding: 60px 30px;
    background-color: #ffffff;
    border-radius: 10px;
    position: relative;
}

.un_orderType_badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 40px;
    padding: 0 1.5em;
    color: var(--c-main);
    background-color: #e7c254;
    border-radius: 40px;
    font-size: 20px;
    font-weight: 600;
    text-align: center;
    position: absolute;
    top: -20px;
    left: 30px;
}

.un_orderType_flex {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: center;
    gap: 0 20px;
}

.un_orderFlow {
    padding: 60px 30px;
    background-color: #f7f3ef;
    border-top: 30px solid var(--c-main);
}

.un_orderType_pic {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    width: 25%;
}

.un_orderType_pic img {
    object-fit: contain;
}

.un_orderType_inner {
    width: 75%;
}

.un_orderType_head {
    display: inline-block;
    margin-bottom: 10px;
    color: var(--c-main);
    font-size: 18px;
    font-weight: 600;
}

.un_orderType_text {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 14px;
    font-weight: 500;
}

.un_orderTypeStep {
    display: inline-flex;
    flex-direction: column;
    padding: 20px 2em;
    background-color: #f7f7f7;
    border-radius: 5px;
}

.un_orderTypeStep_item {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0 1em;
}

.un_orderTypeStep_badge {
    color: #979797;
    font-size: 16px;
    font-weight: 600;
}

.un_orderTypeStep_text {
    font-size: 14px;
    font-weight: 500;
}

.un_orderTypePoint {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 0 1em;
    margin-top: 20px;
}

.un_orderTypePoint_head {
    display: inline-flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 0 5px;
    color: #1a72a8;
    font-size: 14px;
    font-weight: 600;
}

.un_orderTypePoint_head::before {
    display: inline-block;
    content: '';
    width: 15px;
    height: 20px;
    background-image: url('https://ec.sakamoto-corp.net/user_data/packages/raku2pc/image/icon_point.svg');
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.un_orderTypePoint_text {
    display: inline-block;
    font-size: 14px;
}

.un_sceneTop_wrap {
    display: flex;
    flex-direction: column;
    gap: 60px;
    margin-top: 40px;
}

.un_sceneTop {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    gap: 0 40px;
    padding: 40px 35px 40px 0;
    position: relative;
    z-index: 2;
}

.un_sceneTop::after {
    display: block;
    content: '';
    width: 75%;
    height: 100%;
    background-color: #ffffff;
    border: 4px solid #f2f2f2;
    border-radius: 10px;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
}

.un_sceneTop__reverse {
    flex-direction: row-reverse;
    padding: 40px 0 40px 35px;
}

.un_sceneTop__reverse::after {
    right: inherit;
    left: 0;
}

.un_sceneTop_pic {
    display: block;
    width: 40%;
}

.un_sceneTop_pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.un_sceneTop_inner {
    display: block;
    width: calc(60% - 40px);
}

.un_sceneTopHead {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 5px;
}

.un_sceneTopHead_badge {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 25px;
    padding: 5px 2em;
    color: #ffffff;
    background-color: var(--c-main);
    font-size: 14px;
    font-weight: 600;
    border-radius: 25px;
}

.un_sceneTopHead_title {
    font-size: 20px;
    font-weight: 600;
}

.un_sceneTopHead_title strong {
    color: #1a72a8;
    font-weight: 600;
}

.un_sceneTop_text {
    font-size: 14px;
    font-weight: 500;
}

.un_sceneTopPoint {
    margin-top: 20px;
    padding: 20px;
    background-color: #f7f7f7;
    border-radius: 10px;
}

.un_sceneTopPoint_head {
    display: inline-block;
    margin-bottom: 10px;
    color: #1a72a8;
    font-size: 14px;
    font-weight: 600;
}

.un_sceneTopPoint_text {
    font-size: 14px;
    font-weight: 500;
}

.un_faq {
    margin-top: 40px;
    margin-bottom: 60px;
}

.un_faq_icon {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    width: 24px;
    height: 24px;
    border-radius: 24px;
    font-size: 16px;
    font-weight: 600;
}

.un_faq_icon__q {
    color: #ffffff;
    background-color: var(--c-main);
}

.un_faq_icon__a {
    color: var(--c-main);
    background-color: transparent;
}

.un_faq_text {
    display: block;
    width: calc(100% - 24px - 10px);
}

.un_faq_text__q {
    font-size: 16px;
    font-weight: 600;
}

.un_faq_text__a {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.8;
}

.un_faq_text__a a {
    text-decoration: underline;
}

/* ==========================================
   4. ヘルパー・モディファイア (.hp_)
   ========================================== */
.hp_color__main {
    color: var(--c-main) !important;
}

.hp_color__accent {
    color: var(--c-accent) !important;
}

.hp_align__center {
    text-align: center !important;
}
