@charset "utf-8";
html,
body {
    width: 100%;
    height: 100%;
    padding: 0;
    border: none;
}

body {
    background-color: #fff;
    overflow-x: hidden;
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", Hiragino Kaku Gothic ProN, Arial, "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, font-family: sans-serif;
    -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", Hiragino Kaku Gothic ProN, Arial, "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, font-family: sans-serif;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ãƒ’ãƒ©ã‚®ãƒŽè§’ã‚´ ProN W3", Hiragino Kaku Gothic ProN, Arial, "ãƒ¡ã‚¤ãƒªã‚ª", Meiryo, sans-serif;
    font-weight: 500;
}

article,
header {
    background-color: #fff;
    width: 100%;
    max-width: 100%;
}

#all {
    opacity: 0;
    transition: opacity .3s;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

footer {
    width: 100%;
    max-width: 100%;
    opacity: 0;
    transition: opacity .3s;
}

.pc_block {
    display: none
}

.sp_block {
    display: block
}

@media screen and (min-width:800px) {
    .pc_block {
        display: block
    }
    .sp_block {
        display: none
    }
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: normal;
    font-weight: 400;
    src: url('../font/NotoSansCJKjp-Regular.woff') format('woff');
}

@font-face {
    font-family: 'Noto Sans Japanese';
    font-style: bold;
    font-weight: 700;
    src: url('../font/NotoSansCJKjp-Bold.woff') format('woff');
}

@font-face {
    font-family: 'Ropa Sans';
    font-style: normal;
    font-weight: 200;
    src: url('../font/RopaSans-Regular.woff') format('woff');
}

.font_en {
    font-family: 'Ropa Sans', sans-serif;
}

.font_round {
    /* font-family: "YakuHanJP",dnp-shuei-mgothic-std, sans-serif; */
    /* font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif; */
}

.text_yellow {
    color: #d1d721;
}

.text_green {
    color: #90a900;
}

.text_gray {
    color: #83929c;
}

.marker {
    background: linear-gradient(transparent 60%, #e9ec66 0%);
}

.container {
    position: relative;
    background: #FFF;
    padding: 1rem 0;
}

.section_title+.container {
    padding: 1rem 0 5rem;
}

.section_title.noborder+.container {
    padding: 1rem 0 5rem;
}

.back_gray {
    background-color: #eff3f5;
}

.back_yellow {
    background-color: #f4f7ac;
}

.container figure,
.container .figure {
    margin: 1rem 1px;
    text-align: center;
}

hr {
    height: 0;
    border: 0;
    margin: 3rem 0;
    border-top: 1px solid #f0eee9;
}

hr.newline {
    border-top: transparent;
    margin: 0;
    width: 100%;
    height: 1px!important;
}

.loader {
    position: absolute;
    top: calc(50vh - 100px);
    left: calc(50vw - 25px);
    display: inline-block;
    width: 50px;
    height: 50px;
    border: 2px solid #ddd;
    border-radius: 50%;
    -webkit-animation: spin 0.75s infinite linear;
    animation: spin 0.75s infinite linear;
    border-top-color: transparent;
}

.loader::after {
    left: -2px;
    top: -2px;
    position: absolute;
    content: '';
    width: inherit;
    height: inherit;
    border: inherit;
    border-radius: inherit;
    display: block;
    -webkit-transform: rotate(65deg);
    transform: rotate(65deg);
}

@-webkit-keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg)
    }
    ;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }
    100% {
        transform: rotate(360deg)
    }
    ;
}


/* HEADER */

.header {
    display: none;
}


/* FOOTER */

.footer {
    padding: 1rem 0 2rem;
    font-size: 1.5rem;
}

.footer .wrapper+.wrapper:before {
    content: "";
    display: block;
    margin: 1rem auto 2rem;
    height: 1px;
    background: #e5e5e5;
}

.footer .footer_menu {
    display: none;
}

.footer .powered,
.footer .copyright {
    font-size: 1.2rem;
    padding-right: 0;
    padding-left: 0;
}

.footer .powered {
    padding: 0;
    text-align: right;
}

.footer .powered p,
.footer .powered a {
    display: inline-block;
    vertical-align: middle;
}

.footer .powered a {
    margin-left: .5rem;
}


/* COMMON */


/* caption */

.caption.source {
    position: relative;
    margin-top: 1rem;
    padding: 0 0 0 3.5rem;
}

.caption.source>span {
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}


/* movie */

.wrap_movie {
    position: relative;
    height: 0;
    padding-bottom: 56.25%;
    /*margin-bottom:40px;*/
    overflow: hidden;
}

.wrap_movie iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.wrap_video video {
    width: 100%;
}


/* category_head */

.category_head {
    position: relative;
    background: #eff3f5;
    min-height: 50px;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: bold;
    box-sizing: border-box;
}

nav.category_head {
    display: none;
    background: #eff3f5 url(../images/bg_sectiontitle_head.svg) no-repeat left bottom;
    background-size: auto 100%;
}

.category_head h1 {
    padding-top: 15px;
    text-align: center;
    font-size: 129%;
    line-height: 1;
}

.category_head ul {
    position: relative;
    z-index: 10;
    text-align: center;
    padding-top: 12px;
}

.category_head ul li {
    display: inline-block;
    margin: 0 10px;
}

.category_head ul li a {
    position: relative;
    display: inline-block;
    padding: 0 5px;
    font-size: 100%;
}

.category_head ul li a:before {
    content: "";
    position: absolute;
    bottom: -10px;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: #e5eb36;
    transition: transform .2s;
    transform-origin: 50% center;
    transform: scaleX(0);
}

.category_head ul li a:hover {
    opacity: 1;
}

.category_head ul li a:hover:before,
.category_head ul li.current a:before {
    transform: scaleX(1);
}


/* サービス用category_head */

nav.category_head.service {
    background-image: none;
}

.category_head.service {
    text-align: center;
}

.category_head.service ul {
    display: none;
}

.category_head.service h1 {
    display: inline-block;
    padding-top: 12px;
    padding-left: 10px;
    position: absolute;
    left: 5px;
    top: 5px;
    width: 180px;
}

.category_head.service a.btn_amazon {
    position: absolute;
    top: 0;
    right: 0;
    height: 50px;
    width: 90px;
    background: #231815;
    text-align: center;
    color: #FFF;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
}

.category_head.service a.btn_amazon img {
    margin-right: 5px;
}

.category_head.service a.btn_amazon span {
    display: inline-block;
    position: relative;
    top: 10px;
}


/* サービスbottom用category_head */

.bottom_nav {
    position: relative;
    margin-top: 1rem;
    background-color: #f8f7f7;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: bold;
}

.bottom_nav.service h1 {
    display: none;
}

.bottom_nav ul {
    padding: 0 20px 15px;
}

.bottom_nav ul li {
    border-bottom: 1px solid #FFF;
}

.bottom_nav ul li a {
    position: relative;
    display: block;
    padding: 15px 0;
}

.bottom_nav a.btn_amazon {
    display: block;
    padding: 0 20px 15px;
}

.bottom_nav ul li.current a:before {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 0;
    display: block;
    width: 40%;
    height: 2px;
    background: #000;
}

.bottom_nav.service .btn_service-nav {
    display: none;
}

.bottom_nav.service ul li.on-sp {
    display: block;
}


/* bottom_contact */

.bottom_contact {
    background: #f7f9fa;
}


/* campaign banner */

.container.campaign {
    padding: 3rem 0;
}

a.box_campaign,
div.box_campaign {
    display: block;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    text-align: left;
}

.box_campaign figure {
    display: inline-block;
    margin-bottom: .5rem;
    background: #f44b4d;
    padding: 5px;
    max-width: 360px;
}

.box_campaign.green figure {
    background: #d1d721;
}

.box_campaign.pink figure {
    background: #fe5d7f;
}

.box_campaign figure img {
    display: block;
    border-radius: 8px;
}

.box_campaign h1 {
    font-size: 106%;
}

.box_campaign p {
    font-size: 82%;
}


/* TITLE */

.section_title {
    position: relative;
    padding: 30px 0 30px 20px;
    /* background-image: url(images/bg_sectiontitle.svg); */
    background-repeat: no-repeat;
    background-position: 0 0;
    background-size: 45px;
    max-width: 1200px;
    margin: 0 auto;
    width: 90%;
    /* padding: 30px 0; */
}

.section_title.no_triangle {
    background: none;
}

.section_title h1 {
    font-size: 182%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.2;
}

.section_title h1 span {
    display: block;
    font-size: 70%;
    font-family: 'Ropa Sans', sans-serif;
    letter-spacing: 0.04em;
}

.section_title h1 strong:after {
    content: "";
    margin: 1.5rem 0;
    display: block;
    height: 2px;
    width: 94px;
    background: #333;
}

.section_title h1 small {
    display: inline-block;
    margin-bottom: .8rem;
    font-size: 70%;
}

nav.category_head+.section_title:before {
    content: "";
    position: absolute;
    top: -60px;
    left: 0;
    display: block;
    width: 185px;
    height: 60px;
    z-index: 60;
}

.section_title.noborder h1 strong:after {
    display: none;
}


/* comment set */

.section_title.comment_set {
    overflow-x: hidden;
}

.section_title.comment_set .comment {
    margin-top: 2rem;
}

.section_title.comment_set .comment p {
    display: inline-block;
    position: relative;
    padding: 1.5rem;
    margin-right: 115px;
    background: #FFF;
    border-radius: 20px;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 94%;
}

.section_title.comment_set .comment p:before {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -105px;
    content: "";
    display: block;
    width: 90px;
    height: 80px;
    background: url(../images/service_comment_nya.png) no-repeat right center;
    background-size: 90px;
}

.section_title.comment_set .comment p:after {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    content: "";
    width: 0;
    display: block;
    border: 12px solid transparent;
    border-left-color: #FFF;
    border-right-width: 0;
    right: -11px;
}

.section_title.comment_set .comment.gray p {
    background: #eff3f5;
}

.section_title.comment_set .comment.gray p:after {
    border-left-color: #eff3f5;
}

.main_title {
    text-align: center;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 165%;
}

.main_title strong {
    color: #d1d721;
}

.main_title:after {
    content: "";
    display: block;
    margin: 2.5rem auto 2rem;
    width: 94px;
    height: 2px;
    background: #83929c;
}

.sub_title {
    text-align: center;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 106%;
    letter-spacing: 0.04em;
}

.corner_title {
    margin-bottom: 3rem;
    font-size: 165%;
    text-align: center;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.font_round.head_20 {
    font-size: 120%;
    font-weight: 600;
    line-height: 1.6;
}

.font_round.head_22 {
    font-size: 141%;
    font-weight: 600;
    line-height: 1.6;
}

.font_round.head_24 {
    font-size: 153%;
    font-weight: 600;
    line-height: 1.5;
}

.font_round.head_28 {
    font-size: 176%;
    line-height: 1.6;
}


/* LINK / BUTTON */

a.underline {
    border-bottom: 1px dotted #d1d721;
}

a.text_green {
    color: #90a900;
    font-weight: 600;
}

a.other_before {
    display: inline-block;
    position: relative;
    padding-left: 2.2rem;
    text-decoration: underline;
}

a.other_before.small {
    font-size: 82%;
}

a.other:after,
a.other_before:before {
    display: inline-block;
    margin-left: .5rem;
    width: 15px;
    height: 12px;
    background: url(../images/icon_other.svg) no-repeat 0 0;
    background-size: 100%;
    content: "";
}

a.other_before:before {
    position: absolute;
    top: 10px;
    left: 0;
    margin-right: .5rem;
    margin-left: 0;
}

a.other_before.small:before {
    top: 7px;
    width: 12px;
    height: 10px;
}

.btn_yellow_round {
    display: inline-block;
    padding: 1rem 2rem 1.3rem;
    background: #e5eb36;
    border-radius: 30px;
    line-height: 1.2;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.btn_gray_round {
    display: inline-block;
    padding: 1rem 2rem 1.3rem;
    background: #eff3f5;
    border-radius: 30px;
    line-height: 1.2;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.btn_white_round {
    display: block;
    padding: 2rem;
    background: #FFF;
    border-radius: 30px;
    border: 1px solid #aab8c1;
    line-height: 1.2;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 118%;
    font-weight: 600;
    text-align: center;
}

.btn_yellow_round_l {
    display: block;
    padding: 2rem;
    background: #e5eb36;
    border-radius: 30px;
    line-height: 1.2;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 118%;
    font-weight: 600;
    text-align: center;
}

.btn_black_round_l {
    display: block;
    padding: 2rem;
    background: #000;
    border-radius: 30px;
    line-height: 1.2;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    color: #FFF;
    font-size: 118%;
    font-weight: 600;
    text-align: center;
}

.btn_black_round_l:visited {
    color: #FFF;
}

a.btn_box_arrow,
a.btn_box_pdf {
    position: relative;
    display: block;
    margin-bottom: .5rem;
    padding: 1.5rem 3.5rem 1.5rem 1rem;
    background: #FFF;
    border: 1px solid #83929c;
    text-align: center;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
}

a.btn_box_arrow:after,
a.btn_box_arrow:before,
a.btn_box_pdf:after {
    content: "";
    position: absolute;
    background: #83929c;
}

a.btn_box_arrow:after {
    width: 20px;
    height: 1px;
    top: 50%;
    right: 15px;
}

a.btn_box_arrow:before {
    top: calc(50% - 4px);
    right: 13px;
    width: 13px;
    height: 1px;
    transform: rotate(45deg);
}

a.btn_box_pdf:after {
    top: 50%;
    transform: translateY(-50%);
    right: 6%;
    background: #FFF url(../images/icon_pdf.svg) no-repeat center center;
    background-size: 100%;
    width: 18px;
    height: 18px;
}

a.btn_box_arrow.back {
    padding: 1.5rem 1rem 1.5rem 3.5rem;
}

a.btn_box_arrow.back:after {
    right: auto;
    left: 15px;
}

a.btn_box_arrow.back:before {
    right: auto;
    left: 13px;
    transform: rotate(-45deg);
}

a.btn_box_arrow.dib,
a.btn_box_arrow.back.dib {
    display: inline-block;
    padding: 1.5rem 5rem 1.5rem 4rem;
}

a.btn_box_arrow.back.dib {
    padding: 1.5rem 4rem 1.5rem 5rem;
}

a.green_arrow {
    display: inline-block;
}

a.green_arrow:after {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    border-top: 2px solid #d1d721;
    border-right: 2px solid #d1d721;
    transform: rotate(45deg);
}


/* INDEX */


/* fv */

#home .fv {
    padding-top: 20px;
    padding-left: 10px;
    background: url(../images/top_fv_sp.jpg) no-repeat center center;
    background-size: cover;
    min-height: 310px;
}

#home .fv h1 {
    font-size: 147%;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.4;
}


/* service */


/*枠*/

.wrap_frame_gray {
    position: relative;
    background: #eff3f5;
}

.wrap_frame_gray:before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    width: calc(100% - 26px);
    height: calc(100% - 26px);
    background: #FFF;
    content: "";
}

.wrap_frame_gray>.container {
    background: transparent;
}

.top_service .container h1 {
    margin-bottom: 1rem;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    text-align: center;
    letter-spacing: 0.04em;
}

.top_service .container h1 strong {
    display: block;
    text-align: center;
    margin-bottom: 2rem;
}

.top_service.wrap_frame_gray:before {
    top: auto;
    bottom: 0;
    transform: translate(-50%, 0);
    height: calc(100% - 13px);
}

.top_service.wrap_frame_gray.nodokkyo:before {
    top: 50%;
    bottom: auto;
    transform: translate(-50%, -50%);
    height: calc(100% - 26px);
}


/* newslist */

#home .news_index li {
    border-bottom: 1px solid #e4e8eb;
}

#home .news_index li>a {
    display: block;
    padding: 1.5rem 0;
}

#home .news_index li>a>span {
    display: inline-block;
}

#home .news .date {
    font-family: 'Ropa Sans', sans-serif;
}

#home .news .lavel {
    margin-left: .5rem;
    padding: .5rem;
    min-width: 9rem;
    text-align: center;
    line-height: 1.2;
    color: #FFF;
    font-size: 76%;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
}


/*
#home .news .lavel.news {
background: #e5eb36;
color: #333;
}
*/

#home .news .lavel.information {
    background: #e5eb36;
    color: #333;
}

#home .news .lavel.release {
    background: #83929c;
}

#home .news .lavel.event {
    background: #90a900;
}

#home .news .lavel.rec {
    background: #498FAD;
}


/* CONTENTS */


/* SERVICE INDEX */


/*service_index*/

#service_index .service_fv+.container.campaign {
    background: #eff3f5;
}

#service_index .service_fv {
    height: 570px;
    width: 100%;
}

.service_fv .swiper-container {
    height: 100%;
    width: 100%;
}

.service_fv .wrap_fv {
    position: relative;
    min-height: 570px;
    box-sizing: border-box;
    background-color: #FFF;
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    display: block;
    z-index: 2;
}

.service_fv a.wrap_fv {
    cursor: pointer;
}

.service_fv .fv_1 {
    padding-top: 280px;
    background-image: url(../images/service_fv_1_bg_sp.jpg);
}

.service_fv .fv_1 h1 {
    text-align: center;
}

.service_fv .fv_2,
.service_fv .fv_3,
.service_fv .fv_4 {
    background: none;
}

.service_fv .wrap_fv>figure {
    margin-bottom: 2rem;
}

.service_fv .wrap_fv p {
    margin-top: 2rem;
    font-size: 88%;
}

.service_fv .wrap_fv figure.wrap_image {
    text-align: center;
}

.service_fv .wrap_fv .btn_yellow_round {
    position: relative;
    z-index: 100;
}

@media screen and (max-width: 560px) {
    #service_index .service_fv {
        height: 710px;
    }
    .service_fv .wrap_fv {
        min-height: 710px;
    }
    .service_fv .fv_1 {
        padding-top: 450px;
    }

    .number_title:before,
    .number_title:after {
    position: absolute;
    left: 0;
    top: 60%;
    transform: translateY(-50%);
    /* content: ""; */
    width: 40px;
    height: 0.5em;
    border-top: 1px solid #000000;
    }

    .font_round.head_22 {
        font-size: 17px;
    }
}


/*min-width:560px*/


/*number_title*/

.number_title {
    position: relative;
    margin-bottom: 4rem;
    text-align: center;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 160%;
    line-height: 1.3;
    letter-spacing: 8px;
}

.number_title:before,
.number_title:after {
    none
}

.number_title:after {
    left: auto;
    right: 0;
}

.number_title strong {
    position: relative;
    z-index: 2;
}

.number_title span {
    display: inline-block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #ddd;
    font-family: 'Ropa Sans', sans-serif;
    font-size: 14rem;
    z-index: 1;
}

#service_flow .number_title span img {
    display: block;
}

.back_gray .number_title span {
    color: #FFF;
}


/* service_index - recommend */

#recommend .col6+.col6 {
    margin-top: 2rem;
}

#recommend figure {
    float: right;
    width: 52%;
}

#recommend h2 {
    float: left;
    width: 48%;
    padding-right: 10px;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 112%;
    line-height: 1.4;
    box-sizing: border-box;
}

#recommend h2 strong {
    display: block;
    margin-top: 1rem;
}

#recommend p {
    clear: both;
    padding-top: 1rem;
    letter-spacing: normal;
}


/* service_index - feature */

.box_num {
    margin-top: 4rem;
}

.box_num>div {
    position: relative;
    margin-top: 2rem;
}

.box_num>div>img {
    display: inline-block;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translateX(-50%);
}

.box_num dl {
    background: #FFF;
    border-radius: 20px;
    padding: 2rem 1rem;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: auto 120px;
}

.box_num dl.num1 {
    background-image: url(../images/feature_num_1.svg);
}

.box_num dl.num2 {
    background-image: url(../images/feature_num_2.svg);
}

.box_num dl.num3 {
    background-image: url(../images/feature_num_3.svg);
}

.box_num dl.num4 {
    background-image: url(../images/feature_num_4.svg);
}

.box_num dl.num3,
.box_num dl.num4 {
    min-height: 160px;
}

.box_num dt,
.box_num dd {
    text-align: center;
}

.box_num dt {
    position: relative;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 112%;
    letter-spacing: -0.02em;
    line-height: 1.4;
    min-height: 70px;
}

.box_num dt strong {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: inline-block;
    width: 100%;
    text-align: center;
}

.box_num dd {
    font-size: 88%;
}

#service_index #feature h1.font_round.head_24>small {
    font-size: 88%;
}


/* service_index - function */

.service #function .function_1>div {
    letter-spacing: -0.5em;
    margin-bottom: 2rem;
}

.service #function .function_1>div figure,
.service #function .function_1>div dl {
    display: inline-block;
    width: 55%;
    letter-spacing: normal;
    vertical-align: top;
    box-sizing: border-box;
    line-height: 1.5;
}

.service #function .function_1>div figure {
    padding-right: 10px;
    width: 45%;
}

.service #function .function_1>div dt {
    padding-top: .5rem;
    margin-bottom: 1rem;
    font-weight: 600;
    font-size: 118%;
}

.service #function .function_1>div dd {
    font-size: 90%;
}


/* service_index - icon_list*/

.service .icon_list {
    display: table;
    margin-bottom: 2rem;
}

.service .icon_list figure,
.service .icon_list>div {
    display: table-cell;
    vertical-align: top;
}

.service .icon_list figure {
    min-width: 50px;
    padding-right: 10px;
}


/* service_index - box_kit*/

.service .box_kit {
    padding: 2rem;
    border: 2px solid #e5eb36;
    text-align: center;
}

.service .box_kit h1 {
    padding-bottom: 3.5rem;
    margin-bottom: 3rem;
    background: url(../images/box_kit_titlebg.svg) no-repeat bottom center;
    background-size: auto 14px;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.6;
    font-size: 141%;
    text-align: center;
    letter-spacing: normal;
}

.service .box_kit .kitname {
    position: relative;
}

.service .box_kit .kitname:after {
    position: absolute;
    top: -10px;
    left: -5px;
    content: "";
    display: block;
    width: 90px;
    height: 90px;
    background: #e5eb36;
    z-index: 1;
}

.service .box_kit .kitname h2,
.service .box_kit .kitname p {
    position: relative;
    z-index: 2;
}

.service .box_kit .kitname h2 {
    margin-bottom: 1rem;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 176%;
    font-weight: 600;
}

.service .box_kit .products {
    display: table;
    width: 100%;
    table-layout: fixed;
}

.service .box_kit .products li {
    display: table-cell;
    vertical-align: top;
}

.service .box_kit .products li>figure,
.service .box_kit .products li>p {
    display: block;
    text-align: center;
}

.service .box_kit .products li p {
    position: relative;
    margin-top: 1.5rem;
    font-size: 88%;
    font-weight: 600;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.6;
    text-align: center;
}

.service .box_kit .products li p small {
    display: block;
    text-align: center;
}

.service .box_kit .products li p strong {
    font-size: 146%;
}

.service .box_kit .products li p strong+small {
    margin-top: .6rem;
}

.taglist span {
    display: inline-block;
    padding: .8rem;
    margin: 10px 10px 0 0;
    background: #eff3f5;
    line-height: 1.2;
    font-size: 94%;
}

#feature .taglist span {
    background: #FFF;
    padding: .8rem;
    border-radius: 10px;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 106%;
}

#feature .taglist span img {
    display: inline-block;
    vertical-align: middle;
    margin-right: .5rem;
}


/* service_index - column*/

.service .column {
    text-align: center;
    padding-top: 5rem;
    margin-bottom: 3rem;
}

.service .column .wrapper {
    width: 100%;
}

.service .wrap_column {
    text-align: center;
}

.service .wrap_column figure.col6 {
    padding: 0;
}

.service .wrap_column h1 {
    margin-top: .5rem;
    margin-bottom: 2rem;
    font-size: 165%;
    line-height: 1.6;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.service .wrap_column .phone {
    display: none;
}

.service .wrap_column.swiper-slide {
    padding-bottom: 30px;
}


/* カルーセル用　*/

#service_index .slider2 {
    padding-bottom: 15px;
}

#service_index .slider2 .swiper-button-prev,
#service_index .slider2 .swiper-button-next {
    top: 10%;
}

#service_index .slider2 .swiper-button-prev:after,
#service_index .slider2 .swiper-button-next:after {
    font-size: 25px;
    opacity: .3;
}

#service_index .slider2 .swiper-button-prev {
    left: 0;
}

#service_index .slider2 .swiper-button-next {
    right: 0;
}

#service_index #column_line,
#service_index #column_ventilation,
#service_index #column_recording {
    padding-top: 120px;
    margin-top: -120px;
}

@media screen and (min-width:768px) {
    #service_index .slider2 .col6 {
        padding: 20px 40px;
    }
    #service_index .slider2 .swiper-button-prev,
    #service_index .slider2 .swiper-button-next {
        top: 50%;
    }
    #service_index .slider2 .swiper-button-prev:after,
    #service_index .slider2 .swiper-button-next:after {
        font-size: 30px;
    }
    #service_index .slider2 .swiper-button-prev {
        left: 5px;
    }
    #service_index .slider2 .swiper-button-next {
        right: 5px;
    }
}

@media screen and (min-width:1080px) {
    #service_index .slider2 .col6.title {
        padding-right: 180px;
    }
    #service_index .slider2 .swiper-button-prev {
        left: -5px;
    }
    #service_index .slider2 .swiper-button-next {
        right: -5px;
    }
}


/* ここまでカルーセル用 */


/* service_index - lineup */

.service #lineup .wrapper+.wrapper {
    margin-top: 5rem;
}

.service #lineup h1 {
    margin-bottom: 1rem;
    font-size: 82%;
    font-weight: 600;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.4;
}

.service #lineup h1 strong {
    position: relative;
    top: 3px;
    margin-right: .8rem;
    font-size: 200%;
}

.service #lineup .products {
    letter-spacing: -0.5em;
}

.service #lineup .products>span {
    display: inline-block;
    padding: 10px;
    vertical-align: top;
    width: 50%;
    text-align: center;
    letter-spacing: normal;
    box-sizing: border-box;
}

.service #lineup .products h2 {
    position: relative;
    margin-top: 1.5rem;
    padding-left: 30px;
    font-size: 88%;
    font-weight: 600;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.6;
    display: inline-block;
    width: auto;
}

.service #lineup .products h2 small {
    display: block;
}

.service #lineup .products h2 strong {
    /* font-size: 150%; */
    font-size: 146%;
    background: linear-gradient(transparent 97%, #333 0%);
}

.service #lineup .products h2 strong+small {
    margin-top: .6rem;
}

.service #lineup .products h2 .num {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 22px;
    height: 22px;
    border-radius: 50%;
    background: #d1d721;
    color: #FFF;
    font-family: 'Ropa Sans', sans-serif;
    font-weight: 600;
    font-size: 19px;
    line-height: 1.2;
    text-align: center;
}

.service #lineup .price>p span {
    display: inline-block;
    vertical-align: middle;
    font-size: 94%;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: 0.04em;
}

.service #lineup .price>p span strong {
    font-size: 206%;
}

.service #lineup .price>p span+span {
    margin-left: 10px;
}

.service #lineup a {
    margin-top: 1.5rem;
}

.service #lineup .btn_amazon {
    display: block;
    padding: 1.8rem 2rem;
    background: #000;
    border-radius: 30px;
    line-height: 1.2;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 118%;
    font-weight: 600;
    text-align: center;
    color: #FFF;
}

.service #lineup .btn_amazon img {
    display: inline-block;
    margin-right: .5rem;
}

#lineup .box_starter-kit {
    padding: 2rem 1.5rem;
    text-align: center;
    background: #FFF;
    border: 1px solid #e5eb36;
    box-sizing: border-box;
}

#lineup .box_starter-kit .products {
    text-align: center;
}

#lineup .box_starter-kit .title_newplan {
    position: relative;
    margin: 3rem 0 2rem;
    padding: .5rem;
    background: #e2e537;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-size: 118%;
    font-weight: 600;
    text-align: center;
    line-height: 1.5;
}

#lineup .box_starter-kit .title_newplan:before,
#lineup .box_starter-kit .title_newplan:after {
    content: "";
    display: block;
    width: 7px;
    height: 100%;
    position: absolute;
    top: 0;
    left: -3.5px;
    background: url(../images/title_newplan_bg.svg) repeat-y 0 0;
    background-size: 100%;
}

#lineup .box_starter-kit .title_newplan:after {
    left: auto;
    right: -3.5px;
}

#lineup .box_starter-kit .box_link>div {
    margin-top: 2rem;
    padding: 2rem;
    background: #f7f9c2;
    border-radius: 30px;
}

#lineup .box_starter-kit .box_link>div.amazon {
    background: #eff3f5;
}

#lineup .box_starter-kit .box_link h3 {
    position: relative;
    padding-bottom: 2rem;
    text-align: center;
    font-size: 118%;
    font-weight: 600;
}

#lineup .box_starter-kit .box_link h3 .icon {
    position: absolute;
    top: -10px;
    right: 0;
    display: block;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: #FFF;
    font-size: 71%;
    line-height: 1.1;
    text-align: center;
    box-sizing: border-box;
}

#lineup .box_starter-kit .box_link h3 .icon strong {
    display: block;
    width: 100%;
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#lineup .box_starter-kit .box_link .price {
    display: table;
    margin: 0 auto;
}

#lineup .box_starter-kit .box_link .price span {
    display: table-cell;
    padding: 1.5rem 10px;
    font-size: 86.6%;
    vertical-align: middle;
    line-height: 1.4;
    border-top: 1px dotted #adadad;
    border-bottom: 1px dotted #adadad;
}

#lineup .box_starter-kit .box_link .price span strong {
    font-size: 228%;
    font-weight: 600;
}


/* service_index - overview */

.service #overview .tab {
    display: table;
    width: 100%;
    table-layout: fixed;
    margin-bottom: 3rem;
}

.service #overview .tab li {
    display: table-cell;
    padding: 0 5px;
    box-sizing: border-box;
}

.service #overview .tab li span {
    position: relative;
    display: block;
    padding: .5rem;
    text-align: center;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 94%;
    background: #eff3f5;
    border-radius: 7px;
    cursor: pointer;
    transition: all .2s;
}

.service #overview .tab li span:hover {
    opacity: .7;
}

.service #overview .tab li span img {
    position: relative;
    top: -2px;
    display: inline-block;
    margin-right: .5rem;
    vertical-align: middle;
}

.service #overview .tab li span.current {
    background: #e5eb36;
}

.service #overview .tab li span.current:after {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    width: 0;
    display: block;
    border: 12px solid transparent;
    border-top-color: #e5eb36;
    border-bottom-width: 0;
    bottom: -8px;
}

.service #overview .wrap_panel figure {
    display: none;
    padding: 2%;
}

.service #overview .wrap_panel figure.show {
    display: block;
}

.service #overview .wrap_kit {
    padding: 10px;
    background: #eff3f5;
    border-radius: 7px;
    letter-spacing: -0.5em;
}

.service #overview .wrap_kit dl {
    display: inline-block;
    width: 50%;
    padding: 10px;
    vertical-align: top;
    box-sizing: border-box;
    letter-spacing: normal;
}

.service #overview .wrap_kit dt {
    margin-bottom: 1rem;
    font-size: 118%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    line-height: 1.4;
}


/* service_index - faq */

.wrap_faq:after {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #e4e8eb;
}

.wrap_faq .q,
.wrap_faq .a {
    position: relative;
}

.wrap_faq .q {
    padding: 1.5rem 3rem;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    font-size: 106%;
    border-top: 1px solid #e4e8eb;
    cursor: pointer;
    transition: all .2s;
}

.wrap_faq .q:hover {
    opacity: .7;
}

.wrap_faq .q:after {
    content: "";
    position: absolute;
    top: 35%;
    right: 10px;
    width: 12px;
    height: 12px;
    border-bottom: 1px solid #83929c;
    border-right: 1px solid #83929c;
    transform: rotate(45deg);
}

.wrap_faq .q.current:after {
    top: 40%;
    transform: rotate(-135deg);
}

.wrap_faq .a {
    display: none;
    padding: 2rem 0 2rem 3rem;
}

.wrap_faq .q:before,
.wrap_faq .a:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "Q";
    color: #c50213;
    font-family: 'Ropa Sans', sans-serif;
    font-size: 200%;
    font-weight: normal;
}

.wrap_faq .a:before {
    content: "A";
    color: #767474;
    top: 6px;
}


/* service_index - tieup */

.tieup {
    background: #faf9e1;
}

.tieup h1 strong {
    display: inline-block;
    font-size: 124%;
    text-align: center;
    vertical-align: middle;
}

.tieup h1:before,
.tieup h1:after {
    content: "";
    width: 27px;
    height: 27px;
    display: inline-block;
    vertical-align: middle;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 100%;
}

.tieup h1:before {
    margin-right: 1rem;
    background-image: url(../images/title_deco_left.svg);
}

.tieup h1:after {
    margin-left: 1rem;
    background-image: url(../images/title_deco_right.svg);
}

#option dl.price_list {
    display: table;
    width: 100%;
    margin: 2rem 0;
    border-top: 1px solid #b5bec4;
    border-bottom: 1px solid #b5bec4;
}

#option dl.price_list dt,
#option dl.price_list dd {
    display: table-cell;
    padding: 1rem 0;
}

#option dl.price_list dt {
    font-weight: 600;
}


/* SERVICE FLOW */

#service_flow .container+.container,
#service_spec .container+.container {
    padding-top: 7rem;
}

#service_flow .container+.container:before,
#service_spec .container+.container:before {
    content: "";
    display: block;
    width: 90%;
    height: 4px;
    border-top: 4px double #e4e8eb;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

#service_flow h2.head_22 {
    margin-bottom: 1.5rem;
}

#service_flow .necessary figure,
#service_flow .necessary dl {
    display: inline-block;
    margin-bottom: 3rem;
    vertical-align: top;
}

#service_flow .necessary figure {
    width: 40px;
}

#service_flow .necessary dl {
    padding-left: 1rem;
    padding-top: .5rem;
    width: calc(98% - 40px);
    box-sizing: border-box;
}

#service_flow .necessary dt {
    font-weight: 600;
    font-size: 106%;
}

#service_flow .check figure {
    float: right;
    width: 45%;
    padding-left: 10px;
    box-sizing: border-box;
}


/* SERVICE APP */

#service_app .container+.container:before {
    content: "";
    display: block;
    width: 90%;
    height: 4px;
    border-top: 1px solid #e4e8eb;
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

.app_outline h1 {
    font-size: 235%;
    font-family: 'Ropa Sans', sans-serif;
}

.app_outline p,
.app_outline figure {
    display: inline-block;
    box-sizing: border-box;
    vertical-align: top;
}

.app_outline figure {
    width: 60px;
}

.app_outline p {
    padding-right: 5px;
    width: calc(100% - 65px);
}


/* SERVICE SPEC */

#service_spec .wrap_product {
    letter-spacing: -0.5em;
}

#service_spec .wrap_product+.wrap_product {
    margin-top: 4rem;
}

#service_spec .wrap_product>div,
#service_spec .wrap_product>figure {
    display: inline-block;
    width: 50%;
    vertical-align: middle;
    letter-spacing: normal;
    box-sizing: border-box;
}

#service_spec .wrap_product>div.title {
    padding-right: 20px;
}

#service_spec .wrap_product h1 {
    margin-bottom: 1.5rem;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.4;
    font-weight: 600;
}

#service_spec .wrap_product h1 span {
    display: inline-block;
    font-size: 82%;
}

#service_spec .wrap_product h1 strong {
    display: block;
    margin: .5rem 0;
    font-size: 153%;
}

#service_spec .wrap_product h2,
#service_spec .wrap_product p,
#service_spec .wrap_product ul {
    letter-spacing: normal;
}

#service_spec .wrap_product h2 {
    margin-top: 1.5rem;
    font-weight: 600;
    font-size: 106%;
}

#service_spec .wrap_product ul {
    display: table;
    margin-top: 3rem;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid #b5bec4;
}

#service_spec .wrap_product li {
    display: table-row;
}

#service_spec .wrap_product li strong,
#service_spec .wrap_product li span {
    display: table-cell;
    padding: .8rem 0;
    vertical-align: top;
    box-sizing: border-box;
    border-bottom: 1px solid #e4e8eb;
}

#service_spec .wrap_product li strong {
    padding-right: 1rem;
    font-family: dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    white-space: nowrap;
}

#service_spec .swiper-wrapper {
    padding-bottom: 50px;
}

#service_spec .wrap_product ul.list_disc,
#service_spec .wrap_product ul.list_disc li {
    display: block;
    font-size: 88%;
}

#service_spec .wrap_product ul.list_disc {
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top-color: #e4e8eb;
}

#service_spec .wrap_product ul.list_disc li {
    position: relative;
    padding-left: 1.5rem;
    margin-bottom: .5rem;
}

#service_spec .wrap_product ul.list_disc li:before {
    position: absolute;
    top: 0;
    left: 0;
    content: "・";
    display: inline-block;
}

#service_spec .swiper-slide,
#service_app .swiper-slide {
    text-align: center;
    cursor: pointer;
}

#service_spec .swiper-slide img {
    max-width: 80%;
    transition: all .3s;
}

#service_spec .swiper-slide img:hover,
#service_app .swiper-slide img:hover {
    opacity: .7;
}

#service_spec .swiper-button-prev,
#service_spec .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
    z-index: 100;
}

#service_spec .swiper-button-prev {
    left: -8px;
}

#service_spec .swiper-button-next {
    right: -8px;
}

#service_spec .swiper-button-prev:after,
#service_spec .swiper-button-next:after {
    font-size: 15px;
    color: #999;
}

#service_app .swiper-wrapper {
    padding-bottom: 50px;
}

#service_app .swiper-slide img {
    max-width: 80%;
    transition: all .3s;
}

#service_app .swiper-button-prev,
#service_app .swiper-button-next {
    top: 50%;
    transform: translateY(-50%);
}

#service_app .swiper-button-prev {
    left: -8px;
}

#service_app .swiper-button-next {
    right: -8px;
}

#service_app .swiper-button-prev:after,
#service_app .swiper-button-next:after {
    font-size: 20px;
    color: #999;
}


/* ABOUT */


/* about */

.about .profile dl {
    padding: .8rem 0;
    border-bottom: 1px solid #e4e8eb;
}

.about .profile dt {
    font-weight: 600;
}


/* concept - message */

.about .message h1 {
    text-align: center;
    font-family: 'Ropa Sans', sans-serif;
    font-size: 212%;
    line-height: 1.2;
    letter-spacing: 0.02em;
}

.about .message h1 strong {
    color: #d1d721;
}

.about .message h2:after {
    content: "";
    display: block;
    margin: 2.5rem auto 2rem;
    width: 94px;
    height: 2px;
    background: #83929c;
}


/* concept - concept */

.about .concept h1 {
    text-align: center;
    font-size: 129%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.about .concept .feature {
    margin-top: 3rem;
}

.about .concept .feature h1 {
    margin-bottom: 2rem;
    font-size: 141%;
}

.about .concept .feature figure {
    margin: 0;
}

.about .concept .feature figure img {
    width: 100%;
}

.about .concept .feature .wrap>div {
    overflow: hidden;
    padding: 30px;
    color: #FFF;
}

.about .concept .feature .wrap>figure {
    display: block;
}

.about .concept .feature.feature01 .wrap {
    background: #d5cebd;
}

.about .concept .feature.feature02 .wrap {
    background: #b9c8d2;
}

.about .concept .feature.feature03 .wrap {
    background: #676660;
}

.about .concept .feature.feature04 .wrap {
    background: #d7b6bc;
}

.about .concept .feature .wrap>div>figure {
    width: 40%;
    padding-left: 20px;
    float: right;
}

.about .concept .feature.feature02 .wrap>div>figure,
.about .concept .feature.feature04 .wrap>div>figure {
    float: left;
    padding-left: 0;
    padding-right: 20px;
}


/* BUSINESS */

.business_list li {
    margin-top: 4rem;
    text-align: center;
}

.business_list li h2 {
    margin: 1rem 0;
    font-size: 153%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    letter-spacing: 0.04em;
}

.business_list li h3 {
    margin-bottom: .8rem;
    font-size: 124%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
}

.business_list li strong {
    font-weight: 600;
}

.business_list a.btn_detail {
    display: inline-block;
    margin-top: 3rem;
    padding: 1.2rem 3rem;
    border: 1px solid #83929c;
    font-size: 106%;
    line-height: 1.2
}

.business_list a.btn_detail[target="_blank"]::after {
    padding-left: 10px;
    display: inline-block;
    content: url("../images/icon_other.svg");
    vertical-align: middle;
}


/* OEM */

#business_oem .swiper-container .swiper-slide {
    text-align: center;
}

#business_oem .swiper-container .swiper-wrapper {
    padding-bottom: 50px;
}

#business_oem .swiper-container .swiper-slide img {
    max-width: 60%;
}

#business_oem .swiper-button-prev,
#business_oem .swiper-button-next {
    top: 90px;
    width: 52px;
    height: 52px;
    background: #e5eb36;
    border-radius: 50%;
    z-index: 100;
}

#business_oem .swiper-button-prev {
    left: 0;
}

#business_oem .swiper-button-next {
    right: 0;
}

#business_oem .swiper-button-prev:after,
#business_oem .swiper-button-next:after {
    color: #FFF;
    font-size: 30px;
}

.business_date {
    overflow-x: auto;
}

.business_date::-webkit-scrollbar {
    height: 10px;
}

.business_date::-webkit-scrollbar-thumb {
    background: #999;
    border-radius: 5px;
}

.business_date::-webkit-scrollbar-track-piece {
    background: #efefef;
}

.business_date>table {
    width: 100%;
    margin-top: 3rem;
    border: 1px solid #CCC;
}

.business_date th,
.business_date tr,
.business_date td {
    border: solid 1px #ccc;
    padding: 10px;
    vertical-align: middle;
    text-align: left;
}

.business_date th {
    background-color: #d3d1c7;
    font-weight: normal;
}

.business_date th:nth-child(3),
.business_date th:nth-child(4) {
    text-align: center;
}

.business_date tr td:nth-child(3),
.business_date tr td:nth-child(4) {
    text-align: center;
}

.business_date td {
    white-space: nowrap;
}


/* POLICY */

.policy dl {
    margin-top: 4rem;
}

.policy dt {
    margin-bottom: .5rem;
    counter-increment: num;
    font-size: 106%;
    font-weight: 600;
}

.policy dt:before {
    content: counter(num) '. ';
}

.policy dd+dt {
    margin-top: 3rem;
}

.policy dd>ul {
    margin: 2rem 0 2rem 1rem;
}

.policy dd>ul>li>ol {
    margin-left: 1.8rem;
}

.policy dd>ul>li>ol>li {
    position: relative;
    padding: .5rem 0 0 2.2rem;
}

.policy dd>ul>li>ol>li span {
    position: absolute;
    left: 0;
    top: 5px;
}

.policy .box_contact {
    margin: 2rem 0;
    padding: 1.5rem 2rem;
    border: 1px solid #e4e8eb;
}

#maintenance_index .hmenu-wrapper,
#maintenance_index .header .gnav,
#maintenance_index .footer_menu {
    display: none;
}

#maintenance_index .footer .wrapper {
    text-align: left;
}


/* HOMEPLUS RENTAL LP */

.rental_fv a {
    display: block;
    padding: 3rem 0;
}

.rental_banner {
    padding: 3rem 0;
    background: #eff3f5;
}

.rental_banner a {
    display: block;
    text-align: center;
}

.rental_banner a>div {
    margin-bottom: 2rem;
    padding: 1.5rem;
    background: #FFF;
    border-radius: 20px;
    box-sizing: border-box;
    text-align: center;
}

.rental_banner a>div h2,
.rental_banner a>div figure {
    display: inline-block;
    vertical-align: middle;
    box-sizing: border-box;
}

.rental_banner a>div h2 {
    width: 66%;
    text-align: center;
}

.rental_banner a>div figure {
    width: 32%;
    padding-left: 10px;
}

.rental_banner a>p {
    font-size: 88%;
}

.rental_main_title {
    margin-bottom: 2rem;
    font-size: 165%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    line-height: 1.5;
    text-align: center;
}

.rental_main_title small {
    font-size: 60%;
}


/* plan */

#rental_plan {
    padding: 3rem 0;
    background: url(../images/rental/plan_bg.svg) no-repeat center top;
    background-size: 130%;
}

#rental_plan .head {
    margin-bottom: 3rem;
    font-size: 153%;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    font-weight: 600;
    line-height: 1.5;
}

#rental_plan .head strong {
    font-size: 141%;
    letter-spacing: -0.08em;
}

#rental_plan .head span {
    display: block;
    position: relative;
    text-align: center;
}

#rental_plan .head span:before,
#rental_plan .head span:after {
    position: absolute;
    bottom: 0;
    left: -15px;
    content: "";
    display: block;
    width: 30px;
    height: 110px;
    background: url(../images/rental/title_deco_left_yellow.svg) no-repeat center bottom;
    background-size: 100%;
}

#rental_plan .head span:after {
    left: auto;
    right: -15px;
    background-image: url(../images/rental/title_deco_right_yellow.svg);
}

#rental_plan h3 {
    margin-bottom: 1.5rem;
    font-size: 147%;
    font-weight: 600;
    line-height: 1.6;
}

#rental_plan .price {
    display: inline-block;
    padding: 0 .5rem;
    margin-top: 2rem;
    font-size: 124%;
    line-height: 1;
    letter-spacing: 0.05em;
    background: linear-gradient(transparent 70%, #e9ec66 0%);
    border-bottom: 7px solid #e9ec66;
}

#rental_plan .price strong {
    font-size: 176%;
    font-weight: 600;
}

#rental_plan dl {
    margin-top: 6rem;
}

#rental_plan dt {
    position: relative;
    padding: 1rem;
    background: #e5eb36;
    border-radius: 10px;
    text-align: center;
    font-weight: 600;
}

#rental_plan dt:after {
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    margin: auto;
    content: "";
    width: 15px;
    height: 15px;
    background: #e5eb36;
    transform: rotate(45deg);
}

#rental_plan dt>span {
    display: inline-block;
    padding-left: 40px;
    text-align: center;
    line-height: 1.4;
    font-size: 112%;
    background: url(../images/rental/plan_title_icon.svg) no-repeat left center;
    background-size: 36px;
}

#rental_plan dt>span strong {
    font-size: 168%;
}

#rental_plan dt em {
    position: absolute;
    top: -18px;
    left: 0;
    right: 0;
    margin: auto;
    display: block;
    text-align: center;
    font-size: 129%;
}

#rental_plan dd {
    margin-top: 2rem;
    padding: 2rem 1rem;
    background: #eff3f5;
    border-radius: 10px;
}

#rental_plan dd>div {
    text-align: center;
}

#rental_plan dd>div h4 {
    text-align: center;
}

#rental_plan dd>div span {
    display: inline-block;
    vertical-align: middle;
    font-size: 106%;
    font-weight: 600;
    line-height: 1.1;
}

#rental_plan dd>div span strong {
    font-size: 200%;
}

#rental_plan dd>div.buy:after {
    content: "";
    display: block;
    margin: 8px auto;
    width: 50px;
    height: 32px;
    background: url(../images/rental/plan_arrow_bottom.svg) no-repeat center center;
    background-size: 100%;
}

#rental_plan dd>div.buy span {
    font-size: 90%;
}

#rental_plan dd>div.buy span.small {
    font-size: 86.6%;
    line-height: 1.3;
}


/* feature */

#rental_feature .rental_main_title:before {
    content: "";
    display: block;
    width: 100%;
    margin: 1rem auto 3rem;
    height: 1px;
    border-top: 1px dashed #cdd3d7;
}


/* starterkit */

#rental_starterkit {
    position: relative;
    padding: 7rem 0 6rem;
    background: #eff3f5 url(../images/rental/starterkit_bg.jpg) no-repeat center top;
    background-size: 100%;
}

#rental_starterkit:after {
    position: absolute;
    bottom: -20px;
    left: 50%;
    transform: translateX(-50%);
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-left: 90px solid transparent;
    border-right: 90px solid transparent;
    border-top: 35px solid #eff3f5;
    z-index: 10;
}

#rental_starterkit .head {
    position: relative;
    z-index: 1;
}

#rental_starterkit .head:after {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    display: block;
    width: 250px;
    height: 250px;
    background: #FFF;
    border-radius: 20px;
    transform: translate(-50%, -50%) rotate(45deg);
    z-index: -1;
}

#rental_starterkit h3 {
    margin-bottom: 1.5rem;
    text-align: center;
    font-size: 135%;
}

#rental_starterkit .box_white {
    position: relative;
    margin-top: 140px;
    padding: 140px 2rem 3rem;
    background: #FFF;
    border-radius: 20px;
}

#rental_starterkit .box_white>figure {
    position: absolute;
    top: -110px;
    left: -10px;
    max-width: 300px;
}

#rental_starterkit .box_white h4.bigger {
    text-align: center;
    font-size: 153%;
}

#rental_starterkit .box_white .sub_title {
    margin: 2rem 0;
    padding: 1.5rem 0;
    border-top: 1px dashed #cdd3d7;
    border-bottom: 1px dashed #cdd3d7;
    font-size: 118%;
}

.check_list li {
    padding-left: 22px;
    background: url(../images/rental/icon_check.svg) no-repeat 0 8px;
    background-size: 14px;
    font-weight: 600;
    font-size: 106%;
}

.check_list li+li {
    margin-top: 1rem;
}

#rental_starterkit .icon_list {
    display: table;
    margin-bottom: 0;
}

#rental_starterkit .icon_list li {
    display: table-row;
}

#rental_starterkit .icon_list li span {
    display: table-cell;
    padding: 1rem 0;
    vertical-align: top;
    line-height: 1.5;
}

#rental_starterkit .icon_list li span:first-child {
    padding-right: 10px;
}


/* campeign */

#rental_campeign {
    background: #e5eb36;
}

#rental_campeign .rental_main_title {
    background: url(../images/rental/campeign_title_bg.svg) no-repeat center center;
    background-size: auto 100%;
}

#rental_campeign .rental_main_title span {
    position: relative;
    display: block;
    text-align: center;
    letter-spacing: -0.05em;
}

#rental_campeign .rental_main_title span:before,
#rental_campeign .rental_main_title span:after {
    position: absolute;
    bottom: 0;
    left: -15px;
    content: "";
    display: block;
    width: 30px;
    height: 110px;
    background: url(../images/rental/title_deco_left_black.svg) no-repeat center bottom;
    background-size: 100%;
}

#rental_campeign .rental_main_title span:after {
    left: auto;
    right: -15px;
    background-image: url(../images/rental/title_deco_right_black.svg);
}

#rental_campeign .outline_list {
    margin-top: 4rem;
    font-size: 106%;
}

#rental_campeign .outline_list dt {
    font-weight: 600;
    border-top: 1px solid #7e8200;
    padding: .8rem 0;
}

#rental_campeign .outline_list dd {
    border-top: 1px solid #c3c900;
    padding: .8rem 0 1.5rem;
}

#rental_campeign .outline_list dd:last-of-type {
    border-bottom: 1px solid #c3c900;
}

#rental_campeign .wrap_cautions {
    margin-top: 1.5rem;
    padding: 2rem;
    box-sizing: border-box;
    background: #FFF;
    overflow-y: auto;
    height: 330px;
    font-size: 93.3%;
}

.wrap_cautions::-webkit-scrollbar {
    background: #e6e6e6;
    width: 14px;
}

.wrap_cautions::-webkit-scrollbar-thumb {
    background: #c3c900;
    border-radius: 0;
    height: 50px;
}


/*Firefox*/

.wrap_cautions {
    scrollbar-color: #c3c900 #e6e6e6;
}


/* IE */

.wrap_cautions {
    scrollbar-face-color: #c3c900;
    scrollbar-shadow-color: #e6e6e6;
    scrollbar-highlight-color: #e6e6e6;
    scrollbar-3dlight-color: #e6e6e6;
    scrollbar-darkshadow-color: #e6e6e6;
    scrollbar-track-color: #e6e6e6;
    scrollbar-arrow-color: #e6e6e6;
}

​ #rental_campeign .wrap_cautions h4 {
    margin-bottom: 1rem;
    padding: .6rem 0;
    border-top: 1px solid #d9d9d9;
    border-bottom: 1px solid #d9d9d9;
}


/* flow */

#rental_flow dl {
    position: relative;
    display: table;
    margin-bottom: 20px;
    font-size: 90%;
}

#rental_flow dl:after {
    position: absolute;
    bottom: -15px;
    left: 50%;
    content: "";
    display: block;
    width: 13px;
    height: 13px;
    border-right: 2px solid #83929c;
    border-bottom: 2px solid #83929c;
    transform: translateX(-50%) rotate(45deg);
}

#rental_flow dl:last-child:after {
    display: none;
}

#rental_flow dl dt,
#rental_flow dl dd {
    display: table-cell;
    vertical-align: top;
    padding: 1rem 0;
    box-sizing: border-box;
}

#rental_flow dl dt {
    width: 70px;
    padding-right: 10px;
}

#rental_flow dl dd h2 {
    margin-bottom: .5rem;
    letter-spacing: -0.05em;
}


/* entry */

#rental_entry+.bottom_nav {
    margin-top: 0;
}

#rental_entry .head {
    margin-bottom: 2rem;
    text-align: center;
    font-weight: 600;
    font-size: 112%;
}

#rental_entry .head span {
    position: relative;
    display: block;
    padding: 0 1rem;
    text-align: center;
}

#rental_entry .head span:before,
#rental_entry .head span:after {
    position: absolute;
    bottom: 0;
    left: 0;
    content: "";
    display: block;
    width: 1px;
    height: 90%;
    background: #999;
    transform: rotate(-30deg);
}

#rental_entry .head span:after {
    left: auto;
    right: 0;
    transform: rotate(30deg);
}


/* youtube PR */

.wrap_youtube {
    padding: 3rem 0;
    background: #faf9e1;
}

.box_youtube {
    position: relative;
    padding: 2.8rem;
    background: #FFF;
    border-radius: 20px;
    box-sizing: border-box;
    text-align: center;
}

.box_youtube:after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    content: "";
    display: block;
    width: calc(100% - 30px);
    height: calc(100% - 30px);
    border: 2px solid #e5eb36;
    z-index: 1;
}

.box_youtube .wrap_movie {
    position: relative;
    z-index: 5;
}

@media screen and (min-width:768px) {}

@media screen and (min-width:768px) {
    .subnav_n article {
        padding-top: 0;
    }
    .container {
        /* padding: 8rem 0 9rem; */
    }
    .section_title+.container {
        padding: 0 0 7rem;
    }
    .section_title.noborder+.container {
        padding: 6rem 0 9rem;
    }
    .container figure,
    .container .figure {
        margin: 0 1px;
    }
    hr {
        margin: 4rem 0;
    }
    /* HEADER */
    .header {
        display: table;
        background: #FFF;
        position: inherit;
        top: 0;
        transition: .2s;
        width: 100%;
        z-index: 55;
    }
    .header.hide {
        transform: translateY(-100%);
    }
    .header h1,
    .header .gnav {
        padding: 8px 15px;
        display: table-cell;
    }
    .header h1 {
        width: 160px;
    }
    .header .gnav {
        text-align: right;
        font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
        font-weight: bold;
    }
    .header .gnav li {
        display: inline-block;
        padding: 0 10px;
    }
    .header .gnav li:last-child {
        padding-right: 0;
    }
    .header .gnav li a {
        position: relative;
    }
    .header .gnav li a:before {
        content: "";
        position: absolute;
        bottom: -21px;
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background: #e5eb36;
        transition: transform .2s;
        transform-origin: 50% center;
        transform: scaleX(0);
    }
    .header .gnav li a:hover:before,
    .header .gnav li.current a:before {
        transform: scaleX(1);
    }
    /* FOOTER */
    .footer {
        padding: 2.5rem 0 2rem;
    }
    .footer .wrapper+.wrapper:before {
        width: calc(100% - 40px);
    }
    .footer .footer_menu {
        display: inline-block;
        padding-left: 0;
        font-size: 1.2rem;
        text-align: right;
    }
    .footer .footer_menu a {
        display: inline-block;
        margin-left: .5rem;
        margin-bottom: 1rem;
    }
    .footer .powered,
    .footer .copyright {
        padding-right: 20px;
        padding-left: 20px;
    }
    .footer .powered {
        font-size: 1.5rem;
    }
    .footer .copyright {
        font-size: 1.3rem;
    }
    .footer .powered a {
        margin-left: 1.5rem;
    }
    .footer .powered a img {
        width: 72px;
    }
    .footer .powered p+a img {
        width: 170px;
    }
    /* COMMON */
    .btn_yellow_round_l.pc_dib,
    .btn_black_round_l.pc_dib {
        display: inline-block;
        padding: 2rem 7rem;
    }
    /*category_head*/
    /* スクロール動作用 */
    nav.category_head {
        display: block;
        position: relative;
        top: 0;
        transition: none;
        width: 100%;
        z-index: 50;
    }
    nav.category_head.hide {
        transform: translateY(-200%);
    }
    .category_head {
        min-height: 60px;
    }
    .category_head h1 {
        padding-top: 20px;
    }
    .category_head ul {
        padding-top: 15px;
    }
    .category_head ul li {
        margin: 0 20px;
    }
    .category_head ul li a:before,
    .category_head ul li.current a:before {
        bottom: -17px;
    }
    .category_head.service h1 {
        width: 120px;
    }
    .category_head.service ul {
        display: inline-block;
    }
    .category_head.service ul li {
        margin: 0 3px;
        font-size: 86.6%;
    }
    .category_head.service ul li a {
        padding: 0;
    }
    .category_head.service a.btn_amazon {
        height: 60px;
        width: 110px;
    }
    .category_head.service a.btn_amazon span {
        top: 15px;
        font-size: 80%;
    }
    .category_head.service a.btn_amazon img {
        width: 15px;
    }
    /* new button : round */
    .category_head.service .btn_service-nav,
    .bottom_nav.service .btn_service-nav {
        display: block;
        position: absolute;
        top: 12px;
        right: 5px;
    }
    .category_head.service .btn_service-nav a,
    .bottom_nav.service .btn_service-nav a {
        display: inline-block;
        vertical-align: middle;
        margin: 0 2px;
        padding: .5rem 1rem;
        border-radius: 20px;
        font-size: 86.6%;
        font-family: dnp-shuei-mincho-pr6n, sans-serif;
        font-weight: 600;
        text-align: center;
    }
    .category_head.service .btn_service-nav a#rental_signup,
    .bottom_nav.service .btn_service-nav a#rental_signup {
        display: none;
    }
    #service_rental .category_head.service .btn_service-nav a#rental_intro,
    #service_rental .bottom_nav.service .btn_service-nav a#rental_intro {
        display: none;
    }
    #service_rental .category_head.service .btn_service-nav a#rental_signup,
    #service_rental .bottom_nav.service .btn_service-nav a#rental_signup {
        display: inline-block;
    }
    .category_head.service .btn_service-nav a.amazon,
    .bottom_nav.service .btn_service-nav a.amazon {
        padding: .5rem 3rem .5rem 1rem;
        color: #FFF;
        background: #231815 url(../images/amazon_logo.png) no-repeat right 10px center;
        background-size: 18px;
    }
    #service_rental .category_head.service .btn_service-nav a.amazon,
    #service_rental .bottom_nav.service .btn_service-nav a.amazon {
        display: none;
    }
    .category_head.service .btn_service-nav a.rental,
    .bottom_nav.service .btn_service-nav a.rental {
        position: relative;
        background: #e2e537;
        color: #231815;
    }
    .bottom_nav.service .btn_service-nav a.rental {
        background: #FFF;
    }
    .category_head.service .btn_service-nav a.rental.new:before,
    .bottom_nav.service .btn_service-nav a.rental.new:before {
        position: absolute;
        top: -10px;
        right: -5px;
        content: "";
        display: block;
        width: 24px;
        height: 24px;
        background: url(../images/header_icon_new.svg) no-repeat 50% 50%;
        background-size: 100%;
    }
    /* サービスbottom用category_head */
    .bottom_nav {
        min-height: 60px;
        text-align: center;
    }
    .bottom_nav.service {
        /* text-align: left; */
    }
    .support .bottom_nav.service {
        text-align: center;
    }
    .bottom_nav.service h1 {
        display: inline-block;
        padding-top: 12px;
        padding-left: 10px;
        position: absolute;
        left: 5px;
        top: 5px;
        width: 120px;
    }
    .bottom_nav.service a.btn_amazon {
        position: absolute;
        top: 0;
        right: 0;
        height: 60px;
        width: 110px;
        background: #231815;
        text-align: center;
        color: #FFF;
        font-family: dnp-shuei-mincho-pr6n, sans-serif;
        font-weight: 600;
    }
    .bottom_nav.service a.btn_amazon {
        padding: 0;
    }
    .bottom_nav.service a.btn_amazon img {
        width: 15px;
        margin-right: 5px;
    }
    .bottom_nav.service a.btn_amazon span {
        display: inline-block;
        position: relative;
        top: 15px;
        font-size: 80%;
    }
    .bottom_nav ul {
        display: inline-block;
        /* margin-left: 2rem; */
        padding: 15px 0 0;
    }
    .bottom_nav ul li {
        display: inline-block;
        /* margin: 0 5px; */
        margin: 0 3px;
        padding: 0;
        border-bottom: none;
        /* font-size: 88%; */
        font-size: 86.6%;
    }
    .bottom_nav ul li a {
        position: relative;
        display: inline-block;
        padding: 0;
    }
    .bottom_nav ul li a:after {
        content: "";
        /* position: absolute; */
        bottom: 0px;
        /* bottom:auto; */
        left: 0;
        display: block;
        width: 100%;
        height: 2px;
        background: #000;
        transition: transform .2s;
        transform-origin: 50% center;
        transform: scaleX(0);
    }
    .bottom_nav ul li a:hover {
        opacity: 1;
    }
    .bottom_nav ul li a:hover {
        border-bottom: 2px solid #333;
        transition: transform .2s;
        transform-origin: 50% center;
        /*     transform: scaleX(0); */
    }
    .bottom_nav ul li a:hover:before,
    .bottom_nav ul li.current a:before {
        width: 100%;
        top: -18px;
        bottom: auto;
        transform: scaleX(1);
    }
    .bottom_nav.service ul li.on-sp {
        display: none;
    }
    /* TITLE */
    .section_title {
        padding: 30px 0 0 50px;
        background-size: 54px;
    }
    .section_title h1 span {
        display: block;
        margin-left: 0;
    }
    /* comment set */
    .section_title.comment_set {
        overflow: hidden;
    }
    .section_title.comment_set h1 {
        width: 40%;
        float: left;
    }
    .section_title.comment_set .comment {
        margin-top: 0;
        width: 60%;
        float: right;
        background-size: 128px;
        box-sizing: border-box;
        text-align: right;
    }
    .section_title.comment_set .comment p {
        max-width: 430px;
        padding: 2rem;
        font-size: 106%;
    }
    .sub_title {
        font-size: 118%;
    }
    .main_title {
        font-size: 182%;
    }
    .main_title:after {
        margin: 4rem auto .5rem;
    }
    .corner_title {
        margin-bottom: 5rem;
        font-size: 176%;
    }
    /* campaign banner */
    .container .campaign {
        padding: 2rem 0;
    }
    a.box_campaign,
    div.box_campaign {
        background: #f44b4d;
        color: #FFF;
        padding: 9px;
    }
    a.box_campaign.green,
    div.box_campaign.green {
        background: #d1d721;
        color: #222;
    }
    a.box_campaign.pink,
    div.box_campaign.pink {
        background: #fe5d7f;
        color: #FFF;
    }
    .box_campaign figure,
    .box_campaign>div {
        display: inline-block;
        vertical-align: middle;
        width: 39.2%;
        margin: 0;
        padding: 0;
        box-sizing: border-box;
    }
    .box_campaign>div {
        padding-left: 40px;
        width: 60%;
    }
    .box_campaign h1 {
        font-size: 141%;
    }
    .box_campaign p {
        font-size: 100%;
    }
    /* INDEX */
    /* fv */
    #home .fv {
        padding-top: 0;
        background-image: url(../images/top_fv_pc.jpg);
        min-height: 60vh;
        height: 60vh;
        overflow-x: hidden;
    }
    #home .fv .wrapper {
        position: relative;
    }
    #home .fv h1 {
        position: absolute;
        transform: translateY(10%);
        left: 2%;
        font-size: 259%;
        line-height: 1.6;
    }
    /* service */
    /*枠*/
    .wrap_frame_gray:before {
        width: calc(100% - 100px);
        height: calc(100% - 100px);
    }
    .wrap_frame_gray>.container {
        width: calc(100% - 100px);
        margin: 0 auto;
    }
    .top_service.wrap_frame_gray:before {
        height: calc(100% - 50px);
    }
    .top_service.wrap_frame_gray.nodokkyo:before {
        height: calc(100% - 100px);
    }
    .top_service .container h1 {
        margin-bottom: 4rem;
        font-size: 118%;
    }
    .top_service .section_title+.container {
        padding-bottom: 11rem;
    }
    .top_service .container h1 img {
        width: 388px;
    }
    /* newslist */
    #home .news_index li>a {
        letter-spacing: -0.5em;
    }
    #home .news_index li>a>span,
    #home .news_index li>a>p {
        letter-spacing: normal;
        display: inline-block;
        vertical-align: top;
        box-sizing: border-box;
    }
    #home .news_index li>a>span.date {
        width: 8rem;
    }
    #home .news_index li>a>span.lavel {
        width: 10rem;
    }
    #home .news_index li>a>p {
        padding-left: 1.5rem;
        width: calc(100% - 20rem);
    }
    #home .news .trigger {
        padding: 1.5rem 4.5rem 1.5rem 5rem;
    }
    /* CONTENTS */
    /* SERVICE INDEX */
    .number_title {
        margin-bottom: 6rem;
        font-size: 175%;
        border: 1px solid #ddd;
        background: #fce0e0;
        line-height: 2.3;
    }
    .number_title:before,
    .number_title:after {
        width: 80px;
    }
    .number_title span {
        font-size: 13rem;
    }
    #service_flow .number_title span img {
        width: 120px;
    }
    #service_index .service_fv {
        height: 450px;
    }
    .service_fv .wrap_fv {
        min-height: 370px;
        background-position: center center;
        background-size: cover;
        background-color: #FFF;
    }
    .service_fv .wrap_fv .wrapper {
        position: relative;
        text-align: right;
    }
    .service_fv .fv_1 {
        padding-top: 0;
        background-image: url(../images/service_fv_1_bg.jpg);
    }
    .service_fv .wrap_fv .wrapper {
        height: 400px;
    }
    .service_fv .fv_1 h1 {
        position: absolute;
        top: 20%;
        transform: translateY(-30%);
        left: 0;
    }
    .service_fv .fv_2,
    .service_fv .fv_3,
    .service_fv .fv_4 {
        background-position: left -10% center;
        background-size: auto 100%;
        background-repeat: no-repeat;
    }
    .service_fv .fv_2 {
        background-image: url(../images/service_fv_2_img.jpg);
    }
    .service_fv .fv_3 {
        background-image: url(../images/service_fv_3_img.jpg);
    }
    .service_fv .fv_4 {
        background-image: url(../images/service_fv_4_img.jpg);
    }
    .service_fv .wrap_fv>figure {
        display: none;
    }
    .service_fv .wrap_fv .col4 {
        position: absolute;
        top: 50%;
        left: 60%;
        transform: translateY(-50%);
    }
    .service_fv .wrap_fv figure.wrap_image {
        position: relative;
        height: 100%;
    }
    .service_fv .wrap_fv figure.wrap_image img.on-sp {
        display: none;
    }
    .service_fv .wrap_fv figure.wrap_image img.off-sp {
        display: block;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
    }
    /* service_index - recommend */
    #recommend .col6+.col6 {
        margin-top: 0;
    }
    #recommend figure,
    #recommend h2 {
        display: block;
        width: 100%;
        float: none;
    }
    #recommend h2 {
        padding: 4rem 0 1rem 4rem;
    }
    #recommend h2 strong {
        display: inline-block;
        margin-top: 0;
        vertical-align: middle;
        font-size: 141%;
        width: calc(100% - 155px);
    }
    #recommend h2 img {
        display: inline-block;
        margin-right: 1rem;
        width: 142px;
    }
    #recommend p {
        padding-left: 4rem;
    }
    #recommend figure {
        position: relative;
    }
    #recommend figure img {
        position: relative;
        z-index: 2;
    }
    #recommend figure:after {
        content: "";
        position: absolute;
        left: 20px;
        top: 20px;
        display: block;
        width: 100%;
        height: 100%;
        background: #f7f9fa;
        z-index: 1;
    }
    /* service_index - feature */
    .box_num>div.col3 {
        width: 50%;
    }
    .box_num>div>img {
        width: 75px;
    }
    .box_num dl {
        padding: 4rem 1.5rem;
        border-radius: 40px;
        background-size: auto 170px;
        min-height: 170px;
    }
    .box_num dt {
        font-size: 129%;
        letter-spacing: 0;
        min-height: 80px;
    }
    .box_num dd {
        font-size: 100%;
    }
    #service_index #feature h1.font_round.head_24>small {
        font-size: 100%;
    }
    #feature .taglist span {
        padding: .8rem 1.5rem;
        font-size: 112%;
    }
    /* service_index - function */
    .service #function .function_1>div {
        margin-bottom: 0;
    }
    .service #function .function_1>div figure,
    .service #function .function_1>div dl {
        display: block;
        width: 100%;
        line-height: 1.6;
    }
    .service #function .function_1>div figure {
        padding-right: 0;
    }
    .service #function .function_1>div dt {
        text-align: center;
        padding-top: 2.5rem;
        margin-bottom: 2rem;
        font-size: 106%;
    }
    .service #function .function_1>div dd {
        font-size: 100%;
    }
    .service #function .function_1>div.col3:first-of-type dt {
        letter-spacing: -0.1em;
        font-size: 100%;
    }
    .service .icon_list {
        margin-bottom: 3rem;
    }
    .service .icon_list figure {
        min-width: 100px;
        padding-right: 20px;
    }
    .service .box_kit {
        padding: 3rem 0;
    }
    .service .box_kit .products li>figure,
    .service .box_kit .products li>p {
        display: block;
        text-align: center;
    }
    .service .box_kit h1 {
        padding-bottom: 4.5rem;
        margin-bottom: 2rem;
    }
    .service .box_kit .kitname:after {
        position: absolute;
        top: -10px;
        left: -30px;
        width: 116px;
        height: 116px;
    }
    .service .box_kit .kitname p {
        font-size: 106%;
    }
    .service .box_kit .products li p strong {
        font-size: 150%;
    }
    .service .column {
        padding: 50px 0;
    }
    .service .wrap_column figure.col6 {
        padding: 0 20px;
    }
    .service .wrap_column .phone {
        display: block;
        position: absolute;
        bottom: -50px;
        right: 25%;
        width: 200px;
    }
    .service .column .swiper-container-horizontal>.swiper-pagination-bullets {
        bottom: 50px;
        left: auto;
        right: -40%;
        width: 100%;
    }
    /* service_index - lineup */
    .service #lineup .wrapper+.wrapper {
        margin-top: 3rem;
    }
    .service #lineup h1 {
        margin-bottom: 2rem;
        font-size: 88%;
    }
    .service #lineup h1 strong {
        margin-right: 1rem;
        font-size: 200%;
    }
    .service #lineup .col7.products>span {
        width: 33.3%;
        padding: 10px 3px;
    }
    #lineup .box_starter-kit .products>span {
        width: auto;
        padding: 10px 20px;
    }
    #lineup .box_starter-kit {
        padding: 6rem 9% 8rem;
    }
    #lineup .box_starter-kit .title_newplan {
        padding: .8rem;
        margin-bottom: 3rem;
    }
    #lineup .box_starter-kit .box_link {
        display: flex;
        justify-content: space-between;
        margin-top: 1.5rem;
    }
    #lineup .box_starter-kit .box_link>div {
        padding-bottom: 2.5rem;
        width: 47%;
        box-sizing: border-box;
    }
    #lineup .box_starter-kit .box_link .price {
        margin: 0 auto 2.5rem;
    }
    /* service_index - overview */
    .service #overview .tab {
        margin-bottom: 5rem;
    }
    .service #overview .tab li {
        padding: 0 20px;
    }
    .service #overview .tab li span {
        font-size: 118%;
    }
    .service #overview .tab li span img {
        width: 24px;
        margin-right: 1rem;
    }
    .service #overview .tab li span.current:after {
        bottom: -11px;
    }
    .service #overview figure {
        padding: 20px;
    }
    .service #overview .wrap_kit {
        padding: 20px 35px;
    }
    .service #overview .wrap_kit dl {
        width: 33.3%;
        padding: 20px;
    }
    #option dl.price_list {}
    #service_flow .container+.container,
    #service_spec .container+.container {
        padding-top: 10rem;
    }
    #service_flow .container+.container:before,
    #service_spec .container+.container:before,
    #service_app .container+.container:before {
        width: calc(100% - 40px);
    }
    /* SERVICE FLOW */
    #service_flow h2.head_22 {
        margin-bottom: 2.5rem;
        font-size: 112%;
    }
    #service_flow h2.head_22.narrow {
        letter-spacing: -0.1em;
    }
    #service_flow .necessary dl {
        position: relative;
        top: -5px;
        padding-top: 0;
    }
    #service_flow .check figure {
        padding-left: 20px;
        width: 170px;
    }
    /* SERVICE APP */
    .app_outline h1 {
        font-size: 294%;
    }
    .app_outline p,
    .app_outline figure {
        display: block;
        margin-bottom: 2rem;
        width: auto;
        text-align: left;
    }
    #service_app .swiper-button-prev {
        left: 0px;
    }
    #service_app .swiper-button-next {
        right: 0px;
    }
    /* SERVICE SPEC */
    #service_spec .wrap_product {
        vertical-align: top;
        padding-right: 40px;
    }
    #service_spec .wrap_product+.wrap_product {
        margin-top: 0;
    }
    #service_spec .wrap_product:nth-of-type(even) {
        padding-right: 20px;
        padding-left: 40px;
    }
    #service_spec .wrap_product h1 strong {
        font-size: 182%;
    }
    /* ABOUT */
    .about .profile dl {
        display: table;
        width: 100%;
        padding: 1.2rem 0;
    }
    .about .profile dt,
    .about .profile dd {
        display: table-cell;
        text-align: left;
    }
    .about .profile dt {
        width: 20%;
    }
    /* concept - message */
    .about .message h1 {
        font-size: 255%;
        letter-spacing: 0.04em;
    }
    .about .message h2 {
        padding-top: 0;
    }
    .about .message h2:after {
        margin: 4rem auto .5rem;
    }
    .about .message p {
        font-size: 106%;
        line-height: 2;
    }
    /* concept - concept */
    .about .concept h1 {
        font-size: 147%;
    }
    .about .concept .feature {
        position: relative;
        overflow: hidden;
        margin-top: 5rem;
    }
    .about .concept .feature+.feature {
        margin-top: 8rem;
    }
    .about .concept .feature h1 {
        margin-bottom: 3rem;
        font-size: 159%;
    }
    .about .concept .feature .wrap {
        position: relative;
        text-align: right;
    }
    .about .concept .feature.feature02 .wrap,
    .about .concept .feature.feature04 .wrap {
        text-align: left;
    }
    .about .concept .feature .wrap:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        display: block;
        width: 50%;
        height: 100%;
        background-repeat: no-repeat;
        background-position: 50% 50%;
        background-size: cover;
    }
    .about .concept .feature.feature02 .wrap:before,
    .about .concept .feature.feature04 .wrap:before {
        left: auto;
        right: 0;
    }
    .about .concept .feature.feature01 .wrap:before {
        background-image: url(../images/concept_photo01.jpg);
    }
    .about .concept .feature.feature02 .wrap:before {
        background-image: url(../images/concept_photo02.jpg);
    }
    .about .concept .feature.feature03 .wrap:before {
        background-image: url(../images/concept_photo03.jpg);
    }
    .about .concept .feature.feature04 .wrap:before {
        background-image: url(../images/concept_photo04.jpg);
    }
    .about .concept .feature .wrap>figure {
        display: none;
    }
    .about .concept .feature .wrap>div {
        display: inline-block;
        width: 50%;
        box-sizing: border-box;
        padding: 30px 40px 20px 150px;
        font-size: 106%;
    }
    .about .concept .feature.feature02 .wrap>div,
    .about .concept .feature.feature04 .wrap>div {
        padding-right: 150px;
        padding-left: 40px;
    }
    .about .concept .feature figure.phone {
        position: absolute;
        top: 100px;
        left: 50%;
        transform: translateX(-50%);
        display: block;
        width: 250px;
    }
    /* BUSINESS */
    .business_list li {
        margin-top: 5rem;
    }
    .business_list li+li {
        margin-top: 8rem;
    }
    .business_list li .col7,
    .business_list li .col5 {
        vertical-align: top;
    }
    .business_list li .col5 {
        padding-left: calc(8.3% - 20px);
    }
    .business_list li h2 {
        position: relative;
        top: -6px;
        margin: 0 0 .5rem;
    }
    /* OEM */
    #business_oem .swiper-container .swiper-wrapper {
        padding-bottom: 80px;
    }
    #business_oem .swiper-container .swiper-slide img {
        max-width: 100%;
        height: auto;
    }
    #business_oem .swiper-button-prev,
    #business_oem .swiper-button-next {
        top: 110px;
    }
    #business_oem .swiper-button-prev {
        left: 28%;
    }
    #business_oem .swiper-button-next {
        right: 28%;
    }
    .business_date td {
        white-space: normal;
    }
    /* HOMEPLUS RENTAL LP */
    .rental_banner a {
        padding: 1.5rem;
        background: #FFF;
        border-radius: 20px;
    }
    .rental_banner a>div,
    .rental_banner a>p {
        display: inline-block;
        box-sizing: border-box;
        vertical-align: middle;
    }
    .rental_banner a>p {
        width: 34%;
        padding-left: 20px;
        font-size: 100%;
    }
    .rental_banner a>div {
        margin-bottom: 0;
        padding: 0;
        width: 50%;
        background: transparent;
        border-radius: 0;
    }
    .rental_banner a>div h2 {
        width: 56%;
        text-align: right;
    }
    .rental_banner a>div figure {
        padding-left: 40px;
        width: 42%;
    }
    .rental_main_title {
        font-size: 212%;
    }
    /* plan */
    #rental_plan {
        padding: 4rem 0;
        background-size: 100%;
    }
    #rental_plan .head {
        margin-bottom: 5rem;
        font-size: 218%;
        text-align: center;
    }
    #rental_plan .head strong {
        letter-spacing: normal;
    }
    #rental_plan .head span {
        display: inline-block;
        padding: 20px 113px;
        letter-spacing: 0.03em;
    }
    #rental_plan .head span:before,
    #rental_plan .head span:after {
        width: 60px;
    }
    #rental_plan h3 {
        font-size: 212%;
    }
    #rental_plan dt>span {
        font-size: 133%;
        padding: 3px 0 8px 70px;
        background-size: 64px;
    }
    #rental_plan dt em {
        top: -22px;
        font-size: 141%;
        letter-spacing: 0.05em;
    }
    #rental_plan dd {
        margin-top: 3rem;
        padding: 1rem 0;
        text-align: center;
    }
    #rental_plan dd>div {
        display: inline-block;
        padding: 0 10px;
        vertical-align: middle;
        text-align: left;
        width: 36%;
        box-sizing: border-box;
    }
    #rental_plan dd>div:last-child {
        width: 129px;
    }
    #rental_plan dd>div h4 {
        text-align: left;
    }
    #rental_plan dd>div.buy {
        position: relative;
        padding-right: 50px;
        width: 33%;
    }
    #rental_plan dd>div.buy:after {
        position: absolute;
        right: 10px;
        top: 50%;
        transform: translateY(-50%);
        margin: 0;
        width: 47px;
        height: 76px;
        background: url(../images/rental/plan_arrow_right.svg) no-repeat center center;
    }
    #rental_plan dd>div.buy span.small {
        font-size: 70%;
    }
    /* feature */
    #rental_feature .rental_main_title:before {
        margin-bottom: 6rem;
    }
    /* starterkit */
    #rental_starterkit {
        padding: 235px 0 9rem;
    }
    #rental_starterkit:after {
        bottom: -35px;
    }
    #rental_starterkit .head:after {
        width: 278px;
        height: 278px;
    }
    #rental_starterkit h3 {
        margin-bottom: 3rem;
        font-size: 153%;
    }
    #rental_starterkit .box_wrap {
        display: flex;
    }
    #rental_starterkit .box_white {
        margin-top: 220px;
        padding: 220px 50px 2rem;
        height: calc(100% - 210px);
        box-sizing: border-box;
    }
    #rental_starterkit .box_white>figure {
        top: -180px;
        left: -20px;
        max-width: 490px;
    }
    #rental_starterkit .box_white h4.bigger {
        font-size: 188%;
    }
    /* campeign */
    #rental_campeign .rental_main_title {
        background-size: 210px;
        padding: 40px 20px;
    }
    #rental_campeign .rental_main_title span img {
        width: 105px;
    }
    #rental_campeign .rental_main_title span {
        letter-spacing: normal;
    }
    #rental_campeign .rental_main_title span:before,
    #rental_campeign .rental_main_title span:after {
        left: 20px;
        width: 69px;
        height: 110px;
    }
    #rental_campeign .rental_main_title span:after {
        left: auto;
        right: 20px;
    }
    /* campeign */
    #rental_campeign .outline_list {
        display: flex;
        flex-wrap: wrap;
    }
    #rental_campeign .outline_list dt,
    #rental_campeign .outline_list dd {
        padding: 1.5rem 0;
    }
    #rental_campeign .outline_list dt {
        width: 145px;
        margin-right: 15px;
    }
    #rental_campeign .outline_list dd {
        width: calc(100% - 160px);
    }
    #rental_campeign .outline_list dt:last-of-type {
        border-bottom: 1px solid #7e8200;
    }
    #rental_campeign .wrap_cautions {
        margin-top: 3rem;
        padding: 2rem 4rem;
    }
    /* flow */
    #rental_flow dl {
        margin-bottom: 30px;
        font-size: 100%;
    }
    #rental_flow dl dt,
    #rental_flow dl dd {
        vertical-align: middle;
    }
    #rental_flow dl dt {
        width: 155px;
        padding-right: 40px;
    }
    #rental_flow dl dd h2 {
        margin-bottom: 1rem;
        letter-spacing: normal;
    }
    #rental_flow dl:after {
        bottom: -20px;
        left: 50px;
        transform: translateX(0) rotate(45deg);
    }
    #rental_entry .head {
        margin-bottom: 3rem;
    }
    #rental_entry .head span {
        display: inline-block;
        padding: 0 3rem;
    }
    /* youtube PR */
    .box_youtube {
        padding: 40px 50px;
    }
    .box_youtube:after {
        width: calc(100% - 50px);
        height: calc(100% - 50px);
    }
    .box_youtube .col6 {
        width: 53.5%;
    }
}


/* min-width:768px */

@media screen and (min-width:959px) {
    /* SERVICE INDEX */
    .category_head.service ul li,
    .bottom_nav.service ul li {
        margin: 0 10px;
        font-size: 100%;
    }
    .bottom_nav ul li a:hover:before,
    .bottom_nav ul li.current a:before {
        top: -15px;
    }
    .service #function .function_1>div dt,
    .service #function .function_1>div.col3:first-of-type dt {
        letter-spacing: normal;
        font-size: 112%;
    }
    .box_num>div.col3 {
        width: 25%;
    }
    .box_num dl,
    .box_num dl.num3,
    .box_num dl.num4 {
        min-height: 190px;
    }
    /* SERVICE FLOW */
    #service_flow h2.head_22 {
        font-size: 141%;
    }
    #service_spec .swiper-button-prev {
        left: -5px;
    }
    #service_spec .swiper-button-next {
        right: -5px;
    }
    #service_spec .swiper-button-prev:after,
    #service_spec .swiper-button-next:after {
        font-size: 16px;
    }
}


/*min-width:959px*/

@media screen and (min-width:1080px) {
    /* HEADER */
    .header .gnav {
        padding-right: 25px;
    }
    .header .gnav li {
        padding: 0 25px;
    }
    /* FOOTER */
    .footer .footer_menu {
        font-size: 1.4rem;
    }
    .footer .footer_menu a {
        margin-left: 1.5rem;
    }
    /* COMMON */
    .category_head.service {
        text-align: center;
    }
    .category_head.service h1 {
        width: 180px;
    }
    .category_head.service ul {
        margin-left: 0;
    }
    .category_head.service ul li {
        margin: 0 20px;
        font-size: 100%;
    }
    .category_head.service a.btn_amazon {
        width: 160px;
    }
    .category_head.service a.btn_amazon span {
        font-size: 100%;
    }
    .category_head.service a.btn_amazon img {
        width: 27px;
    }
    /* サービスbottom用category_head */
    .bottom_nav.service {
        text-align: center;
    }
    .bottom_nav.service h1 {
        position: absolute;
        left: 5px;
        top: 5px;
        width: 180px;
        padding-top: 10px;
    }
    .bottom_nav ul li,
    .bottom_nav.service ul li {
        margin: 0 20px;
        font-size: 100%;
    }
    .bottom_nav.service a.btn_amazon {
        width: 160px;
    }
    .bottom_nav ul li a:before,
    .bottom_nav ul li a:hover:before,
    .bottom_nav ul li.current a:before {
        top: -15px;
    }
    .bottom_nav.service a.btn_amazon span {
        font-size: 100%;
    }
    .bottom_nav.service a.btn_amazon img {
        width: 27px;
    }
    /* INDEX */
    /* fv */
    #home .fv {
        min-height: 80vh;
        height: 80vh;
    }
    #home .fv .wrapper {
        max-width: 1400px;
    }
    #home .fv h1 {
        transform: translateY(20%);
        left: 14%;
    }
    /* CONTENTS */
    /* SERVICE */
    #service_index .service_fv {
        height: 560px;
    }
    .service_fv .wrap_fv {
        min-height: 560px;
    }
    .service_fv .wrap_fv .wrapper {
        height: 560px;
    }
    .service_fv .fv_2,
    .service_fv .fv_3,
    .service_fv .fv_4 {
        background-position: left 0 center;
        background-size: auto 100%;
    }
    .service_fv .wrap_fv .col4 {
        left: 65%;
    }
    .service_fv .fv_1 h1 {
        top: 25%;
    }
    .box_num dl,
    .box_num dl.num3,
    .box_num dl.num4 {
        min-height: 160px;
    }
    #service_flow .container+.container:before,
    #service_spec .container+.container:before,
    #service_app .container+.container:before {
        max-width: 1040px;
    }
    .service .wrap_column .title {
        padding-right: 17%;
    }
    .service .wrap_column .phone {
        right: 38%;
        width: 285px;
    }
    .service #function .function_1>div dt,
    .service #function .function_1>div.col3:first-of-type dt {
        font-size: 129%;
    }
    #service_flow h2.head_22.narrow {
        letter-spacing: normal;
    }
    /* ABOUT */
    .about .concept .feature figure.phone {
        top: 140px;
        width: 400px;
    }
    .about .concept .feature .wrap>div {
        min-height: 600px;
        padding-top: 80px;
        padding-left: 230px;
        font-size: 118%;
        line-height: 2;
    }
    .about .concept .feature.feature02 .wrap>div,
    .about .concept .feature.feature04 .wrap>div {
        padding-right: 230px;
    }
}


/* min-width:1080px */

@media screen and (min-width:1200px) {
    .category_head.service .btn_service-nav,
    .bottom_nav.service .btn_service-nav {
        top: 9px;
        right: 15px;
    }
    .category_head.service .btn_service-nav a,
    .bottom_nav.service .btn_service-nav a {
        margin: 0 5px;
        padding: .7rem 2rem;
        font-size: 100%;
    }
    .category_head.service .btn_service-nav a.amazon,
    .bottom_nav.service .btn_service-nav a.amazon {
        padding: .7rem 4rem .7rem 2rem;
        background-position: right 15px center;
    }
    .category_head.service .btn_service-nav a.rental.new:before,
    .bottom_nav.service .btn_service-nav a.rental.new:before {
        position: absolute;
        top: -6px;
        right: -2px;
    }
}


/* min-width:1200px */

@media screen and (min-width:1260px) {
    #service_index .service_fv {
        height: 649px;
    }
    .service_fv .wrap_fv {
        min-height: 649px;
    }
    .service_fv .wrap_fv .wrapper {
        height: 649px;
    }
    .service_fv .wrap_fv .col4 {
        left: calc(60% + 40px);
    }
}

.img_bottom {
    display: flex;
    justify-content: space-between;
    padding: 10px 0;
    max-width: 500px;
}

.txt_bottom {
    margin-top: 20px;
}

.txt_bottom a, .flex-box_txt a {
    padding: 15px 60px;
}

.flex-box_txt p span {
    border-bottom:1px solid #ddd;
}

.flex-box_txt p span.under {
    background: linear-gradient(transparent 70%, #d8e48345 70%);
    font-weight: 600;
    border-bottom: none;
    font-size: 2rem;
}
.flex-box_txt
    p span.under {
    background: linear-gradient(transparent 70%, #ffeb3b5e 70%);
    font-weight: 600;
    border-bottom: none;
};
}

.flex-box_txt p span.none_pc {
    display: none;
}

.txt_top {
    line-height: 1.5rem;
    margin-bottom: 20px;
}

.txt_top a {
    text-decoration: underline;
}



.txt_top p{
    line-height: 2;
    margin:0;
    
}

.txt_top p span.bold{
    font-size: 1.5em;
    color: #ce0101;
}

.font_large {
    color: #000 !important;
    font-size: 1.0em !important;
}


.other-content {
    padding-top: 20px;
    display: block;
    clear: both;
        ヒラギノ明朝
    Pro W3", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "游明朝", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, font-family: sans-serif";
}

.other-content .other-box {
    position: relative;
    border: 1px solid #D5D5D5;
    /* border-radius: 10px; */
    padding: 30px 30px;
    /* width: 88%; */
    max-width: 1200px;
    margin: 0 auto 50px;
    background-color: #fff;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 3px 10px;
    padding: 20px 15px;
    border-radius: 10px;
    color: #323232 !important;
    text-decoration: none !important;
}

.other-content .other-box .tit {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: -50px;
    padding: 0 20px;
    width: 200px;
    /* background: #fff; */
}
.other-content .other-box .tit:before {
    content: "";
    position: absolute;
    /* background: #F6F6F6; */
    height: 3px;
    width: 100%;
    left: 50%;
    transform: translateX(-50%);
    top: 40%;
    z-index: -1;
}

.flex-box {
    display: flex;
    flex-wrap: wrap;
    margin: 30px 0 60px;
    flex-direction: row;
    justify-content: space-around;
}
.flex-box.x{
    flex-direction: row-reverse;
}

.flex-box.voice.reverse {
    display: flex;
    flex-direction: row-reverse;
}

.flex-box.small {
    margin: 15px 0;
    width: 50%;
}

/*3カラム*/
.flex-box.clm3 .cnt{
    padding: 10px;
    width: calc(90% / 3);
}
.cnt-mini{
    padding: 0 10px;
    width: calc(90% / 4);
    margin-bottom:1rem;
}
.cnt-mini p{
    text-align: center;
}

@media screen and (max-width: 600px) {
    .flex-box .cnt{
        width: 98%;
    }
    .flex-box.clm3 .cnt{
        width: 98%;
    }
    /* spの場合flex */
    .flex-box .spflex-box{
        width: 98%;
    }
    .flex-box .spflex-box .cnt{
        padding: 1%;
        width: calc(98% / 2);
    }
.cnt-mini{
    width: calc(90% / 2);
}
}

.flex-box_txt h2 {
    font-size: 23px;
    line-height: 4rem;
    font-weight: 800;
    color: #2196F3;
    margin-bottom: 10px;
    /* text-shadow: 1px 1px 4px #9cfffe; */
}

.flex-box_txt h4 {
    font-size: 18px;
    font-weight: 600;
}

.flex-box_txt{
    width: 44%;
    padding: 0px 10px;
    /* font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "游明朝", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif; */
    position: relative;
    letter-spacing: normal;
    line-height: 3rem;
    text-align: left;
}

.flex-box_txt.full{
    width: 90%;
}

.vertical-textarea p {
    line-height: 3rem !important;
}
.flex-box_txt h3{
   font-size: 22px;
   margin-bottom: 20px;
   color: #185e7d;
   font-weight: 600;
}

.flex-box_txt p{
   font-size: 17px;
   line-height: 2.0;
   margin-bottom: 7px;
}

.big.mb-2em {
    font-size: 2rem;
}

.flex-box_img{
    width: 46%;
    padding: 0 10px;
    object-fit: contain;
    position:relative;
}

.flex-box.voice .flex-box_img {
    width: 25%;
    text-align: center;
}

.flex-box.voice .flex-box_img img {
    max-width: 180px;
}

.flex-box.voice .flex-box_txt {
    width: 75%;
    padding: 10px;
    background: linear-gradient(45deg, #fdffe329, #ffffff00);
    border-radius: 240px 15px 100px 15px / 15px 200px 15px 185px;
    box-shadow: 2px 2px 7px 0px #a5a5a563;
}

.flex-box_img p {
    letter-spacing: normal;
    font-size: 12px;
    /* font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif; */
    text-align: center;
    margin-top: 2px;
}

.flex-box_img p.left {
    text-align: left;
    font-size: 14px;
    margin: 0px;
}
    
.flex-box img{
}

.flex-box1_wrap{
    height: 520px;
}

.flex-box1 {
    display: flex;
    flex-wrap: wrap;
    margin-top: 20px;
    flex-direction: column-reverse;
    width: 50%;
    float: left;
}

.flex-box1_txt{
    width: 95%;
    padding: 0px 10px;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "游明朝", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
    position: relative;
}
.flex-box1_txt h3{
   font-size: 25px;
   margin-bottom: 20px;
   color: #185e7d;
}

.flex-box1_txt p{
   font-size:17px;
   line-height:1.5;
   margin-bottom: 20px;
}

.flex-box1_img{
    width: 95%;
    padding: 0 10px;
    object-fit: contain;
    position:relative;
}
   
    
.flex-box1 img1{
}

.set_icon{position: absolute;bottom: 0px;width: 140px;right: 0px;}

    
    
.fix-content.fix-right section {
    margin: 0 auto 150px;
    width: min(80%,660px);
}

.flex-box.clm3 p {
    font-size: 12px;
    text-align: center;
}

@media only screen and (max-width: 767px) {
    .other-content {
        padding-top: 10px;
    }
    
    .other-content .other-box {
        position: relative;
        border: 1px solid #D5D5D5;
        border-radius: 0;
        padding: 10px 10px;
        width: 95%;
        max-width: 1100px;
        margin: 0 auto 50px;
    }
    
    .flex-box {
        /* flex-direction: column; */
    }

    .flex-box.voice {
        display: block;
        margin: 10px;
    }

    .flex-box.voice .flex-box_txt {
        width: 100%;
    }

    .flex-box.voice .flex-box_img {
        width: 35%;
    }
    
    .flex-box_img{
        width: 100%;
        margin: auto;
    }
   

    .flex-box_txt{
        width: 100%;
        padding: 0px 10px;
        order:1;
    }

    .flex-box_txt h3{
       font-size:20px;
       margin-top: 20px;
    }

    .flex-box_txt p{
    padding-top:10px;
    font-size: 15px;
    }
    
    .txt_top {
    font-size: 13px;
    }

    .flex-box1_wrap {
    height: 1000px;
    }
    .flex-box1 {
        flex-direction: column;
        float: none;
        width: 100%;
    }
    .flex-box1_img{
        width:100%;
        padding: 0 10px;
    }
   

    .flex-box1_txt{
        width:100%;
        padding: 0px 10px;
        order:1;
    }

    .flex-box1_txt h3{
       font-size:20px;
       margin-top: 20px;
    }

    .flex-box1_txt p{
    padding-top:10px
    }
    .box_img{
        width:100%;
        order:0;
    }
    .box_img img{
        width:100%;
    }
    .set_icon{position: absolute;top: -3px;width: 140px;right: 0px;
    }
    .center, .txt_bottom {
        text-align: center;
    }

    .number_title img {
    max-width: 45px !important;
    padding: 0 !important;
    }

    .number_title {
        margin-bottom: 6rem;
        font-size: 120%;
        line-height: 1.5;
        border: 1px solid #ddd;
        background: #fff8f8;
    }

    .col6.col8-sp img {
        width: 100px;
    }

    .flex-box_txt p span.none_pc {
        display: inline;
    }
    
}

.text-center a {
    padding: 20px 60px;
    background-color: #2168a0;
    color: #fff;
    font-size: 16px;
}

.text-center a:hover {
    background-color: #2168a0;
}

.txt_bottom a {
    text-decoration: none;
}



/* ------------ */

img{
    width: 100%;
    height: auto;
    vertical-align: bottom;/*画像の下にできる余白を削除*/
  }
  
  /*メイン画像下に余白をつける*/
  
  .gallery{
    margin:0 0 5px 0;
  }
  
  /*矢印の設定*/
  
  /*戻る、次へ矢印の位置*/
  .slick-prev, 
  .slick-next {
      position: absolute;/*絶対配置にする*/
    z-index: 3;
      top: 42%;
      cursor: pointer;/*マウスカーソルを指マークに*/
      outline: none;/*クリックをしたら出てくる枠線を消す*/
      border-top: 2px solid #ccc;/*矢印の色*/
      border-right: 2px solid #ccc;/*矢印の色*/
      height: 25px;
      width: 25px;
  }
  
  .slick-prev {/*戻る矢印の位置と形状*/
      left:2.5%;
      transform: rotate(-135deg);
  }
  
  .slick-next {/*次へ矢印の位置と形状*/
      right:2.5%;
      transform: rotate(45deg);
  }
  
  /*選択するサムネイル画像の設定*/
  
  .choice-btn li{
    cursor: pointer;
    outline: none;
    background:#333;
    width:25%!important;
  }
  
  .choice-btn li img{
    opacity: 0.4;/*選択されていないものは透過40%*/
  }
  
  .choice-btn li.slick-current img{
    opacity: 1;/*選択されているものは透過しない*/
  }
  
  .choice-btn .slick-track {
    transform: unset !important;/*画面幅サイズ変更に伴うサムネイル固定*/
  }
  
  /*========= レイアウトのためのCSS ===============*/
  
  /*エリア全体を中央寄せ*/
  .wrapper{
    width:94%;
    /* max-width:900px; */
    margin:0 auto;
  }

  .wrapper span{
    letter-spacing: normal;
    /* font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif; */
  }
  
  ul{
    margin:0;
    padding: 0;
    list-style: none;
  }
  
  a{
    color: #333;
  }
  
  a:hover,
  a:active{
    text-decoration: none;
  }
  
  h1{
    text-align: center;
    font-size:6vw;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    margin:30px 0;
  }
  
  p{
    margin: 5px 0;
    word-wrap : break-word;
  }

.number_title img {
    max-width: 70px;
    padding: 0 30px;
}

.header_img {
    width: 100%;
    max-width: 200px;
    margin: 10px 30px;
}

.con_open h3 em {
    color: #2ca9e1;
    font-family: "YakuHanJP", dnp-shuei-mincho-pr6n, sans-serif;
    position: relative;
    font-size: 22px;
    /* text-shadow: 1px 1px 2px #b7b7b7; */
    font-weight: 600;
  }

.tbl_basic_g tr {
    margin: auto;
    line-height: 2.5rem;
}

.tbl_basic_g th {
    text-align: right;
}

.tbl_basic_g th, .tbl_basic_g td {
    padding: 10px 20px;
    border: solid 1px #d2d2d2;
    font-size: 16px;
}

.content {
    text-align: left !important;
    padding: 0 20px;
}

#header .con_title h2 em, span {
    text-align: center;
}

#header .con_title h2 span {
    font-size: 30%;
}

.col12.vertical-title {
    /* display: flex; */
    /* justify-content: space-between; */
}

.col12.vertical-title img {
    width: 15%;
    max-width: 250px;
    height: 100%;
}

h1 span {
    position: relative;
    padding: 0.5rem 0;
    margin-bottom: 0.2rem;
    font-size: 20px;
    font-weight: bold;
    color: #353535;
}

/* 
h1 span:before {
    position: absolute;
    bottom: 0px;
    left: 0;
    width: 100%;
    height: 10px;
    background: repeating-linear-gradient(#c9efcb 0 2px, transparent 2px 4px),
        repeating-linear-gradient(90deg, #c9efcb 0 2px, transparent 2px 4px);
    content: '';
} */

.other-content h5 {
    letter-spacing: normal;
    text-align: center;
    padding: 20px;
    font-size: 36px;
    font-family: 'Pinyon Script', cursive;
    font-weight: 800;
    background-image: url(../images/under.png?2024);
    border-radius: 50%;
    margin: 2% 30%;
    color: #4d4d4d;
    /* box-shadow: 2px 2px 2px 2px #00000047; */
    text-shadow: 1px 1px 4px #97979700;
}

.other-content h5 p {
    font-size: 18px;
    text-align: center;
    font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Yu Mincho", YuMincho, "游明朝", "ＭＳ Ｐ明朝", "MS PMincho", "Times New Roman", Times, Garamond, Georgia, serif;
}

.flex-box .bottom-img {
    display: flex;
}

.flex-box.small .flex-box_txt p {
    font-size: 16px;
    /* border-bottom: 3px dotted #4caf505c; */
    font-weight: 600;
}

.flex-box.small .flex-box_txt p span {
    font-size: 14px;
    font-weight: 500;
}

@media only screen and (max-width: 767px) {
    #header .con_title .photo img {
        width: 130% !important;
        margin-left: 0;
    }

    .col12.vertical-title img {
        width: 25%;
    }

    .col12.vertical-title {
        display: flex;
        justify-content: space-evenly;
   }
    
    h1 span:before {
        background: none;
    }

    .flex-box_txt h2 {
        font-size: 18px;
    }

    .flex-box_txt h4 {
        font-size: 16px;
    }

    .other-content h5 {
        margin: 2% 7% 6%;
        background-image: url(../images/under_sp.png);
    }

    .flex-box .bottom-img {
        display: block;
    }

    .flex-box.small {
        width: 100%;
    }
}

table.tbl_basic_g th {
    border-right: 1px solid #d2d2d2;
}

#product .target .answer {
    padding: 0 !important;
}

.col12 span {
    font-size: 1.3rem;
}

.wrapper{
    letter-spacing: 0.01em;
    }

.map img{
    max-width:1000px;
    margin: auto;
}

.feature_3 h2.catch {
    font-size: 2.6rem;
    margin:3rem 0 1rem;
}

p.price{
    text-align:right;
}
p.price span{
    font-weight:600;
    font-size: 3rem;
}