* {
  box-sizing: border-box;
}

#detail_type_new_a {
  width: 100%;
}

.plg_Raku2_LC_Page_Products_Detail #container {
  max-width: 1200px;
}

#main_column.colnum1 #detailrightbloc {
  width: 55%;
}

.custom_page #guide_area {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.custom_page #guide_area h2 {
  border-left: var(--main-color) solid 5px;
  border-bottom: 1px solid #CCC;
  color: #000;
}

.custom_page #guide_area p {
  margin-bottom: 10px;
  color: #000;
}

.raku2_validate_box .raku2_validate_message {
  background: transparent;
}

.LC_Page_Index #container {
  max-width: 100%;
}

#undercolumn {
  display: block;
}

/* Product list page */
#mypagecolumn,
#mycontents_area.order_list,
#undercolumn:has(#search_form),
#undercolumn:has(#orderlist_form) {
  color: #333;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

#mypagecolumn {
  width: min(1180px, calc(100% - 80px));
  margin: 88px auto 110px;
}

#mypagecolumn>h2.title,
#undercolumn:has(#search_form) h2.title {
  margin: 0 0 34px;
  color: #333;
  font-size: 36px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  letter-spacing: .08em;
}

#mypagecolumn>h2.title .menber_name {
  margin-top: 10px;
  color: #25acc1;
  font-size: 17px;
  font-weight: 900;
  letter-spacing: .04em;
}

#mycontents_area.order_list,
#undercolumn:has(#search_form)>div {
  width: min(1180px, 100%);
  margin-inline: auto;
}

#search_form {
  width: min(1180px, calc(100vw - 80px));
  margin: 0 0 34px;
  margin-inline: auto;
  padding: 28px 32px;
  border: 1px solid rgba(37, 172, 193, .18);
  border-radius: 18px;
  background: linear-gradient(180deg, #f7fbfc 0%, #fff 100%);
  box-shadow: 0 7px 0 rgba(37, 172, 193, .08);
  box-sizing: border-box;
}

#undercolumn #search_form,
#undercolumn .plg_raku2_product_count,
#undercolumn #page_navi_top,
#undercolumn #page_navi_bottom,
#undercolumn #orderlist_form,
#undercolumn .cartin_btn {
  width: min(1180px, calc(100vw - 80px));
  margin-left: auto;
  margin-right: auto;
  box-sizing: border-box;
}

#search_keyword_area {
  margin: 0 0 18px;
}

#initial_display_toggle {
  position: relative;
  margin: 0 0 18px;
  padding: 0 0 0 18px;
  color: #25acc1;
  font-size: 22px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .06em;
  cursor: pointer;
}

#initial_display_toggle::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 6px;
  height: 24px;
  border-radius: 999px;
  background: #ff7040;
  transform: translateY(-50%);
}

#initial_display_toggle::before,
td[class^="detail_display_toggle"]::before {
  margin-right: 8px;
  color: #ff7040;
}

#search_keyword_top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 190px 140px;
  gap: 12px;
  align-items: center;
}

#search_form input[type="text"],
#search_form select,
#orderlist_form input[type="text"],
#orderlist_form input[type="number"],
#orderlist_form select {
  width: 100%;
  min-height: 46px;
  padding: 10px 14px;
  border: 2px solid #d9f0f3;
  border-radius: 10px;
  color: #333;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.5;
  box-sizing: border-box;
}

#search_form input[type="text"]:focus,
#search_form select:focus,
#orderlist_form input[type="text"]:focus,
#orderlist_form input[type="number"]:focus,
#orderlist_form select:focus {
  border-color: #25acc1;
  outline: 0;
  box-shadow: 0 0 0 4px rgba(37, 172, 193, .12);
}

#btn_kwd_search,
#btn_price_search {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 46px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #ff7040;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .08em;
  cursor: pointer;
}

#search_keyword_bottom {
  display: grid;
  gap: 10px;
  margin-top: 16px;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.7;
}

#search_keyword_bottom p,
#search_price_area p {
  margin: 0;
}

#search_keyword_bottom label,
#refine_area label,
#search_sales_channel_area label,
#search_sales_channel_area2 label,
#search_sales_channel_area3 label,
#search_maker_area label,
#search_status_area label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 14px 8px 0;
  color: #333;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.5;
}

#search_form input[type="checkbox"],
#search_form input[type="radio"] {
  width: 17px;
  height: 17px;
  accent-color: #25acc1;
}

#search_deselect_kw {
  display: inline-block;
  max-width: 300px;
  margin: 0 8px;
}

#search_price_area {
  display: flex;
  gap: 14px;
  align-items: center;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid rgba(37, 172, 193, .18);
}

#search_price_area p {
  display: flex;
  flex: 1;
  gap: 8px;
  align-items: center;
  color: #333;
  font-size: 14px;
  font-weight: 800;
}

#search_price_area .price_range {
  max-width: 120px;
}

#btn_price_search {
  width: 132px;
}

#refine_area,
#search_sales_channel_area,
#search_sales_channel_area2,
#search_sales_channel_area3,
#search_maker_area,
#search_status_area {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 8px;
  align-items: center;
  margin-top: 14px;
}

.pagenumber_area {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 20px;
  align-items: center;
  justify-content: space-between;
  margin: 26px 0 18px;
  padding: 18px 22px;
  border-radius: 14px;
  background: #e5f7fa;
  box-sizing: border-box;
}

.pagenumber_area .change {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  color: #333;
  font-size: 14px;
  font-weight: 800;
}

.pagenumber_area .change a,
.pagenumber_area .change strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  color: #25acc1;
  background: #fff;
  font-weight: 900;
  text-decoration: none;
  box-sizing: border-box;
}

.pagenumber_area .change strong {
  color: #fff;
  background: #25acc1;
}

.pagenumber_area select {
  min-height: 34px;
  padding: 4px 32px 4px 12px;
  border: 0;
  border-radius: 999px;
  color: #333;
  background: #fff;
  font-weight: 800;
}

.pagenumber_area .view_change {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

.pagenumber_area .view_change a {
  color: #25acc1;
  font-size: 18px;
  text-decoration: none;
}

.pagenumber_area .navi {
  color: #333;
  font-size: 14px;
  font-weight: 800;
}

.pagenumber_area .navi a,
.pagenumber_area .navi strong,
.pagenumber_area .navi span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  margin: 0 2px;
  border-radius: 999px;
  color: #25acc1;
  background: #fff;
  font-weight: 900;
  text-decoration: none;
}

.pagenumber_area .navi strong {
  color: #fff;
  background: #ff7040;
}

.plg_raku2_product_count {
  margin: 30px 0 12px;
  color: #333;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: .04em;
}

.plg_raku2_product_count .attention,
.plg_raku2_product_count_fh {
  color: #ff7040;
  font-size: 24px;
  font-weight: 900;
}

#detailarea {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  margin-top: 12px;
}

#btn_stock_csvdl,
#orderlist_change0,
.kago_update_btn,
.kago_update_fixbtn,
#button_lower input[type="submit"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 188px;
  min-height: 48px;
  padding: 12px 24px;
  border: 0;
  border-radius: 999px;
  color: #fff;
  background: #ff7040;
  font-size: 16px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  letter-spacing: .06em;
  text-decoration: none;
  box-sizing: border-box;
  cursor: pointer;
}

#btn_stock_csvdl {
  background: #25acc1;
}

.listrightbloc {
  overflow-x: auto;
  width: 100%;
  padding-bottom: 8px;
}

.tbl_items.layout_orderlist {
  overflow: hidden;
  width: 100%;
  min-width: 980px;
  margin: 0;
  border: 1px solid rgba(37, 172, 193, .18);
  border-radius: 16px;
  border-collapse: separate;
  border-spacing: 0;
  background: #fff;
  box-shadow: 0 7px 0 rgba(37, 172, 193, .08);
}

.tbl_items.layout_orderlist th,
.tbl_items.layout_orderlist td {
  padding: 16px 14px;
  border: 0;
  border-top: 1px solid rgba(37, 172, 193, .14);
  border-left: 1px solid rgba(37, 172, 193, .12);
  color: #333;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.65;
  vertical-align: middle;
  box-sizing: border-box;
}

.tbl_items.layout_orderlist tr:first-child th,
.tbl_items.layout_orderlist tr:first-child td {
  border-top: 0;
}

.tbl_items.layout_orderlist th:first-child,
.tbl_items.layout_orderlist td:first-child {
  border-left: 0;
}

.tbl_items.layout_orderlist th {
  color: #333;
  background: #e5f7fa;
  font-size: 13px;
  font-weight: 900;
  text-align: center;
  letter-spacing: .04em;
}

.tbl_items.layout_orderlist td {
  background: #fff;
}

.tbl_items.layout_orderlist tr:nth-child(odd):not(:first-child) td {
  background: #fffafa;
}

.tbl_items.layout_orderlist a {
  color: #25acc1;
  font-weight: 900;
  text-decoration: none;
}

.tbl_items.layout_orderlist img {
  max-width: 96px;
  height: auto;
  border-radius: 10px;
}

.tbl_items.layout_orderlist input[type="text"],
.tbl_items.layout_orderlist input[type="number"],
.tbl_items.layout_orderlist input[type="tel"] {
  max-width: 94px;
  min-height: 38px;
  padding: 8px 10px;
  text-align: center;
}

.tbl_items.layout_orderlist .price,
.tbl_items.layout_orderlist [class*="price"] {
  font-weight: 900;
}

#button_lower {
  margin: 34px 0 18px;
}

#button_lower .btn_area ul {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

#order_list_btn {
  position: fixed;
  right: 28px;
  bottom: 28px;
  z-index: 20;
}

#order_list_btn .kago_update_fixbtn {
  min-width: 118px;
  min-height: 52px;
  box-shadow: 0 6px 14px rgba(255, 112, 64, .28);
}

.list_area {
  display: inline-block;
  width: calc(25% - 18px);
  margin: 0 9px 28px;
  padding: 18px;
  border: 1px solid rgba(37, 172, 193, .18);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 6px 0 rgba(37, 172, 193, .08);
  vertical-align: top;
  box-sizing: border-box;
}

.list_area img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
}

.list_area a {
  color: #333;
  font-weight: 900;
  text-decoration: none;
}

.list_area .sale_price,
.list_area [class*="price"] {
  color: #ff7040;
  font-weight: 900;
}

html,
body {
  width: 100%;
  overflow-x: hidden;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: #fff;
  font-family: "Noto Sans JP", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  background: #fff;
}

a {
  color: inherit;
  text-decoration: none;
}

.site-header {
  width: 100%;
  min-width: 1180px;
  height: 128px;
  background: #ff7040;
}

.site-header__inner {
  position: relative;
  width: min(1408px, calc(100% - 128px));
  height: 100%;
  margin: 0 auto;
}

.site-header__brand {
  position: absolute;
  left: 0;
  top: 51px;
  display: block;
  width: 400px;
  height: 45px;
  white-space: nowrap;
}

.site-header__brand img {
  display: block;
  width: 100%;
  height: auto;
}

.site-header__actions {
  position: absolute;
  top: 30px;
  right: 0;
  display: flex;
  align-items: center;
  gap: 11px;
}

.site-header__pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 109px;
  height: 26px;
  padding: 0 14px;
  border-radius: 999px;
  color: #333;
  background: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .02em;
}

.site-header__pill-icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
  margin-right: 3px;
  color: #25a9ca;
}

.site-header__pill-icon img,
.site-header__nav-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.site-header__nav {
  position: absolute;
  right: 0;
  bottom: 14px;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  width: 877px;
  height: 40px;
}

a.site-header__nav-item {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 0;
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .08em;
}

.site-header__nav-item::before,
.site-header__nav-item:last-child::after {
  content: "";
  position: absolute;
  top: 1px;
  width: 0;
  height: 39px;
  border-left: 2px dotted rgba(255, 255, 255, .75);
}

.site-header__nav-item::before {
  left: 0;
}

.site-header__nav-item:last-child::after {
  right: 0;
}

.site-header__nav-icon {
  display: inline-flex;
  flex: 0 0 auto;
  width: 33px;
  height: 31px;
  color: #fff;
}

.site-header__nav-item:nth-child(2) .site-header__nav-icon,
.site-header__nav-item:nth-child(3) .site-header__nav-icon,
.site-header__nav-item:nth-child(4) .site-header__nav-icon {
  width: 31px;
  height: 30px;
}

.site-header__nav-item:nth-child(5) .site-header__nav-icon {
  width: 31px;
  height: 23px;
}

.first-view {
  position: relative;
  width: 100%;
  min-width: 1180px;
  height: 705px;
  overflow: hidden;
  background:
    url("https://store.iiwell.jp/user_data/packages/raku2pc/202606/images/fv/fv-bg.png") center center / cover no-repeat,
    #f7f6f2;
}

.first-view__inner {
  position: relative;
  width: min(1408px, calc(100% - 128px));
  height: 100%;
  margin: 0 auto;
}

.first-view__copy {
  position: absolute;
  left: 118px;
  top: 66px;
  width: 626px;
  color: #333;
}

.first-view__title {
  margin: 0 0 18px;
  line-height: 0;
}

.first-view__title img {
  display: block;
  width: 626px;
  height: auto;
}

.first-view__lead {
  width: 900px;
  margin: 0 0 0 40px;
}

.first-view__lead span {
  display: block;
  margin-bottom: 8px;
  color: #333;
  font-size: 23px;
  font-weight: 800;
  line-height: 1;
}

.first-view__lead strong {
  display: inline-block;
  padding-bottom: 9px;
  border-bottom: 3px dotted #ff7040;
  color: #25acc1;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: .04em;
  white-space: nowrap;
}

.feature-section {
  position: relative;
  z-index: 2;
  width: 100%;
  min-width: 1180px;
  height: 560px;
  /* padding-bottom: 90px; */
  overflow: visible;
  background: linear-gradient(to bottom, #e0f2f5 86px 100%);
}

.feature-section__inner {
  position: relative;
  width: min(1408px, calc(100% - 128px));
  height: 100%;
  margin: 0 auto;
}

.feature-section__dog {
  position: absolute;
  left: -64px;
  bottom: -46px;
  z-index: 4;
  display: block;
  width: 432px;
  height: auto;
  pointer-events: none;
}

.feature-section__food {
  position: absolute;
  right: -80px;
  top: -80px;
  z-index: 2;
  display: block;
  width: 464px;
  height: auto;
  pointer-events: none;
}

.feature-section__content {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 3;
  width: 620px;
  text-align: center;
  transform: translate(-50%, -50%);
}

.feature-section__points {
  display: block;
  width: 463px;
  height: auto;
  margin: 0 auto 28px;
}

#main_column h2.feature-section__title {
  margin: 0 0 22px;
  color: #ff7040;
  font-size: 31px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.feature-section__text {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 800;
  line-height: 2.05;
  letter-spacing: .06em;
}

.feature-section__paws {
  position: absolute;
  left: 0;
  top: -124px;
  z-index: 1;
  display: block;
  width: 210px;
  height: auto;
  pointer-events: none;
}

.signs-section {
  position: relative;
  z-index: 1;
  min-width: 1180px;
  color: #333;
  background: #fff;
}

.signs-section__intro {
  position: relative;
  height: 740px;
  overflow: hidden;
  background: #fff;
}

.signs-section__inner {
  position: relative;
  width: min(1408px, calc(100% - 128px));
  height: 100%;
  margin: 0 auto;
}

.signs-section__copy {
  position: absolute;
  left: 135px;
  top: 58px;
  z-index: 2;
  width: 745px;
}

.signs-section__eyebrow {
  width: 1408px;
  margin: 0 0 16px -135px;
  color: #25acc1;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

#main_column h2.signs-section__title {
  width: 1408px;
  margin: 0 0 26px -135px;
  color: #333;
  text-align: center;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.55;
  letter-spacing: .06em;
}

.signs-section__title span {
  position: relative;
  display: inline-block;
  color: #25acc1;
}

.signs-section__title span::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 4px;
  z-index: -1;
  height: 14px;
  background: rgba(37, 172, 193, .22);
}

.signs-section__sub {
  width: 1408px;
  margin: 0 0 56px -135px;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.6;
  letter-spacing: .06em;
}

.signs-section__checks {
  margin: 0 0 62px;
  padding: 0;
  list-style: none;
}

.signs-section__checks li {
  position: relative;
  margin-bottom: 22px;
  padding-left: 48px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .04em;
}

.signs-section__checks li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ff7040;
}

.signs-section__checks li::after {
  content: "";
  position: absolute;
  left: 10px;
  top: 7px;
  width: 8px;
  height: 14px;
  border-right: 3px solid #222;
  border-bottom: 3px solid #222;
  transform: rotate(45deg);
}

.signs-section__checks strong {
  color: #ff7040;
}

.signs-section__powder {
  display: flex;
  align-items: center;
  width: 657px;
  min-height: 120px;
  padding: 18px 34px 17px 54px;
  border-radius: 10px;
  background: #ffe8df;
}

.signs-section__powder-img {
  display: block;
  flex: 0 0 auto;
  width: 180px;
  height: auto;
  margin-right: 30px;
}

.signs-section__powder-copy {
  flex: 1 1 auto;
}

.signs-section__powder-title {
  margin: 0 0 14px;
  color: #ff7040;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;
}

.signs-section__powder-text {
  margin: 0;
  color: #333;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .06em;
  white-space: nowrap;
}

.signs-section__dog {
  position: absolute;
  right: -70px;
  top: 220px;
  z-index: 1;
  display: block;
  width: 552px;
  height: auto;
  pointer-events: none;
}

.signs-section__tech {
  background: #ffe8df;
  padding: 88px 0 92px;
}

.signs-section__tech-inner {
  width: min(1120px, calc(100% - 160px));
  margin: 0 auto;
}

.signs-section__tech-title {
  margin: 0 0 58px;
  text-align: center;
  color: #333;
  font-size: 27px;
  font-weight: 900;
  line-height: 1.6;
  letter-spacing: .06em;
}

.signs-section__tech-title span {
  color: #25acc1;
  font-size: 30px;
}

.signs-section__tech-grid {
  display: grid;
  grid-template-columns: 1fr 384px;
  gap: 66px;
  align-items: center;
}

.signs-section__tech-text {
  padding-left: 18px;
}

.signs-section__tech-text p {
  margin: 0;
  font-size: 15px;
  font-weight: 800;
  line-height: 2;
  letter-spacing: .06em;
}

.signs-section__tech-text strong {
  color: #ff7040;
}

.signs-section__patent {
  margin-top: 16px !important;
  color: #a7a7a7;
  font-size: 12px !important;
  line-height: 1.8 !important;
}

.signs-section__chart {
  display: block;
  width: 384px;
  height: auto;
  border-radius: 8px;
}

.voices-section {
  position: relative;
  z-index: 2;
  min-width: 1180px;
  padding: 92px 0 118px;
  overflow: visible;
  background: #e0f2f5;
  color: #333;
}

.voices-section__inner {
  position: relative;
  width: min(1240px, calc(100% - 160px));
  margin: 0 auto;
}

.voices-section__paws {
  position: absolute;
  right: -140px;
  top: -500px;
  z-index: 3;
  display: block;
  width: 236px;
  height: auto;
  pointer-events: none;
}

#main_column h2.voices-section__title {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 0 68px;
  color: #25acc1;
  font-size: 29px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .06em;
  border-bottom: none;
}

.voices-section__paw {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  width: 60px;
  height: 35px;
}

.voices-section__paw img {
  display: block;
  width: 100%;
  height: auto;
}

.voices-section__cards {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 40px;
}

.voice-card {
  position: relative;
  min-width: 0;
}

.voice-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 410px;
  margin-bottom: 56px;
  overflow: hidden;
  border-radius: 180px 180px 14px 14px;
  color: #333;
  background: #d9d9d9;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.voice-card__media iframe {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: auto;
  aspect-ratio: 9 / 16;
  border: 0;
  transform: translate(-50%, -50%);
}

.voice-card__play {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  cursor: pointer;
  background: none;
}

.voice-card__thumb {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.voice-card__play-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: rgba(0, 0, 0, .55);
  transform: translate(-50%, -50%);
}

.voice-card__play-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 54%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 12px 0 12px 20px;
  border-color: transparent transparent transparent #fff;
  transform: translate(-50%, -50%);
}

.voice-card__name {
  position: absolute;
  left: 50%;
  top: 386px;
  min-width: 208px;
  margin: 0;
  padding: 14px 24px 15px;
  border-radius: 999px;
  color: #fff;
  background: #25acc1;
  text-align: center;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
  transform: translateX(-50%);
}

.voice-card__text {
  margin: 0;
  color: #333;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.95;
  letter-spacing: .04em;
}

.voice-card__dog {
  position: absolute;
  z-index: 3;
  display: block;
  height: auto;
  pointer-events: none;
}

.voice-card__dog--left {
  left: -54px;
  top: 16px;
  width: 132px;
}

.voice-card__dog--center {
  right: -92px;
  top: 286px;
  width: 188px;
}

.voice-card__dog--right {
  right: -28px;
  top: -38px;
  width: 164px;
}

.vet-message-section {
  position: relative;
  min-width: 1180px;
  padding: 76px 0 74px;
  overflow: visible;
  background: #fff;
  color: #333;
}

.vet-message-section__inner {
  position: relative;
  width: min(1408px, calc(100% - 128px));
  margin: 0 auto;
}

.vet-message-section__paws {
  position: absolute;
  left: -28px;
  top: -150px;
  z-index: 3;
  display: block;
  width: 224px;
  height: auto;
  pointer-events: none;
}

.vet-message-section__card {
  position: relative;
  z-index: 2;
  width: 1040px;
  min-height: 420px;
  margin: 0 auto;
  padding: 58px 88px 54px;
  border-radius: 12px;
  background: #f3f3f3;
}

.vet-message-section__head {
  margin-bottom: 34px;
  text-align: center;
}

.vet-message-section__content {
  display: grid;
  grid-template-columns: 250px 1fr;
  gap: 35px;
  align-items: center;
}

.vet-message-section__photo-wrap {
  position: relative;
  align-self: center;
  width: 250px;
  height: auto;
}

.vet-message-section__photo {
  display: block;
  width: 250px;
  height: auto;
}

.vet-message-section__body {
  align-self: center;
  min-width: 0;
}

.vet-message-section__eyebrow {
  margin: 0 0 16px;
  color: #25acc1;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .1em;
}

#main_column h2.vet-message-section__title {
  margin: 0 0 22px;
  text-align: center;
  color: #333;
  font-size: 32px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;
}

.vet-message-section__name {
  margin: 0;
  text-align: center;
  font-size: 15px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
}

.vet-message-section__name strong {
  color: #ff7040;
  font-size: 30px;
}

.vet-message-section__quote {
  margin: 0 0 15px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
  letter-spacing: .06em;
}

.vet-message-section__text {
  margin: 0;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.95;
  letter-spacing: .04em;
}

.eat-gallery-section {
  width: 100%;
  min-width: 1180px;
  padding: 0 0 100px;
  overflow: hidden;
  background: #fff;
}

.eat-gallery-section__track {
  display: flex;
  align-items: flex-start;
  gap: 32px;
  width: max-content;
  margin: 0 auto;
}

.eat-gallery-section__track img {
  display: block;
  flex: 0 0 auto;
  width: 260px;
  height: auto;
}

.eat-gallery-section__track img:nth-child(even) {
  margin-top: 36px;
}

.eat-gallery-section__track img:last-child {
  width: 260px;
  margin-top: 36px;
}

.lineup-section {
  position: relative;
  z-index: 2;
  min-width: 1180px;
  padding: 96px 0 100px;
  overflow: visible;
  background: #ffe9e1;
  color: #333;
}

.lineup-section__inner {
  position: relative;
  z-index: 2;
  width: min(1152px, calc(100% - 160px));
  margin: 0 auto;
  text-align: center;
}

.lineup-section__paws {
  position: absolute;
  right: 72px;
  top: -100px;
  z-index: 3;
  display: block;
  width: 276px;
  height: auto;
  pointer-events: none;
}

.lineup-section__eyebrow {
  margin: 0 0 18px;
  color: #25acc1;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
}

#main_column h2.lineup-section__title {
  margin: 0 0 36px;
  font-size: 36px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;
}

.lineup-section__product-image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 350px;
  height: 350px;
  margin: 0 auto 24px;
  border-radius: 16px;
  color: #333;
  background: #d9d9d9;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .08em;
}

.lineup-section__product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.lineup-section__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
}

.lineup-card {
  min-width: 0;
  padding: 46px 28px 42px;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 4px 0 rgba(255, 112, 64, .35);
}

.lineup-card__title {
  margin: 0 0 22px;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: .06em;
}

.lineup-card__price {
  margin: 0 0 22px;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .04em;
}

.lineup-card__price strong {
  color: #ff7040;
  font-size: 34px;
  letter-spacing: .04em;
}

.lineup-card__price span {
  margin-left: 8px;
}

.lineup-card__button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  width: 360px;
  height: 70px;
  margin-bottom: 24px;
  border-radius: 999px;
  color: #fff !important;
  background: #ff7040;
  font-size: 24px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .06em;
}

.lineup-card__button img {
  display: block;
  width: 28px;
  height: auto;
}

.lineup-card__note {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 26px;
  margin: 0;
  border-radius: 3px;
  color: #333;
  background: #dff3f6;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
  letter-spacing: .04em;
}

.shopping-guide-section {
  min-width: 1180px;
  padding: 100px 160px;
  background: #fff;
  color: #333;
}

#main_column h2.shopping-guide-section__title {
  margin: 0 0 70px;
  text-align: center;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.shopping-guide-section__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 74px;
}

.shopping-guide-section__column {
  min-width: 0;
}

.guide-block {
  margin-bottom: 44px;
}

.guide-block:last-child {
  margin-bottom: 0;
}

.guide-block__title {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
  color: #25acc1;
  font-size: 17px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .04em;
}

.guide-block__title img {
  flex: 0 0 auto;
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.guide-block p {
  margin: 0 0 12px;
  color: #333;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.85;
  letter-spacing: .04em;
}

.guide-block a {
  color: #25acc1;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.guide-card-brands {
  margin-top: 12px;
}

.guide-card-brands img {
  display: block;
  width: 300px;
  max-width: 100%;
  height: auto;
}

.site-footer {
  position: relative;
  z-index: 1;
  width: 100%;
  min-width: 1180px;
  padding-top: 40px;
  background: transparent;
  color: #fff;
}

.site-footer__panel {
  position: relative;
  height: 272px;
  overflow: visible;
  border-radius: 77px 77px 0 0;
  background: #fa7541;
}

.site-footer__inner {
  position: relative;
  width: min(1280px, calc(100% - 160px));
  height: 100%;
  margin: 0 auto;
}

.site-footer__info {
  position: absolute;
  left: 128px;
  top: 49px;
  z-index: 2;
  width: 240px;
}

.site-footer__logo {
  display: block;
  width: 148px;
  height: 79px;
}

.site-footer__logo img {
  display: block;
  width: 100%;
  height: auto;
}

.site-footer__address {
  margin: 3px 0 0;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.78;
  letter-spacing: .04em;
}

.site-footer__nav {
  position: absolute;
  left: 460px;
  top: 52px;
  z-index: 2;
  display: grid;
  grid-template-columns: 150px 180px;
  column-gap: 34px;
  row-gap: 20px;
  align-items: start;
}

.site-footer__nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 13px;
  padding-left: 18px;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .04em;
}

.site-footer__nav a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 10px;
  height: 10px;
  border: 2px solid #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}

.site-footer__nav a::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 50%;
  width: 3px;
  height: 3px;
  border-top: 1.5px solid #fff;
  border-right: 1.5px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}

.site-footer__copyright {
  position: absolute;
  left: 50%;
  bottom: 51px;
  z-index: 2;
  margin: 0;
  width: 520px;
  text-align: center;
  transform: translateX(-50%);
  font-size: 12px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: .08em;
}

.site-footer__notice {
  position: absolute;
  left: 50%;
  bottom: 30px;
  z-index: 2;
  margin: 0;
  width: 760px;
  text-align: center;
  transform: translateX(-50%);
  font-size: 10px;
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: .06em;
}

.site-footer__dog {
  position: absolute;
  right: -84px;
  top: -40px;
  z-index: 3;
  display: block;
  width: 328px;
  height: auto;
  pointer-events: none;
}

.site-footer__paw {
  position: absolute;
  z-index: 1;
  display: block;
  width: 61px;
  height: 61px;
  color: rgba(235, 91, 29, .72);
  border-radius: 50%;
  background: currentColor;
}

.site-footer__paw::before,
.site-footer__paw::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: currentColor;
}

.site-footer__paw::before {
  left: -14px;
  top: -10px;
  width: 14px;
  height: 14px;
  box-shadow: 21px -11px 0 currentColor, 45px -10px 0 currentColor, 61px 6px 0 currentColor;
}

.site-footer__paw::after {
  left: -20px;
  top: 18px;
  width: 14px;
  height: 14px;
}

.site-footer__paw--large {
  left: 68px;
  top: 101px;
  transform: scale(.62);
}

.site-footer__paw--medium {
  left: 226px;
  top: 171px;
  transform: scale(.56);
}

.site-footer__paw--small {
  left: 320px;
  top: 117px;
  transform: scale(.55);
}

@media (max-width: 1179px) {
  .site-header {
    min-width: 0;
  }

  .site-footer {
    min-width: 0;
  }

  .first-view {
    min-width: 0;
  }
}

/* Product list page overrides loaded against template inline styles */
#mypagecolumn,
#mycontents_area.order_list,
#undercolumn:has(#search_form),
#undercolumn:has(#orderlist_form) {
  background: #fff !important;
}

#undercolumn:has(#search_form) {
  padding: 90px 0 120px !important;
}

#search_form {
  padding: 0 !important;
  border: 0 !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 7px 0 rgba(37, 172, 193, .08) !important;
}

#search_keyword_area,
#search_price_area,
#refine_area,
#search_sales_channel_area,
#search_sales_channel_area2,
#search_sales_channel_area3,
#search_maker_area,
#search_status_area {
  padding-right: 28px !important;
  padding-left: 28px !important;
  box-sizing: border-box !important;
}

#search_keyword_area {
  margin: 0 !important;
  padding-top: 26px !important;
  padding-bottom: 18px !important;
  border: 1px solid rgba(37, 172, 193, .18) !important;
  border-bottom: 0 !important;
  border-radius: 18px 18px 0 0 !important;
  background: linear-gradient(180deg, #f7fbfc 0%, #fff 100%) !important;
}

#initial_display_toggle {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 38px !important;
  margin: 0 0 18px !important;
  padding: 0 !important;
  color: #25acc1 !important;
  background: transparent !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
}

#initial_display_toggle::before,
#initial_display_toggle.area_hide::before,
td[class^="detail_display_toggle"]::before,
td[class^="detail_display_toggle"].area_hide::before {
  content: "" !important;
  display: inline-block !important;
  flex: 0 0 auto !important;
  width: 10px !important;
  height: 28px !important;
  margin: 0 !important;
  border-radius: 999px !important;
  background: #ff7040 !important;
  font-family: inherit !important;
}

#initial_display_toggle::after {
  content: "検索条件" !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  border-radius: 0 !important;
  color: #333 !important;
  background: transparent !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
  transform: none !important;
}

#initial_display_toggle span {
  margin: 0 !important;
}

#search_keyword_top {
  grid-template-columns: minmax(0, 1fr) 180px 136px !important;
}

#search_price_area {
  margin: 0 !important;
  padding-top: 20px !important;
  padding-bottom: 24px !important;
  border: 1px solid rgba(37, 172, 193, .18) !important;
  border-top: 0 !important;
  border-radius: 0 0 18px 18px !important;
  background: #fff !important;
}

#search_price_area p {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

#search_price_area p::before {
  content: "価格帯" !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  color: #25acc1 !important;
  background: #e5f7fa !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

#btn_kwd_search,
#btn_price_search {
  color: #fff !important;
  background: #ff7040 !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

#search_form input[type="text"],
#search_form select {
  min-height: 46px !important;
  border: 2px solid #d9f0f3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #333 !important;
}

#undercolumn #orderlist_form,
#undercolumn .listrightbloc {
  overflow: visible !important;
}

#undercolumn .listrightbloc {
  padding: 0 !important;
}

#undercolumn .listrightbloc>table,
#undercolumn table.tbl_items,
#undercolumn .tbl_items.layout_orderlist {
  width: 100% !important;
  min-width: 0 !important;
  border: 1px solid rgba(37, 172, 193, .18) !important;
  border-radius: 18px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  box-shadow: 0 7px 0 rgba(37, 172, 193, .08) !important;
}

#undercolumn .listrightbloc>table td,
#undercolumn table.tbl_items td,
#undercolumn .tbl_items.layout_orderlist td {
  border-color: rgba(37, 172, 193, .14) !important;
  color: #333 !important;
  background: #fff !important;
}

#undercolumn .listrightbloc>table td:only-child,
#undercolumn table.tbl_items td:only-child,
#undercolumn .tbl_items.layout_orderlist td:only-child {
  height: 300px !important;
  padding: 64px 24px !important;
  color: #333 !important;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, .94), rgba(255, 255, 255, .94)),
    #e5f7fa !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.8 !important;
  text-align: center !important;
}

#undercolumn .listrightbloc>table td:only-child::before,
#undercolumn table.tbl_items td:only-child::before,
#undercolumn .tbl_items.layout_orderlist td:only-child::before {
  content: "商品一覧" !important;
  display: block !important;
  margin: 0 auto 14px !important;
  color: #25acc1 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
}

#undercolumn .plg_raku2_product_count:empty,
#page_navi_top:empty,
#page_navi_bottom:empty {
  display: none !important;
}

#container {
  margin: 0px auto 0;
  width: auto;
}

#main_column.colnum1 {
  width: 100%;
  margin: 0;
}

.faq-page {
  min-width: 1180px;
  color: #333;
  background: #fff;
}

.faq-hero {
  position: relative;
  overflow: hidden;
  padding: 86px 0 78px;
  background: #ffe9e1;
}

.faq-hero::before,
.faq-hero::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  background: rgba(37, 172, 193, .16);
  pointer-events: none;
}

.faq-hero::before {
  left: calc(50% - 620px);
  top: -64px;
  width: 210px;
  height: 210px;
}

.faq-hero::after {
  right: calc(50% - 650px);
  bottom: -82px;
  width: 260px;
  height: 260px;
}

.faq-hero__inner {
  position: relative;
  z-index: 1;
  width: 1180px;
  margin: 0 auto;
  text-align: center;
}

.faq-hero__eyebrow {
  margin: 0 0 18px;
  color: #25acc1;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
}

.faq-hero__title {
  margin: 0 0 22px;
  color: #333;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .08em;
}

.faq-hero__lead {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.9;
  letter-spacing: .04em;
}

.faq-index {
  padding: 82px 0 96px;
  background: #fff;
}

.faq-index__inner {
  width: 1180px;
  margin: 0 auto;
}

.faq-index__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
}

.faq-category-card {
  position: relative;
  min-height: 214px;
  padding: 30px 30px 28px;
  border: 2px solid rgba(37, 172, 193, .22);
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 6px 0 rgba(37, 172, 193, .16);
}

.faq-category-card::before {
  content: "Q";
  position: absolute;
  right: 24px;
  top: 22px;
  color: rgba(37, 172, 193, .16);
  font-size: 56px;
  font-weight: 900;
  line-height: 1;
}

.faq-category-card h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 20px;
  color: #25acc1;
  font-size: 19px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .04em;
}

.faq-category-card h2 a {
  color: inherit;
}

.faq-category-card ul {
  position: relative;
  z-index: 1;
  margin: 0;
  padding: 0;
  list-style: none;
}

.faq-category-card li {
  margin: 0;
  border-top: 1px solid #eef4f5;
}

.faq-category-card li:first-child {
  border-top: 0;
}

.faq-category-card li a {
  position: relative;
  display: block;
  padding: 12px 0 12px 22px;
  color: #333;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .03em;
}

.faq-category-card li a::before,
.faq-contact-links a::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-top: 2px solid #ff7040;
  border-right: 2px solid #ff7040;
  transform: translateY(-50%) rotate(45deg);
}

.faq-contact-links {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 46px;
}

.faq-contact-links a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0 26px 0 46px;
  border-radius: 999px;
  color: #fff;
  background: #ff7040;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .04em;
}

.faq-contact-links a::before {
  left: 25px;
  border-color: #fff;
}

.faq-detail {
  padding: 0 0 110px;
  background: #fff;
}

.faq-detail__inner {
  width: 980px;
  margin: 0 auto;
}

.faq-answer-group {
  scroll-margin-top: 150px;
  margin-top: 54px;
}

.faq-answer-group:first-child {
  margin-top: 0;
}

.faq-answer-group h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: #25acc1;
  font-size: 26px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .05em;
}

.faq-answer-group h2::before {
  content: "";
  display: block;
  width: 8px;
  height: 32px;
  border-radius: 999px;
  background: #ff7040;
}

.faq-answer {
  scroll-margin-top: 150px;
  padding: 26px 30px 28px;
  border-radius: 14px;
  background: #f7fbfc;
  border: 1px solid rgba(37, 172, 193, .18);
}

.faq-answer+.faq-answer {
  margin-top: 16px;
}

.faq-answer h3 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 14px;
  color: #333;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .04em;
}

.faq-answer h3 span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  color: #fff;
  background: #25acc1;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.faq-answer p {
  margin: 0;
  padding-left: 46px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.95;
  letter-spacing: .04em;
}

.guide-page {
  min-width: 1180px;
  color: #333;
  background: #fff;
}

.guide-hero {
  padding: 92px 0 82px;
  background: #e5f7fa;
  text-align: center;
}

.guide-hero__inner {
  width: 980px;
  margin: 0 auto;
}

.guide-hero__eyebrow {
  margin: 0 0 16px;
  color: #25acc1;
  font-size: 16px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: .12em;
}

.guide-hero__title {
  margin: 0 0 22px;
  color: #333;
  font-size: 42px;
  font-weight: 900;
  line-height: 1.25;
  letter-spacing: .08em;
}

.guide-hero__lead {
  margin: 0;
  color: #333;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.9;
  letter-spacing: .04em;
}

.guide-detail {
  padding: 82px 0 116px;
  background: #fff;
}

.guide-detail__inner {
  width: 980px;
  margin: 0 auto;
}

.guide-detail-card {
  scroll-margin-top: 150px;
  overflow: hidden;
  padding: 0;
  border: 1px solid rgba(37, 172, 193, .18);
  border-radius: 18px;
  background: #f7fbfc;
}

.guide-detail-card+.guide-detail-card {
  margin-top: 22px;
}

.guide-detail-card summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 0 86px 0 40px;
  color: #25acc1;
  background: #fff;
  cursor: pointer;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .05em;
  list-style: none;
}

.guide-detail-card summary::-webkit-details-marker {
  display: none;
}

.guide-detail-card summary::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 8px;
  height: 32px;
  border-radius: 999px;
  background: #ff7040;
}

.guide-detail-card summary::after {
  content: "";
  position: absolute;
  right: 38px;
  top: 50%;
  width: 16px;
  height: 16px;
  border-right: 3px solid #ff7040;
  border-bottom: 3px solid #ff7040;
  transform: translateY(-62%) rotate(45deg);
  transition: transform .2s ease;
}

.guide-detail-card[open] summary::after {
  transform: translateY(-38%) rotate(225deg);
}

.guide-detail-card__body {
  padding: 30px 40px 38px;
  border-top: 1px solid rgba(37, 172, 193, .16);
}

.guide-detail-card h2 {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 22px;
  color: #25acc1;
  font-size: 26px;
  font-weight: 900;
  line-height: 1.35;
  letter-spacing: .05em;
}

.guide-detail-card h2::before {
  content: "";
  display: block;
  flex: 0 0 auto;
  width: 8px;
  height: 32px;
  border-radius: 999px;
  background: #ff7040;
}

.guide-detail-card h3 {
  margin: 24px 0 10px;
  color: #ff7040;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.55;
  letter-spacing: .04em;
}

.guide-detail-card h3:first-child {
  margin-top: 0;
}

.guide-detail-card p,
.guide-detail-card li {
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.95;
  letter-spacing: .04em;
}

.guide-detail-card p {
  margin: 0;
}

.guide-detail-card p+p,
.guide-detail-card ul+p,
.guide-detail-card ol+h3 {
  margin-top: 18px;
}

.guide-detail-card ul,
.guide-detail-card ol {
  margin: 14px 0 0;
  padding-left: 1.4em;
}

.guide-detail-card a {
  color: #25acc1;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.guide-detail-card__note {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  margin-top: 10px !important;
  padding: 0 18px;
  border-radius: 999px;
  color: #ff7040 !important;
  background: #ffe6dd;
  font-weight: 900 !important;
}

.guide-page__actions {
  display: flex;
  justify-content: center;
  gap: 18px;
  margin-top: 48px;
}

.guide-page__actions a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 238px;
  min-height: 54px;
  padding: 0 28px;
  border-radius: 999px;
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .04em;
}

.guide-page__top-link {
  color: #25acc1;
  background: #e5f7fa;
}

.guide-page__home-link {
  color: #fff;
  background: #ff7040;
}

#undercolumn {
  max-width: 1180px;
  width: 100%;
  padding: 92px 0 116px;
  color: #333;
  background: #fff;
  box-sizing: border-box;
  margin: 0 auto;
}

#undercolumn>h2.title {
  margin: 0 auto 44px;
  color: #333;
  font-size: 42px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
  letter-spacing: .08em;
}

#undercolumn_contact {
  display: block;
  width: 980px !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  padding: 38px 42px 46px;
  border: 1px solid rgba(37, 172, 193, .18);
  border-radius: 18px;
  background: #f7fbfc;
  box-sizing: border-box;
}

#undercolumn_contact>p {
  margin: 0 0 30px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.9;
  text-align: center;
  letter-spacing: .04em;
}

#undercolumn_contact table {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
  border-collapse: separate;
  border-spacing: 0;
  box-sizing: border-box;
}

#raku2_contact_product {
  overflow: hidden;
  margin-bottom: 24px !important;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(37, 172, 193, .18);
  box-sizing: border-box;
}

#raku2_contact_product th {
  padding: 18px 24px;
  color: #25acc1;
  background: #e5f7fa;
  font-size: 18px;
  font-weight: 900;
  line-height: 1.45;
  letter-spacing: .04em;
}

#raku2_contact_product td {
  padding: 18px 24px;
  color: #333;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
}

#raku2_contact_form {
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  border-radius: 14px;
  background: #fff;
  border: 1px solid rgba(37, 172, 193, .18);
  box-sizing: border-box;
}

#raku2_contact_form th,
#raku2_contact_form td {
  border-top: 1px solid rgba(37, 172, 193, .14);
  vertical-align: top;
}

#raku2_contact_form tr:first-child th,
#raku2_contact_form tr:first-child td {
  border-top: 0;
}

#raku2_contact_form th {
  width: 250px;
  padding: 24px 22px;
  color: #333;
  background: #e5f7fa;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.6;
  text-align: left;
  letter-spacing: .04em;
}

#raku2_contact_form td {
  padding: 22px 26px;
  color: #333;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: .03em;
}

#undercolumn_contact input[type="text"],
#undercolumn_contact input[type="email"],
#undercolumn_contact input[type="tel"],
#undercolumn_contact select,
#undercolumn_contact textarea {
  max-width: 100%;
  min-height: 46px;
  padding: 0 14px !important;
  border: 2px solid rgba(37, 172, 193, .2) !important;
  border-radius: 8px !important;
  color: #333;
  background: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.6;
  outline: none;
}

#undercolumn_contact input[type="text"]:focus,
#undercolumn_contact input[type="email"]:focus,
#undercolumn_contact input[type="tel"]:focus,
#undercolumn_contact select:focus,
#undercolumn_contact textarea:focus {
  border-color: #25acc1;
  box-shadow: 0 0 0 4px rgba(37, 172, 193, .14);
}

#undercolumn_contact textarea {
  width: 100%;
  min-height: 240px;
  padding: 14px;
  resize: vertical;
}

#undercolumn_contact .box100 {
  width: 120px;
}

#undercolumn_contact .box120 {
  width: 150px;
}

#undercolumn_contact .box180 {
  width: 220px;
}

#undercolumn_contact .box240,
#undercolumn_contact .box300 {
  width: 360px;
}

#undercolumn_contact .box380 {
  width: 520px;
}

#undercolumn_contact .required_label {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 32px;
  height: 22px;
  margin-left: 8px;
  padding: 0 8px;
  border-radius: 999px;
  color: #fff;
  background: #ff7040;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
}

#undercolumn_contact .attention {
  color: #ff7040;
  font-weight: 900;
}

#undercolumn_contact .mini {
  color: #666;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.7;
}

#undercolumn_contact .zipimg {
  margin: 12px 0 0;
}

#undercolumn_contact .btn-normal {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0 18px;
  border-radius: 999px;
  color: #25acc1;
  background: #e5f7fa;
  font-size: 13px;
  font-weight: 900;
}

#undercolumn_contact .btn_area {
  margin-top: 34px;
  text-align: center;
}

#undercolumn_contact .btn_area ul {
  display: flex;
  justify-content: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

#undercolumn_contact input[type="submit"],
#undercolumn_contact .raku2_complete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 300px !important;
  min-height: 58px !important;
  padding: 0 34px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #ff7040 !important;
  box-shadow: 0 5px 0 rgba(255, 112, 64, .22) !important;
  cursor: pointer;
  font-size: 18px !important;
  font-weight: 900 !important;
  letter-spacing: .06em;
}

#undercolumn_contact input[type="submit"]:disabled,
#undercolumn_contact .raku2_complete:disabled {
  opacity: .55;
  cursor: not-allowed;
}

#undercolumn_entry {
  display: block;
  width: 980px !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  color: #333;
  box-sizing: border-box;
}

#undercolumn_entry h2.title {
  margin: 0 0 30px;
  color: #333;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  letter-spacing: .06em;
}

#undercolumn_entry p {
  margin: 0 0 18px;
  color: #333;
  font-size: 15px;
  font-weight: 700;
  line-height: 2.05;
  letter-spacing: .04em;
}

#undercolumn_entry p+p {
  margin-top: 22px;
}

#undercolumn_entry br {
  display: block;
  content: "";
  margin-top: .45em;
}

#undercolumn_entry .message,
#undercolumn_entry h3,
#undercolumn_entry h4 {
  position: relative;
  display: block;
  margin: 38px 0 16px;
  border-radius: 12px;
  color: var(--main-color);
  font-size: 22px;
  line-height: 2.4;
  letter-spacing: .05em;
}

#undercolumn_entry .message:first-child,
#undercolumn_entry h3:first-child,
#undercolumn_entry h4:first-child {
  margin-top: 0;
}

#undercolumn_entry .message::before,
#undercolumn_entry h3::before,
#undercolumn_entry h4::before {
  content: "";
  position: absolute;
  left: -15px;
  top: 50%;
  width: 4px;
  height: 30px;
  border-radius: 999px;
  background: var(--main-color);
  transform: translateY(-50%);
}

#undercolumn_entry strong,
#undercolumn_entry b {
  color: #25acc1;
  font-weight: 900;
}

#undercolumn_entry a {
  color: #25acc1;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.entry-order-guide {
  width: min(980px, 100%);
  margin: 0 auto 56px;
  color: #333;
  text-align: center;
}

.entry-order-guide__heading {
  position: relative;
  display: inline-block;
  margin: 0 0 18px !important;
  padding: 0 52px;
  color: #ff7040 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .08em !important;
}

.entry-order-guide__heading::before,
.entry-order-guide__heading::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2px;
  height: 38px;
  border-left: 3px dotted #333;
  opacity: .78;
}

.entry-order-guide__heading::before {
  left: 12px;
  transform: translateY(-50%) rotate(-14deg);
}

.entry-order-guide__heading::after {
  right: 12px;
  transform: translateY(-50%) rotate(14deg);
}

.entry-order-guide__body {
  display: grid;
  grid-template-columns: 1fr 58px 1fr;
  align-items: center;
  gap: 24px;
  padding: 32px 74px;
  border-radius: 16px;
  background: #faf5f2;
  box-sizing: border-box;
}

.entry-order-guide__card {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 360px;
  padding: 0;
  border-radius: 8px;
  background: #fff;
  box-sizing: border-box;
}

.entry-order-guide__art {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.entry-order-guide__art img {
  display: block;
  width: min(100%, 328px);
  height: auto;
  max-height: 100%;
  object-fit: contain;
}

.entry-order-guide__arrow {
  display: flex;
  justify-content: center;
}

.entry-order-guide__arrow span {
  display: block;
  width: 0;
  height: 0;
  border-top: 25px solid transparent;
  border-bottom: 25px solid transparent;
  border-left: 21px solid #ff7040;
}

#undercolumn_order {
  display: block;
  width: 980px !important;
  max-width: 980px !important;
  margin: 0 auto !important;
  color: #333;
  box-sizing: border-box;
}

#undercolumn_order h2.title {
  margin: 0 0 30px;
  color: #333;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.35;
  text-align: center;
  letter-spacing: .06em;
}

#undercolumn_order table {
  overflow: hidden;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0;
}

#undercolumn_order col:first-child {
  width: 26% !important;
}

#undercolumn_order col:last-child {
  width: 74% !important;
}

#undercolumn_order th,
#undercolumn_order td {
  border-top: 1px solid rgba(37, 172, 193, .14);
  vertical-align: top;
  box-sizing: border-box;
}

#undercolumn_order tr:first-child th,
#undercolumn_order tr:first-child td {
  border-top: 0;
}

#undercolumn_order th {
  width: 260px;
  padding: 24px 22px;
  color: #333;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.65;
  text-align: left;
  letter-spacing: .04em;
}

#undercolumn_order td {
  padding: 24px 28px;
  color: #333;
  background: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.95;
  letter-spacing: .04em;
}

#undercolumn_order a {
  color: #25acc1;
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 3px;
  word-break: break-all;
}

#undercolumn_order br {
  display: block;
  content: "";
  margin-top: .35em;
}

@media (max-width: 767px) {
  body.LC_Page_User #undercolumn {
    min-width: 0;
    padding: 58px 20px 74px;
  }

  body.LC_Page_User #undercolumn_order {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 14px 30px !important;
    border-radius: 15px !important;
  }

  body.LC_Page_User #undercolumn_order table,
  body.LC_Page_User #undercolumn>table,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"],
  body.LC_Page_User #undercolumn table[summary*="表記"] {
    overflow: hidden !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    border: 1px solid rgba(37, 172, 193, .18) !important;
    border-radius: 14px !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    background: #fff !important;
    box-shadow: 0 4px 0 rgba(37, 172, 193, .08) !important;
    box-sizing: border-box !important;
  }

  body.LC_Page_User #undercolumn_order tbody,
  body.LC_Page_User #undercolumn_order tr,
  body.LC_Page_User #undercolumn_order th,
  body.LC_Page_User #undercolumn_order td,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] tbody,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] tr,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] th,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] td,
  body.LC_Page_User #undercolumn table[summary*="表記"] tbody,
  body.LC_Page_User #undercolumn table[summary*="表記"] tr,
  body.LC_Page_User #undercolumn table[summary*="表記"] th,
  body.LC_Page_User #undercolumn table[summary*="表記"] td {
    display: block !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }

  body.LC_Page_User #undercolumn_order tr,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] tr,
  body.LC_Page_User #undercolumn table[summary*="表記"] tr {
    margin: 0 !important;
    border-top: 1px solid rgba(37, 172, 193, .14) !important;
    background: #fff !important;
  }

  body.LC_Page_User #undercolumn_order tr:first-child,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] tr:first-child,
  body.LC_Page_User #undercolumn table[summary*="表記"] tr:first-child {
    border-top: 0 !important;
  }

  body.LC_Page_User #undercolumn_order th,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] th,
  body.LC_Page_User #undercolumn table[summary*="表記"] th {
    padding: 16px 18px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(37, 172, 193, .14) !important;
    color: #333 !important;
    background: #e5f7fa !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.55 !important;
    text-align: left !important;
    letter-spacing: .03em !important;
  }

  body.LC_Page_User #undercolumn_order td,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] td,
  body.LC_Page_User #undercolumn table[summary*="表記"] td {
    min-height: 44px !important;
    padding: 16px 18px 18px !important;
    border: 0 !important;
    color: #333 !important;
    background: #fff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.9 !important;
    letter-spacing: .03em !important;
    word-break: break-word !important;
  }

  body.LC_Page_User #undercolumn_order colgroup,
  body.LC_Page_User #undercolumn_order col,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] colgroup,
  body.LC_Page_User #undercolumn table[summary*="特定商取引法"] col,
  body.LC_Page_User #undercolumn table[summary*="表記"] colgroup,
  body.LC_Page_User #undercolumn table[summary*="表記"] col {
    display: none !important;
  }
}

/* Product list simple layout */
#undercolumn:has(.raku2_pagenumber_area),
#undercolumn:has(.list_area),
#undercolumn:has(#search_form) {
  width: min(1220px, calc(100% - 88px)) !important;
  margin: 0 auto !important;
  padding: 76px 0 110px !important;
  color: #333 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

#undercolumn:has(.raku2_pagenumber_area)>div,
#undercolumn:has(.list_area)>div,
#undercolumn:has(#search_form)>div {
  width: 100% !important;
  margin: 0 !important;
}

#undercolumn:has(.raku2_pagenumber_area) h2.title,
#undercolumn:has(.list_area) h2.title,
#undercolumn:has(#search_form) h2.title {
  margin: 0 0 34px !important;
  padding: 0 !important;
  color: #333 !important;
  background: transparent !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  text-align: left !important;
  letter-spacing: .04em !important;
}

#undercolumn #search_form {
  display: none !important;
}

#undercolumn .plg_raku2_product_count {
  display: inline-flex !important;
  align-items: baseline !important;
  width: auto !important;
  margin: 0 0 26px !important;
  color: #333 !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
}

#undercolumn .plg_raku2_product_count .attention,
#undercolumn .plg_raku2_product_count_fh {
  color: #333 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

#undercolumn .raku2_pagenumber_area,
#undercolumn .pagenumber_area {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  width: min(1220px, calc(100vw - 88px)) !important;
  margin: -58px auto 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#undercolumn .pagenumber_area .change,
#undercolumn .pagenumber_area .navi,
#undercolumn .pagenumber_area .view_change,
#undercolumn .pagenumber_area>a,
#undercolumn .pagenumber_area>strong,
#undercolumn .pagenumber_area>span:not(.view_change) {
  display: none !important;
}

#undercolumn .raku2_product_list_order,
#undercolumn .raku2_pagenumber_area select,
#undercolumn .pagenumber_area select {
  display: block !important;
  width: 190px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 38px 0 14px !important;
  border: 1px solid #d7d7d7 !important;
  border-radius: 3px !important;
  color: #222 !important;
  background-color: #fff !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 40px !important;
  letter-spacing: 0 !important;
  box-shadow: none !important;
}

#undercolumn .list_area {
  display: block !important;
  width: 320px !important;
  margin: 0 0 54px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#undercolumn .list_area img {
  display: block !important;
  width: auto !important;
  max-width: 280px !important;
  height: auto !important;
  margin: 0 0 22px !important;
  border-radius: 0 !important;
}

#undercolumn .list_area a {
  color: #333 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  text-decoration: none !important;
}

#undercolumn .list_area .sale_price,
#undercolumn .list_area [class*="price"] {
  color: #ff7040 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}

#undercolumn .list_area del,
#undercolumn .list_area s {
  color: #333 !important;
}

#undercolumn .cartin_btn,
#undercolumn #page_navi_top,
#undercolumn #page_navi_bottom {
  width: 100% !important;
}

/* Contact page refined layout */
#undercolumn:has(#undercolumn_contact) {
  width: min(1040px, calc(100% - 80px)) !important;
  margin: 0 auto !important;
  padding: 70px 0 110px !important;
  color: #333 !important;
  background: #fff !important;
  box-sizing: border-box !important;
}

#undercolumn:has(#undercolumn_contact)>h2.title,
#undercolumn:has(#undercolumn_contact) h2.title {
  position: relative !important;
  margin: 0 0 42px !important;
  padding: 0 0 20px !important;
  border: 0 !important;
  color: #333 !important;
  background: transparent !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  text-align: center !important;
  letter-spacing: .08em !important;
}

#undercolumn:has(#undercolumn_contact)>h2.title::after,
#undercolumn:has(#undercolumn_contact) h2.title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 64px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: #ff7040 !important;
  transform: translateX(-50%) !important;
}

#undercolumn_contact {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  color: #333 !important;
  background: transparent !important;
  box-shadow: none !important;
}

#undercolumn_contact>p {
  width: min(760px, 100%) !important;
  margin: 0 auto 34px !important;
  padding: 22px 30px !important;
  border: 1px solid rgba(37, 172, 193, .18) !important;
  border-radius: 16px !important;
  color: #333 !important;
  background: #f7fbfc !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.95 !important;
  text-align: center !important;
  letter-spacing: .04em !important;
  box-sizing: border-box !important;
}

#raku2_contact_product {
  display: none !important;
}

#raku2_contact_form {
  overflow: hidden !important;
  width: min(860px, 100%) !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  border: 1px solid rgba(37, 172, 193, .18) !important;
  border-radius: 20px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(37, 172, 193, .10) !important;
}

#raku2_contact_form tbody,
#raku2_contact_form tr {
  width: 100% !important;
}

#raku2_contact_form th,
#raku2_contact_form td {
  border: 0 !important;
  border-top: 1px solid rgba(37, 172, 193, .12) !important;
  vertical-align: top !important;
  box-sizing: border-box !important;
}

#raku2_contact_form tr:first-child th,
#raku2_contact_form tr:first-child td {
  border-top: 0 !important;
}

#raku2_contact_form th {
  width: 250px !important;
  padding: 26px 28px !important;
  color: #333 !important;
  background: #fff8f5 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.6 !important;
  text-align: left !important;
  letter-spacing: .04em !important;
}

#raku2_contact_form td {
  padding: 24px 28px !important;
  color: #333 !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
}

#undercolumn_contact .required_label {
  float: right !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 34px !important;
  height: 22px !important;
  margin: 1px 0 0 12px !important;
  padding: 0 9px !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #ff7040 !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
}

#undercolumn_contact input[type="text"],
#undercolumn_contact input[type="email"],
#undercolumn_contact input[type="tel"],
#undercolumn_contact select,
#undercolumn_contact textarea {
  width: 100% !important;
  max-width: 520px !important;
  min-height: 46px !important;
  padding: 0 15px !important;
  border: 1px solid #ccebf0 !important;
  border-radius: 8px !important;
  color: #333 !important;
  background: #fff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
  letter-spacing: .03em !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#undercolumn_contact textarea {
  max-width: 100% !important;
  min-height: 210px !important;
  padding: 14px 15px !important;
  resize: vertical !important;
}

#undercolumn_contact input[type="text"]:focus,
#undercolumn_contact input[type="email"]:focus,
#undercolumn_contact input[type="tel"]:focus,
#undercolumn_contact select:focus,
#undercolumn_contact textarea:focus {
  border-color: #25acc1 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 4px rgba(37, 172, 193, .13) !important;
}

#undercolumn_contact .mini {
  display: block !important;
  margin-top: 6px !important;
  color: #666 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1.6 !important;
}

#undercolumn_contact .attention {
  color: #ff7040 !important;
  font-weight: 900 !important;
}

#undercolumn_contact .btn_area {
  margin-top: 34px !important;
  text-align: center !important;
}

#undercolumn_contact .btn_area ul {
  display: flex !important;
  justify-content: center !important;
  gap: 14px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#undercolumn_contact input[type="submit"],
#undercolumn_contact .raku2_complete {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 220px !important;
  min-height: 52px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #fff !important;
  background: #ff7040 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  box-shadow: 0 8px 18px rgba(255, 112, 64, .22) !important;
  cursor: pointer !important;
}

/* Contact page minimal tone adjustment */
#undercolumn:has(#undercolumn_contact) {
  width: min(760px, calc(100% - 64px)) !important;
  padding: 44px 0 96px !important;
}

#undercolumn:has(#undercolumn_contact)>h2.title,
#undercolumn:has(#undercolumn_contact) h2.title {
  margin: 0 auto 28px !important;
  padding: 0 0 16px !important;
  border-bottom: 1px solid #d8d8d8 !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: .04em !important;
}

#undercolumn:has(#undercolumn_contact)>h2.title::after,
#undercolumn:has(#undercolumn_contact) h2.title::after {
  width: 54px !important;
  height: 3px !important;
  bottom: -2px !important;
}

#undercolumn_contact>p {
  width: 100% !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.8 !important;
  text-align: left !important;
  letter-spacing: .02em !important;
}

#raku2_contact_form {
  overflow: visible !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  border: 1px solid #ddd !important;
  border-radius: 0 !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
}

#raku2_contact_form th,
#raku2_contact_form td {
  border: 1px solid #ddd !important;
  vertical-align: top !important;
}

#raku2_contact_form tr:first-child th,
#raku2_contact_form tr:first-child td {
  border-top: 1px solid #ddd !important;
}

#raku2_contact_form th {
  width: 190px !important;
  padding: 14px 12px !important;
  color: #222 !important;
  background: #f6f6f6 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  letter-spacing: .02em !important;
}

#raku2_contact_form td {
  padding: 10px 12px !important;
  background: #fff !important;
  font-size: 14px !important;
}

#undercolumn_contact .required_label {
  float: right !important;
  min-width: auto !important;
  height: auto !important;
  margin: 1px 0 0 10px !important;
  padding: 0 !important;
  border-radius: 0 !important;
  color: #ff7040 !important;
  background: transparent !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

#undercolumn_contact input[type="text"],
#undercolumn_contact input[type="email"],
#undercolumn_contact input[type="tel"],
#undercolumn_contact select,
#undercolumn_contact textarea {
  max-width: 386px !important;
  min-height: 28px !important;
  padding: 3px 8px !important;
  border: 1px solid #cfcfcf !important;
  border-radius: 0 !important;
  background: #fffdf0 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .01em !important;
}

#undercolumn_contact textarea {
  max-width: 386px !important;
  min-height: 445px !important;
  padding: 8px !important;
}

#undercolumn_contact input[type="text"]:focus,
#undercolumn_contact input[type="email"]:focus,
#undercolumn_contact input[type="tel"]:focus,
#undercolumn_contact select:focus,
#undercolumn_contact textarea:focus {
  border-color: #25acc1 !important;
  box-shadow: 0 0 0 3px rgba(37, 172, 193, .12) !important;
}

#undercolumn_contact .mini {
  margin-top: 2px !important;
  color: #333 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

#undercolumn_contact .btn_area {
  margin-top: 30px !important;
}

/* Product detail page tone adjustment */
#detailarea {
  color: #333;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}

#detailarea #detail_type_new_a .raku2_product_select_area input:checked+label {
  border-color: none;
  border: none;
}

#detailarea #detail_type_new_a .raku2_product_select_area input[type="radio"]:checked+label::after {
  background: #F95D6C;
}

#detailarea .raku2_product_select_area {
  margin: 0 0 14px;
}

#detailarea .raku2_base_product {
  border: 1px solid #e2ddd8;
  border-radius: 6px;
  background: #fff;
}

#detailarea .raku2_base_product:has(input[type="radio"]:checked) {
  border: 3px solid #ff7040;
  box-shadow: 0 5px 14px rgba(255, 112, 64, .12);
}

#detailarea .raku2_title {
  display: block;
  min-height: 64px;
  padding: 20px 20px 18px 38px;
  color: #333;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
}

#detailarea .raku2_base_product input[type="radio"] {
  margin: 23px 0 0 18px;
  accent-color: #ff7040;
}

#detailarea .raku2_distribution {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14px 24px;
  align-items: start;
  margin-top: 18px;
}

#detailarea .raku2_quantity {
  display: inline-flex;
  gap: 8px;
  align-items: center;
}

#detailarea .raku2_quantity select {
  min-height: 28px;
  border: 1px solid #d9d1ca;
  border-radius: 4px;
  background: #fff;
}

#detailarea .raku2_sale_price_area {
  margin: 0;
  text-align: right;
}

#detailarea .raku2_sale_price_area dt,
#detailarea .raku2_sale_price_area dd {
  margin: 0;
}

#detailarea .raku2_sale_price_area .price {
  color: #333;
  font-weight: 700;
}

#detailarea .raku2_sale_price_area .price span[id*="price"],
#detailarea .raku2_sale_price_area .price span[id*="teiki"] {
  color: #5b4638;
  font-size: 24px;
  font-weight: 900;
}

#detailarea .raku2_deliv_fee_area,
#detailarea .raku2_lower_text {
  grid-column: 1 / -1;
  color: #5b4638;
  font-size: 13px;
  font-weight: 700;
  text-align: right;
}

#detailarea .raku2_icon span {
  border-radius: 5px;
  color: #fff;
  background: #ff7040 !important;
  font-size: 12px;
  font-weight: 900;
}

#detailarea .btn_add_cart a,
#detailarea .favorite_btn a {
  text-decoration: none;
}

#main_column.colnum1 #detailleftbloc {
    width: 45%;
}

#detailarea .raku2_image_lower_wrapper .photo img {
    border: none;
}

#detailarea .raku2_image_lower_wrapper .raku2_sub_image_container .sub_photo img {
    border: none;
}

#detailarea .btn_add_cart #cart {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  margin: 16px 0 10px;
  border: 0;
  border-radius: 6px;
  color: #fff;
  background: #ff7040;
  font-size: 16px;
  font-weight: 900;
  letter-spacing: .08em;
  /* box-shadow: 0 5px 0 rgba(255, 112, 64, .22); */
}

#detailarea .favorite_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid #d9d1ca;
  border-radius: 5px;
  color: #5b4638;
  background: #fffdf9;
  font-weight: 700;
}

#ins_display_caption_pc table {
  width: 100% !important;
  margin: 30px auto 0;
  border: 1px solid #e1d8d0;
  border-collapse: collapse;
  color: #333;
  background: #fff;
  font-size: 14px !important;
  line-height: 1.9;
}

#ins_display_caption_pc td {
  padding: 13px 16px !important;
  border: 1px solid #e1d8d0;
  vertical-align: middle;
}

#ins_display_caption_pc td:first-child {
  width: 28% !important;
  color: #5b4638;
  background: #fff7f2;
  font-weight: 900;
}

/* Product detail radio alignment hardening */
#detailarea .raku2_base_product {
  position: relative;
}

#detailarea .raku2_base_product input[type="radio"] {
  position: absolute;
  left: 16px;
  top: 22px;
  margin: 0;
}

#detailarea .raku2_base_product:has(input[type="radio"]:checked) {
  border-color: #ff7040 !important;
}

#detailarea .btn_add_cart #cart {
  background: #ff7040 !important;
}

#detailarea .favorite_btn a {
  border-color: #d9d1ca !important;
  color: #5b4638 !important;
}
/* Product detail fixed link buttons */
#fixed_link {
  right: 24px !important;
  bottom: 24px !important;
  z-index: 50 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

#fixed_link li {
  margin: 0 0 10px !important;
  padding: 0 !important;
}

#fixed_link li:last-child {
  margin-bottom: 0 !important;
}

#fixed_link a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 190px !important;
  min-height: 54px !important;
  padding: 0 20px !important;
  border: 0 !important;
  border-radius: 6px !important;
  color: #fff !important;
  background: #5b4638 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
  line-height: 1.4 !important;
  letter-spacing: .03em !important;
  text-align: center !important;
  text-decoration: none !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

#fixed_link a:hover {
  opacity: .88 !important;
}

#fixed_link #btn_cart {
  background: #ff7040 !important;
}



/* Hide duplicated cart tax notice outside form */
#undercolumn_cart {
  font-size: 0 !important;
}

#undercolumn_cart > h2,
#undercolumn_cart > p,
#undercolumn_cart > .form_area {
  font-size: 16px !important;
}
