
/*------------------------------------------------

 common.css

------------------------------------------------*/


/* general rules
================================================*/


/* html
------------------------------------------------*/

html {
    overflow-y: scroll;
    height: 100%;
}


/* body
------------------------------------------------*/

body {
    margin: 0;
    color: #171717;
    font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Osaka", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-size: 13px;
    text-align: left;
    line-height: 1;
    background: #fff;
    -webkit-text-size-adjust: none;
}

body>#wrap {
    width: auto;
    min-height: 100%;
}


/* 99% for safari; 100% is too large */

select,
input,
textarea {
    font: 99%;
}


/* Bump up !IE to get to 13px equivalent */

pre,
code {
    font: 115% monospace;
    *font-size: 100%;
}


/* link
------------------------------------------------*/

a {
    font-size: 100%;
}

a:link {
    color: #171717;
    text-decoration: none;
}

a:visited {
    color: #171717;
    text-decoration: none;
}

a:hover,
a:active {
    color: #171717;
    text-decoration: none;
    cursor: pointer;
}



/* img
------------------------------------------------*/

img {
    border: 0;
}

a:active img {
    text-decoration: none;
}

a:hover img.hover {
    opacity: 0.8;
    -moz-opacity: 0.8;
    /* Firefox */
    filter: alpha(opacity=80);
    /* IE6/7 */
    -ms-filter: "alpha( opacity=80 )";
    /* IE8 */
}


/* text
------------------------------------------------*/

strong {
    font-weight: bold;
    line-height: 1.3;
    letter-spacing: 0em;
}

em {
    font-weight: bold;
    font-style: normal;
    line-height: 1.2;
}

address {
    font-style: normal;
}


/* h1, h2, h3, h4, h5, h6
------------------------------------------------*/

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1em;
    letter-spacing: 0em;
    margin: 0;
}


/* paragraph
------------------------------------------------*/

div {
    margin: 0;
    line-height: 1.5em;
}

p {
    margin: 0;
    line-height: 1.5em;
}


/* list
------------------------------------------------*/

ul {
    list-style-type: disc;
    margin: 0;
    padding: 0;
}

ul li {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

ul li ul {
    list-style: disc;
    margin: 0;
}

ol {
    list-style: decimal;
    margin: 0;
    padding-left: 0;
}

dl {
    margin: 0;
}

dl dt {
    margin: 0;
    padding: 0;
    line-height: 1.2;
}

dl dd {
    margin: 0;
    line-height: 1.5;
}


/* form
--------------------------------------*/

input,
textarea,
select {
    margin: 0;
    font-size: 14px;
}

input[type=text],
input[type=email],
input[type=password],
select{
	background: #fff;
	-webkit-appearance: none; 
    border: #b9b9c8 solid 1px;
    padding: 4% 3%;
	outline: none;
}

input[type=checkbox] {
    vertical-align: text-top;
    margin-right: 2%;
}

input.m0 {
    margin-right: 0;
}

input.border,
textarea.border,
select.border {
    border: #a0bfdb solid 1px;
}

option {
    padding-left: 0px;
}

.Eng {
    ime-mode: disabled;
}


/* common rules
================================================*/


/* align
------------------------------------------------*/

.right {
    text-align: right;
}

.center {
    text-align: center;
}

.left {
    text-align: left;
}

.middle {
    vertical-align: middle;
}

.bottom {
    vertical-align: bottom;
}

.top {
    vertical-align: top;
}


/* table
------------------------------------------------*/

table {
    border-spacing: 0;
    border-collapse: collapse;
    width: 100%;
}


/* text
------------------------------------------------*/

.fxxxl {
    font-size: 131%;
}


/*16px*/

.fxxl {
    font-size: 123.1%;
}


/*15px*/

.fxl {
    font-size: 116%;
}


/*14px*/

.fl {
    font-size: 108%;
}


/*13px*/

.fs {
    font-size: 93%;
}


/*11px*/

.fxs {
    font-size: 85%;
    line-height: 1.3em;
}


/*10px*/

.fxxs {
    font-size: 77%;
}


/*9px*/

.f14 {
    font-size: 14px;
}

.warning {
    color: #C00;
}

.ora {
    color: #ff6000;
}

.navy {
    color: #11458e;
}

.sky {
    color: #309de0;
}

.gy {
    color: #666;
}

.wt {
    color: #FFF;
}

.green {
    color: #2e9290;
}

.plain {
    font-weight: normal;
}

.bold {
    font-weight: bold;
}

.blue {
    color: #0000FF;
}

.red {
    color: #ff0000;
}


/* margin
------------------------------------------------*/

.mT3,
.mT5,
.mT10 {
    margin-top: 3%;
}

.mT20,
.mT30 {
    margin-top: 5%;
}

.mB5,
.mB10 {
    margin-bottom: 3%;
}

.mL5 {
    margin-left: 5%;
}

.mB30 {
    margin-bottom: 7%;
}

.mR10 {
    margin-right: 3%;
}

.mT50 {
    margin-top: 10%;
}


/* padding
------------------------------------------------*/

.pT3 {
    padding-top: 3%;
}

.pT5 {
    padding-top: 5%;
}

.pB5 {
    padding-bottom: 5%;
}

.pL5 {
    padding-left: 5%;
}


/* float
------------------------------------------------*/

.Lfloat {
    float: left;
}

.Rfloat {
    float: right;
}


/* [hack] clear fix
--------------------------------------*/

.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}

.clearfix {
    display: inline-block;
    min-height: 1%;
    /* for IE 7*/
}


/* Hides from IE-mac \*/

* html .clearfix {
    height: 1%;
}

.clearfix {
    display: block;
}


/* End hide from IE-mac */


/* show_pc
--------------------------------------*/

.show_pc {
    display: none;
}


/* general layout
================================================*/


/* wrap
------------------------------------------------*/



/* header
------------------------------------------------*/
header #headerIn{
	height: 52px;
	position: absolute;
	z-index: 10000;
	width: 100%;
}
header #headerIn .IOLogo{
    width: 125px;
    float: left;
    position: absolute;
    top: 13px;
    left: 10px;
}
header #headerIn .IOLogo img{
	vertical-align: top;
}

header a.menu{
	background: #435ac0;
	width: 52px;
	height: 52px;
	position: absolute;
	top:0;
	right: 0;
}
header a.menu:before,
header a.menu span,
header a.menu:after{
    background-color: #fff;
    content: " ";
    height: 3px;
    right: 13px;
    position: absolute;
    transition: all 0.3s ease-out 0s;
    width: 25px;
}
header a.menu:before{
	top: 18px;
}
header a.menu span{
	top: 26px;
}
header a.menu:after{
	top: 34px;
}
header.MenuOpen a.menu{
	background: #435ac0;
}
header.MenuOpen a.menu:before{
	background-color: #fff;
    top: 25px;
    transform: rotate(225deg);
}
header.MenuOpen a.menu:after{
	background-color: #fff;
    top: 25px;
    transform: rotate(-225deg);
}
header.MenuOpen a.menu span{
	background-color: #435ac0;
	opacity:0;
	-moz-opacity: 0;
	filter:alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
}



#MainNavi,
#searchArea,
#MainNavi ul li img,
#productListBox,
#searchArea .HeaderSNS,
#footerInfo .footerInfoSNS{
	display: none;
}

#MainNavi{
	margin-top: 52px;
	background: #435ac0;
}
#MainNavi ul li{
	line-height: 1em;
	border-bottom: #fff solid 1px;
}
#MainNavi ul li:last-child{
	border-bottom: none !important;
}
header .menuClose{
	background: #eaedff;
	display: block;
	padding: 5%;
	text-align: center;
	color: #435ac0;
	font-weight: bold;
	line-height: 1em;
}
header #searchArea .menuClose{
    border-top: #dfdfdf solid 1px;
}
header .menuClose img{
	display: inline-block !important;
	width: 12px !important;
	margin-right: 10px;
}
#MainNavi ul li a,
#MainNavi ul li .productListOpen{
	display: block;
	text-decoration: none;
	padding: 5%;
	color: #fff;
	position: relative;
}
#MainNavi ul li a:after,
#MainNavi ul li .productListOpen:after{
	content: "";
	display: block;
	width: 9px;
	height: 15px;
	background: url(/shared/lcd/img/header_sp_arrow_w.png) right top no-repeat;
	background-size: 9px auto;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 5%;
}

#MainNavi ul li:first-child ul li{
	border-top: #dfdfdf solid 1px;
}
#MainNavi ul li:first-child ul li:first-child{
	border-top: none;
}
#MainNavi ul li:first-child ul li a{
	background: #fff;
	color: #435ac0;
}
#MainNavi ul li:first-child ul li a:after{
	background: url(/shared/lcd/img/header_sp_arrow_b.png) right top no-repeat;
	background-size: 9px auto;
}

#MainNavi ul li .productListOpen:after{
	width: 15px;
	height: 9px;
	background: url(/shared/lcd/img/header_sp_arrow_side.png) right top no-repeat;
	background-size: 15px auto;
	transition: 0.3s ease-in-out;
}
#MainNavi ul li .productListOpen.close:after{
	transform: rotate(180deg);
}

header .SPmenuProduct,
header .SPmenuSearch{
	background: #fff;
    width: 52px;
    height: 52px;
    position: absolute;
    top: 0;
    right: 52px;
	text-align: center;
	font-size: 8px;
	color: #435ac0;
    transition: all 0.3s ease-out 0s;
	border-left: #dfdfdf solid 1px;
}
header .SPmenuProduct img,
header .SPmenuSearch img{
	width: 18px;
	margin: 12px auto 0;
    transition: all 0.3s ease-out 0s;
}
header .SPmenuProduct img.off,
header .SPmenuProduct.MenuOpen img.on,
header .SPmenuSearch img.off,
header .SPmenuSearch.MenuOpen img.on{
	display: block;
}
header .SPmenuProduct img.on,
header .SPmenuProduct.MenuOpen img.off,
header .SPmenuSearch img.on,
header .SPmenuSearch.MenuOpen img.off{
	display: none;
}
header .SPmenuProduct.MenuOpen,
header .SPmenuSearch.MenuOpen{
	background: #eaedff;
	text-decoration: none;
}

#productListBox,
#searchArea{
	margin-top: 52px;
	background: #eaedff;
}
#productListBox{
	display: none;
}
#productListBox .productListTitle{
	display: none;
}
#productListBox .productListBoxSelect ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: stretch;
}
#productListBox .productListBoxSelect ul li:nth-of-type(1),
#productListBox .productListBoxSelect ul li:nth-of-type(2){
	border-top: none;
}
#productListBox .productListBoxSelect ul li:nth-of-type(2n){
	border-left: #dfdfdf solid 1px;
	width : calc(50% - 1px) ;
}
#productListBox .productListBoxSelect ul li{
	width: 50%;
    display: flex;
	border-top: #dfdfdf solid 1px;
	flex-basis: auto !important;
	background: #eaedff !important;
	position: static;
	min-width: auto !important;
}
#productListBox .productListBoxSelect ul li.pcNone{
	display: block;
}
#productListBox .productListBoxSelect ul li.side{
	position: static;
}
#productListBox .productListBoxSelect ul li:last-child{
	width: 100%;
}
#productListBox .productListBoxSelect ul li a{
	display: flex;
	align-items: center;
	padding: 4%;
	font-size: 90%;
	width: calc(100% - 8%) ;
}
#productListBox .productListBoxSelect ul li img{
	width: 50px;
}
#productListBox .productListBoxSelect ul li p:first-child{
	width: 50px;
	min-width: 50px;
	margin-right: 9px;	
}
#productListBox .productListBoxSelect ul li span{
	font-size: 90%;
	width: 100%;
}
#productListBox .productListBoxSelect ul li a p{
	line-height: 1.2em;
}



/* searchArea
------------------------------------------------*/
header .SPmenuSearch{
    right: 104px;
}
#searchArea #SS_searchForm{
	position: relative;
	z-index: 1000;
	padding: 5%;
}
#searchArea #SS_searchQuery{
	width: calc(110% - 6%);
	font-size: 16px;
	transform: scale(0.9);
	margin-left: -5%;
	border: #dfdfdf solid 1px;
	border-radius: 0;
	box-sizing: content-box;
}
#searchArea #SS_suggest{
	background: #fff;
	width: calc(90% - 2px) !important;
	position: absolute;
    top: 29.8% !important;
    left: 0;
    right: 0;
    margin: auto;
}
#searchArea #SS_suggest div:first-child{
	border-top: #dfdfdf solid 1px;
}
#searchArea #SS_suggest div{
	padding: 3% 4%;
	font-size: 14px;
	border-left: #dfdfdf solid 1px;
	border-right: #dfdfdf solid 1px;
	border-bottom: #dfdfdf solid 1px;
}
#searchArea #searchBtm #searchBtmLeft{
	width: 100%;
	margin-top: 4%;
}
#searchArea #searchBtm #searchBtmLeft select{
	width: 110%;
	border: #435ac0 solid 1px;
	border-radius: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(/shared/lcd/img/btn_serach_select_sp.png) #f8f8f8 right top no-repeat;
	background-size: auto 100%;
	font-size: 16px;
	transform: scale(0.9);
	margin-left: -5%;
}
#searchArea #searchBtm #searchBtmLeft select option{
	font-size: 80%;
}
#searchArea #searchBtmRight input{
	border: none;
	background: #435ac0;
	color: #fff;
	border-radius: 5px;
	font-weight: bold;
	width: 70%;
	margin: 4% auto 0;
	padding: 4% 0;
	display: block;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
}

#searchArea #keyWordArea{
	padding: 5%;
    border-top: #dfdfdf solid 1px;
	font-size: 110%;
}
#searchArea #keyWordArea p{
	font-weight: bold;
	margin-bottom: 2%;
}
#searchArea #keyWordArea ul{
	display: flex;
}
#searchArea #keyWordArea ul li{
	padding: 0 5px;
	white-space: nowrap;
}
#searchArea #keyWordArea ul li:first-child{
	padding-left: 0;
}
#searchArea #keyWordArea ul li:before{
	content: "/";
	margin-right: 5px;
}
#searchArea #keyWordArea ul li:first-child:before{
	display: none;
}
#searchArea #keyWordArea ul li a{
	color: #435ac0;
	text-decoration: underline;
}


/* nav
------------------------------------------------*/



/* SubNavi */
/* #SubNavi{
	background: #f8f8f8;
	padding: 0;
	border-bottom: #e6e7e8 solid 1px;
	font-size: 85%;
	line-height: 1.3em;
	font-weight: bold;
	z-index: 100;
	overflow: hidden;
	width: 100%;
} */
#SubNavi{
	display: none;
}
#SubNavi div{
	padding: 3%;
	width: calc(100% - 6%);
	overflow-x:auto;
	-webkit-overflow-scrolling: touch;
}
#SubNavi ul{
	display: inline-table;
}
#SubNavi ul li{
	display: table-cell;
	border-left: #e6e7e8 solid 1px;
	margin-top: 1%;
	white-space: nowrap;
}
#SubNavi div::-webkit-scrollbar{
	display: none;
	-webkit-appearance: none;
	opacity: 0;
	height: 0;
	width: 0;
}
#SubNavi ul li:last-child{
	border-right: #e6e7e8 solid 1px;
}
#SubNavi ul li a{
	display: block;
    padding: 0 1em;
}
#SubNavi ul li a:hover{
	text-decoration: none;
	color: #435ac0;
}
#SubNavi ul li br{
	display: none;
}
.fixed {
	position: fixed;
	width: 100%;
	top:0;
	left: 0;
	z-index: 10000;
}



/* breadcrumb foottrace パンくず
------------------------------------------------*/
#foottrace{

}
#foottrace{
	padding-top: 52px;
}
#foottrace #foottraceInner{
	background: #dce0f3;
	display: flex;
	flex-wrap: wrap;
	font-size: 85%;
	padding: 2% 3%;
	line-height: 1.5em;
}
#foottrace #foottraceInner p{
	margin-right: 5px;
	/* white-space: nowrap; */
}
#foottrace #foottraceInner p a{
}
#foottrace #foottraceInner p:after{
	content: ">";
	margin-left: 5px;
}
#foottrace #foottraceInner p:last-child:after{
	content: "";
	margin-left: 0;
}


/* footer
------------------------------------------------*/
footer #footerBnr {
    border-top: #dedede solid 1px;
    /* padding: 5% 0; */
}
footer #footerBnr p{
    padding: 5% 0;
}
#footerBnr #footerBnrBox{
	position: relative;
	width: 86%;
	margin: 0 auto;
}

#footerInfo .footerInfoLink li{
    border-top: #dedede solid 1px;	
}
#footerInfo .footerInfoLink li a{
	padding: 2.5%;
	font-weight: bold;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
}
#footerInfo .footerInfoLink li img{
	width: 15%;
	margin-right: 3%;
}
#footerInfo .footerInfoLink li .Sub {
    color: #435ac0;
    font-size: 85%;
    margin-bottom: 2%;
}
#footerInfo .footerInfoLink li .Title {
    font-size: 110%;
}


#footerInfo .footerInfoSNS_SP{
    border-top: #dedede solid 1px;	
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	padding: 5% 2.5%;
}
#footerInfo .footerInfoSNS_SP li{
	width: 49%;
}
#footerInfo .footerInfoSNS_SP li a{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	color: #fff;
	border-radius: 5px;
	padding: 5% 7%;
}
#footerInfo .footerInfoSNS_SP li:first-child,
#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn li:first-child{
	margin-right: 2%;
}
#footerInfo .footerInfoSNS_SP li.fb a{
	background: #3c5b9b;
}
#footerInfo .footerInfoSNS_SP li.tw a{
	background: #00b0ed;
}
#footerInfo .footerInfoSNS_SP li img{
	width: 20%;
	margin-right: 5%;
}

#footerBuyContact{
    border-top: #dedede solid 1px;
	background: #f8f8f8;
	padding: 5% 2.5% 3%;
}

#footerBuyContact .Title{
	font-weight: bold;
	font-size: 110%;
	line-height: 1em;
	margin-bottom: 3%;
}
#footerBuyContact .footerBuyContactBox{
	margin-top: 5%;
}
#footerBuyContact .footerBuyContactBox:first-child{
	margin-top: 0;
}
#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn{
	display: flex;
}
#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn li{
	width: 49%;
}
#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn li a{
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	border-radius: 5px;
	background: #fff;
	border:#d5d4d4 solid 1px;
	text-align: center;
	transition: 0.3s ease-in-out;
	font-weight: bold;
	height: 100%;
	padding: 2%;
}
#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn li a p{
	text-align: center;
	width: 100%;
}
#footerBuyContact .footerBuyContactBox ul li {
	font-size: 90%;
	line-height: 1.3em;
	margin-bottom: 2%;
}

#footerBuyContact .footerBuyContactBox ul.ProductBuyBtn li:first-child img{
	max-width: 120px;
	width: 60%;
	display: block;
	margin: 0 auto;
}

#footerBuyContact .footerBuyContactBox ul.normalLink li:before{
	content: "";
	display: inline-block;
	margin-right: 5px;
	font-weight: bold;
	width: 6px;
	height: 10px;
	background: url(/shared/lcd/img/footer_icon_link.png) left top no-repeat;
	background-size: 6px auto;
}

#footerBuyOther{
	background: #fff;
	padding: 0;
}
#footerBuyOther #footerIn,
#footerCopyArea #footerIn{
	display: flex;
    flex-wrap: wrap;
}
#footerBuyOther li{
	border-right: #dedede solid 1px;
	border-top: #dedede solid 1px;
	font-size: 85%;
	padding: 0;
	line-height: 1.5em;
	width: 50%;
	text-align: center;
}

#footerBuyOther li:nth-of-type(2n){
	width: calc(50% - 1px);
	border-right: none;
}
#footerBuyOther li a{
	display: block;
	padding: 7% 5%;
}


#footerCopyArea{
	background: #435ac0;
	padding: 7% 0;
}
#footerCopyArea .logo{
	max-width: 200px;
	width: 40%;
	margin: 0 auto 3%;
}
#footerCopyArea #footerIn{
	justify-content: space-between;
	align-items: center;
}
#footerCopyArea #footerIn ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#footerCopyArea #footerIn ul li{
	border-left: #fff solid 1px;
	line-height: 1.2em;
	padding: 0 1em;
	display: flex;
	align-items: center;
	white-space: nowrap;
}
#footerCopyArea #footerIn ul li:first-child{
	border-left: none;
}
#footerCopyArea #footerIn ul li,
#footerCopyArea #footerIn ul li a{
	font-size: 90%;
	color: #fff;
}
#footerCopyArea #footerIn ul li.copy{
	font-size: 80%;
	width: 100%;
	border-left: none;
	text-align: center;
	margin-top: 2%;
}
#footerCopyArea #footerIn ul li.copy p{
	width: 100%;
	text-align: center;
}



/* to_top
------------------------------------------------*/

#pageTop,
#hide {
    position: fixed !important;
    bottom: 10px;
    right: 10px;
    width: 40px;
    z-index: 100;
}



