@charset 'utf-8';
/* common
=========================================*/
html {
	-webkit-text-size-adjust: none
}/*iphone safariでの数字CSS崩れ対策*/
.cpLeftBanner {
	display: none!important;
}
input::placeholder,
textarea::placeholder {
  color: #ccc;
}

/* IE */
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #ccc !important;
}
/* Edge */
input::-ms-input-placeholder,
textarea::-ms-input-placeholder {
  color: #ccc !important;
}
/* #mainContents
=========================================*/
#mainContents {
	margin: 0 auto;
	position: relative;
	width: 1300px;
	padding: 0px 10px 30px;
}

#msg_box {
  padding: 15px;
  margin-top: 20px;
}
#msg_box p.reason {
	font-size:150%;
	margin-bottom:10px;}

#msg_box.box {
	border: 3px solid #044392;
	border-radius: 5px;
	background-image: none;
	width: 100%;
}

@media only screen and (max-width: 640px) {
#msg_box {
	width: 100%;
	margin-bottom: 10px;
}
#msg_box .boxHead {
	background: none ;
	padding-top: 0px;
}
#msg_box .boxFoot {
	background: none ;
	padding-bottom: 0px;
}
}
.note {
	margin: 20px 0;
}
.note p {
	color: #000000;
	font-size: 16px;
}
#mainContents .btn {
	margin: 20px auto;
	width: 775px;
}
.btn .optionBtn {
	font-size: 18px;
	color: #FFFFFF;
	border-radius: 3px;
	background: url(/mrso_img/step/arrow_01.png), -moz-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -webkit-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -ms-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00)100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 10px 50px 10px 10px;
	display: block;
	position: relative;
	top: 13px;
	margin-right: 15px;
	float: left;
}
.btn .optionBtn span {
	text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
	-webkit-text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
	-moz-text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
}
.btn .giftBtn {
	font-size: 24px;
	color: #FFFFFF;
	border-radius: 3px;
	background: url(/mrso_img/step/arrow_01.png), -moz-linear-gradient( 90deg, rgba(5,48,119,1.00) 0%, rgba(16,90,159,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -webkit-linear-gradient( 90deg, rgba(5,48,119,1.00) 0%, rgba(16,90,159,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -ms-linear-gradient( 90deg, rgba(5,48,119,1.00) 0%, rgba(16,90,159,1.00) 100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 20px 60px 20px 20px;
	display: block;
	position: relative;
}
.btn .giftBtn.active {
        background: url("/mrso_img/step/arrow_03.png"), -moz-linear-gradient(90deg, rgba(5, 48, 119, 1) 0%, rgba(16, 90, 159, 1) 100%);
	background: url(/mrso_img/step/arrow_03.png), -webkit-linear-gradient( 90deg, rgba(5,48,119,1.00) 0%, rgba(16,90,159,1.00) 100%);
	background: url(/mrso_img/step/arrow_03.png), -ms-linear-gradient( 90deg, rgba(5,48,119,1.00) 0%, rgba(16,90,159,1.00) 100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
}
.btn .giftBtn span {
	text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
	-webkit-text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
	-moz-text-shadow: rgba(0, 0, 0, 0.2) 0px 0px 1px 1px;
	font-weight: bold;
}
.btn input.nextBtn,
.btn a.ancBtn{
	font-size: 28px;
	color: #FFFFFF;
	border-radius: 3px;
	background: url(/mrso_img/step/arrow_02.png), -moz-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: url(/mrso_img/step/arrow_02.png), -webkit-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: url(/mrso_img/step/arrow_02.png), -ms-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 20px 60px 20px 30px;
	display: block;
	border: none;
	float: right;
}
.btn a.ancBtn {
	background: url(/mrso_img/step/arrow_01.png), -moz-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -webkit-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: url(/mrso_img/step/arrow_01.png), -ms-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	display: inline-block;
	float: none;
}
.btn input.nextBtn:hover,.btn a.ancBtn:hover,.btn .optionBtn:hover, .btn .giftBtn:hover {
	cursor: pointer;
	opacity: 0.6;
	text-decoration: none;
}
.btn input.nextBtn:disabled{
	font-size: 28px;
	color: #FFFFFF;
	border-radius: 3px;
	background: url(/mrso_img/step/arrow_02.png), -moz-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: url(/mrso_img/step/arrow_02.png), -webkit-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: url(/mrso_img/step/arrow_02.png), -ms-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00)100%);
	background-repeat: no-repeat;
	background-position: 95% 50%;
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 20px 60px 20px 30px;
	display: block;
	border: none;
	cursor: not-allowed!important;
	opacity: 0.5;
}
.btn a.back {
	text-decoration: underline;
	font-size: 16px;
	color: #3E9CFC;
	display: block;
	text-align: center;
	margin-top: 20px;
}
.btn input.nextBtn.sp-only {
	display: none;
}
.btnStyle01 {
	font-size: 18px;
	color: #FFFFFF;
	border-radius: 3px;
	background: -moz-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: -webkit-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	background: -ms-linear-gradient( 90deg, rgba(255,121,0,1.00) 0%, rgba(255,162,0,1.00) 100%);
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 10px 20px;
	display: block;
	border: none;
	text-align: center;
}
.btnStyle02 {
	font-size: 18px;
	color: #FFFFFF;
	border-radius: 3px;
	background: -moz-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: -webkit-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: -ms-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00)100%);
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	line-height: 1.2em;
	padding: 10px 20px;
	display: block;
	border: none;
	text-align: center;
}
.btnStyle03{
	font-size: 18px;
    color: #FFFFFF;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    background: -moz-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: -webkit-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00) 100%);
	background: -ms-linear-gradient( 90deg, rgba(101,100,101,1.00) 0%, rgba(142,142,142,1.00)100%);
    padding: 10px 20px;
    position: relative;
    -webkit-appearance: none;
	text-align: center;
    display: block;    box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
    line-height: 1.2em;
}
a.btnStyle01:hover {
	text-decoration: none;
	opacity: 0.6;
}
#formStep input:focus, textarea:focus {
	border: solid 2px #5d99ff;
	background-color: #FFFFDB !important;
}
em {
	display: block;
	line-height: 1.4em;
	font-size: 16px;
	margin: 5px 0;
	color: #c01214;
}
em span {
	display: block;
	background: url(/mrso_img/step/icon_attention.png) 5px top no-repeat;
	padding: 0px 30px;
}
/* titleStyle */
h2 {
	font-size: 36px;
	color: #000;
	border-bottom: 1px solid #000000;
	padding-bottom: 5px;
}
h2 span.border {
	border-left: 7px solid #02418E;
	padding-left: 20px;
	line-height: 1.1em;
}
h2 span.required {
	margin-left: 10px;
}
/* flowList */
.flowWrapper {
	margin: 30px 0;
}
ol.flowList {
	margin-bottom: 10px;
	margin-right: auto;
	margin-left: auto;
	counter-reset: num;
	list-style: none;
}
.flowList li {
	position: relative;
	display: inline-block;
	padding: 0 30px 0 15px;
	width: auto;
	min-width: 200px;
	height: 40px;
	line-height: 40px;
	color: #02418E;
	text-align: center;
	background-color: #f3f7fd;
	border: 1px solid #02418E;
	margin-right: 30px;
	font-size: 18px;
	font-weight: bold;
	margin-right: 25px\9;/*for IE */
}
.flowList li span.num {
	color: #F3F7FD;
	background-color: #02418E;
	font-weight: bold;
	width: 1.5em;
	height: 1.5em;
	line-height: 1.5em;
	text-align: center;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	margin-top: -0.5em;
	display: inline-block;
	margin-right: 10px;
}
.flowList li.active span.num {
	background-color: #FFFFFF;
	color: #02418E;
}
ol.flowList li:before, ol.flowList li:after {
	left: 100%;
	top: 50%;
	border: solid transparent;
	content: " ";
	height: 0;
	width: 0;
	position: absolute;
	pointer-events: none;
}
ol.flowList li:after {
	border-color: rgba(243, 247, 253, 0);
	border-left-color: #f3f7fd;
	border-width: 19px;
	margin-top: -19px;
}
ol.flowList li:before {
	border-color: rgba(2, 65, 142, 0);
	border-left-color: #02418E;
	border-width: 20px;
	margin-top: -20px;
}
.flowList li:last-child:before, .flowList li:last-child:after, .flowList li.active:after {
	display: none;
}
.flowList li.active {
	border: 1px solid #f3f7fd;
	background: #02418E;
	color: #FFFFFF;
}
.flowList li.active:before {
	border-left-color: #02418E;
	border-width: 19px;
	margin-top: -19px;
}
.flowList li:last-child {
	margin-right: 0px;
}
.flowList li.information {
	border: none;
	margin: 0;
	padding: 0;
	background-color: #fff;
}
dl.tableStyle, .step3 #formStep dl {
	border-bottom: 2px solid #ccc;
	background-color: #EEEEEE;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
dl.tableStyle dt, dl.tableStyle dd, .step3 #formStep dl dt, .step3 #formStep dl dd {
	line-height: 1.3;
	font-size: 15px;
	border-top: 1px solid #ccc;
	padding: 10px 15px;
}
dl.tableStyle dt, .step3 #formStep dl dt {
	width: 270px;
	font-weight: bold;
	font-size: 18px;
	clear: left;
	float: left;
}
dl.tableStyle dd, .step3 #formStep dl dd {
	font-size: 16px;
	margin-left: 270px;
	background-color: #FFF;
	border-left: 1px solid #ccc;
	line-height: 23px;
}
dl.tableStyle p.AgencyReserveOption {
	margin-inline-start: 1em;
}
.campaign {
	text-align: center;
	margin-top: 10px;
}
.loginInfo {
	position: relative;
	margin-top: 20px;
}
.loginInfo.tpointLogin {
	margin-top: 0px;}
.loginInfo .login {
	position: absolute;
	right: 0px;
	top: 5px;
}
.loginInfo.tpointLogin .login {
	position: relative;
    right: 0px;
    top: 0px;
}
.loginInfo.tpointLogin .login span.toggle {
	cursor: text!important;}
.loginInfo .login p {
	line-height: 41px;
	display: inline-block;
}
.loginInfo .login .btnStyle01 {
	width: 185px;
	float: right;
}
.loginInfo .openT {
	width: 430px;
	border: 5px solid #f1f1f1;
	padding: 20px 10px 10px;
	position: absolute;
	background-color: #FFFFFF;
	right: 0px;
	top: 45px;
	box-shadow: 0px 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
	display: none;
}
.loginInfo table#formStepLogin {
	border: none;
}
.loginInfo table#formStepLogin th {
	vertical-align: middle;
	padding-left: 20px;
}
.loginInfo td input {
	width: 200px;
}
.loginInfo .btns_ssl input, .loginInfo .btnLoginFb img {
	height: 40px
}
.loginInfo .btnList {
	margin-top: 5px;
	padding-bottom: 10px;
}
.loginInfo .btnList li {
	float: left;
	margin-right: 15px;
}
.loginInfo .btnList li:last-child {
	margin-right: 0;
}
.loginInfo th {
	padding-right: 10px;
}
.loginInfo th, .loginInfo td {
	padding-bottom: 5px;
}
.loginInfo .forgetPass {
	margin-top: 10px;
}
.loginInfo .forgetPass a {
	font-size: 13px;
}
.loginInfo .error-message {
	color: #ff0000;
}

/* 健保認証
=========================================*/
.kenpo input[type="text"]{
  margin-left: 0px !important;
}
.kenpo .btn{text-align: center}
.kenpo .btn input {
  margin: 0 auto;
  font-size: 28px;
  line-height: 1.2em;
  padding: 20px 30px;
  width: 50%;
  display: inline-block;
  cursor: pointer;
  transition: 0.3s
}
.kenpo .btn input:hover {opacity: 0.7}
.kenpo .btn span.ssl {
  float: none;
  display: inline-block;
  padding-top: 0px;
}
.kenpo .btn span.ssl img {
	width: 75px;
	padding: 0px;
	height: 25px;
	margin-top: 10px;
}

@media only screen and (max-width: 640px) {
  .kenpo .btn input {
    display: block;
    width: 90%;
    margin: 0 5%;
    font-size: 16px;
}
}
/* step1
=========================================*/
/* common */
.col2Wrapper {
	position: relative;
	margin-top: 30px;
}
.step1 #main .emptyBox p {
	background: #f2f2f2;
	color: #999;
	padding: 128px 20px
}
.step1 #sub {
	margin-top: 20px;
}
.inputWrapper ul {
	padding: 15px;
	background-color: #EEEEEE;
}
.inputWrapper li {
	color: #000;
	font-size: 16px;
	margin-bottom: 5px;
}
.inputWrapper li:last-child {
	margin-bottom: 0px;
}
.inputWrapper li span {
	font-weight: bold;
	color: #e50012;
}
.step1 #main li input, .step1 #main li label {
	cursor: pointer;
}
.step1 .btnWrapper {
	margin-top: 10px;
}

.tableStyle .required {
	color: #C01214;
	font-size: 16px;
}
/* main */
.planOutlineWrapper {
	margin-top: 15px;
}
.planOutlineWrapper dd .price, .resultPriceWrapper dd .price {
	font-size: 24px;
	font-weight: bold;
}
.planOutlineWrapper .itemList table, .resultPriceWrapper .itemList table {
	margin-top: 10px;
	border-collapse: separate;
}
.planOutlineWrapper .itemList table th, .resultPriceWrapper .itemList table th, .resultPriceWrapper .itemList table td, .planOutlineWrapper .itemList table td {
	padding: 10px;
}
.planOutlineWrapper .itemList table .option_price dl, .resultPriceWrapper .itemList table .option_price dl 
, .planOutlineWrapper .itemList table .gov_option_price dl, .resultPriceWrapper .itemList table .gov_option_price dl {
	border-bottom: 1px solid #CCCCCC;
}
.planOutlineWrapper .itemList table .option_price dl:last-child, .resultPriceWrapper .itemList table .option_price dl:last-child 
, .planOutlineWrapper .itemList table .gov_option_price dl:last-child, .resultPriceWrapper .itemList table .gov_option_price dl:last-child {
	border-bottom: 0px solid #CCCCCC;
}
.planOutlineWrapper .itemList table dt:first-child, .planOutlineWrapper .itemList table dd:first-child, .resultPriceWrapper .itemList table dt:first-child, .resultPriceWrapper .itemList table dd:first-child {
	border-top: none !important;
}
.planOutlineWrapper .itemList table .option_price dl dt, .resultPriceWrapper .itemList table .option_price dl dt {
	width: 600px;
	text-align: left;
}
.planOutlineWrapper .itemList table .option_price dl dd, .resultPriceWrapper .itemList table .option_price dl dd {
	width: 153px;
	margin-left: 600px;
}
.planOutlineWrapper .itemList table dd, .resultPriceWrapper .itemList table dd {
	background-color: #eeeeee;
	border: none;
	padding-right: 0px;
}
.planOutlineWrapper .itemList table th.lv01, .resultPriceWrapper .itemList table th.lv01 {
	width: 85px;
	background-color: #B0B0B0;
	color: #FFFFFF;
	vertical-align: middle;
	text-align: center;
}
.planOutlineWrapper .itemList table th.lv02, .planOutlineWrapper .itemList table td, .resultPriceWrapper .itemList table th.lv02, .resultPriceWrapper .itemList table td {
	background-color: #EEEEEE;
	border-bottom: 1px solid #CCCCCC;
	text-align: right;
}
.planOutlineWrapper .itemList table th.lv02, .resultPriceWrapper .itemList table th.lv02 {
	text-align: left;
	width: 120px;
}
.planOutlineWrapper #option_price dl, .resultPriceWrapper #option_price dl {
	border: none;
	padding: 0px;
}
.planOutlineWrapper #option_price dt, .resultPriceWrapper #option_price dt {
	float: left;
	width: auto;
	padding: 0px;
	border: none;
	font-size: 16px;
	font-weight: normal;
}
.planOutlineWrapper #option_price dd, .resultPriceWrapper #option_price dd {
	float: right;
	width: auto;
	border: none;
	padding: 0px;
	background-color: #EEEEEE;
}
.planOutlineWrapper dd .info, .resultPriceWrapper dd .info {
	font-size: 14px;
	margin-left: 10px;
}
.planOutlineWrapper dd #tpoint img, .resultPriceWrapper dd #tpoint img {
	vertical-align: top;
	margin-top: 2px;
	margin-right: 5px;
}
.planOutlineWrapper dd .setupTimeList {
	padding: 10px;
	background-color: #EEEEEE;
	margin-top: 10px;
}
.planOutlineWrapper dd .setupTimeList p {
	float: left;
	margin-right: 30px;
}
.planOutlineWrapper dd .setupTimeList p.note {
	clear: left;
	color: #CC0000;
	font-size: 14px;
	margin: 0;
	float: none;
}
.setupTimeList li {
	float: left;
	margin-right: 40px;
}
.setupTimeList li input {
	margin-right: 5px;
}
.planOutlineWrapper dd .red {
	color: #E03837;
	font-size: 120%;
}
.planOutlineWrapper dd.price {
	color: #e50012;
	font-size: 24px;
}
.planOutlineWrapper dd.tpoint {
	padding-left: 23px
}
.planOutlineWrapper dd.tpoint span.point {
	color: #e50012;
	font-size: 16px;
	font-weight: bold;
}
.planOutlineWrapper dl.lastChild {
	border-bottom: none
}
.planOutlineWrapper dl.date dd {
	color: #00408F;
	font-weight: bold;
}
.planOutlineWrapper dl.date span {
	font-weight: normal;
	color: #E03837
}
.setupTimeWrapper {
	border: 2px solid #00408F;
	margin-bottom: 20px;
}
.setupTimeWrapper .inner {
	padding: 20px 40px
}
.setupTimeWrapper h2 {
	color: #FFFFFF;
	background: #00408F;
	font-size: 16px;
	padding: 13px 0 16px 17px;
}
.optionHead {
	margin: 50px 0;
}
.optionHead .headding{
	font-size: 36px;
	text-align: center;
}
.optionHead dl {
	margin: 30px 0;
}
.optionHead dt {
	background-color: #09438C;
	color: #FFFFFF;
	font-weight: bold;
	padding:10px 15px;
	font-size: 16px;
}
.optionHead dd{
	border-bottom: 1px solid #09438C;
	border-right: 1px solid #09438C;
	border-left: 1px solid #09438C;
	padding:10px 15px;
	font-size: 16px;
	color: #e50012;
	font-weight: bold;}
.optionHead dd a {
	text-decoration: underline;
}
.setupOptionWrapper {
	margin: 0 auto;
	position: relative;
	width: 1300px;
	padding: 0px 10px 30px;
}
.setupOptionWrapper dl {
	margin-bottom: 20px;
}
.setupOptionWrapper dd {
	line-height: 1.4;
	padding: 10px 20px;
	font-size: 16px;
}
.setupOptionWrapper dt {
	font-size: 20px;
	color: #000;
	margin-bottom: 5px;
	line-height: 1.4;
	border-bottom: 1px solid #000000;
}
.setupOptionWrapper dt:before {
	content: "■";
	color: #02418E;
}
/* main */
#main .toggleOpen {
	display: none;
}
/* step2
=========================================*/
.step2 span.sp-none {
	display: inline;
}

@media only screen and (max-width: 640px) {
*.step2 span.sp-none {
	display: none;
}
}
.step2 .alertPop {
	border: 3px solid #E2020B;
	color: #C01214;
	font-size: 18px;
	font-weight: bold;
	background-color: #F8ECEC;
	background-image: url(/mrso_img/step/alert.png);
	background-repeat: no-repeat;
	padding: 15px 15px 15px 65px;
	background-position: 20px center;
}
#MfUserRemark {
	padding: 10px 5px;
}
.step2 .infoGift {
	border: 1px solid #C01214;
	margin: 20px 0 5px;
	background-color: #C01214;
}
.step2 .infoGift dt {
	width: 280px;
	float: left;
	clear: both;
	color: #FFFFFF;
	font-size: 18px;
	padding: 0px 20px;
	font-weight: bold;
	height: 50px;
	line-height: 50px;
	text-align: center;
}
.step2 .infoGift dd {
	background-color: #FFFFFF;
	font-size: 16px;
	margin-left: 280px;
	height: 50px;
	line-height: 50px;
	padding-left: 20px;
}
.step2 .formInputWrapper p {
	padding: 0;
	font-size: 16px;
	margin-bottom: 5px;
}

.step2 .formInputWrapper > p#memberRegisterInformation {
	font-weight: bold;
	font-size:small;
	padding : 20px;
}

.step2 .formInputWrapper .MfUserAgree {
	padding-top: 20px;
	font-size: 16px;
}
.step2 .formInputWrapper input#MfUserAgree {
	margin-right: 5px;
	-ms-transform: scale(1.5, 1.5);
	-webkit-transform: scale(1.5, 1.5);
	transform: scale(1.5, 1.5);
}
.MfUserAgree > label{
	cursor : pointer;
}

.step2 .formInputWrapper .required {
	color: #C01214;
	font-size: 16px;
}
.step2 input[type="text"], .step2 input[type="password"], .step2 input[type="email"], .step2 input[type="tel"] ,
.kenpo input[type="text"], .kenpo input[type="password"], .kenpo input[type="email"], .kenpo input[type="tel"] {
	border: 1px solid #CCCCCC;
	padding: 5px 10px;
	/* background-color: #FFFFDB; */
	margin-left: 10px;
	line-height: 35px;
	font-size: 18px;
	color: #333333;
	height: 35px;
	margin-bottom: 0px;
}

.formInputWrapper .mT10 .other-reception-date-label {
	display: inline-block;
}

.formInputWrapper .mT10 .other-reception-date-input {
	margin-left: 10px;
	padding: 18px 35px;
	border-radius: 5px;
	border: 1px solid #00408f;
	width: 28%;
	display: inline-block;
	background-image: url(../mrso_img/top/search_box/calendar.svg), url(../mrso_img/course/common/icon_arrow_blue.png);
	background-repeat: no-repeat;
	background-position: 3%, 97%;
	cursor: pointer;
}

.formInputWrapper .mT10 .other-reception-date-input::placeholder {
	color: #00408f;
}

.formInputWrapper .mT10 .clear-button {
	background-color: grey;
	padding: 8px 18px;
	margin-left: 3px;
	border-radius: 5px;
	border: none;
	color: #fff;
	height: 35px;
	cursor: pointer;
}

/* Mac safari　対応  */
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance: none) {
		.step2 input[type="text"],
		.step2 input[type="password"],
		.step2 input[type="email"],
		.step2 input[type="tel"],
		.kenpo input[type="text"],
		.kenpo input[type="password"],
		.kenpo input[type="email"],
		.kenpo input[type="tel"] {
			line-height: 32px;
			height: 40px;
		}
	}
}
.step2 input[type="text"] {
	width: 170px;
}
.step2 #MfUserZip01, .step2 #MfUserZip02 {
	margin: 0px 5px;
	width: 70px;
}
.step2 input[type="text"]#MfUserAddr01 {
	width: 680px;
}
.step2 input[type="text"]#MfUserAddr02 {
	width: 763px;
}
.step2 input[type="text"]#MfUserCompanyName {
	width: 300px;
	margin-left: 0px;
}
.step2 input[type="email"]#MfUserEmail, 
.step2 input[type="email"]#MfUserIntroducerEmail,
.step2 input[type="password"]#MfUserNewPassword,
.step2 input[type="password"]#MfUserNewPasswordConfirm {
	width: 500px;
	margin-left: 0px;
}
/* メールアドレス強調用オーバーラップ  */
.step2 input[type="email"]#MfUserEmail {
	width: 700px;
	height: 50px;
	font-size: 35px;
}
/* Mac safari　対応  */
@media not all and (min-resolution:.001dpcm) {
	@supports (-webkit-appearance: none) {
		/* メールアドレス強調用オーバーラップ  */
		.step2 input[type="email"]#MfUserEmail {
			height: 55px;
			font-size: 30px;
		}
	}
}
.step2 input[type="password"]#MfUserNewPasswordConfirm {
	margin-top: 20px;
}

.step2 input#MfUserSecondName, .step2 input#MfUserSecondNameKn, .kenpo input#MfUserSecondNameKn {
	margin-right: 20px;
	margin-bottom: 0px;
}
.step2 input#MfUserCampaignCode {
	width: 680px;
}
.step2 #formStep select#MfUserPref {
	margin-right: 30px;
}
.step2 input[type="tel"]#MfUserTel01, .step2 input[type="tel"]#MfUserTel02, .step2 input[type="tel"]#MfUserTel03, .step2 input[type="tel"]#MfUserMbTel01, .step2 input[type="tel"]#MfUserMbTel02, .step2 input[type="tel"]#MfUserMbTel03 {
	width: 120px;
	margin-left: 0px;
}
.step2 input#MfUserInsuranceName, .step2 input#MfUserHealthInsurancePassword, .step2 input#MfUserInsuranceNum, .step2 input#MfUserInsuranceCode, .step2 input#MfUserInsuranceBranch {
	width: 250px;
	margin-left: 0px;
}
.step2 select#MfUserBirth02, .step2 select#MfUserBirth03 {
	margin-left: 5px;
}
.step2 .zips {
	overflow: hidden;
}
.step2 #formStep select#MfUserBusinessFlg,
.step2 #formStep select#MfUserJobFlg,
.step2 #formStep select#MfUserPostFlg,
.step2 #formStep select#MfUserEmployeeFlg {
	width:25%;
	margin-left: 10px;
}
.step2 #formStep select,
.kenpo select {
	margin-right: 5px;
	/* background-color: #FFFFDB; */
}
.step2 #formStep .tableStyle dd {
	padding: 10px 20px;
	font-size: 18px;
}
.step2 #formStep .tableStyle dt, .step2 #formStep .tableStyle dd {
	line-height: 36px;
}
.step2 #formStep img {
	vertical-align: middle;
}
.step2 #formStep .boxL {
	float: left;
}
.step2 #formStep .btnStyle02 {
	display: inline-block;
	float: left;
	margin-left: 10px;
	padding: 8px 20px;
	font-size: 16px;
}
.step2 #formStep dt .boxL {
	width: 195px;
}
.step2 #formStep dt.double {
	line-height: 1.4em;
	position: relative;
	height: 112px;
}
.step2 #formStep .mailMagazine {
	margin-top: 20px;
	height: 80px;
}
.step2 #formStep .introducer {
	margin-top: 20px;
}
.step2 #formStep .mailMagazine dt {
	line-height: 1.4em;
	position: relative;
}
.step2 #formStep .mailMagazine dt .boxR {
	position: absolute;
	right: 15px;
	top: 25px;
}
.step2 #formStep .mailMagazine dd {
	height: 79px;
}
.step2 #formStep dt.double .boxT {
	position: absolute;
	right: 15px;
	top: 15px;
}
.step2 #formStep dt.double .boxB {
	position: absolute;
	right: 15px;
	bottom: 15px;
}
.step2 #formStep dt .boxL.note {
	font-size: 13px;
	color: #CC0000;
	margin: 0;
	line-height: 1.4em;
}
.step2 #formStep .optional {
	color: #666666;
	font-size: 16px;
}
.step2 #formStep dd p.note {
	margin: 10px 0px 0px;
	line-height: 1.4em;
}
.step2 #formStep .btn .optionBtn {
	padding: 20px 50px 20px 20px;
	font-size: 24px;
	float: none;
}
.step2 #formStep .btn .optionBtn span {
	font-weight: bold;
}
.step2_sub {
	padding-top: 20px;
}
.step2_sub .candidate {
	padding: 10px;
	background-color: #FBD6D7;
}
.step2 #formStep .step2_sub dd .candidate p.note {
	font-size: 14px;
	margin: 0px 0px 0px 0px;
	color: #C01214;
}
.step2 .step2_sub input[type="text"]#MfUserCampaignCode {
	width: 600px;
	margin-left: 0px;
}
.step2 .step2_sub .checkbox #MfUserGetThrough2 {
	margin-left: 50px;
}
.step2 .step2_sub .checkbox #MfUserGetThrough0 {
	margin-left: 39px;
}
.step2 #formStep .step2_sub dt.double, .step2 #formStep .step2_sub dd.double {
	height: 100px;
}
.step2Payment {
	margin-top: 30px;
}
/* #formStepGift */
#formStepGift {
	z-index: 999;
}
#formStepGift *, #formStep.giftNum * {
	box-sizing: border-box;
}
#formStepGift ul.payment > li {
	float: left;
	width: 49%;
	margin-right: 2%;
	position: relative;
	font-size: 14px;
}
#formStepGift ul.payment.single > li {
	margin: 0 auto;
	float: none;
}
#formStepGift ul.paymentGift li {
	position: relative;
	width: 100%;
}
#formStepGift ul.payment > li:last-child {
	margin-right: 0%;
}
#formStepGift ul.payment.single > li:last-child {
	margin-right: auto;
}
#formStepGift ul.payment li.local input[type="radio"], #formStepGift ul.payment li.card input[type="radio"], #formStepGift ul.paymentGift li input[type="radio"] {
	opacity : 0;
	width: 100%;
	height: 100%;
	padding: 0;
}
#formStepGift ul.payment li.local input[type="radio"] + label, #formStepGift ul.payment li.card input[type="radio"] + label {
	display: block;
	background-repeat: no-repeat;
	background-position: 0px top;
	background-color: #ffffff;
	border: 3px solid #5978ae;
	height: 350px;
	cursor: pointer;
}
#formStepGift ul.paymentGift li input[type="radio"] + label {
	display: block;
	background-repeat: no-repeat;
	background-position: 20px center;
	background-color: #ffffff;
	border: 3px solid #5978ae;
	cursor: pointer;
	min-height: 150px;
}
#formStepGift ul.payment li.local input[type="radio"] + label {
	background-image: url(/mrso_img/step/radio_off_local_v2.png);
	padding: 80px 23px 0px;
}
#formStepGift ul.payment li.card input[type="radio"] + label {
	background-image: url(/mrso_img/step/radio_off_card_v2.png);
	padding: 80px 23px 0px;
}
#formStepGift ul.payment li.card.noSelect label {
	background-image: url(/mrso_img/step/radio_noselect_card_v2.png) !important;
	padding: 80px 0px 0px 23px;
	opacity: 0.4;
	cursor: default !important;
}
#formStepGift ul.payment li.card.noSelect label:hover {
	border: solid 3px #5978ae!important;
	background-color: #ffffff!important;
}
#formStepGift ul.paymentGift li.giftonly input[type="radio"] + label {
	background-image: url(/mrso_img/step/radio_off_gift_v2.png);
	padding: 20px 0px 20px 400px;
}
#formStepGift ul.paymentGift li.giftCredit input[type="radio"] + label {
	background-image: url(/mrso_img/step/radio_off_giftcredit_v2.png);
	padding: 20px 0px 20px 400px;
}
#formStepGift ul.payment li.local input[type="radio"] + label:hover, #formStepGift ul.payment li.card input[type="radio"] + label:hover, #formStepGift ul.paymentGift li.giftonly input[type="radio"] + label:hover, #formStepGift ul.paymentGift li.giftCredit input[type="radio"] + label:hover {
	border: solid 3px #5d99ff;
	background-color: #FFE8E8;
}
#formStepGift ul.payment li.local input[type="radio"]:checked + label, #formStepGift ul.payment li.card input[type="radio"]:checked + label {
	background-repeat: no-repeat;
	background-position: 0px top;
	border: solid 3px #5978ae;
	background-color: #f3f7fd;
}
#formStepGift ul.paymentGift li.giftonly input[type="radio"]:checked + label, #formStepGift ul.paymentGift li.giftCredit input[type="radio"]:checked + label {
	background-repeat: no-repeat;
	background-position: 20px center;
	border: solid 3px #5978ae;
	background-color: #f3f7fd;
}
#formStepGift ul.payment li.local input[type="radio"]:checked + label {
	background-image: URL(/mrso_img/step/radio_on_local_v2.png);
}
#formStepGift ul.payment li.card input[type="radio"]:checked + label {
	background-image: URL(/mrso_img/step/radio_on_card_v2.png);
}
#formStepGift ul.paymentGift li.giftonly input[type="radio"]:checked + label {
	background-image: url(/mrso_img/step/radio_on_gift_v2.png);
}
#formStepGift ul.paymentGift li.giftCredit input[type="radio"]:checked + label {
	background-image: url(/mrso_img/step/radio_on_giftcredit_v2.png);
}
#formStepGift ul.payment li .attention {
	color: #C01214;
}
#formStepGift ul.payment li.local {
	position: relative;
}
#formStepGift ul.paymentGift .required {
	padding-left: 10px;
}
#formStepGift ul.paymentGift .giftNum {
	padding: 10px;
	background-color: #EEEEEE;
	line-height: 35px;
	font-size: 20px;
	margin-right: 20px;
}
#formStepGift ul.paymentGift input[type="text"] {
	width: 625px;
	margin-bottom: 5px;
}
#formStepGift ul.paymentGift p.note, #formStepGift .error-message {
	margin: 5px 0px 0px;
	color: #C01214;
	font-size: 14px;
}
#formStepGift ul.payment .lineLink {
	text-decoration: underline;
	font-weight: bold;
	margin-left: 10px;
}
#formStepGift ul.payment .lineLink:hover {
	text-decoration: none;
}
#formStepGift ul.payment .present {
	display: block;
	width: 100%;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	line-height: 46px;
	height: 46px;
	margin-bottom: 10px;
}
#formStepGift ul.payment .local .present {
	color: #111111;
}
#formStepGift ul.payment .card .present {
	background-color: #C20D03;
	color: #FFFFFF;
}
#formStepGift ul.payment .present img {
	margin: 0 5px;
	vertical-align: middle;
}
.step2 .confirm {
	margin-top: 30px;
	text-align: center;
}
.step2 .confirm .nextBtn, .step3 input.nextBtn {
	float: left;
	width: 460px;
	margin-left: 130px;
}
.step2 .confirm input.nextBtn:focus, .step3 input.nextBtn:focus {
	border: none !important;
}
.ssl {
	float: left;
	padding-top: 50px;
	margin-left: 10px;
}
/* #agreementArea */
#agreementArea {
	margin: 10px 0;
	height: 100px;
	padding: 20px 15px;
	border: 1px solid #ccc;
	overflow: scroll;
	overflow-x: visible;
	font-size: 14px;
	font-weight: normal;
	color: #444444;
	background: #f2f2f2;
}
#agreementArea h3 {
	margin-bottom: 30px;
}
#agreementArea h3, #agreementArea h4 {
	font-size: 108%;
	font-weight: normal;
	color: #444444;
	line-height: 1.7em;
}
#agreementArea ol {
	list-style-type: none;
	margin-bottom: 1.7em;
}
#agreementArea li {
	font-weight: normal;
	text-indent: 1em;
	line-height: 1.7em;
}
#agreementArea ul {
	margin-bottom: 1.7em;
}
#agreementArea ol ul {
	margin-bottom: 0;
}
#agreementArea ol li ul li {
	text-indent: 2em;
}
#agreementArea p {
	margin-bottom: 1.7em;
	text-indent: 1em;
}
#agreementArea p.no6 {
	margin-bottom: 0;
}
#agreementArea p.last {
	text-indent: 0;
}
/* step3
=========================================*/
.step3 .lead {
	margin: 20px 0;
	font-size: 16px;
}
.step3 .planOutlineWrapper {
	margin: 20px 0;
	border: 5px solid #ccc;
}
.step3 .planOutlineWrapper dl {
	border-bottom: 1px solid #ccc;
	padding: 10px 15px;
}
.step3 .planOutlineWrapper dt, .step3 .planOutlineWrapper dd {
	float: left;
	line-height: 1.3;
	font-size: 16px;
}
.step3 .planOutlineWrapper dt {
	width: 200px;
	font-weight: bold;
}
.step3 .planOutlineWrapper dd {
	width: 600px;
}
.step3 #formStep {
	margin-top: 20px;
	border-top : 1px solid #ccc;
}
.step3 #formStep dl dt {
	width: 300px;
}
.step3 #formStep dl dd {
	margin-left: 300px;
}
.step3 #formStep dl dt, .step3 #formStep dl dd {
	border-top: none;
	min-height: 43px;
}
.step3 .returnPrevStep a {
	text-decoration: underline;
	font-size: 16px;
	color: #3E9CFC;
	display: block;
	text-align: center;
	margin-top: 20px;
}
.step3 .reservePrepaymentSubmit {
	margin: 0 20px;
	text-align: center;
}
.step3 .reservePrepaymentSubmit input {
	background-color: #D53251;
	border: none;
	font: bold 16px/30px "Helvetica Neue",Helvetica,Arial,sans-serif;
	width: 100%;
	padding: 20px 0px;
	cursor: pointer;
	color: #fff;
	text-align: center;
	margin-top: 20px;
	margin-bottom: 20px;
	max-width: 400px;
	border-radius: 5px;
	background-size: 100px auto;
	font-weight: bold;
}
.step3 .reservePrepaymentSubmit input:hover {
	opacity: 0.6
}
.step3 .amexBtn {
	display: none;
	margin: 20px;
	text-align: center;
	background-position: 0% 0%;
}
.step3 .stripe-button-el{
    overflow: hidden;
    display: inline-block;
    visibility: visible;
	background-color: #D53251;
	background-image: url(../mrso_img/step/amex.png) !important;
    background-image: -webkit-linear-gradient(#D53251,#D53251);
    background-image: -moz-linear-gradient(#D53251,#D53251);
    background-image: -ms-linear-gradient(#D53251,#D53251);
    background-image: -o-linear-gradient(#D53251,#D53251);
    background-image: -webkit-linear-gradient(#D53251,#D53251);
    background-image: -moz-linear-gradient(#D53251,#D53251);
    background-image: -ms-linear-gradient(#D53251,#D53251);
    background-image: -o-linear-gradient(#D53251,#D53251);
    background-image: linear-gradient(#D53251,#D53251);
	background-repeat: no-repeat !important;
	background-position: 10px 50% !important;
	background-size: 50px auto !important;
	padding: 10px 0px 10px 80px;
    -webkit-box-shadow: 0 1px 0 rgba(0,0,0,0.0);
    -moz-box-shadow: 0 1px 0 rgba(0,0,0,0.0);
    -ms-box-shadow: 0 1px 0 rgba(0,0,0,0.0);
    -o-box-shadow: 0 1px 0 rgba(0,0,0,0.0);
    box-shadow: 0 1px 0 rgba(0,0,0,0.0);
}
.step3 .stripe-button-el span {
	display: block;
	position: relative;
	padding: 0 12px;
	height: 30px;
	font: bold 16px/30px "Helvetica Neue",Helvetica,Arial,sans-serif;
	text-shadow: 0 0px 0 rgba(0,0,0,0.0) !important;
	-webkit-box-shadow: inset 0 0px 0 rgba(213,51,81,1.00) !important;
	-moz-box-shadow: inset 0 0px 0 rgba(213,51,81,1.00) !important;
	-ms-box-shadow: inset 0 0px 0 rgba(213,51,81,1.00) !important;
	-o-box-shadow: inset 0 0px 0 rgba(213,51,81,1.00) !important;
	box-shadow: inset 0 0px 0 rgba(213,51,81,1.00) !important;
	background: #D53251;
	background-image: -webkit-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: -moz-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: -ms-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: -o-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: -webkit-linear-gradient(90deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
	background-image: -moz-linear-gradient(90deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
	background-image: -ms-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: -o-linear-gradient(#7dc5ee,#008cdd 85%,#30a2e4);
	background-image: linear-gradient(0deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
}
.step3 .stripe-button-el:not(:disabled):active, .step3 .stripe-button-el.active {
	background: #D53251;
}
.step3 .stripe-button-el:not(:disabled):active span, .step3 .stripe-button-el.active span {
	color: #eee;
	background: #D53251;
	background-image: -webkit-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: -moz-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: -ms-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: -o-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: -webkit-linear-gradient(90deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
	background-image: -moz-linear-gradient(90deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
	background-image: -ms-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: -o-linear-gradient(#008cdd, #008cdd 85%, #239adf);
	background-image: linear-gradient(0deg,rgba(213,50,81,1.00) 0%,rgba(213,50,81,1.00) 85%,rgba(213,50,81,1.00) 100%);
	-webkit-box-shadow: inset 0 0px 0 rgba(0,0,0,0.0);
	-moz-box-shadow: inset 0 0px 0 rgba(0,0,0,0.0);
	-ms-box-shadow: inset 0 0px 0 rgba(0,0,0,0.0);
	-o-box-shadow: inset 0 0px 0 rgba(0,0,0,0.0);
	box-shadow: inset 0 0px 0 rgba(0,0,0,0.0);
	background-repeat: no-repeat !important;
	background-position: 10px 50%;
	background-size: 50px auto;
}
.step3 .stripe-button-el:disabled,.step3 .stripe-button-el.disabled {
	background: rgba(0,0,0,0.0);
	-webkit-box-shadow: none;
	-moz-box-shadow: none;
	-ms-box-shadow: none;
	-o-box-shadow: none;
	box-shadow: none
}
.step3 .stripe-button-el:disabled span, .step3 .stripe-button-el.disabled span {
	color: #fff;
	background: #f8f9fa;
	text-shadow: 0 1px 0 rgba(255,255,255,0.5)
}
/* finish
=========================================*/
.finish .body {
	margin-top: 0;
	padding-top: 0
}
.finish .title h2 {
	text-align: center!important;
	margin: 20px auto;
	color: #987A03!important;
	line-height: 1.5!important;
	background: #F3F2E9;
	padding: 30px 0!important;
	width: 960px;
	border-bottom: 0px solid #000000;
}
.finish .txt_red {
	color: #ff0000;
}
.finish .alert {
	margin: 20px auto;
	width: 960px;
}
.finish .msg04 {
	margin: 50px auto 30px auto;
	font-size: 22px;
	font-weight: bold;
	width: 862px;
	text-align: center;
	line-height: 1.8em;
}
.finish .miniBoxWp {
	background: url(/mrso_img/step/bg_minibox_top.gif) left top no-repeat;
	padding-top: 6px;
	width: 443px;
	margin: 0 auto;
	margin-bottom: 30px;
}
.finish .miniBox {
	background: url(/mrso_img/step/bg_minibox_btm.gif) left bottom no-repeat;
	padding-bottom: 4px;
}
.finish .miniBoxIn {
	background: url(/mrso_img/step/bg_minibox_mid.gif) left top repeat-y;
	font-size: 16px;
	font-weight: bold;
	padding: 20px 0;
	text-align: center;
	line-height: 1em;
}
.finish #reserveNumber strong {
	text-align: center;
	font-size: 28px;
	font-weight: bold;
	display: block;
	padding: 20px 0;
}
.finish .msg05 {
	width: 862px;
	margin: 0 auto;
	margin-bottom: 25px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	line-height: 1.8em;
}
.finish .body .txt_step04 {
	width: 716px;
	margin: 0 auto;
	margin-top: 40px;
	margin-bottom: 58px;
	font-size: 14px;
}
 /* 注意文言オーバーラップ */
 .finish .body .txt_step04 {
	position: relative;
	margin: 0 auto 30px;
	padding: 25px 10px 7px;
	border: solid 2px #FFC107;
}
.finish .body .txt_step04 .box-title {
	position: absolute;
	display: inline-block;
	top: -2px;
	left: -2px;
	padding: 0 9px;
	height: 25px;
	line-height: 25px;
	vertical-align: middle;
	font-size: 17px;
	background: #FFC107;
	color: #ffffff;
	font-weight: bold;
}
#btns_step4 {
	padding-bottom: 0px;
	text-align: center;
}
#btns_step4 img {
	display: inline;
}
.finish .bannerCam {
	width: 500px;
	height: auto;
	margin: 0 auto 60px;
}
#finishBannerArea ul {
	margin: 0 auto 60px;
	width: 700px;
}
#finishBannerArea ul li {
	width: 340px;
	margin-right: 20px;
	float: left;
}
#finishBannerArea ul:after {
 content: "";
 clear: both;
 display: block;
}
#finishBannerArea ul li:last-child {
	margin-right: 0px;}



/* reserve_edit_time
=========================================*/

.reserve_edit_time .title p.stepImage{
	width: 100%;
	margin: 0 auto;
	text-align:center;
	padding-top:50px;
}

.reserve_edit_time .msg00 {
	font-size: 20px;
	border-bottom: 2px solid #007fc6;
	font-weight: bold;
	width: 862px;
	margin: 30px auto;
	margin-bottom: 30px;
	padding-bottom: 10px;
	text-align: center;
}
.reserve_edit_time .body {
	width: 862px;
	margin: 0 auto;}
.reserve_edit_time .wrap:after {
 content: "";
 clear: both;
 display: block;
}
.reserve_edit_time .leftWp{
	width:489px;
	float:left;
	margin-bottom:30px;
	margin-bottom:0px;
}
.reserve_edit_time .leftWp h4{
	margin-bottom:7px;
}
.reserve_edit_time .leftWp h4.opH4{
	height: 31px;
	background-image: url(/mrso_img/step/txt_step1_02.gif);
	background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.reserve_edit_time .leftWp h4.tmH4{
	height: 31px;
	background-image: url(/mrso_img/step/txt_step1_01.gif);
	background-repeat: no-repeat;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
}
.reserve_edit_time .leftWp p{
	font-size: 14px;
	font-weight:bold;
	margin-left:30px;
	margin-bottom:15px;
	line-height:1.7em;
}

.reserve_edit_time .leftWp .leftTime{
	margin-bottom:50px;
}
.reserve_edit_time .leftWp .leftTime ul{
	margin-left:30px;
}
.reserve_edit_time .leftWp .leftTime li{
	position:relative;
	float:left;
	margin-right:40px;
}
.reserve_edit_time .leftWp .leftTime li input{
	position:relative;
	top:-2px;
	margin-right:2px;
}

.reserve_edit_time .leftWp .leftOpt dl{
	margin-left:30px;
	background:url(/mrso_img/step/border_step1_01.gif) left bottom no-repeat;
	padding:18px 0;
}
.reserve_edit_time .leftWp .leftOpt dl.first{
	padding-top:0;
}
.reserve_edit_time .leftWp .leftOpt dl dt{
	font-size: 16px;
	font-weight:bold;
	margin-bottom:10px;
	display:block;
}
.reserve_edit_time .leftWp .leftOpt dl.first dt{
	background:url(/mrso_img/step/border_step1_01.gif) left top no-repeat;
	padding-top:18px;
}
.reserve_edit_time .leftWp .leftOpt dl dd{
	line-height:1.7em;
}
.reserve_edit_time .leftWp .leftOpt dl dd ul{
	margin-top:15px;
}
.reserve_edit_time .leftWp .leftOpt dl dd li span{
	color:#ff0000;
}

.reserve_edit_time .rightWp{
	float:right;
	margin-bottom:30px;
}
.reserve_edit_time .rightWp .feeBox{
	background:url(/mrso_img/step/bg_step1_outbox_top.gif) left top no-repeat;
	padding-top:10px;
	width:333px;
}
.reserve_edit_time .rightWp .feeBoxIn{
	background:url(/mrso_img/step/bg_step1_outbox_mid.gif) left top repeat-y;
}
.reserve_edit_time .rightWp .feeBoxBody{
	background:url(/mrso_img/step/bg_step1_outbox_btm.gif) left bottom no-repeat;
	padding-bottom:10px;
	padding-top:8px;
}
.reserve_edit_time .rightWp .feeBoxTitle{
	width: 123px;
	margin: 0 auto;
	text-align:center;
	margin-bottom:25px;
}

.reserve_edit_time .rightWp .feeBoxBasic{
	width:291px;
	margin:0 auto;
	padding-bottom:10px;
	margin-bottom:10px;
	background:url(/mrso_img/step/border_step1_02.gif) left bottom no-repeat;
}
.reserve_edit_time .rightWp .feeBoxBasic h5{
	font-size: 18px;
	font-weight:bold;
	float:left;
	color:#333333;
}
.reserve_edit_time .rightWp .feeBoxBasic p{
	font-size:139%;
	font-weight:bold;
	float:right;
}

.reserve_edit_time .rightWp .feeBoxOpt{
	width:291px;
	margin:0 auto;
	padding-bottom:10px;
}
.reserve_edit_time .rightWp .feeBoxOpt h5{
	font-size: 16px;
	font-weight:bold;
	padding-bottom:10px;
	color:#333333;
}
.reserve_edit_time .rightWp .feeBoxOpt dt,
.reserve_edit_time .rightWp .feeBoxOpt dd{
	font-size: 16px;
	font-weight:bold;
}
.reserve_edit_time .rightWp .feeBoxOpt dt{
	display:block;
	float:left;
	clear:right;
	text-indent:-0.5em;
	padding-left:0.5em;
}
.reserve_edit_time .rightWp .feeBoxOpt dd{
	float:right;
	white-space:nowrap;
}

.reserve_edit_time .rightWp .feeBoxTotal{
	background:url(/mrso_img/step/bg_step1_inbox_top.gif) left top no-repeat;
	padding-top:9px;
	width:300px;
	margin:0 auto;
}
.reserve_edit_time .rightWp .feeBoxTotalIn{
	background:url(/mrso_img/step/bg_step1_inbox_mid.gif) left top repeat-y;
}
.reserve_edit_time .rightWp .feeBoxTotalBody{
	background:url(/mrso_img/step/bg_step1_inbox_btm.gif) left bottom no-repeat;
	padding-bottom:10px;
}
.reserve_edit_time .rightWp .feeBoxTotalBody p{
	width:270px;
	margin:0 auto;
}
.reserve_edit_time .rightWp .feeBoxTotalBody p span{
	float:left;
	font-size: 20px;
	line-height:223%;
}
.reserve_edit_time .rightWp .feeBoxTotalBody p em{
	float:right;
	font-size: 29px;
	font-weight:bold;
	white-space:nowrap;
}
.reserve_edit_time .aC {
	text-align: center;
	width: 200px;
}

.reserve_edit_time .aC .nextBtn {
	text-align: center;
	float: left;
	width: 270px;
	margin-left: 250px;
	margin-right: 5px;
}

.reserve_edit_time .returnPrevStep {
	text-align: center;
}
/* clearfix
=========================================*/
.flowList:after, .planOutlineWrapper dl:after, .planOutlineWrapper dd .setupTimeList ul:after, .btn:after, .loginInfo .btnList:after, .step2 .infoGift:after, .step2 .confirm:after, #formStepGift ul:after, .step3 .planOutlineWrapper dl:after, .step3 #formStep dl:after, .step3 .btns_ssl:after {
	content: url(/mrso_img/common/spacer.gif);
	display: block;
	clear: both;
	height: 0;
}

/* sp用
=========================================*/
@media only screen and (max-width: 640px) {
/* #mainContents
=========================================*/
#mainContents {
	padding: 0;
	width: 100%;
}
body {
	overflow-x: hidden;
}
.note {
	padding: 0 2%;
	margin: 10px 0;
}
.note p {
	font-size: 14px;
	padding-left: 1em;
	text-indent: -1em;
}
#mainContents .btn {
	width: 100%;
}
.btn .optionBtn {
	font-size: 16px;
	color: #FFFFFF;
	display: block;
	position: relative;
	top: 0px;
	margin: 0 2%;
	float: none;
	width: 96%;
}
.btn .optionBtn span {
	width: 100%;
	text-align: center;
	display: block;
}
.btn input.nextBtn,.btn a.ancBtn {
	font-size: 16px;
	display: block;
	border: none;
	float: none;
	margin: 0 2% 10px;
	width: 96%;
}
.btn input.nextBtn.sp-only {
	display: block;
}
.btn input.nextBtn.sp-none {
	display: none;
}
.btn a.back {
	margin: 20px 0;
}
h2 {
	font-size: 18px;
}
h2 span.border {
	padding-left: 10px;
	line-height: 1.1em;
}
dl.tableStyle {
	border-bottom: 1px solid #ccc;
	border-left: none;
	border-right: none;
}
dl.tableStyle dt, dl.tableStyle dd {
	border-top: 1px solid #ccc;
	display: block;
}
dl.tableStyle dt {
	width: 100%;
	font-size: 18px;
	float: none;
}
dl.tableStyle dd {
	margin-left: 0px;
	border-left: none;
	height: auto;
}
/* flowList */
.flowWrapperSp {
	padding: 0 2%;
	margin: 10px 0;
}
.campaign img {
	width: 70%;
	margin: 0 auto;
	height: auto;
}
.tpointLogin.loginInfo {	
    margin-top: 0px;}
.loginInfo .login {
	position: relative;
	right: 0px;
	top: 0px;
	padding: 0 10px;
}
.loginInfo.tpointLogin .login span.toggle {
	cursor:pointer !important;}

.loginInfo .login span.toggle ,
.loginInfo .login a{
	text-decoration: underline;
	color: #0065B8;
	cursor:pointer;
}
.loginInfo .login p {
	line-height: 1.4;
	margin: 10px 0;
	display: block;
}
.loginInfo .login .btnStyle01 {
	width: 100%;
	float: none;
}
.loginInfo .openT {
	width: 100%;
	position: relative;
	top: 0px;
	box-shadow: none;
	padding: 10px;
	margin-top: 10px;
}
.loginInfo th, .loginInfo td {
	display: block;
	width: 100%;
}
.loginInfo table#formStepLogin th {
	padding: 0px;
	width: 100%;
	font-size: 16px;
}
.loginInfo th, .loginInfo td input {
	margin: 5px 0px 0px;
}
.loginInfo td input {
	width: 100%
}
.loginInfo .btns_ssl input, .loginInfo .btnLoginFb img {
	height: 50px
}
.loginInfo .btnList {
	margin-top: 5px;
	padding-bottom: 10px;
}
.loginInfo .btnList li {
	float: none;
	margin-right: 0px;
	text-align: center;
}
.loginInfo th {
	padding-right: 0px;
	text-align: center;
}
.loginInfo .forgetPass {
	text-align: center;
}
.loginInfo .forgetPass a {
	font-size: 16px;
}
/* step1
=========================================*/
/* common */

.tableStyle .required {
	color: #C01214;
	font-size: 16px;
	background: none;
	display: block;
	height: auto;
	padding-top: 0px;
	text-indent: 0%;
	white-space: nomal;
	overflow: visibble;
	width: auto;
	top: 0px;
}
.inputWrapper ul {
	padding: 10px;
	background-color: #EEEEEE;
}
.inputWrapper li {
	color: #000;
	font-size: 14px;
	margin-bottom: 5px;
}
.inputWrapper li:last-child {
	margin-bottom: 0px;
}
.inputWrapper li span {
	font-weight: bold;
	color: #e50012;
	display: block;
}
.step1 #main li input, .step1 #main li label {
	cursor: pointer;
}
.step1 .btnWrapper {
	margin-top: 10px;
}
/* main */
.planOutlineWrapper {
	margin-top: 15px;
	border-left: 1px solid #ccc;
	border-right: 1px solid #ccc;
}
.planOutlineWrapper dd .price, .resultPriceWrapper dd .price {
	font-size: 24px;
	font-weight: bold;
}
.planOutlineWrapper .itemList table, .resultPriceWrapper .itemList table {
	margin-top: 10px;
	border-collapse: separate;
}
.planOutlineWrapper .itemList table th, .planOutlineWrapper .itemList table td, .resultPriceWrapper .itemList table th, .resultPriceWrapper .itemList table td {
	padding: 10px;
}
.planOutlineWrapper .itemList table th.lv01, .resultPriceWrapper .itemList table th.lv01 {
	width: 100%;
	padding: 5px 0;
	display: block;
}
.planOutlineWrapper .itemList table th.lv02, .planOutlineWrapper .itemList table td, .resultPriceWrapper .itemList table th.lv02, .resultPriceWrapper .itemList table td {
	background-color: #EEEEEE;
	border-bottom: 1px solid #CCCCCC;
	text-align: left;
	display: block;
	float: left;
}
.planOutlineWrapper .itemList table .option_price dl dt, .resultPriceWrapper .itemList table .option_price dl dt 
, .planOutlineWrapper .itemList table .gov_option_price dl dt, .resultPriceWrapper .itemList table .gov_option_price dl dt {
	width: 100%;
	text-align: left;
}
.planOutlineWrapper .itemList table .option_price dl dd, .resultPriceWrapper .itemList table .option_price dl dd 
, .planOutlineWrapper .itemList table .gov_option_price dl dd, .resultPriceWrapper .itemList table .gov_option_price dl dd {
	width: 100%;
	margin-left: 0px;
}
.planOutlineWrapper .itemList table th.lv02, .resultPriceWrapper .itemList table th.lv02 {
	width: 30%;
	float: left;
}
.planOutlineWrapper .itemList table th.lv02.optionTd, .resultPriceWrapper .itemList table th.lv02.optionTd 
, .planOutlineWrapper .itemList table th.lv02.gov_optionTd, .resultPriceWrapper .itemList table th.lv02.gov_optionTd {
	padding-top: 10px;
	padding-bottom: 0px;
}
.planOutlineWrapper .itemList table th.lv02.optionTd, .resultPriceWrapper .itemList table th.lv02.optionTd, .planOutlineWrapper .itemList table td.optionTd, .resultPriceWrapper .itemList table td.optionTd 
,.planOutlineWrapper .itemList table th.lv02.gov_optionTd,.resultPriceWrapper .itemList table th.lv02.gov_optionTd {
	width: 100%;
	float: none;
	border: none;
}
.planOutlineWrapper .itemList table td.gov_optionTd,.resultPriceWrapper .itemList table td.gov_optionTd {
	width: 100%;
	float: none;
}
.planOutlineWrapper .itemList table td.optionTd, .resultPriceWrapper .itemList table td.optionTd
, .planOutlineWrapper .itemList table td.gov_optionTd, .resultPriceWrapper .itemList table td.gov_optionTd{
	padding-top: 5px;
}
.planOutlineWrapper .itemList table td, .resultPriceWrapper .itemList table td {
	width: 70%;
	float: left;
	text-align: right;
	min-height: 44px;
}
.planOutlineWrapper dd .info, .resultPriceWrapper dd .info {
	font-size: 14px;
	margin-left: 10px;
	display: block;
}
.planOutlineWrapper dd #tpoint img, .resultPriceWrapper dd #tpoint img {
	vertical-align: top;
	margin-top: 2px;
	margin-right: 5px;
}
.planOutlineWrapper dd .setupTimeList {
	padding: 10px;
	background-color: #EEEEEE;
	margin-top: 10px;
}
.planOutlineWrapper dd .setupTimeList p {
	float: left;
	margin-right: 30px;
}
.planOutlineWrapper dd .setupTimeList p.note {
	font-size: 14px;
	float: none;
	padding: 0;
	margin: 5px 0 0 0px;
}
.setupTimeList li {
	float: left;
	margin-right: 40px;
}
.setupTimeList li input {
	margin-right: 5px;
}
.setupTimeWrapper h2 {
	font-size: 16px;
	padding: 13px 0 16px 17px;
}
.setupOptionWrapper {
	width: 96%;
	margin: 0 2%;
	padding: 0;
}
.setupOptionWrapper .note p {
	padding-left: 0em;
	text-indent: 0em;
}
.setupOptionWrapper dl {
	margin-bottom: 20px;
}
.setupOptionWrapper dd {
	padding: 5px;
	font-size: 14px;
}
.setupOptionWrapper dt {
	font-size: 16px;
}
	
.optionHead {
	margin: 25px 0;
}
.optionHead .headding{
	font-size: 18px;
}
.optionHead dl {
	margin: 15px 0;
}
.optionHead dd{
	border-right: 0px solid #09438C;
	border-left: 0px solid #09438C;
	border-bottom: 2px solid #ccc;
	text-align: right;}
.optionHead dd:after {
	content: "";
	clear: both;
	display: block;
}
.optionHead dd a {
	display: block;
	width: 50%;
	float: left;
	text-align: left;
}
/* main */
#main .toggleOpen {
	display: none;
}
#main textarea {
	width: 100%;
}
/* sub */
/* step2
=========================================*/
.step2 .alertPop {
	font-size: 16px;
	padding: 10px 10px 10px 55px;
	background-position: 15px center;
}
.step2 .infoGift {
	margin: 20px 10px;
	background-color: #fff;
}
.step2 .infoGift dt {
	width: 100%;
	float: none;
	height: auto;
	line-height: 1.4;
	font-size: 17px;
	font-weight: bold;
	background-color: #C01214;
	padding: 10px;
}
.step2 .infoGift dd {
	margin-left: 0px;
	height: auto;
	line-height: 1.4;
	text-align: center;
	font-size: 14px;
	padding: 10px;
	background-color: #FFFFFF;
}
.step2 .formInputWrapper p {
	margin: 0px 10px 5px;
}
.step2 .formInputWrapper .MfUserAgree {
	margin: 0px 10px 5px;
}

.MfUserAgree > label{
	cursor : pointer;
}

.step2 .formInputWrapper .required {
	color: #C01214;
	font-size: 16px;
	background: none;
	display: block;
	height: auto;
	padding-top: 0px;
	text-indent: 0%;
	white-space: nomal;
	overflow: visibble;
	width: auto;
	top: 0px;
}
.step2 input[type="text"], .step2 input[type="password"] {
	margin-left: 0px;
}
.step2 input[type="text"], .step2 input[type="tel"]#MfUserHealthInsurancePassword, .step2 input[type="tel"]#MfUserInsuranceCode, .step2 input[type="tel"]#MfUserInsuranceNum, .step2 input#MfUserInsuranceName, .step2 input#MfUserInsuranceBranch {
	width: 100%;
	margin: 5px 0px 10px;
}
.step2 input[type="email"]#MfUserEmail, .step2 input[type="text"]#MfUserCompanyName, .step2 input[type="text"]#MfUserAddr02, .step2 .step2_sub input[type="text"]#MfUserCampaignCode, .step2 input[type="text"]#MfUserAddr01 {
	width: 100%;
	margin-left: 0px;
}
.step2 input#MfUserSecondName, .step2 input#MfUserSecondNameKn, .step2 input#MfUserFirstName, .step2 input#MfUserFirstNameKn {
	margin: 5px 0px 10px;
}
.step2 input[type="tel"]#MfUserTel01, .step2 input[type="tel"]#MfUserTel02, .step2 input[type="tel"]#MfUserTel03, .step2 input[type="tel"]#MfUserMbTel01, .step2 input[type="tel"]#MfUserMbTel02, .step2 input[type="tel"]#MfUserMbTel03, .step2 input[type="tel"]#MfUserMbTel01, .step2 input[type="tel"]#MfUserMbTel02, .step2 input[type="tel"]#MfUserMbTel03 {
	width: 28%;
	margin: 0px;
}
.step2 #formStep select#MfUserBirth01, .step2 #formStep select#MfUserBirth02, .step2 #formStep select#MfUserBirth03,
.kenpo select{
	margin-top: 0px;
	margin-bottom: 5px;
}
.step2 #formStep select,
.kenpo select{
	margin: 0px 5px 0px 0px;
	font-size: 100%;
	height: 40px;
}
.step2 #formStep select#MfUserBusinessFlg,
.step2 #formStep select#MfUserJobFlg,
.step2 #formStep select#MfUserPostFlg,
.step2 #formStep select#MfUserEmployeeFlg {
width: 80%;
margin-left: 10px;
}

.step2 #formStep .btnStyle02 {
	margin-top: 10px;
}
.step2 #formStep .tableStyle dd {
	padding: 10px;
}
.step2 #formStep .tableStyle dt, .step2 #formStep .tableStyle dd {
	line-height: 1.4;
	word-wrap: break-word;
	display: block;
}
.step2 #formStep dd.zips .boxL {
	line-height: 35px;
	height: 35px;
}
.step2 #formStep dd.tel {
	line-height: 35px;
	height: auto;
}
.step2 #formStep dt .boxL {
	width: 100%;
	float: none;
}
.step2 .mailMagazine label {
	display: block;
}
.step2 #formStep dt.double {
	line-height: 1.4em;
	position: relative;
	height: auto;
}
.step2 #formStep .mailMagazine {
	margin-top: 30px;
	height: auto;
}
.step2 #formStep .mailMagazine dt {
	line-height: 1.4em;
	position: relative;
}
.step2 #formStep .mailMagazine dd {
	height: auto;
	line-height: 1.4;
}
.step2 #formStep dt .boxL.note {
	font-size: 13px;
	line-height: 1.4em;
	margin: 10px 0px 0px;
}
.step2 #formStep dd p.note {
	margin: 10px 0px 0px;
	line-height: 1.4em;
	font-size: 14px;
}
.step2 #formStep .btn .optionBtn {
	float: none;
	font-size: 14px;
}
.step2 #formStep dd .other-reception-date-label {
	display: block;
	margin-bottom: 4px;
}

.step2 #formStep dd .other-reception-date-input {
	margin: 0px;
	width: 73%;
}

.step2 #formStep dd .other-reception-date-input::placeholder {
	font-size: 16px;
}

.step2 #formStep dd .clear-button {
	margin-top: 1px;
	padding: 8px 8px;
	width: 23%;
}
.step2_sub {
	padding-top: 10px;
}
.step2_sub .candidate {
	margin-top: 10px;
}
.step2_sub .candidate input {
	margin-bottom: 0px;
}
.step2 #formStep .step2_sub dt.double, .step2 #formStep .step2_sub dd.double {
	height: auto;
}
.step2Payment {
	margin-top: 30px;
}
/* #formStepGift */
.step2Payment .required {
	float: right;
	margin-right: 10px;
}
#formStepGift {
	margin: 0 10px;
}
#formStepGift ul.payment > li {
	float: none;
	width: 100%;
	margin-right: 0%;
}
#formStepGift ul.payment li.local input[type="radio"] + label, #formStepGift ul.payment li.card input[type="radio"] + label {
	background-position: center top;
	height: auto;
	background-size: 100% auto;
	padding: 60px 10px 10px;
}
#formStepGift ul.paymentGift li.giftonly input[type="radio"] + label, #formStepGift ul.paymentGift li.giftCredit input[type="radio"] + label {
	background-position: center top;
	min-height: 150px;
	background-size: 100% auto;
	padding: 70px 10px 10px 10px;
}
#formStepGift ul.payment li.local input[type="radio"] + label {
	background-image: url(/mrso_img/sp/step/radio_off_local_v2.png);
}
#formStepGift ul.payment li.card input[type="radio"] + label {
	background-image: url(/mrso_img/sp/step/radio_off_card_v2.png);
}
/*#formStepGift ul.payment li.card.noSelect {
	background-image: url(/mrso_img/sp/step/radio_noselect_card_v2.png);
}*/
#formStepGift ul.paymentGift li.giftonly input[type="radio"] + label {
	background-image: url(/mrso_img/sp/step/radio_off_gift_v2.png);
}
#formStepGift ul.paymentGift li.giftCredit input[type="radio"] + label {
	background-image: URL(/mrso_img/sp/step/radio_off_giftcredit_v2.png);
}
#formStepGift ul.payment li.local input[type="radio"]:checked + label, #formStepGift ul.payment li.card input[type="radio"]:checked + label, #formStepGift ul.paymentGift li.giftonly input[type="radio"]:checked + label, #formStepGift ul.paymentGift li.giftCredit input[type="radio"]:checked + label {
	background-position: center top;
}
#formStepGift ul.payment li.local input[type="radio"]:checked + label {
	background-image: URL(/mrso_img/sp/step/radio_on_local_v2.png);
}
#formStepGift ul.payment li.card input[type="radio"]:checked + label {
	background-image: URL(/mrso_img/sp/step/radio_on_card_v2.png);
}
#formStepGift ul.paymentGift li.giftonly input[type="radio"]:checked + label {
	background-image: url(/mrso_img/sp/step/radio_on_gift_v2.png);
}
#formStepGift ul.paymentGift li.giftCredit input[type="radio"]:checked + label {
	background-image: url(/mrso_img/sp/step/radio_on_giftcredit_v2.png);
}
.btn .giftBtn {
	font-size: 14px;
}
#formStepGift ul.paymentGift .giftNum {
	margin-right: 0px;
	font-size: 16px;
	line-height: 1.2em;
}
#formStepGift ul.paymentGift input[type="text"] {
	width: 100%;
}
#formStepGift ul.payment .present {
	font-size: 12px;
}
.step2 .confirm {
	margin-top: 30px;
	text-align: center;
}
.step2 .confirm .nextBtn, .step3 input.nextBtn {
	float: none;
	width: 90%;
	margin: 0 5%;
}
.btn input.nextBtn:disabled {
    font-size: 16px;
    display: block;
	border: none;
}
.step2 .ssl, .step3 .ssl {
	float: none;
	margin-left: 0px;
	display: block;
	margin-top: 20px;
	padding-top: 0px;
}
/* step3
=========================================*/
.step3 .lead {
	margin: 10px 0;
	font-size: 14px;
}
.step3 .planOutlineWrapper dt, .step3 .planOutlineWrapper dd, .step3 #formStep dl dt, .step3 #formStep dl dd {
	width: 100%;
	display: block;
	float: none;
	margin-left: 0px;
}
.step3 #formStep dl dd {
	border-top: 1px solid #ccc;
	min-height: 33px;
}
.step3 #formStep dl dt, .step3 #formStep dl dd {
	min-height: auto;
	word-wrap: break-word;
	display: block;
}
.step3 .btns_ssl {
	text-align: center;
}
.step3 .reservePrepaymentSubmit,.step3 .amexBtn {
/*	display: none; */
	margin: 20px;
}
.step3 .reservePrepaymentSubmit input {
	background-position: 50% 10px;
	padding-top: 50px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;
	font-size: 13px;
	text-align: center;
}
	.step3 .stripe-button-el {
	background-position: 50% 10px !important;
	padding-top: 50px;
	padding-right: 0px;
	padding-left: 0px;
	padding-bottom: 0px;}
	.step3 .stripe-button-el span {
	text-align: center;
	font-size: 13px;
}
/* finish
=========================================*/

.finish {
	padding: 0 10px;
}
.finish .title h2 {
	width: 100%;
}
.finish .alert {
	width: 100%;
	text-align: center;
}
.finish .alert .importance {
	text-align: left;
}
.finish .msg04 {
	margin: 20px auto;
	font-size: 16px;
	width: 100%;
}
.finish .miniBoxWp {
	padding-top: 5px;
	width: 100%;
	margin: 0 auto;
	margin-bottom: 20px;
}
.finish #reserveNumber strong {
	font-size: 20px;
	padding: 0;
	line-height: 1.8em;
}
.finish .msg05 {
	width: 100%;
	margin-bottom: 20px;
	text-align: center;
	font-size: 18px;
}
.finish .body .txt_step04 {
	width: 100%;
	margin-top: 20px;
	margin-bottom: 20px;
}
.finish input.payment {
	width: 100%;
}
.finish .bannerCam {
	margin: 0 auto 30px;
	width: 100%;
}
#finishBannerArea ul {
	margin: 0 auto 30px;
	width: 100%;
}
#finishBannerArea ul li {
	width: 48%;
	margin-right: 4%;
	float: left;
}
#finishBannerArea ul li:last-child {
	margin-right: 0%;
}
.reserve_edit_time .aC .nextBtn {
	text-align: center;
	float: left;
	width: 97%;
	margin-left: 2%;
	margin-right: 10%;
}

.reserve_edit_time .ssl {
	padding-top: 15px;
	margin-left: 39%;
}

::-webkit-input-placeholder {
	font-size: 13px;
}
::-moz-placeholder {
	font-size: 13px;
}
:-ms-input-placeholder {
	font-size: 13px;
}
::placeholder {
	font-size: 13px;
}
}

.campaignCodeCheckMessage p {
    text-align: center;
    margin: 10px;
    color: red;
    font-size: 18px;
}
.disabledGiftBtn {
    font-size: 24px;
    padding: 20px 50px 20px 20px;
    background-attachment: scroll, scroll;
    background-clip: border-box, border-box;
    background-color: rgba(0, 0, 0, 0);
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(101, 100, 101, 1)), to(rgba(142, 142, 142, 1))); 
    background-image: url("/mrso_img/step/arrow_01.png"), -moz-linear-gradient(90deg, rgba(101, 100, 101, 1) 0%, rgba(142, 142, 142, 1) 100%);
    background-origin: padding-box, padding-box;
    background-position: 95% 50%;
    background-repeat: no-repeat;
    background-size: auto auto, auto auto;
    border-radius: 3px;
    box-shadow: 0 2px 2.67px 0.33px rgba(0, 0, 0, 0.22);
    color: #ffffff;
    display: block;
    top: 13px;
    cursor: not-allowed;
}

dt.campaignCode + dd {
    min-height: 100px;
}

dt.mailaddress + dd {
    min-height: 100px;
}

dt.password + dd {
	min-height: 110px;
}

dt.customerCode + dd {
	min-height: 93px;
}

@media only screen and (min-width: 641px) {
	.localCustom {
		left: 26%;
	}
	.step2 input[type="text"]#MfUserUsername {
		width: 200px;
	}
}

#mainContents #MfUserUserForm .form-error {
	background-color: #FFE8E8;
}

#mainContents #MfUserReserveEditUserForm .form-error {
	background-color: #FFE8E8;
}

.hidden-data {
	display: none!important;
}

.gov_optionTd dt {
	text-align: left;
}

.select-item-list.singleOption {
	display: none!important;
}
.select-item-list label {
	cursor: pointer;
}

#MfSetupSelectTimeForm > div.planOutlineWrapper  dl dt.setupGovOptionTitle, div.itemList  dl dt.setupGovOptionTitle {
	width: 100%;
}
#MfSetupSelectTimeForm > div.planOutlineWrapper  dl dd.setupGovOptionComment, div.itemList  dl dd.setupGovOptionComment {
	margin-left: 10px !important;
	text-align: left;
}
#MfSetupSelectTimeForm > div.planOutlineWrapper  dl dd.select-item-list, div.itemList  dl dd.select-item-list ,#MfUserReserveEditTimeForm > div.planOutlineWrapper div.select-item-list{
	margin-left: 10px !important;
	text-align: left;
}
#MfSetupSelectTimeForm > div.planOutlineWrapper  dl dd.select-item-list.single-gov-option, div.itemList  dl dd.select-item-list.single-gov-option, #MfUserReserveEditTimeForm > div.planOutlineWrapper div.select-item-list.single-gov-option {
	text-align: right;
	margin-right: 5px;
	display: contents;
}
#MfSetupSelectTimeForm > div.planOutlineWrapper  div.gov-option-price, div.itemList div.gov-option-price  {
	text-align: right;
	margin-right: 5px;
}

/* 受診者情報の入力画面 */
/* 共通 Style start */

body .step2 .infoTpoint dt {
	display: flex;
	align-items: center;
	justify-content: center;
	float: none;
}
body .step2 .infoTpoint dt > img {
	padding-right: 15px;
}
body .step2 .infoTpoint dd {
	margin-left: 0;
	line-height: 1.8;
	height: fit-content;
}
body .step2 .infoTpoint dd span.infoTpointLocal,
body .step2 .infoTpoint dd span.infoTpointCard {
	font-weight: bold;
}
body .step2 .infoTpoint dd span.infoTpointCard {
	color: #C01214;
}
body .step2 .formInputWrapper > p#memberRegisterInformation {
	display: none;
}

  /* 共通 Style end */

  /* SP Style start */
@media (max-width: 40.0625em) {

	body .step2 .infoTpoint dd span.infoTpointTxt {
		display: none;  
	}
	body .step2 .infoTpoint dd span.infoTpointLocal,
	body .step2 .infoTpoint dd span.infoTpointCard {
		display: block;
		font-size: 18px;
		line-height: 1.6;
	}

} /* SP Style end */

  /* PC Style start */
@media (min-width: 40.0625em) {

	body .step2 .infoGift dt {
		width: 270px;
		padding: 0 10px;
	}
	body .step2 .infoGift dd {
		margin-left: 270px;
	}
	body .step2 .infoTpoint {
		margin: 20px 0;
	}
	body .step2 .infoTpoint dl {
		display: flex;
		align-items: center;
	}
	body .step2 .infoTpoint dt {
		width: 270px;
	}
	body .step2 .infoTpoint dd {
		padding: 15px 20px 10px;
		width: calc(100% - 270px);
		margin-left: 0;
	}
	body .step2 .infoTpoint dd span.infoTpointLocal,
	body .step2 .infoTpoint dd span.infoTpointCard {
		font-size: 20px;
	}
	body .step2 .infoTpoint dd span.infoTpointCard::before {
		content: "（";
	}
	body .step2 .infoTpoint dd span.infoTpointCard::after {
		content: "）";
	}

} /* PC Style end */

/* SP・PC共通 Style start */
/* 完了ページ上部・サイズ等調整 */
body .finish .title {
  background-color: #F3F2E9;
  padding: 0 10px;
}
body .finish .title h2 {
  width: auto;
  margin: 0 auto !important;
}
body .finish .miniBoxWp {
  border-radius: 6px;
  margin-bottom: 15px;
}
body .finish .miniBox {
  border-radius: 6px;
}
body .finish .miniBoxIn {
  font-size: 20px;
}
body .finish .miniBoxIn,
body .finish #reserveNumber {
  background-position: center top;
}
body .finish .miniBox {
  background-position: center bottom;
}
body .finish #reserveNumber strong {
  font-size: 20px;
  padding: 0;
}
body .finish .msg04 {
  margin: 0;
  font-size: 14px;
  width: auto;
  text-align: center;
  background: url(/mrso_img/step/bg_minibox_mid.gif) center top repeat-y;
}
body .finish .msg05 {
  width: auto;
  font-size: 14px;
  padding-bottom: 20px;
  font-weight: normal;
}
body .finish .alert .txt_red {
  font-weight: bold;
}
body .finish .body .hr01 {
  display: none;
}

/* LINE連携パーツ */
body .line-connect__finish-wrap {
  background-color: #F2F2F4;
}
body .line-connect__finish-title {
  margin: auto;
  border: none;
  background-image: url('https://colorda.s3.amazonaws.com/app/webroot/colorda/wp-content/uploads/2021/03/img-lineicon.png');
  background-repeat: no-repeat;
}
body .line-connect__finish-title span {
  display: block;
}
body .line-connect__finish-button a {
  position: relative;
  display: block;
  margin: 0 auto;
  padding: 15px 0px;
  background: #07b53b;
  border: 1px solid #07b53b;
  border-radius: 6px;
  color: white;
  font-size: 18px;
  font-weight: 700;
  line-height: normal;
  text-decoration: none;
  text-align: center;
  cursor: pointer;
}
body .line-connect__finish-button a::after {
  content: "";
  position: absolute;
  display: block;
  top: calc(50% - 8px);
  right: 20px;
  height: 9px;
  width: 9px;
  border-right: 5px solid #fff;
  border-bottom: 5px solid #fff;
  margin-left: 7px;
  transform: rotate(-45deg);
}
body .line-connect__finish-text ul li,
body .line-connect__finish-text p {
  line-height: 1.5;
}
body .line-connect__finish-text ul li {
  list-style-type: disc;
  margin-left: 1em;
}
body .line-connect__finish-text p {
  margin-top: 1.5em;
}
body .line-connect__finish-text a {
  text-decoration: underline;
}
body .line-connect__finish-text strong {
  font-weight: bold;
}

/* ポップアップ系(v3から移植) */
.overlay {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.7);
  transition: opacity 500ms;
  visibility: hidden;
  opacity: 0;
  overflow: scroll;
}
.overlay:not(:target) {
  opacity: 0;
  visibility: hidden;
  transition: opacity .3s, visibility .3s;
}
.overlay:target {
  visibility: visible;
  opacity: 1;
  z-index: 99999990;
}

.information-popup {
  margin: 70px auto;
  padding: 20px;
  background: #fff;
  border-radius: 5px;
  position: relative;
  /* transition: all 5s ease-in-out; */
  width: 40%;
}
.information-popup .notouch {
  display: none;
}
.information-popup .popup-inlinebtn button {
  cursor: pointer;
  border-radius: 5px;
  color: #fff;
  background-color: #f97f00;
  text-align: center;
  display: inline-block;
  transition: .3s;
  margin: 0 0 0 10px;
  font-size: 26px;
  padding: 10px;
  width: 80%;
  border: none;
  font-weight: normal;
  text-shadow: none;
}
.information-popup .popup-inlinebtn button:disabled {
  cursor: not-allowed !important;
}
.information-popup .popup-inlinebtn a {
  cursor: pointer;
  border-radius: 5px;
  color: #fff;
  background-color: #575757;
  text-align: center;
  display: inline-block;
  transition: .3s;
  margin: 0;
  text-decoration: none;
  padding: 15px 30px;
  vertical-align:bottom;
  font-size: 18px;
}
.information-popup .popup-inlinebtn button:hover, .information-popup .popup-inlinebtn a:hover {
  opacity: 0.6;
}
.information-popup h2 {
  margin-top: 0;
  margin-bottom: 20px;
  color: #e50012;
  text-align: center;
  font-family: Tahoma, Arial, sans-serif;
  font-weight: 700;
  border-bottom: none;
}
.information-popup .content {
  max-height: 30%;
  font-size: 120%;
  padding-left: 2rem;
  padding-right: 2rem;
  overflow: auto;
}
.information-popup .popup-closebtn {
  margin-top:1rem;
  text-align: center;
}
.information-popup .popup-closebtn a {
  color:#333;
  text-decoration: none;
}
.information-popup .popup-closebtn a:hover {
  opacity: 0.6;
}
.information-popup .popup-inlinebtn {
  text-align: center;
  padding-top: 20px;
}
/* SP・PC共通 Style end */

/* SP Style 1 start */
@media (max-width: 40.0625em) {
  body .finish .title h2 {
    padding: 0.5em 0 !important;
    font-size: 24px;
  }
  body .finish .miniBoxWp {
    max-width: 443px;
  }
  body .finish .miniBoxIn {
    padding: 5px 0 0;
  }
  body .finish .msg04 {
    padding: 0 0 5px;
  }
  body .line-connect__finish-button a {
    max-width: 420px;
  }

  body .line-connect__finish-wrap {
  padding: 15px;
  }
  body .line-connect__finish-title {
    padding: 80px 0 25px;
    background-position: top center;
    background-size: 70px auto;
    text-align: center;
    font-size: 18px;
  }
  body .line-connect__finish-title span {
    font-size: 18px;
  }
  body .line-connect__finish-text {
    margin-top: 25px;
  }
  body .line-connect__finish-text ul li,
  body .line-connect__finish-text p {
    font-size: 14px;
  }

/* ポップアップ系(v3から移植) */
  .information-popup .popup-inlinebtn a {
    color: #fff;
    font-size: 18px;
    text-decoration: none;
    padding: 8px;
    width: 20%;
  }
  .information-popup .popup-inlinebtn button {
    padding: 10px 10px;
    width: 70%;
    font-size: 16px;
  }
  .information-popup {
    width: 90%;
  }
  .information-popup .content {
    padding-left: 0;
    padding-right: 0;
  }
}
/* SP Style 1 end */

/* SP Style 2 start */
@media (max-width: 320px) {
  body .line-connect__finish-title span {
    font-size: 16px;
  }
  body .line-connect__finish-button a {
    padding: 23px 10px 23px 0;
    font-size: 18px;
  }
  body .line-connect__finish-text ul li,
  body .line-connect__finish-text p {
    font-size: 14px;
  }
}
/* SP Style 2 end */

/* PC Style start */
@media (min-width: 40.0625em) {
  body .finish .title h2 {
    padding: 0.8em 0 !important;
    font-size: 28px;
  }
  body .finish .miniBoxWp {
    width: 443px;
  }
  body .finish .miniBoxIn {
    padding: 15px 0 10px;
  }
  body .finish .msg04 {
    padding: 0 0 10px;
  }
  body .finish .alert {
    width: 720px;
    font-size: 16px;
  }

  body .line-connect__finish-wrap {
    width: 720px;
    margin: 30px auto;
    padding: 30px 60px;
  }
  body .line-connect__finish-title {
    padding: 0 0 20px 130px;
    font-size: 24px;
    line-height: 1.5;
    background-position: 40px 0px;
    background-size: 70px auto;
  }
  body .line-connect__finish-title span {
    font-size: 20px;
  }
  body .line-connect__finish-button a {
    width: 330px;
  }
  body .line-connect__finish-button a:hover {
    filter: brightness(110%);
  }
  body .line-connect__finish-text {
    margin-top: 30px;
    position: relative;
    padding-left: 150px;
  }
  body .line-connect__finish-text::before {
    position: absolute;
    content: '';
    top: -20px;
    left: -50px;
    width: 180px;
    height: 170px;
    background-image: url(https://colorda.s3.amazonaws.com/app/webroot/colorda/wp-content/uploads/2021/04/img-line-notice.png);
    background-repeat: no-repeat;
    background-size: 240px auto;
  }
  body .line-connect__finish-text ul li,
  body .line-connect__finish-text p {
    font-size: 14px;
  }
  body .line-connect__finish-text a:hover {
    text-decoration: none;
  }
}
/* PC Style end */