html, body {
  margin: 0;           /* UAデフォルト8px対策 */
  padding: 0;
  /* iOS/Safariでより安全に横はみ出しを抑止 */
  overflow-x: hidden;
}
@supports (overflow-x: clip){
  html, body { overflow-x: clip; }
}
body {
    font-size:16px;
    font-family:"Noto Sans JP", sans-serif;
    font-weight:400;
    z-index:0;
    line-height: 1.75em;
    letter-spacing:0.05em;
}
a,a.active, a:active, a:focus, a:hover {
	outline:none;
	text-decoration:none;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  margin:0;
  padding:0;
  }
p{
  margin:0;
  padding:0;
}
img{
  width:100%;
  height:auto;
}
*:focus {
  outline: none;
}
.wrapper{
    width:394px;
    position:relative;
    margin:0 auto;
    display:block;
    overflow-x:hidden;
    z-index:99;
    background:#fff;                 /* ← ここを白に戻す */
    isolation:isolate;               /* 子の積層を独立させ安全に */
}
.wrapper::before{
  content:"";
  position:absolute;               /* wrapper基準 */
  left:0; right:0;
  top: var(--grad-top, -10000px);  /* 初期は画面外 */
  height: var(--grad-height, 0px);
  background: linear-gradient(180.05deg,#FFFFFF 39.08%,#58A1B4 100.21%);
  z-index:0;
  pointer-events:none;
}

/* 擬似要素より手前に出すため（必要な場合） */
.wrapper > section{
  position:relative;
  z-index:1;
}
section {
    width:100%;
    padding:0; 
    display:block;
    margin:0 auto;
    position:relative;
}
.container-fluid{
    padding:0;
}
.container{
    padding:0;
}
.mx-auto{
    display:block !important;
    margin:0 auto !important;
}
.text-center{
    text-align:center;
}
.animation01{
    opacity:0;
}
/*--------------------------------------------------------------
PC表示
--------------------------------------------------------------*/
.pc-left-area{
    position:fixed;
    top:0;
    left:0;
    width:calc(50% - 197px) ;
    height:100vh;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    background-image:url(https://d2w53g1q050m78.cloudfront.net/storefitsjapanco/uploads/item/oceantrico25awcp/img/pc_left_area_bg.png);
    z-index:9;
}
.pc-right-area{
    position:fixed;
    top:0;
    right:0;
    width:calc(50% - 197px) ;
    height:100vh;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    background-image:url(https://d2w53g1q050m78.cloudfront.net/storefitsjapanco/uploads/item/oceantrico25awcp/img/pc_right_area_bg.png);
    z-index:9;
}
.pc-inner{
    width:100%;
    height:100vh;
    position:relative;
}
.pc-inner-area01{
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  transform: translateY(-50%);
  margin: auto;

  display: flex;
  flex-direction: column;
  align-items: center;

  gap: 30px;         /* ← これだけで縦の間隔が揃う */
  padding: 0 20px;   /* 横の内側余白は親で管理 */
}
.left-area-concept{width:min(27.36vw,394px);max-width:100%;}
.left-area-lineup{width:min(24.93vw,359px);max-width:100%;}
.left-area-trico-logo{width:min(22.22vw,320px);max-width:100%;}


.pc-inner-area02{
  position: absolute;
  top: 50%;
  left: 0; right: 0;
  transform: translateY(-50%);
  margin: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;         /* ← これだけで縦の間隔が揃う */
  padding: 0 20px;   /* 横の内側余白は親で管理 */
}
.right-area-campaign_banner{width:min(21.74vw,313px);max-width:100%;}
.right-area-qr_code{width:min(10.42vw,150px);max-width:100%;}
.right-area-text{width:min(17.50vw,252px);max-width:100%;}

@media screen and (max-height: 900px){
.left-area-concept{width: min(21.888vw, 315.2px);max-width:100%; }
.left-area-lineup{width: min(19.944vw, 287.2px);max-width:100%; }
.left-area-trico-logo{width: min(17.776vw, 256px);max-width:100%; }
.right-area-campaign_banner{width: min(17.392vw, 250.4px);max-width:100%;}
.right-area-qr_code{width: min(8.336vw, 120px);max-width:100%; }
.right-area-text{width: min(14vw, 201.6px);max-width:100%; }
}
@media screen and (max-width: 767px){
.pc-inner{
    display:none;
}
}
@media screen and (max-width: 480px){
.pc-left-area{
    display:none;
}
.pc-right-area{
    display:none;
}
.wrapper{
    width:100%;
}
}

/*--------------------------------------------------------------
フレーム
--------------------------------------------------------------*/
.frame-red{
  /* 既存 */
  --frame-color: #d61a15;
  --shadow-color: #a80e0b;                 /* 1枚目の影（標準） */
  --bw: clamp(3px, 1.6vw, 5px);       /* 枠の太さ */
  --br: clamp(14px, 4vw, 26px);        /* 角丸 */
  --sx: clamp(3px, 1.2vw, 6px);       /* 影のXオフセット（→） */
  --sy: clamp(4px, 1.8vw, 8px);       /* 影のYオフセット（↓） */

  /* 追加：2枚目の影の色＆相対オフセット（左へ2px・下へ2px） */
  --shadow2-color: color-mix(in srgb, var(--shadow-color) 85%, black);
  --dx2: 0px;                              
  --dy2:  0px;                              

  position: relative;
  background: #fff;
  border: var(--bw) solid var(--frame-color);
  border-radius: var(--br);

  /* ← 影を2本重ねる */
  box-shadow:
    var(--sx)                  var(--sy)                  0 0 var(--shadow-color),
    calc(var(--sx) + var(--dx2)) calc(var(--sy) + var(--dy2)) 0 0 var(--shadow2-color);
  /* overflow: hidden;  ← 中身も角丸で切りたい場合だけON */
  position:relative;
  right:2px;
}
.frame-blue{
  /* 既存 */
  --frame-color: #000bd1;
  --shadow-color: #00345f;                 /* 1枚目の影（標準） */
  --bw: clamp(3px, 1.6vw, 5px);       /* 枠の太さ */
  --br: clamp(14px, 4vw, 26px);        /* 角丸 */
  --sx: clamp(3px, 1.2vw, 6px);       /* 影のXオフセット（→） */
  --sy: clamp(4px, 1.8vw, 8px);       /* 影のYオフセット（↓） */

  /* 追加：2枚目の影の色＆相対オフセット（左へ2px・下へ2px） */
  --shadow2-color: color-mix(in srgb, var(--shadow-color) 85%, black);
  --dx2: 0px;                              
  --dy2:  0px;                              

  position: relative;
  background: #fff;
  border: var(--bw) solid var(--frame-color);
  border-radius: var(--br);

  /* ← 影を2本重ねる */
  box-shadow:
    var(--sx)                  var(--sy)                  0 0 var(--shadow-color),
    calc(var(--sx) + var(--dx2)) calc(var(--sy) + var(--dy2)) 0 0 var(--shadow2-color);
  /* overflow: hidden;  ← 中身も角丸で切りたい場合だけON */
  position:relative;
  right:2px;
}
/*--------------------------------------------------------------
フローティングバナー
--------------------------------------------------------------*/
/* 画面下に固定される“器”。JSで<body>直下に生成してそこへ移す */
#fb{
  position: fixed;
  left: 0; right: 0;
  bottom: calc(7px + env(safe-area-inset-bottom));
  text-align: center;
  z-index: 2147483647;
  pointer-events: none;
  contain: layout paint;
  transform: translateZ(0) translateY(var(--vv-shift, 0px)); /* ← 追加：可視下端差分 */
  -webkit-transform: translateZ(0) translateY(var(--vv-shift, 0px));
  backface-visibility: hidden;
}

/* 実体（クリックできるのは画像 or a） */
#fb .fb-link{
  display: inline-block;
  pointer-events: auto;              /* ← クリックを通す */
}

#fb .fb-img{
  display: block;
  width: min(96vw, 380px);
  height: auto;
}

/* 初期は非表示：FOUC防止＆要件① */
.floating-banner{
  display: none;
}
/*--------------------------------------------------------------
KV
--------------------------------------------------------------*/
/* ===== KV 基本 ===== */
.kv-area{
  position: relative;
  width: 100%;
  margin-inline: auto;
  z-index: 1;
}
.kv-top{ display:block; width:100%; height:auto; }

/* ===== 重ね領域 ===== */
.kv-stack{
  position: relative;
  width: 100%;
  /* 高さはJSでベース画像の表示高に合わせて設定 */
}
.kv-stack img{ display:block; width:100%; height:auto; }

.kv-base{ pointer-events:none; }  /* ベースは操作不要 */

/* ===== オーバーレイ：上端合わせ（既出のまま。確認用） ===== */
.kv-overlay{
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 0;                   /* JSで更新 */
  overflow: hidden;
  z-index: 2;
  will-change: height;
  pointer-events: none;
}
.kv-overlay-inner{
  position: absolute;
  left: 0; right: 0; top: 0;
}

/* ===== ハンドル：幅100%、中心を境界線に一致（transformは使わずJSで補正） ===== */
.kv-handle{
  position: absolute;
  left: 0;
  width: 100%;                 /* ご要望：100%表示 */
  top: 0;                      /* JSで top を境界Y - (ハンドル高/2) に設定 */
  z-index: 4;
  touch-action: none;
  user-select: none;
  -webkit-user-drag: none;
  will-change: top;
  cursor: ns-resize;
}


/* 既存バナーは一段下のZでOK（ハンドル上にしない） */
.kv-collabo-banner{
  width:30%;
  position:absolute;
  left:1%;
  bottom:20%;
  z-index: 3;
  animation-duration: 4s !important;
  animation-iteration-count: infinite;
}
.kv-collabo-banner.animate__animated.animate__rubberBand{
  animation-name: rubberBandHold !important;
}
/* 1秒分（全体の25%）だけ rubberBand の動き、残りは静止 */
@keyframes rubberBandHold{
  0%    { transform: scale3d(1,1,1); }
  7.5%  { transform: scale3d(1.25, 0.75, 1); }  /* 元の30% */
  10%   { transform: scale3d(0.75, 1.25, 1); }  /* 元の40% */
  12.5% { transform: scale3d(1.15, 0.85, 1); }  /* 元の50% */
  16.25%{ transform: scale3d(.95, 1.05, 1); }   /* 元の65% */
  18.75%{ transform: scale3d(1.05, .95, 1); }   /* 元の75% */
  25%   { transform: scale3d(1,1,1); }          /* ここで動き終了(=1秒地点) */
  100%  { transform: scale3d(1,1,1); }          /* 以降は静止(=3秒待機) */
}

/* 既存 */
.kv-slide-wrap{
  padding:10px 0;
  background: linear-gradient(90deg, #63A8BA 0%, #115F73 100%);
}
/*--------------------------------------------------------------
スライド処理
--------------------------------------------------------------*/
/* ===== パラメータ ===== */
:root{
  --ticker-h: clamp(24px, 3.0vw, 40px);          /* 帯の高さ（上下共通） */
  --global-ticker-top: clamp(56px, 10vh, 120px); /* 上部帯の縦位置 */
}

/* ===== 上部（固定帯）※疑似要素の背景リピート方式 ===== */
.global-ticker{
  position: fixed; left: 0; right: 0; top: var(--global-ticker-top);
  height: var(--ticker-h);
  z-index: 12; overflow: hidden; pointer-events: none;
  display: block !important;
  background: transparent !important;
  animation: none !important;
}
.global-ticker__strip{
  position: absolute; inset: 0;
  display: flex; width: 200%; height: 100%;
  will-change: transform;
}
.global-ticker__strip::before,
.global-ticker__strip::after{
  content:""; flex: 0 0 50%; height: 100%;
  background: url(https://d2w53g1q050m78.cloudfront.net/storefitsjapanco/uploads/item/oceantrico25awcp/img/trico_slide_text.png) repeat-x 0 50% / auto 100%;
  /* JSが入れる --tile-w が未定義でも動くフォールバック */
  background-size: var(--tile-w, 1000px) 100% !important;
}
.global-ticker__strip::after{
  background-position-x: calc(-1 * var(--phase, 0px)) !important;
}

/* ===== 下部（KV直下の帯）※画像×2方式 ===== */
.kv-bottom-slide-area{
  position: relative !important;
  height: var(--ticker-h, 36px) !important;
  overflow: hidden;
  isolation: isolate;
  contain: content;
  background: linear-gradient(90deg,#63A8BA 0%,#115F73 100%) !important;
  --gap: 0px; /* XとOの間のギャップ。不要なら0に */
}
.kv-bottom-slide-area .kv-scroll-strip > img{
  height: 100% !important;
  width: auto !important;
  max-width: none !important;   /* ← これが最重要。横幅の上限を外す */
  min-width: 0 !important;
  object-fit: contain !important;
  flex: 0 0 auto !important;
  transform: none !important;
}
.kv-bottom-slide-area .kv-scroll-strip{
  position: absolute; inset: 0;
  display: flex;
  will-change: transform;
  backface-visibility: hidden;
  transform: translateZ(0);
}
/* 擬似要素は使わない（完全無効化） */
.kv-bottom-slide-area .kv-scroll-strip::before,
.kv-bottom-slide-area .kv-scroll-strip::after{
  content:none !important; display:none !important; background:none !important;
}

/* ===== アニメーション ===== */
/* 上帯（疑似要素×背景）の移動：1タイル分だけ左へ */
@keyframes slide-by-tile{
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(calc(-1 * var(--tile-w, 1000px)), 0, 0); }
}
.global-ticker__strip{
  animation-name: slide-by-tile !important;
  animation-timing-function: linear !important;
  animation-iteration-count: infinite !important;
  animation-duration: 20s !important; /* JSが px/秒 で上書き */
  backface-visibility: hidden; transform: translateZ(0);
}

/* 下帯（画像×2）の移動：距離はタイル幅+ギャップ */
@keyframes kvMarquee{
  from { transform: translate3d(0,0,0); }
  to   { transform: translate3d(calc(-1 * (var(--w, 600px) + var(--gap, 0px))), 0, 0); }
}
.kv-bottom-slide-area .kv-scroll-strip.animate{
  animation: kvMarquee var(--dur, 20s) linear infinite;
}

/*--------------------------------------------------------------
クラッカーセクション
--------------------------------------------------------------*/
#cracker-item-01, #cracker-item-02 { position: relative; z-index:9;}

/* 範囲限定レイヤ（開始〜終了セクションの上にだけ敷く） */
.cracker-zone{
  position: absolute;
  left: 0; right: 0;
  overflow: hidden;           /* ← ここで“下端0pxで消える”を保証 */
  pointer-events: none;
  z-index: 3;                 /* 必要に応じて調整 */
}

/* zone 内のキャンバス */
.cracker-canvas{
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index:10;        /* YouTube埋め込みより確実に上 */
  pointer-events:none;  /* クリックは下の動画に通す */
}


/*--------------------------------------------------------------
フラッグセクション
--------------------------------------------------------------*/
.flag-section-01{
    position: relative;
    z-index: 0;         /* 子要素より後ろに背景を置けるよう基準化 */
    isolation: isolate; /* 積層を独立させて安全に背面化（推奨） */
}
.flag-section-01::before{
  content:"";
  position: absolute;
  inset: 0;                     /* 親全体を覆う */
  z-index: -1;                  /* すべてのコンテンツの背面に */
  pointer-events: none;
  background-image: url("../img/bg_flags_01.png"); /* ←添付画像のパスに置換 */
  background-repeat: repeat-y;  /* 縦方向にだけリピート */
  background-position: top center;
  background-size: 100% auto;   /* 横100%にフィット、縦は比率維持 */
}

.flag-section-02{
    position: relative;
    z-index: 0;         /* 子要素より後ろに背景を置けるよう基準化 */
    isolation: isolate; /* 積層を独立させて安全に背面化（推奨） */
}
.flag-section-02::before{
  content: "";
  position: absolute;
  top: 50px;          /* ← ここを追加（inset:0 をやめる） */
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  pointer-events: none;
  background: url("../img/bg_flags_02.png") top center / 100% auto repeat-y;
}

/*--------------------------------------------------------------
YOUTUBEコラボ
--------------------------------------------------------------*/
#oceantrico_02{
    padding:10% 0 0;
}
.collabo-title{
    width:60.3%;
    display:block;
    margin:0 auto;
}
.collabo-text{
    width:80.4%;
    display:block;
    margin:5% auto;
}
.movie-area{
    padding:0 7.5%;
    z-index:1;
    position:relative;
}
.movie-pop{
    width:60.8%;
    position:relative;
    top:12px;
    left:-3.5%;
    z-index:2;
}
.movie-item{
    width: 100%;
    margin: 0 auto;
    aspect-ratio: 16 / 9; /* 560:315 = 16:9 */
    border-radius: 20px;  /* 角丸はラッパーへ */
    overflow: hidden;     /* 角丸を効かせるために必要 */
    position: relative;   /* 念のため（なくてもOK） */
    z-index: 1;
    display: block;
    padding: 0;
}
.movie-item iframe {
    width: 100%;
    height: 100%;    /* ← ここが重要：親の aspect-ratio に合わせて伸縮 */
    display: block;
    border: 0;
    border-radius:15px 15px 20px 20px;
}
.movie-item img{
    border-radius:15px 15px 20px 20px;
}
@media (max-width: 480px){
.movie-item iframe {
    border-radius:10px;
}
.movie-item img{
    border-radius:10px;
}
}
/*--------------------------------------------------------------
STORY
--------------------------------------------------------------*/
#oceantrico_03{
    padding:5% 0 10%;
}
.content-wrapper{
  position: relative;
  width: 85%;
  margin: 0 auto;
}
.story-title{
    width:36.8%;
    display:block;
    margin:8% auto 5%;
}
.story-text{
    width:80%;
    display:block;
    margin:0 auto 5%;
}
.story-img-01{
    width:65.4%;
    display:block;
    margin:0 auto 4%;
}
.story-img-02{
    width:88.6%;
    display:block;
    margin:0 auto 6%;
    border-radius:10px;
    border:2px solid #000;
}

/*--------------------------------------------------------------
ディスカバリーチャンネル
--------------------------------------------------------------*/
#oceantrico_04{
    padding:0 0 10%;
}
.movie-pop02{
    width:72.8%;
    position:relative;
    top:11px;
    left:-7%;
    z-index:2;
}
.movie-start-text{
    width:28.4%;
    position:absolute;
    top:15%;
    right:5%;
    z-index:2;
}
.discovery-area{
    margin:8% auto 10%;
}
.discovery-text{
    width:80%;
    display:block;
    margin:5% auto;
}

/*--------------------------------------------------------------
コンセプト
--------------------------------------------------------------*/
#oceantrico_05{
    z-index:1;
    background:#fff;
    padding:22% 0 12%;
}
#oceantrico_05:before{
    content: "";
    position: absolute;
    inset: 0;                                /* ← これで width/height を確保 */
    background: url(https://d2w53g1q050m78.cloudfront.net/storefitsjapanco/uploads/item/oceantrico25awcp/img/concept_bg.png) no-repeat top left / 100% auto;
    z-index: 2;                              /* 前面に出す */
    pointer-events: none;                    /* クリック邪魔しない */
}
#oceantrico_05 > *{
  position: relative;
  z-index: 3;
}
.cocept-inner{
    width:100%;
    padding:10% 0;
}
.concept-text{
    width:70%;
    display:block;
    margin:0 auto;
}
.concept-title{
    width:70%;
    display:block;
    margin:7% auto 0;
}
.concept-logo{
    width:60%;
    display:block;
    margin:9% auto 0;
}

/*--------------------------------------------------------------
キャンペーン
--------------------------------------------------------------*/
#oceantrico_06{
    position:relative;
    background:#fff;
    padding:10% 0 5%;
    background: linear-gradient(180deg, #fff 0%, #fff 25%, #539ace 100%);
}
.campaign-title{
    width:87.5%;
    display:block;
    margin:0 auto 6%;
}
.campaign-text{
    width:80.9%;
    display:block;
    margin:0 auto 5%;
}
.campaign-term{
    width:78.1%;
    display:block;
    margin:0 auto 3%;
}
.campaign-term-text{
    width:80.1%;
    display:block;
    margin:0 auto 15%;
}
.present-item{
    position:relative;
    padding:6% 0;
    margin-bottom:10%;
}
.present-img{
    width:90%;
    display:block;
    margin:0 auto;
    z-index:1;
}
.present-img-04{
    width:80%;
    display:block;
    margin:2% auto 0;
    z-index:1;
}
.present-img-add-01{
    width:52%;
    position:absolute;
    top:2.5%;
    right:2.5%;
    z-index:2;
}
.present-people{
    width:25%;
    position:absolute;
    top:-6.8%;
    left:-5%;
    z-index:2;
}
.present-people-01{
    width:25%;
    position:absolute;
    top:-6.8%;
    left:-5%;
    z-index:2;
}
.present-people-02{
    width:25%;
    position:absolute;
    top:-6.8%;
    left:-5%;
    z-index:2;
}
.present-people-03{
    width:43.9%;
    position:absolute;
    top:-6.8%;
    left:-5%;
    z-index:2;
}
.present-people-04{
    width:34.8%;
    position:absolute;
    top:-6.8%;
    left:-5%;
    z-index:2;
}
.present-name-90{
    width:90%;
    display:block;
    margin:5% auto 0;
}
.present-name-65{
    width:65%;
    display:block;
    margin:5% auto 0;
}
.present-text{
    width:90%;
    display:block;
    margin:5% auto 0;
}
.present-text-50{
    width:50%;
    display:block;
    margin:5% auto 0;
}
.present-link-button{
    width:70%;
    max-width:300px;
    display:block;
    text-align:center;
    border-radius:25px;
    margin:6% auto 3%;
    background:#000bd1;
    color:#fff;
    font-weight:600;
    font-size:20px;
    padding:8px 3px 8px 10px;
}
.present-text-add{
    width:90%;
    display:block;
    margin:4% auto 0;
}

@media screen and (max-width: 767px){
.present-link-button{
    font-size:18px;
    padding:6px 2px 6px 8px;
}
}
/*--------------------------------------------------------------
対象商品
--------------------------------------------------------------*/
#oceantrico_07{
    padding:8% 0;
}
.present-item-title{
    width:80.6%;
    display:block;
    margin:0 auto 6%;
}
.content-wrapper02{
  position: relative;
  width: 92%;
  margin: 0 auto;
}
/* 既存 */
.present-item02{
  position: relative;
  padding: 6% 0;
  margin-bottom: 3.5%;
  z-index: 1; /* 基準は1でOK */
}

/* 1つ目カードを前面に。はみ出し許可 */
.present-item02:first-child{
  z-index: 5;
  overflow: visible; /* 枠外に「or」を出す */
}
/* 2つ目は通常でOK（明示するなら） */
.present-item02:nth-child(2){
  z-index: 3;
}
/* 3つ目は通常でOK（明示するなら） */
.present-item02:nth-child(3){
  z-index: 1;
}

/* 「or」は1つ目だけに表示 */
.present-item02::after{
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -9.1%;                 /* 位置はお好みで調整 */
  width: clamp(48px, 18%, 64px); /* Figma: 60px 目安 */
  aspect-ratio: 1 / 1;           /* 1:1で円を維持 */
  /* height: 60px; としても可 */

  background: url("../img/present_item_icon.svg") no-repeat center / contain;
  pointer-events: none;
}

.present-item02:last-of-type::after{
  content: none;
}
.present-item-name{
    width:85%;
    display:block;
    margin:3% auto 0;
}
.present-item-img{
    width:88%;
    display:block;
    margin:6% auto;
}
.present-item-text{
    width:70%;
    display:block;
    margin:0% auto 3%;
}
.present-fit-colomn:nth-child(2n+1){
    padding:5% 2% 5% 8%;
}
.present-fit-colomn:nth-child(2n){
    padding:5% 8% 5% 2%;
}
.present-item-bottom-text{
    width:85%;
    display:block;
    margin:5% auto 0;
}

/*--------------------------------------------------------------
リニューアルポイント
--------------------------------------------------------------*/
#oceantrico_08{
    padding:8% 0 0;
}
.renewal-title{
    width:80.6%;
    display:block;
    margin:0 auto 11%;
}
.renewa-item{
    padding:14% 0 10%;
    position:relative;
    z-index:1;
    margin:0 auto 14%;
}
.renewal-point-banner{
    width:55%;
    position:absolute;
    top:-2.8rem;
    left:0;
    right:0;
    margin:auto;
    z-index:2;
}
.renewal-point-title-01{
    width:52%;
    display:block;
    margin:0 auto;
}
.renewal-point-title-02{
    width:85%;
    display:block;
    margin:0 auto;
}
.renewal-point-title-03{
    width:80%;
    display:block;
    margin:0 auto;
}
.renewal-point-title-04{
    width:85%;
    display:block;
    margin:0 auto;
}
.renewal-point-title-05{
    width:52%;
    display:block;
    margin:0 auto;
}
.renewal-point-img{
    width:85%;
    display:block;
    margin:5% auto;
}
.renewal-point-img-05{
    width:75%;
    display:block;
    margin:5% auto 0;
}
.renewal-point-text{
    width:85%;
    display:block;
    margin:0 auto;
}

/*--------------------------------------------------------------
キャンペーン情報
--------------------------------------------------------------*/
#oceantrico_09{
    padding:3% 0 8%;
}
.campaign-info-title{
    width:75.8%;
    display:block;
    margin:0 auto 5%;
}
.store-sub-title{
    width:40.8%;
    display:block;
    margin:10% auto 7%;
}
.shop-column:nth-child(2n+1){
    padding:5px 5px 5px 7.5%;
}
.shop-column:nth-child(2n){
    padding:5px 7.5% 5px 5px;
}
.shop-column span{
    display:block;
    background: rgba(230, 31, 25, 1);
    border-radius:3px;
    color:#fff;
    font-weight:700;
    font-size:17px;
    padding:14px 0;
}
.store-bottom-area{
    width:92.5%;
    display:block;
    margin:6% auto 6%;
}
.shop-area p{
    font-size:12px;
    font-weight:700;
    line-height:1.5;
}
@media (max-width: 480px){
.shop-column span{
    font-size: min(4.2vw, 20px);
    padding:8px 0;
}
.shop-area p {
    font-size: min(2.5vw, 12px);
    line-height:1.4;
}
}

/*--------------------------------------------------------------
応募方法
--------------------------------------------------------------*/
#oceantrico_10{
    padding:3% 0 5%;
}
.apply-sub-title{
    width:40.8%;
    display:block;
    margin:10% auto 7%;
}
.apply-table{
    width:90%;
    display:block;
    margin:3% auto;
}
.apply-table tr{
    width:100%;
    border-top:1.5px solid #000;
}
.apply-table th{
    width:23%;
    vertical-align:middle;
    padding:5% 6% 5% 3%;
}
.apply-table th img{
    width:100%;
}
.apply-table td{
    width:77%;
    vertical-align:middle;
    padding:5% 0;
    font-weight:700;
}
.official-line{
    padding:3% 0;
}
.apply-table td span{
    display:block;
    font-size:20px;
    margin:0 0 1.5%;
    line-height:1.35em;
    letter-spacing:0.02em !important;
}
.apply-table td span.apply-step-title{
    display:block;
    font-size:16px;
}
.apply-table td span.no-margin{
    margin:0;
}
.apply-table td p{
    display:block;
    font-size:12px;
    line-height:1.4em;
    letter-spacing:0.02em !important;
}
@media screen and (max-width: 767px){
.apply-table td span{
    font-size: min(4.2vw, 20px);
}
.apply-table td span.apply-step-title{
    font-size: min(3.36vw, 16px);
}
.apply-table td p{
    font-size: min(2.5vw, 12px);
}
}

/*--------------------------------------------------------------
レシート撮影時の注意事項
--------------------------------------------------------------*/
#oceantrico_11{
    padding:3% 0 0;
}
.receipt-area{
    padding-bottom:10%;
}
.receipt-sub-title{
    width:90.0%;
    display:block;
    margin:10% auto;
}
.shooting-collect-case{
    width:90%;
    display:block;
    margin:5% auto 0;
}
.reciept-text-area{
    width:78.5%;
    display:block;
    margin:0 auto; 
    padding:5% 0 6%;
}
.reciept-text-area p{
    display:block;
    font-size:10px;
    line-height:1.3em;
    letter-spacing:0.02em !important;
}
.shooting-no-correct-case{
    width:90%;
    display:block;
    margin:4% auto 0;
}
@media screen and (max-width: 480px){
.reciept-text-area{
    width:90%;
}
.reciept-text-area p{
    font-size:10px;
}
}

/*--------------------------------------------------------------
キャンペーン応募概要、応募規約、注意事項
--------------------------------------------------------------*/
#oceantrico_11{
    padding:0 0 12%;
}
.term-area{
    position:relative;
    width:90%;
    display:block;
    margin:5% auto 0;
    background:#fff;
    border-radius:40px;
}
.term-sub-title{
    font-size:22px;
    font-weight:700;
    display:block;
    margin:10% auto 4%;
    text-align:center;
}
.term-inner{
    background: rgba(217, 217, 217, 1);
    height:250px;
    overflow-y:auto;
    font-size:13px;
    font-weight: 400 !important;
    line-height:1.5em;
    letter-spacing:0.01em !important;
    padding:5%;
    border-radius:3px;
}
.term-inner a{
    color:#000;
    text-decoration:underline;
}
.term-inner h3{
    text-align:left !important;
    display:block;
    font-size:13px !important;
    font-weight: 400 !important;
    margin:15px 0 0;
    letter-spacing:0.01em;
}
.term-inner h3.term-item-top{
    margin-top:0;
}
.term-indent01{
    display:block;
    margin:0 0 0 1em;
    text-indent:-1em;
}
.term-indent02{
    display:block;
    margin:0 0 0 0.8em;
    text-indent:-0.8em;
}

@media screen and (max-width: 480px){
.term-sub-title{
    font-size: min(4.62vw, 22px);
}
.term-inner{
    font-size: 12px;
}
.term-inner h3{
    font-size: 12px !important;
}
}


/*--------------------------------------------------------------
本キャンペーンに関するお問い合わせはこちら
--------------------------------------------------------------*/
#oceantrico_12{
    padding:8% 0;
    background: rgba(7, 19, 181, 1);    
}
.contact-sub-title{
    font-size:24px;
    font-weight:700;
    line-height:1.5em;
    letter-spacing:0.02em !important;
    display:block;
    color:#fff;
    text-align:center;
}
.contact-button{
    width:80%;
    display:block;
    margin:5% auto 0;
    font-size:20px;
    font-weight:700;
    line-height:1.5em;
    letter-spacing:0.02em !important;
    color:#000;
    background:#fff;
    padding:14px 0;
    border-radius:3px;
    text-align:center;
}
@media screen and (max-width: 480px){
.contact-sub-title{
    font-size: min(5.04vw, 24px);
}
.contact-button{
    font-size: min(4.2vw, 20px);
    padding:12px 0;
}
}

/*--------------------------------------------------------------
フッターメニュー
--------------------------------------------------------------*/
#oceantrico_13{
    padding:12% 0;
    background:#fff;
}
.footer-trico-logo{
    width:30%;
    display:block;
    margin:0 auto;
}
.footer-menu-area{
    margin:10% 0 0;
    padding:0;
    list-style:none;
    display:block;
    text-align:center;
}
.footer-menu-area li{
    padding:0;
}
.footer-menu-area li:nth-child(3){
    margin:6% 0 0;
}
.footer-menu-area li a{
    display:block;
    font-size:20px;
    font-weight:700;
    line-height:1.8em;
    letter-spacing:0.02em !important;
    color:#000;
    text-decoration:underline;
}
@media screen and (max-width: 480px){
.footer-menu-area li a{
    font-size: min(4.2vw, 20px);
}
}

/*--------------------------------------------------------------
フッター
--------------------------------------------------------------*/
#oceantrico_14{
    padding:15% 0 25%;
    background: rgba(230, 31, 25, 1);
}
.footer-concept{
    width:85%;
    display:block;
    margin:0 auto 6%;
}
.footer-copyright{
    width:47.8%;
    display:block;
    margin:0 auto;
}