@charset "UTF-8";

/* ======================================================================
 reset
====================================================================== */

html {
  overflow-y: scroll;
}

body {
  color: #fff;
}

/* html5doctor.com Reset Stylesheet v1.6.1
  Last Updated: 2010-09-17 Author: Richard Clark - http://richclarkdesign.com Twitter: @rich_clark */
abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:after,
blockquote:before,
q:after,
q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input,
select {
  vertical-align: middle;
}

/* ======================================================================
 base
====================================================================== */

html,
body {
  width: 100%;
  height: 100%;
}

body {
  background: #fff;
  position: relative;
  /* font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "hiragino kaku gothic pro", "メイリオ", Meiryo, "游ゴシック", YuGothic, Verdana, sans-serif; */
  font-family: "Noto Sans JP", sans-serif;
}

/* ======================================================================
index
====================================================================== */

body {
	color:#000006;
	letter-spacing:1px;
}

/* head */
#head {
	width:1000px;
	box-sizing: border-box;
	margin:0 auto 30px;
	border-bottom:5px solid #FF5050;
	position:relative;
}
#head #head_in {
	padding:20px 10px 10px;
}
#head #head_in img {
	height:50px;
}
#head #head_in ul {
	position:absolute;
	top:20px;
	right:0;
}
#head #head_in ul li {
	background:#ccc;
	width:150px;
	height:40px;
	display:block;
	float:left;
	position:relative;
	margin-left:25px;
	padding:5px 0;
	border-radius:5px;
	color:#fff;
	font-size:14px;
	font-weight:bold;
	line-height:20px;
	text-align:center;
}
#head #head_in ul li::after {
    content: "▶";
	position:absolute;
	top:18px;
	right:-20px;
	color:#ccc;
}
#head #head_in ul li.passing {
	background:#FF5050;
}
#head #head_in ul li.passing::after {
	color:#FF5050;
}
#head #head_in ul li:last-child::after {
    content: "";
}

/* from */
#form {
	width:1000px;
	padding:0px 0 30px;
	margin:0 auto;
}
#form h3 {
	background:#FF5050;
	margin-bottom:20px;
	padding:7px 10px;
	color:#fff;
	font-size:16px;
	text-align:left;
}
#form h4 {
	margin-bottom:15px;
	padding:5px 20px;
	border-bottom:2px solid #FF5050;
	color:#333;
	line-height:30px;
	position:relative;
}
#form h4::after {
    content: "●";
	position:absolute;
	top:5px;
	left:-1px;
	color:#FF5050;
	font-size:15px;
}
#form .error_mess {
	background:#FBBDC2;
	width:100%;
	margin:-10px auto 20px;
	padding:15px 30px;
	border:1px solid #F12738;
	border-radius:10px;
	box-sizing: border-box;
	font-weight:bold;
}

/* 基本の選択デザイン */
#form .select {
	margin-bottom:30px;
}
#form .select::after{
    display: block;
    content: "";
	clear:both;
}
#form .select li {
	width:100%;
	position:relative;
	margin-bottom:10px;
}
#form .select li input {
	position:absolute;
	top:0;
	left:0;
}
#form .select li label {
	background:#fff;
	width:100%;
	height:110px;
	display:block;
	padding:40px 76px 0 76px;
	border:2px solid #B2B2B2;
	border-radius:10px;
	box-sizing: border-box;
	position:relative;
	font-size:18px;
	font-weight:bold;
	cursor:pointer;
	position:relative;
}
#form .select li input:checked + label {
	background:#fff;
	border:2px solid #FF5050;
}
#form .select li input+label::before{
	background:#fff;
    width: 32px;
    height: 32px;
    display: block;
    margin-top: -16px;
	border-radius:3px;
    box-sizing: border-box;
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    border: 1px solid #333334;
}
#form .select li input:checked+label::after{
    width: 23px;
    height: 10px;
    display: block;
    margin-top: -9px;
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: 50%;
    left: 32px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #333334;
}
#form .select li span {
	font-size:24px;
	text-align:right;
	position:absolute;
	top:30%;
	right:120px;
	line-height:4px;
}
#form .select li a.plan_detail {
	background:#fff;
	width:65px;
	height:40px;
	display:block;
	padding:0 10px;
	border:1px solid #58585B;
	border-radius:20px;
	box-sizing: border-box;
	line-height:40px;
	color:#58585B;
	text-align:center;
	text-decoration:none;
	position:absolute;
	top:30%;
	right:30px;
}

/* サービス選択 */
#form .select.select_module:nth-child(even) {
	/* margin-bottom:5px; */
	margin-bottom:20px;
}
#form .select.select_module {
	margin-bottom:40px;
}
#form .select.select_module p.error {
	display:block;
	margin:10px 0 -10px;
	color:#cc0000;
	font-weight:bold;
}
#form .select.select_module li {
	width:32.3%;
	float:left;
	margin-right:1%;
}
#form .select.select_module li:last-child {
	width:33.3%;
	float:left;
	margin-right:0%;
}
#form .select.select_module li:nth-child(even) {
}
#form .select.select_module li label {
	height:210px;
	padding-top:25px;
}
#form .select.select_module li label img {
	height:100px;
	display:block;
	margin:20px auto;
}
#form .select.select_module li input+label::before{
    top: 15%;
}
#form .select.select_module li input+label::after{
    top: 15%;
}


/* プラン選択 */
#form .select.select_plan {
	margin-bottom:40px;
}
#form .select.select_plan p.error {
	display:block;
	margin:10px 0 -10px;
	color:#cc0000;
	font-weight:bold;
}
#form .select.select_plan li label {
	text-align:left;
}


/* 会員種別 */
#form .select.select_customer {
	height:55px;
	margin:25px 0 20px;
	border-bottom:2px solid #FF5050;
}
#form .select.select_customer::after{
	display:none;
}
#form .select.select_customer li {
	width:49%;
	float:left;
}
#form .select.select_customer li:last-child {
	float:right;
}

#form .select.select_customer li label {
	background:#eee;
	width:100%;
	height:55px;
	display:block;
	padding:15px 76px 0 76px;
	border:none;
	border-radius:10px 10px 0 0;
	box-sizing: border-box;
	position:relative;
	color:#999;
	font-size:18px;
	font-weight:bold;
	cursor:pointer;
	position:relative;
	text-align:center;
}
#form .select.select_customer li input:checked + label {
	background:#FF5050;
	color:#fff;
}

#form .select.select_customer li input+label::before,
#form .select.select_customer li input:checked+label::after{
	display:none;
}


/* テーブル */
#form .input_form {
	background:#ccc;
	width:1000px;
	margin:10px auto 30px;
	color:#4D4D4D;
	font-size:12px;
	text-align:left;
}
#form .input_form th {
	background:#F2F2F2;
	padding:20px 15px;
}
#form .input_form th span,
#form .input_form th span.nini {
	background:#fff;
	width:50px;
	height:30px;
	display:block;
	float:right;
	margin:-8px 0 0;
	border:1px solid #F02C3C;
	color:#F02C3C;
	text-align:center;
	line-height:30px;
}
#form .input_form th span.nini {
	border:1px solid #999;
	color:#999;
}
#form .input_form td {
	background:#fff;
	padding:20px 15px;
}
#form .input_form td p {
	display:inline-block;
	color:#000006;
	vertical-align:middle;
}
#form .input_form td p.error {
	display:block;
	margin:10px 0 -10px;
	color:#cc0000;
	font-weight:bold;
}
#form .input_form td span {
	width:40px;
	display:inline-block;
}
#form .input_form td label {
	width:240px;
	display:inline-block;
}
#form .input_form td input[type="text"],
#form .input_form td input[type="password"] {
	background:#FBF5B5;
	width:255px;
	height:45px;
	margin:0 20px 0px 0;
	border:1px solid #CCCCCC;
	box-sizing: border-box;
	text-indent:15px;
}
#form .input_form td input[type="radio"] {
	vertical-align:text-top;
}
#form .input_form td select {
	background:#FBF5B5;
	width:80px;
	height:45px;
	margin:0 5px 0px 0;
	padding:0 10px;
	border:1px solid #CCCCCC;
	box-sizing: border-box;
}
#form .input_form td select:first-child {
	width:120px;
}

#form .input_form td.addr {
	padding-bottom:5px;
}
#form .input_form td.addr p {
	margin-bottom:5px;
	padding-top:15px;
	vertical-align:top;
}
#form .input_form td.addr p.error {
	margin-top:-10px;
}
#form .input_form td.addr span {
	width:130px;
	display:inline-block;
	padding-top:15px;
	vertical-align:top;
}
#form .input_form td.addr button {
	background:#060606;
	width:80px;
	height:45px;
	margin:0px 15px 0 -15px;
	border:none;
	color:#fff;
	vertical-align:top;
	cursor:pointer;
}
#form .input_form td.addr input[type="text"] {
	width:400px;
	margin-bottom:20px;
}
#form .input_form td.addr select {
	margin-bottom:20px;
}
#form .input_form td.addr input[type="text"]:nth-child(2) {
	width:120px;
}

#form #submit {
	position:relative;
}
#form #submit button[type="button"],
#form #submit button[type="submit"] {
	background:#FF5050;
	width:500px;
	height:100px;
	display:block;
	position:relative;
	margin:0 auto;
	border:none;
	border-bottom:6px solid #000;
	border-radius:60px;
	box-sizing: border-box;
	color:#fff;
	font-size:20px;
	font-weight:bold;
	line-height:100px;
	cursor:pointer;
}
#form #submit button[type="button"]::before,
#form #submit button[type="submit"]::before {
    width: 13px;
    height: 13px;
    margin: auto;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
	right:30px;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sns01,
.sns02,
.sns03 {
	background:#FF5050;
	width:200px;
	height:30px;
	display:block;
	margin:0 0 15px;
	border-radius:15px;
	color:#fff;
	font-weight:bold;
	text-align:center;
	line-height:30px;
}
.sns02 {
	background:#629EEC;
}
.sns03 {
	background:#65B737;
}


/* ======================================================================
confirm
====================================================================== */

#form.confirm {
}

#form.confirm h3.module,
#form.confirm h3.customer {
}

#form.confirm dl {
	padding:20px 0 5px 0;
	border-bottom:2px solid #565857;
	font-weight:bold;
}
#form.confirm dl.fm {
	border-top:3px solid #565857;
}
#form.confirm dl.fm dd {
	color:#cc0000;
}
#form.confirm dt {
	float:left;
	line-height:32px;
}
#form.confirm dd {
	float:right;
	font-size:20px;
}
#form.confirm dd span {
	font-size:16px;
}
#form.confirm dl::after{
    display: block;
    content: "";
	clear:both;
}

#form.confirm .input_form {
	background:#ccc;
	width:1000px;
	margin:13px auto 10px;
	color:#4D4D4D;
	font-size:12px;
	text-align:left;
}
#form.confirm .input_form th:first-child {
	width:220px;
}
#form.confirm .input_form th:last-child {
	width:180px;
}
#form.confirm .input_form.price_form tr:last-child th {
	background:#EAF4FC;
}
#form.confirm .input_form.price_form td {
	text-align:right;
}
#form.confirm .input_form.price_form td:first-child {
	text-align:left;
}
#form.confirm .input_form.price_form tr:last-child th:last-child {
	text-align:right;
}
#form.confirm .input_form td input[type="text"] {
	width:180px;
}
#form.confirm .input_form tr:last-child td input[type="text"] {
	width:130px;
}


#form.confirm .dot {
	width:100%;
	margin-top:125px;
	margin-bottom:70px;
}


#form.confirm .tax {
	margin:-4px 5px -9px 0;
	font-size:12px;
	text-align:right;
}
#form.confirm .atten01 {
	margin:60px 0 -12px;
	font-size:15px;
	text-align:left;
}
#form.confirm .atten02 {
	margin:55px 0 90px;
	font-size:15px;
	text-align:center;
}


#form.confirm .agree {
	margin:20px 0 65px 27px;
}
#form.confirm .agree li {
	margin-bottom:5px;
}
#form.confirm .agree li label {
	width:230px;
	display:inline-block;
}
#form.confirm .agree li span {
	background:#fff;
	width:60px;
	height:36px;
	display:inline-block;
	margin-right:10px;
	border:1px solid #F02C3C;
	color:#F02C3C;
	font-size:13px;
	font-weight:bold;
	text-align:center;
	line-height:38px;
}
#form.confirm .agree li a {
	color:#00A0C4;
	font-weight:bold;
}


#form.confirm #submit {
	text-align:center;
}
#form.confirm #submit button[type="button"],
#form.confirm #submit button[type="submit"] {
	background:#FF5050;
	width:470px;
	height:120px;
	display:inline-block;
	position:relative;
	margin:0 10px;
	border:none;
	border-bottom:6px solid #000;
	border-radius:60px;
	box-sizing: border-box;
	font-size:20px;
	font-weight:bold;
	line-height:120px;
	cursor:pointer;
}
#form.confirm #submit button[type="button"] {
	background:#FF5050;
	border-bottom:6px solid #000;
}
#form.confirm #submit button[type="button"]::before {
    width: 13px;
    height: 13px;
    margin: auto;
    border-top: 4px solid #fff;
    border-right: 4px solid #fff;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
	right:30px;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* ======================================================================
complete
====================================================================== */

#complete {
	padding:90px 0;
	margin:0 auto;
	text-align:center;
}

#complete p#complete01 {
	padding:40px 0 97px;
	font-size:36px;
	font-weight:bold;
}

#complete p#complete02 {
	width:1000px;
	margin:0 auto;
	padding:42px 0;
	border:4px solid #FF5050;
	border-radius:56px;
	box-sizing: border-box;
	font-size:22px;
	font-weight:bold;
	line-height:48px;
}

#complete p#complete02 span {
	color:#F12334;
}


/* ======================================================================
identification
====================================================================== */

#identification {
	margin:-30px 0 70px;
}

#identification select {
	width:100%;
	padding:10px;
	border:1px solid #CCCCCC;
	border-radius:5px;
	font-size:14px;
}

#identification h4 {
	margin-bottom:20px;
	padding:10px 15px;
	border:1px solid #CCCCCC;
	border-radius:5px;
	font-size:14px;
}

#identification i {
	margin-right:5px;
	color:#00A0C4;
}

#identification p.identification_type span {
	width:280px;
	display:inline-block;
	margin-bottom:10px;
}
#identification p.identification_type input {
	margin-bottom:10px;
}

br.pc_none {
	display:none;
}


/* ======================================================================
SP
====================================================================== */

@media screen and (max-width: 768px) {

/* ======================================================================
index
====================================================================== */

body {
	color:#000006;
	letter-spacing:1px;
}

/* head */
#head {
	width:100%;
	box-sizing: border-box;
	margin:0 auto -20px;
	border-bottom:5px solid #FF5050;
	position:relative;
	text-align:center;
}
#head #head_in {
	padding:10px 10px 10px;
}
#head #head_in img {
	height:30px;
	margin:0 auto 10px;
}
#head #head_in ul {
	height:40px;
	margin:0 auto;
	position:relative;
	top:auto;
	right:auto;
}
#head #head_in ul li {
	background:#ccc;
	width:100px;
	height:36px;
	display:inline-block;
	float:none;
	position:relative;
	margin-left:10px;
	padding:2px 0;
	border-radius:5px;
	color:#fff;
	font-size:12px;
	font-weight:bold;
	line-height:18px;
	text-align:center;
}
#head #head_in ul li:first-child {
	margin-left:0px;
}
#head #head_in ul li::after {
    content: "▶";
	position:absolute;
	top:13px;
	right:-15px;
	color:#ccc;
}
#head #head_in ul li.passing {
	background:#FF5050;
}
#head #head_in ul li.passing::after {
	color:#FF5050;
}
#head #head_in ul li:last-child::after {
    content: "";
}

/* from */
#form {
	width:100%;
	padding:40px 20px;
	margin:0 auto;
	box-sizing: border-box;
}

#form h3 {
	margin-bottom:20px;
	position:relative;
	font-size:16px;
	text-align:left;
}
#form h3.hissu::after {
	position:absolute;
	top:-3px;
	left:2px;
    content: "必須";
	background:#fff;
	width:40px;
	height:26px;
	display:block;
	border:2px solid #F02C3C;
	color:#F02C3C;
	font-size:14px;
	text-align:center;
	line-height:28px;
}
#form h3.open::after,
#form h3.close::after {
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 3px solid #707070;
    border-right: 3px solid #707070;
    vertical-align: middle;
    position: absolute;
    top: 5px;
    bottom: 0;
	right: 10px;
    content: "";
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
#form h3.close::after {
    top: -12px;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
}

#form .error_mess {
	background:#FBBDC2;
	width:100%;
	margin:0 auto 20px;
	padding:15px 30px;
	border:1px solid #F12738;
	border-radius:10px;
	box-sizing: border-box;
	font-weight:bold;
}


/* 基本の選択デザイン */
#form .select {
	margin-top:-10px;
	margin-bottom:30px;
}
#form .select::after{
    display: block;
    content: "";
	clear:both;
}
#form .select li {
	width:100%;
	position:relative;
	margin-bottom:10px;
}
#form .select li input {
	position:absolute;
	top:0;
	left:0;
}
#form .select li label {
	background:#fff;
	width:100%;
	height:70px;
	display:block;
	padding:23px 50px 0 50px;
	border:2px solid #B2B2B2;
	border-radius:10px;
	box-sizing: border-box;
	position:relative;
	font-size:14px;
	font-weight:bold;
	cursor:pointer;
	position:relative;
}
#form .select li input:checked + label {
	background:#fff;
	border:2px solid #FF5050;
}
#form .select li input+label::before{
	background:#fff;
    width: 20px;
    height: 20px;
    display: block;
    margin-top: -10px;
	border-radius:3px;
    box-sizing: border-box;
    content: "";
    position: absolute;
    left: 20px;
    top: 50%;
    border: 1px solid #333334;
}
#form .select li input:checked+label::after{
    width: 23px;
    height: 10px;
    display: block;
    margin-top: -9px;
    box-sizing: border-box;
    content: "";
    position: absolute;
    top: 50%;
    left: 21px;
    transform: rotate(-45deg);
    border-bottom: 3px solid;
    border-left: 3px solid;
    border-color:  #333334;
}
#form .select li strong {
	padding-left:5px;
	color:#F12334;
}
#form .select li span {
	font-size:14px;
	text-align:right;
	position:absolute;
	top:20%;
	right:125px;
	line-height:40px;
}
#form .select li div {
	display:none;
	background:#fff;
	width:150px;
	border:2px solid #00A0C4;
	padding:10px 20px 5px;
	position:absolute;
	top: 0px;
	right:100px;
	font-size:18px;
	font-weight:normal;
	z-index:100;
}
#form .select li a.detail,
#form .select li a.plan_detail,
#form .select li a.terms {
	background:#fff;
	width:50px;
	height:40px;
	display:block;
	padding:0 0px;
	border:1px solid #58585B;
	border-radius:15px;
	box-sizing: border-box;
	line-height:40px;
	color:#58585B;
	font-size:12px;
	text-align:center;
	text-decoration:none;
	position:absolute;
	top:20%;
	right:20px;
}
#form .select li a.terms {
	width:50px;
	right:10px;
}

/* 端末選択 */
#form .select.select_module {
	margin-bottom:40px;
}
#form .select.select_module li {
	width:100%;
	float:left;
	margin-right:1%;
}
#form .select.select_module li:nth-child(even) {
	/* float:none; */
}
#form .select.select_module li label {
	height:200px;
	padding-top:20px;
}
#form .select.select_module li label img {
	height:120px;
	display:block;
	margin:10px auto;
}
#form .select.select_module li input+label::before{
    top: 15%;
}
#form .select.select_module li input+label::after{
    top: 15%;
}

/* カラー選択 */
#form .select.select_color li {
	width:100%;
	float:none;
}
#form .select.select_color li:nth-child(even) {
	float:none;
}

/* 支払方法選択 */
#form .select.select_pay li {
	width:100%;
	float:none;
}
#form .select.select_pay li:nth-child(even) {
	float:none;
}

/* プラン選択 */
#form .select.select_plan li label {
	padding:10px 50px 0 50px;
	font-size:13px;
}
#form .select.select_plan li span {
	top:30px;
	left:50px;
	color:#333;
	font-size:12px;
	line-height:14px;
	text-align:left;
	white-space:nowrap;
}

/* オプション選択 */
#form .select.select_option label {
	padding:15px 50px 0 50px;
}
#form .select.select_option li span {
	top:25px;
	color:#333;
	text-align:left;
	white-space:nowrap;
}

/* 台数選択 */
#form .select.select_num {
}
#form .select.select_num li label {
	padding:15px 15px 0px 15px;
}
#form .select.select_num select {
	width:100%;
	height:35px;
	text-indent:10px;
	font-size:14px;
}






/* 会員種別 */
#form .select.select_customer {
	height:55px;
	margin:25px 0 20px;
	border-bottom:2px solid #FF5050;
}
#form .select.select_customer::after{
	display:none;
}
#form .select.select_customer li {
	width:49%;
	float:left;
}
#form .select.select_customer li:last-child {
	float:right;
}

#form .select.select_customer li label {
	background:#eee;
	width:100%;
	height:55px;
	display:block;
	padding:15px 30px 0 30px;
	border:none;
	border-radius:10px 10px 0 0;
	box-sizing: border-box;
	position:relative;
	color:#999;
	font-size:12px;
	font-weight:bold;
	cursor:pointer;
	position:relative;
	text-align:center;
}
#form .select.select_customer li input:checked + label {
	background:#FF5050;
	color:#fff;
	border:none;
}

#form .select.select_customer li input+label::before,
#form .select.select_customer li input:checked+label::after{
	display:none;
}







#form .input_form {
	background:#ccc;
	width:100%;
	margin:20px auto 40px;
	color:#4D4D4D;
	font-size:12px;
	text-align:left;
}
#form .input_form th {
	background:#F2F2F2;
	width:100% !important;
	display:block;
	padding:10px 10px;
	border-bottom:1px solid #ccc;
	box-sizing: border-box;
}
#form .input_form th span {
	background:#fff;
	width:50px;
	height:26px;
	display:block;
	float:right;
	margin:-6px 0 0;
	border:1px solid #F02C3C;
	color:#F02C3C;
	text-align:center;
	line-height:26px;
}
#form .input_form td {
	background:#fff;
	width:100%;
	display:block;
	padding:10px 10px;
	box-sizing: border-box;
}
#form .input_form td p {
	display:inline-block;
	color:#000006;
	vertical-align:middle;
}
#form .input_form td p.error {
	margin:5px 0 0px;
	color:#cc0000;
	font-weight:bold;
}

#form .input_form td span {
	width:20%;
	display:inline-block;
}
#form .input_form td label {
	width:180px;
	margin:10px 0;
	display:inline-block;
}
#form .input_form td input[type="password"],
#form .input_form td input[type="text"] {
	background:#FBF5B5;
	width:70%;
	height:45px;
	margin:5px 20px 5px 0;
	border:1px solid #CCCCCC;
	box-sizing: border-box;
	text-indent:15px;
}
#form .input_form td input[type="radio"] {
	vertical-align:text-top;
}
#form .input_form td select {
	background:#FBF5B5;
	width:55px;
	height:45px;
	margin:0 5px 0px 0;
	padding:0 10px;
	border:1px solid #CCCCCC;
	box-sizing: border-box;
}
#form .input_form td select:first-child {
	width:75px;
}

#form .input_form td.addr {
	padding-bottom:5px;
}
#form .input_form td.addr p {
	margin-bottom:5px;
	padding-top:10px;
	vertical-align:top;
}
#form .input_form td.addr p:nth-child(4) {
	margin:-15px 0 10px 0px;
	letter-spacing:0;
}
#form .input_form td.addr p.error {
	margin-top:-10px;
}
#form .input_form td.addr span {
	width:120px;
	display:block;
	padding-top:0px;
	vertical-align:top;
}
#form .input_form td.addr button {
	background:#060606;
	width:80px;
	height:45px;
	margin:5px 0px 0 -15px;
	border:none;
	color:#fff;
	cursor:pointer;
}
#form .input_form td.addr input[type="text"] {
	width:260px;
	margin-bottom:10px;
}
#form .input_form td.addr select {
	margin-bottom:10px;
	width:100px;
}
#form .input_form td.addr input[type="text"]:nth-child(2) {
	width:120px;
}

#form #submit {
	position:relative;
}
#form #submit button[type="submit"] {
	background:#FF5050;
	width:320px;
	height:74px;
	display:block;
	position:relative;
	margin:0 auto;
	border:none;
	border-bottom:4px solid #000;
	border-radius:60px;
	box-sizing: border-box;
	font-size:16px;
	font-weight:bold;
	line-height:70px;
	cursor:pointer;
}
#form #submit button[type="submit"]::before {
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
	right:30px;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


.sns01,
.sns02,
.sns03 {
	background:#FF5050;
	width:200px;
	height:30px;
	display:block;
	margin:0 0 -5px;
	border-radius:15px;
	color:#fff;
	font-weight:bold;
	text-align:center;
	line-height:30px;
}
.sns02 {
	background:#629EEC;
}
.sns03 {
	background:#65B737;
}

/* ======================================================================
confirm
====================================================================== */

#form.confirm {
}

#form.confirm h3.module,
#form.confirm h3.customer {
	margin-top:40px;
}

#form.confirm dl {
	padding:15px 0 5px 0;
	border-bottom:2px solid #565857;
	font-weight:bold;
}
#form.confirm dl.fm {
	border-top:3px solid #565857;
}
#form.confirm dl.fm dd {
	color:#cc0000;
}
#form.confirm dt {
	float:left;
	line-height:24px;
}
#form.confirm dd {
	float:right;
	font-size:16px;
}
#form.confirm dd span {
	font-size:14px;
}
#form.confirm dl::after{
    display: block;
    content: "";
	clear:both;
}

#form.confirm .input_form {
	background:#ccc;
	width:100%;
	margin:15px auto 10px;
	color:#4D4D4D;
	font-size:12px;
	text-align:left;
}
#form.confirm .input_form th:first-child {
	width:100%;
}
#form.confirm .input_form th:last-child {
	width:100%;
	border-bottom:none;
}
#form.confirm .input_form.price_form tr:last-child th {
	background:#EAF4FC;
}
#form.confirm .input_form.price_form td {
	text-align:right;
}
#form.confirm .input_form.price_form td:first-child {
	text-align:left;
}
#form.confirm .input_form.price_form tr:last-child th:nth-child(2) {
	display:none;
}
#form.confirm .input_form.price_form tr:last-child th:last-child {
	text-align:right;
}
#form.confirm .input_form td input[type="text"] {
	width:180px;
}
#form.confirm .input_form tr:last-child td input[type="text"] {
	width:130px;
}


#form.confirm .input_form.price_form.price_form_pc td {
	border-bottom:1px solid #ccc;
}
#form.confirm .input_form.price_form.price_form_pc td:last-child {
	border-bottom:none;
}

#form.confirm .input_form.price_form.module_form td {
	border-bottom:1px solid #ccc;
}
#form.confirm .input_form.price_form.module_form td:first-child {
	background:#F2F2F2;
}
#form.confirm .input_form.price_form.module_form td:last-child {
	border-bottom:none;
}
#form.confirm .input_form.price_form.module_form tr:first-child {
	display:none;
}
#form.confirm .input_form.price_form.module_form th:nth-child(3) {
	display:none;
}

#form.confirm .input_form td select {
	width:75px;
}


#form.confirm .dot {
	width:100%;
	margin-top:40px;
	margin-bottom:40px;
}


#form.confirm .tax {
	margin:-4px 5px 0px 0;
	font-size:12px;
	text-align:right;
}
#form.confirm .atten01 {
	margin:20px 0 -12px;
	font-size:13px;
	text-align:left;
}
#form.confirm .atten02 {
	margin:20px 0 40px;
	font-size:12px;
	text-align:center;
}


#form.confirm .agree {
	margin:10px 0 40px 0px;
}
#form.confirm .agree li {
	margin-bottom:5px;
}
#form.confirm .agree li label {
	width:230px;
	display:inline-block;
}
#form.confirm .agree li span {
	background:#fff;
	width:50px;
	height:30px;
	display:inline-block;
	margin:-8px 10px 0 0;
	float:right;
	border:1px solid #F02C3C;
	color:#F02C3C;
	font-size:13px;
	font-weight:bold;
	text-align:center;
	line-height:32px;
}
#form.confirm .agree li a {
	display:block;
	margin:5px 0px 25px 30px;
	color:#00A0C4;
	font-size:14px;
	font-weight:bold;
}


#form.confirm #submit {
	text-align:center;
}
#form.confirm #submit button[type="button"],
#form.confirm #submit button[type="submit"] {
	background:#FF5050;
	width:320px;
	height:74px;
	display:block;
	position:relative;
	margin:10px auto 0;
	border:none;
	border-bottom:4px solid #000;
	border-radius:60px;
	box-sizing: border-box;
	font-size:16px;
	font-weight:bold;
	line-height:70px;
	cursor:pointer;
}
#form.confirm #submit button[type="button"] {
	background:#F1F1F1;
	border-bottom:6px solid #B0B0B0;
}
#form.confirm #submit button[type="button"]::before {
    width: 10px;
    height: 10px;
    margin: auto;
    border-top: 3px solid #6C6C6C;
    border-right: 3px solid #6C6C6C;
    vertical-align: middle;
    position: absolute;
    top: 0;
    bottom: 0;
	right:30px;
    content: "";
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}


/* ======================================================================
complete
====================================================================== */

#complete {
	padding:40px 20px;
	margin:0 auto;
	text-align:center;
}

#complete p#complete01 {
	padding:40px 0 60px;
	font-size:16px;
	font-weight: 600;
}

#complete p#complete02 {
	width:100%;
	margin:0 auto;
	padding:20px;
	border:3px solid #FF5050;
	box-sizing: border-box;
	border-radius:20px;
	font-size:14px;
	font-weight:bold;
	line-height:28px;
	letter-spacing:0;
}

#complete p#complete02 span {
	color:#F12334;
}


/* ======================================================================
identification
====================================================================== */

#identification {
	margin:0px 0 70px;
}
}
