@charset "UTF-8";
/*--------------------------------
 base
--------------------------------*/
@font-face {
  font-family: 'MyYuMinchoC';
  src: local('YuMincho-Demibold'),
  local('YuMincho Demibold');
}

body{
  color: #333333;
  font-size: 14px;
}

a{
  color: #003BE0;
}

.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{
  font-family: YuGothic,'Yu Gothic',"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  font-weight: 500;
}

.faux-select,body,button,input,select,textarea {
  font-family: YuGothic,'Yu Gothic',sans-serif;
  font-weight: 500;
}

input, select, textarea{
  border-color: #707070;
}

input::placeholder{
  color: #999999 !important;
}

p, dl dd, table th, table td {
    line-height: normal;
    line-height: 1.5;
}

/*--------------------------------
 header 共通
--------------------------------*/
nav#header {
    background-color: #003BE0;
    padding: 7px 10px 10px 20px;
    min-height: 56px;
    position: relative;
}

nav#header h1 {
    float: left;
}

nav#header ul {
    float: right;
}

nav#header ul li {
    text-align: center;
    float: right;
    margin-left: 10px;
}
nav#header ul li.select {
    opacity: 0.6;
}
nav#header ul li img {
    margin: 0 auto;
}
nav#header ul li a {
    color: #ffffff;
    font-size: 0.65em;
}
nav#header #h_new {
    background-color: #FE2F2F;
    border-radius: 10px;
    color: #ffffff;
    padding: 0 3px;
    font-size: 0.8em;
    position: absolute;
    top: 0.5em;
    right: 120px;
}
/*--------------------------------
 メニュー
--------------------------------*/
.menu_btn_wrapper {
    margin: .5rem 0 2rem;
}

/*--------------------------------
 footer 共通
--------------------------------*/
footer {
    margin: 50px 20px 30px;
    text-align: center;
}
footer #copy {
    font-size: 0.65em;
    text-align: center;
}
footer .bnr {
    margin-bottom: 40px;
}
footer .bnr img {
    margin: 0 auto;
}

.footer_menu_group {
    display: inline-block;
}

#footer_menu ul li {
    display: inline-block;
}

/*--------------------------------
 共通
--------------------------------*/
h2 {
    font-size: 24px;
    margin: 20px auto;
    padding: 0 1rem;
    text-align: center;
    font-weight: bold;
}
h2 img {
    margin: 0 auto;
}
h3 {
    background-color: #DDDFE5;
    padding: 10px 1rem;
    font-weight: 600;
}
h3.c_b {
    background-color: #E6F8FF;
}
ul.t_nav {
    margin: 0 1rem;
}
ul.t_nav li {
    padding: 20px 0;
}
ul.t_nav li a {
    color: #333333;
}
dl.dl_list {
    margin: 0 1rem;
}
dl.dl_list dt, h3.h_img {
    margin: 0.5rem 0 0.35em;
    font-size: 0.75rem;
    padding: 0 0.8em;
    background-color: #ffffff;
}
dl.dl_list dt img, h3.h_img img {
    width: 1.3em;
    display: inline;
    margin-right: 5px;
}
dl.dl_list dd {
    border-bottom-width: 1px;
    padding: 0 0.8em 0.8em;
    /*line-height: 1.5;*/
}
dl.dl_list dd.no_line {
    border-bottom: none;
}
label {
  font-weight: 600;
}

p.center {
    text-align: center;
    margin: 0 auto;
}
p.indent-1 {
    padding-left:1em;
    text-indent:-1em;
}
.pt_40 {
    padding-top: 40px;
}
.pt_30 {
    padding-top: 30px;
}
.pt_20 {
    padding-top: 20px;
}
.pt_12 {
    padding-top: 12px;
}
.pb_100 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 100px;
}
.pb_60 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 60px;
}
.pb_40 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 40px;
}
.pb_30 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 30px;
}
.pb_15 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 15px;
}
.pb_20 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 20px;
}
.pb_10 {
    padding-left: 1rem;
    padding-right: 1rem;
    padding-bottom: 10px;
}
.pb_5 {
    padding-bottom: 5px;
}
.pb-20 {
    padding-bottom: 20px;
}
.px_18 {
    padding-left: 18px;
    padding-right: 18px;
}
.px_20 {
    padding-left: 20px;
    padding-right: 20px;
}
.pl-1 {
    padding-left: 0.25rem;
}
.pr-4 {
    padding-right: 1rem;
}
.mlr_20 {
    margin-left: 1rem;
    margin-right: 1rem;
}
.mb_2 {
    margin-bottom: 2px;
}
.mb_20 {
    margin-bottom: 20px;
}
.mb_30 {
    margin-bottom: 30px;
}
.mb_40 {
    margin-bottom: 40px;
}
.mb_60 {
    margin-bottom: 60px;
}
.mb_70 {
    margin-bottom: 70px;
}
.mb_10 {
    margin-bottom: 10px;
}
.mt_6 {
    margin-top: 6px;
}
.mt_10 {
    margin-top: 10px;
}
.mt_16 {
    margin-top: 16px;
}
.mx_30 {
    margin-left: 30px;
    margin-right: 30px;
}
.mx_9 {
    margin-left: 9px;
    margin-right: 9px;
}
.mx_2 {
    margin-left: 2px;
    margin-right: 2px;
}
.notes {
    color: #FE2F2F;
}
.radio_box label {
    background-color: #ffffff;
    max-width: 100px;
    padding-right: 2rem;
}
.radio_box label input {
    margin-right: 10px;
}
form#f_conf input {
    border: none;
    background-color: rgb(235 235 235 / var(--tw-bg-opacity));
    -webkit-text-fill-color: black;
      opacity: 1;
}
.text-xxl {
    font-size: 1.5rem;
    line-height: 1.95rem;
}
.text-red-600 {
    --tw-text-opacity: 1;
    color: rgb(254 47 47 / var(--tw-text-opacity));
}
.bg-indigo-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(230 248 255 / var(--tw-bg-opacity));
}
.bg-gray-50 {
    --tw-bg-opacity: 1;
    background-color: rgb(245 245 247 / var(--tw-bg-opacity));
}
.p-4 {
    padding: 1rem;
}
.-mt-4 {
    margin-top: -1rem;
}
.mt-6 {
    margin-top: 1.5rem;
}
.mt-32 {
    margin-top: 8rem;
}
.ml_065 {
    margin-left: 0.65rem;
}
.text-orange {
    color: #FF751A;
}
.text-orange-mypage {
    color: #FF6500;
}
.text-indigo {
    --tw-text-opacity: 1;
    color: rgb(41 126 232 / var(--tw-text-opacity));
}
.leading-6 {
    line-height: 1.5rem;
}
.max-w-400 {
    max-width: 400px
}
.max-w-576 {
    max-width: 576px
}
p.shopping-list img {
	width: 1.3em;
	display: inline;
	margin-right: 5px;
}
.border-dotted {
    border-style: dotted;
}
.inline-block {
    display: inline-block;
}

/*--------------------------------
 ボタン
--------------------------------*/

button.btn_01 {
    background-color: #003be0;
    border-radius: 4px;
    min-width: 300px;
    text-align: center;
    padding: 12px 20px;
    font-size: 1.25em;
    color: #ffffff;
    font-weight: 600;
}
    button.btn_01 span {
        background-color: #fe2f2f;
        border-radius: 10px;
        color: #ffffff;
        font-size: 0.8em;
        padding: 2px 6px;
        margin-left: 1em;
    }
button.btn_02 {
    border: 2px solid #003be0;
    border-radius: 4px;
    min-width: 300px;
    text-align: center;
    padding: 12px 20px;
    font-size: 1.25em;
    color: #003be0;
    background-color: #ffffff;
    font-weight: 600;
}

button.btn_01_s {
    background-color: #003be0;
    border-radius: 4px;
    min-width: 240px;
    text-align: center;
    padding: 10px;
    color: #ffffff;
    font-weight: 600;
}

button.btn_02_s {
    border: 2px solid #003be0;
    border-radius: 4px;
    min-width: 240px;
    text-align: center;
    padding: 10px;
    color: #003be0;
    background-color: #ffffff;
    font-weight: 600;
}

button.btn_02_s span,
.cancel_purchase_btn_wrapper::not {
    background-color: #fe2f2f;
    border-radius: 10px;
    color: #ffffff;
    font-size: 0.8em;
    padding: 2px 6px;
    margin-left: 1em;
}
button.col2 {
    min-width: 160px;
}
button.btn_modal {
    min-width: 190px;
}
button.btn_ss {
    min-width: 105px;
}
button.disabled {
    background-color: #cccccc;
    color: #ffffff;
}
button.btn_delete {
    border-radius: 4px;
    min-width: 55px;
    text-align: center;
    padding: 10px;
    color: #ffffff;
    background-color: #fe2f2f;
    font-weight: 600;
}
.upload_img_element {
    position: relative;
    display: inline-block;
    margin-right: 30px;
    margin-bottom: 10px;
}
.upload_img_element .btn_delete {
    position: absolute;
    top: 5%;
    left: 95%;
    -ms-transform: translate(-10%,-10%);
    -webkit-transform: translate(-10%,-10%);
    transform: translate(-10%,-10%);
    border-radius: 4px;
    min-width: 25px;
    text-align: center;
    padding: 5px;
    color: #ffffff;
    background-color: #fe2f2f;
    font-weight: 600;
}
label.btn_02_s {
    border: 2px solid #003be0;
    border-radius: 4px;
    min-width: 240px;
    text-align: center;
    padding: 10px;
    color: #003be0;
    background-color: #ffffff;
    font-weight: 600;
    display: block;
}
.bg-green {
    background-color: #e6f8e1;
}
.bg-green-dark {
    background-color: #1f8800;
}
.bg-red {
    background-color: #ffbcbc;
}
.bg-red-full {
    background-color: #ff0000;
}
.bg-red-pale {
    background-color: #ffe0e0;
}
.bg-skyblue {
    background-color: #E6F8FF;
}
.bg-orange {
    background-color: #FFAA00;
}
.bg-orange-pale {
    background-color: #FFF2D8;
}
/*--------------------------------
 table
--------------------------------*/
table {
    border: 1px solid #DDDFE5;
    padding: 10px;
    width: 100%;
}
table th {
    background-color: #DDDFE5;
    border-bottom: 1px solid #ffffff;
    padding: 0.8rem;
    font-size: 0.75rem;
}
table td {
    border-bottom: 1px solid #DDDFE5;
    padding: 0.65rem;
}
.bg_top {
    background-image: url("/img/img_top_01.jpg");
    background-position-y: -10%;
    background-repeat: no-repeat;
    background-size: 100%;
}
.log_table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
/*--------------------------------
 dailog
--------------------------------*/
.modal__overlay {
    z-index: 2;
}

.modal__container footer {
    margin: 0;
}
.modal__container .btn_close {
    position: absolute;
    top: 20px;
    right: 20px;
}
.modal__container dl.dl_list {
    margin: 0;
}

#accepted-contents-confirm-modal .modal__container {
    max-width: 460px;
}
#accepted-contents-confirm-modal .modal__content {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
#accepted-contents-confirm-modal .modal__overlay {
    z-index: 90;
}
#order-accept-complete-modal .modal__container {
    max-width: 460px;
}
#order-accept-complete-modal .modal__content {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
#order-accept-complete-modal .modal__overlay {
    z-index: 90;
}
#order-accept-confirm-modal .modal__container {
    max-width: 460px;
}
#order-accept-confirm-modal .modal__content {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
#order-accept-confirm-modal .modal__overlay {
    z-index: 90;
}
#order-register-modal .modal__container {
    max-width: 460px;
}
#order-register-modal .modal__content {
    margin-top: 1.5rem;
    margin-bottom: 0;
}
#order-register-modal .modal__overlay {
    z-index: 90;
}
#shop-help-modal .modal__container {
    width: 100%;
    max-width: 1000px;
    height: 95%;
    overflow-y: scroll;
    overflow-x: hidden;
}
#shop-help-modal .modal__overlay {
    z-index: 100;
}
/*--------------------------------
 select
--------------------------------*/
.b_select {
    border-radius: 4px;
    padding: 0.8rem 0.7rem;
    font-size: 1rem;
}
.b_select label .b_txt {
    font-weight: 500;
}
/*--------------------------------
カラム
--------------------------------*/
.items_center .column {
    display: inline-block;
    vertical-align: top;
}
/*--------------------------------
 カード情報
--------------------------------*/
.b_card {
    background-color: #ffffff;
    padding: 0.8rem;
    border-radius: 4px;
}
.b_card label {
    margin-bottom: 0.5rem;
}
.b_card table {
    border: none;
    background-color: #E6F8FF;
}
.b_card table td {
    border-bottom: none;
}

.swiper-button-prev,
.swiper-button-next {
    top: 18px !important;
}
.swiper-button-prev::after,
.swiper-button-next::after {
    color: white;
    font-size: 20px !important;
}
.swiper-slide{
    height: auto !important;
}
.items-flex {
    align-items: flex-start;
}
.items-end {
    align-items: end;
}
.h-full {
    height: 100%;
}
.list-decimal {
    list-style-type: decimal;
}

.alert-danger {
    background-color: #f8d7da;
    border-color: #f5c2c7;
    color: #842029;
}

.alert-success {
    background-color: #d1e7dd;
    border-color: #badbcc;
    color: #0f5132;
}

.loading-spinner {
    color: #003be0;
    display: none;
    padding-left: 1rem;
    vertical-align: middle;
}
/*--------------------------------
 その他
--------------------------------*/
.br_sp {
    display: none;
}

@media screen and (max-width: 767px) {
    .bg_top {
        background-position-y: 60%;
    }
}

@media screen and (max-width: 520px) {
    /* メニュー */
    .menu_btn_wrapper {
        margin: 10px 0 30px;
    }

    .menu_btn_wrapper:last-child {
        margin: 10px 0 0;
    }

    /* footer */
    footer {
        margin: 30px 20px 30px;
    }

    .footer_menu_group {
        display: block;
    }

    #footer_menu li > a {
        font-size: 14px;
    }

    #footer_menu ul, #footer_menu li {
        margin: 0 !important;
    }

    #footer_menu li:nth-child(even) {
        padding-left: 25px;
    }

    /* カラム */
    .items_center .column {
        display: block;
    }

    /* その他 */
    .br_sp {
        display: block;
    }
}
