/* マイページシステム 追加CSS */
#mypage-content .inner_onecolumn {
  max-width: 1300px;
}

#mypage-content .content.small {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
}
.pageContent a.btnLink,.pageContent .btnLink a {
	color: #fff;
}
.pageContent a.btnLink:hover,.pageContent .btnLink a:hover {
	color: #264FA4;
}

.btnLink:not(:disabled):hover {
  cursor: pointer;
}
.btnLink:disabled, .btnLink:disabled:hover {
  background-color: #999;
  border-color: #666;
}
.btnLink:disabled:hover {
  color: #999!important;
  border-color: #666!important;
}
.btnLink:disabled:hover:after {
  border-color: #666!important;
}

h1 {
  padding: 7px 0px 12px;
  margin-bottom: 25px;
  line-height: 1.8;
  font-size: 3.2rem;
  font-weight: bold;
}


/* ヘッダー
----------------------------------------------- */
h1#headerLogo {
  line-height: 100%;
}
#header_shopwaku {
  display: none;
}
@media print, screen and (min-width: 60.000em) {
  #header_shopwaku {
    display: block;
  }
  #header_shopwaku li {
    float: left;
    margin-right: 6px;
  }
}

.smaller_hide {
   display: block;
}
@media print, screen and (min-width: 60.000em) {
  .smaller_hide {
     display: none;
  }
}

.serviceLinks .biggerlink.cartlink {
  background-color: #F2055C;
}
.serviceLinks .biggerlink.cartlink:hover a {
  color: #F2055C;
}



/* サイドバー
----------------------------------------------- */
#mypage-content.towcolumn .page-contact {
  float: right;
  width: 75%;
}
#mypage-content.towcolumn .side-contact {
  float: left;
  padding-right: 50px;
  width: 25%;
}
@media screen and (max-width: 768px) {
  #mypage-content.towcolumn .page-contact {
    float: none;
    margin-bottom: 70px;
    width: auto;
  }
  #mypage-content.towcolumn .side-contact {
    padding: 50px 20px;
    margin: 0 -20px;
    float: none;
    width: auto;
    background: #F6F6F6;
    border-top: 5px solid #707070;
  }
}
#mypage-content .side-contact figure {
  margin: 0;
  text-align: center;
}
#mypage-content .side-contact figure img {
}
#mypage-content .side-contact .menu {
  margin-top: 40px;
}
#mypage-content .side-contact .menu h3 {
  border-left: none;
  margin: 20px 0 0;
  padding-left: 0;
  font-size: 2rem;
  border-bottom: 1px solid #BBBBBB;
}
#mypage-content .side-contact .menu ul {
  list-style: none;
  margin: 10px 0;
}
#mypage-content .side-contact .menu ul li {
  font-size: 1.5rem;
  border-bottom: 1px dotted #BBBBBB;
  margin: 10px 0 10px 10px;
}
#mypage-content.towcolumn .side-contact a:hover {
  color: #F2055C;
  text-decoration: underline;
}
#mypage-content.towcolumn .side-contact a img {
  transition: 0.3s ease-in-out;
}
#mypage-content.towcolumn .side-contact a img:hover {
  opacity: 0.7;
}



/* 商品詳細
----------------------------------------------- */
#itempage .field {
  padding: 20px 0;
}
#itempage .field_name h2 {
  margin: 0;
}
#itempage .quantity_label {
  float: left;
  margin-top: 14px;
}


/* カート
----------------------------------------------- */
#mypage-content .ec-progress {
  margin-left: auto;
  margin-right: auto;
}
#mypage-content .ec-cartRole .ec-cartRole__cart {
  margin-left: 2%;
  margin-right: 2%;
}
#mypage-content .ec-cartRole__actions {
  margin-right: 2%;
}
#mypage-content a.ec-blockBtn--action,
#mypage-content a.ec-blockBtn--cancel {
  color: #fff;
}
#mypage-content .ec-borderedList {
  margin: 0;
  list-style: none;
}
#mypage-content .ec-rectHeading {
  margin-top: 30px;
}
#mypage-content .ec-orderAccount .ec-rectHeading {
  margin-top: 0;
}

.form-cart {
  margin: 0 20px 20px;
}
.form-cart .input-quantity {
    display: inline-block;
    width: auto;
    max-width: 100px;
    height: 40px;
    padding: 6px 12px;
    font-size: 16px;
    line-height: 1.42857;
    color: #555555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    -webkit-appearance: none;
    box-shadow: none;
    transition: border-color ease-in-out 0.15s, box-shadow ease-in-out 0.15s;
    border-radius: 3px;
    margin-bottom: 10px;
    text-align: right;
}
.form-cart .btn-cart {
    display: inline-block;
    margin-bottom: 0;
    font-weight: bold;
    text-align: center;
    vertical-align: middle;
    touch-action: manipulation;
    cursor: pointer;
    background-image: none;
    border: 1px solid transparent;
    white-space: nowrap;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857;
    border-radius: 0px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    padding: 10px 16px;
    text-decoration: none;
    color: #fff;
    background-color: #DE5D50;
    border-color: #DE5D50;
    display: block;
    width: 100%;
    height: 56px;
    line-height: 56px;
    padding-top: 0;
    padding-bottom: 0;
}
.form-cart .btn-cart:hover {
    background-color: #D33828;
    border-color: #D33828;
}



/* マイページナビ
----------------------------------------------- */
.mynavi_list {
  margin: 5px 5px 10px;
}
.mynavi_list li {
  display: inline-block;
  margin: 10px 10px 10px 0;
}
.mynavi_list li a {
  display: block;
}
.btn-more-ticket-info, .btn-close-ticket-info, .btn-show-toggle-detail, .btn-modal {
  cursor: pointer;
}


/* ログイン
----------------------------------------------- */
p.login_memory,
p.login_memory input {
  margin-bottom: 0;
}


/* ライセンス一覧
----------------------------------------------- */
#btn_show_toggle {
  margin-bottom: 20px;
}


/* テーブル
----------------------------------------------- */
.table_wrapper {
  width: 100%;
  overflow-x: auto;
}
.table_wrapper table {
  width: 970px;
}
table.cram_table {
  margin: 0 0 30px!important;
  border-collapse: collapse;
  width: 100%;
  min-width: 800px;
  font-size: 80%;
}
table.cram_table th,
table.cram_table td{
  padding: 10px;
  border: 1px solid #707070;
  box-sizing: border-box;
  line-height: 200%;
}
table.cram_table th {
  background: #F5F5F5;
  color: #000;
}
table.cram_table.th10 th {
  width: 10%;
}
table.cram_table.th20 th {
  width: 20%;
}
table.cram_table.th25 th {
  width: 25%;
}
table.cram_table.th30 th {
  width: 30%;
}
table.cram_table.th50 th {
  width: 50%;
}
table.cram_table thead {
  border-bottom: 1px solid!important;
}
table tr td input {
  margin-bottom: 0 !important;
}

table .hide td, table .raku0 td {
  background-color: #D3D3D3;
}


/* サブスクリプション画面追加
----------------------------------------------- */
.subsc_table {
  border-width: 2px;
}
.subsc_table th, .subsc_table td {
  vertical-align: middle;
}
.subscrition_product_name .label {
  margin-left: 10px;
  line-height: 140%;
  vertical-align: top;
}


/* ボタン
----------------------------------------------- */
.button {
  display: inline-block;
  overflow: hidden;
  position: relative;
  width: 100%;
  max-width: 500px;
  background: #264FA4;
  border: 1px solid #264FA4;
  text-align: center;
  font-weight: bold;
  font-size: 1.7rem;
  color: #fff !important;
  padding: 15px 30px;
}
.button span {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 3;
  height: 60px;
}
.button:before{
  content:"";
  position: absolute;
  right:100%;
  top:0; 
  transition: all 0.5s;
  z-index: 1;
  width:100%;
  height:100%;
  background:#fff;
}
.button:after{
  content:"";
  position: absolute;
  right:0;
  top:50%;
  z-index: 2;
  width:15%;
  border-top:1px solid #fff;
}
.button:hover{ color:#264FA4 !important;} 
.button:hover:before{ right: 0;}
.button:hover:after{border-color:#264FA4;} 

.button-sm {
  display: inline-block;
  padding: 3px 13px;
  white-space: nowrap;
}
button.button-sm {
  padding: 7px 13px;
  font-size: 95%;
  font-family: 'Noto Sans JP', sans-serif;
}
a.button-sm {
  color: #444;
  text-decoration: none;
}
.button-sm.btn-red {
  color: #fff;
  background-color: #d52200;
  border: 1px solid #d52200;
}
.button-sm.btn-blue {
  color: #fff;
  background-color: #008CBA;
  border: 1px solid #008CBA;
}
.button-sm.btn-lightblue {
  color: #fff;
  background-color: #55b2e5;
  border: 1px solid #55b2e5;
}
.button-sm.btn-green {
  color: #fff;
  background-color: #009255;
  border: 1px solid #009255;
}
.button-sm.btn-gray {
  background-color: #ccc;
  border: 1px solid #ccc;
}
.button-sm.btn-black {
  color: #fff;
  background-color: #444;
  border: 1px solid #444;
}
.button-sm.btn-white {
  background-color: #fff;
  border: 1px solid #ccc;
}
a.button-sm.btn-white:hover {
  background-color: #eee !important;
}

/* ----------------------------------------------- */
.btn_red, .btn_gray, .btn_blue, .btn_pink, .btn_yellow {
  border-width: 0px;
  /*border-radius: 5px !important;*/
  padding: 10px 20px;
  display: inline-block;
}
.btn_red:hover, .btn_gray:hover, .btn_blue:hover, .btn_pink:hover, .btn_yellow:hover {
  text-decoration: none;
}

.btn_red {
  background-color: #D04245;
  color: #FFF !important;
}
.btn_red:hover {
  background-color: #88191A !important;
}

.btn_gray {
  background-color: #555;
  color: #FFF !important;
}
.btn_gray:hover {
  background-color: #444 !important;
}

.btn_pink {
  background-color: #F2055C;
  color: #FFF !important;
}
.btn_pink:hover {
  background-color: #F2055C !important;
}
.btn_pink:disabled {
  background-color: #ff94bc !important;
}

.btn_blue {
  background-color: #010084;
  color: #FFF !important;
}
.btn_blue:hover {
  background-color: #000063 !important;
}
.btn_blue.selected {
  border: #010084 solid 1px;
  background-color: #FFF;
  color: #010084 !important;
}
.btn_blue.selected:hover {
  background-color: #FFF !important;
}

.btn_yellow {
  background-color: #e9961a;
  color: #FFF !important;
}
.btn_yellow:hover {
  background-color: #bd770f !important;
}


.btn_large {
  width: 100%;
  max-width: 500px;
  padding: 15px 50px;
  font-weight: bold;
  font-size: 1.7rem;
  height: 60px;
}
.btn_small {
  padding: 10px 15px;
  font-size: 1.2rem;
  line-height: 125%;
}

/* ----------------------------------------------- */
.button-block {
  text-align: center;
}
.button-block button {
  font-size: 110%;
}

.btn_area {
  margin-top: 10px;
  width: 100%;
  text-align: center;
}
.btn_area ul {
  margin-left: 0;
  margin-right: 0;
  padding-left: 0;
  padding-right: 0;
}
.btn_area li {
    padding-right: 10px;
    display: inline;
}
.btn_area li img {
    vertical-align: top;
}
.btn_area li a {
    text-decoration: none !important;
}


/* ラベル
----------------------------------------------- */
.label {
  display: inline-block;
  padding: 8px 20px;
  color: #fff;
  background-color: #ccc;
}
.label.label-green {
  background-color: #009255;
}
.label.label-red {
  background-color: #d52200;
}


/* フォーム
----------------------------------------------- */
.form-status-placeholder {
}
.form-status-placeholder .alert {
  margin: 1rem 1rem 1.5rem;
  padding: 1.5rem 1.5rem;
  border-radius: 5px;
}
.form-status-placeholder .alert-success {
  border: 1px solid #9b9bf6;
  background-color: #eef;
  color: #00f;
}
.form-status-placeholder .alert-danger {
  border: 1px solid #f69b9b;
  background-color: #fee;
  color: #f00;
}
.form-status-placeholder p {
  margin-bottom: 0;
}
.form-status-placeholder button {
  display: none;
}

.form-entry input, .form-entry textarea, .form-entry select {
  margin-bottom: 5px;
}
input, button {
  font-family: 'Noto Sans JP', sans-serif;
}

/* 汎用クラス ------------------------------------- */
.txt_center {
	text-align: center;
}
.text-left {
  text-align: left;
}
.text-center {
  text-align: center;
}
.text-right {
  text-align: right;
}
.text-danger {
  color: #D04245;
}
.error-message {
  color: #f00;
}
.attention {
  color: #D04245;
}

.clear {
  clear: both;
}

.hidden {
  display: none;
}

dl.dl-table,
dl.dl-table > dt,
dl.dl-table > dd {
    box-sizing: border-box;
    margin: 0;
}
dl.dl-table {
    display: flex;
    flex-wrap: wrap;
    border: 1px solid #ccc;
    border-top: none;
}
dl.dl-table > dt,
dl.dl-table > dd {
    width: 100%;
    padding: 1em;
    margin: 0;
    text-align: left;
}
dl.dl-table > dt {
    border-top: 1px solid #ccc;
}
dl.dl-table.mt0 > dt,
dl.dl-table.mt0 > dd {
    border-top: none;
}
dl.dl-table input[type=text].form-control, dl.dl-table input[type=email].form-control,
dl.dl-table input[type=number].form-control, dl.dl-table input[type=password].form-control {
    max-width: 400px;
    display: block;
}
dl.dl-table textarea.form-control {
  max-width: 500px;
}
dl.dl-table select.form-control {
  width: auto;
}
@media print, (min-width: 768px) {
    dl.dl-table > dt,
    dl.dl-table > dd {
        text-align: left;
    }
    dl.dl-table > dt {
        display: flex;
        align-items: center;
        width: 25%;
        background-color: #eee;
    }
    dl.dl-table > dd {
        width: 75%;
        border-left: 1px solid #ccc;
        border-top: 1px solid #ccc;
    }
}
.form .dl-table .label-red {
  margin-right: 0;
  margin-left: auto;
}

.iframe-container {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.iframe-container iframe {
  width: 100%;
  height: 100%;
  border: none;
}

.mt0{margin-top:0 !important;}
.mt5{margin-top:5px;}
.mt10{margin-top:10px;}
.mt20{margin-top:20px;}
.mt30{margin-top:30px;}
.mt40{margin-top:40px;}
.mt50{margin-top:50px;}

.mr0{margin-right:0 !important;}
.mr5{margin-right:5px;}
.mr10{margin-right:10px;}
.mr20{margin-right:20px;}
.mr30{margin-right:30px;}
.mr40{margin-right:40px;}
.mr50{margin-right:50px;}

.mb0{margin-bottom:0 !important;}
.mb5{margin-bottom:5px;}
.mb10{margin-bottom:10px;}
.mb20{margin-bottom:20px;}
.mb30{margin-bottom:30px;}
.mb40{margin-bottom:40px;}
.mb50{margin-bottom:50px;}

.ml0{margin-left:0 !important;}
.ml5{margin-left:5px;}
.ml10{margin-left:10px;}
.ml20{margin-left:20px;}
.ml30{margin-left:30px;}
.ml40{margin-left:40px;}
.ml50{margin-left:50px;}

.border_box {
  border: 2px solid #B28850;
  padding: 10px;
  margin: 10px 0;
}
.radius_box {
  border-radius: 5px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
}
