@charset "UTF-8";

/*========================================
  Common
========================================*/
.wrapper{
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}
main{
	flex: 1 1 auto;
}
.nodisp{
	display: none !important;
}

/*========================================
  Header
========================================*/

.header_sp_1000 {
	display: none;
}
.header_1000 {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
}

.header_1100 {
  width: 60%;
  flex: 0 1 auto;
  display: flex;
}
.header_1110 {
}
.header_1110_logo {
  width: 100%;
  max-width: 300px;
}
.header_1120 {
	display: flex;
	align-items: flex-end;
	font-size: 16px;
	font-weight: 700;
	color: #000000;
	padding-bottom: 3px;
}

.header_1200 {
  width: 40%;
  padding: 16px 0 16px 0;
  flex: 0 1 auto;
}

.header_1210 {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  align-content: center;
}

.header_1211 {
  flex: 0 1 auto;
}
.header_1211_search {
  display: flex;
  flex-flow: row wrap;
  align-items: center;
  justify-content: center;
  align-content: center;
}
.header_1211_keyword {
  flex: 0 1 auto;
  width:223px;
  height: 30px;
  font-size: 12px;
  padding: 5px 12px;
  border: 2px solid #253e8f;
  border-right: none;
  border-radius: 15px 0 0 15px;
}
.header_1211_keyword::placeholder {
	color: #a1a4ab;
}

.header_1211_button {
  flex: 0 1 auto;
  width:33px;
  height: 30px;
  padding: 0 2px 0 0;
  border: none;
  border-radius: 0 20px 20px 0;
  background: #253e8f;
  cursor: pointer;
}
.header_1211_img {
  width: 13px;
}
.header_1212 {
  flex: 0 1 auto;
  margin: 0 0 0 15px;
  cursor: pointer;
}
.header_1212_lang_text{
}
.header_1212_lang_select{
  display:inline-block;
  vertical-align: middle;
  width: 75px;
  margin: 0 0 0 10px;
  border: 1px solid #28408a;
  border-radius: 15px;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  line-height: 28px;
  text-align: center;
  background: #28408a;
}

.header_1220 {
  margin: 16px 0 0 0;
//  display: flex;
	display: none;
  flex-flow: row wrap;
  align-items: center;
  justify-content: flex-end;
  align-content: center;
}
.header_1221{
  flex: 0 1 auto;
}
.header_1221_login,
.header_1221_mypage{
  padding-left:22px;
  background: url(/images/icon/ico_login.png) no-repeat 0;
  background-size: 15px auto
}
.header_1222{
  flex: 0 1 auto;
  margin: 0 0 0 25px;
}
.header_1222_fav{
  padding-left:26px;
  background: url(/images/icon/ico_favorite.png) no-repeat 0;
  background-size: 19px auto
}

/*========================================
  Header SP
========================================*/
@media screen and (max-width: 768px) {

.header_1100,
.header_1200{
	display: none;
}
.header_sp_1000{
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 50px;
	background-color: #ffffff;
	z-index: 100;
}
.header_sp_1100{
	display: flex;
	justify-content: space-between;
	height: 50px;
}
.header_sp_1110{
	display: flex;
}
.header_sp_1111{
	width: 40px;
	background: url(/images/icon/btn_h_menu.png) no-repeat 50%;
	background-size: 40px auto;
	cursor: pointer;
}
.header_sp_1111_close{
	background-image: url(/images/icon/btn_h_close.png);
	background-color: #f6f6f7;
}
.header_sp_1112{
	display: flex;
	align-items: center;
}
.header_sp_1112_logo{
	width: 200px;
}
.header_sp_1120{
	display: flex;
}
.header_sp_1121_login{
	width: 38px;
	background: url(/images/icon/btn_h_login.png) no-repeat 50%;
	background-size: 38px auto;
	display: none;
}
.header_sp_1121_mypage{
	width: 38px;
	background: url(/images/icon/btn_h_mypage.png) no-repeat 50%;
	background-size: 38px auto;
	display: none;
}
.header_sp_1122{
	width: 38px;
	background: url(/images/icon/btn_h_search.png) no-repeat 50%;
	background-size: 38px auto;
	cursor: pointer;
}
.header_sp_1122_close{
	background-image: url(/images/icon/btn_h_close.png);
	background-color: #f6f6f7;
}

.header_sp_menu_1200{
	height: calc(100vh - 50px);
	background-color: #f6f6f7;
	overflow: scroll;
}
.header_sp_menu_1210{
//	display: flex;
	display: none;
	justify-content: space-around;
	border-bottom: 1px solid #dcdde1;
	padding: 15px;
	position: relative;
}
.header_sp_menu_1211_my{
	width: 50%;
	text-align: center;
}
.header_sp_menu_1211_my:hover{
	text-decoration: none;
}
.header_sp_menu_1211_my span{
	padding: 2px 0 2px 23px;
	background: url(/images/icon/ico_login.png) no-repeat 0;
	background-size: 13px auto;
}
.header_sp_menu_1211_login{
	width: 50%;
	text-align: center;
}
.header_sp_menu_1211_login:hover{
	text-decoration: none;
}
.header_sp_menu_1211_login span{
}
.header_sp_menu_1212_logout{
	width: 50%;
	text-align: center;
}
.header_sp_menu_1212_logout:before{
	content: "";
	width: 1px;
	height: 20px;
	background-color: #dcdde1;
	position: absolute;
	left: 50%;
}
.header_sp_menu_1212_logout:hover{
	text-decoration: none;
}
.header_sp_menu_1212_logout span{
}
.header_sp_menu_1212_reg{
	width: 50%;
	text-align: center;
}
.header_sp_menu_1212_reg:before{
	content: "";
	width: 1px;
	height: 20px;
	background-color: #dcdde1;
	position: absolute;
	left: 50%;
}
.header_sp_menu_1212_reg:hover{
	text-decoration: none;
}
.header_sp_menu_1212_reg span{
}
.header_sp_menu_1220{
	display: flex;
	justify-content: space-around;
	align-items: center;
	border-bottom: 1px solid #dcdde1;
	padding: 15px;
	height: 100px;
	position: relative;
}
.header_sp_menu_1221{
	width: 50%;
	height: 35px;
	text-align: center;
	background: url(/images/icon/ico_favorite.png) no-repeat 50%;
	background-size: 24px auto;
	display: none;
}
.header_sp_menu_1221:hover{
	text-decoration: none;
}
.header_sp_menu_1221 span{
	position: relative;
	top: 28px;
	font-size: 10px;
}
.header_sp_menu_1222{
	width: 50%;
	text-align: center;
}
.header_sp_menu_1222:before{
	content: "";
	width: 1px;
	height: 50px;
	background-color: #dcdde1;
	position: absolute;
	top: 25px;
	left: 50%;
	display: none;
}
.header_sp_menu_1222:hover{
	text-decoration: none;
}
.header_sp_menu_1222 span{
}
.header_sp_menu_1222_text{
}
.header_sp_menu_1222_select{
  display:inline-block;
  width: 50px;
  margin-left: 8px;
  border-radius: 14px;
  font-size: 12px;
  font-weight: 700;
  color: #ffffff;
  line-height: 28px;
  text-align: center;
  background: #28408a;
}
.header_sp_menu_1230{
}
.header_sp_menu_1231{
	display: block;
	padding: 20px 30px;
	border-bottom: 1px solid #dcdde1;
	cursor: pointer;
	background: url(/images/icon/arw.png) no-repeat 95%;
	background-size: 4px auto;
}
.header_sp_menu_1231:hover{
	text-decoration: none;
}
.header_sp_menu_1240{
}
.header_sp_menu_1241,
.header_sp_menu_1242,
.header_sp_menu_1243{
	display: block;
	padding: 10px 30px;
	cursor: pointer;
	background: url(/images/icon/arw.png) no-repeat 95%;
	background-size: 4px auto;
}
.header_sp_menu_1241:hover,
.header_sp_menu_1242:hover,
.header_sp_menu_1243:hover{
	text-decoration: none;
}

.header_sp_menu_1300{
	height: 100vh;
	background-color: #f6f6f7;
}
.header_sp_menu_1310{
	display: flex;
	width: 256px;
	margin: 0 auto;
	padding-top: 40px;
}
.header_sp_menu_1310_form{
	display: flex;
}
.header_sp_menu_1311{
  flex: 0 1 auto;
  width:223px;
  height: 30px;
  border: 2px solid #253e8f;
  border-right: none;
  border-radius: 15px 0 0 15px;
	background-color: #ffffff;
  padding: 5px 12px;
  font-size: 12px;
}
.header_sp_menu_1311::placeholder {
	color: #a1a4ab;
}
.header_sp_menu_1312{
  flex: 0 1 auto;
  width:33px;
  height: 30px;
  padding: 0 2px 0 0;
  border: none;
  border-radius: 0 20px 20px 0;
  background-color: #253e8f;
  cursor: pointer;
}
.header_sp_menu_1312 img {
  width: 13px;
}

}

/*========================================
  Navi
========================================*/
.nav_1000 {
	border-top: 1px solid #e4e5e7;
	border-bottom: 1px solid #e4e5e7;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-content: center;
	justify-content: center;
	align-items: center;
}
.nav_category {
	padding: 20px 0;
	position: relative;
}
.nav_category>a {
	padding: 0 20px;
	text-decoration: none;
}
.nav_category>a:before {
	content:"";
	position: absolute;
	left: 0;
	width: 1px;
	height: 17px;
	background: #e4e5e7;
}
.nav_category:last-child>a:after {
	content:"";
	position: absolute;
	right: 0;
	width: 1px;
	height: 17px;
	background: #e4e5e7;
}

/*========================================
  Navi SP
========================================*/
@media screen and (max-width: 768px) {

.nav_1000{
	display: none;
	border-top: 51px solid #e4e5e7;
	overflow-x: auto;
	justify-content: flex-start;
}
.nav_category{
	padding: 8px 0;
}
.nav_category a{
	padding: 0 10px;
	font-size: 12px;
	font-weight: 700;
	white-space: nowrap;
}

}

/*========================================
  Bread
========================================*/


/*========================================
  Footer
========================================*/

.footer_sp_1210,
.footer_sp_1220{
	display: none;
}

.footer_1000{
}

.footer_1100{
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	justify-content: center;
	align-content: center;
	background: #e4e5e7;
}

.footer_1100 a:not(:first-child):before{
	content: "";
	display: inline-block;
	position: relative;
	width: 1px;
	height: 134px;
	background: #cdcfd3;
}

.footer_1110{
}

.footer_1111{
	padding: 100px 100px 30px;
	background-image: url(/images/icon/img_help.png);
	background-position-x: center;
	background-position-y: 40px;
	background-repeat: no-repeat;
	display: inline-block;
	text-align: center;
}

.footer_1111_title{
	margin-bottom: 15px;
	padding-left: 11px;
	background-image: url(/images/icon/arw.png);
	background-position-x: 0px;
	background-position-y: center;
	background-repeat: no-repeat;
	background-size: 4px auto;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
}

.footer_1111_text{
	font-size: 12px;
}

.footer_1120{
}

.footer_1121{
	padding: 100px 100px 30px;
	background-image: url(/images/icon/img_contact.png);
	background-position-x: center;
	background-position-y: 40px;
	background-repeat: no-repeat;
	display: inline-block;
	text-align: center;
}

.footer_1121_title{
	margin-bottom: 15px;
	padding-left: 11px;
	background-image: url(/images/icon/arw.png);
	background-position-x: 0px;
	background-position-y: center;
	background-repeat: no-repeat;
	background-size: 4px auto;
	font-size: 16px;
	font-weight: 700;
	display: inline-block;
}

.footer_1121_text{
	font-size: 12px;
}

.footer_1200{
	width: 1200px;
	margin: 0 auto;
	padding: 55px 0 45px;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	justify-content: center;
	align-content: center;
	color: #777c87;
}
.footer_1200 a:link,
.footer_1200 a:visited{
	color: #777c87;
}

.footer_1210{
	width: 50%;
}

.footer_1211{
	margin-bottom: 20px;
}

.footer_1211_title{
	font-weight: 700;
}

.footer_1212{
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	align-content: center;
}

.footer_1212_1{
	width: 50%;
}
.footer_1212_2{
	width: 50%;
}

.footer_1212_link{
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
}

.footer_1220{
	width: 50%;
}

.footer_1221{
	margin-bottom: 20px;
}

.footer_1221_title{
	font-weight: 700;
}

.footer_1222{
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	align-content: center;
}

.footer_1222_1{
	width: 50%;
}
.footer_1222_2{
	width: 50%;
}

.footer_1222_link{
	display: block;
	margin-bottom: 10px;
	font-size: 12px;
}

.footer_1300{
	background: #495061;
}

.footer_1310{
	padding: 10px 0;
	text-align: center;
	font-size: 10px;
	color: #abadb3;
}

/*========================================
  Footer SP
========================================*/
@media screen and (max-width: 768px) {

.footer_1100,
.footer_1210,
.footer_1220{
	display: none;
}
.footer_sp_1210,
.footer_sp_1220{
	display: block;
}

.footer_1200{
	width: 100%;
	display: block;
	padding: 30px 0 0;
}
.footer_sp_1210,
.footer_sp_1220{
	border-bottom: 1px solid #dcdde1;
}
.footer_sp_1211,
.footer_sp_1221{
	display: block;
	padding: 20px 30px;
	background: url(/images/icon/arw_down.png) no-repeat 95%;
	background-size: 7px auto;
	background-color: #f6f6f7;
	color: #495061;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
.footer_sp_1211:hover,
.footer_sp_1221:hover{
	text-decoration: none;
}
.footer_sp_1211_active,
.footer_sp_1221_active{
	background-image: url(/images/icon/arw_up.png);
}
.footer_sp_1212,
.footer_sp_1222{
	padding-top: 5px;
	padding-bottom: 3px;
}
.footer_sp_1212_link,
.footer_sp_1222_link{
	display: block;
	padding: 15px 50px;
	background: url(/images/icon/arw.png) no-repeat 95%;
	background-size: 4px auto;
	color: #495061;
	font-size: 12px;
	cursor: pointer;
}
.footer_sp_1212_link:hover,
.footer_sp_1222_link:hover{
	text-decoration: none;
}
.footer_1300{
	background-color: #e4e5e7;
}
.footer_1310{
	color: #abadb3;
}

}

/*========================================
  Button
========================================*/


