@charset "UTF-8";
html {
	/*overflow-y: scroll;*/
	/*overflow: scroll;*/
}

body,
div,
dl,
dt,
dd,
ul,
ul li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
textarea,
p,
blockquote,
th,
td,
section,
nav,
article,
aside,
hgroup,
header,
address,
figure,
figcaption {
	margin: 0;
	padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var,
i {
	font-style: normal;
	font-weight: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption,
th {
	text-align: left;
}

q:before,
q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

img {
	vertical-align: bottom;
	-ms-interpolation-mode: bicubic;
}

ul li {
	list-style-type: none;
	display: block;
}
/*-----------------------------------------------------
	body
-----------------------------------------------------*/

body {
	font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
	color: #333333;
	background: #e9ebeb;
	font-size: 13px;
	line-height: 1.6;
	text-align: left;
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	position: relative;
}
/*-----------------------------------------------------
	Anchor
-----------------------------------------------------*/

a {
	outline: none;
}

a:link {
	text-decoration: none;
	color: #37b0cf;
}

a:visited {
	text-decoration: none;
	color: #37b0cf;
}

a:hover {
	text-decoration: underline;
}

a:active {
	text-decoration: underline;
}
/*-----------------------------------------------------
	Clearfix
-----------------------------------------------------*/

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}

.clearfix {
	zoom: 1;
}
/*-----------------------------------------------------
	common
-----------------------------------------------------*/

.kome {
	font-size: 11px;
	color: #f79256;
	font-weight: bold;
	margin: 0 3px;
}

.txt-em {
	font-weight: bold;
}

.txt-nml {
	font-weight: normal !important;
}

.txt-l {
	font-size: 16px !important;
	line-height: 1.4 !important;
}

.txt-s {
	font-size: 12px !important;
	line-height: 1.4 !important;
}

.font_aldrich {
	font-family: 'Aldrich', sans-serif;
}

.txt-white {
	color: #ffffff !important;
}

.txt-black {
	color: #2d2d2d !important;
}

.txt-red {
	color: #e66060;
}

.txt-color {
	color: #f79256;
}

.txt-cancel {
	text-decoration: line-through !important;
}

.center {
	text-align: center;
}

img.img100 {
	width: 100%;
	height: auto;
}

.mt-non {
	margin-top: 0 !important;
}

.mb-non {
	margin-bottom: 0 !important;
}

.mb-5 {
	margin-bottom: 5px !important;
}

.mt-05 {
	margin-top: 5px !important;
}

.mt-10 {
	margin-top: 10px !important;
}

.mt-20 {
	margin-top: 20px !important;
}

.mt-30 {
	margin-top: 30px !important;
}

.mr-30 {
	margin-right: 30px !important;
}

.break {
	display: inline-block;
}

.list-nml,
.list-num,
.list-gp {
	text-align: left;
}

.list-nml > li {
	position: relative;
	padding-left: 12px;
	line-height: 18px;
	margin-bottom: 10px;
	text-indent: 0;
}

.list-nml > li:last-child {
	margin-bottom: 0;
}

.list-nml > li:before {
	content: "-";
	position: absolute;
	left: 0;
	top: 0;
}

.list-num > li {
	list-style-type: decimal;
	display: list-item;
	margin-left: 1.5em;
	line-height: 1.4;
	margin-bottom: 6px;
}

.list-num > li:last-child {
	margin-bottom: 0;
}

.list-gp > li {
	list-style-type: none;
	text-indent: -2.5em;
	padding-left: 2.5em;
	margin-bottom: 10px;
}

.list-gp > li:last-child {
	margin-bottom: 0;
}

.list-mb-s li {
	margin-bottom: 5px;
}

ul.list-kome {
	font-size: 0;
}

ul.list-kome li {
	display: inline;
	margin-right: 10px;
	font-size: 11px;
	line-height: 16px;
	color: #666;
}

.email-img {
	height: 14px;
	width: auto;
}
/*-----------------------------------------------------
	button
-----------------------------------------------------*/

a.button,
.button,
input.button {
	display: inline-block;
	position: relative;
	cursor: pointer;
	text-align: center;
	/*white-space: nowrap;*/
	line-height: 20px;
	color: #37b0cf;
	font-weight: bold;
	text-decoration: none;
	box-sizing: border-box;
	border: 0;
	outline: none;
	border: 1px solid #37b0cf;
	overflow: hidden;
	z-index: 2;
	-webkit-appearance: none;
	transition-duration: .2s;
}

a.button:hover,
.button:hover,
input.button:hover {
	background: #37b0cf;
	color: #fff;
}
/*--------------------btn-l--------------------*/

a.btn-l,
.btn-l,
input.btn-l {
	padding: 20px 65px;
	font-size: 16px;
}
/*--------------------btn-m--------------------*/

a.btn-m,
.btn-m,
input.btn-m {
	padding: 10px 10px;
	font-size: 13px;
}
/*--------------------btn-s--------------------*/

a.btn-s,
.btn-s,
input.btn-s {
	padding: 6px 10px;
	font-size: 12px;
}
/*--------------------btn-soon--------------------*/

.btn-soon {
	background: none !important;
	border: 1px solid #bfbfbf !important;
	color: #bfbfbf !important;
	cursor: default !important;
}


/*-----------------------------------------------------
	form
-----------------------------------------------------*/
/*--------------------common--------------------*/

.box-form {
	position: relative;
	box-sizing: border-box;
	display: flex;
	display: -webkit-flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	-webkit-justify-content: flex-start;
	justify-content: flex-start;
	margin-top: 20px;
}

.box-form .inner {
	display: inline-block;
}

.detail-desc .box-form:first-child {
	margin-top: 0;
}

.box-form.box-form-half {
	width: calc(50% - 15px);
}

.box-form.box-form-half-center {
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}

.box-form.box-form-half-btn {
	width: 50%;
	padding-right: 60px;
}

.box-form.box-form-quarter {
	width: 25%;
}

label {
	font-size: 13px;
	line-height: 22px;
}

label.label-l {
	font-size: 16px;
}

.indent-radio {
	margin-left: 28px;
	margin-top: 5px;
}
/*--------------------radio / checkbox--------------------*/

input[type="radio"],
input[type="checkbox"] {
	display: none;
}

input[type="radio"] + label,
input[type="checkbox"] + label {
	display: inline-block;
	position: relative;
	cursor: pointer;
	margin-left: 28px;
	line-height: 22px;
	text-align: left;
}

input[type="radio"] + label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: -28px;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background: #fcfcfc;
	border-radius: 50%;
	box-sizing: border-box;
	border: 1px solid #d8d8d8;
}

input[type="radio"] + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: -18px;
	width: 0px;
	height: 0px;
	margin-top: 0;
	border-radius: 50%;
	background: #fff;
	transition-duration: .1s;
}

input[type="radio"]:checked + label:after {
	left: -23px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	background: #f79256;
}

input[type="checkbox"] + label:before {
	position: absolute;
	content: "";
	top: 50%;
	left: -28px;
	width: 22px;
	height: 22px;
	margin-top: -11px;
	background: #fcfcfc;
	border-radius: 1px;
	box-sizing: border-box;
	border: 1px solid #d8d8d8;
}

input[type="checkbox"] + label:after {
	position: absolute;
	content: "";
	top: 50%;
	left: -18px;
	width: 0px;
	height: 0px;
	margin-top: 0;
	border-radius: 50%;
	background: #fff;
	transition-duration: .1s;
}

input[type="checkbox"]:checked + label:after {
	left: -23px;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-radius: 2px;
	background: #f79256;
}
/*--------------------text--------------------*/

.box-form input[type="text"],
.box-form input[type="password"],
.box-form textarea {
	-webkit-order: 2;
	-moz-order: 2;
	-ms-order: 2;
	order: 2;
	font-size: 14px;
	line-height: 18px;
	padding: 10px 7px;
	border: 1px solid #dcdcdc;
	background: #fcfcfc;
	box-sizing: border-box;
	transition-duration: .2s;
}

.box-form input[type="text"]:focus,
.box-form input[type="password"]:focus,
.box-form textarea:focus,
.box-form select:focus {
	outline: none;
	border: 1px solid #f79256;
	background: #ffffff;
}

.box-form input[type="text"] + label,
.box-form input[type="password"] + label,
.box-form textarea + label {
	-webkit-order: 1;
	-moz-order: 1;
	-ms-order: 1;
	order: 1;
	font-size: 13px;
	color: #666;
	transition-duration: .2s;
}

.box-form input[type="text"]:focus + label,
.box-form input[type="password"]:focus + label,
.box-form textarea:focus + label {
	color: #f79256;
	font-weight: bold;
}

input[type="text"]::-webkit-input-placeholder,
input[type="password"]::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
	font-weight: normal;
	font-size: 13px;
}

input[type="text"]::-moz-placeholder,
input[type="password"]::-moz-placeholder,
textarea::-moz-placeholder {
	font-weight: normal;
	font-size: 13px;
}

textarea {
	resize: vertical;
	height: 100px;
}

.textarea-x2 {
	resize: vertical;
	height: 200px;
}

.detail-desc .note {
	-webkit-order: 3;
	-moz-order: 3;
	-ms-order: 3;
	order: 3;
	font-size: 12px;
	line-height: 18px;
	color: #666;
	margin-top: 5px;
}

.box-form.box-form-copy-year {
	width: 100px;
	padding-right: 30px;
	float: left;
	margin-bottom: 0;
}

.box-form.box-form-copy-year:after {
	display: block;
	content: "年";
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 40px;
	line-height: 40px;
	font-size: 14px;
	box-sizing: border-box;
	padding-left: 5px;
}

.box-form.box-form-copy-name {
	width: calc(100% - 100px);
	float: right;
	margin-top: 0;
}

.box-form.box-form-card-month {
	width: 100px;
	margin-right: 30px;
	float: left;
}

.box-form.box-form-card-month:before {
	display: block;
	content: "/";
	position: absolute;
	top: 0;
	right: -30px;
	width: 30px;
	height: 40px;
	line-height: 40px;
	font-size: 14px;
	text-align: center;
	box-sizing: border-box;
}

.box-form.box-form-card-year {
	width: 100px;
	float: left;
	margin-top: 0;
}

.box-form.box-form-cal input.cal {
	padding-left: 40px;
}

.ui-datepicker-trigger {
	display: block;
	-webkit-order: 3;
	-moz-order: 3;
	-ms-order: 3;
	order: 3;
	position: absolute;
	width: 100%;
	height: 40px;
	top: 0;
	left: 0;
	overflow: hidden;
	z-index: 2;
	cursor: pointer;
}

.box-form.box-form-cal:after {
	font-family: 'fontello';
	content: '\e804';
	position: absolute;
	display: block;
	width: 40px;
	height: 40px;
	line-height: 40px;
	font-size: 14px;
	color: #333;
	text-align: center;
	top: 0;
	left: 0;
	cursor: pointer;
	z-index: 1;
}

.box-form.label-non input + label,
.box-form.label-non textarea + label,
.box-form.label-non select + label {
	display: none;
}

.box-form textarea.terms {
	padding: 10px 7px;
	border: 1px solid #dcdcdc !important;
	height: 450px;
}

.box-form .inline-btn {
	-webkit-order: 3;
	-moz-order: 3;
	-ms-order: 3;
	order: 3;
	position: absolute;
	top: 0;
	right: 0;
	height: 40px;
}
/*--------------------select--------------------*/

select {
	-webkit-order: 2;
	-moz-order: 2;
	-ms-order: 2;
	order: 2;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	text-indent: .01px;
	/*for Firefox*/
	
	text-overflow: "";
	/*for Firefox*/
	
	border-radius: 0;
	border: 1px solid #dcdcdc;
	margin: 0;
	padding: 10px 30px 10px 7px;
	background: #fcfcfc;
	font-size: inherit;
	color: inherit;
	box-sizing: border-box;
	cursor: pointer;
	font-size: 14px;
	line-height: 18px;
	transition-duration: .2s;
}

.box-form.box-form-select {}

.box-form.box-form-select:after {
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #000000 transparent transparent transparent;
	position: absolute;
	bottom: 0;
	right: 12px;
	margin-bottom: 18px;
}

.box-form.box-form-card-month:after {
	right: 42px;
}

.box-form select + label {
	-webkit-order: 1;
	-moz-order: 1;
	-ms-order: 1;
	order: 1;
	font-size: 13px;
	color: #666;
	transition-duration: .2s;
}

.box-form select:focus + label {
	color: #f79256;
	font-weight: bold;
}

.box-form.box-form-l {
	width: calc(50% - 15px);
	float: left;
	margin-bottom: 0;
}

.box-form.box-form-r {
	width: calc(50% - 15px);
	float: right;
	margin-top: 0;
}

.form_file_dummy,
.form_file,
.form_file .filename {
	position: relative;
}

.form_file_dummy input {
	display: none;
	width: 100%;
}

.form_file .filename input {
	padding-left: 56px;
	overflow: hidden;
	cursor: pointer;
	width: 100%;
	background: #fcfcfc;
}

.form_file .filebtn {
	width: 56px;
	height: 36px;
	position: absolute;
	top: 1px;
	left: 0;
	line-height: 36px;
	font-size: 16px;
	text-align: center;
	color: #111111;
	cursor: pointer;
	z-index: 2;
	box-sizing: border-box;
}

.btn_back {
	padding: 0 45px !important;
	color: #FFF !important;
	font-size: 15px !important;
	background: #888 !important;
	box-shadow: 0 2px 0 #717171 !important;
	margin-right: 20px !important;
}

.btn_back:hover {
	background: #767676 !important;
	box-shadow: 0 2px 0 #646464 !important;
}
/*--------------------disabled--------------------*/

.box-form input[type="text"][disabled],
.box-form input[type="password"][disabled],
.box-form textarea[disabled] {
	border: 1px solid #f5f5f5;
	background: #fcfcfc;
}

select[disabled] {
	border: 1px solid #f5f5f5;
	background: #fcfcfc;
	color: #ccc;
}

.box-form.box-form-select:after {
	display: block;
	content: '';
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4px 4px 0 4px;
	border-color: #000000 transparent transparent transparent;
	position: absolute;
	bottom: 0;
	right: 12px;
	margin-bottom: 18px;
}

.box-form input[type="text"][disabled] + label,
.box-form select[disabled] + label {
	color: #ccc;
}
/*-----------------------------------------------------
	for fontello
-----------------------------------------------------*/

[class^="icon-"].flip-horizontal:before,
[class*=" icon-"].flip-horizontal:before {
	filter: progid: DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);
	-webkit-transform: scale(-1, 1);
	-moz-transform: scale(-1, 1);
	-ms-transform: scale(-1, 1);
	-o-transform: scale(-1, 1);
	transform: scale(-1, 1);
}
/*-----------------------------------------------------
	SNS
-----------------------------------------------------*/

.sns {
	font-size: 0;
	line-height: 1;
	display: block;
	vertical-align: top;
	/*margin-bottom: 30px;*/
}

.sns .snsbtn {
	display: inline-block;
	line-height: 1;
	vertical-align: top;
	position: relative;
	overflow: hidden;
	font-size: 14px;
}
/*-----------------------------------------------------
	upload for mobile
-----------------------------------------------------*/

.mobile .upload .wrap {
	display: none;
}

.upload-mobile {
	display: none;
}

.mobile .upload-mobile {
	display: block;
	padding: 45px 60px;
}