@charset "UTF-8";
body {
  --tw-gradient-to: #fbf0bc;
  --tw-gradient-from: #bbf0c0;
  --tw-gradient-stops: var(--tw-gradient-from), var(--tw-gradient-to, rgba(187, 240, 192, 0));
}

@media screen and (min-width: 768px) {
  body {
    overflow: visible;
    contain: paint;
  }
  .front_footer_wrapper {
    padding: calc(20 * 100vw / 1400) calc(50 * 100vw / 1400);
  }
  .front_footer_wrapper .front_footer_logo_link {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0;
    margin: 0;
  }
  .front_footer_wrapper .front_footer_logo_link .front_footer_link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    column-gap: calc(50 * 100vw / 1400);
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .front_footer_wrapper .front_footer_logo_link .front_footer_link li a {
    font-size: min(14 * 100vw / 1400, 0.875rem);
    text-decoration: none;
    color: #000;
    font-weight: 400;
  }
  .front_footer_wrapper .front_footer_copyright {
    margin-top: calc(36 * 100vw / 1400);
    color: #aaaaaa;
    font-size: calc(10 * 100vw / 1400);
    font-weight: 400;
    display: flex;
    align-items: flex-start;
    justify-content: end;
    box-sizing: border-box;
  }
  .front_common_button {
    min-width: calc(210 * 100vw / 1400);
    padding: calc(10 * 100vw / 1400) calc(20 * 100vw / 1400);
    height: auto;
    background-image: linear-gradient(to right, var(--tw-gradient-stops)) !important;
    color: #000 !important;
    font-size: calc(14 * 100vw / 1400);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: calc(10 * 100vw / 1400);
  }
  .front_common_banner {
    width: 100%;
    aspect-ratio: 1400/240;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    object-fit: cover;
  }
  .front_common_banner img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .front_common_wrapper {
    padding: calc(100 * 100vw / 1400) calc(50 * 100vw / 1400);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
  }
  .front_common {
    display: flex;
    justify-content: center;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  body {
    overflow: visible;
    contain: paint;
  }
  .top_page_button_registered_description {
    font-size: calc(14 * 100vw / 390);
  }
  .front_header_wrapper,
  .front_footer_wrapper {
    max-width: calc(375 * 100vw / 390);
    width: auto;
    height: auto;
    padding: 0 calc(10 * 100vw / 390);
    padding-top: calc(20 * 100vw / 390);
    padding-bottom: calc(20 * 100vw / 390);
    /* 利用者ページ ヘッダー・フッター ロゴ */
  }
  .front_header_wrapper .front_header_logo,
  .front_header_wrapper .front_footer_logo,
  .front_footer_wrapper .front_header_logo,
  .front_footer_wrapper .front_footer_logo {
    width: calc(240 * 100vw / 390);
    height: auto;
    aspect-ratio: 340/54.86;
  }
  .front_header_wrapper .front_footer_logo_link,
  .front_footer_wrapper .front_footer_logo_link {
    padding: 0;
  }
  .front_header_wrapper .front_header_logo a,
  .front_footer_wrapper .front_header_logo a {
    display: flex;
    align-items: end;
    justify-content: space-between;
    width: 100%;
    height: auto;
  }
  .front_header_wrapper .front_header_logo a img,
  .front_header_wrapper .front_footer_logo img,
  .front_footer_wrapper .front_header_logo a img,
  .front_footer_wrapper .front_footer_logo img {
    width: calc(148 * 100vw / 390);
    height: auto;
    aspect-ratio: 210/54.86;
  }
  .front_header_wrapper .front_header_logo_title,
  .front_header_wrapper .front_footer_logo_title,
  .front_footer_wrapper .front_header_logo_title,
  .front_footer_wrapper .front_footer_logo_title {
    font-size: calc(12 * 100vw / 390);
  }
  .front_footer_wrapper .front_footer_logo_link {
    width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: calc(20 * 100vw / 390);
  }
  .front_footer_wrapper .front_footer_logo_link .front_footer_link {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
    width: calc(375 * 100vw / 390);
    row-gap: calc(10 * 100vw / 390);
    column-gap: calc(20 * 100vw / 390);
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .front_footer_wrapper .front_footer_logo_link .front_footer_link li {
    width: 40%;
  }
  .front_footer_wrapper .front_footer_logo_link .front_footer_link li a {
    font-size: calc(12 * 100vw / 390);
    text-decoration: none;
    color: #000;
    font-weight: 400;
  }
  .front_footer_wrapper .front_footer_copyright {
    margin-top: calc(50 * 100vw / 390);
    color: #aaaaaa;
    font-size: calc(10 * 100vw / 390);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
  }
  .front_common_button {
    padding: calc(10 * 100vw / 390) calc(20 * 100vw / 390);
    height: auto;
    background-image: linear-gradient(to right, var(--tw-gradient-stops));
    color: #000 !important;
    font-size: calc(14 * 100vw / 390);
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    border-radius: calc(10 * 100vw / 390);
  }
  .front_common_banner {
    width: 100%;
    aspect-ratio: 390/100;
    overflow: hidden;
    display: flex;
    justify-content: center;
    align-items: center;
    object-fit: cover;
  }
  .front_common_banner img {
    width: 100%;
    height: auto;
    object-fit: cover;
  }
  .front_common_wrapper {
    width: 100%;
    width: auto;
    height: auto;
    padding: 0 calc(20 * 100vw / 390);
    padding-top: calc(50 * 100vw / 390);
    padding-bottom: calc(50 * 100vw / 390);
  }
  .front_common__title {
    margin-bottom: calc(30 * 100vw / 390);
    font-size: calc(24 * 100vw / 390);
  }
  .front_common__form {
    width: 100%;
    row-gap: calc(20 * 100vw / 390);
    margin-bottom: calc(30 * 100vw / 390);
  }
  .front_common__form label {
    font-size: calc(16 * 100vw / 390);
  }
  .front_common__form div {
    width: 100%;
    justify-content: flex-start;
    display: flex;
    align-items: flex-start;
    flex-direction: column;
    row-gap: calc(10 * 100vw / 390);
    margin: 0;
  }
  .front_common__form div > input {
    width: 100%;
    aspect-ratio: 360/42;
    height: auto;
    border: 1px solid #a68744;
    border-radius: 5px;
    font-size: calc(16 * 100vw / 390);
    /* color: #e1d3b7; */
    color: #a68744;    
    padding-right: calc(15 * 100vw / 390);
    padding-left: calc(15 * 100vw / 390);
    box-sizing: border-box;
  }
  .front_common__form button {
    min-width: calc(200 * 100vw / 390);
    width: auto;
    border: none;
    margin-top: 0;
    margin-bottom: 0;
    height: calc(40 * 100vw / 390);
    text-decoration: none;
    background-color: var(--BUTTON_BACKGROUND_COLOR);
    color: var(--BUTTON_TEXT_COLOR);
    border-radius: 5px;
    font-size: calc(16 * 100vw / 390);
    font-weight: 400;
    padding: calc(0 * 100vw / 390) calc(20 * 100vw / 390);
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .front_common__attention {
    font-size: calc(14 * 100vw / 390);
    text-align: left;
  }
  .front_common__description {
    font-size: calc(14 * 100vw / 390);
    text-align: left;
  }
  .mypage_wrapper .mypage_contents {
    width: 100%;
  }
  .mypage_wrapper .mypage_point_wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    flex-direction: column;
    row-gap: calc(0 * 100vw / 390);
  }
  .mypage_wrapper .mypage_point_wrapper .mypage_point_balance {
    width: 100%;
  }
  .mypage_wrapper .mypage_point_balance_contents {
    align-items: center;
  }
  .mypage_wrapper .mypage_point_balance {
    width: calc(160 * 100vw / 390);
    padding: calc(10 * 100vw / 390);
  }
  .mypage_wrapper .mypage_stock_point_grant {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  .mypage_wrapper .mypage_stock {
    width: 50%;
  }
  .mypage_wrapper .mypage_point_grant {
    width: 50%;
  }
  .mypage_wrapper .mypage_stock_point_grant_wrapper {
    width: 100%;
  }
  .mypage_wrapper .mypage_ec_ir_wrapper {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    flex-direction: column;
    row-gap: calc(20 * 100vw / 390);
  }
  .mypage_wrapper .mypage_ec_ir_wrapper .mypage_ec {
    width: 100%;
  }
  .mypage_wrapper .mypage_ec_ir_wrapper .mypage_ir {
    width: 100%;
  }
  .point_history_wrapper .point_history_contents {
    width: 100%;
  }
  .point_history_wrapper .point_history_contents .point_history_attention {
    font-size: calc(12 * 100vw / 390);
  }
  .point_history_wrapper .point_history_contents .point_history_contents_header,
  .point_history_wrapper .point_history_contents .point_history_contents_body {
    font-size: calc(14 * 100vw / 390);
  }
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_header_deal_datetime,
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_body_deal_datetime,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_header_deal_datetime,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_body_deal_datetime {
    width: calc(100 * 100vw / 390);
  }
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_header_deal_point,
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_body_deal_point,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_header_deal_point,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_body_deal_point {
    width: calc(100 * 100vw / 390);
  }
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_header_comment,
  .point_history_wrapper .point_history_contents .point_history_contents_header .point_history_contents_body_comment,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_header_comment,
  .point_history_wrapper .point_history_contents .point_history_contents_body .point_history_contents_body_comment {
    width: calc(150 * 100vw / 390);
  }
}
