@charset "UTF-8";
/*======================



style.css




======================*/
html {
    overflow-x: hidden;
}
/*================================================================*/
@media screen and (min-width: 769px) {

    /* スクロールアニメーション
    ======================== */
    .js-fadein {
        opacity: 0;
        transform: translate(0, 0);
        transition : all 1500ms;
    }
    .js-slidein {
        opacity: 0;
        transform : translate(0, 50px);
        transition : all 1500ms;
    }
    .fade_active {
        opacity: 1;
        transform: translate(0, 0);
    }
}
/* ローディング
======================== */
/* ローディング全体 */
#loading {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    top: 0;
    background: #fff;
    z-index: 9999;
}
/* ロード後 */
.loaded {
    opacity: 0;
    visibility: hidden;
}

    
/* header
======================== */

/* menubtn */
#menuBtn {
    position: fixed;
    top: 2vw;
    right: 2vw;
    background: #fff;
    border: 2px solid #231815;
    border-radius: 50%;
    width: 12vw;
    height: 12vw;
    z-index: 13;
}
#menuBtn .menuBtn-inner {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 56.25%;
    height: calc(12vw* 0.5625* 0.5625);
}
#menuBtn span {
  display: block;
  position: absolute;
  background: #231815;
  width: 100%;
  height: 2px;
  transition: .4s ease-in-out;
}
header #menuBtn span:nth-of-type(1) {
  top: 0;
}
header #menuBtn span:nth-of-type(2) {
  top: 50%;
}
header #menuBtn span:nth-of-type(3) {
  top: 100%;
}
header.menu-open #menuBtn span:nth-of-type(1) {
  top: 50%;
  transform: rotate(-45deg);
}
header.menu-open #menuBtn span:nth-of-type(2) {
  opacity: 0;
}
header.menu-open #menuBtn span:nth-of-type(3) {
  top: 50%;
  transform: rotate(45deg);
}

header {
    position: sticky;
    top: 0;
    z-index: 12;
}
#headLogo {
    width: 10vw;
}
.navBox1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    padding: 1vw 2vw 1vw 3vw;
}
.menuWrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 4vw;
}
nav ul.hnav-list {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 6vw;
}
nav ul.hnav-list li a {
    display: inline-block;
    color: #231815;
    font-size: 24px;
    font-weight: 900;
}
search form#form1 {
    position: relative;
    border: 3px solid #231815;
    border-radius: 50px;
}
search button#sbtn {
    background: none;
    border: none;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 10px;
    padding: 0;
}
search input#sbox {
    border: none;
    border-radius: 50px;
    margin-left: 40px;
    padding: 10px;
}


/* siteIntro */
#luffys #siteIntro {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 60px;
    width: 94%;
    max-width: 1000px;
    margin: 100px auto 160px;
}

#luffys #siteIntro ._siteLogo {
    width: 70%;
    max-width: 793px;
}

#luffys #siteIntro ._siteCatch {
    text-align: center;
}
#luffys #siteIntro ._siteCatch ._ttl {
    display: inline-block;
    position: relative;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 30px;
    padding-bottom: 0.4em;
}
#luffys #siteIntro ._siteCatch ._ttl::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #231815;
    width: 100%;
    height: 1px;
}
#luffys #siteIntro ._siteCatch ._txt {
    font-size: 16px;
    font-weight: 600;
    line-height: 1.8;
}

#luffys #siteIntro ._yt iframe {
    width: 992px;
    height: 558px;
}


/* contentsbox */
#luffys .contentsbox {
    margin: 100px auto 160px;
}
#luffys .contentsbox h2._contentsttl {
    border: 3px solid #231815;
    border-radius: 50px;
    color: #231815;
    text-align: center;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.2;
    width: 94%;
    max-width: 1275px;
    margin: 60px auto;
    padding: 0.3em;
}


/* ABOUT */
#luffys #about ._mainWrap {
    position: relative;
    width: 1100px;
    margin: auto;
}
#luffys #about ._mainWrap ._mainImg img {
    width: 100%;
}
#luffys #about ._mainWrap ._txt {
    position: absolute;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.8;
    width: max-content;
}
#luffys #about ._mainWrap ._txt._txt1 {
    top: 225px;
    left: -10px;
}
#luffys #about ._mainWrap ._txt._txt2 {
    left: -10px;
    top: 407px;
}
#luffys #about ._mainWrap ._txt._txt3 {
    top: 219px;
    left: 1110px;
}
#luffys #about ._mainWrap ._txt._txt4 {
    left: 10px;
    bottom: 340px;
}
#luffys #about ._mainWrap ._txt._txt5 {
    bottom: 465px;
    right: 110px;
    text-align: left;
}
#luffys #about ._mainWrap ._txt._txt6 {
    bottom: 340px;
    right: 370px;
}
#luffys #about ._mainWrap ._txt._txt7 {
    bottom: 100px;
    right: -70px;
}


/* bnr */
#luffys #links ul.bnr-list {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 40px;
}
#luffys #links ul.bnr-list li {
    max-width: 600px;
}
#luffys #links ul.bnr-list li._flexcol {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
#luffys #links ul.bnr-list li ._bnrneartxt ,#luffys ._bnrneartxt{
    text-align: center;
    font-size: 28px;
    font-weight: 600;
    line-height: 1.4;
}
#luffys #links ul.bnr-list li a img {
    -webkit-transition: .4s cubic-bezier(.19,1,.22,1);
    -moz-transition: .4s cubic-bezier(.19,1,.22,1);
    -ms-transition: .4s cubic-bezier(.19,1,.22,1);
    -o-transition: .4s cubic-bezier(.19,1,.22,1);
    transition: .4s cubic-bezier(.19,1,.22,1);
} 
#luffys #links ul.bnr-list li a:hover img {
    opacity: 1;
    transform: translateY(-10px);
    box-shadow: 0 0 10px rgba(35,24,21,.25);
}
#luffys .bnr_contents {
    width: 1000px;
    margin: 60px auto 100px;
    text-align: center;
}
#luffys ._bnrneartxt {
    margin-bottom: 20px;
    display: inline-block;
}
#luffys .bnr_contents .txtlink {
    display: inline-block;
    font-size: 24px;
    font-weight: bold;
    color: #231815;
    text-decoration: underline;
    margin: 20px 0;
}
#luffys .bnr_contents .pv {
    width: 100%;
    aspect-ratio: 16/9;
    margin: 0;
}
#luffys .pv iframe {
    width: 100%;
    height: 100%;
}


/* copy */
#luffys #semiFoot {
    margin: 100px auto;
}
#luffys #semiFoot #copyArea ul._copyList {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 20px;
}
#luffys #semiFoot #copyArea ul._copyList li {
    text-align: center;
    font-size: 18px;
}


/* LINEUP */
#luffys #gi_productlist {
    margin-bottom: 60px;
    padding-top: 20px;
}
#luffys #category_search .search_main_wrap {
    padding: 20px 0 10px;
}
#luffys #category_search .search_main_wrap form {
    width: auto;
}
#luffys #category_search .search_main_wrap .order_wrap label span {
    color: #231815;
    border-color: #231815;
    border-radius: 14px;
    padding: 0.4em 1.6em;
}
#luffys #category_search .search_main_wrap .order_wrap label input:checked+span {
    background: #231815;
    color: #fff;
}
#luffys #category_search .search_main_wrap .order_wrap label span:hover {
    opacity: 0.75;
    background: #231815;
    border-color: #231815;
    color: #fff;
}
#luffys #category_search .search_main_wrap .search_modal_btn a {
    border-radius: 14px;
    color: #231815;
    padding: 0.4em 1.6em 0.4em 2.6em;
}
#luffys #category_search .search_main_wrap .search_modal_btn a::before {
    background: #231815;
}
#luffys #category_search .search_main_wrap .search_modal_btn a:hover {
    background: #231815;
    color: #fff;
}
#luffys #category_search .search_main_wrap .search_modal_btn a:hover::before {
    background: #fff;
}
#luffys .search_modal .search_modal-window {
    color: #231815;
}
#luffys #gi_productlist .search_result {
    color: #231815;
}
#luffys #gi_productlist .search_result .result,
#luffys #gi_productlist .search_result .result span {
    font-weight: 900;
}
#luffys #gi_productlist .search_result .txt {
    border-color: #231815;
    font-weight: 900;
}
#luffys #gi_productlist .pagenavi li a {
    background: #fff;
    border: 2px solid #231815;
    color: #231815;
    font-weight: 900;
}
#luffys #gi_productlist .pagenavi li.active a,
#luffys #gi_productlist .pagenavi li a:hover,
#luffys #gi_productlist .pagenavi li a:active {
    background: #231815;
    color: #fff;
}
#luffys #gi_productlist .product_search_list .item_brand {
    color: #231815;
}
#luffys #gi_productlist .product_search_list .item_price,
#luffys #gi_productlist .product_search_list .item_date {
    color: #231815;
}
#luffys #gi_productlist .product_search_list .item_info {
    display: flex;
    flex-direction: column;
    background: #fff;
    padding: 10px 20px;
}
#luffys #gi_productlist .product_search_list .item_info .item_detail {
    margin-bottom: 60px;
}
#luffys #gi_productlist .product_search_list .item_name {
    margin-bottom: 10px;
}
#luffys #gi_productlist .product_search_list .label_shop {
    display: block;
    position: relative;
    background: none;
    color: #231815;
    font-size: 14px;
    width: 100%;
    margin: auto auto 15px;
    padding: 0;
}
#luffys #gi_productlist .product_search_list .label_shop::before {
    display: none;
}
#luffys #gi_productlist .product_search_list .label_shop::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -7.5px;
    transform: translateX(-50%);
    background: #231815;
    width: 100%;
    height: 2px;
}
#luffys #gi_productlist .product_search_list .item_info .sale_area {
    margin-top: 0;
    margin-bottom: 0;
}
#luffys #gi_productlist .sale_area p {
    width: 100%;
}
#luffys #gi_productlist .product_search_list .item_info .sale_area .area_btn_wrap {
    width: 100%;
}
#luffys #gi_productlist .product_search_list .area_btn,
#luffys #gi_productlist .product_search_list .area_btn._on {
    position: relative;
    border: 1px solid #231815;
    background: none;
    color: #231815;
    font-weight: 500;
    letter-spacing: 0;
    height: 30px;
}
#luffys #gi_productlist .sale_area .area_btn._on {
    background: #231815;
    color: #fff;
}
#luffys #gi_productlist .product_search_list .area_btn._on:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: 2.5px;
    transform: translateX(-50%);
    border-style: solid;
    border-width: 6px 6px 0 6px;
    border-color: #fff transparent transparent transparent;
}
#luffys #gi_productlist .product_search_list .item_link .no-link {
    color: rgba(35,24,21,.5);
    text-align: center;
    font-size: 14px;
    font-weight: 600;
    padding-top: 20px;
    padding-bottom: 20px;
}
#luffys #gi_productlist .product_search_list .area_cate {
    color: #231815;
}
#luffys #gi_productlist .product_search_list .area_cate span {
    color: #233b84;
}
#luffys #gi_productlist .product_search_list .area_name {
    color: #231815;
}
#luffys #gi_productlist .product_search_list .site_btn a:hover,
#luffys #gi_productlist .product_search_list .shop_wrap .dc_btn span:hover {
    background: #fff;
    color: #233b84;
}
#luffys #gi_productlist .product_search_list .site_btn a,
#luffys #gi_productlist .product_search_list .shop_wrap .dc_btn span {
    background: #233b84;
    border: 1px solid #233b84;
}
#luffys #gi_productlist .product_search_list .site_btn a:hover:after {
    background: #233b84;
}
#luffys #gi_productlist .product_search_list .shop_wrap .dc_btn span:after {
    background: #fff;
}
#luffys #gi_productlist .product_search_list .shop_wrap .dc_btn span:hover:after {
    background: #233b84;
}
#luffys #gi_productlist .product_search_list .item_link a {
    padding: 10px 10px;
}
#luffys #gi_productlist .product_search_list .area_cont_wrap {
    box-shadow: 0px 3px 6px rgb(0 0 0 / 25%);
}

#luffys #gi_productlist .area_notes ._txt {
    color: #231815;
    text-align: center;
    font-size: 16px;
    font-weight: 900;
    letter-spacing: 0.04em;
    margin: 30px 0;
}
#luffys #gi_productlist .area_notes ._txt img {
    display: inline-block;
    width: auto;
    max-width: 104px;
    margin: 0 5px;
}


/*================================================================*/


@media screen and (max-width: 768px) {
    /* header */

    header {
        position: static;
    }

    .navBox1 {
        flex-direction: column;
        padding: 2vw 0;
    }
    #headLogo {
        width: 20vw;
        margin: 0 auto;
    }
    .menuWrap {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        flex-direction: column;
        gap: 12vw;
        background: #fff;
        width: 100vw;
        height: 100vh;
        padding: 4vw;
        z-index: 12;
    }
    nav ul.hnav-list {
        flex-direction: column;
    }
    nav ul.hnav-list li a {
        font-size: 8vw;
    }


    /* intro */
    #luffys #siteIntro {
        gap: 10vw;
        margin: 14vw auto 16vw;
    }
    #luffys #siteIntro ._siteCatch ._ttl {
        font-size: 4.6vw;
        margin-bottom: 6vw;
    }
    #luffys #siteIntro ._siteCatch ._txt {
        font-size: 2.6vw;
    }
    #luffys #siteIntro ._yt iframe {
        width: 94vw;
        height: calc(94vw * 0.5625);    
    }


    /* contentsbox */
    #luffys .contentsbox {
        width: 94vw;
        margin: 14vw auto 16vw;
    }
    #luffys .contentsbox h2._contentsttl {
        border: 2px solid #231815;
        font-size: 5.2vw;
        margin: 6vw auto;
    }


    /* about */
    #luffys #about ._mainWrap {
        width: 74vw;
        margin-top: 10vw;
    }
    #luffys #about ._mainWrap ._mainImg {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 8vw;
    }
    #luffys #about ._mainWrap ._mainImg img:nth-of-type(3) {
        transform: translateX(-6vw);
    }
    #luffys #about ._mainWrap ._mainImg img:nth-of-type(5) {
        position: absolute;
        top: 164.8vw;
        left: -11vw;
        width: 80%;
    }
    #luffys #about ._mainWrap ._txt {
        font-size: 2.4vw;
        line-height: 1.6;
    }
    #luffys #about ._mainWrap ._txt._txt1 {
        top: 31vw;
        left: -3vw;
    }
    #luffys #about ._mainWrap ._txt._txt2 {
        left: -2vw;
        top: 55vw;
    }
    #luffys #about ._mainWrap ._txt._txt3 {
        top: 112vw;
        left: 69vw;
    }
    #luffys #about ._mainWrap ._txt._txt4 {
        bottom: 30vw;
        left: -10vw;
    }
    #luffys #about ._mainWrap ._txt._txt5 {
        bottom: 45vw;
        right: -6vw;
    }
    #luffys #about ._mainWrap ._txt._txt6 {
        bottom: 35vw;
        right: 17vw;
    }
    #luffys #about ._mainWrap ._txt._txt7 {
        bottom: 7vw;
        right: -8vw;
    }

    /* links */
    #luffys #links ul.bnr-list {
        gap: 8vw;
    }
    #luffys #links ul.bnr-list li._flexcol {
        gap: 2vw;
    }
    #luffys #links ul.bnr-list li ._bnrneartxt ,#luffys ._bnrneartxt {
        font-size: 4.3vw;
    }
    #luffys .bnr_contents{
        width: 95%;
        margin: 4vw auto 10vw;
        text-align: center;
    }
    #luffys ._bnrneartxt {
        margin-bottom: 2vw;
        display: inline-block;
    }
    #luffys .bnr_contents .txtlink {
        display: inline-block;
        font-size: 3.5vw;
        font-weight: bold;
        color: #231815;
        text-decoration: underline;
        margin: 2vw 0;
    }
    #luffys .bnr_contents .pv {
        width: 100%;
        aspect-ratio: 16/9;
        margin: 0;
    }
    #luffys .pv iframe {
        width: 100%;
        height: 100%;
    }

    /* copy */
    #luffys #semiFoot {
        margin: 12vw auto;
    }
    #luffys #semiFoot #copyArea ul._copyList {
        gap: 4vw;
    }
    #luffys #semiFoot #copyArea ul._copyList li {
        font-size: 2.3vw;
    }
    #luffys #semiFoot #copyArea ul._copyList li img {
        width: 46vw;
    }


    /* LINEUP */
    #luffys #gi_productlist {
        width: 96%;
        margin: 0 auto 12vw;
        padding-top: 0;
    }
    #luffys #category_search {
        margin-bottom: 0;
    }
    #luffys #category_search .search_main_wrap {
        margin: 0 auto 4vw;
        padding: 4vw 2vw 2vw;
    }
    #luffys #category_search .search_main_wrap .search_modal_btn {
        top: auto;
        left: 2vw;
        width: 46%;
    }
    #category_search .search_main_wrap .order_wrap label:first-of-type {
        margin-left: 50%;
    }

    #luffys #gi_productlist .product_search_list .item_info {
        padding: 10px 10px;
    }
    #luffys #gi_productlist .product_search_list .item_info .item_detail {
        margin-bottom: 15px;
    }
    #luffys #gi_productlist .product_search_list .item_name {
        margin-bottom: 10px;
    }
    #luffys #gi_productlist .product_search_list .item_link .no-link {
        font-size: 12px;
        margin-bottom: 20px;
        padding-top: 10px;
        padding-bottom: 0;
    }
    #luffys #gi_productlist .sale_area .area_btn_wrap {
        width: 102%;
        position: relative;
        left: 50%;
        transform: translateX(-50%);
    }
    #luffys #gi_productlist .product_search_list .area_btn {
        color: #A8A8A8;    
        width: calc(94%/3);
        margin-right: 1%;
        margin-left: 1%;
        margin-bottom: 2%;
        padding: 1% 0px;
    }
    #luffys #gi_productlist .product_search_list .item_link a {
        padding: 5px 10px;
    }

    #luffys #gi_productlist .area_notes ._txt {
        font-size: 3.2vw;
        margin: 7vw 0;
    }


    
}

/*ABOUTのトグル*/
#luffys .contentsbox h2._contentsttl span {
    color: #231815;
    font-size: 35px;
    font-weight: 900;
    line-height: 1.2;
}
#spLuffysToggle {
	position: relative;
}
#spLuffysToggle #spLuffysToggleTitle {
	position: relative;
}
#spLuffysToggle #spLuffysToggleTitle::marker  {
	font-size: 0;
}
#spLuffysToggle #spLuffysToggleTitle h2 span {
	display: block;
	position: relative;
}
#spLuffysToggle #spLuffysToggleTitle h2 span::before {
	display: block;
	content: "▼";
	position: absolute;
	top: 0.5em;
	right: 1em;
	font-size: 20px;
}
#spLuffysToggle[open] #spLuffysToggleTitle h2 span::before {
	transform: rotate(180deg);
}
#spLuffysToggle #spLuffysToggleCintents {
	opacity: 0;
	animation: fade-out 1s;
	animation-fill-mode: forwards;
}
#spLuffysToggle[open] #spLuffysToggleCintents {
	animation: fade-in 1s;
	animation-fill-mode: forwards;
}
@keyframes fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@keyframes fade-out {
	from {
		opacity: 1;
	}
	to {
		opacity: 2;
	}
}
@media screen and (max-width: 768px) {
    #luffys .contentsbox h2._contentsttl span {
        font-size: 5.2vw;
    }
	#spLuffysToggle #spLuffysToggleTitle h2 span::before {
		font-size: 3vw;
	}
}