/*//////////////////////////////

            MOBILE
            COMMON

//////////////////////////////*/
/* ----------BASIC----------- */
html {
    -webkit-text-size-adjust: 100%; /* iOSの自動拡大を防ぐ */
    height: -webkit-fill-available; /* iOS Safariでの高さ調整 */

}

body {
    margin: 0;
    padding: 0;
    font-family: 'Zen Maru Gothic', sans-serif;
    background-color: #fff7f2;
    color: #703018;
    line-height: 1.6;
    min-height: 100vh;
    min-height: -webkit-fill-available;
    overflow-x: hidden; /* 横スクロール防止 */
}

/* コンテナや共通ブロック */
#Wrapper .container {
    width: 100%;
    padding: 0 16px;
    box-sizing: border-box;
    text-align: center;
}

/* リンクの装飾リセット */
#Wrapper a {
    color: inherit;
    text-decoration: none;
}

/* 画像のサイズ制御 */
#Wrapper img {
    max-width: 100%;
    height: auto;
    display: block;
}

/* ボタン系 */
#Wrapper button,
#Wrapper input,
#Wrapper select,
#Wrapper textarea {
    font: inherit;
    background: none;
    border: none;
    outline: none;
}

/* タップ時のハイライト色を消す */
#Wrapper a,#Wrapper button {
    -webkit-tap-highlight-color: transparent;
}

/* スクロールバー非表示 */
html::-webkit-scrollbar {
display: none;
} 
/*--------------------------------*/

#Wrapper {
	font-size: 17px;
	letter-spacing: -0.05em;
}



#Wrapper div.Container {
    width: 95%;
	margin: 50px auto;
	text-align: center;
}

#Wrapper h3{
	font-size: 22px;
	margin: 0 auto 0 auto;
	padding: 20px 0;
	font-weight: bold;
	text-align: center;

}
#Wrapper .no-break-on-mobile {
    white-space: nowrap;
  }
/* ---------BASIC END--------- */
/* ----------ONTEXT----------- */
#Wrapper .bgbegi,#Wrapper .bgani {
	width: 100%;
	height: auto;
	text-align: center;
}
#Wrapper .bgbegi.ontext,
#Wrapper .bgani.ontext{
	margin: auto;
	padding: 0;
	display: block;
} 
#Wrapper .ontext h3{
	padding: 0 0 15px 0 ;
} 
#Wrapper .ontext {
	padding: 0;
	margin: 0;
} 
#Wrapper .ontext p {
	margin-bottom: 15px;
		margin: auto auto 20px auto;
		width: 90%;
}
#Wrapper .bgbegi::before,
#Wrapper .bgbegi::after,
#Wrapper .bgani::before,
#Wrapper .bgani::after {
  content: "";
  display: inline-block;
  width: 100%;
  padding-top: 20%;
  background-size: contain;
  background-repeat: no-repeat;
}

#Wrapper .bgbegi::before {
  background-image: url("../img/begi-sp01.png");
}
#Wrapper .bgbegi::after {
  background-image: url("../img/begi-sp02.png");
}
#Wrapper .bgani::before {
  background-image: url("../img/ani-sp01.png");
}
#Wrapper .bgani::after {
  background-image: url("../img/ani-sp02.png");
}
/* --------ONTEXT END--------- */
/* ---------PARALLAX---------- */
#Wrapper .parallax {
  margin-bottom: 50px;
}
/* ---------PARALLAX---------- */
/* -----------4 CARD---------- */
/* --------SLIDER----------- */
 #Wrapper .slider {
     width: 85%;
     margin: auto;
	 padding: 0px;
 }
/* slider_lineup は常にコンテナ幅いっぱい */
#Wrapper .slider_lineup {
  width: 85%;
  margin: 0 auto;
  padding: 0 0 30px 0;
  position: relative; /* 矢印を絶対配置するために */
}

/* ------SLIDER END--------- */
/* ---------4 CARD END-------- */
/* ----------ROUND------------ */
#Wrapper .FoodContainer {
    position: relative;
    height: auto; /* コンテナの高さ */
    width: 100%; /* コンテナの横幅 */
    overflow: hidden; /* コンテナからはみ出した要素を隠す */
    z-index: 0;
}

/* SP用背景コンテナの基本スタイル */
#Wrapper .loop_wrap_sp {
    position: relative; /* 擬似要素の基準となるため必須 */
    top: 0;
    left: 0;
    width: 100%;
    min-height: 500px; /* 例: 最低限の高さ。コンテンツに応じて調整してください */
    overflow: hidden; /* 背景のはみ出しを隠す */
    flex-wrap: wrap; /* コンテンツが折り返すようにする */
    z-index: 0; /* コンテンツが背景の上にくるように調整 */
 /*   background-color: #f0f0f0;  背景画像が見えない場合のフォールバック色 */
    display: flex; /* ★これによって子要素の配置を制御 */
    flex-direction: column; /* ★子要素を縦方向に並べる */
    justify-content: center; /* ★子要素を垂直中央に寄せる */
    align-items: center; /* ★子要素を水平中央に寄せる */
}

/* 背景（擬似要素 ::before を使用） */
#Wrapper .loop_wrap_sp::before {
    content: ''; /* 擬似要素には必須 */
    position: absolute; /* 親要素 .loop_wrap_sp を基準に配置 */
    top: 0;
    left: 0;
    width: 100%; /* 幅は親要素と同じ */
    height: auto; /* 高さはコンテンツに合わせて自動調整、または固定値を設定 */
    min-height: 100%; /* 親要素の高さ以上を確保（縦リピートのため） */
    
    /* ★★★ ここに背景画像を指定してください ★★★ */
    /* 縦にリピートされることを考慮した画像が良いでしょう */
    background-image: url('../img/pack-bg-sp.png'); /* あなたの縦リピート用画像のパスに置き換えてください */
    
    background-size: contain; /* 画像全体を表示し、繰り返す（必要に応じて cover や auto に変更） */
    background-repeat: repeat-y; /* 縦方向に画像を繰り返す */
    background-position: top left; /* 初期位置（左上からリピート開始） */

}
#Wrapper .loop_wrap_pc {
    display: none;
}

#Wrapper div.round {
    width: 380px;
    height: 380px;
    border-radius: 50%;
    z-index: 100;
    text-align: center; /* 内部のテキストを中央寄せ */
    box-sizing: border-box; /* パディングとボーダーを幅・高さに含める */
    margin: 20px 0; /* 例: 上下に20pxのマージン */
}
#Wrapper div.round-body {
	background-color: rgba(247, 226, 184, 0.95);
}
#Wrapper div.round-series {
	background-color: rgba(248, 216, 153, 0.95);
}
#Wrapper div.round p {
	margin: 20px auto 20px 0 ;
}
#Wrapper div.round img {
	width: 60%;
	margin-top: 15px;
	margin: auto;
} 

#Wrapper .round div {
    display: block;
    width :350px;
    margin: 0 auto 10px;
    text-align:center;
}
#Wrapper .round.round-series {
    padding-top: 20px; /* 例: 上からのパディングでコンテンツの位置を調整 */
}

#Wrapper .round.round-body {
    padding-top: 50px; /* 例: 上からのパディングでコンテンツの位置を調整 */
}

#Wrapper .round div h3{
	padding:0;
}

#Wrapper .round a.btn_03 {
	width: 70%;
}
/* --------ROUND END---------- */
/* -----------T A B----------- */
#Wrapper .tab_area label {
  	width: 45%;
	margin-bottom: 15px;
	display: inline-block;
	padding: 5px;
	color: #703018;
	background: #d2b48c;
	text-align: center;
	font-size: 22px;
	border: 0!important; 
	font-weight: bold;
}
#Wrapper .tab_area {
	text-align: center;
}
#Wrapper .tab_label_left {
	border-top-left-radius: 22px;
	border-bottom-left-radius: 22px;
}

#Wrapper .tab_label_right {
	border-top-right-radius: 22px;
	border-bottom-right-radius: 22px;
}
/* ----------TAB END---------- */
/* ---------LINE UP----------- */
#Wrapper .lineup_wrapper {
	border-radius: 15px;
	width: 90%;
	top: 50px;
	padding:5px ;
	margin: 0 auto 0 auto;
	position: relative;
	background-color: rgba(255, 247, 235, 0.8);
}

#Wrapper .lineup_wrapper p {
	margin: 60px auto 10px auto;
	padding: 5px;
	text-align: left;
}

#Wrapper .product_logo {
	position: absolute;
	top: -50px;
}

#Wrapper .product_logo img {
	width: 90%;
	margin: auto;
}

#Wrapper .lineup_dogsup ,
#Wrapper .lineup_dogwild ,
#Wrapper .lineup_dognc ,
#Wrapper .lineup_catwild ,
#Wrapper .lineup_catnc ,
#Wrapper .lineup_catdd {
	background-repeat: no-repeat;
	background-size: cover;
	height: auto;
	padding-bottom: 20px;
	margin: 0px;
}

#Wrapper .lineup_dogsup section,
#Wrapper .lineup_dogwild section,
#Wrapper .lineup_dognc section,
#Wrapper .lineup_catnc section,
#Wrapper .lineup_catwild section,
#Wrapper .lineup_catdd section
{
	width: 100%;
	margin:0 auto;
	padding-top: 10px;
	padding-bottom: 10px;
}

#Wrapper .lineup_dogsup .btn_03 ,
#Wrapper .lineup_dogwild .btn_03 ,
#Wrapper .lineup_dognc .btn_03 ,
#Wrapper .lineup_catnc .btn_03 ,
#Wrapper .lineup_catwild .btn_03 ,
#Wrapper .lineup_catdd .btn_03 
{
	font-size: 100%;
	font-weight: bold;
	width: 95%;
	padding: 0 0 5px 0;
 	letter-spacing: -0.05em;
}

#Wrapper .btnbox {
	margin-top: 100px;
}
/* -------LINE UP END--------- */
/* ---------FLOAT BNR--------- */
#Wrapper .banner {
        width: 100%;
        margin: 0px;
    }
    #Wrapper .banner-body {
        width: 100%;
        border-radius: 0px;
    }
    #Wrapper .banner-bottom {
        padding: 10px 10px 18px 10px;
    }
    #Wrapper .banner-copy {
        font-size: 15px;
    }
    #Wrapper .banner-copy::after {
        font-size: 12px;
        margin-top: 1.4px;
        margin-left: 12px;
        top: initial;
        right: initial;
    }
    #Wrapper .banner-close {
        /* 既存のプロパティはそのまま残し、以下を追加・修正 */
        width: 30px;   /* ボタンの幅を固定 */
        height: 30px;  /* ボタンの高さを固定 (widthと同じ値にする) */
        padding: 0;    /* パディングをなくすか、微調整する */
        display: flex; /* コンテンツ（×）を中央に配置するためにflexboxを使う */
        justify-content: center; /* 水平方向中央揃え */
        align-items: center;     /* 垂直方向中央揃え */
        border-radius: 50%; /* 正円にする */
	
        top: 8px;
        right: 15px;
    	border: none;
    	background-color: #f8f8f8;
   	 	border-radius: 50%;
}
#Wrapper .banner .banner-body a.btn_03 {
    width: 45%;
	font-size: 16px;
    padding: 5px 35px 10px 25px ;
	margin-bottom: 15px;
	display: inline;
	line-height: 1.2em;
}
/* ---------FLOAT BNR--------- */
/* ---------NT LINK----------- */
#Wrapper .ntlinks {
	padding-top: 50px;
}

#Wrapper div.contents-box4{
    width: 48%;
    text-align: center;
	display: inline-block;
	vertical-align:top; 
	font-weight: bold;
	font-size: 14px;
	margin: 0 2px 10px 2px ;
}

#Wrapper div.contents-box4 img{
  width: 100%;
  transition-duration: 0.5s;
	border-radius: 15px;
}

#Wrapper div.contents-box4 div.contents-info p {
	margin: 0;
	padding: 0;
}
#Wrapper .contents-box4 a img{
  width: 100%;
  transition-duration: 0.5s;
}
#Wrapper .contents-box4:hover a img{
  transform: scale(1.1);
  transition-duration: 0.5s;
}
/* -------NT LINK END--------- */
/* ---------NT MOVIE---------- */

#Wrapper div.contents-box2{
    width: 48%;
    text-align: center;
	display: inline-block;
	vertical-align:top; 
	font-weight: bold;
	font-size: 16px;
	margin: 0 2px 10px 2px ;
  }

#Wrapper div.contents-box2 iframe{
    border-radius: 15px;
	height: auto;
  }
/* -------NT MOVIE END-------- */
/* ----------YOUTUBE--------- */
#Wrapper section div.MainMovieSp {
    /* position: relative; 不要な場合が多い */
    width: 100%; /* 親要素の幅いっぱいに広げる */
    /*padding-bottom: 99vw; */
    height: auto; /* 高さは子要素に任せるか、必要ならここで指定 */
    overflow: visible; /* 親のオーバーフローはhiddenにしない */
    border-radius: 0;
    margin:50px auto auto auto!important;
}
 /*
#Wrapper .Youtube {
 padding-bottom: 50%; /* 16:9 = 9 / 16 = 0.5625 
}*/ 

#Wrapper section .MainMovie {
	display: none;
	height: 0px;
}
#Wrapper .MainMovieSp iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;

}

/* --------YOUTUBE END------- */