@charset "UTF-8";
/* Hero ================================= */

#hero {
    padding: 0;
    min-height: auto;
}

#hero .swiper-container {
    padding-bottom: 20px;
}

#hero .swiper-slide {
    position: relative;
}

#hero .swiper-slide img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1.5 / 1;
    object-fit: cover;
}

#hero .swiper-slide img.pc {
    display: none;
}

#hero .slide-text {
    background: #f0f0f0;
    padding: 10px 16px;
    line-height: 1.5;
}

#hero .slide-text .title {
    font-size: 1.6rem;
    margin: 0 0 4px;
}

#hero .slide-text .comment {
    font-size: 1.2rem;
    margin: 0;
    min-height: 3em;
}

/* Hero Pagination */
#hero .swiper-pagination {
    position: relative;
    bottom: auto;
    margin-top: 12px;
    text-align: center;
}

#hero .swiper-pagination-bullet {
    width: 35px;
    height: 6px;
    border-radius: 2px;
    background: #dddddd;
    opacity: 1;
    margin: 0 4px;
}

#hero .swiper-pagination-bullet-active {
    background: #777777;
}

/* Campaign Info ================================= */

#campaign-info {
    padding: 10px 0 15px;
}

#product-recommend .title-mini {
    margin-top: 40px;
}

/* Important News Top ================================= */

#important-news-top {
    padding: 10px 0 0;
    margin-top: 0;
}

/* product recommend, online limited ================================= */
#product-recommend,
#prproduct-online-limited{
    display: flex;
    justify-content: center;
	padding: 0 0 50px;
}
#product-recommend .inner,
#prproduct-online-limited .inner{
    padding: 0;
    width: calc(100% - 60px);
    max-width: 1300px;
    box-sizing: border-box;
    position: relative;
}
#product-recommend .inner .swiper-container,
#prproduct-online-limited .inner .swiper-container{
    margin-top: 50px;
}
#product-recommend .inner .swiper-container .item_box,
#prproduct-online-limited .inner .swiper-container .item_box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: calc(100% / 4);
}
#product-recommend .inner .item_box .item_img,
#prproduct-online-limited .inner .item_box .item_img{
    background: #FFF;
    position: relative;
    width: 100%;
}
#product-recommend .inner .item_box .item_img::before,
#prproduct-online-limited .inner .item_box .item_img::before {
    content: "";
    display: block;
    padding-top: 100%;
}
#product-recommend .inner .item_box .item_img img,
#prproduct-online-limited .inner .item_box .item_img img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    object-fit: contain;
    width: 100%;
    height: 100%;
}
#product-recommend .inner .item_box .item_img .item_notice,
#prproduct-online-limited .inner .item_box .item_img .item_notice{
    padding: 8px;
    position: absolute;
    top: 0;
    left: 0;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
}
#product-recommend .inner .item_box .explain,
#prproduct-online-limited .inner .item_box .explain {
    width: 100%;
    margin-top: 20px;
    line-height: 1.5;
    font-size: 1.2rem;
    word-break: break-all;
	text-align: center;
}
#product-recommend .inner .name,
#prproduct-online-limited .inner .name {
    font-size: 1.0rem;
	min-height: 3em;
}
#product-recommend .inner .modelNumber,
#prproduct-online-limited .inner .modelNumber {
    font-size: 1.7rem;
    margin: 0 0 10px;
}
#product-recommend .inner .price,
#prproduct-online-limited .inner .price {
    font-size: 1.6rem;;
    margin: 0;
	font-color: #535353;
}
#product-recommend .inner .tax,
#prproduct-online-limited .inner .tax{
	font-size: 1rem;
    margin-left: 10px;
}
#product-recommend .swiper-button-prev,
#prproduct-online-limited .swiper-button-prev{
    background: none;
    top: 51%;
    left: -25px;
    width: 30px;
    height: 30px;
}
#product-recommend .swiper-button-next,
#prproduct-online-limited .swiper-button-next {
    background: none;
    top: 51%;
    right: -25px;
    width: 30px;
    height: 30px;
}
#product-recommend .swiper-button-prev::before,
#product-recommend .swiper-button-prev::after,
#product-recommend .swiper-button-next::before,
#product-recommend .swiper-button-next::after,
#prproduct-online-limited .swiper-button-prev::before,
#prproduct-online-limited .swiper-button-prev::after,
#prproduct-online-limited .swiper-button-next::before,
#prproduct-online-limited .swiper-button-next::after{
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
#product-recommend .swiper-button-prev::before,
#product-recommend .swiper-button-next::before,
#prproduct-online-limited .swiper-button-prev::before,
#prproduct-online-limited .swiper-button-next::before {
    width: 30px;
    height: 30px;
    background: #535353;
}
#product-recommend .swiper-button-prev::after,
#prproduct-online-limited .swiper-button-prev::after {
    left: 12px;
    width: 7px;
    height: 7px;
    border-bottom: 3px solid #FFF;
    border-left: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#product-recommend .swiper-button-next::after,
#prproduct-online-limited .swiper-button-next::after {
    left: 8px;
    width: 7px;
    height: 7px;
    border-top: 3px solid #FFF;
    border-right: 3px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#product-recommend .swiper-button-disabled,
#prproduct-online-limited .swiper-button-disabled {
    display: none;
}
.under-center{/* 要素が少ない時に中央寄せ */
	display: flex;
	justify-content: center;
}
/* カラーチップ */
.colorTip{
    margin: 0;
    padding: 0;
    display: inline;
}
.colorTip li{
    display: inline-block;
    margin-right: 10px;
    width: 22px;
    height: 22px;
    position: relative;
}
.colorTip li:last-child{
    margin-right: 0;
}
.colorTip .checked_w::after,
.colorTip .checked_b::after{
    display: block;
    content: "✓";
    position: absolute;
    top: -2px;
    left: 1px;
    width: 22px;
    height: 22px;
    -webkit-transform: rotate(-5deg);
    transform: rotate(-5deg);
    font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
    font-size: 20px;
}
.colorTip .checked_w::after{
    color: #fff;
}
.colorTip .checked_b::after{
    color: #000;
}
.colorTip .single,
.colorTip .double{
    display: inline-block;
    width: 22px;
    height: 22px;
    transform: rotate(-55deg);
    border-radius: 11px;
    border: 1px solid #bdbdbd;
    box-sizing: border-box;
}
.colorTip .single .one{
    display: block;
    width: 100%;
    height: 100%;
    background: #000;
    border-radius: 100%;
}
.colorTip .double .one,
.colorTip .double .two{
    display: block;
    width: 100%;
    height: 50%;
    background: #000;
}
.colorTip .double .one{
    border-radius: 11px 11px 0 0;
}
.colorTip .double .two{
    border-radius: 0 0 11px 11px;
}

/* Member Register ================================= */
#member-register {
    display: flex;
    justify-content: center;
    padding: 0 0 63px;
}

#member-register .inner {
    padding: 0 20px;
    width: 100%;
    box-sizing: border-box;
}

#member-register .member-register-cards {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: 20px;
    max-width: 470px;
    margin-left: auto;
    margin-right: auto;
}

#member-register .member-register-card {
    display: flex;
    align-items: center;
    gap: 16px;
}

#member-register .member-register-card-img {
    flex-shrink: 0;
    width: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#member-register .member-register-card-img img {
    display: block;
    max-height: 80px;
    max-width: 100%;
    width: auto;
}

#member-register .member-register-card-text h3 {
    font-size: 1.6rem;
    margin: 0 0 8px;
    line-height: 1.4;
    text-align: left;
}

#member-register .br-mail-title {
    display: inline;
}

#member-register .member-register-card-text p {
    font-size: 1.2rem;
    line-height: 1.5;
    margin: 0;
}

#member-register .member-register-cta {
    text-align: center;
    margin-top: 20px;
}

#member-register .member-register-cta p {
    font-size: 1.3rem;
    margin: 0 0 12px;
}

#member-register .member-register-btn {
    display: inline-block;
    background: #daa521;
    color: #ffffff;
    text-decoration: none;
    padding: 10px 45px;
    font-size: 1.4rem;
    border-radius: 4px;
}

/* Topics ================================= */

#topics {
    background: #EAEAEA;
    padding-bottom: 0;
}

#topics .inner {
    display: flex;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: center;
    padding: 0px 20px;
    max-width: 500px;
}

#topics .inner>div {
    width: 100%;
    box-sizing: border-box;
    word-break: break-all;
}

#topics .inner .big_topics {
    border: none;
    padding-right: 0;
}

#topics .img_wrap {
    background: #aaa;
    position: relative;
    width: 100%;
}

#topics .img_wrap::before {
    content: "";
    display: block;
    padding-top: 75%;
    /* 4:3の比率の場合　100% / 4 *3 */
}

#topics .img_wrap .thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

#topics .img_wrap .thumbnail img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

#topics .inner .topics_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    padding-left: 0;
}

#topics .ablock {
    display: block;
    text-decoration: none;
    line-height: 1.5;
}

#topics .topics_list .ablock {
    width: calc(50% - 10px);
    min-width: unset;
    min-height: 255px;
    margin-bottom: 20px;
    text-align: center;
}

#topics .big_topics .ablock {
    height: 100%;
    margin-bottom: 20px;
    text-align: center;
}

#topics .big_topics .title {
    font-size: 1.6rem;
    line-height: 1.5;
    margin: 0.5em 0 1em;
    color: #000;
}

#topics .excerpt, #topics .topics_list .title {
    font-size: 1.2rem;
    line-height: 1.5;
    text-align: left;
    color: #000;
}

#topics .cat_style {
    margin: 10px;
    color: #000;
}

.cat_style::before {
    bottom: -5px;
}

/* New-product ================================= */

#new-product {
    background: #EAEAEA;
    display: flex;
    justify-content: center;
    padding-bottom: 50px;
}

#new-product .inner {
    padding: 0;
    width: 70vw;
    max-width: 1300px;
    box-sizing: border-box;
    position: relative;
}

#new-product .inner .swiper-container {
    margin-top: 50px;
}

#new-product .inner .swiper-container .item_box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    width: calc(100% / 4);
}

#new-product .inner .item_box .item_img {
    background: #FFF;
    position: relative;
    width: 100%;
}

#new-product .inner .item_box .item_img::before {
    content: "";
    display: block;
    padding-top: 100%;
}

#new-product .inner .item_box .item_img img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    object-fit: contain;
    width: 100%;
    height: 100%;
}

#new-product .inner .item_box .explain {
    width: 100%;
    border-top: 1px solid #000;
    margin-top: 30px;
    line-height: 1.5;
    font-size: 1.2rem;
    word-break: break-all;
}

#new-product .inner .name {
    margin: 1em 0;
    font-size: 1.0rem;
}

#new-product .inner .modelNumber {
    font-size: 1.7rem;
    margin: 0;
}

#new-product .swiper-button-prev {
    background: none;
    top: 38%;
    left: -51px;
    width: 46px;
    height: 46px;
}

#new-product .swiper-button-next {
    background: none;
    top: 38%;
    right: -51px;
    width: 46px;
    height: 46px;
}

#new-product .swiper-button-prev::before, #new-product .swiper-button-prev::after, #new-product .swiper-button-next::before, #new-product .swiper-button-next::after {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}

#new-product .swiper-button-prev::before, #new-product .swiper-button-next::before {
    width: 46px;
    height: 46px;
    background: rgba(255, 255, 255, 0.8);
}

#new-product .swiper-button-prev::after {
    left: 20px;
    width: 7px;
    height: 7px;
    border-bottom: 3px solid #505659;
    border-left: 3px solid #505659;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#new-product .swiper-button-next::after {
    left: 16px;
    width: 7px;
    height: 7px;
    border-top: 3px solid #505659;
    border-right: 3px solid #505659;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#new-product .swiper-button-next.swiper-button-disabled, #new-product .swiper-button-prev.swiper-button-disabled {
    display: none;
}

/* News=============================================== */

#news {
    padding-bottom: 0;
}

#news .inner {
    display: flex;
    flex-wrap: wrap;
    width: 90%;
    justify-content: space-between;
}

#news .news_box {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    min-height: 145px;
    margin: 0 0 30px 0;
    box-sizing: border-box;
}

#news .news_box:nth-child(2n) {
    margin-right: 0;
}

#news .news_box .news_pic, #news .news_box .news_pic_none {
    position: relative;
    width: 160px;
    height: 106px;
    border: 1px solid #cbcbcb;
    background: #FFF;
    margin-bottom: 10px;
}

#news .news_box .news_pic::before, #news .news_box .news_pic_none::before {
    content: "";
    display: block;
    padding-top: 65.25%;
}

#news .news_box .news_pic .thumbnail {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

#news .news_box .news_pic_none {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

#news .news_box .news_pic img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#news .news_box .news_desc {
    flex: 1;
    padding-left: 10px;
}

#news .news_box .news_desc .news_cat {
    display: inline-block;
    padding-right: 10px;
    margin-right: 5px;
    border-right: 1px solid #000;
    text-transform: uppercase;
    font-size: 1.3rem;
    letter-spacing: 0.15em;
}

#news .news_box .news_desc time {
    display: inline-block;
    font-size: 1.2rem;
}

#news .news_box .news_desc p, #news .news_box .news_desc a {
    display: block;
    font-size: 1.2rem;
    word-break: break-all;
    line-height: 1.8;
    margin: 20px 0 0;
    height: 5.3em;
    overflow: hidden;
}

/* Connect =============================================== */

#connect .inner {
    text-align: center;
}

#connect .inner p {
    margin: 1em 0;
}

#connect .inner .connect_icon {
    display: inline-flex;
    padding: 0;
    justify-content: space-around;
}

#connect .inner .connect_icon li {
    margin: 0 1em;
}

#connect .inner .connect_icon li a {
    display: inline-block;
    width: 30px;
    height: 30px;
}
#connect .inner .connect_icon li a img{
	object-fit: contain;
	width: 30px;
	height: 30px;
}
@media (max-width: 320px) {
    #news .news_box .news_desc p, #news .news_box .news_desc a {
        font-size: 1.0rem;
    }
    #new-product .swiper-button-next {
        right: -40px;
    }
    #new-product .swiper-button-prev {
        left: -40px;
    }
}

/*==============================
2021.10.07 追記 find the best
==============================*/

#findthebest .inner {
    padding: 0 20px;
}

#findthebest .navi {
    margin: 20px auto;
    padding: 0;
    justify-content: center;
    min-height: 110px;
}

#findthebest .navi a {
    display: flex;
    align-items: center;
}

#findthebest .navi a .naviImg img {
    width: 50vw;
}

#findthebest .navi a .text {
    width: 50vw;
    padding-left: 30px;
    text-align: left;
    color: #000;
}

#findthebest .navi a .text .title {
    font-size: 1.4rem;
}

#findthebest .navi a .text .excerpt {
    font-size: 1.2rem;
    margin-top: 2vh;
	line-height: 1.8;
}

#findthebest .navi a .pc {
    display: none !important;
}

#findthebest .navi a .sp {
    display: block !important;
}

@media (width <= 414px) {
    #findthebest .navi {
        margin: 1vh auto;
    }
    #findthebest .navi a .text {
        padding-left: 10px;
    }
    #findthebest .navi a .text .title {
        font-size: 1.1rem;
    }
    #findthebest .navi a .text .excerpt {
        font-size: 1rem;
        margin-top: 1vh;
    }
}
