/************************************
* 共通設定
*************************************/
/* スマホ */
@media (width < 767px){
	.wrapper{
		width: 90vw;
	}

	.button_type2{
		width: 100%;
	}
}

/* PC */
@media (768px <= width){
	.wrapper{
		width: 100%;
		max-width: 1000px;
	}

	.button_type2{
		width: 250px;
	}
}

html *{
	box-sizing: border-box;
}

a{
	color: #333;
}

a:hover{
	text-decoration: none;
}

.font_80{
	font-size: 1.3rem;
}

.b_margin_20px{
	margin-bottom: 20px;
}

.b_margin_60px{
	margin-bottom: 60px;
}

.bold{
	font-weight: 700;
}

hr.line1{
	border-width: 0 0 1px;
	border-color: #ccc;
}

.wrapper{
	margin: 0 auto;
}


/* ボタン */
button.button_type1{
	color: #fff;
  background-color: #eb6100;
  padding: 10px 30px;
  border-radius: 100vh;
  font-size: 1.6rem;
  font-weight: 700;
}

button.button_type1:hover{
	color: #fff;
  background: #f56500;
}

.button_type2{
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    margin: 0 auto;
    padding: .9em 2em .8em 45px;
    border: none;
    border-radius: 5px;
    background-color: #2589d0;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
    transition: transform .3s ease-in-out, box-shadow .3s ease-in-out;
    text-decoration: none;
}

.button_type2:hover{
    transform: translateY(-1px);
    box-shadow: 0 15px 30px -5px rgb(0 0 0 / 20%), 0 0 5px rgb(0 0 0 / 10%);
}

.button_type2::before{
    position: absolute;
    top: 0;
    left: 15px;
    width: 30px;
    height: 85%;
    background-color: #fff;
    clip-path: polygon(0 0, 0 100%, 50% 75%, 100% 100%, 100% 0);
    content: '';
}

.button_type2::after{
    position: absolute;
    top: 33%;
    left: 30px;
    transform: translate(-50%, -50%);
    color: #2589d0;
    font-size: 1.2em;
    content: '★';
}

.button_type2.orange{
	background-color: #ff4940;
}

.button_type2.orange::after{
	color: #ff4940;
}


/************************************
* ログイン画面
*************************************/
/* スマホ */
@media (width < 767px){
	:root {
		--heading_font_size: 2.6rem;
	}

	#login_page main.login{
		width: 90vw;
		padding: 40px 5vw 50px;
	}

	#login_page main.login form input[type=text],
	#login_page main.login form input[type=password]{
		font-size: 1.6rem;
		width: 100%;
	}

}

/* PC */
@media (768px <= width){
	:root {
		--heading_font_size: 3.0rem;
	}

	#login_page main.login{
		width: 500px;
		padding: 40px 50px 50px;
	}

	#login_page main.login form input[type=text],
	#login_page main.login form input[type=password]{
		width: 400px;
	}

	#login_page main.login form input[type=submit]:hover{
		opacity: 0.6;
	}

}

#login_page h1{
	font-size: var(--heading_font_size);
	text-align: center;
}

#login_page .wrapper header{
	margin: 40px 0;
}

#login_page main.login{
	display: block;
	box-sizing: border-box;
	border-radius: 10px;
	margin: 0 auto 60px;
	background-color: #F5F5F5;
}

#login_page main.login h2{
	font-size: var(--heading_font_size);
	margin-bottom: 5px;
	font-weight: 700;
}

#login_page main.login p{
	margin-bottom: 30px;
}

#login_page main.login p .error_message{
	font-size: 1.2rem;
	color: #C00;
}

#login_page main.login form .login_form_label{
	margin-bottom: 3px;
}

#login_page main.login form input[type=text],
#login_page main.login form input[type=password]{
	box-sizing: border-box;
	margin-bottom: 20px;
	height: 40px;
	padding: 3px 6px;
}

#login_page main.login form input[type=password]{
	margin-bottom: 50px;
}

#login_page main.login form input[type=submit]{
	display: block;
	width: 100%;
	background-color: #dc143c;
	color: #FFF;
	border: 0;
	font-weight: 700;
	text-align: center;
	font-size: 1.6rem;
	padding: 6px 0;
	border-radius: 5px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

#login_page main.login a.login_link{
	display: block;
	width: 100%;
	text-align: center;
}

#login_page .wrapper footer{
	text-align: center;
}


/************************************
* ヘッダー
*************************************/
/* スマホ */
@media (width < 767px){
	#main_page .wrapper header{
		margin: 0 -5vw 0;
		padding: 15px 5vw;
	}

	#main_page .wrapper header p.welcome{
		font-size: 1.2rem;
	}

	#main_page .wrapper header .menu{
		margin: 0 -5vw;
	}
}

/* PC */
@media (768px <= width){
	#main_page .wrapper header{
		padding: 15px 20px;
		border-left: 1px solid #ccc;
		border-right: 1px solid #ccc;
	}

	#main_page .wrapper header .menu{
		margin: 0 -20px;
	}
}

#main_page .wrapper header{
	position: -webkit-sticky;
  position: sticky;
  top: 0;
  background-color: #FFF;
  border-bottom: 1px solid #ccc;
}

#main_page .wrapper header h1{
	font-weight: 700;
	font-size: 2.0rem;
}

#main_page .wrapper header h1 a{
	text-decoration: none;
}

#main_page .wrapper header .title_block{
	display: flex;
	flex-wrap: none;
	justify-content: space-between;
}

#main_page .wrapper header .toggle_area{
	display: flex;
	flex-wrap: none;
	align-items: center;
	width: 30px;
}

#main_page .wrapper header .toggle_area .menu_toggle{
  display: block;
  cursor: pointer;
  width: 30px;
  margin-left: auto;
  order: 2;
  margin: 0 0 0 auto;
}

#main_page .wrapper header .toggle_area .menu_toggle span{
  display: block;
  background: #333;
  height: 3px;
  margin: 8px 0;
  width: 100%;
}

#main_page .wrapper header .menu{
	display: none;
}

#main_page .wrapper header .menu ul{
  padding: 0;
  margin: 20px 0 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  width: 100%;
}

#main_page .wrapper header .menu ul li{
  margin: 0;
  text-align: left;
  padding: 20px 20px 10px;
  width: 100%;
  border-top: 1px solid #ccc;
}

#main_page .wrapper header .menu ul li a{
	text-decoration: none;
	display: block;
}

#main_page .wrapper header .menu ul li:last-child{
	padding-bottom: 0px;
}


#main_page .wrapper header .menu.active{
  display: flex;
}



/************************************
* フッター
*************************************/
/* スマホ */
@media (width < 767px){
	#main_page .wrapper footer{
		margin: 0 -5vw 0;
	}
}

/* PC */
@media (768px <= width){
}

#main_page .wrapper footer{
	text-align: center;
	background-color: #605856;
	color: #FFF;
	padding: 20px 0 100px;
}


/************************************
* メインページ
*************************************/
#main_page .wrapper main{
	padding: 40px 0 0;
	/*background-color: #F5F5F5;
	height: 5000px;*/
}

#main_page .wrapper main h2.top_heading{
	text-align: center;
	margin-bottom: 40px;
	font-size: 3.0rem;
	font-weight: 700;
}


/************************************
* 商品登録ページ
*************************************/

#main_page .wrapper main#item_add #controls{
	margin: 40px 0 100px;
	text-align: center;
}

#main_page .wrapper main#item_add #controls button{
	background-color: #2e8b57;
	width: 250px;
	border-radius: 10px;
	text-align: center;
	padding: 15px 0;
	color: #fff;
	font-size: 1.6rem;
	font-weight: 700;
	margin: 0 0 10px;
}