@charset "UTF-8";
/************************************
共通
************************************/
html,body {
	height: 100%;
	width: 100%;
	margin: 0;
	padding: 0;
}
body {
	font-family: '游ゴシック', 'Yu Gothic' , 'Open Sans' , 'Lucida Grande', 'Hiragino Kaku Gothic ProN', Meiryo, 'MS PGothic', sans-serif;
	font-size: 14px;
	line-height: 1.8;
  letter-spacing: 0.05em;
	color: #000;
	background: #fff;
	word-wrap: break-word;
	overflow-wrap: break-word
}
* {
	-webkit-font-smoothing: antialiased;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
a {
	text-decoration: none;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	-o-transition: all 0.3s;
	transition: all  0.3s;
	color:#000;
}
img {
	vertical-align: bottom;
	width: 100%;
	height: auto;
}

.mobile {
	display: none;
}

.desktop {
	display: block;
}

.inner{
	width: 85%;
	max-width: 1200px;
	margin: 0 auto;
}

.inner_mid{
	width: 640px;
	margin: 0 auto;
}

.inner_min{
	width: 480px;
	margin: 0 auto;
}

.flex{
	display: flex;
}

.flex_content_between{
	justify-content: space-between;
}

.flex_content_start{
	justify-content: flex-start;
}

.flex_align_center{
	align-items: center;
}

.flex_align_stretch{
	align-items: stretch;
}

.flex_wrap{
	flex-wrap: wrap;
}

.flex_reverse{
	flex-flow: row-reverse;
}

section{
	padding: 0 0 80px;
}

section.new{
	padding-top: 120px;
}

#page{
	padding: 140px 0 0;
}

#page.other_page{
	padding: 70px 0 0;
}

#page .headline h1{
	font-size: 40px;
	margin-bottom: 80px;
	text-align: center;
}

#page .headline h1 span{
	color: #707070;
	font-size: 12px;
}

#page.other_page .headline h1{
	background: #EFEFEF;
	padding: 150px 0 80px;
}

#single{
	padding: 0 0 0;
}

.headline{
	text-align: center;
	margin-bottom: 50px;
}

.headline span{
	display: block;
	font-size: 12px;
}

.headline h1{
	font-size: 28px;
}

.headline h2{
	font-size: 24px;
}

.headline_item{
	font-size: 22px;
	font-weight: bold;
	padding-left: 20px;
	position: relative;
	margin-bottom: 30px;
	line-height: 1.4;
}

.headline_item:before{
	content: '';
	position: absolute;
	left: 0;
	top: 0;
	width: 6px;
	height: 100%;
	background: #000;
	border-radius: 5px;
}

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"],
input[type="date"],
input[type="number"],
select,
textarea,
#card-element{
	border: 1px solid #ccc;
  border-radius: 5px;
  width: 100%;
	height: 50px;
  padding: 15px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
input[type="password"]:focus,
input[type="date"]:focus,
input[type="number"]:focus,
select:focus,
textarea:focus{
	border: 1px solid #8B8B8B;
}

#select2-billing_state-container{
	border-radius: 5px;
  width: 100%;
}

select {
  -webkit-appearance: none;
  appearance: none;
	padding-right: 30px;
}
select::-ms-expand {
	display: none;
}

.select{
	position: relative;
}

.select::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1px #000;
  border-right: solid 1px #000;
	position: absolute;
	top: 20px;
	right: 10px;
	transform: rotate(135deg);
}

form.woocommerce-ordering{
	position: relative;
}

form.woocommerce-ordering::after{
	content: '';
	width: 6px;
	height: 6px;
	border-top: solid 1px #000;
  border-right: solid 1px #000;
	position: absolute;
	top: 20px;
	right: 10px;
	transform: rotate(135deg);
}

button{
	border: none;
	width: 100%;
	height: 50px;
}

input[type="checkbox"]{
	-webkit-appearance: checkbox;
	appearance: checkbox;
}

input[type="radio"]{
	-webkit-appearance: radio;
	appearance: radio;
}

textarea{
	width: 100%;
	height: 200px;
	border: 1px solid #EAEBED;
	padding: 15px;
	border-radius: 5px;
	resize: none;
}

button[type="submit"]{
	display: block;
	width: 100%;
	height: 50px;
	background: #000;
  border: 1px solid #000;
  color: #fff;
	line-height: 50px;
	text-align: center;
	padding: 0;
	margin: 0 auto;
}

button[type="submit"]:hover{
	background: #fff;
	color: #000;
}

button[type="submit"]:disabled{
	cursor: not-allowed;
	opacity: 0.8;
}

button[type="submit"]:disabled:hover{
	color: #fff;
	background: #000;
}

a.button{
	display: block;
	width: 50%;
	height: 50px;
	background: #000;
  border: 1px solid #000;
	border-radius: 5px;
  color: #fff;
	line-height: 50px;
	text-align: center;
	padding: 0;
	margin: 0 auto;
}

a.button:hover{
	background: #fff;
	color: #000;
}

.back_btn a{
	display: block;
  width: 50%;
  height: 50px;
  line-height: 50px;
  background: #000;
  border: 1px solid #000;
  color: #fff;
  border-radius: 5px;
  font-weight: bold;
  font-size: 16px;
  cursor: pointer;
  text-align: center;
  margin: 50px auto 0;
}

.back_btn a:hover{
	background: #fff;
	color: #000;
}

.item_head{
	border-bottom: 1px solid #EAEBED;
	padding: 20px 0;
}

.item_head div{
	font-weight: bold;
}

.item_element{
	border-bottom: 1px solid #EAEBED;
	padding: 20px 0;
}
/************************************
woocommerce共通 デフォルトCSS変更
************************************/
.woocommerce-message{
	background: #E6F6EB;
  border: 1px solid #0CA73B;
  border-radius: 2px;
  padding: 20px;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 30px;
}

.woocommerce-message a{
	text-decoration: underline;
}

.woocommerce-message a:hover{
	text-decoration: none;
}

.woocommerce-error{
	background: #FDF4F4;
  border: 1px solid #C61E1E;
  border-radius: 2px;
  padding: 20px;
  font-size: 14px;
  font-weight: bold;
  margin-bottom: 30px;
}

.woocommerce-error a{
	text-decoration: underline;
}

.woocommerce-error a:hover{
	text-decoration: none;
}

.woocommerce-message a.button.wc-forward{
	display: none !important;
}

.woocommerce_intro_txt{
	text-align: center;
	margin-bottom: 50px;
}

/*ログイン・マイページ　パスワードをお忘れですかのテキスト*/
.woocommerce-LostPassword.lost_password{
	text-align: center;
}

.woocommerce-LostPassword.lost_password a{
	color: #8B8B8B;
	text-decoration: underline;
}

.woocommerce-LostPassword.lost_password a:hover{
	text-decoration: none;
}

/*password非表示の目のアイコンを非表示*/
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input{
	display: none;
}

/*フォーム入力エリアから次の入力エリアまでのマージン*/
.woocommerce form .form_flex .form-row{
	width: 48%;
}

form .form-row,
.woocommerce form .form-row{
	margin: 0 0 30px !important;
}

#shipping_last_name_field,
#shipping_first_name_field,
#billing_last_name_field,
#billing_first_name_field{
	width: 48%;
	display: inline-block;
}

#shipping_first_name_field,
#billing_first_name_field{
	margin-left: 3% !important;
}

/*都道府県入力フォーム　スタイルを他のinputと合わせる*/
.select2-container--default .select2-selection--single{
	border: 1px solid #ccc !important;
	height: 50px !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
	line-height: 50px !important;
	padding-left: 15px !important;
	border-radius: 5px;
	font-size: 14px;
}

.select2-container--default .select2-selection--single .select2-selection__arrow{
	top: 12px !important;
	right: 15px !important;
}

a.woocommerce-privacy-policy-link{
	text-decoration: underline;
}

a.woocommerce-privacy-policy-link:hover{
	text-decoration: none;
}

form label{
	display: block;
	margin-bottom: 5px;
}

mark{
	background: none;
	font-weight: bold;
}

.required{
	background: #EF5152;
  color: #fff !important;
  padding: 3px 6px;
  border-radius: 5px;
  margin-left: 10px;
  font-size: 10px;
  font-weight: bold;
	text-decoration: none;
}



@media screen and (max-width:960px){

	.mobile {
		display: block;
	}

	.desktop {
		display: none;
	}

	section.new{
		padding-top: 80px;
	}


}

@media screen and (max-width:640px){
	/************************************
	共通
	************************************/
	.woocommerce-error{
		padding: 15px;
		font-size: 12px;
	}

	.inner{
		width: 90%;
	}

	.inner_min{
		width: 90%;
	}

	.inner_mid{
		width: 90%;
	}

	.inner .inner_mid{
		width: 100%;
	}

	#page .headline h1{
		font-size: 26px;
	}

	.headline{
		margin-bottom: 25px;
	}

	.headline h1{
		font-size: 24px;
	}

	.headline h2{
		font-size: 20px;
	}

	.headline span{
		font-size: 14px;
	}



}
