*/
_createStyles: function () {
if (!styleElement.parentNode) {
styleElement.type = "text/css";
document.getElementsByTagName("head")[0].appendChild(styleElement);
}
},
/**
* Removes styles from the
*/
_removeStyles: function () {
if (styleElement.parentNode) {
styleElement.parentNode.removeChild(styleElement);
}
},
/**
* Creates Navigation Toggle
*/
_createToggle: function () {
// If there's no toggle, let's create one
if (!opts.customToggle) {
var toggle = document.createElement("a");
toggle.innerHTML = parseHTML(opts.label);
setAttributes(toggle, {
"href": "#",
"class": "nav-toggle-aycw"
});
// Determine where to insert the toggle
if (opts.insert === "after") {
nav.parentNode.insertBefore(toggle, nav.nextSibling);
} else {
nav.parentNode.insertBefore(toggle, nav);
}
navToggle = toggle;
// There is a toggle already, let's use that one
} else {
var toggleEl = opts.customToggle.replace("#", "");
if (document.getElementById(toggleEl)) {
navToggle = document.getElementById(toggleEl);
} else if (document.querySelector(toggleEl)) {
navToggle = document.querySelector(toggleEl);
} else {
throw new Error("The custom nav toggle you are trying to select doesn't exist");
}
}
},
/**
* Closes the navigation when a link inside is clicked
*/
_closeOnNavClick: function () {
if (opts.closeOnNavClick) {
var links = nav.getElementsByTagName("a"),
self = this;
forEach(links, function (i, el) {
addEvent(links[i], "click", function () {
if (isMobile) {
self.toggle();
}
}, false);
});
}
},
/**
* Prevents the default tap functionality
*
* @param {event} event
*/
_preventDefault: function(e) {
if (e.preventDefault) {
if (e.stopImmediatePropagation) {
e.stopImmediatePropagation();
}
e.preventDefault();
e.stopPropagation();
return false;
// This is strictly for old IE
} else {
e.returnValue = false;
}
},
/**
* On touch start get the location of the touch
* and disable pointer events on the body.
*
* @param {event} event
*/
_onTouchStart: function (e) {
this._preventDefault(e);
addClass(document.body, "disable-pointer-events");
this.startX = e.touches[0].clientX;
this.startY = e.touches[0].clientY;
this.touchHasMoved = false;
/**
* We remove mouseup event completely here to avoid
* double triggering of events.
*/
removeEvent(navToggle, "mouseup", this, false);
},
/**
* Check if the user is scrolling instead of tapping and
* re-enable pointer events if movement happed.
*
* @param {event} event
*/
_onTouchMove: function (e) {
if (Math.abs(e.touches[0].clientX - this.startX) > 10 ||
Math.abs(e.touches[0].clientY - this.startY) > 10) {
this._enablePointerEvents();
this.touchHasMoved = true;
}
},
/**
* On touch end toggle either the whole navigation or
* a sub-navigation depending on which one was tapped.
*
* @param {event} event
*/
_onTouchEnd: function (e) {
this._preventDefault(e);
if (!isMobile) {
return;
}
// If the user isn't scrolling
if (!this.touchHasMoved) {
// If the event type is touch
if (e.type === "touchend") {
this.toggle();
if (opts.insert === "after") {
setTimeout(function () {
removeClass(document.body, "disable-pointer-events");
}, opts.transition + 300);
}
return;
// Event type was click, not touch
} else {
var evt = e || window.event;
// If it isn't a right click, do toggling
if (!(evt.which === 3 || evt.button === 2)) {
this.toggle();
}
}
}
},
/**
* For keyboard accessibility, toggle the navigation on Enter
* keypress too (also sub-navigation is keyboard accessible
* which explains the complexity here)
*
* @param {event} event
*/
_onKeyUp: function (e) {
var evt = e || window.event;
if (evt.keyCode === 13) {
this.toggle();
}
},
/**
* Enable pointer events
*/
_enablePointerEvents: function () {
removeClass(document.body, "disable-pointer-events");
},
/**
* Adds the needed CSS transitions if animations are enabled
*/
_transitions: function () {
if (opts.animate) {
var objStyle = nav.style,
transition = "max-height " + opts.transition + "ms";
objStyle.WebkitTransition = transition;
objStyle.MozTransition = transition;
objStyle.OTransition = transition;
objStyle.transition = transition;
}
},
/**
* Calculates the height of the navigation and then creates
* styles which are later added to the page
*/
_calcHeight: function () {
var savedHeight = 0;
for (var i = 0; i < nav.inner.length; i++) {
savedHeight += nav.inner[i].offsetHeight;
}
// Pointer event styles are also here since they might only be confusing inside the stylesheet
var innerStyles = "." + opts.jsClass + " ." + opts.navClass + "-" + this.index + ".opened{max-height:" + savedHeight + "px !important} ." + opts.jsClass + " .disable-pointer-events{pointer-events:none !important} ." + opts.jsClass + " ." + opts.navClass + "-" + this.index + ".opened.dropdown-active {max-height:9999px !important}";
if (styleElement.styleSheet) {
styleElement.styleSheet.cssText = innerStyles;
} else {
styleElement.innerHTML = parseHTML(innerStyles);
}
innerStyles = "";
}
};
/**
* Return new Responsive Nav
*/
return new ResponsiveNav(el, options);
};
window.responsiveNav = responsiveNav;
}(document, window, 0));
////
/**
* forEach implementation for Objects/NodeLists/Arrays, automatic type loops and context options
*
* @private
* @author Todd Motto
* @link https://github.com/toddmotto/foreach
* @param {Array|Object|NodeList} collection - Collection of items to iterate, could be an Array, Object or NodeList
* @callback requestCallback callback - Callback function for each iteration.
* @param {Array|Object|NodeList} scope=null - Object/NodeList/Array that forEach is iterating over, to use as the this value when executing callback.
* @returns {}
*/
var forEach=function(t,o,r){if("[object Object]"===Object.prototype.toString.call(t))for(var c in t)Object.prototype.hasOwnProperty.call(t,c)&&o.call(r,t[c],c,t);else for(var e=0,l=t.length;l>e;e++)o.call(r,t[e],e,t)};
var hamburgers = document.querySelectorAll(".hamburger-aycw");
if (hamburgers.length > 0) {
forEach(hamburgers, function(hamburger) {
hamburger.addEventListener("click", function() {
this.classList.toggle("active");
}, false);
});
}
FAQ
Q1: 新作アダルト見放題プランとは何ですか?
カリビアンコムを初めとしたD2Passに加盟している人気月額動画サイトの新作が、配信された日から最長1080日間ストリーミングにて視聴のできるサービスです。動画毎期限はお持ちのプランにより異なりますので、こちらをご確認下さい。本サービスではVIP動画、超VIP動画も視聴が可能となります。(一部の限定された作品は対象外となる事もありますのでご了承ください。)また、30日プラン以上の会員様は「どこでも動画」が追加料金なしで視聴いただけます。 新作アダルト見放題プランにコンテンツ提供をしている対象サイトは下記の通りとなります。
カリビアンコム
|
一本道
|
HEYZO
|
天然むすめ
|
パコパコママ
|
ムラムラってくる素人のサイトを作りました
|
エッチな4610
|
エッチな0930
|
人妻斬り
|
女体のしんぴ
|
レズのしんぴ
|
うんこたれ
|
どこでも動画
※本サービスはD2Pass会員様向けに提供されています。D2Passアカウントをまだお持ちでない方はD2Passへのアカウント移行手続きを行ってからご利用ください。アカウント移行手続きは
こちらから。
Q2: 動画毎期限とは何ですか?
動画ごとに定められている動画視聴ができる期限です。動画が配信された日からお持ちのプランに該当する動画毎期限までの間、視聴をお楽しみいただけます。ログイン後、「新着動画一覧」に表示される動画リストより各動画の期限をご確認いただけます。
Q3: ムービー再生について教えてください
本サービスは動画再生ソフトをインストールすることなくストリーミングでの再生がお楽しみ頂けます。ダウンロードサービスは提供しておりません。また、動画のダウンロード、録画等は禁止しておりますので、ダウンロードされているのを確認した場合はサービスのご利用を停止させていただく場合がございます。
※スマートフォンでのご利用において、ファイル拡張子の都合上、iPhoneでは一部再生できない動画がございます。
Q4: 新作アダルト見放題プランの料金について教えてください
料金はこちらよりご確認いただけます。本サービスは自動継続方式となっておりますので自動課金されます。
※本サービスのご利用停止、並びに継続課金の停止には退会手続きが必要となります。
※本サービスは、本サービスに対する退会手続きが完了するとすぐにサービスのご利用が出来なくなりますのでご注意ください。特典の「どこでも動画」の視聴権も同時に終了となります。
※特典の「どこでも動画」の視聴権は、30日未満のプランには付きません。
Q5: 新作アダルト見放題プランの支払い方法について教えてください
お支払い方法はオンラインでのクレジットカード決済のみとなります。 会費以外に消費税など別途料金がかかることはありません。又、ダイアルQ2や国際電話のような特別料金が別途請求されることはありません。
Q6: 入会の手順を教えてください
こちらのページの申し込みボタンを押して入会フォームに必要事項を記入をしてください。登録が完了すると、登録頂いたメールアドレスに確認メールが送信されます。その後当サイトにて登録したIDとパスワードを記入してサイトにログインができます。
Q7: アップグレードについて教えてください
お客様が現在ご利用のプラン料金とご希望のプラン料金との差額をお支払いいただくことにより、プランの変更をすることができます。
※退会処理後であっても会員有効期間中はアップグレードが可能ですが、会員期間終了後のアップグレードはできません。
※退会処理後にアップグレードをすると退会手続きが無効となり、再度自動継続会員として登録されます。
※アップグレード後の会員有効期限は、アップグレードした日からではなく、最後に課金が発生した日(入会日または継続日) からの計算となりますのでご注意下さい
Q8: ストリーミングの再生ができません
ストリーミングの再生に問題がある場合は、以下の対応をまずお試しください。
1) 画質を変更する
作品ページの再生プレイヤー右下に歯車マークの画質選択箇所があります。再生がスムースにいかない場合は低いビットレートを選んでみてください。
2) ブラウザのキャッシュ削除または変更
ブラウザにキャッシュが溜まっていると、ログインや再生に影響を及ぼすこともありますので、まずはキャッシュ削除をお試しください。また、ご利用のものとは別のブラウザで試すことで改善が見られるケースもあります。別ブラウザでもお試しください。
3) ご利用のモデムとルーターを再起動する
一度完全に電源を切ってから再起動をします。これだけで改善される場合もあります。
4) ご利用中のコンピューターを再起動する
ご使用中のいずれかのソフトウェアがコンピューターの動作を遅くしている可能性があります。コンピューターを再起動し、必要最小限のソフトウェアのみを起動した状態で、速度に改善がないかご確認下さい。
Q9: パスワードを忘れた場合の対応方法を教えてください
ログインができない場合、大文字小文字の間違いがないか、半角英数字で入力されているかを再度ご確認下さい。ログインID又はパスワードを忘れてしまった場合、こちらより再発行をしてください。
Q10: 退会方法について教えてください
本サービスの退会をご希望される場合はこちらより退会手続きを行ってください。退会フォームに登録情報をご入力頂き、送信ボタンをクリックして下さい。退会手続きが正常に処理されますと、お客様の登録メールアドレスに、退会処理完了の確認メールが届きます。 当サイトは入会より自動でクレジットカードの決済が更新されます。次回の自動継続課金をご希望で無い方は、次回更新予定日までに退会手続きが必要となります。
Q11: その他の問い合わせ
本サービスに関するご質問、お問合せはこちらにご連絡下さい。