﻿@charset "utf-8";
/* -----------------------------
          共通：調整用
----------------------------- */
/* width */
div#lpm .mw5em {
    max-width: 5em;
}
div#lpm .mw6em {
    max-width: 6em;
}
div#lpm .mw7em {
    max-width: 7em;
}
div#lpm .mw8em {
    max-width: 8em;
}
div#lpm .mw9em {
    max-width: 9em;
}
div#lpm .mw10em {
    max-width: 10em;
}
div#lpm .mw11em {
    max-width: 11em;
}
div#lpm .mw12em {
    max-width: 12em;
}
div#lpm .mw13em {
    max-width: 13em;
}
div#lpm .mw14em {
    max-width: 14em;
}
div#lpm .mw15em {
    max-width: 15em;
}
div#lpm .mw20em {
    max-width: 20em;
}
div#lpm .mw37em {
    max-width: 37em;
}

/* margin */
div#lpm .mb1em {
    margin-bottom: 1em;
}
div#lpm .mb2em {
    margin-bottom: 2em;
}

/* padding */
div#lpm .pdg_0 {
    padding: 0 !important;
}

/* line-height */
div#lpm .lin1 {
    line-height: 1;
}

/* 文字揃え */
div#lpm .aln_r {
    text-align: right;
}

/* -----------------------------
          共通：要素別
----------------------------- */
body {
    width: 100%;
    margin: 0;
}

div#lpm {
    color: #333;
    font-size: 16px;
}

div#lpm * {
    box-sizing: border-box;
}

div#lpm .ver2 a {
    color: #333;
}

div#lpm .ver2 input[type="text"],
div#lpm .ver2 input[type="tel"],
div#lpm .ver2 input[type="email"],
div#lpm .ver2 input[type="password"],
div#lpm .ver2 textarea {
    width: 100%;
}
div#lpm .ver2 input[type="text"],
div#lpm .ver2 input[type="tel"],
div#lpm .ver2 input[type="email"],
div#lpm .ver2 input[type="password"],
div#lpm .ver2 select,
div#lpm .ver2 textarea {
    height: 40px;
    border: 1px solid #999;
    font-size: 16px;
    line-height: 18px;
    padding: 4px 12px;
}
div#lpm .ver2 select {
    min-width: 75px;
    padding-right: 18px;
}

div#lpm .ver2 textarea {
    height: 8em;
    resize: vertical;
}

div#lpm .ver2 .input_label input[type="radio"],
div#lpm .ver2 .input_label input[type="checkbox"] {
    width: 1.5em;
    height: 1.5em;
}

@media screen and (max-width: 767px) {
div#lpm .ver2 .input_label input[type="radio"],
div#lpm .ver2 .input_label input[type="checkbox"] {
    width: 1em;
    height: 1em;
}
}

/* -----------------------------
         共通：スタイル
----------------------------- */
/* フォント */
div#lpm .ver2 .red {
    color: #ff3333;
}

/* エラー文言表示エリア */
div#lpm .ver2_input_form .error_msg_v {
    display: block;
    width: 100%;
    clear: both;
    font-size: 16px;
    padding: 0 16px;
}

div#lpm .error_msg,
div#lpm .error_msg_v {
    color: #ff3333;
}

/* 背景色 */
div#lpm .ver2 .bg_non {
    background-color: transparent;
}

/* フロート解除用 */
div#lpm .ver2 .clearfix::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	clear: both;
	opacity: 0;
	visibility: hidden;
}

/* 説明文 */
div#lpm .ver2 .info_text {
    display: block;
    width: 100%;
    clear: both;
    font-size: .875em;
    line-height: 1.3;
    margin-bottom: 7px;
    padding: 14px 0 3.5px;
    text-align: left;
}
div#lpm .ver2 .info_text2 {
    display: block;
    width: 100%;
    clear: both;
    font-size: .875em;
    line-height: 1.3;
    padding: 14px;
    text-align: left;
}

/* 単位 */
div#lpm .ver2 .unit_text {
    font-size: 12px;
    margin-left: 3px;
}

/* ボタン */
div#lpm .ver2 .button_area {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin: 40px 0;
    padding: 5px 0;
}

div#lpm .ver2 .button {
    min-width: 176px;
    font-size: 1em;
    padding: 12px 16px;
    text-align: center;
    -webkit-transition-duration: .05s;
    transition-duration: .05s;
}
div#lpm .ver2 a.button {
    display: inline-block;
}
div#lpm .ver2 .button:hover {
    opacity: .85;
}
div#lpm .ver2 .button:active {
    opacity: 1;
}

div#lpm .ver2 .button_area .button + .button {
    margin-left: 20px;
}

div#lpm .ver2 .btn_next {
    background-color: #ff3333;
    border: 3px solid #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
    color: #fff;
    font-weight: bold;
    text-align: center;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
}
div#lpm .ver2 .btn_next:hover {
    box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.3);
}
div#lpm .ver2 .btn_next:active {
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
}

div#lpm .ver2 .btn_prev {
    background-color: #dcdcdc;
    border: 3px solid #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
    color: #333;
    font-weight: bold;
    text-align: center;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
}
div#lpm .ver2 .btn_prev:hover {
    box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.3);
}
div#lpm .ver2 .btn_prev:active {
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
}

div#lpm .ver2 .btn_sub1 {
    background-color: #FFE380;
    border: 2px solid #FFE380;
    border-radius: 20px;
    cursor: pointer;
    color: #F7570C;
    font-weight: bold;
    outline: none;
    padding: 5px 25px 5px 15px;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
    position: relative;
}
div#lpm .ver2 .btn_sub1::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border: 2px solid #F7570C;
    border-bottom: none;
    border-left: none;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    margin: auto;
    top: -1px;
    bottom: 0;
    right: 10px;
}
div#lpm .ver2 .btn_sub1:hover {
    background-color: #fff;
    border-color: #F7570C;
}
div#lpm .ver2 .btn_sub1:active {
    background-color: rgba(255,164,0,.1);
}

div#lpm .ver2 .btn_sub2 {
    background-color: #dcdcdc;
    border: 2px solid #dcdcdc;
    border-radius: 20px;
    cursor: pointer;
    color: #333;
    font-weight: bold;
    outline: none;
    padding: 5px 25px 5px 15px;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
    position: relative;
}
div#lpm .ver2 .btn_sub2::before {
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border: 2px solid #333;
    border-bottom: none;
    border-left: none;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    margin: auto;
    top: -1px;
    bottom: 0;
    right: 10px;
}
div#lpm .ver2 .btn_sub2:hover {
    background-color: #fff;
    border-color: #878787;
}
div#lpm .ver2 .btn_sub2:active {
    background-color: rgba(220,220,220,.3);
}

div#lpm .ver2 .btnsp {
    background-color: #ff3333;
    border: 3px solid #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
    color: #fff;
    font-weight: bold;
    -webkit-transition-duration: .15s;
    transition-duration: .15s;
}
div#lpm .ver2 .btnsp:active {
    box-shadow: none;
}
div#lpm .ver2 .btnsp:hover {
    box-shadow: 0px 0px 4px 2px rgba(0,0,0,0.3);
}
div#lpm .ver2 .btnsp:active {
    box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
}

/* ラベル + input */
div#lpm .input_label {
    display: inline-block;
    min-height: 24px;
    padding: 4px 5px 3px 35px;
    position: relative;
    text-align: left;
    vertical-align: middle;
}

div#lpm .input_label > * {
    float: left;
}

div#lpm .input_label input {
    margin: auto;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 3px;
}

/* チェックボックス・ラジオボタン */
div#lpm .selected_chbox_radio {
    color: Teal;
    font-weight: bold;
}

/* 項目見出し */
div#lpm .ver2 h3 {
    font-family: "Helvetica Neue","Segoe UI","Hiragino Kaku Gothic ProN W3","メイリオ",Meiryo,arial,sans-serif;
    font-size: 1.875em;
    background: #C3ECF5;
    line-height: 1;
    margin-bottom: 7px;
    padding: 6px 15px 9px 15px;
    text-align: left;
    vertical-align: baseline;
}

div#lpm .ver2 h4 {
    padding: 4px 6px 4px 0;
    text-align: left;
}
div#lpm .ver2 h4.icon i {
    margin-right: 8px;
}

div#lpm .ver2 h4 span.line {
    display: inline-block;
    height: 30px;
    font-size: 1.25em;
    position: relative;
}
div#lpm .ver2 h4 span.line::before {
    content: "";
    display: block;
    width: 8px;
    height: 100%;
    background-color: #39528F;
    float: left;
    margin-right: 5px;
}

/* -----------------------------
       既存スタイル上書き
----------------------------- */
/* バリデート用ポップ */
.formError .formErrorContent {
    width: 170px;
}

/* ログインフォームエラー表示 */
div#lpm .ui-state-error {
    font-size: .875em;
    line-height: 1.3;
    padding: 5px;
    text-align: left;
}

div#lpm .ui-state-error .icon_alert {
    margin-top: 0;
}

div#lpm #msg_login .ui-widget + .ui-widget {
    margin-top: 5px;
}
div#lpm #msg_login .ui-widget:last-child {
    margin-bottom: 8px;
}

/* -----------------------------
          レイアウト
----------------------------- */
/* コンテンツ外枠 */
div#lpm #container.ver2 {
    width: 750px;
    height: auto;
    background-color: #fff;
    margin: 20px auto;
    overflow: hidden;
}

/* コンテンツトップ（エラー等表示部） */
div#lpm .ver2 #inner_content_top {
    padding: 8px;
    margin-bottom: 16px;
    text-align: left;
}

/* コンテンツ同士の余白 */
div#lpm .ver2 .inner_contents + .inner_contents {
    margin-top: 54px;
}

/* ボタン表示エリア */
div#lpm .ver2 .button_contents {
    margin-top: 24px;
    margin-bottom: 32px;
    text-align: center;
}

/* ログインフォーム */
div#lpm .ver2 .form_login_box legend {
    text-align: left;
}

div#lpm .ver2 .login_tbl_row input {
    text-align: left;
}

/* テーブル（見出し・タイトルのみ） */
div#lpm .ver2_input_form {
	width: 100%;
	border: 1px solid #bbb;
	border-collapse: collapse;
}

div#lpm .ver2_input_form th {
	min-width: 230px;
	border: 1px solid #CFCFCF;
	background-color: #eff9fd;
	line-height: 1.7;
	padding: 16px;
	text-align: left;
	vertical-align: middle;
}

div#lpm .ver2_input_form td {
	width: 100%;
	background-color: #fff;
	border: 1px solid #CFCFCF;
}

div#lpm .ver2_input_form .required th::after {
	content: "必須";
    display: block;
    width: 38px;
    height: 21px;
    color: white;
    background-color: #FF4444;
    border-radius: 3px;
    float: right;
    font-size: 14px;
    font-weight: normal;
    line-height: normal;
    letter-spacing: 0;
    padding: 1px 0;
    text-align: center;
    margin: 1px 0 0 5px;
}

/* 置き換え用必須マーク */
div#lpm .ver2 span.require {
    display: block;
    width: 38px;
    height: 21px;
    color: white;
    background-color: #FF4444;
    border-radius: 3px;
    float: right;
    font-size: 14px;
    font-weight: normal;
    line-height: normal;
    letter-spacing: 0;
    padding: 1px 0;
    text-align: center;
    margin: 1px 0 0 5px;
}
div#lpm .ver2 span.require::before {
    content: "必須";
}

/* 項目小タイトル */
div#lpm .ver2_input_form .item_title {
    display: block;
    font-weight: bold;
    line-height: 20px;
    text-align: left;
    padding-top: 8px;
}

div#lpm .ver2_input_form .form_items {
	padding: 16px;
	position: relative;
	text-align: left;
}

div#lpm .ver2_input_form .form_items p {
    text-align: left;
}

div#lpm .ver2_input_form input {
    text-align: left;
}

div#lpm .ver2_input_form .item_address_inner {
    text-align: left;
}

div#lpm #item_privacy_policy * {
    text-align: left;
}

/* テーブル（横列複数用） */
div#lpm .ver2_input_form2 {
	width: 100%;
	border: 1px solid #CFCFCF;
	border-collapse: collapse;
}

div#lpm .ver2_input_form2 .product_info {
    width: 100%;
}

div#lpm .ver2_input_form2 .price {
    min-width: 8.5em;
}

div#lpm .ver2_input_form2 .item_count {
    min-width: 5em;
    text-align: center;
}

div#lpm .ver2_input_form2 td.price {
    text-align: right;
}

div#lpm .ver2_input_form2 th {
	background-color: #eff9fd;
	border: 1px solid #CFCFCF;
	font-weight: normal;
	padding: 7px 8px;
}

div#lpm .ver2_input_form2 td {
	background-color: #fff;
	border: 1px solid #CFCFCF;
}

div#lpm .ver2_input_form2 .form_items {
	padding: 16px;
	position: relative;
	text-align: left;
}

div#lpm .ver2_input_form2 td.price .form_items {
	text-align: inherit;
}

div#lpm .ver2_input_form2 td.item_count .form_items {
	text-align: inherit;
}

div#lpm .non_td_border td {
    border: none;
}

/* テーブル（合計金額用） */
div#lpm .ver2_input_form3 {
	width: 100%;
	border-collapse: collapse;
	margin-top: 10px;
}

div#lpm .ver2_input_form3 th {
    width: 100%;
    background-color: #fff;
	font-weight: normal;
	padding: 2px 16px;
	text-align: right;
	vertical-align: baseline;
}
div#lpm .ver2_input_form3 .total th {
    font-weight: bold;
    font-size: 1.3em;
}
div#lpm .ver2_input_form3 tr:first-child th {
    padding-top: 8px;
}
div#lpm .ver2_input_form3 tr:last-child th {
    padding-bottom: 16px;
}

div#lpm .ver2_input_form3 td {
	background-color: #fff;
	font-weight: bold;
	padding: 1px 16px;
	text-align: right;
	vertical-align: baseline;
	word-break: keep-all;
}
div#lpm .ver2_input_form3 .total td {
    font-size: 1.5em;
}
div#lpm .ver2_input_form3 tr:first-child td {
    padding-top: 8px;
}
div#lpm .ver2_input_form3 tr:last-child td {
    padding-bottom: 6px;
    padding-right: 10px;
}

/* テーブル（購入完了時の注文番号表示用） */
div#lpm .ver2_input_form4 {
	border-collapse: collapse;
	margin-top: 16px;
}

div#lpm .ver2_input_form4 th {
    color: #ff3333;
	font-weight: normal;
	padding: 2px 0;
	text-align: right;
	vertical-align: baseline;
}

div#lpm .ver2_input_form4 td {
	color: #ff3333;
	padding: 2px 0;
	text-align: left;
	vertical-align: baseline;
}

div#lpm .ver2_input_form .item_placeholder {
    display: inline-block;
    font-size: 14px;
    padding-left: 10px;
}

div#lpm .ver2_input_form .item_placeholder2 {
    display: block;
    width: 100%;
    clear: both;
    font-size: .875em;
    line-height: 1.3;
    padding: 4px 0;
    margin-top: 9px;
    text-align: left;
}

div#lpm .ver2 .placeholder_adjust {
    min-height: 40px;
    line-height: 40px;
}

/* 2019.10.31 NPHARMA-1775 START */
.note_indent1em {
    margin-left: 1em; 
    padding-left: 1em;
    text-indent: -1em;
}
/* 2019.10.31 NPHARMA-1775 END */

/* -----------------------------
         ステップ表示
----------------------------- */
div#lpm #steps {
    display: -webkit-flex;
    background-color: transparent;
    border-color: transparent;
    box-shadow: none;
    -webkit-align-items: top;
    -webkit-justify-content: center;
    display: flex;
    align-items: top;
    justify-content: center;
    margin: 16px 0;
}
div#lpm #steps > li {
    position: relative;
    padding-right: 0;
    text-align: center;
}
div#lpm #steps > li + li {
    padding-left: 2em;
}
div#lpm #steps > li:last-child {
    padding-right: 10px;
}
div#lpm #steps > li + li::before {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #b0b1b3;
    border-right: 3px solid #b0b1b3;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: .55em;
}
div#lpm #steps > li + li::after {
    content: "";
    display: block;
    width: 12px;
    height: 12px;
    border-top: 3px solid #b0b1b3;
    border-right: 3px solid #b0b1b3;
    margin: auto;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: .8em;
}

div#lpm #steps > li > span {
    line-height: 1.4;
    margin-top: 1.7em;
    text-align: left;
}

/* -----------------------------
        別お届け先ボタン
----------------------------- */
div#lpm #btnChangeAddr_outer {
    width: 130px;
    height: 32px;
    position: relative;
}

div#lpm #btnChangeAddr {
    width: 130px;
    height: 32px;
    background-color: #ffbc49;
    background: -moz-linear-gradient(#ffd58e, #ff8438, #ff6100);
    background: -webkit-linear-gradient(#ffd58e, #ff8438, #ff6100);
    background: linear-gradient(top #ffd58e, #ff8438, bottom #ff6100);
    border-color: #ff7200;
    border-radius: 8px;
    border-width: 1px;
    color: #FFF;
    cursor: pointer;
    font-size: 14px;
    font-weight: bold;
    padding: 5px 21px 4px 8px;
    position: absolute;
    top: 0;
    left: 0;
    text-shadow: 0 0 8px #d65200;
}
div#lpm #btnChangeAddr:hover {
    opacity: .8;
}

div#lpm .btnChangeAddr_after_icon {
    display: inline-block;
    width: 22px;
    height: 32px;
    position: absolute;
    top: 0;
    right: 0;
}
div#lpm .btnChangeAddr_after_icon::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    border-left-color: #FFF;
    border-right-width: 0;
    margin: auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

/* -----------------------------
        パンくずリスト
----------------------------- */
div#lpm #topic_path {
    font-size: 14px;
}

div#lpm #topic_path li {
    display: inline-block;
    cursor: default;
    float: left;
    padding: 4px 12px;
    position: relative;
}

div#lpm #topic_path li a {
    color: #0068d6;
    text-decoration: underline;
}

div#lpm #topic_path li + li {
    padding-left: 20px;
}

div#lpm #topic_path li + li::before {
    content: "";
    display: block;
    width: 3px;
    height: 7px;
    background-color: #dcdcdc;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 3px;
    left: 3px;
}
div#lpm #topic_path li + li::after {
    content: "";
    display: block;
    width: 3px;
    height: 7px;
    background-color: #dcdcdc;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    position: absolute;
    margin: auto;
    top: 3px;
    bottom: 0px;
    left: 3px;
}

div#lpm .ver2 #contents_form {
    margin: 30px 0 0;
}

div#lpm .ver2 .thank_you_text {
    font-size: 20px;
    margin-bottom: 50px;
    text-align: center;
}

div#lpm .ver2 .cart_product_img {
    text-align: left !important;
	max-width: 100px !important;
}

div#lpm .ver2 .cart_product_img img {
	width: 100% !important;
}

div#lpm #table_pay03 .atobarai_description {
    padding: .5em;
    font-weight: normal;
    font-size: .9em;
    line-height: 1.8em;
}

div#lpm #table_pay03 img {
    width: inherit;
}

div#lpm #table_pay03 .atobarai_title {
    margin-top: 10px;
    font-weight: bold;
}

div#lpm #table_pay03 .atobarai_detail {
    margin-left: 2em;
}

div#lpm #table_pay03 .font-min {
    font-size: .9em;
}

/* EDGEのみ */
@supports (-ms-ime-align:auto) {
    div#lpm .ver2 select {
        padding: 0;
    }
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
    div#lpm .ver2 select {
        padding: 0;
    }
}

/* -----------------------------
     レイアウト：画面縮小時
----------------------------- */
@media screen and (max-width: 1000px) {
    /* -----------------------------
              共通：要素別
    ----------------------------- */
    div#lpm .ver2 img {
        width /***/:auto;
        max-width: 100%;
        height: auto;
    }    
    
    /* -----------------------------
             共通：スタイル
    ----------------------------- */
    /* ラベル + input */
    div#lpm .ver2 .input_label input {
        top: 0;
        bottom: 0;
    }
    
    /* 画面縮小時のコンテンツ背景透過 */
    div#lpm .ver2 .inner_contents.bg_non {
        background-color: transparent;
    }
    
    div#lpm .ver2 .button_area {
        display: block;
        margin: 20px 0 10px;
    }
    
    div#lpm .ver2 .button_area .button {
        width: 100%;
    }
    
    div#lpm .ver2 .button_area .button + .button {
        margin-top: 20px;
        margin-left: 0;
    }
    
    /* -----------------------------
               レイアウト
    ----------------------------- */
    /* コンテンツ外枠 */
    div#lpm #container.ver2 {
        width: 100%;
        padding: 8px;
        margin: 20px auto 0;
    }
    
    /* コンテンツ */
    div#lpm .ver2 .inner_contents {
        background-color: #ffffff;
        border-radius: 4px;
    }
    
    /* コンテンツ同士の余白 */
    div#lpm .ver2 .inner_contents + .inner_contents {
        margin-top: 36px;
    }
    
    /* テーブル（見出し・タイトルのみ） */
    div#lpm .ver2_input_form th {
		display: none;
	}
	
	div#lpm .ver2_input_form td {
	    border: none;
	    padding: 0;
	}
	
	div#lpm .ver2_input_form .form_items {
	    padding: 9px 10px 25px;
	}
	
	div#lpm .ver2_input_form td::before {
		content: attr(data-label);
        display: block;
        background-color: #eff9fd;
        border-top: 1px solid #bbb;
        border-bottom: 1px solid #bbb;
        font-weight: bold;
        padding: 10px 15px 10px 11px;
        text-align: left;
	}
	div#lpm .ver2_input_form tr:first-child td::before {
	    border-top: none;
	}
	
    div#lpm .ver2_input_form .required .form_items::before {
		content: "必須";
        display: block;
        width: 38px;
        height: 21px;
        color: white;
        background-color: #FF4444;
        border-radius: 3px;
        font-size: 14px;
        line-height: normal;
        line-height: normal;
        letter-spacing: 0;
        margin: 1px 0 0 5px;
        padding: 1px 0;
        position: absolute;
        top: -36px;
        right: 15px;
        text-align: center;
	}
    
    /* テーブル（横列複数用） */
    div#lpm .ver2_input_form2 thead {
        display: none;
    }
    
    div#lpm .ver2_input_form2 tr + tr {
        border-top: 2px solid #CFCFCF;
    }
    
    div#lpm .ver2_input_form2 td {
        display: block;
	    width: 100%;
	    border: none;
	}
	
	/*Edge用*/
	@supports (-ms-ime-align:auto) {
        div#lpm .ver2_input_form2 td {
	        float: left;
	    }
    }
	
	div#lpm .ver2_input_form2 td.item_count {
	    text-align: right;
	}
	div#lpm .ver2_input_form2 td:nth-child(2n) {
	    background-color: #f8f8ff;
	}
	
	div#lpm .ver2_input_form2 td::before {
		content: attr(data-label);
		display: block;
		font-size: .9em;
		font-weight: bold;
		padding: 4px 12px;
		text-align: left;
	}
	
	div#lpm .ver2_input_form2 .form_items {
        padding: 3px 12px 4px;
        text-align: right;
	}
	
	div#lpm #steps li {
        font-size: 1.75em;
	}
	
	div#lpm #steps > li + li::before {
        width: 8px;
        height: 8px;
    }
    div#lpm #steps > li + li::after {
        width: 8px;
        height: 8px;
    }
	
	/* 会員フォーム関連 */
	div#lpm .ver2 select {
        width: 100%;
	}
	
	/* クレジットカード関連 */
    div#lpm .ver2 .creditcard_date select {
        width: calc(100% / 2 - 2em);
    }
	
	div#lpm .ver2 input[type="tel"] {
        width: calc(100% - 5.3em);
        max-width: 100%;
	}
}

/* IEのみ */
@media all and (-ms-high-contrast: none) {
    div#lpm .ver2_input_form .required th::after {
        line-height: 21px;
	}
}
@media all and (-ms-high-contrast: none) and (max-width: 1000px) {
    div#lpm .ver2_input_form .required .form_items::before {
        top: -33px;
        line-height: 21px;
	}
}

/* -----------------------------
     レイアウト：画面縮小時(最小)
----------------------------- */
@media screen and (max-width: 450px) {
    div#lpm #steps {
        -moz-flex-flow: column nowrap;
        -webkit-flex-flow: column nowrap;
        flex-flow: column nowrap;
        margin: 8px 0;
	}
	
	div#lpm #steps li {
        width: 100%;
        max-width: 245px;
        margin: 0 auto;
        padding-right: 10px;
        text-align: left;
	}
	
	div#lpm #steps li:first-child {
	    line-height: 2;
	}
	
	div#lpm #steps li + li {
	    padding-top: 23px;
	    padding-left: 10px;
	}
	div#lpm #steps > li + li::before {
        width: 8px;
        height: 8px;
        border-top: none;
        border-right: 3px solid #b0b1b3;
        border-bottom: 3px solid #b0b1b3;
        top: -2.2em;
        right: 0;
        left: 0;
    }
    div#lpm #steps > li + li::after {
        width: 8px;
        height: 8px;
        border-top: none;
        border-right: 3px solid #b0b1b3;
        border-bottom: 3px solid #b0b1b3;
        top: -1.7em;
        right: 0;
        left: 0;
    }
	
	div#lpm #steps > li > span {
        margin-top: 15px;
        float: right;
	}
	div#lpm #steps > li:first-child > span {
        margin-top: 0;
	}
}

/* NPHARMA-2574 ADD START */
/* ---------------------------------------------------
 ZEUS 3Dセキュア2.0
--------------------------------------------------- */
/* .modal-3ds */
.modal-3ds {
    position: fixed;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: center;
    align-items: center;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 9999;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.modal-3ds.is-open {
    opacity: 1;
    pointer-events: auto;
}

.modal-3ds__overlay {
    position: absolute;
    background-color: rgba(17, 17, 17, 0.5);
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.modal-3ds__inner {
    position: relative;
    background-color: #fff;
    width: 100%;
    max-width: 70rem;
    /*border-radius: 0.7rem;*/
    z-index: 9;
}

@media screen and (max-width: 768px) {
    .modal-3ds__inner {
        max-width: 67rem;
    }
}

.challenge_window {
    height:50vh;
}

.tds_agree-form-cart {
    margin-top: 2.5rem;
    margin-bottom: 2.5rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .tds_agree-form-cart {
        margin-top: 4rem;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }
}

.tds_agree-form-cart__inner {
    position: relative;
    padding-left: 4rem;
    font-size: 1.6rem;
    letter-spacing: 0.12em;
    line-height: 1.78571;
    cursor: pointer;
}

@media screen and (max-width: 768px) {
    .tds_agree-form-cart__inner {
        display: -ms-flexbox;
        display: flex;
        padding-left: 7rem;
        padding-right: 2.2rem;
        font-size: 2.5rem;
        line-height: 1.6;
    }
}
/* NPHARMA-2574 ADD END */