@import url('https://fonts.googleapis.com/css2?family=Cormorant:ital,wght@0,300..700;1,300..700&family=League+Script&display=swap');
body{
  background-color: #fff !important;
  color: #1c1c1c　!important;
}

/* Fullscreen slide section */
.top_slide {
  position: relative;
  width: 100vw;
  height: calc(100vh - 80px); /* Subtract header height */
  margin: 0;
  padding: 0;
  overflow: hidden;
}

/* Adjust for mobile header */
@media (max-width: 991px) {
  .top_slide {
    height: calc(100vh - 60px); /* Smaller header on mobile */
  }
}

.top_slide .vegas-wrapper,
.top_slide .vegas-slide,
.top_slide .vegas-slide-inner {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
}

.top_slide .vegas-slide-inner {
  background-position: center center !important;
  background-size: cover !important;
}

/* Slide text overlay styles */
.top_slide .content-box {
  position: absolute;
  bottom: 10%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: 100%;
  max-width: 1200px;
  padding: 0 40px;
  text-align: center;
}

.top_slide .heading {
  color: #fff;
  margin: 0;
  line-height: 1.2;
}

.top_slide .heading--small {
  font-size: 24px;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 1rem;
  text-transform: uppercase;
}

.top_slide .heading--large {
  font-size: 17px;
  font-weight: 300;
  letter-spacing: 0.05em;
  margin-bottom: 2.5rem;
  font-family: 'Cormorant', serif;
}

.top_slide .button-wrapper {
  margin-top: 2rem;
}

.top_slide .button {
  display: inline-block;
  padding: 1rem 2.5rem;
  background-color: transparent;
  color: #fff;
  border: 1px solid #fff;
  text-decoration: none;
  font-size: 17px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  text-transform: uppercase;
}

.top_slide .button:hover {
  background-color: #fff;
  color: #000;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .top_slide .heading--small {
    font-size: 0.875rem;
  }
  
  .top_slide .heading--large {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }
  
  .top_slide .button {
    padding: 0.75rem 2rem;
    font-size: 0.75rem;
  }
}

/* Animation styles */
.top_slide .split-line {
  display: block;
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s ease forwards;
}

.top_slide .c_slide__text .split-line {
  animation-delay: 0.5s;
}

.top_slide .c_slide__title .split-line {
  animation-delay: 0.7s;
}

.top_slide .button-wrapper {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeInUp 1s ease forwards;
  animation-delay: 0.9s;
}

@keyframes fadeInUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Add text shadow for better readability */
.top_slide .heading {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

/* Vegas overlay adjustment */
.top_slide::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  
  z-index: 1;
}

.top_slide .content-box {
  z-index: 2;
}
/* 問い合わせフォームここから */
/* Contact Form7スマホ・タブレット用カスタマイズ */
@media(max-width:850px){
  /* テーブルの見出しとフォーム */
  table.inquiry th,table.inquiry td {
     display:block;
     padding:1em 0!important;
     width:100%;
     border:0;
  }
  
  /* 送信ボタン */
  input.wpcf7-submit{
     margin-bottom:30px;
     width:100%;
  }
  }
  
  /* 日付タグ上のテキストをPCとスマホで変更 */
  @media(max-width:900px){
  .pcdate{
     display: none;
  }
  }
  @media(min-width:1000px){
  .spdate{
     display: none;
  }
  /* 日付タグの幅を調整 */
  .wpcf7-date.dateform{
     width: 25%;
  }
  }
  .wpcf7 {
    background-color: #000;
    border:1px solid #000;
  }
  /* Contact Form7全体カスタマイズ */
  .wpcf7-list-item-label{
    color: #fff;
  }
  /* 自動入力されるPタグを無効にする */
  .inquiry p {
     display: inline;
  }
  
  /*テーブル下に余白.枠線・テキストの行間 */
  table.inquiry {
     margin-bottom: 30px;
     border:solid 1px #d7d7d7;
     line-height:1.2;
     vertical-align:middle;
  }
  
  /* テーブルの行 */
  .inquiry tr {
     border:0!important;
  }
  
  /* テーブルの見出し側 */
  .inquiry th{
     text-align:left;
     font-size:14px;
     color:#444;
     padding:1em 0.5em;
     width:0;
     background:#efefef;
     border:solid 1px #d7d7d7;
     white-space: nowrap;
  }
  
  /* 必須と任意タグ */
  .haveto,.any{
     font-size:13px;
     padding:5px;
     background:#ff9393;
     color:#fff;
     border-radius:2px;
     margin-right:5px;
     font-weight:normal;
  }
  
  /* 任意タグの背景カラー */
  .any{
     background:#93c9ff;
  }
  
  /* テーブルフォーム側 */
  .inquiry td{
     font-size:13px;
     border:solid 1px #d7d7d7;	
  }
  
  /* 入力エリア幅最大 */
  .wpcf7-form-control {
     width: 100%;
  }
  
  /* フォーム入力欄の余白・背景カラー・枠線消す指定 */
  .inquiry input,.inquiry select,.inquiry textarea {
     margin: 5px 0;
     background:#eff1f5;
     border: none;
     padding:0.7em;
  }
  .inquiry textarea {
     padding-bottom:10em;
  }
  
  /* チェックボックスとラジオボタンの位置調整 */
  .wpcf7-list-item-label,.wpcf7-checkbox,input[type=checkbox],input[type=radio]{
     vertical-align:middle;
  }
  .wpcf7-list-item-label{
     padding:0 5px 0 2px;
  }
  /*ラジオボタンを縦並び指定*/
  .verticallist{
     display:inline-grid;
  }
  
  /* 送信ボタンのデザイン */
  .wpcf7-submit{
     display: block;
     margin:10px auto;
     padding:1em 0;
     width:80%;
     background:#09b555;
     color:#fff;
     font-size:18px;
     font-weight:bold;	 
     border-radius:4px;
     border: none;
  }
  
  /* 送信ボタンマウスホバー時 */
  .wpcf7-submit:hover{
     opacity: 0.9;
     transition: 0.3s;
  }
  
  /* フォーム上部に表示されるエラーメッセージを非表示 */
  .screen-reader-response {
      display: none;
  }
  
  /* フォーム内エラーメッセージを赤色に指定 */
  .wpcf7-not-valid-tip {
      color: #e92323;
  }
/* 問い合わせフォームここまで */

/* top2 section styles */
.top2 {
  position: relative;
  background-image: url(/wp-content/themes/ego_welcart_tcd079-child/img/top/hero/top_3.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  /* 16:9 aspect ratio calculation */
  min-height: 56.25vw; /* 9/16 = 0.5625 */
  max-height: 80vh; /* Prevent from being too tall on wide screens */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Ensure proper aspect ratio for the image */
@media (max-width: 768px) {
  .top2 {
    min-height: 56.25vw; /* Maintain 16:9 ratio */
    max-height: 60vh; /* Smaller max height on mobile */
  }
}

/* Tablet styles */
@media (min-width: 769px) and (max-width: 1024px) {
  .top2 {
    min-height: 56.25vw; /* Maintain 16:9 ratio */
    max-height: 70vh; /* Medium max height on tablet */
  }
}

/* Large screens */
@media (min-width: 1920px) {
  .top2 {
    min-height: 1080px; /* Fixed height for very large screens (1920x1080) */
  }
}

/* Content box styling for top2 */
.top2 .content-box {
  position: relative;
  z-index: 2;
  padding: 3rem 2rem;
  background: transparent;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

/* Remove overlay - let image show clearly */
.top2::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

/* Text styles for top2 */
.top2 .heading {
  color: #fff;
  margin: 0;
  line-height: 1.4;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.top2 .heading--small {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1rem;
  font-family: 'Cormorant', serif;
}

.top2 .heading--large {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
  font-family: serif;
}

.top2 .button {
  display: inline-block;
  padding: 0.8rem 2rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  border: 2px solid rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  font-weight: 600;
}

.top2 .button:hover {
  background-color: rgba(255, 255, 255, 1);
  border-color: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Mobile responsive text sizes */
@media (max-width: 768px) {
  .top2 .content-box {
    padding: 2rem 1rem;
  }
  
  .top2 .heading--small {
    font-size: 16px;
  }
  
  .top2 .heading--large {
    font-size: 24px;
    margin-bottom: 1.5rem;
  }
  
  .top2 .button {
    padding: 0.7rem 1.5rem;
    font-size: 12px;
  }
}

/* top3 section styles - same as top2 but different image */
.top3 {
  position: relative;
  background-image: url(/wp-content/themes/ego_welcart_tcd079-child/img/about_5.jpg);
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  /* 16:9 aspect ratio calculation */
  min-height: 56.25vw; /* 9/16 = 0.5625 */
  max-height: 80vh; /* Prevent from being too tall on wide screens */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Ensure proper aspect ratio for the image */
@media (max-width: 768px) {
  .top3 {
    min-height: 56.25vw; /* Maintain 16:9 ratio */
    max-height: 60vh; /* Smaller max height on mobile */
  }
}

/* Tablet styles */
@media (min-width: 769px) and (max-width: 1024px) {
  .top3 {
    min-height: 56.25vw; /* Maintain 16:9 ratio */
    max-height: 70vh; /* Medium max height on tablet */
  }
}

/* Large screens */
@media (min-width: 1920px) {
  .top3 {
    min-height: 1080px; /* Fixed height for very large screens (1920x1080) */
  }
}

/* Content box styling for top3 */
.top3 .content-box {
  position: relative;
  z-index: 2;
  padding: 3rem 2rem;
  background: transparent;
  max-width: 800px;
  margin: 0 auto;
  text-align: center;
}

/* Overlay for better text readability */
.top3::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
}

/* Text styles for top3 */
.top3 .heading {
  color: #fff;
  margin: 0;
  line-height: 1.4;
  text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}

.top3 .heading--small {
  font-size: 20px;
  font-weight: 400;
  letter-spacing: 0.2em;
  margin-bottom: 1rem;
  font-family: 'Cormorant', serif;
}

.top3 .heading--large {
  font-size: 36px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 2.5rem;
  font-family: serif;
}

.top3 .button {
  display: inline-block;
  padding: 0.8rem 2rem;
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  border: 2px solid rgba(255, 255, 255, 0.9);
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  font-weight: 600;
}

.top3 .button:hover {
  background-color: rgba(255, 255, 255, 1);
  border-color: rgba(255, 255, 255, 1);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}

/* Mobile responsive text sizes */
@media (max-width: 768px) {
  .top3 .content-box {
    padding: 2rem 1rem;
  }
  
  .top3 .heading--small {
    font-size: 16px;
  }
  
  .top3 .heading--large {
    font-size: 24px;
    margin-bottom: 1.5rem;
  }
  
  .top3 .button {
    padding: 0.7rem 1.5rem;
    font-size: 12px;
  }
}

/* top4 section styles - Two column layout */
.top4 {
  background-color: #fff;
  padding: 80px 0;
  width: 100%;
}

.top4-container {
  width: 100%;
  max-width: none;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0;
}

/* Image side */
.top4-image {
  flex: 2;
  position: relative;
  overflow: hidden;
}

.top4-image img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Content side */
.top4-content {
  flex: 1;
  padding: 80px 60px;
}

.top4-title {
  font-size: 28px;
  font-weight: 400;
  margin-bottom: 24px;
  color: #333;
  letter-spacing: 0.05em;
  font-family: serif;
}

.top4-desc {
  font-size: 15px;
  line-height: 1.8;
  color: #666;
  margin-bottom: 32px;
  letter-spacing: 0.02em;
}

.top4-button-wrapper {
  margin-top: 30px;
}

.top4-button {
  display: inline-block;
  padding: 12px 40px;
  background-color: transparent;
  color: #333;
  border: 1px solid #333;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.1em;
  transition: all 0.3s ease;
  font-weight: 500;
}

.top4-button:hover {
  background-color: #333;
  color: #fff;
}

/* Mobile responsive */
@media (max-width: 768px) {
  .top4 {
    padding: 50px 0;
  }
  
  .top4-container {
    flex-direction: column;
    gap: 30px;
  }
  
  .top4-content {
    padding: 20px;
    text-align: center;
  }
  
  .top4-title {
    font-size: 24px;
    margin-bottom: 20px;
  }
  
  .top4-desc {
    font-size: 14px;
    margin-bottom: 24px;
  }
  
  .top4-button {
    padding: 10px 30px;
    font-size: 13px;
  }
}

/* Tablet */
@media (min-width: 769px) and (max-width: 1024px) {
  .top4-container {
    gap: 40px;
  }
  
  .top4-content {
    padding: 30px;
  }
  
  .top4-title {
    font-size: 26px;
  }
}






@media (min-width: 992px) {

}
.p-header__upper {

  position: relative;
}
.p-header__lower {
  background-color: #fff !important;
color: #fff !important;}

.p-header__lower::before {
  border-bottom: 1px solid #333;
  border-top: 1px solid #333;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  top: 0;
}
.p-global-nav > li > a{

  color: #000 !important;
}
.p-entry-product__body,.p-wc__body{
  color: #000 !important;

}



.p-entry-product__tabs-container .tab-radio--1:checked ~ .p-entry-product__tabs .tab-label--1, .p-entry-product__tabs-container .tab-radio--2:checked ~ .p-entry-product__tabs .tab-label--2, .p-entry-product__tabs-container .tab-radio--3:checked ~ .p-entry-product__tabs .tab-label--3, .p-entry-product__tabs-container .tab-radio--4:checked ~ .p-entry-product__tabs .tab-label--4, .p-entry-product__tabs-container .tab-radio--5:checked ~ .p-entry-product__tabs .tab-label--5 {
    background: #fff !important ;
    border-bottom-color: #333 !important;
}
.p-entry-product__tab-content { 
  background: #000 !important;
  border: 1px solid #333 !important;

}
.p-entry-product__tab-content > :last-child {
  
  background: #111;}

 table.p-entry-product__spec-table td, table.p-entry-product__spec-table th{
    background-color: #333 !important;
  }
  .p-entry-product__tabs li {
    border-color: #333 !important;
  }
  .p-entry-product__tabs li {
    
  }
  .p-entry-product__spec-table th, .p-entry-product__spec-table td {
    border: #111 !important;
  }
  .p-entry-product__tab-content__layout-type1 > *, .p-entry-product__tab-content__layout-type2 > * {
    width: 88.8% !important;
    margin: 0 auto !important;
}
.p-entry-product__tabs li{
  background-color: #222 !important;
}
.p-widget-categories{
  background-color: #222 !important;
  color: #fff !important;
}
.p-widget-categories li {
  background-color: #222;
}
.p-widget-categories li a:hover {
  background: #f111;
  color: #f5f5f5;
}
.p-widget-categories li a {
  
  color: #fff;
}
.p-widget-categories .children a {
  background: #111 !important;
  
}
.p-widget-categories li {
  border-top: 1px solid #111;}

  .p-widget-categories {
    border:#111;
  }
  h3.p-archive03__item-title{
    font-size: calc(10px + 0.5vw) !important;
  }

  /* ショッピングガイドここから */
    /* Basic Styling */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  font-family: 'Arial', sans-serif;
}

body {
  background-color: #f5f5f5;
  color: #333;
}

.guide-container {
  max-width: 800px;
  margin: 40px auto;
  padding: 20px;
  background-color: #000;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.guide-title {
  font-size: 32px;
  text-align: center;
  margin-bottom: 30px;
  color: #444;
  font-weight: bold;
}

/* Section Styling */
.guide-section {
  margin-bottom: 40px;
}

.section-title {
  font-size: 24px;
  color: #fff;
  margin-bottom: 15px;
  padding-bottom: 8px;
  border-bottom: 2px solid #ddd;
}

/* Flow List Styling */
.flow-list {
  list-style: none;
  padding: 0;
}

.flow-step {
  margin-bottom: 20px;
}

.step-title {
  font-weight: bold;
  color: #fff;
}

.step-desc {
  font-size: 15px;
  color: #fff;
  line-height: 1.6;
}

/* Payment and Delivery Styling */
.payment-list,
.delivery-list {
  padding: 0;
}

.payment-item,
.delivery-list li {
  font-size: 15px;
  line-height: 1.6;
  margin-bottom: 15px;
  color: #fff;
}

/* FAQ Styling */
.faq-list {
  border-top: 1px solid #ddd;
  padding-top: 15px;
}

.faq-item {
  margin-bottom: 20px;
}

.faq-item dt {
  font-weight: bold;
  cursor: pointer;
  position: relative;
}

.faq-item dd {
  display: none;
  margin-top: 8px;
  color: #fff;
  line-height: 1.6;
}
.faq-item dt{
  color: #fff;
}
.faq-item dt::after {
  content: '+';
  position: absolute;
  right: 0;
  color: #fff;
}

.faq-item.open dd {
  display: block;
}

.faq-item.open dt::after {
  content: '-';
}
.cancel-info{
  color: #fff;
}
.heading12 {
	position: relative;
	font-size: 26px;
  color: #fff;
}

.heading12::before {
	content: attr(data-number);
	display: inline-block;
	margin-right: 20px;
	color: #c21e56;
	font-size: 30px;
	border-bottom: 1px solid #c21e56;
}
.section-title {
	position: relative;
	padding-top: 30px;
	font-size: 26px;
	border-bottom: 1px solid rgb(98, 5, 61);
}

.section-title span {
	position: relative;
	z-index: 2;
}

.section-title::before {
	content: attr(data-en);
	position: absolute;
	top: 0px;
	left: 0;
	color: rgba(189, 0, 114, 0.3);
	font-size: 40px;
	text-transform: uppercase;
	z-index: 1;
}
  /* ショッピングガイドここまで */
  .price-total-box .total-price-title {
    margin-bottom: 0;
     background: #333 !important;
    padding: 10px 15px;
    font-size: 16px;
}
.p-entry__inner{
  border:none !important;}

.home1{
  background-image: url(/wp-content/themes/ego_welcart_tcd079_child/img/top/home1_bk.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  width: 100vw;
  margin: 0 calc(50% - 50vw);
  padding-top: 160px;
  padding-bottom: 160px;
}
.card_home {
  background: rgb(255, 255, 255 ,0.4);
  backdrop-filter: blur(18px);
  padding: 2rem 1rem;
  border-radius: 20px;
  width: 88.8%;;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.2);
  display: flex;
}
.item65{
  width: 80%;
  display: flex;
  flex-direction: column;
}
.item35{
  width: calc(30% - 5px);
  display: flex;
  flex-direction: column;
  position: relative;
  align-self: stretch;
}

.home_logo{
  max-width: 200px !important;
  margin-bottom: 36px;
  margin-top: 36px;
}
.l-inner2{
  width: 88.8%;
  max-width: 1400px;
  margin: 0 auto;
}
.home_catch{
  font-size: 64px  !important;
  font-weight: 900;
  position: relative;
	padding-top: 50px;
	padding-left: 30px;
  font-family: serif;
  color: #fff;
}
.home_catch span{
  font-size: 40px !important;
  font-family: serif;
}
.home_catch span {
	position: relative;
	z-index: 2;
}
.home_catch::before {
  content: attr(data-en);
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-5deg); /* 中央に配置しつつ回転 */
  color: rgba(224, 66, 114, 1);
  font-size: 48px;
  max-width: 480px;
  margin: 0 auto;
  font-style: italic;
  font-family: "League Script", cursive;
  font-weight: 400;
}
.home_flower-wrapper {
  position: absolute; /* 親要素内で自由に配置 */
  top: -64px;
  right:-80px;
  width: 44%;
  height: 130%;
  z-index: -1; /* 背景に配置 */
  overflow: hidden; /* 必要に応じて親要素の範囲外を隠す */

}

.home_flower {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-25%, -50%);
  width: auto;
  height: 100%; /* 親要素の高さに合わせる */
  object-fit: cover; /* 画像をコンテナに合わせてトリミング */
}
.home_catch_en{
margin-bottom: 0;



transform:  rotate(-5deg); /* 中央に配置しつつ回転 */
color: #fff;
font-size: 24px;
line-height: 2rem;

margin: 0 auto;
font-style: italic;
font-family: "League Script", cursive;
font-weight: 400;
}
.p-cb__item-subheadline2{
  font-size: 24px;
  padding-bottom: 36px;
  font-family: serif;
}
.home_catch_50{
  
  box-sizing: border-box;
}
.home_catch_flex{
  display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto;
    justify-content: space-between;
    align-items: center;
  
}