@charset "utf-8";
/* CSS Document */

html{background-color: #f2f2f3}

/*共通の指定
//////////////////////////////////////////////////////////////////*/
body{
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	background-color:#fff;
	font-size:12px;
	color:#231815;
	}

.ptb10{
    padding-top: 10px!important;
    padding-bottom: 10px!important;
}
	
/*リンクの指定
//////////////////////////////////////////////////////////////////*/
a{
	color:#004986;
	text-decoration: underline;
	}
	
a:hover{
	text-decoration: none;
	}


/*全体の指定
//////////////////////////////////////////////////////////////////*/

#wrapper {
	margin:0 auto;
	}

/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
#wrapper {
	width:950px;
	padding-top:10px;
	}
/*960_END*/    
}


/*pc/sp only
//////////////////////////////////////////////////////////////////*/

.pconly{
    display: none;
}

/*********************************
    media Queries 480px or more
*********************************/
@media print, screen and (min-width:440px) {
.spmonly{display: none;}
}

/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
.pconly{display: block;}
    
.sponly{display: none;}
/*960_END*/    
}

/*language sponly
//////////////////////////////////////////////////////////////////*/
#modal-content {
	width: 50% ;
	margin: 0 ;
	padding: 10px 20px ;
	border: 2px solid #aaa ;
	background: #fff ;
	position: fixed ;
	display: none ;
	z-index: 2 ;
}
  
#modal-overlay {
	z-index: 1 ;
	display: none ;
	position: fixed ;
	top: 0 ;
	left: 0 ;
	width: 100% ;
	height: 120% ;
	/*background-color: rgba( 0,0,0, 0.75 ) ;*/
}

.button-link {
	color: #00f ;
	text-decoration: underline ;
}
 
.button-link:hover {
	cursor: pointer ;
	color: #f00 ;
}




/*SPbtn sidenavi
//////////////////////////////////////////////////////////////////*/

.sidenavi{
    /*position: fixed;
    top: 5px;
    right: 10px;
    position: absolute;
    top: 5px;
    right: 10px;*/
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    z-index: 1;
    padding-top:8px;
    margin-right: 3%;
}

.sidenavi img {
    height: 38px;
	}


/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
.sidenavi {
    display: none;
	}
/*960_END*/    
}



/*modal-window-menu-jquery-css
//////////////////////////////////////////////////////////////////*/

.modal-btn {
    font-size: 12px;
    text-align: center;
    cursor: pointer;
    margin-right: 3%;
    margin-top: 8px;
}

.modal-btn span {
    color: #fff;
    background:#000;
    height: 18px;
    display: block;
    padding: 10px 10px;
}

.modal-btn span:after {
    content: attr(data-txt-menu);
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .modal-btn span:after {
    content: attr(data-txt-close);
}

.modal-menu {
    position: fixed;
    display: table;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0,0,0,.8);
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: hidden;
    opacity: 0;
}

.modal-menu ul {
    display: table-cell;
    vertical-align: middle;
}

.modal-menu li {
    width: 300px;
    height: 80px;
    line-height: 80px;
    margin: 0 auto;
    text-align: center;
}

.modal-menu li a {
    display: block;
    font-size: 18px;
    color: #fff;
}

.modal-menu li a:hover {
    color: #999;
}

/* 開閉用ボタンがクリックされた時のスタイル */
.open .modal-menu {
    cursor: url(../images/cross.svg),auto;
    -webkit-transition: all .5s;
    transition: all .5s;
    visibility: visible;
    opacity: 1;
    z-index: 2;
}



/*header
//////////////////////////////////////////////////////////////////*/

#wrapper #header{
	font-size:10px;	
	line-height:14px;
	}

/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
#wrapper #header{
	width:950px;
	}
/*960_END*/    
}

#wrapper #header .language{
	height:15px;
	margin-left:569px;
	}


#wrapper #header .arrow li{
	float:left;
	background-image: url(../images/arrow.gif);
	background-repeat: no-repeat;
	background-position: left center;	
	padding-left:15px;
	padding-right:10px;
	}
	

#wrapper #header .arrow li a{
	color:#231815;
	text-decoration: underline;
	}
	
#wrapper #header .arrow li a:hover{
	text-decoration: none;
	}


#wrapper #header .arrow li.End {
	padding-right: 0;
}
/*#wrapper #header .arrow li.last{
	background:none;	
	padding-right:0px;
	}*/
#wrapper #header .arrow li.last {
    background: none;
    padding-right: 0px;
    position: absolute;
    right: 0;
    top: -40px;
}

#wrapper #header .language .language-title{
	background:none;	
	}

#wrapper #header #header_inner{
	width:950px;
	}
	
#wrapper #header #header_inner #info{
	width:950px;	
	height:69px;
	}

#wrapper h1{
    /*position: fixed;*/
    z-index: 1;
    max-width: 122px;
    padding: 10px 0 0 10px;
    
}

#wrapper #header h1{
    padding: 3% 3% 0 3%;
    max-width: 244px;
    padding-left: 10px;
    padding-top: 10px;
}

.headermenulist{
    position: fixed;
    top: 0;
    background-color: #fff;
    z-index: 1;
    padding-bottom:10px;
    width:100%;
    max-height: 60px;
}

.flexmenu{
    display: flex;
}

 .flexmenulan{
    display: flex;
     justify-content: space-between;
}
   


.flexmenu h1{
   margin-right: auto;
}

/*********************************
    media Queries 960px or more
*********************************/

@media print, screen and (min-width:960px) {
    
#wrapper h1{
    max-width: 100%;
    
}    
    
.headermenulist{
    background-color: none;
    position: static;
    max-height: auto;
}
    
 .flexmenu{
    display: inline;
}

 .flexmenulan{
    display: inline;
}
    


#wrapper #header h1{
	float:left;	
	margin-right:10px;
    max-width: 244px;
	}

}


#header .info-text{
	float:left;	
	}
	
/*#wrapper #header #primary{
	width:700px;
	margin-left:258px;
	height:25px;
	}*/
#wrapper #header #primary {
    width: 660px;
    margin-left: 290px;
    height: 25px;
    position: relative;
}

/*グローバルナビゲーションの指定*/
#wrapper #header #gnavi{
	height:36px;
	width:950px;	
	}
	
#wrapper #header #gnavi li{
	float:left;	
	}
	
/*サブナビげーションの指定*/
#wrapper #header #sub{
	background-image: url(../images/navi-bg.jpg);
	background-repeat: repeat-x;
	background-position: left top;	
	padding-top:10px;
	padding-bottom:20px;
	width:950px;
	height:58px;
	
	}
	
/*
	

検索ボックスの指定
form.search-box {
	margin: 0;
	height:28px;
	padding-top:8px;
}*/

#searchform1 {  
    position: relative;  
}  
#keywords1  {  
    width: 176px; 
    height: 22px;  
    background: url(../images/search.png) no-repeat 8px 3px;  
    border: 1px solid #b1d6f1;  
    padding: 2px 2px 2px 10px;  
	background-color:#fff;
}  
#searchBtn1 {  
    position: absolute;  
    top: 0;  
    left: 190px;  
}  


/*テキストボックス*/
.search-box input{
	height:26px;
	vertical-align: middle;	
	}

/*ボタン */
.search-box .btn {
	height:28px;
	vertical-align: middle;
}

/*サブナビの指定*/
#wrapper #header #sub #sub-navi ul {
	width:693px;
	float:left;	
	padding-left:5px;
	
	}


#wrapper #header #sub #sub-navi ul li {
	float:left;	
	}
	
#wrapper #content{
	margin-bottom:40px;	
    padding:0 3%;
	}
	
/*下層h2*/
#wrapper h2{
margin:60px 0 20px 0;
    background: #ecf5fc;
    border-left: 10px solid #d6e8f8;
    padding:9px 0 9px 14px;
    box-shadow: -10px 5px -3px rgba(0,0,0,0.5);
	}




/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
#wrapper #content{
    padding:0;
	}
    
    
/*下層h2*/
#wrapper h2{
	margin:0 0 20px 0;	
	}    

/*960_END*/    
}


/*左コンテンツの指定
//////////////////////////////////////////////////////////////////*/

/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
#wrapper #content-left{
	width:684px;
	float:left;
	margin-right:20px;	
	}
/*960_END*/    
}
	
	
/*右コンテンツの指定
//////////////////////////////////////////////////////////////////*/
#wrapper #side-right{
	width:246px;
	float:left;	
	margin-top:0px;
	background-color:#f4e6c8;
	}
	
#side-right #shop-guide{
	margin-left:10px;	
	}
	
#side-right #shop-guide li{
	margin-bottom:2px;	
	}
	
#side-right #shop-guide li.last{
	margin-top:13px;
	margin-bottom:13px;	
	}
	
#side-right .search{
	padding:15px 0px 13px 10px;
	}
/*porta-aboutの指定
//////////////////////////////////////////////////////////////////*/
#porta-about{
	margin-bottom:10px;
		
	}
#porta-about ul{
	margin-left:7px;
	padding-top:10px;	
    display: flex;
	}

#porta-about ul li{
	margin-bottom:10px;
	margin-right:7px;	
	}
	
#porta-about ul li.last{
	margin-right:0px;	
	}
	
#porta-about p{
	margin-left:7px;
	padding-bottom:10px;	
	}

/*********************************
    media Queries 961px or more
*********************************/
@media print, screen and (min-width:961px) {
#porta-about{
	width:246px;
		
	}

#porta-about ul li{
	}
	
#porta-about ul li.last{
	}
	
#porta-about p{	
	}
} 

/*footerの指定
//////////////////////////////////////////////////////////////////*/	
#footer{
	background-image: url(../images/footer_bg.gif);
    background-color: #f2f2f3;
	background-repeat: repeat-x;
	background-position: left top;	
	font-size:9px;	
    padding-bottom: 5px;
	}
	
#footer #footer_inner{
	margin:0px auto;	
    padding: 20px 10px 0 10px;
	}

#footer #footer_inner ul{
    padding:10px 0;
}

#footer #footer_inner ul li{
	float:left;
	padding-right:20px;
    margin-bottom: 5px;
		
	}
	
#footer #footer_inner p{
	clear:both;
	text-align:right;
	padding-top:10px;	
	}


/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
#footer #footer_inner{
	padding:50px 0 0 0;
	width:950px;
	}
    
#footer #footer_inner ul li{
	padding-right:10px;
    margin-bottom: 0;
		
	}    
/*960_END*/    
}

/*pagetop
//////////////////////////////////////////////////////////////////*/	
#pagetop{
	padding-left:10px;
	text-align:right;
	margin-top:40px;
	}
	
#pagetop a{
	color:#004985;
	}

#pagetop:before{
    content: url(../images/arrow-pagetop.png);
    margin-right: 5px;
}

#top{
       margin-top:-100px;
  padding-top:100px;
}

/*その他
//////////////////////////////////////////////////////////////////*/

.font09{
	font-size:9px;	
	}
	
.font14{
	font-size:14px;	
	}

.m-b05{
	margin-bottom:05px;	
	}
	
.m-b10{
	margin-bottom:10px;	
	}
	
.m-b13{
	margin-bottom:13px;	
	}
	
.m-b20{
	margin-bottom:20px;	
	}

.sp-mb10{
	margin-bottom:10px;	
	}

.sp-mb20{
	margin-bottom:20px;	
	}
	
	
/*********************************
    media Queries 960px or more
*********************************/
@media print, screen and (min-width:960px) {
.sp-mb10{
	margin-bottom:0;	
	}  
    
.sp-mb20{
	margin-bottom:0;	
	}     
/*960_END*/    
}	

.left{
	float:left;	
	}
	
.right{
	float:right;	
	}	
	
.color-red{
	color:e4007f;	
	}
	
.color-red{
	color:#e4007f;	
	}
	
.color-green{
	color:#3eac4a;	
	}
	
.colorbg-g{
	background-color:#a2f6ab;	
	}
	
.color-y{
	color:#FFF100;	
	}
	
.bold{
	font-weight:bold;	
	}

