/*---- 共通部分 ----*/
body {
    font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial,
    "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo,
    sans-serif;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.1em;
    color: #333333;
}
select {
  color: #000;
}
.header-container{
    padding-bottom: 50px;
}
.header-title {
    font-size: 26px;
    margin-right: 10px;
}
.header-sub-title {
    font-size: 12px;
    font-weight: normal;
}
.header-hading {
    margin: 0px 15px 0px 15px;
    letter-spacing: 0.2em;
}
hr {
    margin: 0px;
}
.whole {
    width: 990px;
    margin: 0 auto;
}
.text-center {
    text-align: center;
}
.text-align-right {
    text-align: right;
}
.text-align-center {
    text-align: center;
}
.text-align-left {
    text-align: left;
}
.main-title {
    margin: 0px 15px 0px 15px;
}
.main-title h1 {
    font-size: 60px;
    margin: 0px 0px 5px 0px;
    letter-spacing: 0.1em;
}
.main-title h2 {
    margin: 0px 0px 20px 0px;
    letter-spacing: 0.3em;
    font-weight: normal;
}
.main-title-service {
    color: black;
    font-weight: normal;
}
.top-screen {
    margin:50px 15px 0px 15px;
}
.empty-box {
    margin-top: 50px;
}
.d-none {
    display: none;
}
/* 必須マーク */
.label_required::after {
  content: " *";
  color: #9B2F2F;
  vertical-align: middle;
}
/*ロゴの画像サイズ*/
.logo-sp-size {
    width: 200px;
}
/* ----------------------------------------- */

/* Loader */

#loader-bg {
    display: none;
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #000000;
    z-index: 10000;
    opacity: 0.6;
}
  
#loader {
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    width: 200px;
    height: 200px;
    margin-top: -100px;
    margin-left: -100px;
    text-align: center;
    color: #ffffff;
    z-index: 10001;
}
/* ----------------------------------------- */

/*-----  点滅  -----*/
.blinking{
	-webkit-animation:blink 0.5s ease-in-out infinite alternate;
    -moz-animation:blink 0.5s ease-in-out infinite alternate;
    animation:blink 0.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/* ----------------------------------------- */

/*-----  リンク風  -----*/
.link-style {
    color: #3C5B7E;
    text-decoration: underline;
}

/*-----  ボタン  -----*/
/*グラデーションボタン*/
.btn-gradient {
    display: inline-block;
    position: relative;
    padding: .8rem 2rem;
    color: #FFF;
    border-radius: 6rem;
    background: -webkit-gradient(45deg, #3C597A 35%, #1B2C40);
    background: linear-gradient(45deg, #3C597A 35%, #1B2C40);
    text-decoration-line: none;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
} 
.btn-gradient:hover {
    opacity: .7;
}
.btn-gradient-right {
    text-align:right;
}
/*data-tablesボタン(csv)*/
.btn-data-tables-gradient {
    font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial,
    "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo,
    sans-serif !important;
    color: #FFF !important;
    border-radius: 6rem !important;
    background: -webkit-gradient(45deg, #3C597A 35%, #1B2C40) !important;
    background: linear-gradient(45deg, #3C597A 35%, #1B2C40) !important;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
	margin-bottom: 10px !important;
}
.btn-data-tables-gradient:hover {
    opacity: .7;
}
/*ボタン（上）*/
.btn-up {
    position: relative;
    padding-left: 30px;
    margin-right: 5px;
  }
.btn-up::before { /* 背景の表示設定 */
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 1px;
    width: 30px; /* 横幅 */
    height: 30px; /* 高さ */
    border-radius: 50%; /* 角の丸み */
    background: #3C5B7E;
  }
.btn-up::after { /* くの字の表示設定 */
    content: "";
    position: absolute;
    margin: auto;
    top: 5px;
    bottom: 0px;
    left: 11px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(315deg);
}
.btn-up-disabled {
    position: relative;
    padding-left: 30px;
    margin-right: 5px;
}
.btn-up-disabled::before { /* 背景の表示設定 */
    content: "";
    position: absolute;
    margin: auto;
    top: 0;
    bottom: 0;
    left: 1px;
    width: 30px; /* 横幅 */
    height: 30px; /* 高さ */
    border-radius: 50%; /* 角の丸み */
    background: #ACACAC;
  }
  .btn-up-disabled::after { /* くの字の表示設定 */
    content: "";
    position: absolute;
    margin: auto;
    top: 5px;
    bottom: 0px;
    left: 11px;
    width: 10px;
    height: 10px;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(315deg);
  }
  /*ボタン（下）*/
  .btn-down {
      position: relative;
      padding-left: 30px;
  }
  .btn-down::before { /* 背景の表示設定 */
      content: "";
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      left: 1px;
      width: 30px; /* 横幅 */
      height: 30px; /* 高さ */
      border-radius: 50%; /* 角の丸み */
      background: #3C5B7E;
  }
  .btn-down::after { /* くの字の表示設定 */
      content: "";
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 3px;
      left: 11px;
      width: 10px;
      height: 10px;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      transform: rotate(135deg);
  }
  .btn-down-disabled {
      position: relative;
      padding-left: 30px;
  }
  .btn-down-disabled::before { /* 背景の表示設定 */
      content: "";
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 0;
      left: 1px;
      width: 30px; /* 横幅 */
      height: 30px; /* 高さ */
      border-radius: 50%; /* 角の丸み */
      background: #ACACAC;
  }
  .btn-down-disabled::after { /* くの字の表示設定 */
      content: "";
      position: absolute;
      margin: auto;
      top: 0;
      bottom: 3px;
      left: 11px;
      width: 10px;
      height: 10px;
      border-top: 3px solid #fff;
      border-right: 3px solid #fff;
      transform: rotate(135deg);
  }

/*ボタン(大きい、赤、四角いデザイン)*/
.square-red-btn {
    line-height:45px;
    justify-content: end;
}
.square-red-btn a {
    display:block;
    width:190px;
    height:45px;
    background:#9B2F2F;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
}
.square-red-btn a:hover{
    opacity: .7;
}
/*ボタン(小さい、四角いデザイン)*/
/*編集ボタン・削除ボタン・利用停止ボタン*/
.square-small-btn {
    line-height:35px;
    width: 85px;
    text-decoration: none;
}
.square-small-btn a{
    text-decoration: none;
}
.square-small-btn span{
    display:block;
    width:80px;
    height:35px;
    text-align:center;
    color:#FFFFFF;
    font-size:13px;
    border-radius: 5px;
}
.square-small-btn span:hover{
    opacity: .7;
}
.square-small-red-background span{
    background: #9B2F2F;
}
.square-small-bule-background span{
    background: #3C5B7E;
}
.square-small-gray-background span{
    background: #ACACAC;
}
.square-small-darkgray-background span{
    background: #5D5D5D;
}
.square-small-btn button{
    font-family: "Noto Sans JP", "Helvetica Neue", Helvetica, Arial, "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    width:80px;
    height:35px;
    text-align:center;
    color:#FFFFFF;
    font-size:13px;
    border-radius: 5px;
    font-weight: bold;
}
.square-small-btn button:hover{
    opacity: .7;
}
.square-small-red-background button{
    background: #9B2F2F;
}
.square-small-bule-background button{
    background: #3C5B7E;
}
.square-small-gray-background button{
    background: #ACACAC;
}
.square-small-darkgray-background button{
    background: #5D5D5D;
}
/*ボタンデザインリセット*/
.reset-design-btn button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
/*×(バツ)ボタン*/
.clear-button{
    display: flex;
    border: solid 0.1px #333 !important;
    height: 38px;
    border-radius: 100%;
    width: 48px;
    margin-left: 10px;
    margin-top: 4px;
    align-items: center;
    justify-content: center;
}
.dli-close {
    display: inline-block;
    vertical-align: middle;
    color: #333;
    line-height: 1;
    width: 1em;
    height: 0.1em;
    background: currentColor;
    border-radius: 0.1em;
    position: relative;
    transform: rotate(45deg);
  }
  .dli-close::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
  }
/*確定ボタン*/
.confirm-btn {
    margin: 20px 0px 20px 0px;
    line-height:45px;
}
.confirm-btn a {
    display:block;
    width:220px;
    height:45px;
    background:#9B2F2F;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    margin:0 auto;
}
.confirm-btn a:hover{
    opacity: .7;
}
/*ボタンmargin*/
.square-small-btn-margin span{
    margin-right: auto;
    margin-left: auto;
}
/*青角丸ボタン*/
.kadomaru-btn {
    display: inline-block;
    position: relative;
    color: #FFF;
    text-decoration-line: none;
    background-color: #3C5B7E;
    padding: 12px 20px;
    border-radius: 10px;
    font-size: 12px;
}  
.kadomaru-btn i {
    vertical-align: middle;
    font-size: 18px;
    margin-left: 5px;
}

/* DataTable カスタマイズ */
table.dataTable tbody th, table.dataTable tbody td {
    padding: 8px 5px;
}
table.dataTable.no-footer {
    border-bottom: 0px;
}
/*table(共通のところ)*/
.common-table-container {
    /* margin: 100px 15px 100px 15px;  Nakazawa修正 */
    margin: 50px 0px 50px 0px;
}
.common-table {
    min-width: 100%;
    border-collapse: collapse;
    table-layout:   auto; 
}
.table-title {
    color: #FFF;
    letter-spacing: 0.1em;
    padding: 0px 0px 0px 20px;
    white-space:nowrap; /* Nakazawa追加 */
}
.table-title tr {
    height: 30px;
}
.table-title th {
    padding: 0px 10px 0px 10px !important;
}
.table-content td {
    border-bottom: 0.5px solid #ACACAC;
    padding: 10px 0px 10px 20px;
}
.table-btn-width {
    width: 30px;
}
.table-width-110 {
    width: 110px;
}
.table-width-100 {
    width: 100px;
}
.table-width-80 {
    width: 80px;
}
.table-width-50 {
    width: 50px!important;
}
.table-nowrap {
    white-space:nowrap;
}
/* ■背景色：無効 */
.table-bg-disabled {
    background-color: #cccccc !important;
}  
/* ■背景色：開始前(Refills) */
.table-bg-before {
    background-color: #f0f8ff !important;
}

/*カラー*/
.backcolor-blue {
    background-color: #3C5B7E;
}
.backcolor-red {
    background-color: #9B2F2F;
}
.backcolor-pink {
    background-color: #FFD5D5;
}
.backcolor-darkgray {
    background-color: #5D5D5D;
}
.backcolor-black {
    background-color: #434343;
}
.backcolor-whitegray {
    background-color: #E6E6E6;
}
.backcolor-white {
    background-color: #FFF;
}
.backcolor-gray {
    background-color: #F4F4F4;
    border-radius: 0px 0px 20px 20px;
}
.fontcolor-green {
    color: #006400;
}
.fontcolor-blue {
    color: #3C5B7E;
}
.fontcolor-red,.error-message  {
    color: #9B2F2F;
}
.fontcolor-gray {
    color: #B9B9B9;
}
.fontcolor-darkgray {
    color: #5D5D5D;
}
.fontcolor-white {
    color: #ffffff;
}
/*太字*/
.fontcolor-red-bold {
    color: #9B2F2F;
    font-weight: bold;
}
/*ラジオボタン*/
.radio-part {
    margin-left: 20px;
}
/*テキストボックス*/
.common-text {
    width: 100%;
    height: 45px;    
    font-size: 16px;
    box-sizing:border-box; 
    padding: 5px;
}
.common-small-text {
    width: 100%;
    height: 45px;
    font-size: 16px;
    box-sizing:border-box;
    padding: 5px; 
}
/*備考テキスト*/
.remarks-text {
    width: 100%;
    height: 150px;    
    font-size: 16px;
    resize: none;
}
/*プルダウン*/
.common-pulldown {
    width: 100%;
    height: 45px;
    /* box-sizing:border-box; */
    font-size: 16px;
    background-color: #fff;
    border: solid 1px #000000;
    padding: 5px;
}
/*-----  モーダルの共通部分  -----*/
.grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    column-gap: 10px;
    row-gap: 5px;
}
#cell1 {
    grid-column: 1 / 3;
    grid-row: 1 / 3;
    height: 400px;
}
#cell2 {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
    height: 200px;
}
#cell3 {
    grid-column: 3 / 4;
    grid-row: 2 / 3;
    height: 200px;
}
.modal-frame {
    display: none; 
    padding: 0px; 
    margin: 0px;
}
.notice-text {
    font-size: 11px;
    font-weight: normal;
}
.margin-top10 {
    margin-top: 10px;
}
/*modal-header*/
.modal-top-margin {
    padding: 30px;
}
.modal-title {
    padding: 10px;
    text-align: center;
    color: #fff;
    border-radius: 10px 10px 0px 0px;
}
.modal-title button{
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}
.modal-margin {
    /* margin-top: 50px; Nakazawa 上下にマージンを設定*/
    margin: 50px;
}
.modal-header-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    width: 100%;
}
.modal-header-item {
    display: flex;
    flex-basis: 33%;
    justify-content: center;
    align-items: center;
}
/*moodal×ボタン*/
.close-btn {
    display: inline-block;
    vertical-align: middle;
    color: #ffffff;
    line-height: 1;
    width: 1.5em;
    height: 0.1em;
    background: currentColor;
    border-radius: 0.1em;
    position: relative;
    transform: rotate(45deg);
}
.close-btn::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
}
.close-btn-black {
    display: inline-block;
    vertical-align: middle;
    color: #000000;
    line-height: 1;
    width: 1.5em;
    height: 0.1em;
    background: currentColor;
    border-radius: 0.1em;
    position: relative;
    transform: rotate(45deg);
}
.close-btn-black::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: inherit;
    border-radius: inherit;
    transform: rotate(90deg);
  }
/*modal中身*/
.modal-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    /* margin-top: 10px; /*Nakazawa 追加 ⇒ やっぱり削除します2023/6/3*/
}
.alert-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
}
/*Nakazawa 追加*/
.modal-item60 {
    display: flex;
    flex-basis: 60%;
}
.modal-item70 {
    display: flex;
    flex-basis: 70%;
}
.modal-item1-right {
    display: flex;
    flex-basis: 30%;
    align-items: center;
	justify-content: flex-end;
}
.modal-item1 {
    display: flex;
    flex-basis: 30%;
    align-items: center;
}
.modal-item2 {
    flex-basis: 50%;
}
.modal-item3 {
    display: flex;
    flex-basis: 10%;
}
.modal-item4 {
    display: flex;
    flex-basis: 100%;
    font-size: 11px;
    color: #9B2F2F;
}
.modal-item5 {
    display: flex;
    flex-basis: 40%;
}
.modal-item6 {
    display: flex;
    flex-basis: 25%;
}
.modal-item7 {
    display: flex;
    flex-basis: 25%;
}
.modal-item01 {
    display: flex;
    flex-basis: 50%;
}
.modal-item02 {
    display: flex;
    flex-basis: 100%;
}
.modal-item03 {
    display: flex;
    flex-basis: 100%;
}
.modal-yes-btn-item {
    display: flex;
    flex-basis: 33%;
    justify-content: center;
}
.modal-no-btn-item {
    display: flex;
    flex-basis: 33%;
    justify-content: left;
}


/*Nakazawa 削除 「modal-margin に統合」⇒やっぱり復活2023/6/2 */
.modal-margin-top {
    margin-top: 10px;
}

/*modaltableサイズ*/
.modal-common-table {
    width: 100%!important;
}

/*モーダル登録ボタン(赤、四角いデザイン)*/
.modal-red-btn {
    padding-bottom: 20px;
    margin: 40px 0px 20px 0px;
    line-height:45px;
}
.modal-red-btn a {
    display:block;
    width:190px;
    height:45px;
    background:#9B2F2F;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    margin:0 auto;
}
.modal-red-btn a:hover{
    opacity: .7;
}
/*モーダル更新ボタン*/
.modal-update-btn {
    padding-bottom: 20px;
    margin: 40px 0px 20px 0px;
    line-height:45px;
}
.modal-update-btn a {
    display:block;
    width:190px;
    height:45px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 13px;
    margin:0 auto;
}
.modal-update-btn a:hover{
    opacity: .7;
}
/*はい・いいえボタン*/
.modal-yes-btn,.modal-no-btn {
    line-height:45px;
    width: 85px;
}
.modal-yes-btn span{
    display:block;
    width:125px;
    height:45px;
    text-align:center;
    color:#FFFFFF;
    font-size:13px;
    border-radius: 5px;
    background: #3C5B7E;
}
.modal-no-btn span{
    display:block;
    width:125px;
    height:45px;
    text-align:center;
    color:#FFFFFF;
    font-size:13px;
    border-radius: 5px;
    background: #ACACAC;
}
.modal-no-btn span:hover {
    opacity: .7;
}
.modal-yes-btn span:hover{
    opacity: .7;
}
/*契約するボタン*/
/*.modal-contract-btn {*/
.btn-gradient-large {
    display: inline-block;
    position: relative;
    padding: .8rem 2rem;
    color: #FFF;
    border-radius: 6rem;
    background: -webkit-gradient(45deg, #3C597A 35%, #1B2C40);
    background: linear-gradient(45deg, #3C597A 35%, #1B2C40);
    text-decoration-line: none;
    box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.1);
} 
.btn-gradient-large:hover {
    opacity: .7;
}

/* Hoshi 追加 */
.modal-close-btn {
    margin-left: auto;
}

.infomation-time {
    text-align: right;
    color: #B9B9B9;
}
.infomation-title {
    font-size: 20px;
    margin: 15px 0px 15px 0px;
    /* background: linear-gradient(transparent 75%, #ffff7f 75%); */
     display: inline-block;
     border-bottom: 8px solid #3C5B7E;
}
.infomation-text {
    margin-bottom: 0px;
}

/*Nakazawa 追加*/
.justify-content-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
    margin-bottom: 30px;
}
.repeat-payment-modal-table {
    margin-left: auto;
    margin-right: auto;
}

/*----- Plan -----*/
.plan-lists-top-container {
    display: flex;
    flex-wrap: wrap;
}
.plan-lists-top-item1 {
    display: flex;
    flex-basis: 50%;
    align-items: center;
}
.plan-lists-top-item2 {
    display: flex;
    flex-basis: 50%;
    align-items: center;
    justify-content: end;
}
.plan-lists-container {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap;
    margin: 0px auto 0px auto;
    width: 990px;
}
.plan-lists-item {
    display: flex;
    flex-basis: 300px;
    text-align: left;
    padding: 50px 15px;
    flex-direction:column;
}
.plan-lists-img {
    width: 100%;
    height: 250px;
}
.modal-img {
    width: auto;
    height: auto;
}
.plan-lists-pic {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
/*plan-listsダイアログ*/
.modal-plan-lists-goods {
    font-size: 25px;
    margin: 0px 0px 15px 0px;
}
.modal-plan-lists-margin-15 {
    margin-top: 15px;
}
.modal-plan-lists-margin-50 {
    margin-top: 50px;
}
.plan-lists-goods {
    font-size: 14px;
    flex-grow:1;
    margin: 0px 0px 15px 0px;
}
.plan-lists-money {
    font-size: 18px;
    margin: 0px 0px 15px 0px;
}
.plan-lists-text-month {
    color: #7B7B7B;
    font-size: 10px;
    letter-spacing: 1px;
}
.plan-lists-annotation {
    margin: 0px 0px 5px 0px;
    font-size: 12px;
}


/* ----------------------------------------- */

/* ■プラン 画像アップロード */
.upload_image_box {
  text-align: center;
  position: relative;
  width: 100%;
  height: 400px;
  border: 1px black dashed;
}

.upload_image_box_icon {
  text-align: center;
  position: relative;
  width: 100%;
  height: 400px;
  border: 1px black dashed;
  color: #B9B9B9;
}

.upload_image_box_icon::after {
  position: absolute;
  content: "\f574  画像を追加";
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
  font-size: 35px;
  top: 40%;
  left: 0;
  right: 0;
  margin: auto;
  color: #B9B9B9;
}

.upload_image_box_content {
  position: absolute;
  width: 80%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.upload_image_thum {
  max-height: 300px;
  /* max-width: 400px; */
  width: 100%;
  object-fit: contain;
}

/* ----------------------------------------- */

/*MyPlan*/
.myplan-btn-position {
    text-align: end;
}
.myplan-container {
    margin: 50px 15px 50px 15px;
}
.myplan-main-title {
    margin: 10px 0px 10px 0px;
    font-size: 16px;
}
.myplan-title {
    color: #FFF;
    font-size: 15px;
    letter-spacing: 0.1em;
    padding: 10px 0px 10px 20px;
}
.myplan-title tr {
    height: 30px;
}
.myplan-title th {
    padding: 0px 10px 0px 10px !important;
}
.myplan-content td {
    border-bottom: 0.5px solid #ACACAC;
    padding: 5px 0px 5px 20px;
    height: 40px;
}
.myplan-content img {
    width: 90px;
    height: 100%;
    object-fit:contain;
}
.myplan-img {
    height: 70px;
    width: 60px;
}
.myplan-img img {
    border-radius: 5px;
    background-color: #ffffff;
}


/*ボタン(myおすすめプランに追加)*/
.myplan-btn-addition{
    line-height:40px;
    width: 210px;
}
.myplan-btn-addition span{
    display:block;
    width:210px;
    height:40px;
    text-decoration: none;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    font-size:16px;
    border-radius: 5px;
    margin-right: 5px;
    margin-left: 5px;
    padding: 0px 5px;
}
.myplan-btn-addition span:hover{
    opacity: .7;
}




/*----- Dashboard -----*/
.dashboard-top-container {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.dashboard-container {
    padding: 10px 15px 10px 15px;
}
.dashboard-title {
    color: #FFF;
    padding: 10px 0px 10px 20px;
    border-radius: 20px 20px 0px 0px;
}
.dashboard-title p {
    margin: 0px;
}
.dashboard-title-sub {
    font-size: 9px;
    margin-left: 10px;
}
.dashboard-content {
    padding: 15px 20px 0px 20px;
}
.dashboard-content p {
    margin: 5px 0px 0px 0px;
}
.dashboard-content-sub {
    font-size: 9px;
    margin: 0px 0px 20px 0px;
}
.dashboard-content-name {
    color: #707070;
}
.dashboard-more {
    text-align: right;
    font-size: 12px;
    padding: 15px;
    letter-spacing: 2px;
}
.dashboard-more a {
    color: #000;
}
#dashboard-margin-40 {
    margin-top: 40px;
}





/*--- Refills（ご利用一覧） ---*/
.refills-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.refills-container-radio {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
    align-items: center;
}
.refills-item1 {
    display: flex;
    flex-basis: 30%;
}
.refills-item2 {
    display: flex;
    flex-basis: 40%;
}
.refills-item3 {
    display: flex;
    flex-basis: 70%;
}
/* 解約日(マーカー) */
.refills-contract_to {
  background:linear-gradient(transparent 50%, #ccff33 0%);
}
/*table*/
/* .refills-table-container {
    margin: 100px 15px 100px 15px;
} */





/*Refills（利用登録情報）*/
/* ボタンをプラン登録画面でも使用している */
#refills-ur-contract-details {
    border: solid 2px #3C5B7E;
    border-radius: 10px;/*角の丸み*/
}
#refills-ur-contract-details-title {
    line-height:40px;
}
#refills-ur-contract-details-title span{
    display:block;
    width:120px;
    height:40px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-bottom-right-radius: 10px;
}
.refills-ur-top-container {
    display: flex;
    flex-wrap: wrap;
    padding: 25px 0px 65px 0px;
}
.refills-ur-top-item {
    flex-basis: 50%;
}
.refills-ur-top-item th {
    padding:5px 20px 5px 20px;
    text-align: left;
    color: #3C5B7E;
    letter-spacing: 0.1em;
    white-space:nowrap;
}
.refills-ur-top-item td {
    letter-spacing: 0.1em;
}
.refills-ur-btn-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
}
.refills-ur-btn-item {
    padding: 10px 20px;
}
/* 戻るボタン */
.refills-back-btn {
    line-height:45px;
}
.refills-back-btn a{
    display:block;
    width:240px;
    height:45px;
    text-decoration: none;
    background:#5D5D5D;
    text-align:center;
    color:#FFFFFF;
    border-radius: 15px;
}
.refills-back-btn a:hover{
    opacity: .7;
}
/* 登録ボタン */
.new-register-btn {
    line-height:45px;
}
.new-register-btn a{
    display:block;
    width:240px;
    height:45px;
    text-decoration: none;
    background:#9B2F2F;
    text-align:center;
    color:#FFFFFF;
    border-radius: 15px;
}
/* 更新ボタン(プラン更新画面にて使用) */
.plan-update-btn {
    line-height:45px;
    margin-top: 30px;
}
.plan-update-btn a{
    display:block;
    width:240px;
    height:45px;
    text-decoration: none;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-radius: 15px;
}
.refills-ur-table-container {
    margin: 80px 15px 100px 15px;
}




/*----- Members ------*/
.members-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.members-container-radio {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 20px;
    align-items: center;
}
.members-item1 {
    flex-basis: 30%;
    display: flex;
}
.members-item2 {
    flex-basis: 40%;
}
.members-item3 {
    flex-basis: 70%;
}
/*table*/
#members-modal-padding-20 {
    padding-bottom: 20px;
}
/*memberモーダル*/
.modal-member {
    display: flex;
    flex-basis: 40%;
}




/*----- Payments ------*/
.payments-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.payments-item1 {
    display: flex;
    flex-basis: 30%;
}
.payments-item2 {
    display: flex;
    flex-basis: 40%;
}
.payments-text-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}
.payments-text-item1 {
    display: flex;
    flex-basis: 45%;
}
.payments-text-item2 {
    display: flex;
    flex-basis: 10%;
    justify-content: center;
}
.payments-clear-btn{
    display: flex;
    border: solid 0.1px #333 !important;
    height: 41px;
    border-radius: 100%;
    width: 43px;
    margin-left: 10px;
    margin-top: 4px;
    align-items: center;
    justify-content: center;
}
/*--- repeat-payment ---*/
#repeat-payment-contract-details {
    border: solid 2px #3C5B7E;
    border-radius: 10px;/*角の丸み*/
}
#repeat-payment-contract-details-title {
    line-height:40px;
}
/* #refills-ur-contract-details-title span{
    display:block;
    width:120px;
    height:40px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-bottom-right-radius: 10px;
} */

/*repeat-paymentダイアログ*/
#repeat-payment-contract-details {
    border: solid 2px #3C5B7E;
    border-radius: 10px;/*角の丸み*/
}
#repeat-payment-contract-details-title {
    line-height:40px;
}
#repeat-payment-contract-details-title span{
    display:block;
    width:120px;
    height:40px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-bottom-right-radius: 10px;
}
.repeat-payment-padding {
    padding: 25px 0px 65px 0px;
}
.repeat-payment-top-container {
    display: flex;
    flex-wrap: wrap;
}
.repeat-payment-top-item {
    flex-basis: 50%;
}
.repeat-payment-top-item th {
    padding:5px 20px 5px 20px;
    text-align: left;
    color: #3C5B7E;
    letter-spacing: 0.1em;
}
.repeat-payment-top-item td {
    letter-spacing: 0.1em;
}
.repeat-payment-table-container {
    margin: 80px 15px 100px 15px;
}
.repeat-payment-notice-text {
    font-size: 11px;
    font-weight: normal;
    padding: 0px 20px;
}




/*---- Management ----*/
.management-heading {
    border-radius: 10px 10px 0px 0px;
    padding: 10px;
}
.management-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border:  solid 2px #3C5B7E;
    border-radius: 0px 0px 10px 10px;
}
.management-item {
    display: flex;
    flex-basis: 50%;
    align-items: center;
    justify-content: center;
    padding: 30px 0px;
}
.management-magin-right {
    margin-right: 10px;
}
.management-btn-container {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 10px;
}
.management-btn-item {
    padding: 10px 20px;
}
.management-btn {
    line-height:45px;
}
.management-btn a{
    display:block;
    width:200px;
    height:45px;
    text-decoration: none;
    text-align:center;
    color:#FFFFFF;
    border-radius: 15px;
}
.management-darkgray-btn a{
    background:#5D5D5D;
}
.management-red-btn a{
    background:#9B2F2F;
}
.management-btn a:hover{
    opacity: .7;
}
.management-th-1 {
    width: 380px !important;
}
.management-th-2 {
    width: 150px !important;
}
.management-th-3 {
    width: 80px !important;
}
.management-th-4 {
    width: 50px !important;
}
.suspension-of-use {
    background-color: #F0F0F0!important;
    color: #ACACAC;
}
.management-btn-margin-top {
    margin-top: 30px;
}



/*--- Plans ---*/
.plans-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.plans-button-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 30px;
    align-items: center;
}
.plans-note-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 0px;
    margin-bottom: 15px;
    align-items: center;
}
.plans-item1 {
    flex-basis: 30%;
    display: flex;
}
.plans-item2 {
    display: flex;
    flex-basis: 40%;
}
.plans-item3 {
    display: flex;
    flex-basis: 70%;
}
.plans-note {
    font-size: 12px;
}
.plans-margin {
    margin-top: 0px;
    margin-bottom: 50px;
}

/*--- Users ---*/
.users-container1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.users-item1 {
    display: flex;
    flex-basis: 30%;
}
.users-item2 {
    display: flex;
    flex-basis: 40%;
}

/*--- Menus ---*/
.menus-container1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.menus-item1 {
    display: flex;
    flex-basis: 30%;
}
.menus-item2 {
    display: flex;
    flex-basis: 40%;
}

/*--- Contracts ---*/
.contracts-container1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.contracts-item1 {
    display: flex;
    flex-basis: 30%;
}
.contracts-item2 {
    display: flex;
    flex-basis: 40%;
}
.contracts-item3 {
    flex-basis: 70%;
}
.contracts-item4 {
    flex-basis: 100%;
}
#contracts-plan-title p{
    margin: 5px 0px;
}
#contracts-plan-detail p{
    margin: 0px 0px;
    line-height: 1.5em;;
}
.contracts-img {
    width: 100%;
    height: 250px;
}
.contracts-pic {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.contracts-contract-btn {
    line-height:45px;
    margin: 5px 0px;
}
.contracts-contract-btn a {
    display:block;
    width:100%;
    height:45px;
    background:#9B2F2F;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 11px;
}
.contracts-contract-btn a:hover{
    opacity: .7;
}
.contracts-margin-bottom {
    margin-bottom: 50px;
}
/*新規契約（同意書確認）*/
#new-contract {
    border: solid 2px #3C5B7E;
    border-radius: 10px;/*角の丸み*/
}
#new-contract-title {
    line-height:40px;
}
#new-contract-title span{
    display:block;
    width:120px;
    height:40px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-bottom-right-radius: 10px;
}
.new-contract-top-container {
    padding: 0px 0px 20px 20px;
}
.new-contract-container {
    padding: 20px 40px 20px 20px;
}
.new-contract-item th {
    padding:5px 20px 5px 20px;
    text-align: left;
    color: #3C5B7E;
    letter-spacing: 0.1em;
}
.new-contract-item td {
    letter-spacing: 0.1em;
}
.new-contract-note {
    text-align: center;
    font-size: 12px;
    margin: 20px 0px;
}
.new-contract-policies {
    overflow-x: hidden;
    overflow-y: auto;
    height: 300px;
    margin: 0px auto;
    padding: 0.6em;
    color: #000;
    white-space: pre-wrap;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: inset 0 1px 1px #e6e6e6;
}


/*--- Reviews ---*/
.reviews-container1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.reviews-item1 {
    display: flex;
    flex-basis: 30%;
}
.reviews-item2 {
    display: flex;
    flex-basis: 40%;
}
/*星*/
.star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
}

.star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}

.star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}

.star5_rating[data-rate="5"]:after{ width: 100%; } /* 星5 */
.star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
.star5_rating[data-rate="4"]:after{ width: 80%; } /* 星4 */
.star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
.star5_rating[data-rate="3"]:after{ width: 60%; } /* 星3 */
.star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
.star5_rating[data-rate="2"]:after{ width: 40%; } /* 星2 */
.star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
.star5_rating[data-rate="1"]:after{ width: 20%; } /* 星1 */
.star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
.star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */


/*---Users Login ---*/
.login-margin-top {
    margin-top: 150px;
}
.login-margin {
    margin-top: 100px;
}
.login-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.login-item1 {
    display: flex;
    flex-basis: 10%;
}
.login-item2 {
    display: flex;
    flex-basis: 30%;
}
.login-item2 span{
    padding-left: 60px;
}
.login-item3 {
    display: flex;
    flex-basis: 50%;
}
.login-text {
    width: 80%;
    height: 40px;    
    font-size: 16px;
    box-sizing:border-box; 
    padding: 5px;
}
.login-btn {
    padding-bottom: 20px;
    margin: 30px 0px 20px 0px;
    line-height:45px;
}
.login-btn a {
    display:block;
    width:190px;
    height:45px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 11px;
    margin:0 auto;
}
.login-btn a:hover{
    opacity: .7;
}

/*--- MemberLogins ---*/
/*login*/
.member-login-top-margin {
    margin: 30px 30px 0px 30px;
}
.member-login-margin {
    margin-top: 50px;
}
.member-login-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
    justify-content: space-between;
}
.member-login-item1 {
    display: flex;
    flex-basis: 25%;
    /* margin-left: 5px; */
}
.member-login-item2 {
    display: flex;
    flex-basis: 45%;
}
.member-login-item3 {
    display: flex;
    flex-basis: 100%;
}
.member-login-text {
    width: 100%;
    height: 45px;    
    font-size: 16px;
    box-sizing:border-box; 
    padding: 5px;
}
#member-login-note {
    font-size: 12px;
}
#member-login-footer {
    margin-top: 30px;
    text-align: center;
}
/*error*/
.member_login-error-margin {
    margin: 100px 0px;
}
.error-flash-message {
    margin-top:100px;
    display: block;
    text-align: center;
}
.error-flash-message p {
    text-align: left;
    display: inline-block;
}
/* nakazawa 後で消す
input:invalid {
    background-color: pink;
}
error {
    width: 100%!important;
}
*/
/*info*/
.member-login-info-name {
    font-size: 30px;
    display: inline-block;
    border-bottom: 8px solid #3C5B7E;
    margin: 0px 0px 10px 0px;
}
.member-login-info-title h1{
    font-size: 25px;
    margin: 0px;
}
.member-login-info-table {
    margin-top: 30px;
}
.member-login-info-number {
    padding-top: 10px;
}
.member-login-info-number-title {
    width: 150px;
}
/*契約状況*/
.no-contract-box,.contract-box,.cancel-box {
    margin-top: 50px;
}
.member-login-info-situation h2{
    font-size: 16px;
    padding: 10px
}
.member-login-info-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
    justify-content: center;
}
.member-login-info-item1 {
    flex-basis: 25%;
}
.member-login-info-item2 {
    flex-basis: 70%;
    margin-left: 10px;
}
.member-login-info-img {
    width: 100%;
    height: 130px;
    object-fit: contain;
}
/*商品名*/
.member-login-info-productname {
    font-size: 12px;
}
/*内容、詳細*/
.member-login-info-content {
    font-size: 10px;
    margin: 5px 0px 5px 0px;
}
.days-left {
    color: #9B2F2F;
    margin-left: 5px;
}
/*レビュー*/
.member-login-info-review-backcolor {
    background-color: #FFF;
    margin: 10px;
    width: 100%;
}
.member-login-info-review-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
    justify-content: center;
}
.member-login-info-item3 {
    flex-basis: 100%;
}
.member-login-info-review-text {
    font-size: 10px;
    margin: 10px 10px 0px 10px;
}
.member-login-info-star {
    font-size: 12px;
    margin: 0px 10px 10px 10px;
}
.cancel-img {
    background-color:#777777;
    display:inline-block;
}
.cancel-img img{
    opacity: 0.5;
    display:block;
}
.update-review-margin {
    margin-top: 10px;
}
/*口コミ更新ボタン*/
.review-update-btn {
    padding-bottom: 10px;
    line-height:15px;
}
.review-update-btn a {
    display:block;
    width:100px;
    height:15px;
    background:#3C5B7E;
    text-align:center;
    color:#FFFFFF;
    border-radius: 5px;
    text-decoration: none;
    font-size: 11px;
    margin:0 auto;
}
.review-update-btn a:hover{
    opacity: .7;
}
.cancel-backcolor {
    background-color: #777777;
}

/*--- Messages ---*/
.messages-container1 {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.messages-item1 {
    display: flex;
    flex-basis: 30%;
}
.messages-item2 {
    display: flex;
    flex-basis: 40%;
}
.messages-item3 {
    display: flex;
    flex-basis: 70%;
}
/*meassageダイアログ*/
.modal-meassage-item1 {
    display: flex;
    flex-basis: 20%;
    align-items: center;
}
.modal-meassage-item2 {
    display: flex;
    flex-basis: 80%;
}
.meassage-text-area {
    width: 100%;
    height: 300px;
    font-size: 16px;
    resize: none;
}




/*Analysis*/
.analysis-totalling {
    margin-top: 30px;
    display: inline-block;
    padding: 10px 25px 10px 25px;
    background-color: #F4F4F4;
    border-radius: 30px 0px 0px 30px;
}
.analysis-search-condition {
    border: solid 2px #3C5B7E;
    border-radius: 10px;
}
.analysis-search-condition-padding{
    padding: 15px 30px 30px 30px;
}
.analysis-search-condition-title {
    line-height: 40px;    
}
.analysis-search-condition-title span{
    display: block;
    width: 120px;
    height: 40px;
    background: #3C5B7E;
    text-align: center;
    color: #FFFFFF;
    border-bottom-right-radius: 10px;
}
.analysis-search-condition-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}
.analysis-search-condition-item{
    flex-basis: 50%;
}
/*helpダイアログ*/
.analysis-help-item {
    display: flex;
    flex-basis: 50%;
    justify-content: flex-end;
}
.analysis-help-btn a{
    display: inline-block;
    position: relative;
    padding: 0.2rem 1rem;
    font-size: 12px;
    color: #3C5B7E;
    border-radius: 6rem;
    background-color: #F4F4F4;
    text-decoration-line: none;
    letter-spacing: 0.05em;
}
/*helpアイコン調整*/
.help-icon {
    vertical-align: middle;
    margin-left: 5px;
}
/*タイトル*/
.analysis-title-margin {
    margin: 0px 0px 0px 0px;
}
.analysis-title {
    margin-bottom: 0.2rem;
    padding: 0px 5px;
    border-left: 5px solid #3C5B7E;
    color: #3C5B7E;
    font-weight: bold;
    font-size: 20px;
}
.analysis-table-containe {
    margin: 50px 0px 100px 0px;
}
.analysis-line {
    display: inline-block;
    border-bottom: 6px solid #3C5B7E;
}
.analysis-dialog-title p{
    margin: 0px;
}
.analysis-dialog-text{
    margin-top: 25px;
}
.analysis-dialog-text p{
    margin: 0px;
}
.analysis-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    margin-top: 10px;
    align-items: center;
}
.analysis-item1 {
    display: flex;
    flex-basis: 30%;
}
.analysis-item2 {
    display: flex;
    flex-basis: 40%;
}
.analysis-text-container {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: center;
}
.analysis-text-item1 {
    display: flex;
    flex-basis: 45%;
}
.analysis-text-item2 {
    display: flex;
    flex-basis: 10%;
    justify-content: center;
}
/*グラフ*/
.disp-chart {
    margin-top: 20px;
}

/*---ブレイクポイント---*/
@media screen and (max-width: 1100px) {
    /*--- 共通 ---*/
    .whole {
        width: 780px;
    }
    .table-title th {
        font-size: 11px;
    }
    .table-content td {
        font-size: 11px;
    }
    /*ボタン（大きい、赤、四角）*/
    .square-red-btn a{
        width:165px;
        font-size: 11px;
    }
    /*ボタン（小さい、四角）*/
    .square-small-btn {
        width: 75px;
        line-height:30px;
    }
    .square-small-btn span{
        width:75px;
        height:30px;
        font-size:11px;
    }
    /*モーダル登録ボタン*/
    .modal-red-btn a {
        font-size: 11px;
    }
    /*モーダル更新ボタン*/
    .modal-update-btn a {
        font-size: 11px;
    }
    /*--- plan-lists ---*/
    .plan-lists-container {
        width: 780px;
    }
    .plan-lists-item {
        flex-basis: 240px;
        padding: 30px 10px;
    }
    .plan-lists-img {
        height: 180px;
    }
    /*--- myplan ---*/
    .myplan-content td {
        font-size: 11px;
    }
    .myplan-title th {
        font-size: 11px;
    }
    /*ボタン（myおすすめプランに追加）*/
    .myplan-btn-addition {
        width: 150px;
        line-height: 30px;
    }
    .myplan-btn-addition span{
        font-size:11px;
        width: 150px;
        height: 30px;
    }
    .myplan-content img {
        width: 70px;
    }
    .myplan-img {
        height: 45px;
        width: 70px;
    }
}

 @media screen and (max-width: 810px) {
    /*--- 共通部分 ---*/
    .main-title h1 {
        font-size: 45px;
    }
    .main-title h2 {
        font-size: 20px;
    }
    /*ボタン*/
    .btn-gradient {
        padding: .5rem 1.3rem;
        font-size: 12px;
    } 
    .whole {
        width:700px;
    }
    /*--- plan-lists ---*/
    .plan-lists-container {
        width: 700px;
    }
    .plan-lists-item {
        flex-basis: 213px;
    }
    .refills-ur-top-item {
        font-size: 15px;
    }


}
@media screen and (max-width: 730px) {
    /*--- 共通部分 ---*/
    .scroll {
        overflow-x: scroll;
    }
    .whole {
        width: 100%;
    }
    .common-table {
        min-width: 810px;
    }
    /*--- plan-lists ---*/
    .plan-lists-container {
        width: 600px;
    }
    .plan-lists-item {
        flex-basis: 180px;
    }
}

@media screen and (max-width: 630px) {
    /*--- 共通部分 ---*/
    /*ボタン*/
    .btn-gradient {
        padding: .8rem 1.0rem;
        font-size: 13px;
    } 
    /*--- plan-lists ---*/
    .plan-lists-container {
        width: 500px;
    }
    .plan-lists-item {
        flex-basis: 146px;
    }
    .plan-lists-goods {
        font-size: 15px;
    }
    .plan-lists-money {
        font-size: 15px;
    }
    .plan-lists-img {
        height: 130px;
    }
}

@media screen and (max-width: 530px) {
    /*--- 共通部分 ---*/
    .header-container {
        padding-bottom: 20px;
    }
    .header-hading {
        letter-spacing: 0.1em;
    }
    .header-title {
        font-size: 20px;
    }
    .header-sub-title {
        font-size: 10px;
    }
    .main-title h1 {
        font-size: 35px;
    }
    .main-title h2 {
        font-size: 13px;
    }
    .common-table {
        /* min-width: 710px; */
        min-width: 100%;
    }
    /* テーブルのレスポンシブ対応(ダイアログ)で使用 */
    .min_width_200 {
        min-width: 200px;
    }
    /* テーブルのレスポンシブ対応で使用 */
    .min_width_280 {
        min-width: 280px;
    }
    /*スマホの時非表示*/
    .spview {
        display: none;
    }

    /*ボタン（小さい、四角）*/
    .square-small-btn {
        width: 65px;
        line-height:25px;
    }
    .square-small-btn span{
        width:65px;
        height:25px;
        font-size:10px;
    }

    /*ボタン（上）*/
    .btn-up {
        padding-left: 20px;
    }
    .btn-up-disabled {
        padding-left: 20px;
    }
    .btn-up::before { /* 背景の表示設定 */
        width: 20px; /* 横幅 */
        height: 20px; /* 高さ */
    }
    .btn-up::after { /* くの字の表示設定 */
        bottom: 1px;
        left: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
    .btn-up-disabled::before { /* 背景の表示設定 */
        width: 20px; /* 横幅 */
        height: 20px; /* 高さ */
    }
    .btn-up-disabled::after { /* くの字の表示設定 */
        bottom: 1px;
        left: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }

    /*ボタン（下）*/
    .btn-down::before { /* 背景の表示設定 */
        width: 20px; /* 横幅 */
        height: 20px; /* 高さ */
    }
    .btn-down::after { /* くの字の表示設定 */
        bottom: 3px;
        left: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }
    .btn-down-disabled::before { /* 背景の表示設定 */
        width: 20px; /* 横幅 */
        height: 20px; /* 高さ */
    }
    .btn-down-disabled::after { /* くの字の表示設定 */
        bottom: 3px;
        left: 6px;
        border-top: 2px solid #fff;
        border-right: 2px solid #fff;
    }



    /*ボタン（大、四角い）*/
    .square-red-btn {
        margin-top: 40px;
        justify-content: left;
    }
    /*modal*/
    .modal-margin-top {
        margin-top: 20px;
    }
    .alert-container {
        justify-content: center;
    }
    .modal-margin {
        margin: 20px;
    }
    .modal-item1 {
        flex-basis: 100%;
    }
    .modal-item2 {
        flex-basis: 100%;
    }
    .modal-item3 {
        flex-basis: 100%;
    }
    .modal-item60 {
        flex-basis: 100%;
    }
    .modal-item70 {
        flex-basis: 100%;
    }
    .modal-item1-right {
        flex-basis: 100%;
        justify-content: left;
    }
    .modal-header-item {
        flex-basis: 50%;
        justify-content: left;
    }
    .modal-member {
        flex-basis: 100%;
    }
    /*はい・いいえボタン*/
    .modal-yes-btn,.modal-no-btn {
        width: 100%;
    }
    /*modaltableサイズ*/
    .modal-common-table {
        width: 710px!important;
    }

    /*----Users Login----*/
    .login-margin-top {
        margin-top: 100px;
    }
    .login-margin {
        margin: 30px;
    }
    .login-item1 {
        flex-basis: 100%;
    }
    .login-item2 {
        flex-basis: 100%;
    }
    .login-item2 span {
        padding-left: 0px;
    }
    .login-item3 {
        flex-basis: 100%;
        justify-content: center;
    }
    .login-text {
        width: 100%;
    }


    /*--- plan-lists ---*/
    .plan-lists-container {
        width: 100%;
    }
    .plan-lists-item {
        flex-basis: 100%;
    }
    .plan-lists-img {
        height: 250px;
    }



    /*--- myplan ---*/
    .myplan-main-title {
        font-size: 15px;
    }
    .dashboard-top-container {
        width: 100%;
    }
    #dashboard-top-item1 {
        flex-basis: 100%;
    }
    #dashboard-top-item2 {
        flex-basis: 100%;
        margin-top: 20px;
    }



    /*--- refills ---*/
    .refills-item1 {
        flex-basis: 100%;
    }
    .refills-item2 {
        flex-basis: 100%;
        margin-top: 10px;
    }
    .refills-item3 {
        flex-basis: 100%;
    }
    .refills-rasio {
        font-size: 11px;
    }
    .refills-ur-top-item {
        flex-basis: 100%;
    }


    /*---- contracts ----*/
    .contracts-item1 {
        flex-basis: 100%;
    }
    .contracts-item2 {
        flex-basis: 100%;
    }
    .contracts-item3 {
        flex-basis: 100%;
    }
    .contracts-rasio {
        font-size: 11px;    
    }


    /*--- members ---*/
    .members-item1 {
        flex-basis: 100%;
    }
    .members-item2 {
        flex-basis: 100%;
        margin-top: 10px;
    }
    .members-item3 {
        flex-basis: 100%;
    }
    .members-rasio {
        font-size: 11px;
    }


    /*--- payments ---*/
    .payments-item1 {
        flex-basis: 100%;
    }
    .payments-item2 {
        flex-basis: 100%;
        margin-top: 10px;
    }
    .payments-item3 {
        flex-basis: 100%;
    }
    /*repeat-payment*/
    .repeat-payment-top-item {
        flex-basis: 100%;
    }
    /*management*/
    .management-item {
        flex-basis: 100%;
    }
    .management-btn-container {
        flex-direction: column;
        align-items: flex-start;
    }
    .management-btn-item {
        flex-basis: 100%;
        align-self: center;
    }


    /*---- analysis ----*/
    .analysis-item1 {
        flex-basis: 100%;
    }
    .analysis-item2 {
        flex-basis: 100%;
    }


    /*----- plans -----*/
    .plans-item1 {
        flex-basis: 100%;
    }
    .plans-item2 {
        flex-basis: 100%;
    }
    .plans-item3 {
        flex-basis: 100%;
    }


    /*---- users ----*/
    .users-item1 {
        flex-basis: 100%;
    }
    .users-item2 {
        flex-basis: 100%;
    }



    /*---- reviews -----*/
    .reviews-item1 {
        flex-basis: 100%;
    }
    .reviews-item2 {
        flex-basis: 100%;
    }


    /*---- messages -----*/
    .messages-item1 {
        flex-basis: 100%;
    }
    .messages-item2 {
        flex-basis: 100%;
    }
    .messages-item3 {
        flex-basis: 100%;
    }
    /*meassageダイアログ*/
    .modal-meassage-item1 {
        flex-basis: 100%;
    }
    .modal-meassage-item2 {
        flex-basis: 100%;
    }
}