/* ------------------------------------------
下層ページ　各ページ共通
------------------------------------------- */
/* 下層ページタイトル */
.main_container h2.pageTitle {
    margin-bottom: 1rem;
    font-size: 1.6rem;
}

/* ------------------------------------------
商品一覧 ６つのカテゴリのみがあるページ
------------------------------------------- */
.lineup_category .head {
    text-align: center;
}

.lineup_category .nav_list {
    justify-content: flex-start;
}

.lineup_category .nav_list li {
    background: #fff;
    border-radius: 4px;
    flex-basis: calc(100% / 2 - 8px);
    text-align: center;
    margin-bottom: 24px;
    border-right: 1px solid #E5E5E5;
    border-bottom: 1px solid #E5E5E5;
}

.lineup_category .nav_list li a {
    display: block;
    padding: 24px 24px 8px 24px;
}

.lineup_category .nav_list .name {
    font-size: 1rem;
    border-bottom: none;
    line-height: 1.5;
    margin-bottom: 0;
}

.lineup_category .nav_list li a:hover .name {
    color: #3567f1;
}

/* ------------------------------------------
商品一覧　各種詳細ページ共通
------------------------------------------- */

/* 商品一覧 - 詳細リスト部分 */
.rental_item_list_container .flexbox {
    justify-content: flex-start;
}

.rental_item_list_container .item {
    justify-content: space-between;
    background: #fff;
    border: 1px solid #E5E5E5;
    padding: 16px;
    margin-bottom: 24px;
    border-radius: 8px;
    position: relative;
}

.rental_item_list_container .img {
    margin-bottom: 16px;
}

.rental_item_list_container .name {
    font-weight: bold;
    font-size: 1.1rem;
    margin: 8px 0 16px;
}

.rental_item_list_container .campaign::after {
    content: "キャンペーン中";
    position: absolute;
    top: -8px;
    left: 8px;
    background: #FF8000;
    color: #fff;
    font-size: 0.8rem;
    font-weight: bold;
    padding: 0 16px;
    border-radius: 100px;
}

.rental_item_list_container .new::after {
    content: "New";
    position: absolute;
    top: -8px;
    left: 8px;
    background: #FF8000;
    color: #fff;
    font-size: 0.8rem;
    font-weight: bold;
    padding: 0 16px;
    border-radius: 100px;
}

/* 商品一覧 - 詳細リスト部分 - 金額 */
.rental_item_list_container {
    background: #F1F1F1;
    padding: 24px;
    border-radius: 8px;
    margin-bottom: 2rem;
}

.rental_item_list_container .price_list {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.rental_item_list_container .price_list>div {
    flex-basis: calc(100% / 2);
    padding: 8px;
}

.rental_item_list_container .price_list dt {
    color: #567476;
    border-bottom: 1px solid #E5E5E5;
    font-weight: normal;
}

.rental_item_list_container .price_list dd {
    font-weight: bold;
    margin: 0;
    color: #555;
}

.rental_item_list_container .price_list::after {
    content: "（税別）";
    display: block;
    flex-basis: 100%;
    text-align: right;
    font-size: 0.8rem;
    color: #555;
}

/* 商品一覧 - 詳細リスト部分 - スペック */
.rental_item_list_container .spec_list {
    display: flex;
    flex-wrap: wrap;
    font-size: 0.8rem;
    border: 1px solid #E5E5E5;
    padding: 8px;
    border-radius: 4px;
}

.rental_item_list_container .spec_list>div {
    flex-basis: calc(100% / 2);
    padding: 0 4px;
}

.rental_item_list_container .spec_list dt {
    background: #F1F1F1;
    font-weight: normal;
    padding: 0 4px;
    border-radius: 4px;
}

.rental_item_list_container .spec_list dd {
    padding: 0 4px;
    line-height: 1.5;
}

/* 商品一覧 - 詳細リスト部分 - オプション用 */
.rental_item_list_container .option_price {
    margin-bottom: 8px;
}

.rental_item_list_container .option_price>div {
    padding: 8px;
    display: flex;
    border-bottom: 1px solid #E5E5E5;
}

.rental_item_list_container .option_price dt {
    color: #567476;
    font-weight: normal;
}

.rental_item_list_container .option_price dd {
    font-weight: bold;
    margin: 0 0 0 16px;
    color: #555;
}

.rental_item_list_container .option_price::after {
    content: "（税別）";
    display: block;
    flex-basis: 100%;
    text-align: right;
    font-size: 0.8rem;
    color: #555;
}

/* ------------------------------------------
商品一覧 - レンタルフルセット用
------------------------------------------- */

h3.fullset_head {
    color: #3567f1;
}

/* index - ６点セット */
.ipad_safe_6point {
    background: #F1F1F1;
    background: url(/img/background/back_ichimatsu.png);
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #E5E5E5;
}

.ipad_safe_6point .head {
    border-bottom: none;
    border-left: none;
    margin-bottom: 0;
    padding: 8px 1px;
    text-align: center;
    color: #1C1A46;
}

.ipad_safe_6point .item {
    flex-basis: calc(100% / 3 - 8px);
    background: #fff;
    padding: 8px;
    border-radius: 8px;
    margin-bottom: 8px;
    border: 1px solid #E5E5E5;
    position: relative;
}

.ipad_safe_6point .item>div {
    display: flex;
    align-items: center;
    height: 100%;
}

.ipad_safe_6point .item .title {
    font-size: .9rem;
    line-height: 1;
    margin: 0;
    border-left: none;
    padding-left: 0;
}

.ipad_safe_6point .item img {
    width: 30px;
    height: 30px;
    display: block;
    margin: 0 8px;
}

.ipad_safe_6point .item.point::before {
    content: "注目";
    position: absolute;
    top: -10px;
    left: 0px;
    color: #fff;
    background: #ff8000;
    border-radius: 100px;
    font-size: .8rem;
    font-weight: bold;
    padding: 2px 8px;
    text-align: center;
    line-height: 1
}

.ipad_safe_6point .item span {
    line-height: 1.6;
}

.category_about_container {
    margin-bottom: 48px;
    padding: 0 16px;
}

.category_about_container .img_wrap {
    flex-basis: 25%;
}

.category_about_container .detail {
    flex-basis: 75%;
    padding: 8px 16px;
}

/* ------------------------------------------
商品一覧 - アプリ詳細用
------------------------------------------- */
.appset_container>.item {
    margin-bottom: 40px;
    padding: 24px;
    background: #fff;
    border-radius: 8px;
    border: 1px #E5E5E5 solid;
}

/* ------------------------------------------
商品一覧 - カバー3種について
------------------------------------------- */
.cover3_container>.item {
    margin-bottom: 40px;
    padding: 24px;
    background: #fff;
    border-radius: 8px;
    border: 1px #E5E5E5 solid;
}

/* ------------------------------------------
モバイルルーター 専用ホームキット
------------------------------------------- */
.customer_voice {
    max-width: 760px;
    margin: 40px auto 40px;
}

.customer_voice .voice {
    display: flex;
    align-items: center;
    border-radius: 34px;
    background: #f1f6f9;
    margin-bottom: 16px;
    padding: 8px 16px;
}

.customer_voice .voice::before {
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(/img/ui/human.png);
    background-size: contain;
    background-repeat: no-repeat;
    padding: 8px 16px;
}

/* ------------------------------------------
運営会社案内
------------------------------------------- */
.company_map {
    width: 100%;
}

.company_map iframe {
    width: 100%;
    height: 500px;
}

/* ------------------------------------------
フォームスタイル
------------------------------------------- */
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

label,
input,
select,
textarea {
    display: block;
    width: 100%;
    position: relative;
}

input,
select,
textarea {
    padding: 8px 16px;
    border: 1px solid #A5B6B4;
    background: #fff;
    border-radius: 4px;
    font-size: 1.1rem;
    height: 48px;
}

textarea {
    height: 200px;
}

input:focus,
select:focus,
textarea:focus {
    border: 1px solid #ffc25c;
    box-shadow: 0px 0px 2px#2E55A4;
    outline: 1px solid #ffc25c;
}

label {
    margin-bottom: 1rem;
}

::placeholder {
    color: #E5E5E5;
}

::-ms-input-placeholder {
    color: #E5E5E5;
}


.submit {
    position: relative;
    display: block;
    width: 100%;
    max-width: 300px;
    border-radius: 4px;
    margin: 32px auto 0;
    padding: 16px;
    background: #3567f1;
    cursor: pointer;
    color: #fff;
    text-align: center;
    text-decoration: none;
    font-size: 1.1rem;
    font-weight: bold;
    line-height: 1.5;
    outline: none;
    -webkit-box-shadow: 0 1.2rem 1rem -1rem rgba(25, 60, 77, 0.15);
    box-shadow: 0 1.2rem 1rem -1rem rgba(25, 60, 77, 0.15);
    -webkit-transition: all .3s;
    transition: all .3s;
}

.submit:hover {
    background: #FF8000;
}

.error_top {
    font-weight: bold;
    color: #ef1717;
    border: 1px solid #ef1717;
    border-left: 8px solid #ef1717;
    padding: 8px 16px;
    margin: 8px 0 24px;
    border-radius: 4px;
    position: relative;
    background: #fffdee;
}

.error_message {
    /* background: 0 0; */
    color: #ef1717;
    border: 1px solid #ef1717;
    padding: 8px 8px;
    margin: 8px 0 32px;
    border-radius: 10px;
    position: relative;
    background: #fffdee;
    width: 100%;
}

.error_message:before {
    content: "";
    position: absolute;
    top: -24px;
    left: 10%;
    margin-left: -15px;
    border: 12px solid transparent;
    border-bottom: 12px solid #fff;
    z-index: 2;
}

.error_message:after {
    content: "";
    position: absolute;
    top: -28px;
    left: 10%;
    margin-left: -17px;
    border: 14px solid transparent;
    border-bottom: 14px solid #ef1717;
    z-index: 1;
}


/* 見積・ご依頼、お問合わせ - 共通 */
.gray_background.form {
    padding: 80px 0;
    border-radius: 24px;
}

.form_container {
    max-width: 700px;
    margin: auto;
    padding: 24px 16px 32px;
    border: 2px solid #E5E5E5;
    background: #fff;
    border-radius: 4px;
}

.form_wrap {
    /* 項目ごとの区切り */
    border-bottom: 1px solid #E5E5E5;
    padding: 24px 16px 0;
}

.form_wrap:last-of-type {
    border-bottom: none;
}

.form_container .head {
    text-align: center;
    font-size: 1.2rem;
    background: #D5EFF3;
}

.form_container dd {
    margin-bottom: 40px;
}

.optional,
.required {
    display: inline-block;
    background: #E66363;
    color: #fff;
    font-size: .8em;
    font-weight: 400;
    padding: 0 8px;
    margin-left: 10px;
    border-radius: 20px;
}

.optional {
    background: #57a4e5;
}


/* 見積・ご依頼 */
.ipad_rent_input {
    max-width: 200px;
    /* height: 48px; */
    margin-right: 8px;
}

.form_container .flexbox {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    align-items: center;
}

.ipad_rent-4 {
    /* レンタル期間の単位 - 週間、ヶ月、年 */
    width: 30%;
    position: relative;
}

.ipad_rent-4::after {
    /* プルダウン矢印 */
    content: "";
    position: absolute;
    top: 16px;
    right: 11px;
    display: block;
    margin-top: 0;
    width: 10px;
    height: 10px;
    border-radius: 2px;
    border-right: 3px solid #A5B6B4;
    border-bottom: 3px solid #A5B6B4;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

.form_container .tips {
    list-style: disc inside none;
    padding: 16px;
    margin: 16px auto 32px;
    font-size: 0.8rem;
    color: #567476;
    background: #F1F1F1;
    border-radius: 16px;
}

.pattern2.form_wrap {
    background: #f1f6f9;
    padding: 16px;
}

.optional_wrap {
    background: #f1f6f9;
    padding: 16px;
    border-radius: 16px;
    margin-bottom: 24px;
}

.optional_wrap dd:last-child{
    margin-bottom: 0;
}

/* チェックマーク式リスト */
.form_list_inner label {
    padding-left: 30px;
    position: relative;
    display: block;
    margin: 8px auto 16px;
}

.form_list_inner label::after,
.form_list_inner label::before {
    position: absolute;
    content: '';
    transition: .2s
}

.form_list_inner label::before {
    top: 0;
    left: 0;
    width: 24px;
    height: 24px;
    background: #E5E5E5;
    border-radius: 10000px
}

.form_list_inner label::after {
    top: 3px;
    left: 7px;
    display: block;
    margin-top: 0;
    width: 10px;
    height: 14px;
    border-radius: 2px;
    border-right: 3px solid #fff;
    border-bottom: 3px solid #fff;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    opacity: 0
}

.form_list_inner input:checked+label::after {
    opacity: 1
}

.form_list_inner input:checked+label::before {
    opacity: 1;
    background: #FF8000;
}

/* ------------------------------------------
プラン・料金
------------------------------------------- */

.plan_container {
    justify-content: start;
    margin-bottom: 3rem;
}

.plan_container h3 {
    /* 料金プラン大見出し */
    flex-basis: 25%;
    border-bottom: none;
    margin-bottom: 0;
    padding: 16px;
    font-size: 1.1rem;
    border-left: 4px solid #3567f1;
    background: #E5E5E5;
}

.plan_price_container {
    flex-basis: calc(100% - 25%);
}

.plan_container h4 {
    /* 料金プラン細かい区分 */
    font-size: 1rem;
    margin: 0 auto 8px;
    padding: 0;
    color: #1C1A46;
    border-left: none;
}

.plan_price_container .item_wrap {
    background: #F1F1F1;
    border-bottom: 1px solid #E5E5E5;
    padding: 16px 24px;
}

.plan_price_container .item_wrap:hover {
    background: #fffdee;
}

.plan_price_container .price_list {
    background: #fff;
    border-radius: 8px;
}

.plan_price_container .price_list>div {
    padding: 8px 16px;
}

.plan_price_container.col1 .price_list>div {
    /* 1行の料金表 */
    flex-basis: calc(100%);
}

.plan_price_container.col4 .price_list>div {
    /* 4マスの料金表 */
    flex-basis: calc(100%/4);
}

.plan_price_container.col3 .price_list>div {
    /* 3マスの料金表 */
    flex-basis: calc(100%/3);
}

.plan_price_container .price_list dt {
    /* タイトル */
    color: #567476;
    border-bottom: 1px solid #E5E5E5;
    font-weight: normal;
}

.plan_price_container .price_list dd {
    /* 値段部分 */
    font-weight: bold;
    margin: 0;
    color: #555;
}

.plan_price_container .price_list .small {
    /* 月部分 */
    font-size: 0.8rem;
    color: #A5B6B4;
}

.plan_price_container .item_wrap::after {
    /* 税別 */
    content: "（税別）";
    display: block;
    flex-basis: 100%;
    text-align: right;
    font-size: 0.8rem;
    color: #567476;
}


.plan_price_container .green {
    border: 4px solid #cde7da;
}

.plan_price_container .red {
    border: 4px solid #f9e0d0;
}

.plan_price_container .purple {
    border: 4px solid #eddaf8;
}

.plan_price_container .blue {
    border: 4px solid #d0e8f9;
}

.plan_price_container .new {
    background: #ff8000;
    color: #fff;
    font-size: .8rem;
    font-weight: bold;
    padding: 0 8px;
    border-radius: 100px;
}

/* ------------------------------------------
計算機
------------------------------------------- */
.calc_container {
    background: #F1F1F1;
    border-radius: 16px;
    padding: 32px;
}

.plan_container .calc_title {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 16px;
    border-left: 4px solid #2E55A4;
    padding: 8px 8px 8px 16px;
}

.calc_qty_row {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-bottom: 1.5rem;
    flex-wrap: wrap;
}

.calc_label {
    font-weight: bold;
    font-size: 1rem;
    margin-bottom: 0;
}

.calc_qty_control {
    display: flex;
    align-items: center;
}

.calc_btn_qty {
    width: 36px;
    height: 36px;
    border: 2px solid #2E55A4;
    background: #fff;
    color: #2E55A4;
    border-radius: 8px;
    font-size: 1.3rem;
    line-height: 1;
    cursor: pointer;
    transition: background .2s, color .2s;
}

.calc_btn_qty:hover {
    background: #2E55A4;
    color: #fff;
}

.calc_qty_input {
    width: 60px;
    height: 36px;
    text-align: center;
    font-size: 1.1rem;
    border: 1px solid #C2D6DC;
    border-radius: 8px;
    padding: 0 8px;
    margin: 0 4px;
}

.calc_qty_input:focus {
    outline: 2px solid #2E55A4;
    border-color: #2E55A4;
}

.calc_note {
    font-size: .85rem;
    color: #E66363;
    font-weight: 600;
    margin: 0;
}

.calc_tabs {
    display: flex;
    gap: .5rem;
    margin-bottom: 1.25rem;
    border-bottom: 2px solid #E5E5E5;
    padding-bottom: 0;
}

.calc_tab {
    padding: .5rem 1.25rem;
    border: none;
    background: none;
    font-size: .95rem;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    border-bottom: 3px solid transparent;
    margin-bottom: -2px;
    transition: color .2s, border-color .2s;
}

.calc_tab.active {
    color: #2E55A4;
    border-bottom-color: #2E55A4;
}

.calc_models {}

.calc_model_card {
    background: #fff;
    border-radius: 10px;
    border: 1px solid #E5E5E5;
    padding: 1rem 1.25rem;
    box-shadow: 0 2px 6px rgba(0, 0, 0, .05);
}

.calc_model_name {
    font-weight: bold;
    font-size: .95rem;
    margin-bottom: .75rem;
    color: #555;
    display: flex;
    align-items: center;
    gap: .4rem;
    flex-wrap: wrap;
}

.calc_badge {
    background: #e74c3c;
    color: #fff;
    font-size: .7rem;
    padding: .1rem .4rem;
    border-radius: 4px;
    font-weight: bold;
}

.calc_result_grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.calc_result_item {
    display: flex;
    flex-direction: column;
    margin: 4px;
}

.calc_period {
    font-size: .75rem;
    color: #555;
}

.calc_period small {
    font-size: .7rem;
}

.calc_price {
    font-size: 1rem;
    font-weight: bold;
    color: #2E55A4;
}

.calc_price.has_surcharge::after {
    content: " (+送料¥800)";
    font-size: .7rem;
    font-weight: 400;
    color: #E66363;
}

.calc_footer_note {
    font-size: 0.8rem;
    color: #555;
    margin-top: 24px;
    margin-bottom: 0;
    border-top: 1px solid #E5E5E5;
    padding-top: 16px;
}

.button.calc a {
    margin: 24px auto 40px;
    padding: 4px 8px;
    font-size: 1rem;
    border: 1px #567476 solid;
}

@media (max-width: 600px) {
    .calc_container {
        padding: 1.25rem 1rem;
    }

    .calc_models {
        grid-template-columns: 1fr;
    }
}

/* ------------------------------------------
実績
------------------------------------------- */
.about_first_view_container {
    position: relative;
}

.first_view_text {
    position: absolute;
    background: rgb(253 255 247 / 90%);
    padding: 32px;
    max-width: 47%;
    top: 10%;
    left: 0%;
    box-shadow: 0 1.2rem 2rem -1rem hsl(200deg 50% 20% / 40%);
}

.first_view_img img {
    margin-right: 0;
    width: 500px;
}

/* ------------------------------------------
FAQページ
------------------------------------------- */

dl.faq {
    margin-left: 16px;
}

dl.faq dt {
    font-size: 1.1em;
    padding: 0 0 0 40px;
    margin-bottom: 24px;
    position: relative;
}

dl.faq dd {
    padding-bottom: 2rem;
    margin-bottom: 2rem;
}

dl.faq dd:not(:last-of-type) {
    border-bottom: 1px #C2D6DC dashed;
}

.Q_mark_wrap::after {
    position: absolute;
    content: "Q";
    width: 30px;
    height: 30px;
    line-height: 30px;
    background: #3567f1;
    color: #fff;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    top: 0;
    left: 0;
}

/* ------------------------------------------
らくらくアンケートレンタルおまかせセット
------------------------------------------- */
/* セット内容 */
.rakuraku_list_container .item {
    padding: 8px;
}

.rakuraku_list_container .img img {
    width: 90px;
    height: 90px;
}

/* 金額 */
.rakuraku_price_container .inner {
    margin: 0 auto;
}

.rakuraku_price_wrap {
    background: #fff;
    border-radius: 8px;
    max-width: 760px;
    padding: 24px 16px 8px;
    border: 1px solid #E5E5E5;
}

/* ご利用の流れ */
.rakuraku_flow li {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.rakuraku_flow li.rakuYOU {
    justify-content: flex-end;
    display: flex;
}

.rakuYOU .icon,
.rakuME .icon {
    display: inline-block;
    background: #1C1A46;
    color: #fff;
    min-width: 56px;
    width: 56px;
    height: 56px;
    border-radius: 100px;
    font-size: 0.9rem;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    line-height: 1;
    text-align: center;
}

.rakuYOU .icon {
    background: #FF8000;
    color: #fff;
    order: 2;
}

.rakuYOU .icon img,
.rakuME .icon img {
    width: 50px;
    height: 28px;
}

.rakuraku_flow li .text {
    background: #f1f6f9;
    display: inline-block;
    margin: 0 8px;
    padding: 16px 24px;
    border-radius: 8px;
    max-width: 670px;
}

.rakuraku_flow li.rakuYOU .text {
    background: #fff;
    border: 1px solid #E5E5E5;
    box-shadow: 0 0.4rem 0.5rem -0.5rem hsl(200deg 50% 20% / 20%);
    position: relative;
    overflow: hidden;
}

.rakuraku_flow li.rakuYOU .text::before {
    content: "";
    position: absolute;
    top: -21px;
    left: -15px;
    width: 30px;
    height: 30px;
    background: rgb(255 98 0 / 50%);
    transform: rotate(45deg);
}

/* ------------------------------------------
テレワークセット
------------------------------------------- */
/* セット内容 */
.tele_list_container .img img {
    width: 100px;
    height: 100px;
}

.telework_price_wrap,
.tele_item_detail_container .flexbox {
    align-items: center;
}

/* 金額 */
.telework_price_wrap {
    background: #fff;
    border-radius: 8px;
    max-width: 760px;
    margin: 40px auto;
    padding: 24px 16px 8px;
    border: 1px solid #E5E5E5;
}

/* ------------------------------------------
テレワークセット - 金額 - 共通
------------------------------------------- */
.rakuraku_price_wrap .price,
.telework_price_wrap .price {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 8px;
}

.rakuraku_price_wrap .price>div,
.telework_price_wrap .price>div {
    flex-basis: calc(100% / 2);
    padding: 8px;
}

.rakuraku_price_wrap .price dt,
.telework_price_wrap .price dt {
    color: #567476;
    border-bottom: 1px solid #E5E5E5;
    font-weight: normal;
}

.rakuraku_price_wrap .price dd,
.telework_price_wrap .price dd {
    font-weight: bold;
    margin: 0;
    color: #555;
}

.rakuraku_price_wrap .price::after,
.telework_price_wrap .price::after {
    content: "（税別）";
    display: block;
    flex-basis: 100%;
    text-align: right;
    font-size: 0.8rem;
    color: #555;
}


/* ------------------------------------------
アプリ開発
------------------------------------------- */
h3.consult_center_head {
    border-bottom: none !important;
    text-align: center;
    font-weight: bold;
    font-size: 1.3rem;
    background: #555;
    color: #fff !important;
    max-width: 520px;
    margin: 1rem auto 4rem;
    padding: 8px 1px;
    position: relative;
}

h3.consult_center_head::after {
    content: "";
    border: solid 20px #555;
    border-color: #555 transparent transparent transparent;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: -33px;
}

.consult_hukidasi2 {
    text-align: center;
    font-weight: bold;
    font-size: 1.3rem;
    background: #fffdee;
    color: #FF8000 !important;
    padding: 16px 4px;
    border-radius: 100px;
    max-width: 520px;
    margin: 1rem auto 4rem;
    position: relative;
    box-shadow: 0 1rem 0.8rem -1rem hsl(200deg 50% 20% / 20%);
}

.consult_hukidasi2::after {
    content: "";
    border: solid 20px #fffdee;
    border-color: #fffdee transparent transparent transparent;
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    bottom: -33px;
}

.consult_nayami {
    background: #E5E5E5;
    background: url(/img/background/back_kousi.png);
}

/* 序章 */

ul.nayami_list {
    max-width: 768px;
    margin: 1rem auto 4rem;
}

ul.nayami_list:not(.not_deco):not(.flexbox) li {
    padding: 8px 24px;
    margin-bottom: 24px;
    border-left: none;
    background: #fff;
    border-radius: 100px;
    position: relative;
}

ul.nayami_list li:before {
    content: "";
    background: #ffc25c;
    width: 13px;
    height: 13px;
    border-radius: 100px;
    position: absolute;
    top: 50%;
    left: -7px;
    transform: translateY(-50%);
}

/* 外部リンク集 */
.consult_dev_list {
    max-width: 768px;
    margin: 1rem auto 3rem;
}

.consult_dev_list li a {
    display: block;
    color: #456e6e;
    text-align: center;
    padding: 16px;
    border-radius: 8px;
    border: 1px solid #F1F1F1;
    background: #eff9e5;
    font-weight: bold;
}

li a.cardfeel {
    background: #fbf8ea;
}

li a.PagePalette {
    background: #d9f4f7;
}

li a.Coreregi {
    background: #d7f3f2;
}

.consult_dev_list li a:hover {
    opacity: 0.6;
}

.consult_dev_list .link {
    color: #567476;
    background: #fff;
    border-radius: 100px;
    padding: 2px 8px;
    font-size: 0.8rem;
}

/* メリット */
.consult_merit_list li {
    position: relative;
    margin-bottom: 3rem;
}

.consult_merit_list li:last-of-type {
    margin-bottom: 3rem;
}

.consult_merit_list .right figure {
    text-align: right;
}

.consult_merit_list img {
    display: inline;
    max-width: 500px;
}

.consult_merit_list .text {
    position: absolute;
    top: 4%;
    right: 0;
    background: #fbfff6;
    background: rgb(249 249 249 / 95%);
    z-index: 2;
    padding: 3rem;
    width: 500px;
}

.consult_merit_list h4 {
    font-size: 1.2rem;
    font-weight: bold;
    margin-bottom: 1.5rem;
    line-height: 1.8rem;
    border-left: none;
}

.consult_merit_list .text .num {
    display: block;
    font-size: 3.3rem;
    height: 100%;
    position: absolute;
    top: 31px;
    left: 7px;
    color: #3567f1;
}

.consult_merit_list .right .text {
    left: 0;
}

/* 4つのポイント */
.point_4list_container {
    background: #F1F1F1;
    background: url(/img/background/back_ichimatsu.png);
}

.point_4list li {
    padding: 24px;
    background: #fff;
    border-radius: 8px;
}

/* ------------------------------------------
ご利用事例
------------------------------------------- */
.results_list li {
    margin: 8px 4px;
    padding: 2px 8px 2px 16px;
    border-left: 4px solid #E5E5E5;
    font-weight: bold;
}

.result_container .trophy {
    color: #ef1717;
    font-size: 0.9rem;
    font-weight: bold;
    border: 1px #ef1717 solid;
    border-radius: 20px;
    padding: 1px 8px;
    margin-right: 8px;
}

.result_container .group {
    margin-bottom: 3rem;
}

.result_container .rental_detail dl {
    border: 1px solid #E5E5E5;
    padding: 16px 16px 8px 16px;
    border-radius: 8px;
}

.result_container .rental_detail dt {
    margin-bottom: 4px;
}

.result_container .rental_detail dd {
    margin-bottom: 4px;
    padding-left: 16px;
}

/* ------------------------------------------
特定商取引法の表記
会社概要
------------------------------------------- */
.summary_container {
    max-width: 760px;
    margin: 0 auto 40px;
    font-size: 0.9rem;
}

.summary_container>div {
    display: flex;
    border-bottom: 1px solid #E5E5E5;
    border-right: none;
    border-left: none;
}

.summary_container>div:first-of-type {
    border-top: 1px solid #E5E5E5;
}

.summary_container dt {
    background: #F1F1F1;
    width: 200px;
}

.summary_container dd {
    flex-basis: calc(100% - 200px);
}

.summary_container dt,
.summary_container dd {
    padding: 8px 16px;
    display: flex;
    align-items: center;
    margin: 0;
}

.company_banner img {
    width: 100%;
}

/* ------------------------------------------
スマートフォン～タブレット
------------------------------------------- */
@media all and (max-width: 1279px) {

    /* アプリ紹介のページ */
    .application_list li {
        padding: 8px 16px
    }

    /* アプリ開発のページ */
    .guide_merit_list li {
        margin-bottom: 18rem;
    }

    .guide_merit_list_text_wrap {
        top: 72%;
    }

    .achievement_company_list dt {
        text-align: center;
    }

    .achievement_company_list dd {
        margin-bottom: 1.7rem;
        text-align: center;
    }

    /* 実績紹介のページ */
    .achievement_case_text {
        flex-basis: 90%;
    }

    /* 1279px */
}

@media all and (max-width: 960px) {

    /* 960px */
}

@media all and (max-width: 767px) {

    /* 下層ページタイトル */
    .main_container h2.pageTitle.long {
        font-size: 1.3rem;
        line-height: 1.3;
    }

    /* かりっちゃについて */
    .first_view_text {
        position: static;
        padding: 40px 24px 32px;
        max-width: 100%;
        box-shadow: 0 0.8rem 2rem -1rem hsl(200deg 50% 20% / 15%);
    }

    /* 基本フルセット */
    .category_about_container {
        /* カテゴリの説明部分 */
        padding: 0;
    }

    /* 基本フルセット - 6点セット */
    .ipad_safe_6point .item .title {
        font-size: .8rem;
    }

    .ipad_safe_6point .item .title span {
        display: block;
    }

    .ipad_safe_6point .item img {
        margin: 0px;
        margin-right: 8px;
    }

    /* 基本フルセット - ラインナップの部分 */
    .rental_item_list_container {
        padding: 24px 8px;
    }

    .rental_item_list_container .name {
        font-size: 1rem;
        padding: 0 4px;
    }

    .rental_item_list_container .item {
        padding: 16px 8px 8px;
        margin: 0;
        margin-bottom: 8px;
    }

    /* らくらく */
    .rakuYOU .icon img,
    .rakuME .icon img {
        width: 100%;
    }

    /* フォーム */
    .gray_background.form {
        padding: 8px 8px;
        border-radius: 16px;
    }

    .form_container {
        border-radius: 16px;
    }

    .form_wrap {
        padding: 0;
    }

    /* ご利用の流れ */
    .history_flow>div {
        writing-mode: vertical-rl;
    }

    /* 特定商取引の表記 */
    .summary_container>div {
        flex-wrap: wrap;
    }

    .summary_container dt,
    .summary_container dd {
        width: 100%;
    }

    /* 767px */
}

@media all and (max-width: 580px) {

    /* プラン料金 */
    .plan_price_container.col4 .price_list>div {
        /* 4マスの料金表を2マスに */
        flex-basis: calc(100%/2);
    }

    .plan_price_container.col3 .price_list>div {
        padding: 8px 8px;
    }

    /* らくらく・テレワーク */
    .rakuraku_list_container .item,
    .tele_list_container .item {
        font-size: 0.9rem;
        padding: 0.8rem
    }

    .rakuraku_list_container .item p,
    .tele_list_container .item p {
        line-height: 1.4;
        margin-bottom: 0;
    }

    .rakuraku_list_container .img img,
    .tele_list_container .img img {
        width: 70px;
        height: 70px;
    }

    .rakuraku_flow li.rakuYOU {
        justify-content: start;
    }

    .rakuYOU .icon {
        order: 0;
    }

    /* ポップアップ */
    .regi_in_popup {
        border-radius: 16px;
        padding: 2rem 1rem;
        width: calc(100% - 13vw);
    }

    .popup_title {
        font-size: 1.3rem;
    }

    .popup_item {
        flex-basis: calc(100% / 3 - 8px);
    }

    .popup_list a {
        font-size: 0.8rem;
        line-height: 1rem;
        display: block;
        padding: 4px;
    }

    .popup_item_price {
        font-size: 1rem;
    }

    /* アプリ開発ご相談 */
    .consult_merit_list img {
        max-width: 100%;
    }

    .consult_merit_list .text .num {
        position: static;
        text-align: center;
        margin: 16px auto 24px;
    }

    .consult_merit_list .text {
        position: static;
        width: 100%;
        padding: 1.3rem 1rem 0.5rem;
    }

    /* 580px */

}


@media screen and (max-width: 320px) {

    /* とても狭い端末 */
    .rental_item_detail:not(.items_list_name) {
        flex-basis: 100%;
        max-width: 100%;
    }

    .conf_doc_regi input {
        width: 100%;
    }
}