@charset "utf-8";

@import url(//maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css);
@import url(//use.fontawesome.com/releases/v5.0.6/css/all.css);

/*
	font-family:"FontAwesome";
	font-family:"Font Awesome 5 Free";
*/


/*========================================
 Base
========================================*/
html {font-size:62.5%;}
body {font-size:1.2rem;}

#Wrap{
    width:100%;
    color:#262626;
    border-top:6px solid #e60012;
}

/*#zh-sc {font-family:'Noto Sans SC', 'PingFang SC', 'Microsoft YaHei', sans-serif;}
#zh-tc {font-family:'Noto Sans TC', 'PingFang TC', 'Microsoft JhengHei', sans-serif;}*/


/* PC */
@media screen and (min-width: 641px) {

header{
    width:1080px;
    margin:0 auto;
}
header h1 {display:none;}
header ul{
    display:flex;
    align-items:center;
    margin-bottom:16px
}
header li {list-style:none;}
header li img {width:100%;}
header li:last-of-type{
    width:770px;
    margin:0 auto;
}
header p{
    padding:1.4rem 0;
    font-size:2.6rem;
    text-align:center;
    line-height:1.4;
    border-top:8px double #e60012;
    border-bottom:8px double #e60012;
}
header li nav ul{
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
    background:#eee;
    color:#fff;
}
header li nav li{
    width:calc(100% / 4) !important;
    margin:0 !important;
    color:#262626;
    text-wrap:nowrap;
    line-height:1;
    border-right:1px dotted #ccc;
    box-sizing:border-box;
}
header li nav li:first-of-type {border-left:1px dotted #ccc;}
header li nav li a{
    display:block;
    padding:8px 1em;
    color:#aaa;
    text-decoration:none;
    transition:0.4s;
}
header li nav li a:hover {color:#e60012;}


/* 項目ごと */
section{
    width:1080px;
    margin:0 auto 3em;
    font-size:1.3rem;
    line-height:1.5;
}
section h2{
    margin-bottom:14px;
    font-size:2.4rem;
    font-weight:bold;
    border-bottom:2px solid #000;
}
section .itemBox {margin-bottom:2rem;}
section h3{
    display:inline-block;
    margin-bottom:6px;
    padding:7px 0.5em 4px;
    font-size:1.8rem;
    line-height:1;
    border:1px solid #000;
}
section h3 + p {margin-bottom:0.8em;}
section h4{
    display:inline;
    margin-right:1em;
    font-size:1.4rem;
}
section h4 + p {display:inline;}
.AttentionBox{
    padding:1em;
    border:2px solid #e60012;
    box-sizing:border-box;
}
.AttentionBox h3{
    padding:4px 0;
    color:#e60012;
    border:none;
}
.Attention{
    margin-bottom:1em;
    color:#e60012;
}

#CannotShop ul {margin-bottom:1em;}
#AboutProcedure li, #CannotShop li, #Attention li, #Other li {list-style:none;}
#AboutProcedure li::before, #CannotShop li::before, #Attention li::before, #Other li::before {content:"・";}
#English #AboutProcedure li::before, #English #CannotShop li::before, #English #Attention li::before, #English #Other li::before {content:"- ";}


/* FAQ */
#Faq dl{
    display:flex;
    flex-wrap:wrap;
    width:100%;
    margin-bottom:1em;
    padding-bottom:1em;
    border-bottom:1px dotted #ccc;
}
#Faq dt{
    width:3%;
    margin-bottom:0.6em;
}
#Faq dd{
    width:97%;
    margin-bottom:0.6em;
}
#Faq dt:last-of-type, #Faq dd:last-of-type {margin-bottom:0;}
#Faq dt:first-of-type, #Faq dd:first-of-type {color:#335fab;}


}



/* 店舗 */
.accordion_area{
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    max-width:1080px;
    margin:34px auto;
}
.accordion_area .accordion_one._flex{
    width:calc(100% / 2);
    margin-bottom:1em;
}
.accordion_one .accordion_header{
    position:relative;
    background-color:#fff;
    margin:0 1%;
    padding:14px 12px;
    font-size:2rem;
    font-weight:bold;
    color:#444;
    text-align:left;
    border:2px solid #888;
    box-sizing:border-box;
    z-index:+1;
    cursor:pointer;
    transition-duration:0.2s;
}
.accordion_one .accordion_header a, .accordion_one .accordion_header_one a{
    display:block;
    color:#262626;
    text-decoration:none;
}
.accordion_one .accordion_header_one a::before{
    content:">>";
    margin-right:0.5em;
}
.accordion_one .accordion_header_one{
    position:relative;
    background-color:#eee;
    margin:0 1%;
    padding:1em;
    font-size:1.6rem;
    font-weight:bold;
    color:#262626;
    text-align:left;
    letter-spacing:-0.05rem;
    line-height:1.4;
    border:2px solid #262626;
    border-top:none;
    z-index:+1;
    cursor:pointer;
}
.accordion_one .accordion_header_one a{
    display:block;
    padding:12px 0 0;
}
.accordion_one .accordion_header:hover, .accordion_one .accordion_header_one a:hover{
    background:#eee;
    opacity:.8;
}
.accordion_one .accordion_header .i_box{
    display:flex;
    justify-content:center;
    align-items:center;
    position:absolute;
    top:50%;
    right:1%;
    width:40px;
    height:40px;
    margin-top:-20px;
    box-sizing:border-box;
    transform:rotate(45deg);
    transform-origin:center center;
    transition-duration: 0.2s;
}
.accordion_one .accordion_header .i_box .one_i{
    position:relative;
    display:block;
    width:18px;
    height:18px;
    transform:rotate(45deg);
    transform-origin:center center;
    transition-duration:0.2s;
}
.accordion_one .accordion_header.open .i_box {transform: rotate(-360deg);}
.accordion_one .accordion_header .i_box .one_i:before, .accordion_one .accordion_header .i_box .one_i:after{
    display:flex;
    content:'';
    position:absolute;
    top:7px;
    left:0;
    background-color:#888;
    width:18px;
    height:4px;
    border-radius:10px;
    transform:rotate(0deg);
    transform-origin:center center;
}
.accordion_one .accordion_header .i_box .one_i:before{
    top:0;
    left:7px;
    width:4px;
    height:18px;
}
.accordion_one .accordion_header.open .i_box .one_i:before {content:none;}
.accordion_one .accordion_header.open .i_box .one_i:after {transform:rotate(-45deg);}
.accordion_one .accordion_inner{
    display:none;
    padding:0;
    box-sizing:border-box;
}
.accordion_one .accordion_inner .box_one {height:300px;}
.accordion_one .accordion_inner p.txt_a_ac {margin:0;}

@media screen and (max-width:1024px) {

.accordion_one .accordion_header {font-size:1.8rem;}
.accordion_one .accordion_header_one {font-size:1.8rem;}
.accordion_one .accordion_header .i_box{
    width:30px;
    height:30px;
    margin-top:-15px;
}

}

/* スマホ */
@media screen and (max-width: 640px) {

.pcOnly {display:none;}

header{
    width:100%;
    margin:0;
}
header h1 {display:none;}
header ul {margin-bottom:16px}
header li{
    text-align:center;
    list-style:none;
}
header li:first-of-type img {width:80%;}
header li:last-of-type img {width:98%;}
header p{
    padding:1.4rem 1em;
    font-size:1.3rem;
    line-height:1.4;
    border-top:8px double #e60012;
    border-bottom:8px double #e60012;
}
header li nav ul{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    justify-content:center;
    background:#eee;
    margin-bottom:16px;
    color:#fff;
    text-align:center;
}
header li nav li{
    width:calc(100% / 4) !important;
    margin:0 !important;
    color:#262626;
    text-wrap:nowrap;
    line-height:1;
    border-right:1px dotted #ccc;
    box-sizing:border-box;
}
header li nav li:last-of-type {border-right:none;}
header li nav li a{
    display:block;
    padding:8px 1em;
    color:#aaa;
    text-decoration:none;
    transition:0.4s;
}
header li nav li a:hover {color:#e60012;}


/* アコーディオンメニュー */
.accordion_area {max-width:100%;}
.accordion_area .accordion_one._flex {width:100%;}
.accordion_one .accordion_header{
    padding:14px 11% 14px 7%;
    font-size:1.4rem;
}
.accordion_one .accordion_header{
    margin-top:8px;
    font-size:1.4rem;
    text-align:left;
    padding:15px 40px 15px 15px;
}
.accordion_one .accordion_header_one {font-size:1.3rem;}


/* 項目ごと */
section{
    width:90%;
    margin:0 auto 3em;
    font-size:1.3rem;
    line-height:1.5;
}
section h2{
    margin-bottom:14px;
    font-size:1.6rem;
    font-weight:bold;
    border-bottom:2px solid #000;
}
section .itemBox {margin-bottom:2rem;}
section h3{
    display:inline-block;
    margin-bottom:6px;
    padding:7px 0.5em 4px;
    font-size:1.4rem;
    line-height:1;
    border:1px solid #000;
}
section h3 + p {margin-bottom:0.8em;}
section h4{
    display:inline;
    margin-right:1em;
    font-size:1.4rem;
}
section h4 + p {display:inline;}
.AttentionBox{
    padding:1em;
    border:2px solid #e60012;
    box-sizing:border-box;
}
.AttentionBox h3{
    padding:4px 0;
    color:#e60012;
    border:none;
}
.Attention{
    margin-bottom:1em;
    color:#e60012;
}

#CannotShop ul {margin-bottom:1em;}
#AboutProcedure li, #CannotShop li, #Attention li, #Other li {list-style:none;}
#AboutProcedure li::before, #CannotShop li::before, #Attention li::before, #Other li::before {content:"・";}
#English #AboutProcedure li::before, #English #CannotShop li::before, #English #Attention li::before, #English #Other li::before {content:"- ";}


/* FAQ */
#Faq dl{
    display:flex;
    flex-wrap:wrap;
    width:100%;
    margin-bottom:1em;
    padding-bottom:1em;
    border-bottom:1px dotted #ccc;
}
#Faq dt{
    width:9%;
    margin-bottom:0.6em;
}
#Faq dd{
    width:91%;
    margin-bottom:0.6em;
}
#Faq dt:last-of-type, #Faq dd:last-of-type {margin-bottom:0;}
#Faq dt:first-of-type, #Faq dd:first-of-type {color:#335fab;}


}


/* topへ戻る */
#footerGroup #totop{
    width:40px;
    height:40px;
    padding:0;
    text-indent:-9999px;
    background-color:#0079c7;
    border-radius:100%;
    position:fixed;
    bottom:10px;
    right:0;
    z-index:800;
    display:none;
    cursor:pointer;
}
#footerGroup #totop a {display:block;}
#footerGroup #totop::after{
    content:"\f106";
    font-family:"FontAwesome";
    font-size:40px;
    line-height:35px;
    text-indent:0;
    text-align:center;
    color:#fff;
    display:block;
    position:absolute;
    top:0;
    left:0;
    right:0;
}
