@charset "UTF-8";

/* --------------------------
    共通パーツ
-------------------------- */
.bg_blue {
    background: #EEF8FD;
}

/* --------------------------
    TOPページ用css
-------------------------- */
.mainvisual_wrap {
    padding: 0;
    background: #EEF8FD;
}
.mainvisual {
    width: 100%;
}
.swiper_content {
    width: 100%;
    height: auto;
    position: relative;
    margin-bottom: 40px;
}
a.swiper_btn {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
}
a.swiper_btn span {
    display: block;
    background: #fff;
    border-radius: 20px;
    font-size: 1.0rem;
    color: #000000;
    line-height: 1;
    text-align: center;
    width: 114px;
    position: relative;
    top: calc(100vw / 320 * 154);
    left: 5%;
    padding: 7px 0;
}
a.swiper_btn span .fa-chevron-right {
    color: #1E32AA;
    position: absolute;
    top: 50%;
    left: 8px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
.swiper-pagination-bullet.swiper-pagination-bullet-active {
    border: 1px solid #1E32AA;
    background: #1E32AA !important;
}
.swiper-pagination-bullet {
    border: 1px solid #1E32AA;
    background: #fff !important;
    opacity: unset !important;
}
.swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
    margin: 0 9px !important;
}



@media print, screen and (min-width: 768px) {
    .mainvisual_wrap {
        background: #EEF8FD;
    }
    .swiper_content {
        margin-bottom: 0;
    }
    a.swiper_btn {
        text-decoration: none;
    }
    a.swiper_btn span {
        font-size: 1.4rem;
        width: 200px;
        top: 471px;
        /* top: calc(100vw / 1200 * 500); */
        left: 10.4286%;
        padding: 13px 0;
    }
    a.swiper_btn span .fa-chevron-right {
        color: #1E32AA;
        position: absolute;
        top: 50%;
        left: 15px;
        transform: translateY(-50%);
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
    }
    a.swiper_btn:hover span {
        background: #1E32AA;
        color: #fff;
    }
    a.swiper_btn:hover span .fa-chevron-right {
        color: #fff;
    }
    .swiper_detail {
        font-size: 3.0rem;
        line-height: 1.75;
        margin-top: 40px;
    }
    .swiper_btn .fa-chevron-right {
        left: 15px;
    }
    .swiper-pagination-bullet.swiper-pagination-bullet-active {
        border: 3px solid #fff;
        width: 15px;
        height: 15px;
    }
    .swiper-pagination-bullet {
        width: 15px !important;
        height: 15px !important;
    }
    .swiper-horizontal>.swiper-pagination-bullets .swiper-pagination-bullet,
    .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
        margin: 0 9px !important;
    }
    .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
        width: auto !important;
    }
}


/* --------------------------
    製品を探す
-------------------------- */
.product_wrap {
    padding: 0 10px 30px;
}
.product_search {
    font-size: 1.6rem;
    font-weight: 500;
}
.product_search .fa-search {
    margin-right: 5px;
    color: #1E32AA;
}
.product_box {
    padding: 16px 0 0;
    display: grid;
    gap: 16px 0;
}
a.product_item {
    display: block;
    background: linear-gradient(to right bottom, #356DE8, #29A9ED);
    border-radius: 8px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
    padding: 20px 28px 33px;
    color: #fff;
    position: relative;
}
.product_title {
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.45;
    text-align: center;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
}
.product_subtitle {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.5;
    text-align: center;
    margin-top: 10px;
}
.product_img {
    display: block;
    margin: 22px auto 0;
}
.product_img.product_img01 {
    width: 213px;
}
.product_img.product_img02 {
    width: 228px;
}
.product_img.product_img03 {
    width: 168px;
}
.product_img.product_img04 {
    width: 152px;
}
.product_img.product_img05 {
    width: 240px;
}
.product_img.product_img06 {
    width: 252px;
}
.product_text {
    margin-top: 20px;
    font-size: 1.4rem;
    line-height: 1.4286;
    text-align: center;
}
.product_arrow {
    position: absolute;
    right: 3%;
    bottom: 10px;
}
@media print, screen and (min-width: 768px) {
    .product_wrap {
        padding: 38px 0 60px;
        width: 990px;
        margin: 0 auto;
    }
    .product_search {
        font-size: 2.0rem;
    }
    .product_box {
        padding: 30px 0 0;
        grid-template-columns: 310px 310px 310px;
        grid-template-rows: auto auto;
        gap: 30px;
    }
    a.product_item {
        padding: 20px 34px 35px;
        text-decoration: none;
        display: flex;
        flex-direction: column;
        transition: unset
    }
    a.product_item:hover {
        background: #fff;
        color: #1E32AA;
    }
    a.product_item:hover .product_title {
        border-bottom: 1px solid #1E32AA;
    }
    a.product_item:hover .product_subtitle,
    a.product_item:hover .product_text {
        color: #000000;
    }
    a.product_item:hover .product_arrow {
        color: #1E32AA;
    }
    a.product_item img:hover {
        opacity: unset;
    }
    .product_img {
        margin: 25px auto 23px;
    }
    .product_text {
        margin-top: auto;
    }
    .swiper-pagination {
        bottom: 10px;
        left: 0;
        position: absolute;
        left: 0;
        right: 0;
        margin: auto;
    }
}


/* --------------------------
    レンタルサービスの流れ部分
-------------------------- */
.introduction {
    padding: 30px 10px 0;
    display: grid;
    gap: 20px 0;
}
a.introduction_item {
    height: 120px;
    color: #fff;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    padding: 34px 0 0;
    position: relative;
}
a.introduction_item .fas {
    font-size: 2.4rem;
    line-height: 1.2083;
}
.introduction_item.service {
    background: url(/img/introduction_item01_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.introduction_item.voice {
    background: url(/img/introduction_item02_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.introduction_item.company {
    background: url(/img/introduction_item03_sp.jpg) no-repeat;
    background-position: center;
    background-size: cover;
}
.introduction_arrow {
    background: linear-gradient(to right bottom, #356DE8, #29A9ED);
    position: absolute;
    right: 0;
    bottom: 0;
    width: 35px;
    height: 35px;
    padding-top: 5px;
    font-size: 1.4rem;
}
@media print, screen and (min-width: 768px) {
    .introduction {
        padding: 60px 0 0;
        display: grid;
        gap: 0 30px;
        grid-template-columns: 310px 310px 310px;
        width: 990px;
        margin: 0 auto;
    }
    a.introduction_item {
        height: 200px;
        font-size: 2.0rem;
        line-height: 1.2;
        padding: 65px 0 0;
        text-decoration: none;
    }
    a.introduction_item .fas {
        font-size: 3.0rem;
        line-height: 1.5;
    }
    a.introduction_item:hover {
        opacity: 0.7;
    }
    .introduction_item.service {
        background: url(/img/introduction_item01_pc.jpg) no-repeat;
        background-position: center;
        background-size: cover;
    }
    .introduction_item.voice {
        background: url(/img/introduction_item02_pc.jpg) no-repeat;
        background-position: center;
        background-size: cover;
    }
    .introduction_item.company {
        background: url(/img/introduction_item03_pc.jpg) no-repeat;
        background-position: center;
        background-size: cover;
    }
    .introduction_arrow {
        right: 0;
        bottom: 0;
        width: 40px;
        height: 40px;
        font-size: 1.6rem;
        padding-top: 10px;
    }
}


/* --------------------------
    スライドのボタン　1200px以上のとき
-------------------------- */
@media (min-width: 1400px) {
    a.swiper_btn span {
        top: calc(100vw / 1400 * 471);
    }
}



.catalog {
    padding: 30px 10px 0;
}
@media print, screen and (min-width: 768px) {
    .catalog {
        padding: 60px 0 0;
    }
    
}
