@charset "UTF-8";
@import url(https://fonts.googleapis.com/css?family=Roboto:300,400,700);
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&display=swap");
html {
  font-size: 62.5%; }

body {
  font-size: 1.3em;
  background: #fff;
  color: #222; }

body img[width="1"] {
  vertical-align: bottom; }

img {
  -webkit-backface-visibility: hidden; }

div,
p,
h1,
h2,
h3,
h4,
h5,
h6,
span,
ul,
li,
ol,
dl,
dt,
dd {
  box-sizing: border-box; }

.M_alignC {
  text-align: center; }

.M_alignL {
  text-align: left; }

@media screen and (max-width: 980px) {
  td[width="640"] {
    width: auto; } }
/*============================
font
============================*/
body {
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  overflow: hidden;
  min-width: 980px; }

@media screen and (max-width: 980px) {
  body {
    min-width: auto; } }
a {
  text-decoration: none;
  color: inherit; }

a:link {
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

a:visited {
  text-decoration: none; }

.lp-osonae {
  margin: auto;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif; }

.land-title {
  width: 100%;
  margin: 0 auto 3rem auto; }

.land-title .titleimage {
  position: relative;
  margin: auto;
  padding: 0 0 0 0; }

.land-title .titleimage:before {
  content: "";
  position: absolute;
  display: block;
  width: 1013px;
  height: 449px;
  top: calc(-30px - var(--overlap));
  /* đẩy họa tiết lấn lên */
  left: 0;
  right: 0;
  z-index: -1;
  margin: auto;
  transform: translateX(20%);
  mix-blend-mode: multiply; }

.land-title .titleimage h2 {
  margin: 0;
  width: 100%;
  text-align: center;
  background-color: #E8E6FB; }

.land-title .subtitle {
  background: #0092c3;
  width: 100%;
  text-align: center; }

.land-title .title-sub {
  background: #623632;
  padding: 2.5em;
  text-align: center; }

.land-title .mokuji {
  width: 400px;
  margin: auto;
  color: #fff; }

.land-title .mokuji .heading {
  text-align: center;
  font-size: 1.8em;
  font-weight: bold;
  letter-spacing: 0.2em;
  margin-bottom: 0.8em; }

.land-title .mokuji .heading:before {
  content: "―";
  margin-right: 0.7em;
  font-weight: normal; }

.land-title .mokuji .heading:after {
  content: "―";
  margin-left: 0.7em;
  font-weight: normal; }

.land-title .mokuji dl li {
  text-align: left;
  font-size: 1.2em;
  margin-bottom: 0.7em;
  letter-spacing: 0.15em;
  border-bottom: solid 1px rgba(255, 255, 255, 0.2); }

.land-title .mokuji dl li a {
  text-decoration: none;
  display: block;
  padding: 0.2em 0;
  transition-duration: 0.1s; }

.land-title .mokuji dl li a:hover {
  opacity: 0.8;
  padding-left: 0.5em; }

.land-sf {
  width: 980px;
  margin: 0 auto 2rem auto;
  display: flex;
  justify-content: space-between; }

.land-gs {
  width: 980px;
  margin: 0 auto 2rem auto;
  display: flex;
  justify-content: space-between; }

.land-gs a {
  text-decoration: none; }

.land-gs span {
  display: block;
  border: solid 1px #dddddd;
  padding: 0.5em;
  text-align: center;
  margin: 0.5em 0 0 0;
  border-radius: 0.3em;
  color: #666; }

.land-gs span:hover {
  background: #eee; }

.land-intro {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 6rem 1rem;
  background: #fff;
  box-sizing: border-box; }

.land-intro .intro-box {
  max-width: 1100px;
  /* Giới hạn chiều rộng khối */
  max-height: 800px;
  text-align: left;
  border: 1px solid #ddd;
  border-radius: 8px;
  padding: 3rem 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  background-image: url(../img/introhaikei.png);
  background-repeat: no-repeat;
  /* tránh lặp */
  background-size: 100% 100%;
  /* chiều ngang và cao đều khớp với box */
  background-position: center; }

/* =========================
   Tablet: 768px–1200px
   ========================= */
.land-intro .intro-text {
  font-family: 'Shippori Mincho', 'Noto Serif JP', 'Yu Mincho', serif;
  font-size: 1.6rem;
  line-height: 2.1;
  letter-spacing: 0.05em;
  color: #333;
  margin-bottom: 2rem;
  text-indent: 1.5em;
  font-weight: 800; }

.land-intro .intro-highlight {
  font-family: 'Noto Serif JP', serif;
  font-size: 1.7rem;
  color: #4b3f84;
  font-weight: 600;
  text-align: center;
  line-height: 2;
  margin: 2rem 0;
  border-top: 1px dashed #b6b0d6;
  border-bottom: 1px dashed #b6b0d6;
  padding: 1rem 0; }

/* ===== LAND INTRO — mobile ≤425px ===== */
@media (max-width: 425px) {
  /* 1) Khung ngoài */
  .land-intro {
    padding: 24px 12px;
    -webkit-text-size-adjust: 100%;
    /* iOS không tự phóng chữ */ }

  /* 2) Về 1 cột & vô hiệu hoá layout cũ (grid/flex/float/column) */
  .land-intro * {
    box-sizing: border-box; }

  .land-intro [style*="grid"],
  .land-intro [style*="flex"],
  .land-intro .grid,
  .land-intro .flex {
    display: block !important; }

  .land-intro [class*="row"],
  .land-intro [class*="col"],
  .land-intro [style*="float"] {
    float: none !important;
    width: 100% !important;
    max-width: 100% !important; }

  .land-intro [style*="column"] {
    column-count: 1 !important;
    column-gap: 0 !important; }

  /* 3) Hộp nội dung chính */
  .land-intro .intro-box {
    width: 100% !important;
    max-height: none !important;
    padding: 16px 14px 18px;
    border-radius: 12px;
    border: 1px solid #eceaf7;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.06);
    background: #fff !important;
    background-image: none !important;
    /* bỏ hoạ tiết nền */
    overflow: visible; }

  .land-intro .intro-box::before,
  .land-intro .intro-box::after {
    content: none !important;
    display: none !important; }

  /* 4) Ẩn <br> chỉ trong khu vực này
        và đảm bảo xuống dòng tự nhiên */
  .land-intro br {
    display: none !important; }

  .land-intro {
    white-space: normal; }

  /* 5) Typography cho đoạn văn (JP/VN) */
  .land-intro .intro-text {
    /* Giới hạn chiều rộng dòng để dễ đọc
       (dùng cả inline-size & width fallback) */
    max-inline-size: 32ch;
    max-width: 32ch;
    margin-inline: auto;
    font-size: 1.45rem;
    line-height: 1.9;
    letter-spacing: .02em;
    text-indent: 1em;
    text-align: start;
    text-wrap: balance;
    overflow-wrap: anywhere;
    /* phòng trường hợp có chuỗi dài */
    line-break: strict;
    /* tiếng Nhật gọn gàng hơn */ }

  /* 6) Khối highlight có gạch đứt hai đầu */
  .land-intro .intro-highlight {
    max-inline-size: 32ch;
    max-width: 32ch;
    margin: 16px auto;
    padding: 10px 4px 12px;
    border-top: 1px dashed #bfc0df;
    border-bottom: 1px dashed #bfc0df;
    text-align: center;
    font-size: 1.42rem;
    line-height: 1.45;
    /* tăng thoáng so với bản trước */
    letter-spacing: .02em;
    font-weight: 600; }

  /* 7) Khoảng cách giữa các đoạn */
  .land-intro .intro-text + .intro-text {
    margin-top: 12px; }

  /* 8) Ảnh/khối phụ nếu có: full width, cách chữ hợp lý */
  .land-intro img, .land-intro figure, .land-intro .media {
    display: block;
    width: 100%;
    height: auto;
    margin: 12px auto;
    border-radius: 8px; } }
/* Màn rất nhỏ ≤360px: tinh chỉnh nhẹ */
@media (max-width: 360px) {
  .land-intro .intro-text,
  .land-intro .intro-highlight {
    max-inline-size: 50ch;
    /* nới nhẹ để đỡ dồn dòng */
    max-width: 40ch; }

  .land-intro .intro-text {
    font-size: 12px; }

  .land-intro .intro-highlight {
    font-size: 1.36rem;
    line-height: 1.5; }

  .land-intro .intro-text {
    font-weight: 200; } }
.land-menulink {
  margin-bottom: 5rem; }

.land-menulink p {
  text-align: center;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  font-size: 24px;
  font-weight: bold;
  letter-spacing: 0.3em;
  color: #222;
  margin-bottom: 1rem; }

.land-menulink .nav {
  width: 980px;
  background: #fdfdfd;
  border: solid 1px #eee;
  margin: auto;
  display: flex;
  justify-content: center;
  box-shadow: 0 1px 1px #ddd; }

.land-menulink .nav li {
  font-size: 18px;
  flex-grow: 1;
  transition-duration: 0.2s; }

.land-menulink .nav li a {
  text-align: center;
  display: block;
  padding: 2.3rem 3rem;
  color: #444;
  background: url(../img/arrow_down.svg) no-repeat center 88%;
  background-size: auto 13%;
  border-left: solid 1px #eee;
  text-decoration: none;
  transition-duration: 0.2s; }

.land-menulink .nav li a:hover {
  background: url(../img/arrow_down.svg) no-repeat center 91%;
  background-size: auto 13%;
  color: #fff; }

.land-menulink .nav li:hover {
  background: #666; }

.land-menulink .nav li:first-child a {
  border: none; }

/* ---10--- */
@media (min-width: 769px) and (max-width: 1024px) {
  .land-menulink .nav {
    display: flex;
    flex-wrap: nowrap;
    /* luôn 1 hàng như PC */
    justify-content: space-between;
    /* giãn đều */
    gap: 8px;
    /* tùy chọn */
    width: 100%;
    max-width: 100%;
    box-shadow: none; }

  /* mỗi mục chiếm đều bề rộng hàng */
  .land-menulink .nav > * {
    flex: 0 0 calc(100% / 6);
    /* đổi 6 theo số mục của bạn */ }

  /* thu nhỏ kích thước tag nav */
  .land-menulink .nav a {
    font-size: clamp(14px, 1.4vw, 16px);
    /* co giãn theo viewport */
    padding: 10px 8px;
    /* nhỏ hơn PC */
    line-height: 1.2;
    white-space: nowrap;
    /* tránh xuống dòng trong từng tag */ } }
/* <=--------------------------- 768px------------------------------------------------------------ */
/*-------------------------------------479Px------------------- */
@media (max-width: 768px) {
  .land-menulink {
    display: none !important; } }
@keyframes fadein {
  0% {
    transform: translate(0, -100%); }
  100% {
    transform: translate(0, 0); } }
.section {
  margin-bottom: 15rem; }

.land-heading02 {
  background-color: #0092c3;
  background-image: url(../img/lp-hatsubon_heading-bgptn.png);
  position: relative;
  height: 400px;
  margin-bottom: 6rem; }

.land-heading02 .sec-heading-img {
  position: absolute;
  top: 0;
  left: 50%;
  width: 600px;
  height: 400px; }

.land-heading02 .sec-heading-text {
  position: absolute;
  width: 490px;
  right: 50%;
  top: 50%;
  transform: translate(0, -50%);
  padding: 2rem 3rem 3rem 3rem; }

.land-heading02 .sec-heading-text h3 {
  text-align: center;
  position: relative;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  text-align: center;
  color: #fff;
  font-size: 45px;
  letter-spacing: 0.05em;
  text-align: center; }

.land-heading02 .sec-heading-text h3 span {
  font-size: 22px;
  display: block;
  margin-bottom: 0.8rem;
  letter-spacing: 0.25em; }

.land-heading02 .sec-heading-text hr {
  border: none;
  width: 70px;
  height: 1px;
  background: #fff;
  margin: 2.5rem auto; }

.land-heading02 .sec-heading-text p {
  padding: 0 2rem;
  color: #fff;
  line-height: 1.8;
  font-size: 14px; }

.land-heading02 .adv {
  position: absolute;
  top: -2em;
  left: 50%;
  display: block;
  width: 980px;
  transform: translate(-50%, 0); }

.land-recolist .recolist-heading {
  text-align: center;
  margin: 6em 0 5em 0;
  padding: 0;
  position: relative; }

.land-recolist .recolist-heading .decoimg01 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 580px;
  margin: auto;
  height: 130px; }

.land-recolist .recolist-heading .decoimg02 {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 580px;
  right: 0;
  margin: auto;
  height: 130px; }

.land-recolist .listwrapper {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 1em auto;
  width: 1080px; }

.land-recolist .listwrapper .listhead {
  width: 220px;
  min-width: 220px;
  margin: 0 2.8em 0 0;
  background: #e57f2c;
  border-radius: 0.3em; }

.land-recolist .listwrapper .listhead .listhead-inner {
  color: #fff;
  background: linear-gradient(to bottom right, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.05) 50%);
  height: 100%;
  padding: 1.5em;
  box-sizing: border-box; }

.land-recolist .listwrapper .listhead .listname {
  font-size: 1.6em;
  line-height: 1.4;
  letter-spacing: 0.05em;
  margin-bottom: 1em;
  font-weight: bold; }

.land-recolist .listwrapper .listhead .desc {
  border-top: dotted 1px #fff;
  padding: 0.5em 0; }

.land-recolist .listwrapper .listhead .headbtn {
  margin: 2em 0 0 0;
  border: solid 1px #fff;
  border-radius: 0.5em;
  text-align: center; }

.land-recolist .listwrapper .listhead .headbtn a {
  text-decoration: none;
  display: block;
  padding: 1em;
  font-size: 14px; }

.land-recolist .listwrapper .listhead .headbtn a:hover {
  background: rgba(255, 255, 255, 0.1); }

.land-recolist .listwrapper .itemlist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }

.land-recolist .listwrapper .itemlist li {
  width: 31%;
  margin: 0 0 7em 0; }

.land-recolist .listwrapper .itemlist li a {
  text-decoration: none;
  display: block; }

.land-recolist .listwrapper .itemlist li .icatch {
  margin: 0 0.4em 0.4em 0.4em; }

.land-recolist .listwrapper .itemlist li .icatch span {
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  display: block;
  color: #444;
  text-align: center;
  padding: 0.6em 0 0.7em 0;
  line-height: 1;
  letter-spacing: 0.1em;
  font-size: 18px;
  font-weight: bold;
  border-radius: 0.3em;
  white-space: nowrap; }

.land-recolist .listwrapper .itemlist li .itemname {
  color: #222;
  font-size: 1.15em;
  margin-bottom: 0.6em;
  line-height: 1.3;
  height: 2.5em; }

.land-recolist .listwrapper .itemlist li .desc {
  font-size: 1em;
  font-weight: 200;
  padding: 0;
  color: #551a1a; }

.land-recolist .listwrapper .itemlist li .tag {
  margin-bottom: 0;
  display: flex; }

.land-recolist .listwrapper .itemlist li .tag span {
  flex-grow: 1;
  display: block;
  padding: 0.6em 0.7em;
  color: #fff;
  background: linear-gradient(to bottom, #ffbe1a 50%, #ffb700 50%);
  color: #4c2b0a;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  font-size: 17px;
  font-weight: bold;
  margin-top: 5px;
  margin-right: 0.3em;
  letter-spacing: 0.08em;
  line-height: 1.1;
  text-align: center;
  border-radius: 0.1em; }

.land-recolist .listwrapper .itemlist li .tag span:nth-child(even) {
  color: #fff;
  background: linear-gradient(to bottom, #ffab1a 50%, #ffa200 50%);
  color: #4c2b0a; }

.land-recolist .listwrapper .itemlist li .tag span:nth-child(n+3) {
  display: none; }

.land-recolist .listwrapper .itemlist li .tag span br {
  display: none; }

.land-recolist .listwrapper .itemlist li .img {
  margin-bottom: 0.6em;
  border: solid 1px #ddd;
  padding: 5px;
  border-radius: 0.3em; }

.land-recolist .listwrapper .itemlist li .img img {
  width: 100%; }

.land-recolist .listwrapper .itemlist li .price {
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  margin-bottom: 0.2em;
  color: #b80404;
  text-align: center;
  font-size: 1em;
  line-height: 1;
  padding: 1.5rem 0 1.5rem 0; }

.land-recolist .listwrapper .itemlist li .price b {
  font-size: 1.8em; }

.land-recolist .listwrapper .itemlist li .btn {
  background: #b80404;
  color: #fff;
  text-align: center;
  padding: 0.8em 0.5em;
  border-radius: 0.3em;
  font-size: 17px;
  line-height: 1; }

.land-recolist .listwrapper .itemlist li.-col2 {
  width: 47%;
  margin: 0 0 6em 0; }

.land-recolist .listwrapper .itemlist li.-col2 .itemname {
  font-size: 1.3em;
  margin-bottom: 0.4em; }

.land-recolist .listwrapper .itemlist li.-col2 .desc {
  font-size: 1em;
  display: block;
  color: #551a1a;
  margin-bottom: 0.8em;
  line-height: 1.5;
  letter-spacing: 0.06em; }

.land-recolist .listwrapper .itemlist li.-col2 .tag span {
  font-size: 1.1em; }

.land-recolist .listwrapper .itemlist li.-col2 .price {
  font-size: 1.4em; }

.land-recolist .listwrapper .itemlist li.-col4 {
  width: 22%;
  margin: 0 0 3em 0; }

.land-recolist .listwrapper .itemlist li.-col4 .icatch {
  display: none; }

.land-recolist .listwrapper .itemlist li.-col4 .tag span {
  font-size: 1em; }

.land-recolist .lastbtn {
  text-align: center; }

.land-recolist .lastbtn a {
  display: inline-block;
  padding: 1em 5em;
  color: #fff;
  background: #333;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.08em;
  border-radius: 0.2em; }

.land-recolist .lastbtn a:hover {
  background: #555; }

/* 768px ~ 1024px: chỉnh layout & phần giá cho khối sản phẩm */
@media screen and (min-width: 768px) and (max-width: 1024px) {
  /* khung chung: thu chiều ngang 1 chút cho cân với màn hình */
  .land-recolist .listwrapper {
    width: 94vw;
    max-width: 960px;
    margin: 0 auto 3rem;
    padding: 0 8px; }

  /* mỗi item là 1 card dọc, nút luôn dính đáy */
  .land-recolist .listwrapper .itemlist li {
    width: 31%;
    margin: 0 0 4em 0;
    display: flex;
    flex-direction: column; }

  /* tên & mô tả gọn hơn, giúp card đều nhau */
  .land-recolist .listwrapper .itemlist li .itemname {
    font-size: 1.2rem;
    line-height: 1.4;
    min-height: 3.0em;
    /* giữ độ cao tương đối bằng nhau */ }

  .land-recolist .listwrapper .itemlist li .desc {
    font-size: 1.1rem;
    line-height: 1.6;
    min-height: 4.2em;
    /* 2–3 dòng, không bị thấp/quá cao */ }

  /* tag vàng phía trên giá – thu chữ một chút */
  .land-recolist .listwrapper .itemlist li .tag span {
    font-size: 1.3rem;
    padding: 0.5em 0.4em; }

  /* ===== GIÁ (price) – THU NHỎ & CÂN LẠI ===== */
  .land-recolist .listwrapper .itemlist li .price {
    font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
    color: #b80404;
    text-align: center;
    font-size: 1.3rem;
    /* nhỏ hơn một chút so với PC */
    line-height: 1.4;
    padding: 1rem 0 1rem;
    /* trước 1.5rem → mảng đỏ mỏng hơn */ }

  .land-recolist .listwrapper .itemlist li .price b {
    display: block;
    font-size: 1.6em;
    /* trước 1.8em → số tiền bớt “hét” */
    margin-top: 0.2em; }

  /* nút đặt hàng luôn sát đáy card để các khối cân */
  .land-recolist .listwrapper .itemlist li .btn {
    margin-top: auto;
    font-size: 1.5rem;
    padding: 0.9em 0.4em; } }
@media screen and (max-width: 767px) {
  .land-recolist .lastbtn a {
    font-size: 13px; } }
.land-recolist .subnav-btn {
  text-align: center;
  margin: 2em 0 3em 0; }

.land-recolist .subnav-btn a {
  display: inline-block;
  padding: 1em 3em;
  margin: 0 0.5em;
  color: #222;
  background: #ddd;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.08em;
  border-radius: 0.2em; }

.land-recolist .subnav-btn a:hover {
  background: #ccc; }

.land-recolist .subnav-btn .heading-subnav {
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  text-align: center;
  font-size: 2em;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin: 0 0 1em 0; }

.land-pricelist {
  padding: 0 0 10rem 0; }

.land-pricelist .heading-pricelist {
  background-image: url(../img/lp-hatsubon_heading-bgptn.png);
  background-color: #0f6abf;
  margin-bottom: 5rem;
  padding: 5rem; }

.land-pricelist .heading-pricelist p {
  color: #fff;
  max-width: 700px;
  margin: auto;
  font-size: 16px; }

.land-pricelist h3 {
  text-align: center;
  font-size: 40px;
  color: #fff;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin-bottom: 2rem; }

.land-pricelist h3 span {
  display: block;
  font-size: 26px;
  margin-bottom: 1rem;
  letter-spacing: 0.2em; }

.land-pricelist .listwrapper {
  margin: 0 auto 3em auto !important; }

.land-pricelist .listname {
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif !important;
  font-weight: 200 !important;
  font-size: 28px !important; }

.land-pricelist .itemlist li {
  border: solid 1px #eee;
  background: #eee;
  width: 23% !important;
  margin: 0 0 3em 0 !important; }

.land-pricelist .itemlist .img {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important; }

.land-pricelist .itemlist .icatch {
  display: none; }

.land-pricelist .itemlist .itemname {
  font-weight: normal !important;
  font-size: 13px !important;
  height: auto !important;
  padding: 0 1em; }

.land-pricelist .itemlist .desc {
  display: none; }

.land-pricelist .itemlist .tag {
  padding: 0 5px; }

.land-pricelist .itemlist .tag span {
  font-size: 14px !important;
  margin: 1px !important;
  border-radius: 0 !important;
  background: #cc0000 !important;
  color: #fff !important; }

.land-pricelist .itemlist .price b {
  font-size: 1.5em !important; }

.land-pricelist .itemlist .btn {
  display: none; }

.land-aisatujo {
  background: #f4eded;
  padding: 7rem 0 10rem 0; }

.land-aisatujo h3 {
  text-align: center;
  margin-bottom: 5rem; }

.land-aisatujo .textwrap {
  display: flex;
  width: 820px;
  margin: auto; }

.land-aisatujo .textwrap dl {
  width: 50%;
  padding: 0 3em; }

.land-aisatujo .textwrap dl:first-child {
  border-right: dashed 1px #6c4242; }

.land-aisatujo .textwrap dl dt {
  text-align: center;
  font-size: 20px;
  color: #4f3030;
  margin-bottom: 2.5rem;
  letter-spacing: 0.1em; }

.land-aisatujo .textwrap dl dt:before {
  content: "―";
  margin-right: 0.5em; }

.land-aisatujo .textwrap dl dt:after {
  content: "―";
  margin-left: 0.5em; }

.land-aisatujo .textwrap dl dd {
  font-size: 14px;
  color: #4f3030;
  line-height: 1.8; }

.land-aisatujo .textwrap dl dd em {
  font-size: 0.8em; }

.land-osonae-aisatujo {
  padding: 7rem 0 10rem 0;
  background: #eeedf4; }

.land-osonae-aisatujo h3 {
  text-align: center;
  font-size: 40px;
  color: #48416c;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin-bottom: 4rem; }

.land-osonae-aisatujo h3 span {
  display: block;
  font-size: 26px;
  margin-bottom: 1rem;
  letter-spacing: 0.2em; }

.land-osonae-aisatujo .chumonhouhou {
  max-width: 950px;
  padding: 2em 4em;
  margin: 0 auto 5rem auto;
  border-bottom: dashed 1px #48416c; }

.land-osonae-aisatujo .chumonhouhou h4 {
  text-align: center;
  font-size: 24px;
  margin-bottom: 1rem;
  color: #48416c; }

.land-osonae-aisatujo .chumonhouhou h4:before {
  content: "―";
  margin-right: 0.5em; }

.land-osonae-aisatujo .chumonhouhou h4:after {
  content: "―";
  margin-left: 0.5em; }

.land-osonae-aisatujo .chumonhouhou p {
  color: #48416c;
  margin-bottom: 2em; }

.land-osonae-aisatujo .textwrap {
  display: flex;
  justify-content: center;
  max-width: 950px;
  margin: auto; }

.land-osonae-aisatujo .textwrap dl {
  max-width: 50%;
  min-width: 45%;
  padding-left: 2.5em; }

.land-osonae-aisatujo .textwrap dl:first-child {
  padding: 0; }

.land-osonae-aisatujo .textwrap dl dt {
  text-align: center;
  font-size: 24px;
  margin-bottom: 2rem;
  color: #48416c; }

.land-osonae-aisatujo .textwrap dl dt:before {
  content: "―";
  margin-right: 0.5em; }

.land-osonae-aisatujo .textwrap dl dt:after {
  content: "―";
  margin-left: 0.5em; }

.land-osonae-aisatujo .textwrap dl dd {
  color: #48416c;
  display: flex;
  align-items: center; }

.land-osonae-aisatujo .textwrap dl dd .img {
  width: 32%; }

.land-osonae-aisatujo .textwrap dl dd .img img {
  width: 100%;
  height: 100%;
  box-shadow: 2px 2px 6px #ddd; }

.land-osonae-aisatujo .textwrap dl dd .txt {
  padding-left: 2em; }

.land-osonae-nosi {
  padding: 10rem 0 10rem 0; }

.land-osonae-nosi h3 {
  text-align: center;
  font-size: 40px;
  color: #48416c;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif;
  letter-spacing: 0.1em;
  margin-bottom: 5rem; }

.land-osonae-nosi h3 span {
  display: block;
  font-size: 26px;
  margin-bottom: 1rem;
  letter-spacing: 0.2em; }

.land-osonae-nosi .nosi-img {
  text-align: center;
  margin-bottom: 1rem; }

.land-osonae-nosi .textwraposonae {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 1080px;
  margin: auto;
  padding: 0 20px;
  gap: 2rem;
  flex-wrap: nowrap;
  overflow-x: auto; }

/* ===== Tiêu đề section ===== */
.land-osonae-nosi .nosi-head {
  display: flex;
  max-width: 1080px;
  margin: 0 auto 24px;
  padding: 0 20px;
  text-align: center;
  color: #48416c;
  justify-content: center; }

.land-osonae-nosi .nosi-head .nosi-eyebrow {
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  /* giãn chữ nhẹ giống ảnh */
  opacity: .85; }

.land-osonae-nosi .nosi-head .nosi-title {
  margin: 0;
  font-size: 2.0rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.35; }

/* Trang trí 2 gạch hai bên chữ chính */
.land-osonae-nosi .nosi-head .nosi-title > span {
  position: relative;
  display: inline-block;
  padding: 0 1.2em;
  /* chừa chỗ cho gạch hai bên */ }

.land-osonae-nosi .nosi-head .nosi-title > span::before,
.land-osonae-nosi .nosi-head .nosi-title > span::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.2em;
  /* độ dài gạch */
  height: 1px;
  background: currentColor;
  /* lấy màu chữ */
  transform: translateY(-50%); }

.land-osonae-nosi .nosi-head .nosi-title > span::before {
  left: 0;
  transform: translate(-110%, -50%); }

.land-osonae-nosi .nosi-head .nosi-title > span::after {
  right: 0;
  transform: translate(110%, -50%); }

/* ===== Responsive cho tiêu đề ===== */
@media screen and (max-width: 980px) {
  .land-osonae-nosi .nosi-head {
    padding: 0 10px;
    margin-bottom: 20px; }

  .land-osonae-nosi .nosi-head .nosi-eyebrow {
    font-size: 1.05rem; }

  .land-osonae-nosi .nosi-head .nosi-title {
    font-size: 1.7rem; }

  .land-osonae-nosi .nosi-head .nosi-title > span::before,
  .land-osonae-nosi .nosi-head .nosi-title > span::after {
    width: 2em; } }
@media screen and (max-width: 760px) {
  .land-osonae-nosi .nosi-head .nosi-title {
    font-size: 1.5rem; } }
@media screen and (max-width: 479px) {
  .land-osonae-nosi .nosi-head {
    margin-bottom: 16px; }

  .land-osonae-nosi .nosi-head .nosi-eyebrow {
    font-size: 1rem; }

  .land-osonae-nosi .nosi-head .nosi-title {
    font-size: 1.35rem; }

  .land-osonae-nosi .nosi-head .nosi-title > span {
    padding: 0 .8em; }

  .land-osonae-nosi .nosi-head .nosi-title > span::before,
  .land-osonae-nosi .nosi-head .nosi-title > span::after {
    width: 1.6em; } }
/* Từng khối item */
.land-osonae-nosi .textwraposonae li {
  flex: 0 0 32%;
  min-width: 300px;
  background: #fff;
  padding: 1rem;
  box-sizing: border-box; }

/* Ảnh */
.land-osonae-nosi .textwraposonae .nosi-img img {
  display: block;
  width: 100%;
  height: auto;
  margin-bottom: 1rem; }

/* Tiêu đề */
.land-osonae-nosi .textwraposonae .nosi-ttl {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 600;
  color: #48416c;
  margin-bottom: 1rem;
  position: relative;
  letter-spacing: 0.05em; }

.land-osonae-nosi .textwraposonae .nosi-ttl::before {
  content: "―";
  margin-right: 0.5em; }

.land-osonae-nosi .textwraposonae .nosi-ttl::after {
  content: "―";
  margin-left: 0.5em; }

/* Nội dung */
.land-osonae-nosi .textwraposonae .nosi-txt {
  color: #48416c;
  font-size: 1.4rem;
  line-height: 1.7;
  text-align: left;
  padding-left: 2rem; }

@media screen and (max-width: 980px) {
  .land-osonae-nosi .textwraposonae {
    gap: 1.5rem;
    padding: 0 10px; }

  .land-osonae-nosi .textwraposonae li {
    min-width: 250px;
    flex: 0 0 31%;
    padding: 0.8rem; }

  .land-osonae-nosi .textwraposonae .nosi-ttl {
    font-size: 1.2rem; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.2rem;
    padding-left: 1.5rem; } }
/* Khi màn hình ≤ 760px: tiếp tục thu nhỏ, vẫn 3 cột ngang */
@media screen and (max-width: 760px) {
  .land-osonae-nosi .textwraposonae {
    gap: 1rem; }

  .land-osonae-nosi .textwraposonae li {
    min-width: 220px;
    flex: 0 0 30%;
    padding: 0.6rem; }

  .land-osonae-nosi .textwraposonae .nosi-ttl {
    font-size: 1.1rem; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.1rem;
    padding-left: 1rem; } }
/* Khi màn hình ≤ 479px: đổi sang layout 1 cột */
@media screen and (max-width: 584px) {
  .land-osonae-nosi .textwraposonae {
    flex-direction: column;
    align-items: center;
    gap: 2rem; }

  .land-osonae-nosi .textwraposonae li {
    width: 90%;
    min-width: auto;
    flex: 0 0 auto; }

  .land-osonae-nosi .textwraposonae .nosi-ttl {
    font-size: 1.3rem; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.3rem;
    padding-left: 0;
    text-align: center; } }
.land .land-column {
  padding-top: 4em; }

.land .land-column h3 {
  text-align: center;
  font-size: 2.4em;
  letter-spacing: 0.2em;
  color: #333;
  margin-bottom: 1em; }

.land .land-column h3:before {
  content: "―";
  font-weight: normal;
  margin-right: 1em; }

.land .land-column h3:after {
  content: "―";
  font-weight: normal;
  margin-left: 1em; }

.land .land-column .article {
  width: 800px;
  margin: auto;
  font-size: 1.4em;
  letter-spacing: 0.1em;
  color: #333;
  margin-bottom: 4em; }

.land .land-column .article .cbody h4 {
  background: darkkhaki;
  color: #fff;
  padding: 1em 2em;
  font-size: 1.2em;
  margin-bottom: 1em; }

.land .land-column .article .cbody p {
  padding: 0 1em;
  margin-bottom: 2em;
  line-height: 1.8;
  font-weight: 300; }

.land .land-column .article .cbody h5 {
  text-align: center;
  font-size: 1.2em;
  border-radius: 0.3em;
  margin-bottom: 1em;
  font-weight: 500; }

.land .land-column .article .cbody h5:before {
  content: "―";
  font-weight: normal;
  margin-right: 1em; }

.land .land-column .article .cbody h5:after {
  content: "―";
  font-weight: normal;
  margin-left: 1em; }

.land .land-column .article .cbody table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1em; }

.land .land-column .article .cbody table caption {
  color: #9E627E;
  padding: 0.3em; }

.land .land-column .article .cbody table th,
.land .land-column .article .cbody table td {
  border: solid 1px #b18298;
  padding: 1em;
  text-align: center; }

.land .land-column .article .cbody table th {
  background: #9E627E;
  color: #fff; }

.land .land-column .article.-qa {
  border: solid 1px indianred;
  overflow: hidden; }

.land .land-column .article.-qa .q {
  background: indianred;
  border-radius: 0; }

.land .land-column .article.-qa .a {
  padding: 0 2.5em; }

.land.-higan .land-title .titleimage {
  background: url(../img/bg-higan.jpg);
  background-repeat: repeat-x;
  background-position: center bottom;
  background-size: auto 270px;
  mix-blend-mode: multiply; }

.land.-higan .land-title .title-sub {
  background-image: url(../img/bg_pat-10.png); }

.land.-mochuhagaki .land-title {
  margin: 0 auto; }

.land.-mochuhagaki .land-title .titleimage {
  padding: 4em 0 3em 0; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .land-title .titleimage {
    padding: 0 0 0 0; } }
.land.-mochuhagaki .land-title .titleimage h2 img {
  width: 100%;
  max-width: 775px; }

.land.-mochuhagaki .btnarea {
  background-image: url(../img/bg_pat-10.png);
  background-color: #88819e;
  text-align: center;
  padding: 3em; }

.land.-mochuhagaki .btnarea a img {
  width: 100%;
  max-width: 522px;
  height: auto; }

.land.-mochuhagaki .section {
  padding: 5em;
  text-align: center;
  margin: 0; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .section {
    padding: 15px; } }
.land.-mochuhagaki .section h3 {
  text-align: center;
  font-size: 40px;
  display: inline-block;
  border-bottom: solid 6px #88819e;
  padding: 1em 0.5em 0 0.5em;
  margin-bottom: 1em;
  color: #303030; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .section h3 {
    font-size: 30px; } }
@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section h3 {
    font-size: 20px; } }
.land.-mochuhagaki .section .inner {
  text-align: left;
  max-width: 980px;
  border-radius: 0.5em;
  margin: 0 auto;
  padding: 4em; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner {
    padding: 2em; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .inner {
    padding: 1.5em; } }
.land.-mochuhagaki .section .inner img {
  max-width: 100%; }

.land.-mochuhagaki .section .kakaku-big {
  font-size: 30px;
  text-align: center;
  font-weight: bold;
  letter-spacing: 0.1em; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .section .kakaku-big {
    font-size: 24px; } }
@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .kakaku-big {
    font-size: 18px;
    letter-spacing: 0; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .kakaku-big {
    font-size: 14px; } }
.land.-mochuhagaki .section .kakaku-big b {
  display: inline-block;
  border-bottom: solid 2px #cc0000;
  padding: 0 0.5em; }

.land.-mochuhagaki .section .inner02 {
  padding: 0 5em; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .section .inner02 {
    padding: 0 3em; } }
@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 {
    padding: 0 1em; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .inner02 {
    padding: 0; } }
.land.-mochuhagaki .section .inner02 .komidashi {
  font-size: 1.5em;
  border-left: solid 5px #ab9b4f;
  padding: 0.2em 0 0.2em 0.8em;
  margin: 2em 0 0.4em 0; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 .komidashi {
    font-size: 1.4em;
    margin: 1em 0 0.4em 0; } }
.land.-mochuhagaki .section .inner02 p {
  padding: 1em;
  font-size: 1.2em; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 p {
    font-size: 1em; } }
.land.-mochuhagaki .section .inner02 p em {
  display: inline-block;
  padding-top: 0.5em;
  font-size: 0.8em; }

.land.-mochuhagaki .section .inner02 table {
  width: 100%;
  border-collapse: collapse;
  border: solid 1px #ccc; }

.land.-mochuhagaki .section .inner02 table th {
  padding: 1em;
  background: #eee;
  border-bottom: solid 1px #ccc;
  width: 50%;
  text-align: center;
  vertical-align: middle;
  font-size: 1.2em;
  font-weight: normal;
  line-height: 1.8; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 table th {
    font-size: 1em; } }
.land.-mochuhagaki .section .inner02 table th em {
  display: block;
  letter-spacing: 0.5em;
  font-size: 0.9em; }

.land.-mochuhagaki .section .inner02 table th b {
  color: #cc0000; }

.land.-mochuhagaki .section .inner02 table td {
  padding: 1em;
  border-bottom: solid 1px #ccc;
  font-size: 1.2em;
  vertical-align: middle; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 table td {
    font-size: 1em; } }
.land.-mochuhagaki .section .inner02 table td.big {
  text-align: center;
  font-size: 2em;
  color: #cc0000;
  font-weight: bold; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .inner02 table td.big {
    font-size: 1.3em; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .inner02 table td.big {
    font-size: 1.2em; } }
.land.-mochuhagaki .section .inner02 table td em {
  display: block;
  letter-spacing: 0.5em;
  font-size: 0.9em; }

.land.-mochuhagaki .section .inner02 table td b {
  color: #cc0000; }

.land.-mochuhagaki .section .qa {
  max-width: 850px;
  margin: auto;
  text-align: left;
  border: solid 1px #ddd;
  border-radius: 1em;
  padding: 0em; }

@media screen and (max-width: 980px) {
  .land.-mochuhagaki .section .qa {
    margin-bottom: 2em; } }
.land.-mochuhagaki .section .qa div {
  border-bottom: solid 1px #ddd;
  padding: 3em; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .qa div {
    padding: 2em; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .qa div {
    padding: 1.5em; } }
.land.-mochuhagaki .section .qa div:last-child {
  border: none; }

.land.-mochuhagaki .section .qa dt {
  font-size: 2em;
  margin-bottom: 0.8em;
  font-weight: bold;
  position: relative;
  padding: 0 0 0 8%; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .qa dt {
    font-size: 1.4em;
    padding: 0 0 0 50px; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .qa dt {
    font-size: 1.2em;
    padding: 0 0 0 45px; } }
.land.-mochuhagaki .section .qa dt:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "Q";
  margin-right: 0.5em;
  display: inline-block;
  background: #336;
  color: #fff;
  line-height: 1;
  padding: 0.4em;
  border-radius: 0.3em;
  width: 1em;
  font-size: 24px;
  font-weight: normal;
  text-align: center; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .qa dt:before {
    font-size: 20px; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .qa dt:before {
    font-size: 18px; } }
.land.-mochuhagaki .section .qa dd {
  font-size: 1.2em;
  position: relative;
  padding: 0 0 0 8%; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .qa dd {
    font-size: 1.1em;
    padding: 0 0 0 50px; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .qa dd {
    font-size: 1em;
    padding: 0 0 0 45px; } }
.land.-mochuhagaki .section .qa dd:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "A";
  margin-right: 0.5em;
  display: inline-block;
  background: #cc0000;
  color: #fff;
  line-height: 1;
  padding: 0.4em;
  border-radius: 0.3em;
  width: 1em;
  font-size: 24px;
  font-weight: normal;
  text-align: center; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .qa dd:before {
    font-size: 20px; } }
@media screen and (max-width: 479px) {
  .land.-mochuhagaki .section .qa dd:before {
    font-size: 18px; } }
.land.-mochuhagaki .section .qa dd strong {
  font-weight: bold; }

.land.-mochuhagaki .section .qa dd img {
  max-width: 100%; }

.land.-mochuhagaki .section .note {
  border: solid 1px #ddd;
  border-radius: 0.5em;
  padding: 1em 4em 3em 4em; }

@media screen and (max-width: 767px) {
  .land.-mochuhagaki .section .note {
    padding: 1em 2em 2em 2em; } }
/* シンプルレイアウトLP */
.land.-simple .section {
  text-align: center;
  margin: auto; }

.land.-simple .section h2 {
  text-align: center; }

.land.-simple .section img {
  max-width: 100%; }

.D_news {
  background: #fff;
  padding: 4%;
  width: 710px; }

@media screen and (max-width: 980px) {
  .D_news {
    padding: 3%;
    width: calc(100vw - 220px); } }
@media screen and (max-width: 767px) {
  .D_news {
    padding: 3%;
    width: 100vw; } }
.D_news .title-txt {
  font-size: 24px;
  margin-bottom: 0.7em; }

@media screen and (max-width: 767px) {
  .D_news .title-txt {
    margin: 0.5em 0;
    font-size: 18px; } }
.D_news .newsdate {
  margin-bottom: 2.5em; }

@media screen and (max-width: 767px) {
  .D_news .newsdate {
    margin-bottom: 2em; } }
.D_news p {
  margin-bottom: 3em; }

.D_news h3 {
  margin-bottom: 1em; }

.D_news .table01 {
  margin-bottom: 2em; }

.D_news .table01 th,
.D_news .table01 td {
  padding: 1em;
  border: solid 1px #ccc; }

@media screen and (max-width: 767px) {
  .D_news .table01 th,
  .D_news .table01 td {
    font-size: 12px; } }
.D_news .table01 th {
  width: 8em;
  background: #eee;
  font-weight: normal; }

/*他のscssをインポート*/
/* CSS Document */
/*============================
clearFix
============================*/
.itmd-imabari-kumogokochi-textfloatright:after,
.imabari-brandtag:after,
.-textfloatright:after,
.itmd-imglist01 ul:after {
  content: "";
  display: block;
  clear: both; }

#M_itemDetail h4 {
  border-bottom: dotted 1px #666666;
  padding: 0px 0 5px 10px;
  margin: 0px 0 15px 0;
  font-size: 1.2em;
  position: relative; }

#M_itemDetail h4.-type02,
#M_itemDetail .-hikiset h4 {
  border-top: solid 2px #666666;
  padding: 7px 0 7px 10px;
  margin: 50px 0 15px 0; }

#M_itemDetail h4 strong {
  position: absolute;
  top: -26px;
  left: 0;
  background: #666;
  padding: 7px;
  line-height: 1;
  display: inline-block;
  font-size: 12px;
  color: #fff;
  font-weight: normal; }

#M_itemDetail img {
  width: auto;
  max-width: 100%; }

#M_itemDetail p {
  margin-bottom: 30px;
  padding: 0 0 0 0; }

#M_itemDetail .innertext {
  padding: 0 0 0 8px; }

#M_itemDetail p img {
  margin-bottom: 10px; }

#M_itemDetail .is-btmborder-dash-1px-CCC {
  border-bottom-width: 1px;
  border-bottom-style: dashed;
  border-bottom-color: #CCC; }

.itmd-spectable {
  border-collapse: collapse; }

.itmd-spectable th {
  border: 1px solid #BBBBBB;
  background-color: #EEEEEE;
  text-align: center;
  padding: 10px; }

.itmd-spectable td {
  border: 1px solid #BBBBBB;
  padding: 10px; }

#M_itemDetail .itmd-imglist01 {
  margin-bottom: 30px; }

#M_itemDetail .itmd-imglist01 ul {
  zoom: 1; }

#M_itemDetail .itmd-imglist01 li {
  float: left;
  width: 145px;
  padding: 0;
  margin: 0 8px 25px 8px;
  line-height: 1.5; }

#M_itemDetail .itmd-imglist01 li img {
  width: 145px;
  height: 145px;
  border: solid 1px #CCCCCC; }

#M_itemDetail .itmd-imglist01 li span {
  display: block;
  font-size: 0.8em;
  padding-top: 5px; }

#M_itemDetail .itmd-imglist01 li span b {
  display: block;
  font-size: 1.2em; }

#M_itemDetail .itmd-imglist01 li span a {
  text-decoration: underline;
  color: #669900; }

#M_itemDetail .itmd-imglist01.cards li {
  float: left;
  width: 192px;
  padding: 0;
  margin: 0 8px 25px 8px;
  line-height: 1.5; }

#M_itemDetail .itmd-imglist01.cards li img {
  width: 194px;
  height: auto;
  border: none; }

#M_itemDetail .-textfloatright {
  zoom: 1;
  margin: 0 0 40px 0; }

#M_itemDetail .-textfloatright .floattext {
  float: right;
  width: 360px;
  _width: 380px;
  padding: 0 10px 0 5px; }

#M_itemDetail .-textfloatright .floattext .-note {
  display: block;
  font-size: 0.9em; }

#M_itemDetail .-textfloatright .floattext .quote {
  display: block;
  font-size: 0.9em;
  background-color: #F8F9F7;
  padding: 15px; }

#M_itemDetail blockquote {
  font-size: 0.9em;
  background-color: #F8F9F7;
  padding: 15px;
  margin-bottom: 20px; }

#M_itemDetail .-textfloatright img {
  width: 258px;
  height: auto;
  background-color: #fff; }

/*引き出物セットカタログ画像ボーダー枠 */
#M_itemDetail .-hikiset .-textfloatright img {
  width: 250px;
  height: auto;
  border: solid 1px #CCCCCC;
  padding: 3px;
  background-color: #fff; }

#M_itemDetail .-textfloatright .floattext strong {
  padding: 0;
  margin: 0 0 7px 0;
  color: #663333;
  display: block;
  font-size: 1.2em;
  line-height: 1.6; }

/*引き出物せット見出しボーダー点線*/
/*#M_itemDetail .-hikiset .-textfloatright .floattext strong {
	padding: 0 0 10px 0;
	margin: 0 0 10px 0;
	color: #663333;
	border-bottom: dotted 1px #CCCCCC;
	display:block;
	font-size:1.2em;
	line-height:1.6;
	}*/
/* 共通画像リスト2列 */
#M_itemDetail .itmd-imglist-2col {
  margin-bottom: 30px; }

#M_itemDetail .itmd-imglist-2col h5 {
  padding: 0 0 5px 8px; }

#M_itemDetail .itmd-imglist-2col.-hurosiki h5 {
  padding: 0 0 0 10px;
  font-weight: normal;
  margin: 0 0 8px 8px;
  border-left: solid 2px #333333; }

#M_itemDetail .itmd-imglist-2col ul {
  zoom: 1; }

#M_itemDetail .itmd-imglist-2col li {
  float: left;
  width: 309px;
  padding: 0;
  margin: 0 8px 30px 8px;
  line-height: 1.5; }

#M_itemDetail .itmd-imglist-2col li img {
  width: 307px;
  height: auto;
  border: solid 1px #CCCCCC; }

#M_itemDetail .itmd-imglist-2col li span {
  display: block;
  font-size: 0.8em;
  padding-top: 5px; }

#M_itemDetail .itmd-imglist-2col li span b {
  display: block;
  font-size: 1.2em; }

#M_itemDetail .itmd-imglist-2col li span a {
  text-decoration: underline;
  color: #669900; }

/* imgblock - 画像を隙間無く敷き詰める　2列タイプ */
#M_itemDetail .-imgblock-2col {
  margin-bottom: 30px; }

#M_itemDetail .-imgblock-2col img {
  width: 325px;
  height: auto; }

/*カタログギフト詳細　カタログ見るボタン*/
#M_itemDetail .itmd-cg-btn a {
  display: block;
  box-sizing: border-box;
  border: solid 5px #ddd;
  padding: 5px;
  border-radius: 10px;
  text-align: center;
  background: #5a4f4f;
  padding: 0.8em;
  font-size: 16px;
  color: #fff; }

#M_itemDetail .itmd-cg-btn a b {
  display: block;
  font-size: 1.2em; }

/*引き出物セット　カタログ見るボタン*/
#M_itemDetail .-hikiset .-textfloatright .floattext .itmd-inline-btn a {
  background-color: #769C11;
  padding: 7px;
  margin: 10px 0 0 0;
  border-radius: 5px;
  display: block;
  color: #fff;
  font-size: 1.2em;
  text-align: center;
  box-shadow: 0px 2px #447700; }

#M_itemDetail .-hikiset .-textfloatright .floattext .itmd-inline-btn a span {
  display: block;
  font-size: 0.8em; }

/*スタバメール便案内ボタン*/
#M_itemDetail .itmd-mailbintakuhai {
  margin: 0 0 30px 0; }

#M_itemDetail .itmd-mailbintakuhai .-first-child {
  margin: 0 10px 0 0; }

/*============================
商品ページ　名入れ説明
============================*/
#naire_info {
  background-color: #F8F7F3;
  margin-bottom: 20px;
  width: 650px; }

#naire_info #naire_body h4 {
  margin: 0px;
  padding: 0px;
  border: none; }

#naire_info #naire_body .naire_detail {
  margin: 0px;
  padding-top: 10px;
  padding-right: 25px;
  padding-bottom: 20px;
  padding-left: 25px; }

* html #naire_info #naire_body .naire_detail {
  _width: 650px; }

#naire_info #naire_body .naire_detail .intro {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 10px;
  margin-left: 0px;
  padding-top: 0px;
  padding-right: 0px;
  padding-bottom: 10px;
  padding-left: 0px;
  font-weight: normal;
  border-bottom-width: 1px;
  border-bottom-style: dashed;
  border-bottom-color: #C5B7A0;
  font-size: 0.9em; }

#naire_info #naire_body .naire_detail .emphasis {
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 10px;
  margin-left: 0px;
  font-weight: normal;
  padding: 0px;
  font-size: 0.9em; }

#naire_info #naire_body .naire_detail .intro span {
  color: #000;
  background-color: #FF0;
  font-size: 1.2em; }

#naire_info #naire_body .naire_detail .float {
  width: 100%; }

#naire_info #naire_body .naire_detail .float .left {
  width: 250px; }

#naire_info #naire_body .naire_detail .float .left .naire_order {
  background-image: url(https://gigaplus.makeshop.jp/marry2007/common/img/naire_desc_order.jpg);
  background-repeat: no-repeat;
  height: 47px;
  width: 215px;
  font-weight: bold;
  color: #CB5B52;
  font-size: 1.2em;
  padding-top: 33px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 15px;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 5px;
  margin-left: 0px;
  _width: 230px; }

#naire_info #naire_body .naire_detail .float .left .naire_order span {
  font-size: 1.4em; }

#naire_info #naire_body .naire_detail .float .left .kome {
  display: block;
  font-size: 0.9em;
  margin-bottom: 15px; }

#naire_info #naire_body .naire_detail .float .left .naire_ship {
  background-image: url(https://gigaplus.makeshop.jp/marry2007/common/img/naire_desc_ship.jpg);
  background-repeat: no-repeat;
  height: 47px;
  width: 215px;
  font-weight: bold;
  color: #CB5B52;
  font-size: 1.2em;
  margin-bottom: 5px;
  padding-top: 33px;
  padding-right: 0px;
  padding-bottom: 0px;
  padding-left: 15px;
  _width: 230px; }

#naire_info #naire_body .naire_detail .float .left .naire_ship span {
  font-size: 1.4em; }

#naire_info #naire_body .naire_detail .float .right .attr {
  background-color: #FFF;
  border: 1px solid #DCD5C7;
  padding: 4px; }

* html #naire_info #naire_body .naire_detail .float .right .attr {
  width: 350px; }

#naire_info #naire_body .naire_detail .float .right .attr table {
  width: 100%; }

#naire_info #naire_body .naire_detail .float .right .attr .odd th,
#naire_info #naire_body .naire_detail .float .right .attr .odd td {
  background-color: #F6F3EB;
  font-weight: normal;
  padding: 7px;
  font-size: 12px; }

#naire_info #naire_body .naire_detail .float .right .attr .odd th {
  padding-top: 10px; }

#naire_info #naire_body .naire_detail .float .right .attr .even th,
#naire_info #naire_body .naire_detail .float .right .attr .even td {
  font-weight: normal;
  padding: 7px;
  font-size: 12px; }

#naire_info #naire_body .naire_detail .float .right .attr .even th {
  padding-top: 10px; }

#naire_info #naire_body .naire_detail .float .right .attr .prop th,
#naire_info #naire_body .naire_detail .float .right .attr .prop td {
  padding: 3px; }

#naire_info #naire_body .naire_detail .float .right .attr .mojisuu span {
  color: #CB527F;
  font-size: 1.4em;
  margin-right: 5px; }

#naire_info #naire_body .naire_detail .float .right .attr .prop span {
  color: #CB527F;
  font-family: sans-serif;
  margin-right: 5px;
  font-size: 1.2em; }

/* -----section-title------- */
/* ===== Block: section ===== */
.section {
  margin-bottom: 15rem; }

/* Element: title (khối hero có nền + ảnh overlay) */
.section__title {
  position: relative;
  height: 400px;
  margin-bottom: 6rem;
  overflow: hidden;
  /* Biến mặc định (có thể override theo modifier) */
  --bg-color: #625388;
  /* tím */
  --bg-image: url("https://gigaplus.makeshop.jp/honoka2016/lp/osonae/img/haikei800x400.webp");
  --img-opacity: 0.2;
  /* 20% cho purple theo yêu cầu */
  background-color: var(--bg-color); }

/* Ảnh nền đặt trong ::before để điều khiển opacity độc lập */
.section__title::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--bg-image);
  background-repeat: repeat;
  /* lặp ảnh để phủ nền */
  background-size: 800px 400px;
  /* đúng kích thước file gốc */
  background-position: left top;
  /* tránh lệch đường ghép khi repeat */
  opacity: var(--img-opacity);
  pointer-events: none; }

/* Elements: layout nội dung trong hero */
.section__heading-img,
.section__heading-text2r,
.section__adv {
  position: absolute;
  z-index: 1;
  /* đảm bảo nằm trên lớp ảnh nền ::before */ }

.section__heading-img {
  top: 0;
  left: 50%;
  width: 600px;
  height: 400px;
  /* nếu cần căn giữa chính giữa nửa phải, có thể thêm transform: translateX(-0%); */ }

.section__heading-text2r {
  width: 490px;
  right: 50%;
  top: 50%;
  transform: translate(0, -50%);
  padding: 2rem 3rem 3rem 3rem;
  color: #fff;
  text-align: center;
  font-family: "Noto Sans Japanese", "メイリオ", sans-serif; }

.section__heading-text2r h3 {
  position: relative;
  color: #fff;
  font-size: 42px;
  letter-spacing: 0.05em;
  text-align: center; }

.section__heading-text2r h3 span {
  font-size: 26px;
  display: block;
  margin-bottom: 0.8rem;
  letter-spacing: 0.25em; }

.section__heading-text2r hr {
  border: none;
  width: 70px;
  height: 1px;
  background: #fff;
  margin: 2.5rem auto; }

.section__heading-text2r p {
  padding: 0 2rem;
  color: #fff;
  line-height: 1.8;
  font-size: 14px; }

/* Element: banner/adv nổi phía trên */
.section__adv {
  top: -2em;
  left: 50%;
  display: block;
  width: 980px;
  transform: translate(-50%, 0); }

/* ===== Modifiers (xen kẽ theme) ===== */
/* Purple: nền tím #625388 + ảnh nền opacity 20% */
.section--purple .section__title {
  --bg-color: #625388;
  --img-opacity: 0.2;
  /* 20% như yêu cầu */ }

/* Dark: nền xanh đậm + ảnh nền opacity 40% */
.section--dark .section__title {
  --bg-color: #425892;
  /* dark blue gợi ý, có thể đổi #0a2540 tùy brand */
  --img-opacity: 0.4;
  /* 40% như yêu cầu */ }

/* ===== (Tuỳ chọn) Tự động xen kẽ nếu không muốn gắn modifier thủ công ===== */
/* Lẻ = purple, chẵn = dark */
.section:nth-of-type(odd) .section__title {
  --bg-color: #625388;
  --img-opacity: 0.2; }

.section:nth-of-type(even) .section__title {
  --bg-color: #425892;
  --img-opacity: 0.4; }

/* Tablet: điều chỉnh hero + giảm khoảng trống với sản phẩm */
@media screen and (max-width: 1200px) and (min-width: 768px) {
  /* cả section cách section tiếp theo ít hơn một chút */
  .section {
    margin-bottom: 6rem;
    /* PC là 15rem → tablet thấp hơn */ }

  /* hero: thấp hơn + khoảng cách với sản phẩm ngắn hơn */
  .section__title {
    height: 360px;
    /* PC: 400px, thu bớt chiều cao */
    margin-bottom: 3.5rem;
    /* PC: 6rem, giảm gap xuống ~1/2 */ }

  /* text bên trái: dùng tỉ lệ theo màn hình để không bị tràn */
  .section__heading-text2r {
    width: 40vw;
    /* ~40% chiều rộng viewport */
    right: 50%;
    padding: 1.8rem 2rem 2.2rem; }

  .section__heading-text2r h3 {
    font-size: 2.6rem;
    /* nhỏ hơn 42px một chút */ }

  .section__heading-text2r h3 span {
    font-size: 1.4rem; }

  .section__heading-text2r p {
    font-size: 1.2rem;
    /* khoảng 14px */
    padding: 0 1rem; }

  /* ảnh bên phải cũng thu theo màn hình, tránh bị cắt */
  .section__heading-img {
    left: 50%;
    width: 45vw;
    /* < 50% nên không bị overflow */
    height: auto; }

  /* banner dưới hero co lại để khớp với chiều rộng tablet */
  .section__adv {
    width: 92vw;
    /* thay vì 980px cố định */
    top: -1.5em; } }
/* ---------- Base fixes on mobile ---------- */
/* =========================
   SP HERO (.section__title)
   ========================= */
@media screen and (max-width: 767px) {
  .section__title {
    height: auto;
    padding: 0px 0 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center; }

  /* bỏ nền sọc vì đã có ảnh nền sẵn */
  /* bỏ position absolute để xếp dọc */
  .section__heading-img,
  .section__heading-text2r,
  .section__adv {
    position: static;
    width: 100%;
    transform: none; }

  /* ẩn banner nếu có */
  .section__adv {
    display: none; }

  .section__heading-img {
    margin: 0 auto 16px;
    height: auto; }

  .section__heading-img img {
    display: block;
    width: 100%;
    height: auto; }

  .section__heading-text2r {
    max-width: 560px;
    padding: 0 16px;
    text-align: center; }

  .section__heading-text2r h3 {
    font-size: 2.4rem;
    line-height: 1.35; }

  .section__heading-text2r h3 span {
    font-size: 1.4rem;
    margin-bottom: 8px;
    letter-spacing: 0.18em; }

  .section__heading-text2r hr {
    width: 56px;
    margin: 12px auto; }

  .section__heading-text2r p {
    font-size: 1.1rem;
    line-height: 1.8;
    /* CHÍNH: thu ngắn bề ngang đoạn văn */
    display: inline-block;
    /* co theo nội dung */
    max-width: 56ch;
    /* 40 ký tự mỗi dòng (đổi 36–44 tùy ý) */
    margin: 0 auto;
    /* căn giữa */
    padding: 0 8px;
    /* giữ chút khoảng đệm nếu có nền */
    text-align: left; } }
/* (tuỳ chọn) nếu muốn tắt sọc cho 1 section ở mọi kích thước,
   thêm class .section--no-stripe vào section đó */
.section--no-stripe .section__title::before {
  content: none !important; }

/* =======================================
   SP: .land-osonae-aisatujo (giống ảnh 2)
   ======================================= */
@media screen and (max-width: 767px) {
  .land-osonae-aisatujo {
    padding: 4rem 0 6rem; }

  /* ảnh tiêu đề nằm giữa (img là con trực tiếp của section) */
  .land-osonae-aisatujo > img {
    display: block;
    width: 86%;
    max-width: 520px;
    height: auto;
    margin: 0 auto 24px; }

  onae-aisatujo h3::before,
  .land-osonae-aisatujo h3::after {
    content: "";
    vertical-align: middle;
    width: 2.6em;
    height: 1px;
    background: currentColor;
    opacity: .6;
    margin: 0 .6em; }

  /* phần mô tả bên dưới: 2 cột -> 1 cột, căn giữa */
  .land-osonae-aisatujo .chumonhouhou {
    max-width: 640px;
    border-bottom: 0;
    padding: 0 16px 24px;
    margin: 0 auto 32px; }

  .land-osonae-aisatujo .textwrap {
    flex-direction: column;
    align-items: center;
    gap: 24px;
    max-width: 640px;
    padding: 0 16px; }

  .land-osonae-aisatujo .textwrap dl {
    width: 100%;
    max-width: 100%;
    min-width: auto;
    padding: 0; }

  .land-osonae-aisatujo .textwrap dl:first-child {
    border-right: 0; }

  .land-osonae-aisatujo .textwrap dl dd {
    display: block; }

  .land-osonae-aisatujo .textwrap dl dd .img {
    width: 65%;
    max-width: 300px;
    margin: 0 auto 12px; }

  .land-osonae-aisatujo .textwrap dl dd .img img {
    width: 100%;
    height: auto;
    box-shadow: 2px 2px 6px #ddd; }

  .land-osonae-aisatujo .textwrap dl dd .txt {
    padding: 0;
    text-align: left;
    /* thích căn giữa thì đổi thành center */ } }
/* tinh chỉnh thêm cho màn cực nhỏ */
@media screen and (max-width: 479px) {
  .section__heading-text2r h3 {
    font-size: 2.0rem; }

  .land-osonae-aisatujo > img {
    width: 90%; } }
/* =========================
   SP: LAND TITLE (hero)
   ========================= */
/* Tablet ~768–1000px: sửa cắt hình title + land-sf / land-gs */
@media screen and (max-width: 1000px) and (min-width: 768px) {
  /* ===== land-title / titleimage ===== */
  .land-title {
    width: 100%;
    margin: 0 auto 2rem; }

  .land-title .titleimage {
    padding: 0 12px;
    /* chừa mép hai bên một chút */
    box-sizing: border-box; }

  /* Hero image co theo chiều rộng container, không bị cắt */
  .land-title .titleimage img {
    width: 100%;
    height: auto;
    display: block; }

  /* Họa tiết nền phía sau: căn giữa, không lệch */
  .land-title .titleimage::before {
    width: 120%;
    max-width: 120%;
    left: 50%;
    right: auto;
    margin: 0;
    transform: translateX(-50%);
    background-size: cover; }

  /* ===== land-sf / land-gs (3 ô & 2 ô phía dưới) ===== */
  .land-sf,
  .land-gs {
    width: 90vw;
    /* nhỏ hơn width hero 1 chút */
    max-width: 720px;
    margin: 0 auto 1.5rem;
    padding: 0;
    display: flex;
    justify-content: space-between; }

  .land-sf li,
  .land-gs li {
    flex: 1 1 0;
    margin: 0 4px; }

  .land-sf li:first-child,
  .land-gs li:first-child {
    margin-left: 0; }

  .land-sf li:last-child,
  .land-gs li:last-child {
    margin-right: 0; }

  /* Ảnh bên trong co theo ô, không bị tràn / cắt */
  .land-sf li img,
  .land-gs li img {
    width: 100%;
    height: auto;
    display: block; } }
@media screen and (max-width: 767px) {
  .land-title {
    margin: 0 auto 24px;
    background-color: #E8E6FB; }

  .land-title .titleimage {
    position: relative;
    padding: 0;
    max-width: 640px;
    margin: 0 auto; }

  /* bỏ wave overlay ở SP */
  .land-title .titleimage:before {
    content: none; }

  .land-title .titleimage h2 {
    background-color: #E8E6FB;
    margin: 0; }

  .land-title .titleimage h2 img {
    display: block;
    width: 92%;
    max-width: 2200px;
    /* tiêu đề giữa màn hình */
    height: auto;
    margin: 0 auto; }

  /* nếu có subtitle dải màu, ẩn ở SP */
  .land-title .subtitle {
    display: none; }

  .land-title .title-sub {
    padding: 16px; } }
/* --@media screen and (max-width: 479px) {-- */
@media screen and (max-width: 479px) {
  .land-title .titleimage h2 {
    background-color: #E8E6FB;
    margin: 0; } }
/* =========================================
   SP: LAND-SF (dịch vụ / coupon / banner nhỏ)
   ========================================= */
@media screen and (max-width: 767px) {
  .land-sf {
    width: 100%;
    margin: 0 auto 20px;
    padding: 0 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2 cột như ảnh mobile */
    gap: 12px; }

  /* phần tử con có thể là a, li, div -> gom chung */
  .land-sf > a,
  .land-sf > div,
  .land-sf > li {
    display: block;
    background: #fff;
    border-radius: 10px;
    overflow: hidden; }

  .land-sf img {
    display: block;
    width: 100%;
    height: auto; }

  /* text nhỏ dưới ảnh (nếu có) */
  .land-sf span {
    display: block;
    text-align: center;
    font-size: 1.2rem;
    padding: 8px 6px; }

  /* rất nhỏ thì về 1 cột */ }
@media screen and (max-width: 767px) and (max-width: 360px) {
  .land-sf {
    grid-template-columns: 1fr; } }
/* =========================================
   SP: LAND-GS (hướng dẫn / button link)
   ========================================= */
@media screen and (max-width: 767px) {
  .land-gs {
    width: 100%;
    margin: 0 auto 28px;
    padding: 0 12px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* 2 cột như ảnh */
    gap: 12px; }

  .land-gs > a,
  .land-gs > div,
  .land-gs > li {
    display: block; }

  .land-gs img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 10px; }

  /* nút caption xám dưới mỗi khối */
  .land-gs span {
    display: block;
    margin-top: 8px;
    padding: 10px 8px;
    text-align: center;
    font-size: 1.2rem;
    color: #444;
    background: #f7f7f7;
    border: 1px solid #e5e5e5;
    border-radius: 8px; }

  .land-gs span:hover {
    background: #efefef; }

  /* rất nhỏ thì về 1 cột */ }
@media screen and (max-width: 767px) and (max-width: 360px) {
  .land-gs {
    grid-template-columns: 1fr; } }
/* ===========================
   SP: land-osonae-aisatujo
   =========================== */
@media screen and (max-width: 767px) {
  .land-osonae-aisatujo {
    background: #eeedf4;
    padding: 48px 0 64px;
    /* gọn hơn một chút */ }

  /* Ảnh tiêu đề tròn + thiệp (img ngay trong h3) */
  .land-osonae-aisatujo h3 {
    margin-bottom: 24px; }

  .land-osonae-aisatujo h3 img {
    display: block;
    width: min(100%, 560px);
    height: auto;
    margin: 0 auto 8px; }

  /* Khối “ご注文方法” */
  .land-osonae-aisatujo .chumonhouhou {
    max-width: 680px;
    margin: 0 auto 20px;
    padding: 0 18px 8px;
    text-align: center; }

  .land-osonae-aisatujo .chumonhouhou h4 {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: .8em;
    font-size: 20px;
    color: #48416c;
    margin: 4px 0 10px;
    letter-spacing: .06em; }

  /* thay “―” bằng 2 gạch mảnh để giống ảnh */
  .land-osonae-aisatujo .chumonhouhou h4::before,
  .land-osonae-aisatujo .chumonhouhou h4::after {
    content: "";
    display: inline-block;
    width: 40px;
    height: 1px;
    background: #8a85ad; }

  /* vô hiệu các content cũ nếu đang set dấu “―” */
  .land-osonae-aisatujo .chumonhouhou h4:before,
  .land-osonae-aisatujo .chumonhouhou h4:after {
    content: "" !important; }

  .land-osonae-aisatujo .chumonhouhou p {
    max-width: 680px;
    margin: 0 auto 12px;
    padding: 0;
    color: #5a5680;
    text-align: left;
    font-size: 1.3rem;
    line-height: 1.95; }

  /* Danh sách hướng dẫn xếp DỌC, ảnh trên – chữ dưới */
  land-osonae-aisatujo .textwrap {
    display: flex;
    /* giữ bố cục 2 cột giống PC */
    justify-content: center;
    gap: 24px;
    max-width: 680px;
    margin: 0 auto;
    padding: 0 18px; }

  .land-osonae-aisatujo .textwrap dl {
    flex: 1 1 auto;
    max-width: none;
    min-width: 0;
    padding: 0;
    margin: 0 0 22px 0; }

  /* ảnh + text nằm cạnh nhau, canh top */
  .land-osonae-aisatujo .textwrap dl dd {
    display: flex;
    align-items: flex-start;
    gap: 24px; }

  .land-osonae-aisatujo .textwrap dl dd .img {
    flex: 0 0 40%;
    /* ảnh chiếm khoảng 40% */
    max-width: 260px; }

  .land-osonae-aisatujo .textwrap dl dd .img img {
    width: 100%;
    height: auto;
    display: block; }

  .land-osonae-aisatujo .textwrap dl dd .txt {
    flex: 1 1 auto;
    text-align: left;
    /* chỉnh font-size/line-height theo PC nếu cần */ } }
/* ===========================
   SP: land-osonae-nosi (thu nhỏ nhẹ)
   =========================== */
@media screen and (max-width: 768px) {
  .land-osonae-nosi {
    padding: 6rem 0 6rem;
    /* giảm padding tổng thể */ }

  .land-osonae-nosi h3 {
    font-size: 34px;
    /* nhỏ hơn */
    margin-bottom: 3rem; }

  .land-osonae-nosi h3 span {
    font-size: 18px; }

  .land-osonae-nosi .textwraposonae {
    gap: 1.2rem;
    /* giảm khoảng cách */
    padding: 0 12px; }

  .land-osonae-nosi .textwraposonae li {
    min-width: 210px;
    /* thẻ item gọn lại */
    flex: 0 0 29%;
    padding: .6rem; }

  .land-osonae-nosi .textwraposonae .nosi-ttl {
    font-size: 1.15rem; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.15rem; } }
@media screen and (max-width: 660px) {
  .land-osonae-nosi {
    padding: 4rem 0 4rem;
    /* giảm padding tổng thể */ }

  .land-osonae-nosi h3 {
    font-size: 28px;
    /* nhỏ hơn */
    margin-bottom: 2rem; }

  .land-osonae-nosi h3 span {
    font-size: 16px; }

  .land-osonae-nosi .textwraposonae {
    gap: 0.8rem;
    /* giảm khoảng cách */
    padding: 0 8px; }

  .land-osonae-nosi .textwraposonae li {
    min-width: 180px;
    /* thẻ item gọn lại */
    flex: 0 0 29%;
    padding: .6rem; }

  .land-osonae-nosi .textwraposonae .nosi-ttl {
    font-size: 1.2rem; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.2rem; } }
/* rất nhỏ thì tiếp tục gọn thêm */
@media screen and (max-width: 479px) {
  .land-osonae-nosi h3 {
    font-size: 28px; }

  .land-osonae-nosi h3 span {
    font-size: 16px; }

  .land-osonae-aisatujo {
    padding: 40px 0 56px; }

  .land-osonae-nosi .textwraposonae .nosi-txt {
    font-size: 1.15rem; } }
/* Tablet (1024px, 980px, v.v…): thu nhỏ listwrapper, giữ layout 3–4 cột */
@media screen and (max-width: 1200px) and (min-width: 768px) {
  .land-recolist .listwrapper {
    width: 96vw;
    /* thay cho 1080px cứng */
    max-width: 1000px;
    /* tránh rộng quá */
    margin: 0 auto 1em;
    padding: 0 1rem;
    /* chừa mép hai bên một chút */ }

  /* thu nhẹ phần đầu danh sách để có thêm chỗ cho sản phẩm */
  .land-recolist .listwrapper .listhead {
    width: 200px;
    min-width: 200px;
    margin-right: 2rem; }

  /* giữ nguyên tỉ lệ cột, chỉ giảm chút khoảng cách dọc */
  .land-recolist .listwrapper .itemlist li {
    width: 31%;
    margin: 0 0 5em 0; }

  .land-recolist .listwrapper .itemlist li.-col2 {
    width: 48%;
    margin-bottom: 5em; }

  .land-recolist .listwrapper .itemlist li.-col4 {
    width: 23%;
    margin-bottom: 3.5em; }

  /* nút đặt hàng thu font-size nhẹ để tránh tràn dòng */
  .land-recolist .listwrapper .itemlist li .btn {
    font-size: 16px;
    padding: 0.7em 0.4em; } }
/* ===== MOBILE: listwrapper 2 cột ===== */
@media screen and (max-width: 767px) {
  /* container gọn, full-width */
  .land-recolist .listwrapper {
    width: 100%;
    max-width: 680px;
    /* tùy ý: 640–720px đều OK */
    margin: 0 auto;
    padding: 0 12px;
    display: block;
    /* bỏ flex hàng ngang */ }

  /* Ẩn cột head bên trái ở mobile */
  .land-recolist .listwrapper .listhead {
    display: none; }

  /* Card 2 cột */
  .land-recolist .listwrapper .itemlist {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    /* khoảng cách giữa các card */
    margin: 0 auto;
    width: 100%; }

  /* Mỗi item là 1 card, bỏ các width cố định */
  .land-recolist .listwrapper .itemlist li {
    width: auto;
    margin: 0;
    /* bỏ margin-bottom lớn */ }

  .land-recolist .listwrapper .itemlist li.-col2,
  .land-recolist .listwrapper .itemlist li.-col4 {
    width: auto; }

  /* Hình, text và tag tinh chỉnh cho mobile */
  .land-recolist .listwrapper .itemlist li .img {
    padding: 4px; }

  .land-recolist .listwrapper .itemlist li .itemname {
    height: auto;
    /* tránh bị cắt chữ */
    font-size: 1.2rem;
    margin-bottom: .4em; }

  .land-recolist .listwrapper .itemlist li .desc {
    display: none; }

  /* nếu muốn gọn */
  .land-recolist .listwrapper .itemlist li .tag {
    gap: 4px;
    display: flex;
    flex-wrap: wrap; }

  .land-recolist .listwrapper .itemlist li .tag span {
    font-size: 1.2rem;
    padding: .5em .6em;
    margin-top: 0;
    flex: 1 1 auto;
    /* tag co giãn đều trong hàng */ }

  .land-recolist .listwrapper .itemlist li .price {
    padding: 10px 0;
    font-size: 1.2rem; }

  .land-recolist .listwrapper .itemlist li .btn {
    font-size: 1.4rem;
    padding: 10px 8px; } }
/* Rất nhỏ thì về 1 cột để không vỡ layout */
@media (max-width: 360px) {
  .land-recolist .listwrapper .itemlist {
    grid-template-columns: 1fr; } }
/* MOBILE: hiện mô tả (desc) trong card sản phẩm */
@media screen and (max-width: 767px) {
  /* Bỏ ẩn + style gọn 2 dòng */
  .land-recolist .listwrapper .itemlist li .desc {
    display: block !important;
    /* override rule cũ */
    margin: .2em 0 .6em;
    padding: 0;
    font-size: 1.1rem;
    line-height: 1.6;
    color: #551a1a;
    /* giới hạn 2 dòng để card đều nhau */
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden; }

  /* (khuyến nghị) để các card đều chân, nút nằm đáy */
  .land-recolist .listwrapper .itemlist li {
    display: flex;
    flex-direction: column; }

  .land-recolist .listwrapper .itemlist li .btn {
    margin-top: auto; } }
/* MOBILE: thu nhỏ ảnh + giảm cỡ dt */
@media screen and (max-width: 767px) {
  /* (1) ご挨拶文面 – land-osonae-aisatujo */
  .land-osonae-aisatujo .textwrap dl dd .img {
    width: 56% !important;
    /* trước là 65% */
    max-width: 160px !important;
    /* trước là 300px */
    margin: 0 auto 10px; }

  .land-osonae-aisatujo .textwrap dl dt {
    font-size: 18px !important;
    /* trước ~24px */
    margin-bottom: 12px;
    letter-spacing: .02em; }

  /* (2) 熨斗（のし）の書き方 – ảnh minh họa lớn phía trên */
  .land-osonae-nosi .nosi-img img {
    width: 76%;
    max-width: 340px;
    /* chỉnh 340–420px tùy ý */
    height: auto;
    margin: 0 auto 8px;
    display: block; } }
/* ======= TIGHTEN MOBILE (<=767px) ======= */
@media (max-width: 767px) {
  /* 1) Khoảng cách giữa các section */
  .section {
    margin-bottom: 48px !important; }

  .section__title {
    margin-bottom: 24px !important;
    padding-bottom: 16px; }

  /* 2) Hero/heading cũ (nếu còn dùng) */
  .land-heading02 {
    height: auto;
    margin-bottom: 24px !important; }

  /* 3) Danh sách sản phẩm (land-recolist) */
  .land-recolist .recolist-heading {
    margin: 24px 0 16px !important; }

  .land-recolist .listwrapper {
    margin: 0 auto 16px !important; }

  .land-recolist .listwrapper .itemlist {
    gap: 10px; }

  /* Xóa mọi margin-bottom lớn của các item (kể cả .-col2 / .-col4) */
  .land-recolist .listwrapper .itemlist li,
  .land-recolist .listwrapper .itemlist li.-col2,
  .land-recolist .listwrapper .itemlist li.-col4 {
    margin: 0 !important; }

  /* 4) Các section có padding dưới lớn */
  .land-pricelist {
    padding-bottom: 48px !important; }

  .land-aisatujo {
    padding: 40px 0 48px !important; }

  .land-osonae-nosi {
    padding: 48px 0 !important; }

  /* (Tùy chọn) Thu nhỏ tiêu đề & khoảng cách trong hero mới */
  .section__heading-text2r h3 {
    margin-bottom: 8px; }

  .section__heading-text2r hr {
    margin: 10px auto; } }

/*# sourceMappingURL=lp-osonae.css.map */
