/* 共通部品：ヘッダ */
body {
    font-family: sans-serif;
}
#header_wrapper {
    position: relative;
    width: 100%;
    min-width: 900px;
    height: 100px;
    background-color: #FFD65E;
    z-index: 10;
}
#header {
    position:relative;
    float: left;
    width:100%;
    height:70px;
    border-bottom: solid 1px #fff;
}
#header_logo {
    position: relative;
    float: left;
    height: 32px;
    margin-top: 20px;
    width: 210px;
    margin:20px 20px;
    background-position: 50% 50%;
    background-image: url('../img/programming-fun_logo.png');
    background-repeat: no-repeat;
    background-size: 200px;
    z-index: 5;
    cursor: pointer;
    border: solid 1px #FFD65E;
    border-radius: 5px;
}
#header_logo:hover {
    border: solid 1px #777;
    border-radius: 5px;
}
#search_area {
    position: relative;
    float: left;
    width: calc(100% - 580px);
    margin-top: 20px;
    border: solid 1px 1px 1px 1px;
    border-radius: 5px;
    border-color: aqua;
}
#search_input {
    position: relative;
    float: left;
    width: calc(100% - 60px);
}
#searchInput {
    width:calc(100% - 20px);
    height:30px;
    border-radius: 5px 0 0 5px;
    padding-left: 10px;
    padding-right: 10px;
    font-size: 16px;
}
#search_btn {
    position: relative;
    float: left;
    height: 32px;
    width: 50px;
    background-color: darkorange;
    border: solid 2px #000;
    border-left: none;
    border-radius: 0 5px 5px 0;
    background-image: url('../img/search_icon.png');
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: 10px;
}
#search_btn:hover {
    background-color: rgb(241, 193, 87);
    cursor: pointer;
}
#header_right {
    position: relative;
    float: right;
    margin-top: 20px;
    margin-right: 20px;
    width: 305px;
}
#shippingFree {
    position: relative;
    float: right;
    width:110px;
    height:50px;
    background-image: url('../img/shipping_free_icon.png');
    background-repeat: no-repeat;
    background-size: 100px;
    background-position: 10px;
}
.header_middle_icon {
    position: relative;
    float: right;
    width:110px;
    height:43px;
    font-size:13px;
    text-align: center;
    padding-top:5px;
    border: solid 1px #FFD65E;
    border-radius: 5px;
    cursor: pointer;
}
.header_middle_icon:hover {
    border: solid 1px #777;
    border-radius: 5px;
}
#cart_icon {
    position: relative;
    float: right;
    width:60px;
    height:48px;
    background-image: url('../img/cart_icon.png');
    background-repeat: no-repeat;
    background-size: 50px;
    background-position: 5px;
    border: solid 1px #FFD65E;
    border-radius: 5px;
    cursor: pointer;
    margin-left:5px;
}
#cart_icon:hover {
    border: solid 1px #777;
    border-radius: 5px;
}
#cart_num {
    position: relative;
    float:left;
    width:42px;
    height:50px;
    text-align: center;
    margin-top: 10px;
}
#header_bottom {
    position: relative;
    width: calc(100% - 20px);
    padding:0 10px 0 10px;
}
#headerMenuArea {
    position:relative;
    float:left;
    width:50%;
    font-size: 13px;
}
#hedderBottomRight {
    position:relative;
    float:right;
    width:50%;
    font-size: 13px;
}
.header_menu_left {
    position: relative;
    margin-top: 5px;
    float: left;
    margin-left: 10px;
    cursor: pointer;
    padding-left:5px;
    padding-right:5px;
}
.header_menu_left:hover {
    background-color: #f5e6ba;
}
.header_menu_right {
    position: relative;
    margin-top: 5px;
    float: right;
    margin-right: 10px;
    cursor: pointer;
    padding-left:5px;
    padding-right:5px;
}
.header_menu_right:hover {
    background-color: #f5e6ba;
}
.header_menu_right_sub_area {
    position: fixed;
    top: 99px;
    right: -2px;
    margin-top: 5px;
    float: right;
    clear: both;
    margin-right: 10px;
    cursor: pointer;
    padding:5px 5px 5px 5px;
    display:none;
    background-color: #FFD65E;
}

.header_manu_sub {
    position: relative;
    float: left;
    clear: both;
    background-color: #FFD65E;
    margin: 5px 0 0 0;
}

/* 共通部品：フッター */
#footer {
    position: relative;
    float: left;
    width: 100%;
    min-height: 50px;
    padding-top:10px;
    /* border-top: solid 1px #333; */
    background-color: #FFD65E;
    text-align: center;
}
#footer_menu {
    position: relative;
    font-size:14px;
}
#footer_menu a {
    color: #333;
    text-decoration: none;
}
#footer_menu a:hover {
    cursor: pointer;
    font-weight: bold;
}
#footer_menu a:visited {
    color: #333;
    text-decoration: none;
}
#copyright {
    position: relative;
    margin-top: 10px;
    font-size:12px;
    color: #333;
}
#copyright a {
    color: #333;
    text-decoration: none;
}
#copyright a:hover {
    cursor: pointer;
    font-weight: bold;
}
#copyright a:visited {
    color: #333;
    text-decoration: none;
}

/* 共通部品：コンテンツエリアの設定 */
#content_wrapper {
    position: relative;
    float: left;
    width: 100%;
    display: flex;
    justify-content: center;
}
#content {
    position:relative;
    float:left;
    width:95%;
    max-width: 1280px;
    min-width: 960px;
    background-color: transparent;
}
/* 表組み（角丸） */
.left_top {
    position: relative;
    float: left;
    clear: both;
    width: 20%;
    height: 50px;
    border:solid 1px #777;
    border-radius: 5px 0 0 0;
    border-bottom: none;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
.right_top {
    position: relative;
    float: left;
    width: calc(80% - 43px);
    height: 50px;
    border:solid 1px #777;
    border-radius: 0 5px 0 0;
    border-bottom: none;
    border-left: none;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
.left {
    position: relative;
    float: left;
    clear: both;
    width: 20%;
    height: 50px;
    border:solid 1px #777;
    border-bottom: none;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
.right {
    position: relative;
    float: left;
    width: calc(80% - 43px);
    height: 50px;
    border:solid 1px #777;
    border-bottom: none;
    border-left: none;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
.right a {
    color: #333;
    text-decoration: none;
}
.right a:hover {
    cursor: pointer;
    color:#000;
    font-weight: bold;
}
.right a:visited {
    color: #333;
    text-decoration: none;
}
.left_bottom {
    position: relative;
    float: left;
    clear: both;
    width: 20%;
    height: 50px;
    border:solid 1px #777;
    border-radius: 0 0 0 5px;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
.right_bottom {
    position: relative;
    float: left;
    width: calc(80% - 43px);
    height: 50px;
    border:solid 1px #777;
    border-radius: 0 0 5px 0;
    border-left: none;
    padding:5px 10px 5px 10px;
    font-size:15px;
    display:flex;
    align-items: center;
}
/* リンクのスタイル */
.link {
    color: #000;
    background-color: transparent;
}
.link a {
    text-decoration: underline;
    cursor: pointer;
}
.link a:hover {
    font-weight: bold;
}
.link a:visited {
    color: #000;
    text-decoration: none;
}
.link2 {
    color: #FFF;
    background-color: transparent;
}
.link2 a {
    color: #FFF;
    cursor: pointer;
    text-decoration: none;
}
.link2 a:hover {
    font-weight: bold;
}
.link2 a:visited {
    color: #FFF;
    text-decoration: none;
}
/* index.htmlに関する設定 */
.banner {
    position:relative;
    width: 700px;
    height: 200px;
    margin: auto;
    border: solid 2px transparent;
    border-radius: 7px;
    margin-top: 20px;
    overflow: hidden;
}
.banner:hover {
    cursor: pointer;
    border: solid 2px #FFD65E;
}
.category {
    position:relative;
    float:left;
    margin-top:20px;
    margin-left:20px;
    padding: 10px 10px 10px 10px;
    height:430px;
    background-color: #FFF;
    border-radius: 7px;
    font-size:13px;
}
#top_banners {
    position: relative;
    clear: both;
    width: 100%;
    min-height: 40px;
    background-color: #ffbf00;
    z-index: 100;
}
#top_caategories {
    position: relative;
    clear: both;
    width: 100%;
}
/* catalog.htmlに対するCSS定義 */
#catalog_left_col {
    position: relative;
    float: left;
    clear: both;
    width: calc(25% - 5px);
    padding-right: 5px;
    min-height:300px;
    font-size: 14px;
    margin-top: 20px;
    background-color: transparent;
}
.catalog_left_title {
    position: relative;
    float: left;
    font-size: 14px;
    font-weight: bold;
}
.catalog_category_item {
    position: relative;
    float: left;
    clear: both;
    padding-left:15px;
    font-size: 14px;
    cursor: pointer;
}
#catalog_right_col {
    position: relative;
    float: left;
    width: 75%;
    min-height:300px;
    margin-top: 20px;
    background-color: transparent;
}
.catalog_item_block {
    position: relative;
    float: left;
    margin-right: 5px;
    margin-bottom: 5px;
    background-color: #FFF;
    border: solid 1px #f0f0f0;
    border-radius: 7px;
    overflow: hidden;
}
.catalog_item_picture {
    position: relative;
    float: left;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f0f0f0;
}
.catalog_item_name {
    position: relative;
    float: left;
    overflow: hidden;
    padding-left:5px;
    padding-right:5px;
    height:100px;
    cursor: pointer;
    text-decoration: underline;
}
.catalog_item_name:hover {
    color: #ffbf00;
}
.catalog_item_price {
    position: relative;
    float: left;
    padding-left:5px;
    padding-right:5px;
    height:30px;
    color: rgb(255, 52, 52);
    font-size: 16px;
    font-weight: bold;
}
.catalog_item_stock {
    position: relative;
    float: left;
    clear: both;
    padding-left:5px;
}
#noItem {
    position: relative;
    clear: both;
    width: 100%;
    height: 50px;
    border: solid 1px rgb(255, 82, 82);
    color:rgb(255, 82, 82);
    border-radius: 7px;
    margin-top: 20px;
    overflow: none;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 16px;
}
/* detail.htmlのスタイル定義 */
#detail_left_col {
    position: relative;
    width: calc(37.5% - 10px);
    margin-right: 10px;
    float: left;
    overflow: hidden;
    min-height: 400px;
    background-color: #fefefe;
}
#detailMainPicArea {
    position: relative;
    float: left;
    width:100%;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-bottom: 15px;
    overflow: hidden;
}
#thmbnails {
    position: relative;
    float: left;
    width: 100%;
    height: 60px;
}
.thmbnail {
    position: relative;
    float: left;
    width: 62px;
    height: 62px;
    margin-right:3px;
    border: solid 1px #777;
    border-radius: 5px;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
}
.thmbnail:hover {
    border: solid 1px #F55;
    border-radius: 5px;
}
#detail_center_col {
    position: relative;
    width: calc(37.5% - 10px);
    margin-right: 10px;
    float: left;
    min-height: 400px;
    background-color: transparent;
}
#itemName {
    position: relative;
    width: calc(100% - 5px);
    padding-left: 5px;
    font-size: 20px;
}
#itemPrice {
    position: relative;
    width: calc(100% - 5px);
    padding-left: 5px;
    font-size: 20px;
    border-bottom: solid 1px #AAA;
}
#itemDesc {
    position: relative;
    width: calc(100% - 5px);
    padding-left: 5px;
    font-size: 17px;
    margin-top: 20px;
    border-bottom: solid 1px #AAA;
}
#detailDesc {
    position: relative;
    width: calc(100% - 5px);
    padding-left: 5px;
    font-size: 14px;
    margin-top: 20px;
    /* border-bottom: solid 1px #AAA; */
}
#detail_right_col {
    position: relative;
    width: calc(25% - 10px);
    margin-right: 10px;
    float: left;
    overflow: hidden;
    min-height: 300px;
    background-color: transparent;
}
#detail_cart_in_area {
    position: relative;
    width: (100% - 2px);
    border: solid 1px #777;
    border-radius: 7px;
    min-height: 300px;
}
#rightPrice {
    position: relative;
    width: calc(100% - 22px);
    padding-left: 10px;
    padding-right: 10px;
    padding-top: 10px;
    font-size: 20px;
}
#rightPostage {
    position: relative;
    width: 100%;
    font-size:12px;
    padding-left: 10px;
    margin-top: 10px;
}
#aboutShippingFee {
    font-size: 10px;
}
#aboutShippingFee a {
    text-decoration: underline;
    cursor: pointer;
    color: #777;
}
#aboutShippingFee a:hover {
    text-decoration: underline;
    cursor: pointer;
    color: #777;
    font-weight: bold;
}
#rightStock {
    font-size: 16px;
    padding-left: 10px;
    margin-top: 10px;
}
#rightQty {
    font-size: 14px;
    padding-left: 10px;
    margin-top: 10px;
}
#cartInBtnArea {
    width:100%;
    background-color: transparent;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 20px;
}
#cartInBtn {
    width: 80%;
    border: solid 1px transparent;
    border-radius: 20px;
    background-color: #ffbf00;
    text-align: center;
    cursor: pointer;
}
#cartInBtn:hover {
    background-color: #FFD65E;
    font-weight: bold;
}
#cartInBtnDisabled {
    width: 80%;
    border: solid 1px transparent;
    border-radius: 20px;
    background-color: #dbdbdb;
    text-align: center;
    cursor: pointer;
}
.btnArea {
    position:relative;
    width:100%;
    float:left;
    clear:both;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
}
.disabledBtn  {
    width: 80%;
    border: solid 1px transparent;
    border-radius: 20px;
    background-color: #dbdbdb;
    text-align: center;
    cursor: pointer;
}
.btn  {
    width: 80%;
    border: solid 1px transparent;
    border-radius: 20px;
    background-color: #ffbf00;
    text-align: center;
    cursor: pointer;
}
.btn:hover {
    background-color: #FFD65E;
    font-weight: bold;
}
.delLink {
    position:relative;
    float:left;
    font-size: 13px;
    text-decoration:underline;
    cursor:pointer;
}
.delLink:hover {
    font-weight:bold;
    text-decoration:underline;
}

#checkout_header_title {
    position: relative;
    float: left;
    font-size:20px;
    color:#777;
}
/* Pay.js用*/
div.payjs-outer {
    border: solid 1px #777;
    padding: 0 10px 0 10px;
}
/*  Pay.js用　ここまで */

.space5 {
    position:relative;
    clear:both;
    width:100%;
    height:5px;
}
.space20 {
    position:relative;
    clear:both;
    width:100%;
    height:20px;
}
.space30 {
    position:relative;
    clear:both;
    width:100%;
    height:30px;
}

.charLink {
    color: #555;
    cursor: pointer;
}
.charLink:hover {
    color: #111;
    font-weight: bold;
}