@charset "UTF-8";

#fancybox-loading div {
    background-image: url("../img2/img/fancybox.png");
}

#fancybox-close {
    top: 18px;
    right: 18px;
    width: 20px;
    height: 21px;
    background: transparent url("../img2/img/ico_close.png") no-repeat;
}

#fancybox-left, #fancybox-right {
    background: transparent url("../img2/img/blank.gif");
}

#fancybox-left {
    left: -75px;
}

#fancybox-right {
    right: -75px;
}

#fancybox-left-ico, #fancybox-right-ico {
    top: 50%;
    width: 28px;
    height: 52px;
    margin-top: -14px;
    cursor: pointer;
}

#fancybox-left-ico,
#fancybox-left:hover span {
    left: 0;
}

#fancybox-right-ico,
#fancybox-right:hover span {
    left: auto;
    right: 0;
}

#fancybox-left-ico {
    background: url("../img2/img/ico_float_left.png") no-repeat center;
}

#fancybox-right-ico {
    background: url("../img2/img/ico_float_right.png") no-repeat center;
}

#fancybox-bg-n {
    background-image: url("../img2/img/fancybox-x.png");
}

#fancybox-bg-ne {
    background-image: url("../img2/img/fancybox.png");
    background-position: -40px -162px;
}

#fancybox-bg-e {
    background-image: url("../img2/img/fancybox-y.png");
    background-position: -20px 0px;
}

#fancybox-bg-se {
    background-image: url("../img2/img/fancybox.png");
    background-position: -40px -182px;
}

#fancybox-bg-s {
    background-image: url("../img2/img/fancybox-x.png");
    background-position: 0px -20px;
}

#fancybox-bg-sw {
    background-image: url("../img2/img/fancybox.png");
    background-position: -40px -142px;
}

#fancybox-bg-w {
    background-image: url("../img2/img/fancybox-y.png");
}

#fancybox-bg-nw {
    background-image: url("../img2/img/fancybox.png");
}

#fancybox-title-over {
    padding: 5px 0;
    background: none;
    font-size: 123.07692%;
    font-weight: bold;
    text-align: center;
}

#fancybox-title-float-left {
    background: url("../img2/img/fancybox.png") -40px -90px no-repeat;
}

#fancybox-title-float-main {
    background: url("../img2/img/fancybox-x.png") 0px -40px;
}

#fancybox-title-float-right {
    background: url("../img2/img/fancybox.png") -55px -90px no-repeat;
}

#fancybox-wrap,
#fancybox-content {
    box-sizing: content-box;
}

* {
    margin: 0;
    box-sizing: border-box;
}

h1 {
    margin: 0;
}

body {
    min-width: 1100px;
    font-size: 16px;
    line-height: 1.69;
    color: #343434;
}

body,
input,
button,
select,
textarea {
    font-family: "iconfont", "Hiragino Kaku Gothic ProN", Meiryo, "MS PGothic", sans-serif;
}

.red {
    color: red;
}

#order a {
    color: #343434;
    outline: none;
    transition: opacity 0.3s;
}
#order a:visited, a:active {
    text-decoration: underline;
}
#order a:hover, a:focus {
    opacity: 0.6;
    outline: 0;
    text-decoration: none;
}

#wrapper {
    position: relative;
    padding-top: 58px;
}

input[type="text"],
input[type="number"],
input[type="email"],
input[type="tel"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    padding: 1.14em 1.2em 1.14em;
    border: 1px solid #c4c6cb;
    background: #fff;
    font-size: 107.69231%;
    line-height: 1.2em;
}
input[type="text"].is-empty,
input[type="number"].is-empty,
input[type="email"].is-empty,
input[type="tel"].is-empty {
    background-color: #fdeaea;
    font-weight: bold;
    font-size: 150%;
    border: 5px dashed red;
}
input[type="text"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus {
    background-color: #FFFFCC;
}
input[type="text"].valid,
input[type="number"].valid,
input[type="email"].valid,
input[type="tel"].valid {
    background-color: #CFFACF;
}

label > input[type="radio"],
label > input[type="checkbox"] {
    display: inline-block;
    margin-right: 0.6em;
    transform: scale(1.5);
    -moz-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    -ms-transform: scale(1.5);
    -o-transform: scale(1.5);
}

select {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    padding: 1.14em 2.2em 1.14em 1.2em;
    border: 0;
    border-radius: 0;
    width: 180%;
    background: #fff;
    font-size: 107.69231%;
    line-height: 1.2em;
}
select.is-empty {
    color: #000000;
    background-color: #fdeaea;
	border: 4px dashed red;
}
select.valid {
    color: #000000;
    background-color: #CFFACF;
}
select:focus {
    background-color: #FFFFCC;
}

.form-select {
    position: relative;
    display: inline-block;
    border: 1px solid #c4c6cb;
    overflow: hidden;
}
.form-select:after {
    content: '';
    position: absolute;
    top: 50%;
    right: 13px;
    display: block;
    margin-top: -3px;
    width: 7px;
    height: 5px;
    background: url("../img2/img/ico_delta_bottom_black.png") no-repeat center;
    background-size: 7px 5px;
}



.customer-items {
    display: -webkit-box;
    display: -moz-box;
    display: box;
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;
    box-lines: multiple;
    -webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-flex: 2;
    -moz-box-flex: 2;
    box-flex: 2;
    -webkit-flex: 2;
    -moz-flex: 2;
    -ms-flex: 2;
    flex: 2;
    -webkit-box-pack: justify;
    -moz-box-pack: justify;
    box-pack: justify;
    -webkit-justify-content: space-between;
    -moz-justify-content: space-between;
    -ms-justify-content: space-between;
    -o-justify-content: space-between;
    justify-content: space-between;
    -ms-flex-pack: justify;
    -webkit-box-align: stretch;
    -moz-box-align: stretch;
    box-align: stretch;
    -webkit-align-items: stretch;
    -moz-align-items: stretch;
    -ms-align-items: stretch;
    -o-align-items: stretch;
    align-items: stretch;
    -ms-flex-align: stretch;
}

.customer-item {
    margin-bottom: 48px;
    border: 1px solid #51318f;
    background: #fff;
    box-shadow: 9px 9px 0 #51318f;
}
.customer-item p {
    margin: 0 20px 9px 0;
    font-size: 84.61538%;
    line-height: 1.2em;
    text-align: right;
}

.order > .inner {
    margin-right: auto;
    margin-left: auto;
    width: 1100px;
    margin-top: 32px;
    padding: 3px 57px 40px;
    border: 1px solid #d7d6d6;
}

.order > .inner.end_accept {
    margin-top: 150px;
    text-align: center;
    padding: 40px 0;
    border: 1px solid #d7d6d6;
}



.order .head {
    position: relative;
    padding: 39px 0 29px;
}
.order .head .title {
    text-align: center;
}
.order .head .title img {
    vertical-align: top;
}
.order .head .badge {
    position: absolute;
    top: 0;
    right: -16px;
}

.order-form .alert,
.order-form .notice,
.order-form .order-notice .text,/*20220315sz*//*追加*/
.order-form .note {
    position: relative;
    margin-top: 1em;/*20220315sz*//*修正*/
    padding-left: 1.1em;
    font-size: 92.30769%;
    line-height: 1.4em;
    letter-spacing: normal;
}
.order-form .alert:before,
.order-form .notice:before,
.order-form .note:before {
    content: '※';
    position: absolute;
    top: 0;
    left: 0;
}
.order-form .alert + .alert,
.order-form .alert + .note,
.order-form .note + .alert,
.order-form .note + .note {
    margin-top: 0;
}
.order-form .alert {
    color: #ea0100;
}
.order-form p.alert {
    display: none;
}
.order-form .notice {
    display: none;
}
.order-form .ex {
    margin-top: 5px;
    line-height: 1.4em;
    color: #888888;
}
.order-form .input-l {
    width: 558px;
}
.order-form .input-ll {
    width: 535px;
}
.order-form .input-m {
    width: 488px;
}
.order-form .input-s {
    width: 461px;
}
.order-form .input-ss {
    width: 453px;
}
.order-form .input-zip {
    width: 250px;
}

.form-main {
    width: 100%;
}
.form-main th,
.form-main td {
    vertical-align: middle;
}
.form-main th {
    padding-right: 20px;
    padding-left: 20px;
    border-top: 2px solid #fff;
    width: 284px;
    background-color: #fcf9f8;
    font-size: 16px;
    text-align: left;
    font-weight: normal;
}
.form-main th .required {
    display: inline-block;
    margin-left: 1em;
    font-size: 16px;
    color: #ea0100;
}
.form-main td {
    border-top: 1px dashed #222;
    padding: 21px 0 22px 23px;
}
.form-main tr:first-child th {
    border-top: 0;
}
.form-main tr:first-child td {
    border-top: 1px solid #c3c3c3;
}
.form-main tr:last-child th {
    border-bottom: 1px solid #fcf9f8;
}
.form-main tr:last-child td {
    border-bottom: 1px solid #c3c3c3;
}
.recerivers-more .form-main th {
    width: 220px;
}

.form-address .form-item {
    margin-bottom: 22px;
}
.form-address .form-item:last-child {
    margin-bottom: 0;
}
.form-address .label,
.form-address .form-parts {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}
.form-address .label {
    margin-right: 0.7em;
    padding-top: 1.14em;
    font-size: 107.69231%;
}
.form-address .form-item .label span {
    font-size: 90.30769%;
}
.form-address .alert {
    margin-left: 66px;
    letter-spacing: normal;
}

.form-sex {
    letter-spacing: -.4em;
}
.form-sex .form-item {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
    margin-right: 1em;
}

.form-birthday {
    letter-spacing: -.4em;
}
.form-birthday .form-item {
    display: inline-block;
    vertical-align: top;
    letter-spacing: normal;
}
.form-birthday .form-select,
.form-birthday .label {
    display: inline-block;
    vertical-align: middle;
}
.form-birthday .label {
    padding: 0 9px;
}
.form-birthday .note {
    letter-spacing: normal;
}

.recerivers {
    margin: 22px 0;
    padding: 0 22px 0 30px;
    border: 4px solid #e3e2e2;
}
.recerivers .trg {
    padding: 22px 0;
    font-size: 115.38462%;
    background: url("../img2/img/ico_plus.jpg") no-repeat right center;
    cursor: pointer;
}
.recerivers .recerivers-more {
    display: none;
}
.recerivers table {
    margin-bottom: 32px;
}
.recerivers table th {
    background-color: #eee;
}
.recerivers.is-open .trg {
    background-image: url("../img2/img/ico_minus.jpg");
}

.form-day {
    font-size: 92.30769%;
    line-height: 1.5em;
}

.form-time .form-select {
    vertical-align: middle;
}
.form-time .note {
    display: inline-block;
    vertical-align: middle;
    margin-top: 0;
}
.form-time .note:before {
    content: none;
}

.form-card-radio {
    margin-bottom: 13px;
}
.form-card-radio label {
    font-size: 107.69231%;
}

.payment-detail {
    padding: 7px 20px;
    background: #fef9f0;
}
.payment-detail th,
.payment-detail td {
    vertical-align: top;
    border: 0 !important;
}
.payment-detail th {
    padding: 26px 0 0 0;
    width: 105px;
    background: none;
    text-align: left;
}
.payment-detail td {
    padding: 11px 0;
    width: 554px;
}

.form-limit .form-item {
    letter-spacing: -.4em;
}
.form-limit .form-select,
.form-limit .label-month,
.form-limit .label-year {
    display: inline-block;
    vertical-align: middle;
    letter-spacing: normal;
}
.form-limit .label-month {
    padding: 0 20px 0 9px;
    line-height: 18px;
}
.form-limit .label-month:after {
    content: '/';
    display: inline-block;
    margin-left: 13px;
    font-size: 130.76923%;
}
.form-limit .label-year {
    padding: 0 9px;
}

.form-main .form-policy-th .required {
    display: block;
    margin-left: 0;
}
/*頒布会内容についての同意*/
.form-consent .attention {
    margin-bottom: 10px;
    padding: 6px 8px;
    border: 1px solid #ea0100;
    font-size: 138.46154%;
    line-height: 1.1em;
    color: #ea0100;
    font-weight: bold;
}
.form-consent .attention:before {
    content: '!';
    display: inline-block;
    margin-right: 7px;
    font-size: 153.84615%;
    vertical-align: middle;
}

.form-consent .terms-box{
    max-height: 530px;
    position: relative;
    overflow: hidden;
}
.form-consent .terms-box::before {
    display: block;
    position: absolute;
    z-index: 100;
    bottom: 0;
    left: 0;
    content: "";
    width: 100%;
    height: 10em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.9)), color-stop(50%, rgba(255,255,255,0.9)), color-stop(100%, #fff));
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f5f5f5', endColorstr='#fff5f5f5',GradientType=0 );
    background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgb(255,255,255) 100%);

}

.form-consent .terms-box .read-more {
    position: absolute;
    z-index: 110;
    bottom: 0;
    left: 0;
    text-align: center;
    display: block;
    width: 600px;
    left: 0;
    right: 0;
    margin: 0 auto 20px;
    padding: .1em 0;
    border-radius: 4px;
    background: #ffffff;
    color: #000000;
    font-size: 1.4rem;
    cursor: pointer;
    transition: .1s ease;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(255,255,255,0)), color-stop(50%, rgba(255,255,255,0.9)), color-stop(50%, rgba(255,255,255,0.9)), color-stop(100%, #fff));
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#00f5f5f5', endColorstr='#fff5f5f5',GradientType=0 );
    background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,rgba(255,255,255,0.9) 50%,rgb(255,255,255) 100%);
}

.form-consent .agreement {
    padding: 0.2em 0;
    font-size: 107.69231%;
    text-align: center;
}
.form-consent .agreement.is-false {
    background-color: #fdeaea;
}
.form-consent .agreement.valid {
    background-color: #CFFACF;
}

.consent-area {
    margin-bottom: 6px;
    padding: 15px;
    border: 1px solid #adabab;
}
.consent-area .inner {
    height: 129px;
    overflow: scroll;
}
.consent-area p,
.consent-area ol,
.consent-area ul {
    margin-bottom: 1em;
}
.consent-area ul,
.consent-area ol {
    padding-left: 1.8em;
}
.consent-area .label {
    margin: 0 0 17px 2px;
    padding-left: 5px;
    border-left: 3px solid #ec0606;
    line-height: 1.1em;
}
.consent-area .label:after {
    content: '';
    display: block;
    margin-left: -10px;
    padding-right: 10px;
    border-top: 5px solid #fff;
    width: 100%;
    height: 1px;
    background-color: #4e4d4d;
}

.order-submit {
    margin-top: 60px;
}

.order-submit .soldout {
    margin: 10px auto;/*20220315sz*//*修正*/
    padding: 6px 8px;
    border: 1px solid #ea0100;
    font-size: 138.46154%;
    line-height: 1.1em;
    color: #ea0100;
    font-weight: bold;
}

.order-submit button {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    -o-appearance: none;
    appearance: none;
    display: block;
    margin: 0 auto;
    padding: 36px 0;
    border: 0;
    width: 681px;
    background: url("../img2/img/ico_delta_left_white.png") no-repeat #3f861c;
    background-position: left 27px center;
    transition: opacity 0.3s;
}
.order-submit button:hover {
    opacity: 0.8;
}
.order-submit img {
    display: block;
    margin: 0 auto;
}

/*20220315sz*//*▼追加*/
.order-form .order-notice{
    margin: 1em auto;
}
/*20220315sz*//*▲追加*/

.order-submit .soldout,/*20220315sz*/
.order-form .order-notice .text,/*20220315sz*/
.order-submit .note {
    margin-right: auto;
    margin-left: auto;
    width: 681px;
}

/*20220315sz*//*▼カット*/
/*
#flash_confirm::before{
	display:block;
	content:"ご注文内容は、「お申し込み内容確定」ボタンを押すまでいつでもご変更いただけます。";
	font-size: 11px;
	color: #666666;
	text-align: center;
}
*/
/*20220315sz*//*▲カット*/
/*20220315sz*//*▼追加*/
.order-form .order-notice .text .link{
    font-weight: bold;
    color: red !important;
}
/*20220315sz*//*▲追加*/



.campaign {
    margin-bottom: 60px;
    width: 984px;
    margin-right: auto;
    margin-left: auto;
}
#oajimi_top {
    padding-top: 250px;
    padding-left: 50px;
    width: 590px;
}
#cam_txt {
    width: 600px;
    margin-left: 50px;
    color: #FFFFFF;
    font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
    font-style: normal;
    font-size: 11px;
    font-weight: normal;
}

/*
 * 届け先・支払方法入力
 */
.input-more .trg2 {
    margin: 22px 30%;
    padding: 22px;
    font-size: 115.38462%;
    text-align: center;
    cursor: pointer;
    border: 4px solid #e3e2e2;
}
.input-more .trg2.valid {
    border: 4px solid #7EB641;
}
.input-more .input-more-item {
    display: none;
}

/*
 * パンくず画像
 */
.breadcrumb {
    text-align: center;
}

/*
 * 郵便番号→住所候補リスト
 */
td.zipcode,
td.deli_zipcode {
    position: relative;
}
div.addressOptions,
div.delivAddressOptions {
    position: absolute;
    background-color: #fff;
    border: 1px solid #c4c6cb;
    padding: 5px 5px;
    z-index: 9999;
    top: 21px;
    left: 290px;
    height: 200px;
    width: 400px;
    overflow: scroll;
    white-space: nowrap;
    display: none;
}
div.addressOptions .option,
div.delivAddressOptions .option {
    border-bottom: 1px dotted #c4c6cb;
}
div.addressOptions .option:hover,
div.delivAddressOptions .option:hover {
    background-color: #e3e2e2;
    cursor: pointer;
}

/*
 * タイトル表示
 */
.form-title {
    background-color: #000;
    color: #fff;
    padding: 10px;
    margin: 10px 0;
    font-size: 150%;
}

/*
 * 年齢確認チェックボックス
 */
.age-confirm {
    font-size: 130%;
    margin: 10px;
}

/*
 * 入力チェックOKマーク
 */
.order-form td,
.payment-detail td {
    position: relative;
}
.ok-check {
    color: #7EB641;
    position: absolute;
    right: 0px;
    display: none;
}
.ok-check.age_confirm {
    top: 60px;
    display: block;
}
.ok-check.zipcode,
.ok-check.prefecture,
.ok-check.name,
.ok-check.name_kana,
.ok-check.phone_number,
.ok-check.cell_phone_number,
.ok-check.fax_number,
.ok-check.mail_address,
.ok-check.deli_zipcode,
.ok-check.deli_prefecture,
.ok-check.deli_name,
.ok-check.deli_name_kana,
.ok-check.deli_phone_number,
.ok-check.birthday {
    top: 30px;
}
.ok-check.card_number,
.ok-check.card_term,
.ok-check.card_name,
.ok-check.card_securitycode {
    top: 20px;
}
.ok-check.address2,
.ok-check.deli_address2 {
    top: 100px;
}
.ok-check.address3,
.ok-check.deli_address3 {
    top: 170px;
}
.ok-check.check01,
.ok-check.check02 {
    bottom: 20px;
}

/*
 * フォームロゴ、看板画像 (sz
 */

#order .form-logo{
    margin-left: -52px;
    margin-bottom: 0px;
}

#order .form-img{
    margin-left: -57px;
    margin-bottom: 15px;
}

/*メールアドレス再掲 (sz*/
#order #mailTrace{
    font-size: 34px;
    font-weight: bold;
    font-family: serif;
}

#securitycode-item {
    cursor: pointer;
}

.payment-detail .card_securitycode.info {
    display: none;
}

.payment-detail .card_securitycode.info img {
    width:100%;
}



/* 規約文 フォーム内に表示されるもの (sz */

#order #kiyaku_text{padding: 0 10px;}
#order #kiyaku_text h4{margin-top: 10px;}
#order #kiyaku_text .tokuten{margin: 5px 40px;}
#order #kiyaku_text p{padding-left: 40px;}
#order #kiyaku_text p.sake img{display:block;margin: 0 auto;}
#order #kiyaku_text b{color: #cc0000;font-weight: bold;}

#order #kiyaku_text ul li, 
#order #kiyaku_text ol li{
    position: relative;
    padding-left: 15px;
    margin-bottom: 4px;
}
#order #kiyaku_text ul{
    list-style: none;
}

#order #kiyaku_text ul li::before{
    position: absolute;
    width: 13px;
    height: 13px;
    display: inline-block;
    content: url(/comimg/ic_list_header_gray.png);
    left: -8px;
}

#order #kiyaku_text ol{
    padding-left: 2.5em;
}
#order #kiyaku_text ol li{
    list-style-type:none;
    list-style-position:outside;
    counter-increment: cnt;
    text-indent:-2.5em;
}
#order #kiyaku_text ol li:before{
    content: "(" counter(cnt) ") ";
}
/*▼*****表示領域が640px以下*****▼*/
@media only screen and (max-width: 640px) {
/*▽*/
#order #kiyaku_text p.sake img{width:96%;}
}/*△*/
/*▲*****表示領域が●px以下*****▲*/

/* 規約文内<%プライバシーポリシー%> (sz */
#order #privacy_policy{
    margin: 10px 0;
    padding: 0 10px;

    display: none;
}

/* <%金額表%> (特商法：総額表示) (sz */

#order div.term_price{}

#order div.term_price table.term_price,
#order div.term_price table.term_price tr td{
    border: 1px solid #aaaaaa;
}
#order div.term_price table.term_price{
    border-collapse: collapse;
    margin: 5px 5px 10px 55px;
}
#order div.term_price table.term_price tr:first-child td{
    text-align: center;
}
#order div.term_price table.term_price tr td{
    padding: 2px 5px;
}
#order div.term_price table.term_price #setNum{}
#order div.term_price table.term_price #setPrice{}
#order div.term_price table.term_price #setTax{}
#order div.term_price table.term_price #setTotal{}
#order div.term_price p{}
#order div.term_price p #yearTotal{}

.jal_card_img {
    width: 100px;
    margin-top: 5px;
}

.jal_card_img a:hover {
      opacity: 0.8;
    }

.jal_card_img a img {
      width: 100%;
    }

.jal_modal {
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      background-color: rgba(0, 0, 0, 0.8);
      display: none;
    }

.bigimg {
      position: absolute;
      width: 80%;
      max-width: 800px;
      top: 250px;
      left: 0;
      right: 0;
      margin-right: auto;
      margin-left: auto;
    }

.bigimg img {
    width: 100%;
}
/* (pc)  form_v2.css*/
