@charset "UTF-8";
:root {
    --color-black: #000;
}
body {
    overflow-wrap: anywhere;
    word-break: normal;
    line-break: strict;
}
footer {
    margin-top: 1em;
    border-top: 1px solid #ccc;
}
.l-header {
    background: linear-gradient(to right, #16995e, #99d3b9);
}
.l-header.is-active {
    background: linear-gradient(to right, #16995e, #99d3b9);
}
/* MV
------------------------------ */
.mv {
    margin: 0;
    padding: 6em 0 0;
}
.mv__body {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    position: absolute;
    top: 70.8%;
    left: 6.1%;
    width: 87.8%;
}
.page__ttl {
    order: 4;
    width: 100%;
    margin: .3em 0 0;
    font-size: 3em;
    text-align: left;
    color: #034700;
}
.mv__txt {
    order: 3;
    width: 100%;
    font-family: Meiryo, "Helvetica Neue", Arial, sans-serif;
    font-size: 1.2em;
    line-height: 2;
    letter-spacing: 0.03em;
    text-align: left;
    color: var(--color-black);
}
.page__ttl--label {
    order: 2;
    display: inline-block;
    margin: 0 auto .4em 0;
    padding: .1em 1.2em;
    box-sizing: border-box;
    font-size: 1.6em;
    font-weight: bold;
    color: #fff;
    background-color: var(--color-black);
    border-radius: 2em;
}
@media screen and (max-width: 767px) {
    .mv {
        padding-top: 3em;
        margin-bottom: 4em;
    }
    .mv__body {
        top: 74%;
        left: 4%;
        width: 92%;
    }
    .page__ttl--label {
        font-size: 1.1em;
    }
    .page__ttl {
        margin-top: 0;
        font-size: 1.85em;
        line-height: 1.3;
    }
    .mv__txt {
        line-height: 1.3;
    }
}
/* concerns
-------------------- */
.concerns {}
.concerns_ttl {
    position: relative;
    width: fit-content;
    margin: auto;
    padding: .8em 1.2em;
    box-sizing: border-box;
    font-size: 2.2em;
    background-color: #d9dedb;
    border-radius: .5em;
}
.concerns_ttl::after {
    content: "";
    position: absolute;
    bottom: 1px;
    left: 50%;
    background: #d9dedb;
    height: calc(tan(60deg) * 1em / 2);
    width: 1.4em;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    transform: translate(-50%, 100%);
}
.concerns_body {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 3.5em;
    width: 87%;
    margin: 3em auto;
    padding: 0;
}
.concerns .balloon_ttl {
    width: 98%;
    margin: 0 auto;
    padding: 1em 1em .5em;
    box-sizing: border-box;
    font-size: 1.82em;
    text-align: center;
    letter-spacing: .08em;
    background-color: #edf4f0;
}
.concerns_body > li {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    height: 100%;
}
.concerns .balloon {
    position: relative;
    list-style: disc;
    width: 98%;
    margin: 0 auto .8em;
    padding: 0 1em 1.5em 2.2em;
    box-sizing: border-box;
    font-size: 1.25em;
    background-color: #edf4f0;
}
.concerns .balloon::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 37%;
    background: #edf4f0;
    height: 2em;
    width: 1.8em;
    clip-path: polygon(0 0, 100% 0, 75% 100%);
    transform: translateY(90%) rotate(-10deg);
}
.concerns_body .balloon_img {
    display: block;
    margin: auto auto 0;
}
@media screen and (max-width: 767px) {
    .concerns_body > li {
        grid-template-rows: auto;
    }
    .concerns_body .balloon_img {
        width: 80%;
    }
}
.problem_solving {
    display: flow-root;
}
.problem_solving_ttl {
    margin: .2em auto 1.2em;
    font-size: 2.7em;
    line-height: 1.45;
    text-align: center;
    color: #27c59a;
}
.problem_solving_ttl > span {
    display: inline-block;
    padding: .05em .8em;
    background: #f6ff6a;
}
.problem_solving_ttl span > span {
    display: inline-block;
}
@media screen and (max-width: 767px) {
    .concerns_ttl {
        width: 94%;
        margin: 0 auto;
        font-size: 1.6em;
        line-height: 1.3;
    }
    .concerns_body {
        grid-template-columns: 1fr;
        gap: 3em;
    }
    .problem_solving_ttl {
        width: 94%;
        margin: 0 auto 1em;
        font-size: 1.6em;
    }
}
/* set
-------------------- */
.set {
    display: flow-root;
    position: relative;
    z-index: 2;
}
.set_ttl {
    margin: 1.8em auto 1.15em;
    font-size: 2.1em;
    color: #0a9b89;
    text-align: center;
}
.set_list {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 1em;
    width: 93%;
    margin: 0 auto;
    padding: 0;
}
.set_list li {
    background: #f5f5f5;
    border-radius: 2em 2em 0 0;
}
.set_list h3 {
    padding: .9em 1em .5em;
    box-sizing: border-box;
    font-size: 1.8em;
    line-height: 1.4;
    text-align: center;
    color: #fff;
    background-color: #24b9a6;
    border-radius: .8em .8em 0 0;
}
.set_list p {
    margin: 1em 1.5em 1.5em;
    font-size: 1.25em;
    line-height: 1.8;
}
@media screen and (max-width: 767px) {
    .set_ttl {
        width: 94%;
        font-size: 1.6em;
        line-height: 1.3;
        /*        text-align: left;*/
    }
    .set_ttl span {
        display: inline-block;
    }
    .set_list {
        grid-template-columns: 1fr;
        gap: 1em;
    }
    .set_list h3 {
        font-size: 1.6em;
    }
}
/* price
-------------------- */
.price {
    position: relative;
    display: flow-root;
}
.price::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    margin-top: -8.5%;
    background: url("/business/package/imgs/problem_solving_bg.jpg") center top / 100% auto no-repeat;
}
.price_ttl {
    position: relative;
    width: fit-content;
    margin: 1.3em auto .4em;
    padding: .6em .8em;
    box-sizing: border-box;
    font-size: 2.8em;
    text-align: center;
    color: #24b9a6;
    background-color: #f6ff6a;
}
.price_ttl span {
    display: inline-block;
}
.price_txt {
    position: relative;
    width: fit-content;
    margin: 0 auto 2.6em;
    font-size: 1.7em;
    line-height: 1.5;
    text-align: center;
}
.price_txt strong {
    color: #0ba28f;
}
.price_list {
    list-style: none;
    position: relative;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em;
    width: 97.5384615%;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .price::before {
        height: 20%;
        margin-top: 0;
        background-image: url("/business/package/imgs/problem_solving_bg_sp.jpg");
    }
    .price_ttl {
        width: 94%;
        margin: 22vw auto .5em;
        font-size: 2em;
        line-height: 1.4;
    }
    .price_txt {
        width: 94%;
        margin: 0 auto 2em;
        font-size: 1.4em;
    }
    .price_list {
        grid-template-columns: 1fr;
        width: 94%;
    }
}
.price_item {
    height: 100%;
}
.price_list_ttl {
    margin: 0;
    padding: .4em;
    box-sizing: border-box;
    font-size: 3.3em;
    text-align: center;
    border-radius: 2rem 2rem 0 0;
}
@media screen and (max-width: 767px) {
    .price_list_ttl {
        font-size: 2em;
        border-radius: 1rem 1rem 0 0;
    }
}
.item_pro .price_list_ttl {
    background-color: #79d4c8;
}
.item_laptop .price_list_ttl {
    background-color: #97bbec;
}
.price_list_body {
    display: flow-root;
    padding: 1em 2em;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #8f9194;
    border-top: none;
    border-radius: 0 0 1.3em 1.3em;
}
@media screen and (max-width: 767px) {
    .price_list_body {
        padding: 1em;
    }
}
.price_list01, .price_list02 {
    list-style: none;
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 1.5em;
    margin: 1.2em auto 0;
    padding: 0;
}
.price_list02 {
    grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
    .price_list01, .price_list02 {
        grid-template-columns: 1fr;
    }
}
.price_list01 li, .price_list02 li {
    display: grid;
    grid-row-gap: 1em;
}
.price_list01 dl, .price_list02 dl {
    order: 2;
}
.price_list_photo {
    order: 1;
}
.price_list01 div, .price_list02 div {
    display: grid;
    background: #eee;
    padding: .1em .5em .5em;
    box-sizing: border-box;
    text-align: center;
    font-size: 1.3em;
}
.price_list02 div {
    width: 12em;
    margin-inline: auto;
}
.price_list01 dt, .price_list02 dt {
    font-size: 1.3em;
    margin-bottom: .2em;
}
.price_list01 dd, .price_list02 dd {
    margin: 0;
    padding: 0;
    line-height: 1.3;
}
.price_list01 strong, .price_list02 strong {
    display: block;
    font-size: 1.5em;
    font-weight: normal;
}
.price_list01 li:nth-child(2) dl {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 1.5em;
}
.price_list_name {
    font-weight: bold;
    color: #0f9785;
}
.price_list02 .price_list_name {
    color: #5287e9;
}
.price_list01 .price_list_photo img, .price_list02 .price_list_photo img {
    display: block;
    width: auto;
    height: 9.5em;
    margin: 0 auto 1em;
}
.price_item_total {
    display: grid;
    grid-gap: .4em;
    margin: .1em auto 0;
    font-size: 1.6em;
}
@media screen and (max-width: 767px) {
    .price_item_total {
        font-size: 1.3em;
    }
}
.price_item_total div {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.price_item_total dt {
    width: 5em;
    padding: .5em 2em;
    font-weight: bold;
    line-height: 1.1;
}
.price_item_total dd {
    margin: 0 1.2em 0 0;
    padding: 0;
    font-size: 1.5em;
}
@media screen and (max-width: 767px) {
    .price_item_total dt {
        padding: .5em;
    }
    .price_item_total dd {
        margin: 0;
    }
}
.price_item_total b {
    font-size: 1.5em;
    font-weight: normal;
}
.price_regular {
    position: relative;
}
.price_regular::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 5em;
    height: 3em;
    background: url("/business/package/imgs/icon_arrow01.png") center top / contain no-repeat;
    transform: translate(-50%, 90%);
}
.item_laptop .price_regular::after {
    background-image: url("/business/package/imgs/icon_arrow02.png");
}
.price_special strong {
    font-size: 1.3em;
    font-weight: bold;
    color: #da0000;
}
.price_special b {
    font-weight: bold;
}
.price_discount {
    position: relative;
    margin-top: 1.5em;
    padding: .2em 1em 1.4em;
    box-sizing: border-box;
    text-align: center;
    background: #fff;
    border: 2px solid #deddda;
    border-radius: .8em;
}
.price_discount::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 1px;
    left: 50%;
    background: #fff;
    height: calc(tan(60deg) * 2.8em / 2);
    width: 2em;
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    transform: translate(-50%, -100%);
}
.price_discount::after {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    background: #deddda;
    height: calc(tan(60deg) * calc(2.8em + 4px) / 2);
    width: calc(2em + 4px);
    clip-path: polygon(50% 0, 100% 100%, 0 100%);
    transform: translate(-50%, -100%);
}
.price_discount span {
    position: relative;
    display: inline-block;
    font-size: 2.4em;
    font-weight: bold;
    text-align: center;
    font-feature-settings: "palt";
    color: #da0000;
    transform: skewX(-10deg);
}
@media screen and (max-width: 767px) {
    .price_discount span {
        font-size: 1.5em;
    }
}
.price_discount span::before {
    content: "";
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: -5%;
    margin-bottom: .3em;
    width: 110%;
    height: 100%;
    background: url("/business/package/imgs/price_linre.png") center bottom / 100% auto no-repeat;
}
.price_discount strong {
    font-size: 1.87em;
}
/* btn
-------------------- */
.package_btn {
    position: relative;
    width: 100%;
    margin: 3.5em auto 1em;
    font-size: 1.25em;
    border: 4px solid #0aaf8a;
    box-sizing: border-box;
    border-radius: .5em;
}
.package_btn a {
    display: block;
    color: #000;
    text-decoration: none;
}
.package_btn_label {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
    padding: .2em 1.5em .2em .9em;
    box-sizing: border-box;
    font-size: 1.4em;
    font-weight: bold;
    background-color: #f3d100;
    transform: translate(-.8em, -1em);
}
.package_btn_label::before {
    position: absolute;
    z-index: -1;
    top: 100%;
    left: 0;
    width: 0px;
    height: 0px;
    border: none;
    border-bottom: .5em solid transparent;
    border-right: calc(.75em - 1px) solid #aa8900;
    content: '';
}
.package_btn_label::after {
    content: "";
    position: absolute;
    top: 0;
    width: 0;
    height: 0;
    border-color: #f3d100 transparent;
    border-style: solid;
    right: -.45em;
    border-width: 1em .5em 1em 0;
}
.package_btn_name {
    width: fit-content;
    margin: 0 auto .7em;
    padding-top: 1.5em;
    font-size: 1.7em;
    text-align: center;
}
.package_btn_name span {
    font-size: .9em;
}
.package_btn_price {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: calc(100% - 4.5em);
    margin: 0 auto .2em;
    font-size: 1.25em;
    font-weight: bold;
    line-height: 1.25;
}
.package_btn_price span {
    display: block;
    width: 5em;
    padding-top: .5em;
}
.package_btn_price strong {
    font-size: 1.6em;
}
.package_btn_price strong b {
    font-size: 1.8em;
}
.package_btn_txt {
    display: flex;
    justify-content: center;
    align-items: center;
    column-gap: 1em;
    width: 100%;
    padding: .4em .5em calc(.4em - 4px);
    box-sizing: border-box;
    font-size: 1.3em;
    font-weight: bold;
    text-align: center;
    color: #fff;
    background-color: #0aaf8a;
}
.package_btn_txt::after {
    content: "";
    width: .6em;
    height: .8em;
    background: url("/business/package/imgs/icon_arrow04.png") center / contain no-repeat;
}
.btn01, .btn03 {
    border-color: #0aaf8a;
    background-image: linear-gradient(180deg, #94ddd3 0, transparent 60% 60%);
}
.btn02, .btn04 {
    border-color: #5585c6;
    background-image: linear-gradient(180deg, #a8c6ef 0, transparent 60% 60%);
}
.btn01 .package_btn_price strong, .btn03 .package_btn_price strong {
    color: #0aaf8a;
}
.btn02 .package_btn_price strong, .btn04 .package_btn_price strong {
    color: #5585c6;
}
.btn02 .package_btn_txt, .btn04 .package_btn_txt {
    background-color: #5585c6;
}
.line_set .package_btn_name {
    margin: .8em auto;
    padding-top: 0;
}
.line_set .package_btn_price {
    display: block;
    margin-bottom: 1em;
}
.line_set .package_btn_price {
    font-size: 1.0em;
    text-align: center;
}
.line_set .package_btn_price strong b {
    font-size: 1.3em;
}
/* line set */
.line_set {
    display: flow-root;
    margin: 2.5em auto 0;
    background-color: #ececec;
}
.line_set_body {
    display: flow-root;
    width: 93.8461538%;
    margin: 4em auto;
    padding-bottom: 2.2em;
    background-color: #fff;
    border-radius: .8em;
}
.line_set_head {
    position: relative;
    width: 78%;
    margin: 2.9em auto 2.3em;
    padding-left: 8.4em;
    box-sizing: border-box;
    font-size: 1.8em;
}
.line_set_head::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 7em;
    height: 7em;
    background: url("/business/package/imgs/icon_great_value.png") center / contain no-repeat;
    transform: translateY(-48%);
}
.line_set_ttl {
    margin-bottom: .3em;
    padding-left: .5em;
    font-size: 1.3em;
    color: #27c59a;
}
.line_set_ttl span {
    display: inline-block;
}
.line_set_txt {
    text-indent: .7em;
}
.line_set_txt strong {
    display: inline-block;
    position: relative;
    margin-right: .2em;
    padding: .2em .5em;
    box-sizing: border-box;
    font-size: 1.25em;
    color: #27c59a;
    background-color: #f6ff6a;
    text-indent: 0;
}
.line_set_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 3.6em;
    width: 95.8%;
    margin: 1em auto;
}
.line_set .package_btn {
    margin-top: 0;
}
@media screen and (max-width: 767px) {
    .line_set_head {
        margin: 1.5em auto;
        padding-top: 5.5em;
        padding-left: 0;
        font-size: 1.25em;
        line-height: 1.4;
    }
    .line_set_head::before {
        top: 0;
        left: 50%;
        width: 5em;
        height: 5em;
        transform: translateX(-50%);
    }
    .line_set_body {
        padding-bottom: 0;
    }
    .line_set_ttl {
        margin: 0 1em .5em;
        padding: 0;
        font-size: 1.6em;
        text-align: center;
        line-height: 1.3;
    }
    .line_set_txt {
        font-size: 1em;
        margin-inline: auto;
        padding: 0;
        text-indent: 0;
    }
    .line_set_txt strong {
        display: inline;
        padding: 0;
        font-size: 1em;
    }
    .line_set .btn03 .package_btn_name, .line_set .btn04 .package_btn_name {
        padding-top: 0;
    }
    .package_btn {
        border-width: 2px;
    }
    .package_btn_price {
        width: 90%;
    }
    .package_btn_price {
        font-size: .8em;
    }
    .package_btn_label, .package_btn_txt {
        font-size: 1em;
    }
    .package_btn_name {
        font-size: 1.2em;
    }
    .btn03 .package_btn_name, .btn04 .package_btn_name {
        width: auto;
    }
    .line_set_list {
        grid-template-columns: 1fr;
        column-gap: 2em;
        width: 90%;
    }
    .btn03 .package_btn_price, .btn04 .package_btn_price {
        margin-bottom: .5em;
    }
    .btn03 .package_btn_price strong, .btn04 .package_btn_price strong {
        font-size: 1.4em;
    }
}
/* product_fs045w
-------------------- */
.product_fs045w {
    display: flow-root;
    margin: 0 auto 8vw;
    background: #c3e3f0 url("/business/package/imgs/product_fs045w_bg.jpg") top center / 100% auto no-repeat;
    border-top: 3px solid #bdc4c2;
}
.product_fs045w_head {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: max-content max-content 1fr;
    grid-gap: 2.8em 5em;
    align-items: start;
    width: 61.5384615%;
    margin: 2em auto 5em;
}
.product_fs045w_ttl {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
    padding: 1.5em 0 .8em;
}
.product_fs045w_ttl img {
    display: block;
    width: 88%;
    margin: 0 auto;
}
.product_fs045w_txt {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    font-size: 2.1em;
    font-weight: bold;
    text-align: center;
}
.product_fs045w_img {
    grid-column: 1 / 2;
    grid-row: 2 / 4;
    transform: translateX(1em);
}
.product_fs045w .package_link {
    grid-column: 2 / 3;
    grid-row: 3 / 4;
}
@media screen and (max-width: 767px) {
    .product_fs045w {
        background-image: url("/business/package/imgs/product_fs045w_bg_sp.jpg");
    }
    .product_fs045w_head {
        grid-template-columns: 1fr;
        grid-gap: 1em;
        width: 96%;
        margin-bottom: 3em;
    }
    .product_fs045w_ttl, .product_fs045w_txt, .product_fs045w_img, .product_fs045w .package_link {
        grid-column: auto;
        grid-row: auto;
    }
    .product_fs045w_ttl {
        order: 3;
    }
    .product_fs045w_txt {
        order: 1;
        font-size: 1.8em;
    }
    .product_fs045w_txt span {
        display: inline-block;
    }
    .product_fs045w_img {
        order: 2;
        width: 32%;
        margin: 0 auto;
        transform: translateX(0);
    }
    .product_fs045w_ttl img {
        width: 66%;
    }
    .product_fs045w .package_link {
        order: 4;
        width: 90%;
        margin: 0 auto;
        line-height: 1.3;
    }
    .product_fs045w .package_link span {
        display: inline-block;
    }
}
.product_features {
    list-style: none;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 2em;
    width: 84.6153846%;
    margin: 0 auto 3.2vw;
    padding: 0;
}
.product_features li {
    display: grid;
    padding: 2em;
    box-sizing: border-box;
    font-size: 1.25em;
    line-height: 1.55;
    background-color: #fff;
}
.product_features h3 {
    font-size: 1.11em;
    margin-bottom: 1em;
    line-height: 1.3;
    color: #009ad8;
    margin-inline: auto;
    max-inline-size: max-content;
}
@media screen and (max-width: 767px) {
    .product_features {
        grid-template-columns: 1fr;
        gap: 2em;
        width: 90%;
        margin-bottom: 3em;
    }
}
/* specifications
-------------------- */
.specifications {
    display: flow-root;
    background: #fff;
}
.specifications_ttl {
    width: fit-content;
    margin: 2em auto .85em;
    font-size: 2em;
}
.specifications .l-sec__body {
    padding: 3.6em 0 4em;
}
.spec__table {
    width: 83.8461538%;
    margin: 0 auto;
    font-size: 1.1em;
}
/* block line
-------------------- */
.block_line {
    position: relative;
}
.block_line::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    width: 96%;
    height: 0;
    border-bottom: 3px solid #bdc4c2;
    transform: translateX(-50%);
}
/* others
-------------------- */
.others {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 42.5%;
    grid-template-rows: max-content 1fr;
    gap: 1em 5em;
    padding: 2em 0 2em 3.5em;
}
.others_ttl {
    font-size: 2em;
    line-height: 1.4;
    color: #129181;
    text-align: center;
}
.others_ttl span {
    display: inline-block;
}
.others_link {
    width: fit-content;
    margin-inline: auto;
}
.others_img {
    grid-column: 2 / 3;
    grid-row: 1 / 3;
    width: 65%;
}
.others02 {
    align-items: center;
}
.others02 .others_img {
    grid-column: auto;
    grid-row: auto;
}

@media screen and (max-width: 767px) {
    .others {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 0 auto;
        padding: 2em 0;
    }
    .others_ttl {
        font-size: 1.6em;
        line-height: 1.3;
    }
    .others_ttl span {
        display: inline-block;
    }
    .others_img {
        grid-column: auto;
        grid-row: auto;
        width: 80%;
        margin: 0 auto 2em;
    }
    .others_link {
        width: 100%;
    }
}

/* 画像下のカプセルボタン */
.others_capsule {
  display: flex;
  justify-content: center;
  margin-top: 12px;
}
.others_capsule__btn {
  display: inline-block;
  width: 80%;
  max-width: 560px;            /* 大きすぎないように制限 */
  padding: 12px 20px;
  border-radius: 9999px;
  background: #629ae7;
  color: #fff;
  text-align: center;
  text-decoration: none;
  font-weight: 600;
  font-size: 14px;
  box-shadow: .1em .2em 0 0 #316ab9; /* 「問い合わせはこちら」風の浮き上がり */
  transition: transform 0.15s ease, box-shadow 0.15s ease, opacity 0.15s ease;
}
.others_capsule__btn:hover {
  background-color: #316ab9;
  transform: translateY(.5em);
        box-shadow: none;
}
/* モバイルでも画像の直下に揃うように */
.others .others_img {
  display: block;
}

/* plan
-------------------- */
.plan {
    position: relative;
    display: grid;
    grid-template-columns: 1fr 42.5%;
    grid-template-rows: max-content max-content 1fr;
    gap: 1em 5em;
    margin: 6em auto;
    padding: 0 0 5em 3.5em;
}
.plan_ttl {
    margin-top: .4em;
    font-size: 2em;
    line-height: 1.4;
    color: #333d3c;
}
.plan_ttl span {
    display: inline-block;
}
.plan_txt {
    margin-bottom: 2em;
    font-size: 1.25em;
}
.plan_link {
    width: fit-content;
    margin-inline: auto;
}
.plan_link.package_link a {
    background-color: #629ae7;
    box-shadow: .1em .2em 0 0 #316ab9;
}
.plan_img {
    grid-column: 2 / 3;
    grid-row: 1 / 4;
    margin: auto;
}
@media screen and (max-width: 767px) {
    .plan {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 2em auto;
        padding-left: 0;
    }
    .plan_ttl {
        font-size: 1.8em;
        line-height: 1.3;
    }
    .plan_img {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
    }
    .plan_link {
        width: 100%;
    }
}
/* link
-------------------- */
.package_link a {
    display: grid;
    grid-template-columns: 1em 1fr 1em;
    align-items: center;
    column-gap: 1em;
    padding: .7em 1.5em;
    font-size: 1.4em;
    text-decoration: none;
    text-align: center;
    color: #fff;
    background-color: #24b9a6;
    border-radius: 2em;
    box-shadow: .1em .2em 0 0 #0e8374;
}
.package_link a::before {
    content: "";
}
.package_link a::after {
    content: "";
    width: .8em;
    height: .8em;
    background: url("/business/package/imgs/icon_arrow03.png") center / contain no-repeat;
}
@media screen and (max-width: 767px) {
    .package_link a {
        padding: 1.2em;
        font-size: 1.6rem;
    }
}
/* item_surface
-------------------- */
.item_surface {
    padding-bottom: 5em;
}
.item_surface_ttl {
    width: fit-content;
    font-size: 2.6em;
    margin: 1em auto 1.6em;
}
.item_surface_body {
    display: grid;
    grid-template-columns: 48.3% 1fr;
    grid-template-rows: max-content max-content max-content max-content 1fr;
    column-gap: .7em;
    width: 95%;
    margin: 0 auto 2em;
    padding: 2em;
    box-sizing: border-box;
    background-color: #f5f5f5;
}
.item_surface_ttl02 {
    grid-column: 1 / 3;
    grid-row: 1 / 2;
    width: fit-content;
    font-size: 2.6em;
    font-weight: bold;
    margin: 0 auto;
}
.item_surface--pro .item_surface_ttl02 {
    color: #1c9f8e;
}
.item_surface--laptop .item_surface_ttl02 {
    color: #4d8bdf;
}
.item_surface_name {
    grid-column: 1 / 2;
    grid-row: 3 / 4;
    font-size: 2.8em;
    font-weight: normal;
    margin: .7em 0 1em 1rem;
}
.item_surface_name small {
    font-size: .7em;
}
.item_surface_img {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
}
.item_surface_color {
    display: flex;
    column-gap: 1em;
    align-items: center;
    grid-column: 1 / 2;
    grid-row: 4 / 5;
    margin: 0 0 1em 1rem;
    font-size: 1.25em;
}
.item_surface_color::after {
    content: "";
    width: 1.2em;
    height: 1.2em;
    background-color: #e2e4e4;
    border: 4px solid #fff;
    outline: 1px solid #000;
    border-radius: 50%;
}
.item_surface_features {
    list-style: none;
    display: grid;
    gap: 1em;
    grid-column: 2 / 3;
    grid-row: 2 / 6;
    width: 100%;
    margin: 2.8em auto 0 0;
    padding: 0;
}
.item_surface_features li {
    padding: 1.3em 1.3em 1.0em;
    box-sizing: border-box;
    font-size: 1.4em;
    background: #fff;
}
.item_surface_features li h4 {
    margin-bottom: .4em;
}
.item_surface--pro .item_surface_features li h4 {
    color: #1c9f8e;
}
.item_surface--laptop .item_surface_features li h4 {
    color: #4d8bdf;
}
.item_surface_notes {
    grid-column: 1 / 2;
    grid-row: 5 / 6;
    margin: 0 0 0 1rem;
    font-size: 1.25em;
}
@media screen and (max-width: 767px) {
    .item_surface {
        width: 96%;
        margin: 0 auto 1em;
    }
    .item_surface_ttl {
        max-width: 16em;
        margin: 2em auto 1em;
        font-size: 1.6em;
        line-height: 1.3;
        text-align: center;
    }
    .item_surface_ttl span {
        display: inline-block;
    }
    .item_surface_body {
        grid-template-columns: 1fr;
        width: 100%;
        padding: 2em 1em;
    }
    .item_surface_ttl02, .item_surface_name, .item_surface_img, .item_surface_color, .item_surface_features, .item_surface_notes {
        grid-column: auto;
        grid-row: auto;
    }
    .item_surface_name {
        order: 3;
        margin: 0 auto 1em;
        font-size: 1.8em;
        text-align: center;
    }
    .item_surface_ttl02 {
        order: 1;
        font-size: 1.6em;
        line-height: 1.3;
    }
    .item_surface_img {
        order: 2;
    }
    .item_surface_color {
        order: 4;
        font-size: 1em;
    }
    .item_surface_features {
        order: 5;
        margin-top: 1em;
        font-size: 1rem;
        line-height: 1.4;
    }
    .item_surface_features li h4 {
        line-height: 1.4;
    }
    .item_surface_notes {
        order: 6;
        margin: 2em auto 0;
        line-height: 1.3;
    }
}
/* option
-------------------- */
.option {
    display: flow-root;
    width: 96%;
    margin: 7vw auto 4vw;
}
.option_ttl {
    display: grid;
    grid-template-columns: 3.4em 1fr;
    column-gap: 1em;
    align-items: center;
    width: 90%;
    margin: 0 auto .7em;
    padding: .9em 2em;
    box-sizing: border-box;
    font-size: 2.2em;
    line-height: 1.5;
    color: #333d3c;
    background-color: #e6fbf8;
    border: 2px solid #37ab9c;
}
.option_ttl::before {
    content: "";
    width: 3.4em;
    height: 3.4em;
}
.kitting .option_ttl::before {
    background: url("/business/package/imgs/option_icon01.png") center / contain no-repeat;
}
.security .option_ttl::before {
    background: url("/business/package/imgs/option_icon05.png") center / contain no-repeat;
}
.option_txt {
    width: calc(90% - 2em);
    margin: 0 auto 2em;
    font-size: 1.3em;
}
.kitting_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1em;
    margin: 6.5em auto 2.4em;
}
.kitting_list_block {
    position: relative;
    padding: 4em 1.2em 1.5em;
    box-sizing: border-box;
    font-size: 1.25em;
    background: #f5f5f5;
}
.kitting_list_block::before {
    content: "";
    position: absolute;
    top: 0;
    left: 50%;
    width: 5.8em;
    height: 5.8em;
    transform: translate(-50%, -50%);
}
.kitting01::before {
    background: url("/business/package/imgs/option_icon02.png") center / contain no-repeat;
}
.kitting02::before {
    background: url("/business/package/imgs/option_icon03.png") center / contain no-repeat;
}
.kitting03::before {
    background: url("/business/package/imgs/option_icon04.png") center / contain no-repeat;
}
.kitting_list_ttl {
    font-size: 1.65em;
    font-weight: normal;
    text-align: center;
}
.kitting_list_block ul {
    display: grid;
    grid-gap: 1.7em;
    padding: 0 0 0 1em;
}
.kitting_list_block ul strong {
    display: block;
    font-weight: normal;
}
.option_link {
    width: fit-content;
    margin: 3em auto 5em;
}
.option_security_img {
    display: block;
    width: 90%;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .option {
        width: 90%;
    }
    .option_ttl {
        grid-template-columns: 1fr;
        grid-gap: .5em;
        width: 100%;
        padding: .5em;
        font-size: 1.4em;
        line-height: 1.4;
    }
    .option_ttl::before {
        margin: auto;
    }
    .security .option_ttl {
        text-align: center;
    }
    .option_txt {
        width: 100%;
    }
    .kitting_list_block::before {
        width: 4.5em;
        height: 4.5em;
    }
    .kitting_list {
        grid-template-columns: 1fr;
        margin-top: 0;
    }
    .kitting_list_ttl {
        font-size: 1.4em;
    }
    .kitting_list_block {
        margin-top: 3em;
    }
    .option_link a span {
        display: inline-block;
    }
    .option_security_img {
        width: 100%;
    }
    .option_link {
        width: 100%;
    }
}
/* links
-------------------- */
.package_links {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 2em;
    align-items: center;
    width: 97.6%;
    margin: 6em auto 5.3em;
}
.package_links_ttl {
    margin: 0 auto 1.1em;
    padding: .4em;
    box-sizing: border-box;
    font-size: 3.4em;
    text-align: center;
    background: #79d4c8;
    border-radius: .5em;
}
.package_links01 .package_links_ttl {
    background: #79d4c8;
}
.package_links02 .package_links_ttl {
    background: #97bbec;
}
.package_links .package_btn {
    width: 90%;
    margin: 0 auto;
}
@media screen and (max-width: 767px) {
    .package_links {
        grid-template-columns: 1fr;
        width: 90%;
        margin: 2em auto;
    }
    .package_links_ttl {
        font-size: 2em;
    }
}
@media (hover: hover) {
    .package_link a {
        transition: .2s;
    }
    .package_link a:hover {
        background-color: #0e8374;
        transform: translateY(.5em);
        box-shadow: none;
    }
    .plan_link.package_link a:hover {
        background-color: #316ab9;
    }
    .package_btn .package_btn_price strong, .package_btn .package_btn_txt {
        transition: .2s;
    }
    .package_btn a:hover .package_btn_txt {
        background: red;
    }
    .package_btn a:hover .package_btn_price strong {
        color: red;
    }
}