@charset "UTF-8";

/* =========================================================
style clear
========================================================= */
input[type="text"],
input[type="password"] {
	width: 100%;
	font-size: 16px;
	border: 0;
	padding: 12px 10px;
	border: solid 1px #bbbbbb;
	border-radius: 2px;
}

button,
input[type="submit"] {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding: 0;
	border: none;
	outline: none;
	background: transparent;
}

textarea {
	font-size: 16px;
	border: 0;
	padding: 12px 10px;
	border: solid 1px #bbbbbb;
	border-radius: 2px;
	height: 8.5em;
}

input[type="date"] {
	font-size: 12px;
	border: 0;
	padding: 4px 10px;
	border: solid 1px #bbbbbb;
	border-radius: 2px;
}

/* =========================================================
.input_text
========================================================= */
.input_text input {
	font-size: 14px;
	padding: 4px 8px;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
}

/* =========================================================
.checkbox01
========================================================= */
/* JGS Delete Style
.checkbox01 input {
	display: none;
}
 --------- */

.checkbox01 .checkBtnWrap {
	display: flex;
}

.checkbox01 .checkBtnWrap .icon {
	position: relative;
	display: block;
	width: 1.5em;
	height: 1.5em;
	border: 1px solid #d9d9d9;
	background-color: #fff;
}

.checkbox01 .checkBtnWrap .text {
	margin: 0 0 0 0.6em;
}

.checkbox01 input[type="checkbox"]:checked+.checkBtnWrap .icon::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #45b035;
}

.checkbox01 input[type="checkbox"]:checked+.checkBtnWrap .icon::after {
	z-index: 1;
	content: "";
	position: absolute;
	top: 0.15em;
	left: 34%;
	display: block;
	width: 0.3em;
	height: 0.6em;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

/* =========================================================
.checkbox02
========================================================= */

.checkbox02 input {
	display: none;
}

.checkbox02 .checkBtnWrap {
	display: flex;
	align-items: center;
}

.checkbox02 .checkBtnWrap .icon {
	position: relative;
	display: block;
	width: 1.5em;
	height: 1.5em;
	border: 1px solid #d9d9d9;
	background-color: #fff;
}

.checkbox02 input[type="checkbox"]:checked+.checkBtnWrap .icon::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #45b035;
}

.checkbox02 input[type="checkbox"]:checked+.checkBtnWrap .icon::after {
	z-index: 1;
	content: "";
	position: absolute;
	top: 0.15em;
	left: 34%;
	display: block;
	width: 0.3em;
	height: 0.6em;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
}

/* =========================================================
.cp_ipselect
========================================================= */
.cp_ipselect {
	overflow: hidden;
	display: inline-block;
	text-align: center;
	vertical-align: bottom;
}

.cp_ipselect select {
	width: auto;
	padding-right: 20px;
	cursor: pointer;
	font-size: 12px;
	text-overflow: ellipsis;
	border: none;
	outline: none;
	background: transparent;
	background-image: none;
	box-shadow: none;
	-webkit-appearance: none;
	appearance: none;
}

.cp_ipselect select::-ms-expand {
	display: none;
}

.cp_ipselect.cp_sl01 {
	position: relative;
	border: 1px solid #bbbbbb;
	border-radius: 2px;
	background: #ffffff;
}

.cp_ipselect.cp_sl01::before {
	position: absolute;
	top: 50%;
	left: calc(100% - 16px);
	transform: translateY(-50%);
	width: 0;
	height: 0;
	padding: 0;
	content: "";
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666666;
	pointer-events: none;
}

.cp_ipselect.cp_sl01 select {
	padding: 0.3em 20px 0.3em 0.8em;
	color: #666666;
}

@media screen and (max-width: 767px) {
	.selectWrap01 {
		padding: 16px;
	}
}



/* =========================================================
 radio01
========================================================= */
.radio01 label {
	display: flex;
	align-items: center;
}

.radio01 label input {
	width: 2em;
	height: 2em;
}

.radio01 label .text {
	display: block;
	margin: 0 0 0 0.3em;
}


/* =========================================================
 .submitBtn01
========================================================= */

.contents input.submitBtn01,
.contents button.submitBtn01 {
	padding: 8px 32px;
	font-size: 18px;
	background-color: #45b035;
	color: #fff;
	border-style: none;
	border-radius: 3px;
	/* JGS Add Style */
	cursor: pointer;
	/* --------- */
}

/* =========================================================
 イレギュラーパーツ
========================================================= */

/* .priceWrap
========================================================= */
.priceWrap {
	display: flex;
	align-items: center;
	padding: 0 0 1em;
}

@media screen and (max-width: 767px) {
	.priceWrap {
		padding: 24px 24px 1em;
	}
}

.priceWrap.nopad {
	padding: 0;
}

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

	.priceWrap.nopad {
		padding: 16px;
	}
}

.priceWrap span {
	padding: 0 0.5em;
}



/* .registrationday
========================================================= */
.registrationday {
	display: flex;
}

.registrationday input[type="text"] {
	width: 10em;
	margin: 0 .5em;
	padding: 8px;
	font-size: 12px;
}

/* .newArrival
========================================================= */
.newArrival {
	display: flex;
	align-items: center;
}

.newArrival .cp_ipselect {
	display: inline-block;
	width: auto;
}


/*
.mailForm
========================================================= */

.mailForm {
	margin: 0 0 16px;
	/* takken Change Style
	padding: 40px 160px 0;
	 --------- */
	padding: 0px 160px 0;
}

@media screen and (max-width: 767px) {
	.mailForm {
		margin: 0 0 16px;
		padding: 0;
	}
}

.mailForm .headline {
	padding: 0.5em;
	margin: 0 0 8px;
	font-weight: normal;
	text-align: center;
	background-color: #daead1;
	border-radius: 2px;
}

.mailForm table {
	width: 100%;
	table-layout: fixed;
	font-size: 16px;
	border-top: 1px solid #d9d9d9;
	border-left: 1px solid #d9d9d9;
}

.mailForm table th,
.mailForm table td {
	font-weight: normal;
	padding: 8px 12px;
	border-right: 1px solid #d9d9d9;
	border-bottom: 1px solid #d9d9d9;
}

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

	.mailForm table th,
	.mailForm table td {
		display: block;
	}
}

.mailForm table th {
	text-align: left;
	width: 14em;
	vertical-align: middle;
	background-color: #efefef;
}

@media screen and (max-width: 767px) {
	.mailForm table th {
		width: 100%;
	}
}

.mailForm .input {
	margin: 0 0 8px;
}

.mailForm .textarea textarea {
	width: 100%;
}

.mailForm_reason {
	margin: 16px 0;
}

.mailForm_reason li {
	margin: 0 0 8px;
}

.mailForm .btnWrap {
	margin: 16px 0 0;
	padding: 24px 0;
	text-align: center;
	background-color: #eeeeee;
}

/* takken Add Style */
.mailForm .btnWrap2 {
	margin: 16px 0 0;
	padding: 24px 0;
	text-align: center;
}
/* --------- */

.tel a {
	display: block;
	padding: 0.5em;
	margin: 0 0 8px;
	color: #221714;
	text-align: center;
	text-decoration: none;
	background-color: #d8edfb;
	border-radius: 2px;
}

.kibouGroup {
	font-size: 18px;
	margin: 0 0 8px;
}

.mailForm .note {
	font-size: 12px;
	margin: 1em 0 0;
}

/*==========takken add2020408=======*/
/*
.mailForm02
========================================================= */

.mailForm02 {
	margin: 0 0 16px;
	/* takken Change Style
	padding: 40px 160px 0;
	 --------- */
	padding: 0px 160px 0;
}

@media screen and (max-width: 767px) {
	.mailForm02 {
		margin: 0 0 16px;
		padding: 0;
	}
}

.mailForm02 .headline {
	padding: 0.5em;
	margin: 0 0 8px;
	font-weight: normal;
	text-align: center;
	background-color: #daead1;
	border-radius: 2px;
}

.mailForm02 table {
	width: 100%;
	table-layout: fixed;
	font-size: 16px;
}

.mailForm02 table th,
.mailForm02 table td {
	font-weight: normal;
	padding: 8px 12px;
}

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

	.mailForm02 table th,
	.mailForm02 table td {
		display: block;
	}
}

.mailForm02 table th {
	text-align: left;
	width: 14em;
	vertical-align: middle;
	background-color: #efefef;
}

@media screen and (max-width: 767px) {
	.mailForm02 table th {
		width: 100%;
	}
}

.mailForm02 .input {
	margin: 0 0 8px;
}

.mailForm02 .textarea textarea {
	width: 100%;
}

.mailForm02_reason {
	margin: 16px 0;
}

.mailForm02_reason li {
	margin: 0 0 8px;
}

.mailForm02 .btnWrap {
	margin: 16px 0 0;
	padding: 24px 0;
	text-align: center;
	background-color: #eeeeee;
}

/* takken Add Style */
.mailForm02 .btnWrap2 {
	margin: 16px 0 0;
	padding: 24px 0;
	text-align: center;
}
/* --------- */

.tel a {
	display: block;
	padding: 0.5em;
	margin: 0 0 8px;
	color: #221714;
	text-align: center;
	text-decoration: none;
	background-color: #d8edfb;
	border-radius: 2px;
}

.kibouGroup {
	font-size: 18px;
	margin: 0 0 8px;
}

.mailForm02 .note {
	font-size: 12px;
	margin: 1em 0 0;
}

/*==========takken add2020507=======*/
/*
.mailForm03
========================================================= */
.mailForm03 {
	margin: 0 0 16px;
	padding: 0px 160px 0;
}

@media screen and (max-width: 767px) {
	.mailForm03 {
		padding: 0;
	}
}

.mailForm03 table {
	width: 100%;
	table-layout: fixed;
	font-size: 16px;
	border: 1px solid #d9d9d9;
}

.mailForm03 table th, .mailForm03 table td {
	font-weight: normal;
	padding: 8px 12px;
	vertical-align: middle;
}

@media screen and (max-width: 767px) {
	.mailForm03 table th, .mailForm03 table td {
		display: block;
	}
}

/* JGS Add Style */
.mailForm03 td .price {
	color: #FF6600;
	font-weight: bold;
}

.mailForm03 td.imgList {
	width: 45%;
	text-align: center;
}

.mailForm03 td.imgList .ph {
	display: inline-block;
	width: 140px;
	height: 105px;
}

@media screen and (max-width: 767px) {
	.mailForm03 td.imgList {
		width: auto;
	}
}

.mailForm03 td.imgList .ph img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}
/* --------- */
