@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
::placeholder {
  color: #ccc; }

:-ms-input-placeholder {
  color: #ccc; }

::-webkit-input-placeholder {
  color: #ccc; }

.cmn_btn, .btn01, .btn02 {
  align-items: center;
  display: flex;
  font-weight: 700;
  height: 100%;
  padding-left: 20px;
  position: relative;
  width: 100%; }
  .cmn_btn::after, .btn01::after, .btn02::after {
    content: "";
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%); }
    @media (min-width: 768px), print {
      .cmn_btn::after, .btn01::after, .btn02::after {
        height: 18px;
        width: 11px; } }
    @media (max-width: 767px) {
      .cmn_btn::after, .btn01::after, .btn02::after {
        height: 16px;
        width: 9px; } }

*,
*::after,
*::before {
  box-sizing: border-box; }

body,
button,
input,
select,
textarea {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", Hiragino Kaku Gothic Pro, "ＭＳ Ｐゴシック", sans-serif; }

html,
body,
h1,
h2,
h3,
h4,
h5,
h6,
article,
aside,
details,
figcaption,
figure,
footer,
header,
main,
menu,
nav,
section,
summary,
div,
span,
p,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
a,
img,
label,
form,
input,
textarea {
  margin: 0;
  padding: 0; }

ol,
ul {
  list-style: none; }

img {
  border: 0;
  height: auto;
  line-height: 1;
  vertical-align: bottom;
  max-width: 100%; }

a {
  background: transparent;
  cursor: pointer;
  outline: 0 none; }

html {
  display: flex;
  flex-direction: column;
  font-size: 62.5%; }

body {
  color: #333;
  display: flex;
  flex-direction: column;
  font-size: 1.6rem;
  min-height: 100vh;
  line-height: 1.6; }

main {
  flex: 1 1 auto; }

.mg_tp5 {
  margin-top: 5px; }

.mg_bt5 {
  margin-bottom: 5px !important; }

.mg_tp10 {
  margin-top: 10px; }

.mg_bt10 {
  margin-bottom: 10px !important; }

.mg_tp15 {
  margin-top: 15px; }

.mg_bt15 {
  margin-bottom: 15px !important; }

.mg_tp20 {
  margin-top: 20px; }

.mg_bt20 {
  margin-bottom: 20px !important; }

.mg_tp25 {
  margin-top: 25px; }

.mg_bt25 {
  margin-bottom: 25px !important; }

.mg_tp30 {
  margin-top: 30px; }

.mg_bt30 {
  margin-bottom: 30px !important; }

.mg_tp35 {
  margin-top: 35px; }

.mg_bt35 {
  margin-bottom: 35px !important; }

.mg_tp40 {
  margin-top: 40px; }

.mg_bt40 {
  margin-bottom: 40px !important; }

.mg_tp45 {
  margin-top: 45px; }

.mg_bt45 {
  margin-bottom: 45px !important; }

.mg_tp50 {
  margin-top: 50px; }

.mg_bt50 {
  margin-bottom: 50px !important; }


.fs{
  text-align: left;
  font-size: 0.8em;
}

html {
  height: 100%; }

html,
body {
  min-width: 320px; }

@media (min-width: 768px), print {
  body {
    font-size: 1.6rem;
    min-width: 1020px; } }
@media (max-width: 767px) {
  body {
    line-height: 1.75;
    overflow-x: hidden;
    width: 100%;
    font-size:1.4rem;
       }

    body.active {
      left: 0;
      position: absolute;
      top: 0;
      overflow: hidden; }
      body.active header {
        position: relative;
        z-index: 99; } }

table {
  border-collapse: collapse;
  border-spacing: 0; }

a {
  color: #4d4d4d;
  text-decoration: none; }
  @media (min-width: 768px), print {
    a {
      transition: all ease-in-out 0.3s; }
      a[href^="tel:"], a[href^="fax:"] {
        pointer-events: none; }
      a:hover {
        color: #2e87bb; } }

img {
  vertical-align: middle; }

@media (min-width: 768px), print {
  .pchide {
    display: none !important; } }

@media (max-width: 767px) {
  .sphide {
    display: none !important; } }

@media (max-width: 767px) {
  .sp_block {
    display: block; } }

header navi {
  display: block; }
  @media (min-width: 768px), print {
    header navi {
      border-top: 1px solid #e5e5e5; } }
  header navi ul {
    margin-left: auto;
    margin-right: auto;
    max-width: 1020px;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%; }
    @media (min-width: 768px), print {
      header navi ul {
        align-items: center;
        display: flex;
        height: 50px;
        justify-content: space-between; } }
    @media (max-width: 767px) {
      header navi ul {
        padding: 0; } }
    header navi ul li {
      position: relative; }
      @media (min-width: 768px), print {
        header navi ul li {
          height: 100%;
          width: calc((100% - 0px) / 6 - 0.1px); }
          header navi ul li:last-child::after {
            background: #e5e5e5;
            content: "";
            height: 30px;
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            width: 1px; }
          header navi ul li::before {
            background: #e5e5e5;
            content: "";
            height: 30px;
            left: 0;
            position: absolute;
            top: 50%;
            transform: translateY(-50%);
            width: 1px; } }
      @media (max-width: 767px) {
        header navi ul li {
          border-bottom: 1px solid #95c3dd; } }
      header navi ul li a {
        color: #333;
        height: 100%;
        line-height: 1.4;
        position: relative;
        transition: transform 0.3s, opacity 0.3s; }
        @media (min-width: 768px), print {
          header navi ul li a {
            align-items: center;
            display: flex;
            font-size: 1.2rem;
            font-weight: bold;
            justify-content: center;
            text-align: center; }
            header navi ul li a::after {
              background: #71afd1;
              bottom: 0;
              content: "";
              opacity: 0;
              height: 5px;
              left: 0;
              position: absolute;
              width: 100%;
              transform: translateY(5px);
              transition: transform 0.3s, opacity 0.3s;
              pointer-events: none; }
            header navi ul li a:hover {
              color: #333; }
              header navi ul li a:hover::after {
                opacity: 1;
                transform: translateY(0); } }
        @media (max-width: 767px) {
          header navi ul li a {
            background: #71afd1;
            color: #fff;
            display: block;
            font-size: 1.4rem;
            padding: 15px 10px; }
            header navi ul li a:hover {
              background: #71afd1; }
            header navi ul li a br {
              display: none; }
            header navi ul li a::after {
              content: "";
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 4px 0 4px 5px;
              border-color: transparent transparent transparent #71afd1;
              position: absolute;
              right: 5px;
              top: calc(50% - 2px); } }

.hd_up {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  align-items: center;
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .hd_up {
      height: 70px; } }
  @media (max-width: 767px) {
    .hd_up {
      background: #fff;
      border-bottom: 1px solid #e5e5e5;
      height: 50px;
      left: 0;
      padding-right: 0;
      position: fixed;
      top: 0;
      width: 100%;
      z-index: 9; } }

.hd_logo {
  flex: 1 1 0%;
  height: auto;
  max-width: 440px;
  padding-right: 20px;
  width: 100%; }
  .hd_logo a {
    display: flex;
    height: auto }
    .hd_logo a:hover {
      opacity: 0.7; }


@media (min-width: 768px), print {
  .hd_sublink {
    display: flex;
    justify-content: flex-end;
    height: 100%; } }
@media (min-width: 768px), print {
  .hd_sublink li {
    margin-left: 5px;
    width: 164px; }
    .hd_sublink li a::after {
      content: "";
      display: inline-block;
      margin-left: 8px;
      position: relative; }
    .hd_sublink li:first-child a::after {
      background: url(/content/dam/imgs/asset/images/common/ico-person.png) 0 0/cover no-repeat;
      height: 25px;
      width: 24px; }
    .hd_sublink li:last-child a::after {
      background: url(/content/dam/imgs/asset/images/common/ico-mail.png) 0 0/cover no-repeat;
      height: 16px;
      width: 23px; } }
@media (max-width: 767px) {
  .hd_sublink li {
    border-top: 1px solid #daebf2; }
    .hd_sublink li:first-child {
      border: none; } }
.hd_sublink li a {
  height: 100%;
  position: relative; }
  @media (min-width: 768px), print {
    .hd_sublink li a {
      align-items: center;
      background: #71afd1;
      color: #fff;
      display: flex;
      justify-content: center;
      font-size: 1.2rem;
      font-weight: bold; } }
  @media (max-width: 767px) {
    .hd_sublink li a {
      background: #fff;
      color: #71afd1;
      display: block;
      padding: 15px 10px;
      font-size: 1.4rem; } }
  .hd_sublink li a:hover {
    background: #2e87bb; }
  .hd_sublink li a img {
    display: inline-block;
    margin-left: 8px; }

.hd_menu_sp_btn {
  background: #71afd1;
  color: #fff;
  cursor: pointer;
  display: block;
  font-size: 0.9rem;
  height: 50px;
  position: relative;
  text-align: center;
  width: 50px; }
  @media (min-width: 768px), print {
    .hd_menu_sp_btn {
      display: none; } }
  .hd_menu_sp_btn span {
    display: block; }
  .hd_menu_sp_btn::before,
  .hd_menu_sp_btn span::before,
  .hd_menu_sp_btn span::after {
    border-top: 1px solid #fff;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    transition: all 0.4s;
    transform: translateY(-50%);
    width: 30px; }
  .hd_menu_sp_btn::before {
    top: calc(50%); }
  .hd_menu_sp_btn span::before {
    top: calc(50% + 10px); }
  .hd_menu_sp_btn span::after {
    top: calc(50% - 10px); }
  .hd_menu_sp_btn.active {
    color: #fff; }
    .hd_menu_sp_btn.active::before {
      display: none; }
    .hd_menu_sp_btn.active span::before {
      border-top: 1px solid #fff;
      top: 46%;
      transform: translateY(-46%) rotate(45deg); }
    .hd_menu_sp_btn.active span::after {
      border-top: 1px solid #fff;
      top: 46%;
      transform: translateY(-46%) rotate(-45deg); }

@media (max-width: 767px) {
  .hd_fix_sp {
    transition: all 0.3s ease-in-out;
    height: 100%;
    position: fixed;
    right: -300px;
    top: 50px;
    width: 300px; }
    .hd_fix_sp.active {
      right: 0; } }

@media (max-width: 767px) {
  .hd_fix_sp_inner {
    height: calc(100vh - 50px);
    overflow-y: auto; } }

.modal-overlay {
  background-color: rgba(0, 0, 0, 0.5);
  height: 120%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 98; }
  .modal-overlay.active {
    display: block; }

footer {
  background: #f6fafb;
  position: relative; }
  footer navi {
    display: block; }
    @media (min-width: 768px), print {
      footer navi {
        border-bottom: 5px solid #fff; } }
    @media (max-width: 767px) {
      footer navi {
        border-bottom: 3px solid #fff; } }
    footer navi ul {
      margin-left: auto;
      margin-right: auto;
      max-width: 1020px;
      padding-left: 10px;
      padding-right: 10px;
      width: 100%;
      align-items: center;
      display: flex; }
      @media (min-width: 768px), print {
        footer navi ul {
          justify-content: space-around; } }
      @media (max-width: 767px) {
        footer navi ul {
          flex-wrap: wrap;
          justify-content: center;
          padding: 10px 0; } }
      @media (max-width: 767px) {
        footer navi ul li:first-child {
          width: 40%; }
          footer navi ul li:first-child a {
            text-align: right; }
        footer navi ul li:nth-child(2) {
          width: 55%; } }
      footer navi ul li a {
        display: block; }
        @media (min-width: 768px), print {
          footer navi ul li a {
            font-size: 1.2rem;
            padding: 30px 10px; } }
        @media (max-width: 767px) {
          footer navi ul li a {
            font-size: 0.8rem;
            padding: 2px 10px; } }
        footer navi ul li a:hover {
          color: #71afd1; }

.ft_copy {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  color: #4d4d4d;
  padding: 8px 0; }
  @media (min-width: 768px), print {
    .ft_copy {
      font-size: 0.8rem;
      text-align: right; } }
  @media (max-width: 767px) {
    .ft_copy {
      font-size: 0.6rem;
      text-align: center; } }

.pagetop {
  bottom: 40px;
  display: none;
  position: fixed;
  right: 20px;
  z-index: 88; }
  .pagetop a {
    align-items: center;
    background: #fff;
    border: 1px solid #71afd1;
    border-radius: 100%;
    display: flex;
    justify-content: center; }
    .pagetop a:hover {
      opacity: 0.7; }
    @media (min-width: 768px), print {
      .pagetop a {
        height: 80px;
        width: 80px; }
        .pagetop a img {
          height: 38px;
          width: 32px; } }
    @media (max-width: 767px) {
      .pagetop a {
        height: 50px;
        width: 50px; }
        .pagetop a img {
          height: 26px;
          width: 21px; } }

.page_breadcrumb {
  background: #f6fafb; }
  @media (min-width: 768px), print {
    .page_breadcrumb {
      border-top: 1px solid #e5e5e5;
      margin-bottom: 70px;
      padding-bottom: 4px; } }

.breadcrumb_list {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  .breadcrumb_list li {
    display: inline;
    font-size: 1rem; }
    .breadcrumb_list li a {
      font-size: 1rem;
      text-decoration: underline;
      position: relative; }
      .breadcrumb_list li a::after {
        content: "＞";
        display: inline-block;
        padding: 0 10px; }
      .breadcrumb_list li a:hover {
        color: #2e87bb;
        text-decoration: none; }

@media (max-width: 767px) {
  .wrapper {
    padding-top: 50px; }
    .wrapper .cmn_wrap {
      margin-top: 20px; } }

.cmn_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }

.cmn_block {
  display: block; }
  @media (min-width: 768px), print {
    .cmn_block {
      margin-bottom: 120px; } }
  @media (max-width: 767px) {
    .cmn_block {
      margin-bottom: 80px; } }

h1.cmn_h1 {
  font-weight: 500;
  text-align: center; }
  @media (min-width: 768px), print {
    h1.cmn_h1 {
      font-size: 4rem;
      line-height: 1.2;
      margin-bottom: 12px; } }
  @media (max-width: 767px) {
    h1.cmn_h1 {
      border-bottom: 1px solid #999;
      font-size: 1.9rem;
      line-height: 1.3;
      margin-bottom: 8px;
      padding: 0 10px 10px; } }

h2.cmn_h2 {
  font-weight: 700; }
  @media (min-width: 768px), print {
    h2.cmn_h2 {
      font-size: 3rem;
      padding-bottom: 10px; } }
  @media (max-width: 767px) {
    h2.cmn_h2 {
      font-size: 2.2rem;
      line-height: 1.27;
      padding-bottom: 30px; } }

.cmn_subtxt {
  text-align: center; }
  @media (min-width: 768px), print {
    .cmn_subtxt {
      font-size: 1.8rem;
      padding-bottom: 80px; } }
  @media (max-width: 767px) {
    .cmn_subtxt {
      line-height: 1.75;
      padding-bottom: 70px;
      text-align: left; }
      .cmn_subtxt br {
        display: none; } }

.cmn_midttl {
  border-bottom: 1px solid #7f7f7f;
  font-weight: 700;
  text-align: center; }
  @media (min-width: 768px), print {
    .cmn_midttl {
      font-size: 2.5rem !important;
      margin-bottom: 10px;
      padding-bottom: 8px; } }
  @media (max-width: 767px) {
    .cmn_midttl {
      border-width: 1px;
      font-size: 1.9rem !important;
      line-height: 1.4;
      margin-bottom: 6px;
      padding-bottom: 6px !important; } }

.cmn_subtxt_02 {
  text-align: center; }
  @media (min-width: 768px), print {
    .cmn_subtxt_02 {
      padding-bottom: 45px; } }
  @media (max-width: 767px) {
    .cmn_subtxt_02 {
      padding-bottom: 20px; 
      text-align: left; }
      .cmn_subtxt_02 br {
        display: none; } }

.cmn_btn {
  background: #71afd1;
  border: 1px solid #71afd1;
  color: #fff; }
  @media (min-width: 768px), print {
    .cmn_btn {
      font-size: 1.7rem; } }
  @media (max-width: 767px) {
    .cmn_btn {
      font-size: 1.5rem; } }
  .cmn_btn::after {
    background: url(/content/dam/imgs/asset/images/catalog_gift/ico-w-arr.png) center center/cover no-repeat; }
  .cmn_btn:hover {
    background: #2e87bb;
    border: 1px solid #2e87bb;
    color: #fff; }

.btn01 {
  background: #fff;
  border: 1px solid #71afd1;
  border-radius: 35px;
  color: #333; }
  @media (min-width: 768px), print {
    .btn01 {
      font-size: 2.3rem; } }
  @media (max-width: 767px) {
    .btn01 {
      font-size: 1.72rem; } }
  .btn01::after {
    background: url(/content/dam/imgs/asset/images/catalog_gift/ico-b-arr.png) center center/cover no-repeat; }

.btn02 {
  background: #71afd1;
  border: 1px solid #71afd1;
  border-radius: 35px;
  color: #fff; }
  @media (min-width: 768px), print {
    .btn02 {
      font-size: 2.3rem; } }
  @media (max-width: 767px) {
    .btn02 {
      font-size: 1.72rem; } }
  .btn02::after {
    background: url(/content/dam/imgs/asset/images/catalog_gift/ico-w-arr.png) center center/cover no-repeat; }
  .btn02:hover {
    background: #2e87bb;
    border: 1px solid #2e87bb;
    color: #fff; }

.feature {
  background: url(/content/dam/imgs/asset/images/home/bg-gray.png) center center repeat;
  overflow: hidden;
  position: relative; }
  @media (min-width: 768px), print {
    .feature {
      height: 350px; }
      .feature .feature_group_up::after {
        content: "";
        height: 100%;
        position: absolute;
        top: 0; } }
  @media (max-width: 767px) {
    .feature {
      height: 100px;
      margin-top: 50px; }
      .feature::after {
        content: "";
        height: 100%;
        position: absolute;
        right: 0;
        top: 0; } }
  .feature h1 {
    color: #fff;
    display: flex;
    flex-direction: column;
    font-family: "Noto Serif JP", serif;
    font-weight: 300;
    justify-content: center;
    height: 100%;
    line-height: 1.8;
    text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.2); }
    @media (min-width: 768px), print {
      .feature h1 {
        font-size: 3rem; } }
    @media (max-width: 767px) {
      .feature h1 {
        font-size: 0.9rem; } }

.feature_inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  display: flex;
  justify-content: space-between;
  height: 100%;
  position: relative; }

.feature_group_up {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  position: relative; }
  @media (min-width: 768px), print {
    .feature_group_up {
      padding-right: 20px; } }

@media (min-width: 768px), print {
  .feature_top .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/home/img-top.png) center left/contain no-repeat;
    right: -928px;
    width: 928px; } }
@media (max-width: 767px) {
  .feature_top::after {
    background: url(/content/dam/imgs/asset/images/home/img-top.png) center left/cover no-repeat;
    width: 58%; } }

.hm_top_img {
  position: absolute;
  left: 60vw;
  top: 0;
  width: 1632px; }
  .hm_top_img img {
    height: 350px; }

.hm_main {
  background: url(/content/dam/imgs/asset/images/common/bg-main.jpg) center center repeat;
  background-attachment: fixed; }

.hm_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  @media (min-width: 768px), print {
    .hm_wrap {
      margin-top: 100px;
      padding-bottom: 100px; } }
  @media (max-width: 767px) {
    .hm_wrap {
      margin-top: 20px;
      padding-bottom: 70px; } }
  .hm_wrap h2 {
    color: #4d4d4d;
    font-weight: 900;
    line-height: 1;
    position: relative;
    text-transform: uppercase; }
    @media (min-width: 768px), print {
      .hm_wrap h2 {
        font-size: 3rem;
        margin-bottom: 20px; } }
    @media (max-width: 767px) {
      .hm_wrap h2 {
        font-size: 1.5rem;
        margin-bottom: 10px; } }
    .hm_wrap h2::after {
      border-top: 1px solid #b4b2a6;
      content: "";
      height: 2px;
      left: 0;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      width: 100%; }
    .hm_wrap h2 span {
      background: url(/content/dam/imgs/asset/images/common/bg-main.jpg) center center repeat;
      position: relative;
      z-index: 2; }
      @media (min-width: 768px), print {
        .hm_wrap h2 span {
          padding-right: 20px; } }
      @media (max-width: 767px) {
        .hm_wrap h2 span {
          padding-right: 10px; } }

@media (min-width: 768px), print {
  .hm_box {
    margin-bottom: 80px; } }
@media (max-width: 767px) {
  .hm_box {
    margin-bottom: 50px; } }

.hm_block {
  display: block; }
  @media (min-width: 768px), print {
    .hm_block {
      margin-bottom: 18px; } }
  @media (max-width: 767px) {
    .hm_block {
      margin-bottom: 10px; } }
  .hm_block a {
    display: inline-block; }
    .hm_block a:hover {
      opacity: 0.7; }
    .hm_block a img {
      border: 1px solid #b2b2b2; }

.hm_txt01 {
  font-weight: 500;
  position: relative; }
  @media (min-width: 768px), print {
    .hm_txt01 {
      font-size: 1.8rem;
      margin-top: -15px; } }
  @media (max-width: 767px) {
    .hm_txt01 {
      font-size: 0.9rem;
      margin-top: -5px; } }

.hm_ttl01 {
  color: #4d4d4d;
  font-weight: 700; }
  @media (min-width: 768px), print {
    .hm_ttl01 {
      font-size: 1.6rem;
      padding-bottom: 8px; } }
  @media (max-width: 767px) {
    .hm_ttl01 {
      font-size: 1rem;
      padding-bottom: 4px; } }

@media (min-width: 768px), print {
  .hm_news_block {
    border-left: 10px solid #71afd1;
    padding-left: 20px; } }
@media (max-width: 767px) {
  .hm_news_block {
    border-left: 4px solid #71afd1;
    padding-left: 10px; } }
@media (min-width: 768px), print {
  .hm_news_block h2 {
    font-size: 2.2rem; } }
@media (max-width: 767px) {
  .hm_news_block h2 {
    font-size: 1.5rem; } }
.hm_news_block h2::after {
  display: none; }

.hm_news_list {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.4rem; }
  .hm_news_list dt {
    margin-bottom: 6px; }
    @media (min-width: 768px), print {
      .hm_news_list dt {
        width: 150px; } }
    @media (max-width: 767px) {
      .hm_news_list dt {
        width: 110px; } }
    .hm_news_list dt:nth-last-child(2) {
      margin-bottom: 0px; }
  .hm_news_list dd {
    margin-bottom: 6px; }
    @media (min-width: 768px), print {
      .hm_news_list dd {
        width: calc(100% - 150px); } }
    @media (max-width: 767px) {
      .hm_news_list dd {
        width: calc(100% - 110px); } }
    .hm_news_list dd a {
      word-wrap: break-word; }
      .hm_news_list dd a:hover {
        text-decoration: underline; }
    .hm_news_list dd:last-child {
      margin-bottom: 0px; }

@media (min-width: 768px), print {
  .hm_box_manner {
    padding-top: 60px; } }

.ctgiftt_choise {
  overflow: hidden; }

@media (min-width: 768px), print {
  .loading_inner {
    background: url(/content/dam/imgs/asset/images/home/img-load.jpg) center center/cover no-repeat; } }
@media (max-width: 767px) {
  .loading_inner {
    background: url(/content/dam/imgs/asset/images/home/img-load-sp.jpg) center center/cover no-repeat; } }

#loadingWrap {
  width: 100%;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 500;
  margin: 0;
  animation: loaderAnimewrap 5.5s linear forwards; }

@keyframes loaderAnimewrap {
  0% {
    opacity: 1; }
  20% {
    opacity: 1; }
  25% {
    opacity: 1; }
  50% {
    opacity: 1; }
  88% {
    opacity: 1; }
  90% {
    opacity: 1; }
  92% {
    opacity: 0.8; }
  95% {
    opacity: 0.5; }
  100% {
    opacity: 0;
    display: none;
    z-index: -1; } }
@media print {
  #loadingWrap {
    display: none; } }
#loadingWrap #loadingWrap_inner section {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: #fff;
  display: flex;
  z-index: 500; }

#img-mainVisual-0100 {
  animation: loaderAnime0100 5s linear forwards;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto; }

@keyframes loaderAnime0100 {
  0% {
    opacity: 0; }
  15% {
    opacity: 0; }
  20% {
    opacity: 1; }
  70% {
    opacity: 1; }
  88% {
    opacity: 1; }
  90% {
    opacity: 1; }
  92% {
    opacity: 0; }
  100% {
    opacity: 0;
    display: none;
    z-index: -1; } }
.loadingNone {
  animation: loadingAnime0 6s forwards; }

@keyframes loadingAnime0 {
  0% {
    opacity: 1; }
  40% {
    opacity: 1; }
  42% {
    opacity: 1; }
  90% {
    opacity: 1; }
  100% {
    opacity: 0;
    display: none;
    z-index: -1; } }
@media (max-width: 767px) {
  .feature_catalog {
    margin-top: 0; } }
@media (min-width: 768px), print {
  .feature_catalog h1 {
    font-size: 4.5rem;
    line-height: 1.3; } }
@media (max-width: 767px) {
  .feature_catalog h1 {
    font-size: 1.6rem;
    line-height: 1.4; } }
@media (min-width: 768px), print {
  .feature_catalog .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/catalog/feature.png) center left/contain no-repeat;
    right: -1250px;
    width: 1250px; } }
@media (max-width: 767px) {
  .feature_catalog::after {
    background: url(/content/dam/imgs/asset/images/catalog/feature.png) center left/cover no-repeat;
    width: 65%; } }

@media (max-width: 767px) {
  .feature_gift01 {
    margin-top: 0; } }
@media (min-width: 768px), print {
  .feature_gift01 h1 {
    font-size: 4.5rem;
    line-height: 1.3; } }
@media (max-width: 767px) {
  .feature_gift01 h1 {
    font-size: 1.6rem;
    line-height: 1.4; } }
@media (min-width: 768px), print {
  .feature_gift01 .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/catalog/gift/feature-gift01.png) center left/contain no-repeat;
    right: -962px;
    width: 962px; } }
@media (max-width: 767px) {
  .feature_gift01::after {
    background: url(/content/dam/imgs/asset/images/catalog/gift/feature-gift01.png) center left/cover no-repeat;
    width: 65%; } }

.catalog_topttl {
  border: 1px solid #b3b3b3;
  font-weight: 700;
  padding-bottom: 6px;
  padding-top: 4px;
  text-align: center; }
  @media (min-width: 768px), print {
    .catalog_topttl {
      margin-left: auto;
      margin-right: auto;
      max-width: 1020px;
      padding-left: 10px;
      padding-right: 10px;
      width: 100%;
      font-size: 2.5rem;
      margin-bottom: 20px;
      margin-top: 30px; } }
  @media (max-width: 767px) {
    .catalog_topttl {
      font-size: 2rem;
      margin: 25px 10px 10px; } }

.catalog_wrap {
  display: block; }

.catalog_block {
  background: #f6fafb; }

.catalog_box {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  @media (min-width: 768px), print {
    .catalog_box {
      padding-bottom: 50px;
      padding-top: 50px; } }
  @media (max-width: 767px) {
    .catalog_box {
      padding-bottom: 25px;
      padding-top: 25px; } }

.catalog_box_inner {
  padding-bottom: 50px; }
  @media (min-width: 768px), print {
    .catalog_box_inner {
      display: flex;
      justify-content: space-between; }
      .catalog_box_inner.mg_bt20 {
        margin-bottom: 0; } }

@media (min-width: 768px), print {
  .catalog_box_content {
    flex: 1 1 0%; } }
@media (max-width: 767px) {
  .catalog_box_content {
    margin-bottom: 20px; } }
.catalog_box_inner {
  padding-bottom: 40px; }
.catalog_ttl {
  align-items: center;
  border-left: 5px solid #71afd1;
  display: flex;
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 22px;
  padding: 0 0 0 10px;
  position: relative; }
  .catalog_ttl span {
    align-items: center;
    background: #ed1c24;
    border-radius: 25px;
    color: #fff;
    display: flex;
    justify-content: center;
    height: 25px;
    letter-spacing: 3px;
    margin-left: 20px;
    text-align: center;
    width: 100px; }
    @media (min-width: 768px), print {
      .catalog_ttl span {
        font-size: 1.8rem; } }
    @media (max-width: 767px) {
.catalog_ttl {
  font-size: 1.8rem;
}

      .catalog_ttl span {
        font-size: 1.4rem; } }

.catalog_txt {
  line-height: 1.75; }
  @media (min-width: 768px), print {
    .catalog_txt {
      font-size: 1.8rem; } }

@media (min-width: 768px), print {
  .catalog_box_thumb {
    margin-left: 100px; } }
@media (max-width: 767px) {
  .catalog_box_thumb {
    margin: 0 auto;
    width: 68%; } }

.catalog_list_special {
  display: flex;
  justify-content: space-between; }
  @media (min-width: 768px), print {
    .catalog_list_special {
      padding: 0 20px; } }
  .catalog_list_special li {
    align-items: center;
    background: #fff;
    border-radius: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center; }
    @media (min-width: 768px), print {
      .catalog_list_special li {
        height: 280px;
        width: 280px; } }
    @media (max-width: 767px) {
      .catalog_list_special li {
        height: calc((100vw - 60px) / 3 - 0.1px);
        margin: 0 5px;
        width: calc((100vw - 40px) / 3 - 0.1px); } }

@media (min-width: 768px), print {
  .ctlg_spec_thumb {
    margin-bottom: 10px; } }
@media (max-width: 767px) {
  .ctlg_spec_thumb {
    margin-bottom: 3px; } }
@media (min-width: 768px), print {
  .ctlg_spec_thumb img {
    height: 98px; } }
@media (max-width: 767px) {
  .ctlg_spec_thumb img {
    height: 39.2px; } }

.ctlg_spec_ttl {
  font-weight: 700;
  line-height: 1.45; }
  @media (min-width: 768px), print {
    .ctlg_spec_ttl {
      font-size: 2rem;
      margin-top: 10px; } }
  @media (max-width: 767px) {
    .ctlg_spec_ttl {
      font-size: 0.8rem;
      margin-top: 3px; } }

.catolog_group {
  display: block; }
  @media (min-width: 768px), print {
    .catolog_group {
      padding-top: 100px; } }
  @media (max-width: 767px) {
    .catolog_group {
      padding-top: 30px; } }

.catolog_group_bnr {
  display: block; }
  @media (min-width: 768px), print {
    .catolog_group_bnr {
      padding-bottom: 100px; } }
  @media (max-width: 767px) {
    .catolog_group_bnr {
      padding-bottom: 30px; } }

@media (min-width: 768px), print {
  .catalog_part {
    margin-bottom: 100px; } }
@media (max-width: 767px) {
  .catalog_part {
    margin-bottom: 70px; } }

@media (min-width: 768px), print {
  .catalog_part_detail {
    display: flex;
    justify-content: space-between; } }

@media (min-width: 768px), print {
  .catalog_part_thumb {
    flex: 1 1 0%; } }
@media (max-width: 767px) {
  .catalog_part_thumb {
    margin-bottom: 15px; } }

@media (min-width: 768px), print {
  .catolog_part_content {
    width: 340px; } }

@media (max-width: 767px) {
  .catalog_part_links {
    margin: 0 auto;
    width: 256px; } }
@media (min-width: 768px), print {
  .catalog_part_links li {
    margin-top: 20px;
    height: 70px; } }
@media (max-width: 767px) {
  .catalog_part_links li {
    margin-top: 10px;
    height: 52px; } }
.catalog_part_links li:first-child {
  margin-top: 0; }

.catalog_note {
  padding-left: 14px;
  position: relative;
  font-size: 1.4rem;
  margin-top: 5px; }
  .catalog_note::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }
  @media (max-width: 767px) {
    .catalog_note {
      margin: 0 auto;
      max-width: 300px;
      width: 100%; } }

@media (min-width: 768px), print {
  .gift_topttl {
    font-size: 3rem;
    margin-bottom: 30px !important;
    padding-bottom: 4px;
    padding-top: 2px; } }
@media (max-width: 767px) {
  .gift_topttl {
    font-size: 1.875rem;
    line-height: 1.4;
    margin: 25px 0 20px; } }

.gift_subttl {
  font-weight: 700; }
  @media (min-width: 768px), print {
    .gift_subttl {
      font-size: 2rem;
      padding-bottom: 4px; } }
  @media (max-width: 767px) {
    .gift_subttl {
      font-size: 1.4rem;
      padding-bottom: 4px; } }

@media (min-width: 768px), print {
  .gift_sublist {
    padding-bottom: 20px; } }
@media (max-width: 767px) {
  .gift_sublist {
    padding-bottom: 8px; } }
.gift_sublist li {
  padding: 0 0 4px 15px;
  position: relative; }
  .gift_sublist li::before {
    content: "・";
    left: 0;
    position: absolute;
    top: 0px; }

@media (min-width: 768px), print {
  .gift_sublist_ex {
    font-size: 1.9rem; } }
@media (max-width: 767px) {
  .gift_sublist_ex {
    margin-bottom: 18px; } }

.gift_note {
  padding-left: 14px;
  position: relative;
  padding-left: 20px; }
  .gift_note::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }

.gift_video {
  display: block;
  position: relative;
  width: 100%; }
  @media (min-width: 768px), print {
    .gift_video {
      height: 573px;
      margin-bottom: 40px;
      margin-top: 10px; } }
  @media (max-width: 767px) {
    .gift_video {
      height: 56vw;
      margin-bottom: 15px; } }
  .gift_video iframe {
    display: block;
    border: none;
    height: 100%;
    overflow-y: auto;
    overflow-x: hidden;
    width: 100%; }

.gift_choise_ttl {
  background: #71afd1;
  color: #fff;
  font-weight: 400;
  margin-bottom: 20px;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift_choise_ttl {
      font-size: 2.5rem;
      padding: 2px 0 7px; }
      .gift_choise_ttl br {
        display: none; } }
  @media (max-width: 767px) {
    .gift_choise_ttl {
      font-size: 1.875rem;
      line-height: 1.3;
      padding: 9px 0; } }

@media (min-width: 768px), print {
  .gift_choise_box01,
  .gift_choise_box02 {
    margin-bottom: 20px; } }
@media (max-width: 767px) {
  .gift_choise_box01,
  .gift_choise_box02 {
    margin-bottom: 15px; } }
.gift_choise_box01 a,
.gift_choise_box02 a {
  align-items: center;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  height: 100%;
  position: relative;
  text-align: center;
  text-shadow: 2px 2px 1px rgba(0, 0, 0, 0.4);
  transition: all 0.3s; }
  .gift_choise_box01 a:hover,
  .gift_choise_box02 a:hover {
    transition: all 0.3s; }
    .gift_choise_box01 a:hover::before,
    .gift_choise_box02 a:hover::before {
      transition: all 0.3s;
      background: rgba(0, 0, 0, 0.6); }
  .gift_choise_box01 a::before,
  .gift_choise_box02 a::before {
    background: rgba(0, 0, 0, 0.5);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

@media (min-width: 768px), print {
  .gift_choise_box01 {
    height: 400px; } }
@media (max-width: 767px) {
  .gift_choise_box01 {
    height: 142px; } }
.gift_choise_box01 a {
  transition: all 0.3s ease-in-out;
  background: url(/content/dam/imgs/asset/images/catalog/gift/bg-gift01.jpg) center center/cover no-repeat; }

@media (min-width: 768px), print {
  .gift_choise_box02 {
    height: 300px;
    margin-bottom: 80px; } }
@media (max-width: 767px) {
  .gift_choise_box02 {
    height: 106px;
    margin-bottom: 80px; } }
.gift_choise_box02 a {
  background: url(/content/dam/imgs/asset/images/catalog/gift/bg-gift02.jpg) center center/cover no-repeat; }

.gift_choise_subttl {
  font-weight: 700;
  position: relative; }
  @media (min-width: 768px), print {
    .gift_choise_subttl {
      font-size: 4rem;
      padding-bottom: 5px; } }
  @media (max-width: 767px) {
    .gift_choise_subttl {
      font-size: 2.13rem;
      padding-bottom: 5px; } }

.gift_choise_txt {
  position: relative; }
  @media (min-width: 768px), print {
    .gift_choise_txt {
      font-size: 2.5rem;
      padding-top: 5px; } }
  @media (max-width: 767px) {
    .gift_choise_txt {
      font-size: 1.331rem;
      padding-bottom: 10px; } }

@media (max-width: 767px) {
  .feature_gift {
    height: 150px;
    margin-top: 0; } }
.feature_gift h1 {
  display: block;
  height: auto;
  padding-left: 0; }
  @media (min-width: 768px), print {
    .feature_gift h1 {
      font-size: 4rem;
      line-height: 1.375; } }
  @media (max-width: 767px) {
    .feature_gift h1 {
      font-size: 1.6rem;
      line-height: 1.4; }
      .feature_gift h1 span {
        display: block; }
      .feature_gift h1 br {
        display: none; } }
@media (min-width: 768px), print {
  .feature_gift .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/catalog/gift/feature-gift.png) center left/contain no-repeat;
    content: "";
    height: 100%;
    position: absolute;
    right: -1279px;
    top: 0;
    width: 1279px; } }
@media (max-width: 767px) {
  .feature_gift::after {
    background: url(/content/dam/imgs/asset/images/catalog/gift/feature-gift.png) center left/cover no-repeat;
    width: 44%; } }

.feature_gift_box {
  display: flex;
  flex-direction: column;
  justify-content: space-around;
  height: 100%; }
  @media (min-width: 768px), print {
    .feature_gift_box {
      padding-left: calc((100vw - 1024px) / 2); } }
  @media (max-width: 767px) {
    .feature_gift_box {
      padding-left: 10px; } }

@media (min-width: 768px), print {
  .gift_btn_line {
    height: 65px;
    margin-bottom: 15px;
    width: 285px; } }
@media (max-width: 767px) {
  .gift_btn_line {
    border: 1px solid #ccc;
    height: 50px;
    margin-bottom: 5px;
    width: 168px; } }
.gift_btn_line a {
  font-family: "Noto Serif JP", serif;
  align-items: center;
  color: #ccc;
  display: flex;
  justify-content: center;
  font-weight: 400;
  height: 100%;
  position: relative; }
  @media (min-width: 768px), print {
    .gift_btn_line a {
      font-size: 2rem; } }
  @media (max-width: 767px) {
    .gift_btn_line a svg {
      display: none; } }
@media (min-width: 768px), print {
  .gift_btn_line .kv__button svg {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }
  .gift_btn_line .kv__button rect {
    fill: transparent;
    stroke: #ccc;
    stroke-dasharray: 0 350 285 27;
    stroke-dashoffset: 0;
    stroke-width: 2px;
    -webkit-transition-duration: 0.5s;
    transition-duration: 0.5s;
    -webkit-transition-property: stroke, stroke-dasharray, stroke-dashoffset;
    transition-property: stroke, stroke-dasharray, stroke-dashoffset;
    -webkit-transition-timing-function: ease-out;
    transition-timing-function: ease-out; }
  .gift_btn_line .kv__button:hover rect {
    stroke: #ccc;
    stroke-dasharray: 0 0 816 0;
    stroke-dashoffset: 408; } }

@keyframes kv-slider {
  0% {
    background-position: 0 0; }
  to {
    background-position: -3000px top; } }
.gift_wrapper {
  position: relative; }
  @media (min-width: 768px), print {
    .gift_wrapper .catalog_box:nth-child(2) {
      margin-top: 200px;
      padding-bottom: 40px; } }
  @media (max-width: 767px) {
    .gift_wrapper .catalog_box:nth-child(2) {
      padding-top: 75px; } }
  .gift_wrapper::before {
    animation: kv-slider 64s linear infinite;
    background: url(/content/dam/imgs/asset/images/catalog/gift/bg-slide.jpg) repeat-x 0 0;
    background-size: auto 100%;
    content: "";
    left: 0;
    position: absolute;
    right: 0; }
    @media (min-width: 768px), print {
      .gift_wrapper::before {
        height: 133px;
        top: 31px; } }
    @media (max-width: 767px) {
      .gift_wrapper::before {
        height: 75px;
        top: 0; } }
  .gift_wrapper .page_breadcrumb {
    margin-bottom: 0; }

@media (max-width: 767px) {
  .mg_bt0 {
    margin-bottom: 0 !important; } }

.gift01_block {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  @media (min-width: 768px), print {
    .gift01_block {
      padding-bottom: 115px;
      padding-top: 25px; } }
  @media (max-width: 767px) {
    .gift01_block {
      padding-bottom: 95px; }
      .gift01_block .catalog_ttl {
        font-size: 1.8rem;
        line-height: 1.4;
        margin-bottom: 10px; } }
  .gift01_block .pd_bt0 {
    padding-bottom: 0; }
  .gift01_block .pd_bt20 {
    padding-bottom: 20px; }

.gift01_midtxt {
  font-size: 2rem;
  font-weight: 400;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift01_midtxt {
      padding-bottom: 85px; } }
  @media (max-width: 767px) {
    .gift01_midtxt {
      padding-bottom: 65px;
      padding-top: 40px;
      font-size:1.8rem; } }

.gift01_midnote {
  text-align: center; }
  @media (min-width: 768px), print {
    .gift01_midnote {
      font-size: 1.2rem;
      padding-bottom: 50px; } }
  @media (max-width: 767px) {
    .gift01_midnote {
      font-size: 1.4rem;
      padding-bottom: 20px; 
      text-align: left; } }

.gift01_img {
  text-align: center; }

.gift01_midttl01 {
  font-weight: 700;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift01_midttl01 {
      font-size: 2.3rem;
      padding-bottom: 5px; } }
  @media (max-width: 767px) {
    .gift01_midttl01 {
      font-size: 1.8rem;
      padding-bottom: 5px; } }

@media (min-width: 768px), print {
  .gift01_slide {
    margin-bottom: 90px !important; } }
@media (max-width: 767px) {
  .gift01_slide {
    margin-bottom: 60px !important; } }

.gift01_topttl {
  margin-bottom: 30px;
  margin-top: 0; }
  @media (max-width: 767px) {
    .gift01_topttl {
      font-size: 2rem; } }
  @media (min-width: 768px), print {
    .gift01_topttl span {
      display: inline-block;
      font-size: 2.2rem;
      padding-right: 15px; } }
  @media (max-width: 767px) {
    .gift01_topttl span {
      display: block;
      font-size: 1.8rem; } }

.gift_list01 {
  padding: 0 0 20px 20px; }
  .gift_list01 li {
    color: #71afd1;
    font-weight: 700; }
    @media (min-width: 768px), print {
      .gift_list01 li {
        font-size: 2rem; } }
    @media (max-width: 767px) {
      .gift_list01 li {
        font-size: 1.72rem; } }

.gift_note02 {
  padding-left: 14px;
  position: relative;
  font-size: 1.4rem; }
  .gift_note02::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }

.gift01_box {
  display: block; }
  @media (min-width: 768px), print {
    .gift01_box {
      padding-bottom: 70px; } }
  @media (max-width: 767px) {
    .gift01_box {
      padding-bottom: 45px; } }

@media (min-width: 768px), print {
  .gift01_action_list {
    display: flex;
    justify-content: space-between;
    padding: 10px 0 5px; } }
@media (max-width: 767px) {
  .gift01_action_list {
    padding: 20px 0 5px; } }
.gift01_action_list li {
  position: relative;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift01_action_list li {
      align-items: center;
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      width: calc((100% - 40px) / 3 - 0.1px); }
      .gift01_action_list li::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 19px 0 19px 22px;
        border-color: transparent transparent transparent #333;
        position: absolute;
        right: -11px;
        top: 50%;
        transform: translateY(-50%); } }
  @media (max-width: 767px) {
    .gift01_action_list li {
      padding-bottom: 60px; }
      .gift01_action_list li::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 22px 19px 0 19px;
        border-color: #333 transparent transparent transparent;
        bottom: 15px;
        left: 0;
        margin: 0 auto;
        position: absolute;
        right: 0; }
      .gift01_action_list li:last-child {
        padding-bottom: 20px; } }
  .gift01_action_list li:last-child::after {
    display: none; }

.gift01_action_ttl {
  font-size: 1.7rem;
  font-weight: 700;
  padding-bottom: 12px; }

.gift01_action_subtxt {
  font-size: 1.2rem; }
  @media (min-width: 768px), print {
    .gift01_action_subtxt {
      text-align: left; } }

@media (min-width: 768px), print {
  .gift01_action_list02 {
    display: flex;
    justify-content: space-between;
    padding: 10px 0 80px; } }
@media (max-width: 767px) {
  .gift01_action_list02 {
    padding: 20px 0 5px; } }
.gift01_action_list02 li {
  position: relative;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift01_action_list02 li {
      align-items: center;
      display: flex;
      flex-direction: column;
      justify-content: space-around;
      width: calc((100% - 40px) / 4 - 0.1px); }
      .gift01_action_list02 li::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 19px 0 19px 22px;
        border-color: transparent transparent transparent #333;
        position: absolute;
        right: -22px;
        top: 50%;
        transform: translateY(-50%); } }
  @media (max-width: 767px) {
    .gift01_action_list02 li {
      padding-bottom: 60px; }
      .gift01_action_list02 li::after {
        content: "";
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 22px 19px 0 19px;
        border-color: #333 transparent transparent transparent;
        bottom: 15px;
        left: 0;
        margin: 0 auto;
        position: absolute;
        right: 0; }
      .gift01_action_list02 li:last-child {
        padding-bottom: 20px; } }
  .gift01_action_list02 li:last-child::after {
    display: none; }
  .gift01_action_list02 li .gift01_action_ttl {
    padding-bottom: 0; }

.gift_note03 {
  padding-left: 14px;
  position: relative;
  color: #ff0000;
  font-size: 1.4rem;
  font-weight: 700; }
  .gift_note03::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }
  @media (min-width: 768px), print {
    .gift_note03 {
      margin-top: -15px; }
      .gift_note03 br {
        display: none; } }

@media (max-width: 767px) {
  .feature_ctlog_other {
    margin-top: 0; } }
@media (min-width: 768px), print {
  .feature_ctlog_other h1 {
    font-size: 4.5rem;
    line-height: 1.3; }
    .feature_ctlog_other h1 span br {
      display: none; } }
@media (max-width: 767px) {
  .feature_ctlog_other h1 {
    font-size: 1.6rem;
    line-height: 1.4; } }
@media (min-width: 768px), print {
  .feature_ctlog_other .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/catalog/other/feature.png) center left/contain no-repeat;
    right: -954px;
    width: 954px; } }
@media (max-width: 767px) {
  .feature_ctlog_other::after {
    background: url(/content/dam/imgs/asset/images/catalog/other/feature.png) center left/cover no-repeat;
    width: 59%; } }

.ctlog_block {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  @media (min-width: 768px), print {
    .ctlog_block {
      padding-bottom: 65px; } }
  @media (max-width: 767px) {
    .ctlog_block {
      padding-bottom: 20px;
      padding-top: 15px; } }

@media (min-width: 768px), print {
  .ctlog_box_up {
    display: flex;
    flex-direction: row-reverse;
    flex-wrap: wrap;
    padding: 18px 0 45px 0; } }
@media (max-width: 767px) {
  .ctlog_box_up {
    padding: 8px 0 45px 0; } }

@media (min-width: 768px), print {
  .ctlog_box_up_content {
    flex: 1 1 0%;
    margin-top: -6px; } }
@media (max-width: 767px) {
  .ctlog_box_up_content {
    padding-bottom: 20px; } }

.ctlog_box_up_ttl {
  font-weight: 700; }
  @media (min-width: 768px), print {
    .ctlog_box_up_ttl {
      font-size: 2rem;
      padding-bottom: 10px; } }
  @media (max-width: 767px) {
    .ctlog_box_up_ttl {
      font-size: 1.8rem;
      padding-bottom: 5px; } }

.ctlog_box_up_txt {
  line-height: 1.75; }
  @media (min-width: 768px), print {
    .ctlog_box_up_txt {
      padding-bottom: 8px; } }
  @media (max-width: 767px) {
    .ctlog_box_up_txt {
      padding-bottom: 2px; } }

.ctlog_box_up_note li {
  padding-left: 14px;
  position: relative;
  font-size: 1.4rem; }
  .ctlog_box_up_note li::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }

@media (min-width: 768px), print {
  .ctlog_box_up_thumb {
    margin-right: 50px;
    width: 250px; } }
@media (max-width: 767px) {
  .ctlog_box_up_thumb {
    margin: 0 auto;
    width: 76%; } }

.ctlog_box_down {
  display: block; }
  @media (min-width: 768px), print {
    .ctlog_box_down {
      margin-bottom: 80px; } }
  @media (max-width: 767px) {
    .ctlog_box_down {
      margin-bottom: 57px; } }

.ctlog_box_subttl {
  border: 1px solid #000;
  font-weight: 700;
  text-align: center; }
  @media (min-width: 768px), print {
    .ctlog_box_subttl {
      font-size: 2rem;
      padding: 3px 10px; }
      .ctlog_box_subttl br {
        display: none; } }
  @media (max-width: 767px) {
    .ctlog_box_subttl {
      font-size: 1.875rem;
      line-height: 1.4;
      padding: 3px 10px 6px; } }

.ctlog_box_subcontent {
  border: 1px solid #666; }
  @media (min-width: 768px), print {
    .ctlog_box_subcontent {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between;
      padding: 30px; } }
  @media (max-width: 767px) {
    .ctlog_box_subcontent {
      padding: 10px; } }

.ctlog_box_subtxt {
  line-height: 1.75;
  position: relative; }
  @media (min-width: 768px), print {
    .ctlog_box_subtxt {
      top: -6px;
      width: calc(100% - 390px); } }
  @media (max-width: 767px) {
    .ctlog_box_subtxt {
      padding-bottom: 20px; } }

@media (min-width: 768px), print {
  .ctlog_box_subthumb {
    width: 360px; } }
@media (max-width: 767px) {
  .ctlog_box_subthumb {
    margin: 0 auto 15px;
    width: 83%; } }

.ctlog_box_down_ginza .ctlog_box_subttl {
  border: 1px solid #af9c5a;
  color: #af9c5a; }

.ctlog_plaincard_lbl {
  border: 1px solid #333;
  border-radius: 8px;
  position: relative;
  text-align: center;
  width: 210px; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_lbl {
      line-height: 1.4;
      margin: 0 auto 65px;
      padding: 45px 10px 45px; } }
  @media (max-width: 767px) {
    .ctlog_plaincard_lbl {
      line-height: 1.2;
      margin: 0 auto 55px;
      padding: 45px 10px 45px; } }
  .ctlog_plaincard_lbl::after {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 20px 19px 0 19px;
    border-color: #000 transparent transparent transparent;
    bottom: -40px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0; }
  .ctlog_plaincard_lbl span {
    display: block; }

.ctlog_plaincard_ttl {
  font-weight: 700; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_ttl {
      font-size: 2.4rem; } }
  @media (max-width: 767px) {
    .ctlog_plaincard_ttl {
      font-size: 2.25rem; } }

.ctlog_plaincard_sample {
  align-items: center;
  background: #71afd1;
  border-radius: 35px;
  color: #fff;
  display: flex;
  font-weight: 700;
  justify-content: center;
  margin: 0 auto 20px;
  width: 150px; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_sample {
      font-size: 2rem;
      height: 40px; } }
  @media (max-width: 767px) {
    .ctlog_plaincard_sample {
      font-size: 1.8rem;
      height: 37px; } }

.ctlog_plaincard_note {
  margin-bottom: 20px;
  margin-top: 5px; }
  @media (max-width: 767px) {
    .ctlog_plaincard_note {
      font-size: 1.26rem; } }

.ctlog_plaincard_note02 {
  padding-left: 14px;
  position: relative; }
  .ctlog_plaincard_note02::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_note02 {
      font-size: 1.4rem;
      margin-bottom: 20px;
      margin-top: 5px; } }
  @media (max-width: 767px) {
    .ctlog_plaincard_note02 {
      margin-bottom: 6px;
      font-size: 1.26rem; } }

.ctlog_plaincard_list li {
  padding: 0 0 0 15px;
  position: relative; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_list li {
      margin-bottom: 2px; } }
  .ctlog_plaincard_list li::before {
    content: "・";
    left: 0;
    position: absolute;
    top: 0px; }

.ctlog_rank {
  display: flex;
  justify-content: space-between;
  padding-top: 10px;
  position: relative; }
  @media (max-width: 767px) {
    .ctlog_rank {
      flex-wrap: wrap; } }
  .ctlog_rank .ctlog_rank_box:nth-child(1)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank01.png) center center/cover no-repeat; }
  .ctlog_rank .ctlog_rank_box:nth-child(2)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank02.png) center center/cover no-repeat; }
  .ctlog_rank .ctlog_rank_box:nth-child(3)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank03.png) center center/cover no-repeat; }
  .ctlog_rank .ctlog_rank_box:nth-child(4)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank04.png) center center/cover no-repeat; }
  .ctlog_rank .ctlog_rank_box:nth-child(5)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank05.png) center center/cover no-repeat; }
  .ctlog_rank .ctlog_rank_box:nth-child(6)::before {
    background: url(/content/dam/imgs/asset/images/catalog/other/ico-rank06.png) center center/cover no-repeat; }

.ctlog_rank_box {
  padding-top: 65px;
  position: relative;
  text-align: center;
  width: 164px; }
  @media (max-width: 767px) {
    .ctlog_rank_box {
      margin-bottom: 25px; } }
  .ctlog_rank_box::before {
    content: "";
    height: 55px;
    left: 0;
    margin: 0 auto;
    position: absolute;
    right: 0;
    top: 0;
    width: 60px; }

.ctlog_rank_thumb {
  margin-bottom: 12px; }

.ctlog_rank_ttl {
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.3; }

.ctlog_infor_txt {
  color: #ff322d;
  font-weight: 700;
  text-align: center; }
  @media (min-width: 768px), print {
    .ctlog_infor_txt {
      padding: 20px 0;
      font-size: 3rem; }
      .ctlog_infor_txt br {
        display: none; } }
  @media (max-width: 767px) {
    .ctlog_infor_txt {
      font-size: 2.7rem;
      line-height: 1.27;
      padding: 10px 0; } }

.ctlog_infor_box {
  border: 1px solid #ff322d;
  width: 100%; }
  @media (min-width: 768px), print {
    .ctlog_infor_box {
      margin: 0 auto;
      max-width: 70%; } }
  .ctlog_infor_box a {
    display: block;
    text-align: center; }
    .ctlog_infor_box a:hover {
      opacity: 0.7; }



  @media (min-width: 768px), print {
    .ctlog_infor_notes {
      margin: 0 auto;
      max-width: 70%; } }


.ctlog_infor_thumb {
  padding: 10px 0; }

.ctlog_infor_content {
  background: #ff322d;
  color: #fff;
  padding: 10px; }

.ctlog_infor_ttl {
  font-weight: bold;
  padding-bottom: 5px; }
  @media (min-width: 768px), print {
    .ctlog_infor_ttl {
      font-size: 2.2rem; } }
  @media (max-width: 767px) {
    .ctlog_infor_ttl {
      font-size: 2rem;
      line-height: 1.375; } }

.ctlog_infor_subtxt {
  line-height: 1.75; }
  .ctlog_infor_subtxt span {
    display: block; }
    @media (min-width: 768px), print {
      .ctlog_infor_subtxt span br {
        display: none; } }

.ctlog_plaincard_slide {
  position: relative; }
  @media (min-width: 768px), print {
    .ctlog_plaincard_slide {
      margin-bottom: 70px; } }
  @media (max-width: 767px) {
    .ctlog_plaincard_slide {
      margin-bottom: 100px; } }
  .ctlog_plaincard_slide .js_othercatologs {
    margin: 0 auto;
    max-width: 920px;
    overflow: hidden;
    position: relative; }
    @media (max-width: 767px) {
      .ctlog_plaincard_slide .js_othercatologs {
        padding: 0 40px; } }
  .ctlog_plaincard_slide .swiper-button-prev {
    height: 34px !important;
    left: 0 !important;
    position: absolute !important;
    top: 50% !important;
    width: 24px !important; }
    .ctlog_plaincard_slide .swiper-button-prev::after {
      display: none; }
    .ctlog_plaincard_slide .swiper-button-prev::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-arrow.png") center center/contain no-repeat !important;
      height: 100% !important;
      width: 100% !important;
      content: "";
      transform: rotate(180deg); }
  .ctlog_plaincard_slide .swiper-button-next {
    height: 34px !important;
    right: 0 !important;
    position: absolute !important;
    top: 50% !important;
    width: 24px !important; }
    .ctlog_plaincard_slide .swiper-button-next::after {
      display: none; }
    .ctlog_plaincard_slide .swiper-button-next::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-arrow.png") center center/contain no-repeat !important;
      content: "";
      height: 100% !important;
      width: 100% !important; }
  .ctlog_plaincard_slide .swiper-slide {
    display: flex;
    height: auto; }

.ctlog_box03 {
  display: block; }
  @media (min-width: 768px), print {
    .ctlog_box03 {
      padding-bottom: 25px; } }
  @media (max-width: 767px) {
    .ctlog_box03 {
      padding-bottom: 62px; } }

.ctlog_box04 {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%; }
  @media (min-width: 768px), print {
    .ctlog_box04 {
      padding-bottom: 200px; } }
  @media (max-width: 767px) {
    .ctlog_box04 {
      padding-bottom: 100px; } }

.ctlog_box05 {
  display: block; }
  @media (min-width: 768px), print {
    .ctlog_box05 {
      padding-bottom: 45px; } }
  @media (max-width: 767px) {
    .ctlog_box05 {
      padding-bottom: 20px; } }

.gift_subtopttl {
  display: block; }
  @media (min-width: 768px), print {
    .gift_subtopttl {
      font-size: 2.5rem;
      padding-top: 15px; } }
  @media (max-width: 767px) {
    .gift_subtopttl {
      font-size: 1.4rem; } }

@media (max-width: 767px) {
  .gift_ttl03 {
    font-size: 1.8rem; } }

@media (max-width: 767px) {
  .gift_subttl003 {
    font-size: 1.6rem; } }

.gift_mechanism_group {
  position: relative; }
  @media (min-width: 768px), print {
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li .gift_mechanism_thumb {
      align-items: center;
      display: flex;
      justify-content: center;
      height: 86px; }
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(1) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(5) .gift_mechanism_thumb img {
      width: 120px; }
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(2) .gift_mechanism_thumb img {
      width: 134px; }
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(3) .gift_mechanism_thumb img {
      width: 100px; }
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(4) .gift_mechanism_thumb img {
      width: 146px; } }
  @media (max-width: 767px) {
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(1) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(3) .gift_mechanism_thumb img {
      width: 100px; }
    .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(2) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(4) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:first-child .gift_mechanism_list li:nth-child(5) .gift_mechanism_thumb img {
      width: 120px; } }
  .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_ttl {
    background: #71afd1;
    color: #fff; }
  @media (min-width: 768px), print {
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li .gift_mechanism_thumb {
      align-items: center;
      display: flex;
      justify-content: center;
      height: 106px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(1) .gift_mechanism_thumb img {
      width: 106px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(2) .gift_mechanism_thumb img {
      width: 134px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(3) .gift_mechanism_thumb img {
      width: 122px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(4) .gift_mechanism_thumb img {
      width: 146px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(5) .gift_mechanism_thumb img {
      width: 120px; } }
  @media (max-width: 767px) {
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(1) .gift_mechanism_thumb img {
      width: 110px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(3) .gift_mechanism_thumb img {
      width: 100px; }
    .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(2) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(4) .gift_mechanism_thumb img, .gift_mechanism_group .gift_mechanism_part:last-child .gift_mechanism_list li:nth-child(5) .gift_mechanism_thumb img {
      width: 120px; } }

.gift_mechanism_part {
  margin-top: 20px;
  position: relative; }

.gift_mechanism_ttl {
  border: 1px solid #71afd1;
  border-radius: 35px;
  font-size: 2rem;
  font-weight: 700;
  text-align: center; }
  @media (min-width: 768px), print {
    .gift_mechanism_ttl {
      height: 100%;
      left: 0;
      top: 0;
      width: 40px;
      position: absolute;
      writing-mode: vertical-lr; } }
  @media (max-width: 767px) {
    .gift_mechanism_ttl {
      margin-bottom: 10px; } }

.gift_mechanism_content {
  position: relative; }
  @media (min-width: 768px), print {
    .gift_mechanism_content {
      margin-left: 60px; } }
  @media (max-width: 767px) {
    .gift_mechanism_content {
      display: flex;
      justify-content: space-between; } }

.gift_mechanism_toplbl {
  display: flex;
  justify-content: space-between;
  overflow: hidden;
  position: relative; }
  @media (min-width: 768px), print {
    .gift_mechanism_toplbl {
      background: rgba(113, 175, 209, 0.3);
      background: linear-gradient(50deg, rgba(113, 175, 209, 0.3) 0%, rgba(113, 175, 209, 0.3) 40%, white 40%, white 41%, #f2f2f2 41%, #f2f2f2 100%);
      margin-bottom: 30px; } }
  @media (max-width: 767px) {
    .gift_mechanism_toplbl {
      background: rgba(113, 175, 209, 0.3);
      background: linear-gradient(150deg, rgba(113, 175, 209, 0.3) 0%, rgba(113, 175, 209, 0.3) 40%, white 40%, white 41%, #f2f2f2 41%, #f2f2f2 100%);
      flex-direction: column;
      width: 30px; } }
  .gift_mechanism_toplbl li {
    font-weight: 700;
    padding: 2px 0;
    text-align: center; }
    @media (max-width: 767px) {
      .gift_mechanism_toplbl li {
        left: 0;
        position: absolute;
        top: 0;
        writing-mode: vertical-lr;
        -webkit-writing-mode: vertical-lr;
        -ms-writing-mode: vertical-lr; } }
    @media (min-width: 768px), print {
      .gift_mechanism_toplbl li:first-child {
        width: 40%; } }
    @media (max-width: 767px) {
      .gift_mechanism_toplbl li:first-child {
        height: 40%; } }
    .gift_mechanism_toplbl li:last-child {
      color: #71afd1; }
      @media (min-width: 768px), print {
        .gift_mechanism_toplbl li:last-child {
          flex: 1 1 0%; } }
      @media (max-width: 767px) {
        .gift_mechanism_toplbl li:last-child {
          height: 60%;
          top: 40%; } }

.gift_mechanism_list {
  counter-reset: item; }
  @media (min-width: 768px), print {
    .gift_mechanism_list {
      display: flex;
      justify-content: space-between; } }
  @media (max-width: 767px) {
    .gift_mechanism_list {
      flex: 1 1 0%; } }
  .gift_mechanism_list li {
    position: relative; }
    @media (min-width: 768px), print {
      .gift_mechanism_list li {
        width: calc((100% - 80px) / 5 - 0.1px); } }
    @media (max-width: 767px) {
      .gift_mechanism_list li {
        display: flex;
        flex-direction: row-reverse;
        margin-bottom: 20px;
        padding-left: 40px;
        top: -6px; }
        .gift_mechanism_list li:last-child {
          margin-bottom: 0; } }

.gift_mechanism_thumb {
  text-align: center; }
  @media (min-width: 768px), print {
    .gift_mechanism_thumb {
      margin-bottom: 26px; } }
  @media (max-width: 767px) {
    .gift_mechanism_thumb {
      margin-left: 10px;
      margin-top: 5px;
      width: 120px; } }

.gift_mechanism_num {
  text-align: center; }
  @media (min-width: 768px), print {
    .gift_mechanism_num {
      margin-bottom: 8px; }
      .gift_mechanism_num img {
        height: 20px; } }
  @media (max-width: 767px) {
    .gift_mechanism_num {
      left: 13px;
      position: absolute;
      top: 0; }
      .gift_mechanism_num img {
        height: 20px; } }

@media (min-width: 768px), print {
  .gift_mechanism_txt {
    font-size: 1.3rem; } }
@media (max-width: 767px) {
  .gift_mechanism_txt {
    flex: 1 1 0%;
    font-size: 1.4rem;
    line-height: 1.5; } }

@media (max-width: 767px) {
  .feature_salepromotion {
    margin-top: 0; } }
@media (min-width: 768px), print {
  .feature_salepromotion h1 {
    font-size: 4.5rem;
    line-height: 1.33; } }
@media (max-width: 767px) {
  .feature_salepromotion h1 {
    font-size: 1.6rem;
    line-height: 1.4; } }
@media (min-width: 768px), print {
  .feature_salepromotion .feature_group_up::after {
    background: url(/content/dam/imgs/asset/images/catalog/sales_promotion/img_top.png) center left/contain no-repeat;
    right: -812px;
    width: 812px; } }
@media (max-width: 767px) {
  .feature_salepromotion::after {
    background: url(/content/dam/imgs/asset/images/catalog/sales_promotion/img_top.png) center left/cover no-repeat;
    width: 58%; } }

.sales_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  padding-bottom: 150px;
  padding-top: 23px; }
  .sales_wrap .catalog_topttl {
    font-weight: 500;
    line-height: 1.4; }
  @media (max-width: 767px) {
    .sales_wrap {
      padding-bottom: 100px;
      padding-top: 20px; }
      .sales_wrap .catalog_topttl {
        font-size: 1.9rem;
        margin-left: 0;
        margin-right: 0; } }

.sale_topintro {
  font-size: 2.2rem;
  margin-bottom: 93px;
  text-align: center; }
  @media (max-width: 767px) {
    .sale_topintro {
      font-size: 1.6rem;
      line-height: 1.7;
      margin-bottom: 47px;
      text-align: left; } }

.slide_2slide {
  max-width: 1020px;
  margin: 30px auto 150px;
  overflow: hidden;
  padding: 0 80px;
  position: relative; }
  .slide_2slide .ctgiftt_swiper_control {
    position: static !important;
    height: auto !important; }
  .slide_2slide .swiper-slide {
    visibility: hidden; }
  .slide_2slide .swiper-slide-active,
  .slide_2slide .swiper-slide-next {
    visibility: visible !important; }
  .slide_2slide .swiper-button-prev {
    height: 44px !important;
    left: 0 !important;
    position: absolute !important;
    top: 50% !important;
    width: 24px !important; }
    .slide_2slide .swiper-button-prev::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-arrow.png") center center/contain no-repeat !important;
      height: 100% !important;
      width: 100% !important; }
  .slide_2slide .swiper-button-next {
    height: 44px !important;
    right: 0 !important;
    position: absolute !important;
    top: 50% !important;
    width: 24px !important; }
    .slide_2slide .swiper-button-next::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-arrow.png") center center/contain no-repeat !important;
      height: 100% !important;
      width: 100% !important; }
  @media (max-width: 767px) {
    .slide_2slide {
      margin: 20px auto 72px;
      padding: 0 35px !important; }
      .slide_2slide .swiper-slide-next {
        visibility: hidden !important; }
      .slide_2slide .swiper-button-prev,
      .slide_2slide .swiper-button-next {
        height: 22px !important;
        width: 12px !important; }
      .slide_2slide .ctgiftt_swiper_control {
        margin: 0 !important;
        padding: 0 !important; } }

.order_flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin: 45px auto 88px;
  max-width: 856px; }
  @media (max-width: 767px) {
    .order_flow {
      margin: 25px 0 45px; } }
  .order_flow > dt {
    align-content: center;
    border: 1px solid #333;
    display: flex;
    flex-direction: column;
    font-size: 2.4rem;
    font-weight: 700;
    justify-content: center;
    line-height: 1.2;
    margin-top: 20px;
    padding: 10px;
    position: relative;
    text-align: center;
    width: 180px; }
    .order_flow > dt span {
      font-size: 1.8rem; }
    .order_flow > dt::before {
      border-style: solid;
      border-width: 16px 16px 0 16px;
      border-color: #333 transparent transparent transparent;
      content: "";
      height: 0;
      left: calc(50% - 16px);
      position: absolute;
      top: 100%;
      width: 0; }
    .order_flow > dt:first-child {
      align-self: center;
      margin-top: 0; }
      .order_flow > dt:first-child::before {
        display: none; }
    .order_flow > dt:nth-child(13)::before {
      display: none; }
    .order_flow > dt:nth-child(7) {
      align-self: center; }
    .order_flow > dt:nth-child(11) {
      align-self: center; }
    @media (max-width: 767px) {
      .order_flow > dt {
        font-size: 1rem;
        margin-top: 9px;
        padding: 5px;
        width: 75px; }
        .order_flow > dt span {
          font-size: 0.75rem; }
        .order_flow > dt::before {
          border-width: 6px 6px 0 6px;
          left: calc(50% - 6px); } }
  .order_flow > dd {
    display: flex;
    font-size: 1.9rem;
    font-weight: 500;
    flex-direction: column;
    justify-content: center;
    margin-top: 20px;
    width: calc(100% - 205px); }
    .order_flow > dd:nth-child(2) {
      align-self: center;
      margin-top: 0 !important; }
    .order_flow > dd:nth-child(8) {
      align-self: center; }
    .order_flow > dd:nth-child(12) {
      align-self: center; }
    @media (max-width: 767px) {
      .order_flow > dd {
        font-size: 0.8rem;
        margin-top: 9px;
        width: calc(100% - 85px); }
        .order_flow > dd:nth-child(2) img {
          height: auto;
          width: 39px; }
        .order_flow > dd:nth-child(4) img {
          height: auto;
          width: 32px; }
        .order_flow > dd:nth-child(8) img {
          height: auto;
          width: 37px; }
        .order_flow > dd:nth-child(12) img {
          height: auto;
          width: 26px; } }

.cmn_lst_dot li {
  padding-left: 9px;
  position: relative; }
  .cmn_lst_dot li::before {
    content: "・";
    left: -10px;
    position: absolute;
    top: 0; }
@media (max-width: 767px) {
  .cmn_lst_dot li {
    padding-left: 5px; }
    .cmn_lst_dot li::before {
      left: -4px; } }

.order_flow_client {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding-bottom: 10px; }

.order_flow_client_left {
  max-width: 80px;
  text-align: center;
  width: 12.5%; }

.order_flow_client_left_txt {
  font-size: 2.2rem;
  font-weight: 700;
  margin-bottom: 15px; }
  @media (max-width: 767px) {
    .order_flow_client_left_txt {
      font-size: 0.9rem;
      margin-bottom: 5px; } }

.order_flow_client_mid {
  width: 3.24%; }

.order_flow_client_right {
  border: 1px solid #4d4d4d;
  border-radius: 5px;
  max-width: 486px;
  margin-top: 24px;
  padding: 10px;
  width: 75%; }
  @media (max-width: 767px) {
    .order_flow_client_right {
      margin-top: 5px;
      padding: 5px; } }

.order_flow_client_lst {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between; }
  .order_flow_client_lst li {
    align-items: center;
    background: #f2f2f2;
    border-radius: 5px;
    display: flex;
    font-size: 1.7rem;
    font-weight: 700;
    justify-content: center;
    margin-top: 5px;
    padding: 5px 2px;
    text-align: center;
    width: calc(50% - 4px); }
    .order_flow_client_lst li:last-child {
      margin: 5px auto 0; }
  @media (max-width: 767px) {
    .order_flow_client_lst {
      margin-top: 2px; }
      .order_flow_client_lst li {
        font-size: 0.7rem;
        font-weight: 500;
        line-height: 1.4;
        margin-top: 2px;
        padding: 3px 0;
        width: calc(50% - 2px); } }

.order_flow_client_right_ttl {
  margin-top: -30px;
  text-align: center; }
  .order_flow_client_right_ttl span {
    background: #fff;
    display: inline-block;
    font-size: 2.2rem;
    font-weight: 700;
    padding: 0 10px; }
  @media (max-width: 767px) {
    .order_flow_client_right_ttl {
      margin-top: -14px; }
      .order_flow_client_right_ttl span {
        font-size: 0.9rem; } }

.sales_intro_bot {
  font-size: 3rem;
  font-weight: 500;
  margin: 0 auto 40px;
  max-width: 690px; }
  @media (max-width: 767px) {
    .sales_intro_bot {
      font-size: 2rem;
      line-height: 1.6;
      margin-bottom: 22px; } }

.btn_dircontact {
  height: 80px !important;
  max-width: 530px !important; }
  .btn_dircontact a {
    font-size: 3rem;
    justify-content: center;
    padding: 5px 30px 5px 10px; }
    .btn_dircontact a::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-envelop.png") center/contain no-repeat;
      content: "";
      display: inline-block;
      height: 23px;
      margin-right: 10px;
      width: 31px; }
  @media (max-width: 767px) {
    .btn_dircontact {
      height: 55px !important; }
      .btn_dircontact a {
        font-size: 2rem;
        line-height: 1.2;
        padding: 0 25px 0 10px;
        text-align: center; }
        .btn_dircontact a::before {
          height: 15px;
          margin-right: 6px;
          width: 20px; } }

.purchase_wrap {
  padding-bottom: 200px;
  padding-top: 25px; }
  .purchase_wrap .cmn_h1 {
    font-weight: 500;
    margin-bottom: 90px; }
   /* @media (min-width: 768px), print {
      .purchase_wrap .cmn_h1 br {
        display: none; } }*/
  @media (max-width: 767px) {
    .purchase_wrap {
      padding-bottom: 100px;
      padding-top: 0; }
      .purchase_wrap .cmn_h1 {
        border: none;
        font-size: 2.5rem;
        padding: 0;
        margin-bottom: 45px; } }

@media (min-width: 768px), print {
  .purchase_block {
    margin-bottom: 134px; } }
@media (max-width: 767px) {
  .purchase_block {
    margin-bottom: 90px; } }
.purchase_block:last-child {
  margin-bottom: 0; }
.purchase_block .catalog_ttl {
  font-size: 2rem;
  margin-bottom: 23px; }
  @media (max-width: 767px) {
    .purchase_block .catalog_ttl {
      line-height: 1.3; } }

.purchase_block_ttl {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 5px; }
  @media (max-width: 767px) {
    .purchase_block_ttl {
      font-size: 1.8rem;
      line-height: 1.5; } }

.cmn_star_lst li {
  padding-left: 17px;
  position: relative; }
  .cmn_star_lst li::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }

.purchase_lst {
  border-top: 1px solid #333;
  margin-top: 21px;
  padding-top: 44px; }

.purchase_box {
  margin-top: 50px; }
  .purchase_box:first-child {
    margin-top: 0; }
  @media (min-width: 768px), print {
    .purchase_box {
      display: flex;
      justify-content: space-between; } }
  @media (max-width: 767px) {
    .purchase_box {
      margin-top: 70px; } }

@media (min-width: 768px), print {
  .purchase_box_img {
    margin-left: -1%;
    width: 24.5%; } }
@media (max-width: 767px) {
  .purchase_box_img {
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    max-width: 190px;
    text-align: center;
    width: 100% !important; } }

@media (min-width: 768px), print {
  .purchase_box_cont {
    width: 73.5%; } }
@media (max-width: 767px) {
  .purchase_box_cont {
    width: 100% !important; } }

.purchase_box_txt {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 27px; }
  @media (max-width: 767px) {
    .purchase_box_txt {
      margin-bottom: 20px;
      line-height: 1.5;
      font-size: 1.6rem; }
      .purchase_box_txt br {
        display: none; } }

.purchase_box_in {
  width: 100%; }
  @media (min-width: 768px), print {
    .purchase_box_in {
      height: 140px; } }
  .purchase_box_in a {
    align-items: center;
    border: 1px solid #333;
    display: flex;
    justify-content: space-between;
    height: 100%;
    padding: 20px; }
    .purchase_box_in a:hover {
      opacity: 0.6; }
    @media (max-width: 767px) {
      .purchase_box_in a {
        display: block;
        padding: 18px 0 30px; } }
  .purchase_box_in.color01 a {
    border-color: #a2861b;
    color: #a2861b; }
  .purchase_box_in.color02 a {
    border-color: #073b92;
    color: #073b92; }

.purchase_box_in_txt {
  font-size: 2rem;
  font-weight: 700;
  width: 65%; }
  @media (max-width: 767px) {
    .purchase_box_in_txt {
      line-height: 1.5;
      margin-bottom: 15px;
      width: 100%;
      text-align:center;
      padding: 0 5px;
      font-size: 1.6rem; } }

.purchase_box_in_img {
  flex: 1 1 0%; }
  @media (max-width: 767px) {
    .purchase_box_in_img {
      margin: 0 auto !important;
      width: 230px; } }

.purchase_box_in_img02 {
  text-align: center; }
  .purchase_box_in_img02 img {
    height: 85px; }

.purchase_box_largeimg {
  margin-bottom: 40px; }
  .purchase_box_largeimg .purchase_box_in_txt {
    width: auto; }
  .purchase_box_largeimg .purchase_box_cont {
    width: 100%; }
  @media (min-width: 768px), print {
    .purchase_box_largeimg .purchase_box_in_img {
      text-align: right; } }
  @media (max-width: 767px) {
    .purchase_box_largeimg {
      margin-bottom: 25px; }
      .purchase_box_largeimg .purchase_box_in_img {
        width: 100%;
        text-align: center; } }
  .purchase_box_largeimg a:hover {
    color: #4d4d4d; }

@media (max-width: 767px) {
  .purchase_box_last {
    padding-top: 25px; } }

.purchase_point_list {
  counter-reset: section;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: -8px; }
  .purchase_point_list li {
    font-size: 1.8rem;
    font-weight: 500;
    margin-top: 8px;
    padding-left: 110px;
    position: relative;
    width: calc(50% - 10px); }
    .purchase_point_list li::before {
      border: 1px solid #71afd1;
      border-radius: 30px;
      counter-increment: section;
      content: "POINT " counter(section);
      color: #71afd1;
      font-size: 1.6rem;
      font-weight: 700;
      left: 0;
      padding: 0 5px;
      position: absolute;
      top: 0;
      text-align: center;
      width: 100px; }
    @media (min-width: 768px), print {
      .purchase_point_list li:nth-child(1) {
        order: 1; }
      .purchase_point_list li:nth-child(2) {
        order: 3; }
      .purchase_point_list li:nth-child(3) {
        order: 5; }
      .purchase_point_list li:nth-child(4) {
        order: 2; }
      .purchase_point_list li:nth-child(5) {
        order: 4; }
      .purchase_point_list li:nth-child(6) {
        order: 6; } }
  @media (max-width: 767px) {
    .purchase_point_list {
      display: block;
      margin-top: -5px; }
      .purchase_point_list li {
        display: block;
        padding-left: 0;
        width: 100%; }
     /*   .purchase_point_list li span {
          display: block; }*/
        .purchase_point_list li::before {
          display: block;
          position: static;
          width: 100px; } }

.sales_flow_ex {
  align-items: center;
  display: flex; }
  @media (min-width: 768px), print {
    .sales_flow_ex .sales_flow_ex_icon {
      width: 110px; } }
  @media (max-width: 767px) {
    .sales_flow_ex .sales_flow_ex_icon {
      width: 50px; } }

/*Client*/
@media (min-width: 768px), print {
  .client_top {
    align-items: center;
    background: url("/content/dam/imgs/asset/images/catalog/client/bg-top.jpg") center/cover no-repeat;
    display: flex;
    height: 500px;
    justify-content: center;
    padding: 30px 0; } }

@media (min-width: 768px), print {
  .client_top_wrap {
    background: rgba(255, 255, 255, 0.7);
    margin: 0 auto;
    max-width: 750px;
    padding: 25px 10px;
    text-align: center;
    width: 100%; } }
@media (max-width: 767px) {
  .client_top_wrap {
    margin-left: auto;
    margin-right: auto;
    max-width: 1020px;
    padding-left: 10px;
    padding-right: 10px;
    width: 100%;
    text-align: center; } }
@media (min-width: 768px), print {
  .client_top_wrap .ctgiftt_btn {
    height: 72px !important; } }
@media (max-width: 767px) {
  .client_top_wrap .ctgiftt_btn {
    height: 55px !important; } }
@media (min-width: 768px), print {
  .client_top_wrap .ctgiftt_btn a {
    font-size: 2.7rem; } }
@media (max-width: 767px) {
  .client_top_wrap .ctgiftt_btn a {
    font-size: 2rem; } }

.client_top_img {
  margin-bottom: 17px; }

.client_top_ttl {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 10px; }
  .client_top_ttl span {
    display: block;
    font-size: 4rem; }
  @media (min-width: 768px), print {
    .client_top_ttl {
      line-height: 1.4; } }
  @media (max-width: 767px) {
    .client_top_ttl {
      font-size: 1.9rem;
      margin-bottom: 7px; }
      .client_top_ttl span {
        font-size: 2.5rem; } }

.client_top_txt {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.55; }
  @media (max-width: 767px) {
    .client_top_txt {
      font-size: 1.5rem;
      line-height: 1.6;
      margin-bottom: 0; } }

.client_top_tel {
  color: #2a74ad;
  line-height: 1.3; }
  .client_top_tel a {
    color: #2a74ad;
    display: inline-block;
    font-size: 5rem;
    font-weight: 700; }
  .client_top_tel span {
    display: inline-block;
    font-size: 3rem;
    font-weight: 700; }
  @media (max-width: 767px) {
    .client_top_tel {
      line-height: 1.2;
      margin-bottom: 6px; }
      .client_top_tel a {
        font-size: 4rem; }
      .client_top_tel span {
        display: block;
        font-size: 2.5rem; } }

.client_top_tel_txt {
  font-size: 2rem;
  font-weight: 700; }
  @media (max-width: 767px) {
    .client_top_tel_txt {
      font-size: 1.6rem; } }

.client_top_tel_subtxt {
  font-size: 1.4rem; }
  @media (min-width: 768px), print {
    .client_top_tel_subtxt {
      line-height: 1.42;
      padding-bottom: 15px; } }
  @media (max-width: 767px) {
    .client_top_tel_subtxt {
      line-height: 1.64;
      padding-bottom: 20px; } }

.client_wrap {
  margin-left: auto;
  margin-right: auto;
  max-width: 1020px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%;
  line-height: 1.75;
  padding-bottom: 200px;
  padding-top: 47px;
  text-align: center; }
  .client_wrap .catalog_topttl {
    padding-bottom: 2px; }
  @media (max-width: 767px) {
    .client_wrap {
      padding-bottom: 100px;
      padding-top: 94px; }
      .client_wrap .catalog_topttl {
        font-size: 2rem;
        margin-left: 0;
        margin-right: 0; } }

.client_prob {
  padding-bottom: 100px; }
  @media (max-width: 767px) {
    .client_prob {
      padding-bottom: 75px; } }

.client_prob_ttl {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 21px; }
  @media (max-width: 767px) {
    .client_prob_ttl {
      font-size: 2.5rem;
      line-height: 1.4;
      margin-bottom: 17px; } }

.client_prob_lst li {
  align-items: center;
  border: 1px solid #808080;
  display: flex;
  font-weight: 500;
  justify-content: center;
  padding: 10px;
  margin-top: 20px;
  text-align: center; }
@media (min-width: 768px), print {
  .client_prob_lst {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%; }
    .client_prob_lst li {
      width: calc(50% - 10px); }
      .client_prob_lst li:nth-child(-n + 2) {
        margin-top: 0; } }
@media (max-width: 767px) {
  .client_prob_lst li {
    margin-top: 15px;
    min-height: 76px;
    padding: 10px 5px; }
    .client_prob_lst li:first-child {
      margin-top: 0; } }

.client_box {
  margin-bottom: 100px; }
  @media (max-width: 767px) {
    .client_box {
      margin-bottom: 70px; } }

.client_box_ttl {
  background: #71afd1;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 500;
  padding: 5px; }
  @media (max-width: 767px) {
    .client_box_ttl {
      line-height: 1.3;
      padding: 10px 5px;
      font-size: 2rem; } }

.client_box_in {
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #666;
  padding: 10px 50px 40px; }
  @media (max-width: 767px) {
    .client_box_in {
      padding: 11px 10px 25px; } }

.client_box_txt {
  margin-bottom: 25px; }

.client_gift_lst {
  display: flex;
  justify-content: space-between;
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .client_gift_lst {
      display: block;
      margin-bottom: 25px;
      margin-left: auto;
      margin-right: auto;
      max-width: 280px; } }

.client_gift_box {
  border: 1px solid #999;
  width: calc((100% - 60px) / 3); }
  .client_gift_box:first-child .client_gift_card li:nth-child(1),
  .client_gift_box:first-child .client_gift_card li:nth-child(3) {
    max-width: 200px;
    margin-left: auto;
    margin-right: auto; }
  .client_gift_box:nth-child(2) .client_gift_card li:nth-child(1),
  .client_gift_box:nth-child(2) .client_gift_card li:nth-child(3) {
    max-width: 225px;
    margin-left: auto;
    margin-right: auto; }
  @media (max-width: 767px) {
    .client_gift_box {
      margin-top: 12px;
      width: 100%; }
      .client_gift_box:first-child {
        margin-top: 0; } }

.client_gift_box_ttl {
  background: #f1f7fa;
  font-size: 2rem;
  font-weight: 700;
  padding: 4px 5px; }

.client_gift_card {
  padding: 16px 10px; }
  .client_gift_card li {
    margin-top: 11px; }
    .client_gift_card li:first-child {
      margin-top: 0; }
  .client_gift_card li:nth-child(2) {
    align-items: center;
    background: url("/content/dam/imgs/asset/images/catalog/client/bg-arrow.png") center/contain no-repeat;
    display: flex;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.2;
    justify-content: center;
    min-height: 40px;
    text-align: center; }
  @media (max-width: 767px) {
    .client_gift_card {
      padding: 18px 25px; }
      .client_gift_card li {
        margin-top: 9px; } }

.client_gift_card02 {
  padding: 24px 20px 22px; }
  .client_gift_card02 li:first-child {
    border-bottom: 1px solid #f2f2f2;
    margin-bottom: 25px;
    padding-bottom: 25px; }
    .client_gift_card02 li:first-child img {
      width: 200px; }
  @media (max-width: 767px) {
    .client_gift_card02 {
      padding: 20px 15px 20px; } }

.client_box_img {
  margin-bottom: 40px; }
  @media (max-width: 767px) {
    .client_box_img {
      margin-bottom: 23px; } }

.client_use {
  padding-bottom: 150px;
  padding-top: 50px; }
  .client_use .catalog_topttl {
    margin-bottom: 13px; }
  @media (max-width: 767px) {
    .client_use {
      padding-bottom: 100px;
      padding-top: 1px; }
      .client_use .catalog_topttl {
        margin-bottom: 20px; } }

.client_use_introtxt {
  margin-bottom: 45px; }
  @media (max-width: 767px) {
    .client_use_introtxt {
      margin-bottom: 20px; } }

.client_use_lst {
  display: flex;
  flex-wrap: wrap; }
  .client_use_lst li {
    border: 1px solid #b3b3b3;
    margin-left: 27px;
    margin-top: 20px; }
    @media (min-width: 768px), print {
      .client_use_lst li {
        width: calc((100% - 81px) / 4); }
        .client_use_lst li:nth-child(4n + 1) {
          margin-left: 0; }
        .client_use_lst li:nth-child(-n + 4) {
          margin-top: 0; } }
    @media (max-width: 767px) {
      .client_use_lst li {
        margin-left: 20px;
        margin-top: 25px;
        width: calc((50% - 10px)); }
        .client_use_lst li:nth-child(2n + 1) {
          margin-left: 0; }
        .client_use_lst li:nth-child(-n + 2) {
          margin-top: 0; } }

.client_use_lst_ttl {
  align-items: center;
  display: flex;
  font-size: 2.6rem;
  font-weight: 700;
  justify-content: center;
  min-height: 80px;
  padding: 5px;
  text-align: center; }
  @media (max-width: 767px) {
    .client_use_lst_ttl {
      font-size: 1.6rem;
      min-height: 50px; } }

.client_manner {
  padding-bottom: 119px; }
  @media (max-width: 767px) {
    .client_manner {
      padding-bottom: 75px; } }

.client_manner_ttl {
  background: #2a74ad;
  color: #fff;
  font-size: 2.5rem;
  font-weight: 700;
  margin-bottom: 25px;
  padding: 5px; }
  @media (max-width: 767px) {
    .client_manner_ttl {
      font-size: 2.2rem;
      line-height: 1.36;
      margin-bottom: 14px;
      padding: 10px 5px; } }

.client_manner_bnr {
  margin: 0 auto;
  max-width: 1000px;
  width: 100%; }
  .client_manner_bnr a {
    display: block;
    transition: 0.3s all ease-in-out; }
    .client_manner_bnr a:hover {
      opacity: 0.6; }

.client_product {
  padding-bottom: 150px; }
  .client_product .catalog_topttl {
    margin-bottom: 30px; }
  @media (max-width: 767px) {
    .client_product {
      padding-bottom: 100px; }
      .client_product .catalog_topttl {
        margin-bottom: 20px; } }

.client_product_box {
  background: #f2f2f2;
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  padding: 20px; }
  @media (max-width: 767px) {
    .client_product_box {
      margin-top: 15px;
      padding: 15px; }
      .client_product_box:first-child {
        margin-top: 0; } }

.client_product_box_img {
  width: 100px; }

.client_product_box_cont {
  text-align: left;
  width: calc(100% - 120px); }
  @media (max-width: 767px) {
    .client_product_box_cont {
      width: calc(100% - 110px); } }

.client_product_box_ttl {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 5px; }

.client_request_ttl {
  background: #333;
  color: #fff;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.6;
  padding: 28px 10px 30px; }
  .client_request_ttl h2 {
    font-weight: 400; }
    @media (min-width: 768px), print {
      .client_request_ttl h2 {
        font-size: 2.2rem;
        line-height: 1.54; } }
    @media (max-width: 767px) {
      .client_request_ttl h2 {
        font-size: 1.7rem;
        line-height: 1.58;
        padding-bottom: 5px; } }
  .client_request_ttl span {
    display: block;
    font-size: 1.6rem;
    font-weight: 400; }
  @media (max-width: 767px) {
    .client_request_ttl {
      font-size: 1.7rem;
      padding: 21px 10px 20px; }
      .client_request_ttl span {
        font-size: 1.4rem; } }

.client_request_cont {
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #333;
  padding: 21px 20px 29px; }
  @media (max-width: 767px) {
    .client_request_cont {
      padding: 10px; } }

.client_request_img a {
  display: block; }

.no-mg-bt {
  margin-bottom: 0; }

.client_btn {
  max-width: 410px !important; }
  @media (min-width: 768px), print {
    .client_btn a {
      justify-content: center;
      padding-right: 20px;
      text-align: center; } }
  @media (max-width: 767px) {
    .client_btn {
      max-width: 315px !important;
      height: auto !important; }
      .client_btn a {
        line-height: 1.5;
        height: auto;
        min-height: 45px;
        padding-bottom: 12px;
        padding-top: 12px; } }

@media (max-width: 767px) {
  .client_btn02 a {
    justify-content: center;
    padding-left: 0; } }

.purchase_corporate_ttl {
  font-weight: 700; }
  @media (min-width: 768px), print {
    .purchase_corporate_ttl {
      font-size: 4rem;
      padding-bottom: 15px; } }
  @media (max-width: 767px) {
    .purchase_corporate_ttl {
      font-size: 3rem;
      padding-bottom: 10px; } }

@media (min-width: 768px), print {
  .ctgift_type {
    display: flex;
    justify-content: space-between;
    margin-bottom: 70px; } }

@media (min-width: 768px), print {
  .ctgift_type_thumb {
    width: 48%; } }
@media (max-width: 767px) {
  .ctgift_type_thumb {
    max-width: 250px;
    margin: 0 auto 30px; } }

@media (min-width: 768px), print {
  .ctgift_type_content {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    width: 47%; } }

@media (max-width: 767px) {
  .ctgift_type_cont_up {
    padding-bottom: 20px; } }

.ctgift_type_detail {
  padding-bottom: 12px; }
  @media (min-width: 768px), print {
    .ctgift_type_detail li {
      font-size: 1.8rem; } }

.ctgift_note {
  padding-left: 14px;
  position: relative;
  font-size: 1.4rem; }
  .ctgift_note::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }

.ctgiftt_type_sampsite {
  display: flex;
  justify-content: space-between; }
  @media (max-width: 767px) {
    .ctgiftt_type_sampsite {
      margin-bottom: 50px; } }
  .ctgiftt_type_sampsite a {
    align-items: center;
    background: #f2f2f2;
    display: flex;
    justify-content: space-between;
    width: 100%; }
    .ctgiftt_type_sampsite a:hover {
      opacity: 0.7; }
    @media (min-width: 768px), print {
      .ctgiftt_type_sampsite a {
        padding: 20px; } }
    @media (max-width: 767px) {
      .ctgiftt_type_sampsite a {
        padding: 12px 15px 12px; } }

.ctgiftt_type_sampsite_ttl {
  color: #2a74ad;
  font-weight: bold; }
  @media (min-width: 768px), print {
    .ctgiftt_type_sampsite_ttl {
      font-size: 2.3rem;
      line-height: 1.4; } }
  @media (max-width: 767px) {
    .ctgiftt_type_sampsite_ttl {
      font-size: 1.7rem; } }

.ctgiftt_type_sampsite_span {
  display: block; }
  @media (min-width: 768px), print {
    .ctgiftt_type_sampsite_span {
      font-size: 1.8rem; } }
  @media (max-width: 767px) {
    .ctgiftt_type_sampsite_span {
      font-size: 1.3rem; } }

@media (min-width: 768px), print {
  .ctgiftt_type_sampsite_thumb {
    width: 60px; } }
@media (max-width: 767px) {
  .ctgiftt_type_sampsite_thumb {
    width: 46px; } }

.ctgiftt_apply_ttl {
  background: #2a74ad;
  color: #fff;
  font-weight: 400;
  text-align: center; }
  @media (min-width: 768px), print {
    .ctgiftt_apply_ttl {
      font-size: 2.5rem;
      padding: 2px 0 7px; }
      .ctgiftt_apply_ttl br {
        display: none; } }
  @media (max-width: 767px) {
    .ctgiftt_apply_ttl {
      font-size: 1.9rem;
      line-height: 1.3;
      padding: 9px 0; } }

.ctgiftt_apply_inner {
  border: 1px solid #95b8d4;
  border-top: none; }
  @media (min-width: 768px), print {
    .ctgiftt_apply_inner {
      padding-top: 25px; } }
  @media (max-width: 767px) {
    .ctgiftt_apply_inner {
      padding-top: 8px; } }

.ctgiftt_apply_note {
  font-weight: 400; }
  @media (min-width: 768px), print {
    .ctgiftt_apply_note {
      padding: 0 0 0 190px; } }
  @media (max-width: 767px) {
    .ctgiftt_apply_note {
      padding: 0 0 20px 5px; } }
  .ctgiftt_apply_note li {
    padding-left: 14px;
    position: relative; }
    .ctgiftt_apply_note li::before {
      content: "※";
      left: 0;
      position: absolute;
      top: 0; }
    @media (max-width: 767px) {
      .ctgiftt_apply_note li {
        font-size: 1.4rem; } }

@media (min-width: 768px), print {
  .ctgiftt_apply_twopart {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0 20px 28px; } }
@media (max-width: 767px) {
  .ctgiftt_apply_twopart {
    padding: 0 5px 5px; } }
@media (min-width: 768px), print {
  .ctgiftt_apply_twopart li {
    margin-top: 30px;
    margin-left: 15px;
    margin-right: 15px;
    width: calc(50% - 30px); } }
@media (max-width: 767px) {
  .ctgiftt_apply_twopart li {
    margin-top: 10px; } }
.ctgiftt_apply_twopart li:first-child a {
  color: #a2861b;
  border-color: #a2861b; }
.ctgiftt_apply_twopart li:nth-child(2) a {
  border-color: #073b92;
  color: #073b92; }
.ctgiftt_apply_twopart li a {
  align-items: center;
  border-style: solid;
  border-width: 1px;
  display: flex;
  justify-content: space-between;
  padding: 2px 0 2px 15px; }
  .ctgiftt_apply_twopart li a:hover {
    opacity: 0.7; }

.ctgiftt_apply_last a {
  border-color: #ff322d;
  color: #ff322d;
  flex-direction: column;
  padding: 15px 0 10px 0 !important; }
  .ctgiftt_apply_last a .ctgiftt_apply_subttl {
    padding-bottom: 10px; }

.ctgiftt_apply_subttl {
  font-weight: 700;
  line-height: 1.4; }
  @media (min-width: 768px), print {
    .ctgiftt_apply_subttl {
      font-size: 2.3rem; } }
  @media (max-width: 767px) {
    .ctgiftt_apply_subttl {
      font-size: 1.75rem; } }

.ctgiftt_apply_thumb {
  flex: 1 1 0%; }

.ctgiftt_swiper_control {
  align-items: center;
  display: flex;
  justify-content: center;
  position: relative; }
  @media (min-width: 768px), print {
    .ctgiftt_swiper_control {
      height: 120px; } }
  @media (max-width: 767px) {
    .ctgiftt_swiper_control {
      margin-bottom: 10px;
      padding-top: 20px; } }
  .ctgiftt_swiper_control .swiper-pagination {
    position: relative;
    width: auto; }
    .ctgiftt_swiper_control .swiper-pagination span {
      background: #71afd1; }
      @media (min-width: 768px), print {
        .ctgiftt_swiper_control .swiper-pagination span {
          margin: 0 16px !important;
          height: 10px;
          width: 10px; } }
      @media (max-width: 767px) {
        .ctgiftt_swiper_control .swiper-pagination span {
          margin: 0 8px !important;
          height: 5px;
          width: 5px; } }
      .ctgiftt_swiper_control .swiper-pagination span .swiper-pagination-bullet-active {
        background: #71afd1; }
  .ctgiftt_swiper_control .swiper-button-prev,
  .ctgiftt_swiper_control .swiper-button-next {
    left: auto;
    position: relative;
    right: auto; }
    @media (min-width: 768px), print {
      .ctgiftt_swiper_control .swiper-button-prev,
      .ctgiftt_swiper_control .swiper-button-next {
        top: 0; } }
    @media (max-width: 767px) {
      .ctgiftt_swiper_control .swiper-button-prev,
      .ctgiftt_swiper_control .swiper-button-next {
        top: 6px; } }
    .ctgiftt_swiper_control .swiper-button-prev::after,
    .ctgiftt_swiper_control .swiper-button-next::after {
      display: none; }
    .ctgiftt_swiper_control .swiper-button-prev::before,
    .ctgiftt_swiper_control .swiper-button-next::before {
      content: ""; }
      @media (min-width: 768px), print {
        .ctgiftt_swiper_control .swiper-button-prev::before,
        .ctgiftt_swiper_control .swiper-button-next::before {
          height: 18px;
          width: 11px; } }
      @media (max-width: 767px) {
        .ctgiftt_swiper_control .swiper-button-prev::before,
        .ctgiftt_swiper_control .swiper-button-next::before {
          height: 12px;
          width: 7px; } }
  .ctgiftt_swiper_control .swiper-button-prev {
    margin-right: 30px; }
    .ctgiftt_swiper_control .swiper-button-prev::before {
      background: url(/content/dam/imgs/asset/images/catalog_gift/ico-b-arr.png) center center/cover no-repeat;
      transform: rotate(180deg); }
  .ctgiftt_swiper_control .swiper-button-next {
    margin-left: 30px; }
    .ctgiftt_swiper_control .swiper-button-next::before {
      background: url(/content/dam/imgs/asset/images/catalog_gift/ico-b-arr.png) center center/cover no-repeat; }

.ctgiftt_btn {
  height: 50px;
  margin: 0 auto; }
  @media (min-width: 768px), print {
    .ctgiftt_btn {
      max-width: 350px; } }
  @media (max-width: 767px) {
    .ctgiftt_btn {
      max-width: 315px; } }

.sltgift_ttl {
  align-items: center;
  border: 1px solid #71afd1;
  border-radius: 35px;
  display: flex;
  font-weight: 700;
  justify-content: center; }
  @media (min-width: 768px), print {
    .sltgift_ttl {
      font-size: 2.5rem;
      height: 60px;
      margin-bottom: 55px; } }
  @media (max-width: 767px) {
    .sltgift_ttl {
      font-size: 1.9rem;
      height: 50px;
      margin-bottom: 25px; } }
  .sltgift_ttl.sltgift_ttl_book {
    background: #71afd1;
    color: #fff; }

  @media (min-width: 768px), print {
  .sltgift_ttl.sltgift_ttl_book2 {
    background: #71afd1;
    color: #fff;
    margin-bottom: 10px; }
}

  @media (max-width: 767px) {
  .sltgift_ttl.sltgift_ttl_book2 {
    margin-bottom: 10px;
    background: #71afd1;
    color: #fff; }
}


.sltgift_sample_card {
  margin: 0 auto;
  max-width: 500px; }
  @media (min-width: 768px), print {
    .sltgift_sample_card {
      width: 100%; } }
  @media (max-width: 767px) {
    .sltgift_sample_card {
      width: 80%; } }

.sltgift_card_thumb {
  margin-bottom: 5px; }

.sltgift_note {
  padding-left: 14px;
  position: relative;
  font-size: 1.4rem; }
  .sltgift_note::before {
    content: "※";
    left: 0;
    position: absolute;
    top: 0; }
  @media (max-width: 767px) {
    .sltgift_note {
      margin-left: 15px; } }

.sltgift_list {
  display: flex;
  flex-wrap: wrap; }
  @media (min-width: 768px), print {
    .sltgift_list li {
      margin-left: 50px;
      margin-top: 42px;
      width: calc((100% - 100px) / 3 - 0.1px); }
      .sltgift_list li:nth-child(3n + 1) {
        margin-left: 0; } }
  @media (max-width: 767px) {
    .sltgift_list li {
      margin-left: 20px;
      margin-top: 34px;
      width: calc((100% - 20px) / 2 - 0.1px); }
      .sltgift_list li:nth-child(odd) {
        margin-left: 0; } }
  .sltgift_list li a {
    display: block;
    position: relative; }
    .sltgift_list li a:hover {
      opacity: 0.7; }

.card_list li:nth-child(12n + 1) a::before {
  background: #faed00; }
.card_list li:nth-child(12n + 2) a::before {
  background: #ef8585; }
.card_list li:nth-child(12n + 3) a::before {
  background: #fabf3d; }
.card_list li:nth-child(12n + 4) a::before {
  background: #35adc6; }
.card_list li:nth-child(12n + 5) a::before {
  background: #f7bb9f; }
.card_list li:nth-child(12n + 6) a::before {
  background: #9997c9; }
.card_list li:nth-child(12n + 7) a::before {
  background: #51b6a8; }
.card_list li:nth-child(12n + 8) a::before {
  background: #c8c7c5; }
.card_list li:nth-child(12n + 9) a::before {
  background: #006cb7; }
.card_list li:nth-child(12n + 10) a::before {
  background: #e35450; }
.card_list li:nth-child(12n + 11) a::before {
  background: #009b6f; }
.card_list li:nth-child(12n + 12) a::before {
  background: #dad5c2; }
.card_list li a {
  padding-top: 25px; }
  .card_list li a::before {
    content: "";
    height: 15px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.mikakuhyakkei_list li:nth-child(10n + 1) a::before {
  background: #2A4C8B; }
.mikakuhyakkei_list li:nth-child(10n + 2) a::before {
  background: #2281AF; }
.mikakuhyakkei_list li:nth-child(10n + 3) a::before {
  background: #007B44; }
.mikakuhyakkei_list li:nth-child(10n + 4) a::before {
  background: #E4BD00; }
.mikakuhyakkei_list li:nth-child(10n + 5) a::before {
  background: #AE7200; }
.mikakuhyakkei_list li:nth-child(10n + 6) a::before {
  background: #A5380F; }
.mikakuhyakkei_list li:nth-child(10n + 7) a::before {
  background: #85557F; }
.mikakuhyakkei_list li:nth-child(10n + 8) a::before {
  background: #C97D49; }
.mikakuhyakkei_list li:nth-child(10n + 9) a::before {
  background: #959595; }
.mikakuhyakkei_list li:nth-child(10n + 10) a::before {
  background: #BC9E22; }
.mikakuhyakkei_list li a {
  padding-top: 25px; }
  .mikakuhyakkei_list li a::before {
    content: "";
    height: 15px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.bridal_list li:nth-child(6n + 1) a::before {
  background: #F5F688; }
.bridal_list li:nth-child(6n + 2) a::before {
  background: #D14382; }
.bridal_list li:nth-child(6n + 3) a::before {
  background: #DD635E; }
.bridal_list li:nth-child(6n + 4) a::before {
  background: #C4E0F1; }
.bridal_list li:nth-child(6n + 5) a::before {
  background: #EDD5C4; }
.bridal_list li:nth-child(6n + 6) a::before {
  background: #7260A2; }
.bridal_list li a {
  padding-top: 25px; }
  .bridal_list li a::before {
    content: "";
    height: 15px;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.sltgift_card_subttl {
  font-weight: 700; }
  @media (min-width: 768px), print {
    .sltgift_card_subttl {
      padding-bottom: 5px; } }
  @media (max-width: 767px) {
    .sltgift_card_subttl {
      line-height: 1.3; } }

.sltgift_card_price {
  position: relative; }
  .sltgift_card_price::after {
    content: "円（税込）"; }

@media (min-width: 768px), print {
  .sltgift_booklet_thumb {
    margin-bottom: 18px; } }
@media (max-width: 767px) {
  .sltgift_booklet_thumb {
    margin-bottom: 5px; } }

@media (max-width: 767px) {
  .select_gift_subtxt01 {
    padding-bottom: 45px !important; } }

@media (min-width: 768px), print {
  .booklet_list li:nth-child(-n+3) {
    margin-top: 0; } }
@media (max-width: 767px) {
  .booklet_list li:nth-child(-n+2) {
    margin-top: 0; } }

.about_wrap {
  padding-bottom: 180px;
  padding-top: 25px; }
  @media (max-width: 767px) {
    .about_wrap {
      padding-bottom: 100px;
      padding-top: 0; } }

.about_section {
  border-top: 5px solid #2e87bb;
  padding-top: 94px;
  margin-top: 97px; }
  .about_section:first-child {
    border-top: none;
    padding-top: 0;
    margin-top: 0; }
  .about_section .cmn_h1_left {
    margin-bottom: 45px; }
  @media (max-width: 767px) {
    .about_section {
      border-top: 3px solid #2e87bb;
      padding-top: 45px;
      margin-top: 40px; } }

.about_dl dt {
  border-bottom: 1px solid #333;
  font-size: 2rem;
  font-weight: 700;
  padding-bottom: 8px;
  margin-bottom: 10px;
  margin-top: 45px; }
  .about_dl dt:first-child {
    margin-top: 0; }
  @media (max-width: 767px) {
    .about_dl dt {
      font-size: 2.2rem;
      margin-top: 31px;
      padding-bottom: 6px; } }
.about_dl dd {
  line-height: 1.7; }

.ul_column li {
  display: flex; }
  .ul_column li span {
    display: block; }
    .ul_column li span:first-child {
      width: 143px; }
@media (max-width: 767px) {
  .ul_column.sp_uncolumn li {
    display: block; } }

.pdf_lst li span:first-child {
  width: 126px; }
.pdf_lst li span a {
  text-decoration: underline; }

.inquiry_wrap {
  padding-bottom: 200px;
  padding-top: 12px; }
  .inquiry_wrap .cmn_h1_left {
    margin-bottom: 71px; }
  @media (max-width: 767px) {
    .inquiry_wrap {
      padding-bottom: 100px;
      padding-top: 0; } }

@media (min-width: 768px), print {
  .inquiry_intro {
    padding-bottom: 60px; } }
@media (max-width: 767px) {
  .inquiry_intro {
    padding-bottom: 50px; } }

.inquiry_intro_top {
  border-bottom: 1px solid #333;
  line-height: 1.75;
  margin-bottom: 22px;
  padding-bottom: 25px; }
  .inquiry_intro_top .catalog_ttl {
    margin-bottom: 14px; }
  .inquiry_intro_top .cmn_lst_dot {
    margin-bottom: 28px; }
    .inquiry_intro_top .cmn_lst_dot li {
      padding-left: 10px; }
      .inquiry_intro_top .cmn_lst_dot li::before {
        font-weight: 900;
        left: -4px; }

.inquiry_intro_top_privacy a {
  font-weight: 700;
  text-decoration: underline; }

.inquiry_intro_mid_ttl {
  color: #cc0000;
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 5px; }

.inquiry_intro_mid_txt {
  margin-bottom: 20px; }

.inquiry_intro_mid_info {
  font-size: 2rem;
  line-height: 1.75; }
  .inquiry_intro_mid_info dt {
    font-weight: 700; }
  .inquiry_intro_mid_info dd {
    padding-left: 20px; }

.inquiry_form .catalog_topttl {
  font-size: 2rem;
  margin-bottom: 30px;
  padding-bottom: 3px;
  text-align: left; }
  @media (max-width: 767px) {
    .inquiry_form .catalog_topttl {
      margin-bottom: 22px;
      margin-left: 0;
      margin-right: 0;
      padding-left: 10px; } }

.inquiry_tbl {
  margin-bottom: 50px;
  width: 100%; }
  @media (max-width: 767px) {
    .inquiry_tbl {
      border: 1px solid #ccc; }
      .inquiry_tbl tr:first-child th {
        border: none; } }
  .inquiry_tbl th {
    background: #f7f7f7;
    font-weight: 400;
    padding: 11px 10px;
    text-align: left; }
    @media (min-width: 768px), print {
      .inquiry_tbl th {
        border: 1px solid #ccc;
        width: 325px; } }
    @media (max-width: 767px) {
      .inquiry_tbl th {
        border-top: 1px solid #ccc;
        display: block; } }
    .inquiry_tbl th .required {
      color: #cc0000;
      display: inline-block; }
      @media (min-width: 768px), print {
        .inquiry_tbl th .required {
          margin-left: 20px; } }
      @media (max-width: 767px) {
        .inquiry_tbl th .required {
          margin-left: 15px; } }
  @media (min-width: 768px), print {
    .inquiry_tbl td {
      border: 1px solid #ccc;
      padding: 10px 15px; } }
  @media (max-width: 767px) {
    .inquiry_tbl td {
      border-top: 1px solid #ccc;
      display: block;
      min-height: 60px;
      padding: 15px 10px; } }
  .inquiry_tbl td select,
  .inquiry_tbl td input,
  .inquiry_tbl td textarea {
    background: #fff;
    border: 1px solid #1a1a1a;
    box-shadow: none;
    outline: none; }
  .inquiry_tbl td select {
    border-radius: 4px;
    max-width: 400px;
    width: 100%; }
  .inquiry_tbl td input {
    padding: 5px 5px;
    width: 100%; }
  .inquiry_tbl td textarea {
    height: 180px;
    padding: 5px;
    resize: none;
    width: 100%; }

.input_lst {
  display: flex;
  flex-wrap: wrap; }
  .input_lst li {
    align-items: center;
    display: flex; }
    @media (min-width: 768px), print {
      .input_lst li {
        margin-right: 28px; } }
    @media (max-width: 767px) {
      .input_lst li {
        margin-bottom: 10px;
        width: 100%; }
        .input_lst li:last-child {
          margin: 0; } }
    .input_lst li span {
      display: inline-block;
      margin-right: 8px; }
    .input_lst li input {
      display: inline-block; }
      @media (min-width: 768px), print {
        .input_lst li input {
          max-width: 200px; } }
      @media (max-width: 767px) {
        .input_lst li input {
          flex: 1 1 0%; } }

.inquiry_zipcode {
  align-items: center;
  display: flex; }
  .inquiry_zipcode span {
    display: inline-block;
    margin-right: 10px; }
  .inquiry_zipcode input:nth-child(2) {
    margin-right: 8px;
    width: 50px; }
  .inquiry_zipcode input:nth-child(3) {
    margin-left: 8px;
    width: 100px; }

.inquiry_tel {
  align-items: center;
  display: flex; }
  .inquiry_tel input {
    display: inline-block;
    margin: 0 8px;
    width: 80px !important; }
    .inquiry_tel input:first-child {
      margin-left: 0; }
    .inquiry_tel input:last-child {
      margin-right: 0; }

.checkbox_lst {
  display: flex; }
  .checkbox_lst li {
    align-items: center;
    display: flex;
    width: 115px; }
    .checkbox_lst li input {
      display: inline-block;
      height: 30px;
      margin-right: 10px;
      opacity: 0;
      width: 30px; }
      .checkbox_lst li input:checked + label::after {
        border-bottom: 4px solid #1a1a1a;
        border-left: 4px solid #1a1a1a;
        content: "";
        height: 15px;
        left: -35px;
        position: absolute;
        top: 2px;
        transform: rotate(-45deg);
        width: 20px;
        z-index: 2; }
    .checkbox_lst li label {
      position: relative; }
      .checkbox_lst li label::before {
        border: 1px solid #1a1a1a;
        content: "";
        height: 30px;
        left: -40px;
        position: absolute;
        top: -2px;
        width: 30px; }

.inquiry_btn_lst {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  max-width: 370px; }
  @media (max-width: 767px) {
    .inquiry_btn_lst {
      flex-direction: column-reverse; } }
  @media (min-width: 768px), print {
    .inquiry_btn_lst li {
      width: calc(50% - 25px); } }
  @media (max-width: 767px) {
    .inquiry_btn_lst li {
      width: 100%; }
      .inquiry_btn_lst li:first-child {
        margin: 25px auto 0;
        width: 180px; } }
  .inquiry_btn_lst li button {
    align-items: center;
    border: 1px solid #71afd1;
    border-radius: 4px;
    cursor: pointer;
    display: flex;
    font-size: 2rem;
    font-weight: 700;
    height: 45px;
    justify-content: center;
    text-align: center;
    position: relative;
    transition: 0.3s all ease-in-out;
    width: 100%; }
    .inquiry_btn_lst li button:hover {
      opacity: 0.6; }

.inquiry_btn_02 button {
  background: #f2f2f2;
  color: #333; }

.inquiry_btn_02 button {
  background: #71afd1;
  color: #fff; }
  .inquiry_btn_02 button::before {
    border-style: solid;
    border-width: 6px 0 6px 8px;
    border-color: transparent transparent transparent #fff;
    content: "";
    display: inline-block;
    height: 0;
    margin-right: 8px;
    width: 0; }

.inquiry_confirm .catalog_ttl {
  margin-bottom: 16px; }
.inquiry_confirm .inquiry_tbl {
  margin-bottom: 76px; }
  .inquiry_confirm .inquiry_tbl .td_message th,
  .inquiry_confirm .inquiry_tbl .td_message td {
    vertical-align: top; }
  .inquiry_confirm .inquiry_tbl .td_message .td_message_cont {
    min-height: 155px; }

.inquiry_intro_txt {
  margin-bottom: 23px; }

.inquiry_intro_txt02 {
  text-align: right; }

.inquiry_policy_box {
  background: #f2f2f2;
  line-height: 1.75;
  margin-bottom: 50px;
  padding: 25px 30px; }

.inquiry_policy_box_ttl {
  font-size: 2rem;
  font-weight: 700; }

.inquiry_confirm_btn_lst {
  max-width: 480px; }
  .inquiry_confirm_btn_lst .inquiry_btn_01 button::before {
    border-style: solid;
    border-width: 6px 8px 6px 0;
    border-color: transparent #333 transparent transparent;
    content: "";
    display: inline-block;
    height: 0;
    margin-right: 8px;
    width: 0; }

.privacy_wrap {
  padding-bottom: 180px;
  padding-top: 25px; }
  @media (max-width: 767px) {
    .privacy_wrap {
      padding-bottom: 100px; } }

.cmn_h1_left {
  font-size: 4rem;
  font-weight: 500;
  line-height: 1.2;
  margin-bottom: 87px; }
  @media (max-width: 767px) {
    .cmn_h1_left {
      font-size: 3rem;
      margin-bottom: 40px; } }

.privacy_part {
  margin-top: 87px; }
  .privacy_part:nth-child(2) {
    margin-top: 0 !important; }

.cmn_privacyttl {
  border-bottom: 1px solid #333;
  font-size: 3rem;
  font-weight: 500;
  padding-bottom: 5px;
  margin-bottom: 10px;
  text-align: left; }
  @media (max-width: 767px) {
    .cmn_privacyttl {
      font-size: 2.2rem;
      font-weight: 700;
      margin-bottom: 11px; } }

.privacy_part_intro {
  margin-bottom: 30px;
  line-height: 1.7; }
  @media (max-width: 767px) {
    .privacy_part_intro {
      margin-bottom: 35px; } }

.privacy_dl {
  counter-reset: section;
  line-height: 1.7; }
  .privacy_dl dt {
    font-weight: 700;
    margin-top: 30px; }
    .privacy_dl dt:first-child {
      margin-top: 0; }
    .privacy_dl dt::before {
      counter-increment: section;
      content: counter(section) ".";
      display: inline-block;
      margin-right: 10px; }
  .privacy_dl dd a {
    color: #333;
    text-decoration: underline; }
  .privacy_dl dd a[href^="tel:"], .privacy_dl dd a[href^="fax:"], .privacy_dl dd a[href^="mailto:"] {
    text-decoration: none; }
    @media (min-width: 768px), print {
      .privacy_dl dd a[href^="tel:"], .privacy_dl dd a[href^="fax:"], .privacy_dl dd a[href^="mailto:"] {
        pointer-events: none; } }
  .privacy_dl dd ol {
    padding-left: 15px;
    line-height: 1.8; }
  @media (max-width: 767px) {
    .privacy_dl dt {
      margin-top: 25px; } }

.cmn_right_note {
  line-height: 1.8;
  margin-top: 30px;
  text-align: right; }
  @media (max-width: 767px) {
    .cmn_right_note {
      line-height: 1.7;
      margin-top: 35px; } }

.align_center {
  text-align: center; }

@media (max-width: 767px) {
  h1.shop_h1 {
    border-bottom: none;
    font-size: 2.5rem;
    margin-bottom: 0px; }
    h1.shop_h1 span {
      display: block; } }

.shop_subtxt {
  font-size: 1.6rem;
  margin-bottom: 40px;
  text-align: left; }

.slide_shop {
  margin: 0 auto 60px;
  position: relative;
  max-width: 808px; }
  @media (max-width: 767px) {
    .slide_shop {
      margin: 20px auto 26px;
      padding: 0 35px !important; } }
  .slide_shop .swiper-container {
    margin: auto;
    overflow: hidden;
    max-width: 600px; }
  .slide_shop .ctgiftt_swiper_control {
    position: static !important;
    height: auto !important; }
    @media (max-width: 767px) {
      .slide_shop .ctgiftt_swiper_control {
        margin: 0 !important;
        padding: 0 !important; } }
  .slide_shop .swiper-slide {
    padding: 0; }
  .slide_shop .swiper-button-prev, .slide_shop .swiper-button-next {
    height: 44px !important;
    position: absolute !important;
    top: 50% !important;
    width: 24px !important; }
    @media (max-width: 767px) {
      .slide_shop .swiper-button-prev, .slide_shop .swiper-button-next {
        height: 31px !important;
        width: 18px !important; } }
    .slide_shop .swiper-button-prev::before, .slide_shop .swiper-button-next::before {
      background: url("/content/dam/imgs/asset/images/catalog/sales_promotion/ico-arrow.png") center center/contain no-repeat !important;
      height: 100% !important;
      width: 100% !important; }
  .slide_shop .swiper-button-prev {
    left: 0 !important; }
  .slide_shop .swiper-button-next {
    right: 0 !important; }

.shop_add {
  margin-bottom: 15px;
  overflow: hidden; }
  @media (max-width: 767px) {
    .shop_add {
      margin-bottom: 12px; } }
  .shop_add dt {
    clear: both;
    float: left; }
    .shop_add dt::after {
      content: "："; }
  @media (min-width: 768px), print {
    .shop_add dd {
      float: left; } }

.shop_item_sub {
  border: 1px solid #808080;
  font-size: 1.4rem;
  line-height: 1.4;
  margin-bottom: 10px; }
  @media (min-width: 768px), print {
    .shop_item_sub {
      align-items: center;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      padding: 9px; } }
  @media (max-width: 767px) {
    .shop_item_sub {
      padding: 12px; } }

.shop_item_sub_ttl {
  font-weight: bold;
  margin-right: 2em; }

.shop_item_sub_ico {
  align-items: center;
  display: flex; }
  @media (max-width: 767px) {
    .shop_item_sub_ico {
      flex-wrap: wrap; } }
  @media (max-width: 767px) {
    .shop_item_sub_ico dt {
      width: 3em; } }
  .shop_item_sub_ico dt::after {
    content: "："; }
  .shop_item_sub_ico dt span {
    color: #666; }
  @media (min-width: 768px), print {
    .shop_item_sub_ico dd {
      margin-right: 1em; } }
  @media (max-width: 767px) {
    .shop_item_sub_ico dd {
      width: calc(100% - 3em); } }

.shop_item_sub_att {
  font-size: 1.2rem; }
  .shop_item_sub_att::before {
    content: "※"; }

.shop_item_tbl {
  border-bottom: 1px solid #999;
  border-right: 1px solid #999;
  border-top: 1px solid #999; }
  @media (min-width: 768px), print {
    .shop_item_tbl {
      display: flex;
      margin-bottom: 50px; } }
  @media (max-width: 767px) {
    .shop_item_tbl {
      margin-bottom: 25px; } }
  @media (min-width: 768px), print {
    .shop_item_tbl table {
      width: 50%; } }
  .shop_item_tbl table th,
  .shop_item_tbl table td {
    border-left: 1px solid #999;
    padding: 5px 3px;
    text-align: center;
    width: 25%; }
    @media (max-width: 767px) {
      .shop_item_tbl table th,
      .shop_item_tbl table td {
        padding: 5px 1px; } }
  .shop_item_tbl table th {
    background: #f1f7fa;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.3;
    text-align: center; }
    @media (max-width: 767px) {
      .shop_item_tbl table th {
        font-size: 1rem; } }
  .shop_item_tbl table td {
    color: #666; }
    @media (max-width: 767px) {
      .shop_item_tbl table td {
        font-size: 1.1rem; } }

@media (min-width: 768px), print {
  .shop_link_list {
    display: flex;
    justify-content: center;
    margin-bottom: 100px; } }
@media (max-width: 767px) {
  .shop_link_list {
    margin-bottom: 50px; } }
@media (min-width: 768px), print {
  .shop_link_list li {
    margin-left: 20px;
    width: calc(50% - 10px); }
    .shop_link_list li:first-of-type {
      margin-left: 0; } }
@media (max-width: 767px) {
  .shop_link_list li {
    margin-bottom: 10px; } }
.shop_link_list a {
  background: url("/content/dam/imgs/asset/images/shop/ico-blue-arr.png") right 15px center/10px 15px no-repeat;
  border: 1px solid #2a74ad;
  color: #2a74ad;
  display: block;
  font-size: 1.7rem;
  font-weight: bold;
  padding: 10px 30px 10px 20px;
  text-align: center; }
  @media (max-width: 767px) {
    .shop_link_list a {
      background-size: 11px 18px; } }
  .shop_link_list a:hover {
    background-color: #2a74ad;
    background-image: url("/content/dam/imgs/asset/images/catalog_gift/ico-w-arr.png");
    color: #fff; }

.shop_sttl {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
  position: relative; }
  @media (max-width: 767px) {
    .shop_sttl {
      margin-bottom: 15px; } }
  .shop_sttl::after {
    background: #333;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    z-index: -1; }
  .shop_sttl span {
    background: #fff;
    padding-right: 20px; }
    @media (max-width: 767px) {
      .shop_sttl span {
        padding-right: 10px; } }

@media (min-width: 768px), print {
  .shop_blog_link {
    display: flex;
    justify-content: center;
    margin-bottom: 150px; } }
@media (min-width: 768px), print {
  .shop_blog_link li {
    margin-left: 20px;
    width: calc((100% - 40px) / 3); }
    .shop_blog_link li:first-of-type {
      margin-left: 0; } }
@media (max-width: 767px) {
  .shop_blog_link li {
    margin-bottom: 10px; } }
.shop_blog_link a {
  background: #2a74ad url("/content/dam/imgs/asset/images/catalog_gift/ico-w-arr.png") right 17px center/10px 15px no-repeat;
  color: #fff;
  display: block;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 12px 40px 12px 24px; }
  @media (max-width: 767px) {
    .shop_blog_link a {
      background-size: 11px 18px; } }
  .shop_blog_link a:hover {
    background-color: #71afd1; }

.shop_catalog_ttl {
  background: #71afd1;
  color: #fff;
  font-size: 2rem;
  font-weight: bold;
  margin-top: 100px;
  padding: 9px;
  text-align: center; }
  @media (max-width: 767px) {
    .shop_catalog_ttl {
      line-height: 1.5;
      margin-top: 50px; } }

.shop_catalog {
  margin-bottom: 200px; }
  .shop_catalog li {
    margin-top: 10px; }

.shop_catalog_sttl {
  background: #f1f7fa;
  cursor: pointer;
  padding: 10px 14px;
  position: relative; }
  @media (max-width: 767px) {
    .shop_catalog_sttl {
      padding: 10px 74px 10px 14px; } }
  .shop_catalog_sttl::before, .shop_catalog_sttl::after {
    background: #71afd1;
    border-radius: 3px;
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%); }
  .shop_catalog_sttl::before {
    height: 3px;
    right: 20px;
    width: 30px; }
  .shop_catalog_sttl::after {
    height: 30px;
    right: 33.5px;
    width: 3px; }
  .shop_catalog_sttl.show::after {
    display: none; }
  .shop_catalog_sttl h4 {
    font-size: 1.8rem;
    font-weight: bold; }

.shop_catalog_list {
  border-bottom: 2px solid #999;
  display: none; }
  @media (max-width: 767px) {
    .shop_catalog_list {
      border-bottom-width: 1px; } }

@media (min-width: 768px), print {
  .shop_catalog_area {
    align-items: center;
    display: flex; } }

@media (min-width: 768px), print {
  .shop_catalog_course {
    display: flex;
    flex-wrap: wrap;
    width: calc((100% / 3)*2); } }
@media (min-width: 768px), print {
  .shop_catalog_course dt,
  .shop_catalog_course dd {
    border-right: 1px solid #999;
    border-top: 1px solid #999;
    padding: 10px;
    width: 50%; }
    .shop_catalog_course dt:first-of-type,
    .shop_catalog_course dd:first-of-type {
      border-top: none; } }
@media (max-width: 767px) {
  .shop_catalog_course dt,
  .shop_catalog_course dd {
    padding-left: 14px;
    padding-right: 14px; } }
@media (max-width: 767px) {
  .shop_catalog_course dt {
    border-top: 1px solid #999;
    padding-top: 10px; }
    .shop_catalog_course dt:first-of-type {
      border-top: none; } }
@media (min-width: 768px), print {
  .shop_catalog_course dd {
    text-align: right; } }
.shop_catalog_course dd.sub {
  padding-bottom: 10px; }
  @media (min-width: 768px), print {
    .shop_catalog_course dd.sub {
      display: none !important; } }

.shop_catalog_sub {
  padding: 15px;
  width: calc(100% / 3); }
  @media (max-width: 767px) {
    .shop_catalog_sub {
      display: none !important; } }

.dealers_anchor {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 110px; }
  @media (min-width: 768px), print {
    .dealers_anchor li {
      margin: 0 0 30px 30px;
      width: calc((100% - 90px) / 4); }
      .dealers_anchor li:nth-of-type(4n + 1) {
        margin-left: 0; } }
  @media (max-width: 767px) {
    .dealers_anchor li {
      margin: 0 0 15px 15px;
      width: calc((100% - 15px) / 2); }
      .dealers_anchor li:nth-of-type(2n + 1) {
        margin-left: 0; } }
  .dealers_anchor li a {
    align-items: center;
    background: url("/content/dam/imgs/asset/images/shop/ico-black-arr.png") right 17px center/18px 10px no-repeat;
    border: 1px solid #333;
    color: #333;
    display: flex;
    font-size: 1.8rem;
    font-weight: bold;
    height: 60px;
    line-height: 1.3;
    padding: 5px 50px 5px 15px; }
    .dealers_anchor li a:hover {
      background-color: #f1f7fa; }

.dealers_area {
  margin-bottom: 200px; }

.dealers_area_ttl {
  font-size: 2.5rem;
  font-weight: bold;
  margin-bottom: 10px;
  text-align: center; }

.dealers_detail {
  border-bottom: 1px solid #333;
  padding: 40px 0; }
  @media (max-width: 767px) {
    .dealers_detail {
      padding: 20px 0; } }
  .dealers_detail .shop_item_tbl {
    margin-bottom: 0; }

.dealers_detail_ttl {
  font-size: 2.6rem;
  font-weight: bold;
  line-height: 1.3;
  margin-bottom: 10px; }
  .dealers_detail_ttl a {
    text-decoration: underline; }

.dealers_att {
  font-size: 1.2rem;
  margin-top: 6px; }
  @media (min-width: 768px), print {
    .dealers_att {
      display: flex; } }
  .dealers_att li {
    line-height: 1.6; }
    @media (min-width: 768px), print {
      .dealers_att li {
        margin-left: 1em; }
        .dealers_att li:first-of-type {
          margin-left: 0; } }


.dealers_info {
  margin-top: 6px; }
  @media (min-width: 768px), print {
    .dealers_info {
      display: flex; } }
  .dealers_info li {
    line-height: 1.6; }
    @media (min-width: 768px), print {
      .dealers_info li {
        margin-left: 1em; }
        .dealers_info li:first-of-type {
          margin-left: 0; } }


.shop_time {
  margin-bottom: 80px;
  text-align: center; }



.pc{
    display:block;}

.sp{
    display:none;}


.client_manner_ttl2{
    font-size:1.8rem;
    text-align:left;
}

.client_manner_txt2{
    font-size:1.6rem;
    text-align:left;
    margin-bottom:10px;
}

.purchase_kome{
    font-size:1.6rem;
    position: relative;
    padding-left:16px;
    display: block;
}

.purchase_kome::before{
    content: "※";
    left: 0;
    position: absolute;
    top: 0;}

.color_red a{
    color:#ff322d;
    border:1px solid #ff322d;
}

.color_red a:hover{
    color:#ff322d;
}

.border_black{
    border:1px solid #000;
}

.shiori{text-align: center;
        padding-bottom: 55px;
        font-size: 1.6rem;
}

.hm_box_manner .hm_txt01{padding: 10px 0;}

.hm_box_manner h2::after{content: none;}

  @media (max-width: 767px) {
.pc{
    display:none;}

.sp{
    display:block;}

.client_manner_ttl2{
    font-size:1.6rem;
    text-align:left;
}

.client_manner_txt2{
    font-size:1.4rem;
    text-align:left;
}

.purchase_kome {
    font-size: 1.4rem;
    padding-left:14px;
}

.dealers_detail_ttl {
  font-size: 2.2rem;}

.shop_time {
  margin-bottom: 50px;}

.shiori{text-align: left;
        padding-bottom: 40px;
        font-size: 1.4rem;
}

.hm_box_manner .hm_txt01{padding: 5px 0;}


}



.amethyst_line,.citrine_line,.diamond_line,.emerald_line,.lapis_lazuli_line,.moonstone_line,.pearl_line,.quartz_line,.ruby_line,.sapphire_line,.topaz_line,.coral_line,.boku_line,.hin_line,.hou_line,.kou_line,.ou_line,.rei_line,.rin_line,.sai_line,.san_line,.sho_line,.chives_line,.geranium_line,.lemon_balm_line,.oregano_line,.rosemary_line,.sage_line{
  position: relative;
  display: inline-block;
  margin-bottom: 1em;
}

  @media (max-width: 767px) {
.amethyst_line,.citrine_line,.diamond_line,.emerald_line,.lapis_lazuli_line,.moonstone_line,.pearl_line,.quartz_line,.ruby_line,.sapphire_line,.topaz_line,.coral_line,.boku_line,.hin_line,.hou_line,.kou_line,.ou_line,.rei_line,.rin_line,.sai_line,.san_line,.sho_line,.chives_line,.geranium_line,.lemon_balm_line,.oregano_line,.rosemary_line,.sage_line{
  width: 100%;
}
}


.amethyst_line:before,.citrine_line:before,.diamond_line:before,.emerald_line:before,.lapis_lazuli_line:before,.moonstone_line:before,.pearl_line:before,.quartz_line:before,.ruby_line:before,.sapphire_line:before,.topaz_line:before,.coral_line:before,.boku_line:before,.hin_line:before,.hou_line:before,.kou_line:before,.ou_line:before,.rei_line:before,.rin_line:before,.sai_line:before,.san_line:before,.sho_line:before,.chives_line:before,.geranium_line:before,.lemon_balm_line:before,.oregano_line:before,.rosemary_line:before,.sage_line:before{
  content: '';
  position: absolute;
  left: 0%;
  bottom: -15px;/*線の上下位置*/
  display: inline-block;
  width: 475px;/*線の長さ*/
  height: 15px;/*線の太さ*/
}

  @media (max-width: 767px) {
.amethyst_line:before,.citrine_line:before,.diamond_line:before,.emerald_line:before,.lapis_lazuli_line:before,.moonstone_line:before,.pearl_line:before,.quartz_line:before,.ruby_line:before,.sapphire_line:before,.topaz_line:before,.coral_line:before,.boku_line:before,.hin_line:before,.hou_line:before,.kou_line:before,.ou_line:before,.rei_line:before,.rin_line:before,.sai_line:before,.san_line:before,.sho_line:before,.chives_line:before,.geranium_line:before,.lemon_balm_line:before,.oregano_line:before,.rosemary_line:before,.sage_line:before{
    bottom: 0px;
    left: 13%;
    width: 74%;}
}



/*セレクトF&G*/
.amethyst_line:before{
  background-color: #9997c9;
}

.citrine_line:before{
  background-color: #faed00;
}

.coral_line:before{
  background-color: #f7bb9f;
}

.diamond_line:before{
  background-color: #dad5c2;
}

.emerald_line:before{
  background-color: #009b6f;
}

.lapis_lazuli_line:before{
  background-color: #006cb7;
}

.moonstone_line:before{
  background-color: #c8c7c5;
}

.pearl_line:before{
  background-color: #ef8585;
}

.quartz_line:before{
  background-color: #51b6a8;
}

.ruby_line:before{
  background-color: #e35450;
}

.sapphire_line:before{
  background-color: #35adc6;
}

.topaz_line:before{
  background-color: #fabf3d;
}


/*味覚百景*/
.boku_line:before{
  background-color: #007B44;
}

.hin_line:before{
  background-color: #2A4C8B;
}

.hou_line:before{
  background-color: #E4BD00;
}

.kou_line:before{
  background-color: #AE7200;
}

.ou_line:before{
  background-color: #BC9E22;
}

.rei_line:before{
  background-color: #959595;
}

.rin_line:before{
  background-color: #C97D49;
}

.sai_line:before{
  background-color: #2281AF;
}

.san_line:before{
  background-color: #A5380F;
}

.sho_line:before{
  background-color: #85557F;
}


/*ブライダル*/
.chives_line:before{
  background-color: #EDD5C4;
}

.geranium_line:before{
  background-color: #7260A2;
}

.lemon_balm_line:before{
  background-color: #F5F688;
}

.oregano_line:before{
  background-color: #DD635E;
}

.rosemary_line:before{
  background-color: #C4E0F1;
}

.sage_line:before{
  background-color: #D14382;
}

:focus-visible {
  outline: 2px solid #007bff;
  outline-offset: 3px;
  border-radius: 2px;
  transition: outline 0.2s ease;
}