@charset "utf-8";

/* 
Theme Name:CASTPRO5 2026
URI:
Description:CASTPRO5 theme
Version:1.1.0
Author:Digi-ark 
Tags:
date:2026/9/28
*/

.special-class {
    opacity: 0.3;
    pointer-events: none;
}

.permission {
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0 20px 0;
}

.permission2 {
    font-size: 16px;
    font-weight: bold;
    margin: 5px 0 20px 0;
}

.permission2text {
    color: #cc3300;
}

input[type="checkbox"] {}

.page-id-3481 .wp-video {
    border: #b8b8b8 1px solid;
    margin: 20px 0;
}

.goto_video_gallery {
    text-align: center;
    font-size: 14px;
    margin: 10px 0;
}

.goto_video_gallery a {
    text-decoration: underline;
    color: #111;
}

#footer-widget {
    text-align: center;
}

.price_table th {
    padding: 20px;
    font-size: 20px;
    color: #111;
    width: 50%;
}

.price_table th,
.price_table tr {
    border-collapse: collapse;
}

.price_sub {
    font-weight: bold;
}

.price_sub_license {
    font-weight: bold;
    font-size: 16px;
    margin: 12px 0 14px 0;
}

.size16 {
    font-size: 20px;
}

.subsc_box {
    background-color: #cc3300;
    padding: 5px 20px;
    border-radius: 20px;
    color: #fff;
    font-size: 12px;
    font-weight: normal;
    margin-left: 10px;
}

.price_bloc_column {
    display: flex;
    flex-wrap: nowrap;
    gap: 20px;
}

.top_price_attent {
    text-align: center;
}

.m20 {
    margin-top: 30px;
}

.small {
    font-size: 12px;
}

.price_buy_button {
    text-align: center;
}

.top_price_attent2 {
    text-align: center;
    font-size: 16px;
}

.price_buy_button a {
    display: block;
    padding: 12px;
    border-radius: 48px;
    text-decoration: none;
    transition: all .6s;
    font-size: 18px;
    text-decoration: none;
    background: #2c2e2f;
    width: 90%;
    color: #fff;
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.valign {
    vertical-align: top;
}

.price_buy_button a:hover {
    background: #353738;
}

.top_new_price_bloc_frame_price {
    font-size: 32px;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: #000;
    font-family: 'Roboto Condensed', sans-serif;
}

.price_tax_note {
    text-align: right;
    font-size: 14px;
}

.price_upper {
    color: #cc3300;
    font-size: 14px;
}

.normal_price {
    font-size: 18px;
}

.price_bloc_column_content {
    display: flex;
    align-items: center;
    margin-right: 20px;
    margin-bottom: 10px;
}

.price_table th {
    position: relative;
}

.video_bloc {
    width: 640px;
    margin: 30px auto 0 auto;
}

.video_bloc video {
    width: calc(100% - 20px);
    height: auto;
    margin: 0 10px;
}

s #responsive_lightbox_image_widget-2 {
    text-align: center;
}

#responsive_lightbox_image_widget-2 img {
    max-width: 100%;
    width: 200px;
}

.main_bloc a {
    color: #fff;
}

.bnr800 {
    width: 800px;
    margin: 50px auto;
}

.bnr800 video {
    width: 100%;
    height: auto;
}

.bnr800 p {
    text-align: center;
    font-size: 12px;
    padding: 0;
    margin: 0;
}

.bnr800 a {
    text-decoration: underline;
}

.ajax_search {
    margin: 50px auto!important;
}

#gw_info {
    border: rgba(154, 0, 2, 1.00) 2px solid;
    padding: 10px;
    text-align: center;
    color: rgba(154, 0, 2, 1.00);
    margin: 50px auto 0 auto;
    width: 860px;
}

#gw_info h3 {
    font-size: 18px;
    margin-bottom: 20px;
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    font-size: 100%;
    vertical-align: baseline
}

html {
    line-height: 1;
    overflow-x: hidden;
    max-width: 100%;
}

ol,
ul {
    list-style: none
}

table {
    border-spacing: 0
}

#contaner {
    z-index: 99999
}

caption,
th,
td {
    text-align: left
}

q,
blockquote {
    quotes: none
}

q:before,
q:after,
blockquote:before,
blockquote:after {
    content: "";
    content: none
}

a {
    color: #06C;
    text-decoration: none
}

a img {
    border: none
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary {
    display: block
}

img a {
    border-style: none
}

body {
    background-color: #efeded;
    font-family: Noto Sans Japanese, Noto Sans JP, sans-serif;
    font-weight: 400;
    margin: 0;
    padding: 0;
    font-size: 14px;
    line-height: 1.6em;
    -webkit-text-size-adjust: none;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    overflow-x: clip;
    color: rgba(86, 86, 86, 1.00);
}

#loading {
    position: fixed;
    width: 100%;
    height: 100vh;
    background-color: rgba(255, 255, 255, 1.0);
    z-index: 9999;
    top: 0;
    padding-top: 300px;
}

.loader,
.loader:after {
    border-radius: 50%;
    width: 10em;
    height: 10em;
}

.loader {
    margin: 60px auto;
    font-size: 10px;
    position: relative;
    text-indent: -9999em;
    border-top: 1.1em solid rgba(96, 228, 230, 0.2);
    border-right: 1.1em solid rgba(96, 228, 230, 0.2);
    border-bottom: 1.1em solid rgba(96, 228, 230, 0.2);
    border-left: 1.1em solid #60e4e6;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation: load8 1.1s infinite linear;
    animation: load8 1.1s infinite linear;
}

@-webkit-keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

@keyframes load8 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(360deg);
        transform: rotate(360deg);
    }
}

#hero_header {
    background-color: #0c0c0c;
    color: #fff;
    text-align: center;
    padding: 120px 10px 100px 10px;
}

#hero_header h1 {
    font-weight: 600;
    font-size: 60px;
    line-height: 1.0em;
    padding: 10px 0;
    letter-spacing: -0.04em;
}

.header-upper-sub-cap {
    font-size: 18px;
    color: #9e9e90;
    font-family: "Geist", sans-serif;
    font-optical-sizing: auto;
    letter-spacing: -0.02em;
    font-weight: 600;
}

.header-upper-description {
    font-size: 18px;
    color: #9e9e90;
    padding: 10px 0;
    font-weight: 600;
    letter-spacing: -0.08em;
    ;
}

.header-movie {
    width: 1400px;
    margin: 50px auto;
}

.header-movie video {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
}


/* ボタン2つを中央に並べる */

.flex-box-sprit {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 20px;
}


/* グラデーションボタン */

.grad-button a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 200px;
    height: 40px;
    padding: 0 20px;
    /* 右側は矢印の分を空ける */
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.05em;
    text-decoration: none;
    border-radius: 60px;
    background-color: transparent;
    background-image: linear-gradient( 90deg, #4c5b65 0%, #697b8b 50%, #7b8fa3 100%);
    transition: opacity 0.3s, transform 0.3s;
}


/* 右端の矢印 */

.grad-button a::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") no-repeat center / contain;
}


/* ホバー */

.grad-button a:hover {
    opacity: 0.85;
    transform: translateY(-2px);
}

:is(#front-mid,
#front-reinvent) {
    padding: 100px;
    text-align: center;
}

:is(#front-mid,
#front-reinvent) h2 {
    font-size: 50px;
    font-weight: 900;
    background: linear-gradient(90deg, #8b46af, #c03c84);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
    color: transparent;
    /* フォールバック・念のための透明化 */
    display: inline-block;
    /* 必要に応じて：グラデーションの適用範囲をテキスト幅に合わせる場合 */
    line-height: 1.2em;
    letter-spacing: -0.04em;
}

.flex-box {
    margin: 50px auto;
    display: flex;
    justify-content: center;
}

.templates-description {
    width: 1020px;
    margin: auto;
    padding: 30px 0;
}


/* =========================================
   ZETA フロント：機能紹介〜design.md
========================================= */

:is(#zeta-features,
#zeta-why),
#zeta-cards,
#zeta-design {
    --zeta-container: 1200px;
    --zeta-gutter: 24px;
    color: #16161a;
}

:is(#zeta-features,
#zeta-why) img,
#zeta-cards img,
#zeta-design img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}


/* ---------- 機能紹介（左右交互・画像は画面端まで） ---------- */

:is(#zeta-features,
#zeta-why) {
    padding: 20px 0 80px;
}

.zeta-feature {
    display: grid;
    align-items: start;
    gap: 56px;
    margin-bottom: 150px;
}

.zeta-feature:last-child {
    margin-bottom: 0;
}


/* img-left: 画像→右列、テキスト→左列 */

.zeta-feature--img-left {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    padding-left: max(var(--zeta-gutter), calc((100% - var(--zeta-container)) / 2));
}


/* img-right: 画像→左列、テキスト→右列 */

.zeta-feature--img-right {
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    padding-right: max(var(--zeta-gutter), calc((100% - var(--zeta-container)) / 2));
}


/* DOM順を視覚上で入れ替え（PC） */

.zeta-feature--img-right .zeta-feature__media {
    order: -1;
    /* テキストが先に来るDOMなので画像を左へ */
}

.zeta-feature--img-left .zeta-feature__media {
    order: 1;
    /* 画像が先に来るDOMなので画像を右へ */
}

.zeta-feature__media img {
    width: 100%;
}


/* PC のみ：内側の角だけ角丸（#zeta-features で詳細度を上げて ID セレクターに勝つ） */

:is(#zeta-features,
#zeta-why) .zeta-feature--img-right .zeta-feature__media img {
    border-radius: 0 16px 16px 0;
    /* top-right・bottom-right のみ */
}

:is(#zeta-features,
#zeta-why) .zeta-feature--img-left .zeta-feature__media img {
    border-radius: 16px 0 0 16px;
    /* top-left・bottom-left のみ */
}


/* sticky：左カラムの高さに追従して画像を上固定 */

.zeta-feature__media {
    position: sticky;
    top: 0;
}

.zeta-feature__title {
    margin: 0;
    font-size: 40px;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -0.04em;
    color: #16161a;
}

.zeta-feature__text {
    margin: 28px 0 0;
    font-size: 14px;
    line-height: 1.6;
    color: #5a5a66;
    letter-spacing: -0.04em;
    font-weight: 400;
}

.zeta-parts-list {
    margin: 16px 0 0;
    padding: 0 0 0 20px;
    list-style: disc;
    font-size: 16px;
    line-height: 1.75;
    color: #5a5a66;
    font-weight: 600;
}

.zeta__theme_mode {
    font-size: 12px;
    letter-spacing: -0.04em;
    margin-bottom: 10px;
    line-height: 1.6;
    color: #5a5a66;
    font-weight: 400;
}

.zeta-design__visual img {
    margin: 10px 0;
}

.zeta-parts-list ul {
    margin: 0;
    padding-left: 1em;
}

.zeta-body-strong {
    font-size: 20px;
    margin: 20x 0 10px 0;
    font-weight: bold;
}

.zeta_list_head {
    margin-top: 50px;
    font-weight: bold;
    font-size: 20px;
}

.zeta-feature__body strong {
    font-weight: bold;
    color: #1f1f1f;
    letter-spacing: -0.08em;
    ;
    margin: 10px 0;
}

.zeta-feature .zeta-fearture-sub {
    font-weight: bold;
    margin: 50px 0 20px 0;
    font-size: 22px;
    background: linear-gradient(90deg, #8b46af, #c03c84);
    -webkit-background-clip: text;
    background-clip: text;
    -webkit-text-fill-color: transparent;
}


/* ---------- 3カラム ---------- */

#zeta-cards {
    padding: 80px var(--zeta-gutter) 60px;
}

.zeta-cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;
    max-width: 1400px;
    margin: 0 auto;
}

.zeta-card img {
    width: 100%;
}

.zeta-card__title {
    margin: 24px 0 0;
    font-size: 28px;
    font-weight: 700;
    line-height: 1.1;
    color: #16161a;
    letter-spacing: -0.06em;
}

.zeta-card__text {
    margin: 14px 0 0;
    font-size: 13px;
    line-height: 1.8;
    color: #5a5a66;
    font-weight: 400;
}


/* ---------- design.md ---------- */

#zeta-design {
    text-align: center;
    padding-bottom: 70px;
}

.zeta-design__title {
    margin: 0;
    font-family: "Geist", sans-serif;
    font-optical-sizing: auto;
    font-weight: 500;
    font-size: 120px;
    line-height: 1;
    letter-spacing: -0.08em;
    color: #1a1a1a;
}

.zeta-design__sub {
    font-size: 28px;
    font-weight: 500;
    text-align: center;
    padding-top: 10px;
}

.zeta-design__text {
    margin: 36px 0 40px 0;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.6;
    color: #55555f;
    letter-spacing: -0.06em;
    ;
}

.zeta-design__visual {
    max-width: 1040px;
    margin: 20px auto 0;
}

.zeta-design__visual img {
    width: 100%;
}

.mt10 {
    margin-top: 10px;
}


/* =========================================
   レスポンシブ（ヒーロー〜design.md）
========================================= */


/* 動画幅（1400px固定）を画面幅に合わせる */

@media (max-width: 1440px) {
    .header-movie {
        width: auto;
        max-width: 1400px;
    }
}

@media (max-width: 1024px) {
    .p10 {
        padding: 16px;
    }
     :is(#zeta-features,
    #zeta-why) {
        padding: 20px 0 20px;
    }
    #hero_header h1 {
        font-size: 46px;
    }
     :is(#front-mid,
    #front-reinvent) {
        padding: 80px 24px;
    }
     :is(#front-mid,
    #front-reinvent) h2 {
        font-size: 38px;
    }
    .zeta-feature {
        gap: 40px;
        margin-bottom: 110px;
    }
    .zeta-feature__title {
        font-size: 24px;
    }
    .zeta-cards {
        gap: 24px;
    }
    .zeta-card__title {
        font-size: 17px;
    }
    .zeta-design__title {
        font-size: 96px;
    }
}

@media (max-width: 768px) {
    .template-item-img-wrapper {
        text-align: center;
        display: flex;
        justify-content: center;
        align-items: flex-start;
    }
    .template-item-img {
        margin: 0 auto;
    }
    .flex-box-sprit {
        flex-direction: column;
        gap: 16px;
    }
    .templates-description {
        max-width: 100%;
        box-sizing: border-box;
    }
    /* ヒーロー */
    #hero_header {
        padding: 100px 20px 64px;
    }
    #hero_header h1 {
        font-size: 34px;
        line-height: 1.2em;
    }
    .header-upper-sub-cap {
        font-size: 14px;
    }
    .header-upper-description {
        font-size: 14px;
        line-height: 1.7;
    }
    .header-movie {
        margin: 36px auto;
    }
    /* セクション見出し */
     :is(#front-mid,
    #front-reinvent) {
        padding: 0;
    }
     :is(#front-mid,
    #front-reinvent) h2 {
        font-size: 28px;
        line-height: 1.35em;
    }
    /* 機能紹介：1カラム・画像を上に */
     :is(#zeta-features,
    #zeta-why),
    #zeta-cards,
    #zeta-design {
        --zeta-gutter: 20px;
    }
    .zeta-feature,
    .zeta-feature--img-left,
    .zeta-feature--img-right {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 0 var(--zeta-gutter);
        margin-bottom: 80px;
    }
    /* モバイル：両パターンとも画像を先頭に、sticky解除、角丸をリセット */
    .zeta-feature--img-right .zeta-feature__media,
    .zeta-feature--img-left .zeta-feature__media {
        order: -1;
        position: static;
        /* stickyを解除 */
    }
     :is(#zeta-features,
    #zeta-why) .zeta-feature--img-right .zeta-feature__media img,
     :is(#zeta-features,
    #zeta-why) .zeta-feature--img-left .zeta-feature__media img {
        border-radius: 16px;
    }
    .zeta-feature__title {
        font-size: 22px;
    }
    .zeta-feature__text {
        margin-top: 20px;
    }
    .zeta-parts-list {
        columns: 2;
        column-gap: 24px;
    }
    .zeta-parts-list>li {
        break-inside: avoid;
    }
    /* 3カラム → 1カラム */
    #zeta-cards {
        padding: 40px var(--zeta-gutter);
    }
    .zeta-cards {
        grid-template-columns: 1fr;
        gap: 48px;
        max-width: 520px;
    }
    .zeta-card__title {
        margin-top: 20px;
        font-size: 18px;
    }
    /* design.md */
    #zeta-design {
        padding: 48px var(--zeta-gutter) 80px;
    }
    .zeta-design__title {
        font-size: 72px;
    }
    .zeta-design__text {
        margin-top: 24px;
        font-size: 14px;
        text-align: left;
    }
    .zeta-br-pc {
        display: none;
    }
    /* 既存の動画ブロック（640px固定）のはみ出し防止 */
    .video_bloc {
        width: auto;
        max-width: 640px;
    }
}

@media (max-width: 480px) {
    #hero_header h1 {
        font-size: 28px;
    }
    .header-upper-sub-cap {
        font-size: 12px;
    }
    .header-upper-description {
        font-size: 13px;
    }
     :is(#front-mid,
    #front-reinvent) h2 {
        font-size: 22px;
        padding: 50px 0;
    }
    .zeta-feature__title {
        font-size: 20px;
    }
    .zeta-feature__text,
    .zeta-parts-list,
    .zeta-card__text {
        font-size: 13px;
    }
    .zeta-design__title {
        font-size: 56px;
    }
    .grad-button a {
        width: 280px;
        height: 54px;
        font-size: 16px;
    }
    #text-5 {
        padding-top: 50px;
    }
}

ul.faq_list li h4 {
    font-size: 14px;
    padding: 5px 0;
    margin: 0;
    font-weight: normal;
}

.hvr-fade {
    display: inline-block;
    vertical-align: middle;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    box-shadow: 0 0 1px transparent;
    overflow: hidden;
    -webkit-transition-duration: .3s;
    transition-duration: .3s;
    -webkit-transition-property: color, background-color;
    transition-property: color, background-color
}

.hvr-fade:active,
.hvr-fade:focus,
.hvr-fade:hover {
    color: #fff
}

.clearfix:before,
.clearfix:after {
    content: "";
    display: block;
    overflow: hidden
}

.clearfix:after {
    clear: both
}

.clearfix {
    zoom: 1
}

.container-inner {
    max-width: 1020px;
    margin: 0 auto;
    position: relative
}

header {
    position: fixed;
    width: 97%;
    z-index: 99999;
    padding: 10px 20px;
    top: 10px;
    /* 上部に余白を持たせるためmarginから移動 */
    left: 50%;
    transform: translateX(-50%);
    height: 60px;
    background: rgba(12, 12, 12, 0.623);
    backdrop-filter: blur(6px);
    border-radius: 40px;
    box-sizing: border-box;
    /* paddingを含めた幅計算にするために推奨 */
}

#nav-smart.menu {
    width: 25px;
    height: 70px;
    top: 32px;
    position: absolute;
    right: 30px;
    z-index: 9999;
    cursor: pointer
}

.menu1 {
    width: 25px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 20px
}

.menu2 {
    width: 25px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 30px
}

.menu3 {
    width: 25px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    top: 40px
}

.menu1,
.menu2,
.menu3 {
    transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out
}

.menuclick1,
.menuclick2,
.menuclick3 {
    background-color: #000
}

.menuclick1 {
    top: 30px;
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg)
}

.menuclick2 {
    opacity: 0
}

.menuclick3 {
    top: 30px;
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.nav-drawer {
    display: none
}

.nav-drawer .nav>li {
    display: block
}

#contaner {
    box-sizing: border-box
}

.page #contaner,
.single #contaner {
    padding-top: 100px
}

#sidr {
    box-sizing: border-box;
    padding: 100px 50px 50px;
    width: 100%;
    height: 1000px;
    color: #000;
    display: none;
    background-color: rgba(255, 255, 255, 0.97);
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    z-index: 9997
}

#sidr li a {
    display: block;
    padding: 5px;
    text-align: center;
    color: rgba(53, 53, 53, 1.00);
    font-weight: 700;
    font-size: 16px
}

#polylang-2 {
    z-index: 997!important
}

.nav-drawer {
    height: 100%
}

.sb-toggle-left:before {
    top: 13px;
    left: 10px
}

.sb-toggle-left span {
    top: 20px;
    left: 10px
}

.sb-toggle-left:after {
    top: 27px;
    left: 10px
}

.sb-toggle-left:before,
.sb-toggle-left:after,
.sb-toggle-left span {
    -webkit-transition: none .5s ease .5s;
    transition: none .5s ease .5s;
    -webkit-transition-property: transform, top, bottom, left, opacity;
    transition-property: transform, top, bottom, left, opacity
}

.date {
    margin-bottom: 15px
}

div#logo a {
    display: inline-block;
    position: absolute;
    top: 8px;
    left: 0;
    text-indent: -9999px;
    background-image: url(images/logo-cp.png);
    height: 20px;
    width: 101px;
    background-size: 101px auto;
    background-repeat: no-repeat;
}


/* ヘッダー：ロゴをヘッダー要素の左端に配置 */

header .container-inner {
    max-width: none;
    position: static;
}

div#logo a {
    left: 40px;
    top: 50%;
    transform: translateY(-50%);
}


/* ヘッダー：カスタムメニューを天地中央に配置 */

header #head_menu {
    top: 50%;
    left: 50%;
    right: auto;
    transform: translate(-50%, -50%);
    text-align: center;
    white-space: nowrap;
}


/* ヘッダー：右端のカートアイコン */

.header-cart {
    position: absolute;
    top: 50%;
    right: 40px;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    transition: opacity 0.3s ease;
}

.header-cart:hover {
    opacity: 0.7;
}

.header-cart img {
    display: block;
    width: 18px;
    height: 18px;
}

@media (max-width: 738px) {
    .header-cart {
        right: 20px;
    }
}

.plugin-header {
    text-align: center;
    font-size: 14px;
    margin: 25px 0 50px
}

#head_menu .nav {
    margin: 0 auto;
    padding: 0;
    display: table;
    box-sizing: border-box;
}

header nav .nav li .sub-menu a {
    background-color: rgba(255, 255, 255, 0.95);
    padding: 5px
}

#head_menu .nav>li {
    display: table-cell;
    float: none;
    text-align: center;
    margin: 0 1px;
    padding: 0;
    position: relative
}

#head_menu .ul.sub-menu a:hover {
    color: #fff
}

#head_menu .nav li span {
    display: block
}

#head_menu .nav li span.menu_description {
    font-size: 10px
}

#head_menu .nav li ul.sub-menu {
    position: absolute;
    width: 200px!important;
    min-width: 0;
    z-index: 9998!important;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out
}

#head_menu .nav li:last-child ul.sub-menu {
    right: 0
}

#head_menu .nav li:hover>ul,
#head_menu nav .nav li:hover>a {
    display: block
}

#head_menu li a {
    color: #e2e2e2;
    padding: 8px 0px 9px;
    display: block;
    text-align: left;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    margin: 0 10px;
    font-size: 12px
}

#head_menu li.current-menu-item {
    color: #fff;
}

#head_menu .nav>li:first-child {
    margin: 0
}

#head_menu .nav>li span.menu_title {
    font-size: 12px
}

#head_menu .nav ul.sub-menu ul li a:hover a {
    display: block
}

#head_menu .nav li ul.sub-menu>li {
    display: block;
    float: left;
    height: auto;
    text-align: left;
    width: 200px!important
}

#head_menu .nav li ul.sub-menu>li a {
    padding: 5px;
    height: auto
}

#head_menu .nav li ul.sub-menu>li a:hover {
    color: #fff
}

#head_menu {
    position: absolute;
    right: 0;
    top: -1px;
    text-align: right;
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease;
}

#header-widgets {
    color: #fff;
    border-bottom: rgba(216, 216, 216, 0.20) 1px solid;
    position: fixed;
    top: 0;
    left: 0;
    padding: 5px 15px;
    width: 100%;
    text-align: right;
    box-sizing: border-box;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.subtitle {
    font-size: 14px;
    line-height: 1.6em
}

.img_border {
    border: rgba(200, 200, 200, 1.00) 1px solid
}

h3.border-style1 {
    border-bottom: rgba(215, 204, 204, 1.00) 2px solid;
    padding-bottom: 10px;
    border-radius: 4px;
}

.menu_title {
    color: #333
}

.menu_description {
    color: #eb8ab6;
    font-family: Century Gothic
}

.palla .parallax {
    z-index: 1;
    background-size: cover;
    background-position: center top;
    position: relative;
    z-index: 0;
    max-width: 1920px;
    top: 0;
    overflow: hidden;
    text-align: center
}

.palla .widget-meta {
    position: absolute;
    width: 960px;
    height: 120px;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    z-index: 2
}

.bgfixed {
    background-attachment: fixed
}

.para_layer {
    background-repeat: repeat-x
}

.palla {
    position: relative;
    width: auto;
    text-align: center;
    width: 100%
}

#overlayer {
    width: 100%;
    height: 1000px
}

.overlayer_p {
    height: 500px;
    text-align: center;
    position: relative
}

.overlayer,
.overlayer-para {
    width: 100%;
    height: 1000px;
    position: absolute
}

.widget-meta {
    text-align: center
}

.widget_frame {
    padding: 35px 0
}

.free_space .wpcf7 {
    text-align: left
}

.fa-angle-up:before {
    position: absolute;
    top: 10px;
    left: 18px;
    font-size: 24px
}

.para_layer {
    z-index: 998
}

#footer {
    padding: 70px 10px;
    background-color: rgba(34, 34, 34, 1.00);
    color: #fff;
    position: relative;
    clear: both;
    margin-top: 50px;
}

#footer a {
    color: #fff
}

a#move-page-top {
    color: #fff
}

#page-top {
    position: fixed;
    right: 10px;
    bottom: 20px;
    z-index: 9997
}

#page-top p {
    margin: 0;
    padding: 0;
    text-align: center
}

#move-page-top:hover {
    background: #ed4188
}

#move-page-top {
    background: rgba(0, 0, 0, 0.50);
    width: 50px;
    height: 50px;
    color: #333;
    font-size: 22px;
    line-height: 30px;
    text-decoration: none;
    display: block;
    cursor: pointer;
    border-radius: 6px;
    -webkit-transition: all .3s;
    -moz-transition: all .3s;
    transition: all .3s
}

.footer-w {
    float: left;
    width: 48%;
    padding: 0 20px;
    box-sizing: border-box
}

.widget_nav_menu ul {
    width: 100%
}

.widget_nav_menu ul li a {
    display: block;
    font-size: 12px;
    color: rgba(79, 79, 79, 1.00)
}

.sep-w {
    width: 48%;
    float: left;
    margin: 10px
}

#sep-widgets {
    position: relative;
    background-color: #fff;
    width: 100%;
    clear: both
}

#footer-widgets {
    padding: 10px 0
}

#footer .widget h3 {
    width: 100%;
    padding-bottom: 10px;
    margin-bottom: 10px;
    margin-top: 20px;
    font-size: 24px;
    text-align: left
}

.footer-text {
    line-height: 1.4em;
    font-size: 12px;
    clear: both
}


/* フッター公式SNSアイコン */

.footer-social {
    list-style: none;
    margin: 30px 0 10px;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 22px;
    clear: both;
}

.footer-social li {
    margin: 0;
    padding: 0;
}

.footer-social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.footer-social a:hover {
    opacity: 0.75;
    transform: translateY(-2px);
}

.footer-social-icon {
    display: block;
    width: auto;
}

.footer-social-icon--x {
    height: 26px;
}

.footer-social-icon--youtube {
    height: 30px;
}

#footer_copy {
    margin-top: 15px;
    padding: 50px 0;
    border-top: rgba(140, 140, 140, 0.30) 1px solid;
    font-size: 12px;
    text-align: center
}

#text-6 {
    margin-top: 50px;
    font-size: 12px
}

select {
    width: 100%
}

#owl_wrapper {
    min-height: 170px
}

.owl,
.item {
    margin: 0 auto
}

.owl2 .item {
    padding: 10px
}

figure {
    padding: 0
}

.btn_border a {
    width: 200px;
    display: block;
    padding: 10px;
    text-align: center;
    color: #fff;
    border-radius: 30px;
    margin: 20px auto;
    background-color: #ed4188;
}

.btn_border a:hover {
    opacity: 0.8;
}

.post-type-archive-post_showcase #sep-widgets {
    display: none;
}

.page-inner-content td {
    padding: 10px 0;
}

#owl-carousel {
    box-sizing: border-box
}

.owl-item {
    overflow: hidden
}

.item {
    overflow: hidden;
    position: relative;
    padding: 5px
}

.item img {
    width: 100%
}

.owl-theme .owl-controls {
    margin-top: 10px;
    text-align: center
}

.owl-next,
.owl-prev {
    top: 0;
    position: absolute;
    bottom: 0;
    margin: auto;
    height: 20px;
    width: 20px
}

.owl-theme .owl-controls .owl-buttons div {
    color: #333!important;
    display: inline-block;
    zoom: 1;
    filter: Alpha(Opacity=50);
    opacity: .5;
    -webkit-transition: all .2s;
    -moz-transition: all .2s;
    transition: all .2s
}

.owl-buttons {
    z-index: 999
}

.owl-prev {
    left: -30px;
    text-align: right
}

.owl-next {
    right: -30px;
    text-align: left
}

.owl-prev:after {
    content: "\f104";
    font-family: FontAwesome;
    font-size: 56px
}

.owl-next:after {
    content: "\f105";
    font-family: FontAwesome;
    font-size: 56px
}

.owl-prev:hover {
    left: -33px;
    text-align: right
}

.owl-next:hover {
    right: -33px;
    text-align: left
}

figure {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto
}

.item_title,
.post_readmore {
    text-align: center;
    position: absolute
}

.item_title {
    bottom: -50px;
    color: #fff;
    -webkit-transition-delay: .1s;
    transition-delay: .1s;
    padding: 10px;
    text-shadow: 1px 1px 3px #000;
    width: 100%;
    z-index: 1
}

.post_readmore a {
    color: #fff;
    padding: 3px;
    display: block
}

.post_readmore {
    opacity: 0;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    -webkit-transition-delay: .6s;
    -o-transition-delay: .6s;
    -ms-transition-delay: .6s;
    background-color: #7E651B;
    font-size: 10px;
    line-height: 1em;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 100px;
    height: 18px
}

.post-item-thumbnail:hover .post_readmore {
    opacity: 1
}

.post_readmore a:hover {
    opacity: .8
}

.owl-theme .owl-controls .owl-page {
    display: inline-block;
    zoom: 1
}

.owl-theme .owl-controls .owl-page span {
    display: block;
    width: 8px;
    height: 8px;
    margin: 5px;
    filter: Alpha(Opacity=50);
    opacity: .5;
    background: #869791;
    -webkit-border-radius: 8px;
    -moz-border-radius: 8px;
    -ms-border-radius: 8px;
    -o-border-radius: 8px;
    border-radius: 8px
}

.owl-theme .owl-controls .owl-page.active span,
.owl-theme .owl-controls.clickable .owl-page:hover span {
    filter: Alpha(Opacity=100);
    opacity: 1
}

.owl-theme .owl-controls .owl-page span.owl-numbers {
    height: auto;
    width: auto;
    color: #FFF;
    padding: 2px 10px;
    font-size: 12px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    border-radius: 30px
}

.owl-item.loading {
    min-height: 150px;
    background: url(img/AjaxLoader.gif) center center no-repeat
}

.owl-carousel .owl-wrapper:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

.owl-carousel,
.owl-carousel .owl-wrapper {
    position: relative;
    display: none
}

.owl-carousel {
    width: 100%;
    -ms-touch-action: pan-y
}

.owl-carousel .owl-wrapper-outer {
    overflow: hidden;
    position: relative;
    width: 100%
}

#owl_wrapper {
    overflow: hidden;
    padding: 10px 30px
}

.owl-carousel .owl-wrapper-outer.autoHeight {
    -webkit-transition: height 500ms ease-in-out;
    -moz-transition: height 500ms ease-in-out;
    -ms-transition: height 500ms ease-in-out;
    -o-transition: height 500ms ease-in-out;
    transition: height 500ms ease-in-out
}

.mt-post_overlay_icon_owl,
.mt-postlist .post-date_box,
.mt-postlist .post_share_icon,
.post_format_icon_owl i {
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out
}

.owl-carousel .owl-item {
    float: left
}

.owl-controls .owl-buttons div,
.owl-controls .owl-page {
    cursor: pointer
}

.owl-controls {
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    -webkit-tap-highlight-color: transparent
}

.grabbing {
    cursor: url(grabbing.png) 8 8, move
}

.owl-carousel .owl-item,
.owl-carousel .owl-wrapper {
    line-height: 1em;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0)
}

figure:hover .more_view_arrow {
    right: 24.5%;
    opacity: 1;
    position: absolute;
    -webkit-transition-delay: .6s;
    transition-delay: .6s
}

.mt-post_overlay_icon_owl {
    top: 30%;
    left: 33%;
    position: absolute;
    font-size: 20px;
    opacity: 0;
    z-index: 2
}

.post-item-thumbnail:hover .mt-post_overlay_icon_owl {
    -webkit-transform: scale(.8)!important;
    transform: scale(.8);
    padding-top: 10px;
    opacity: 1;
    top: 22%;
    left: 34%
}

.post_format_icon_owl i {
    color: #fff;
    top: 39%;
    font-size: 24px;
    width: 30px;
    height: 30px;
    padding: 20px 21px;
    border: rgba(255, 255, 255, .8) solid;
    background-color: rgba(255, 255, 255, .1);
    border-radius: 40px
}

.mt-postlist .post-item-thumbnail {
    overflow: hidden;
    position: relative;
    background-color: rgba(255, 255, 255, 1)
}

.mt-postlist {
    float: left;
    width: 50%;
    height: auto;
    overflow: hidden
}

.mt-postlist .post-item-thumbnail img {
    max-width: 100%
}

.mt-postlist li {
    position: relative
}

.mt-postlist .post_format_icon {
    z-index: 5;
    opacity: 1;
    display: inline-block;
    text-align: center
}

.mt-postlist .post-item-thumbnail:hover .post-item-inner,
.mt-postlist-small .post-item-thumbnail:hover .post-item-inner {
    bottom: 10%;
    opacity: 1;
    text-align: center
}

.mt-postlist .post-item-thumbnail:hover .mt-post_overlay_icon {
    opacity: 1;
    -webkit-transform: scale(.8)!important;
    transform: scale(.8);
    top: 40%
}

.mt-postlist .post-item-thumbnail:hover .post-date_box {
    opacity: 0;
    top: -50px
}

.mt-postlist .post-item-thumbnail:hover .post_share_icon {
    opacity: 1;
    bottom: 20%;
    z-index: 6;
    text-shadow: 0 1px 0 rgba(0, 0, 0, 1)
}

.mt-postlist-small li {
    float: left;
    width: 50%;
    line-height: 1em
}

.mt-postlist .post-item-inner,
.mt-postlist-small .post-item-inner {
    position: absolute;
    bottom: 10px;
    text-align: center;
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    width: 100%;
    padding: 20px;
    z-index: 0;
    color: #fff;
    opacity: 0;
    -webkit-transition-duration: .6s;
    transition-duration: .6s
}

.mt-postlist .post-item-date,
.mt-postlist-small .post-item-date {
    font-size: 12px;
    text-align: center;
    color: #fff;
    margin-top: 15px
}

.thumbnail-overlayer-on {
    background-color: rgba(0, 0, 0, .8);
    width: 100%;
    height: 100%
}

.mt-postlist-small .post-item-thumbnail {
    overflow: hidden;
    position: relative;
    background-color: #47aaa4
}

.mt-postlist-small .post-item-thumbnail img {
    max-width: 100%
}

.mt-postlist-small .post-item-thumbnail:hover img {
    opacity: .5
}

.post-inner .post-thumbnail img:hover {
    -o-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -moz-transform: scale(1.03);
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
}

.mt-postlist-small {
    padding-left: 50%
}

.mt-postlist-small li {
    position: relative
}

.mt-postlist-small .post-item-inner {
    font-size: 12px
}

.mt-postlist_group {
    margin-bottom: 20px
}

.post-inner .post-thumbnail {
    overflow: hidden;
    width: 100%
}

.oi_soc_icons2 {
    margin: 0 auto;
    text-align: center
}

.oi_soc_icons2 ul {
    list-style: none;
    margin: 0!important
}

.oi_soc_icons2 li {
    list-style: none!important;
    padding: 0;
    float: left;
    margin: 0 1% 1% 0;
    box-sizing: border-box
}

.oi_soc_icons2 li a {
    font-size: 80%;
    position: relative;
    display: block;
    color: #fff;
    text-align: center
}

.oi_soc_icons2 li.facebook {
    background-color: #3c5a98
}

.oi_soc_icons2 li.twitter {
    background-color: #2daae2
}

.oi_soc_icons2 li.googleplus {
    background-color: #dd4c39
}

.oi_soc_icons2 li.hatebu {
    background-color: #0291dd
}

.project-item.style-1 img {
    -o-transform: scale(1.0);
    -ms-transform: scale(1.0);
    -moz-transform: scale(1.0);
    -webkit-transform: scale(1.0);
    transform: scale(1.0);
    position: relative;
    height: auto;
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out
}

.owl figure:hover .thumb-overlayer {
    background-color: rgba(0, 0, 0, 0.50);
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.page-inner-content a {
    text-decoration: underline;
}

.readmore_btn a {
    display: block;
    padding: 10px;
    text-align: center;
    width: 250px;
    margin: 20px auto;
    border: rgba(30, 30, 30, 1.00) 1px solid;
    color: rgba(30, 30, 30, 1.00);
    text-decoration: none;
}

.label {
    background: #661C50;
    background: linear-gradient(120deg, #B0139D 0%, #661C50 100%);
}

.label::after {
    background-color: #ffffff;
}

.label::after {
    position: absolute;
    top: 0;
    right: 0;
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 10px 0 0 10px;
    border-color: transparent transparent transparent rgba(0, 0, 0, 0.24);
}

.label {
    font-weight: 500;
    box-shadow: 0 6px 14px -4px rgba(0, 0, 0, .34);
    line-height: 30px !important;
    font-size: 15px;
    margin: 10px 0;
    font-weight: bold;
    vertical-align: middle;
    padding: 0 14px;
    -webkit-box-shadow: none;
    box-shadow: none;
    position: relative;
    display: inline-block;
    text-decoration: none;
    text-align: center;
    color: #fff !important;
    text-shadow: none;
}

p.label {
    display: inline-block;
    padding: 0 20px 0 10px;
    line-height: 32px;
}

.thumb-overlayer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1);
    z-index: 999
}

.project-item.style-1:hover img {
    -o-transform: scale(1.1);
    -ms-transform: scale(1.1);
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    transform: scale(1.1)
}

.project-item.style-1 h4 {
    opacity: 0;
    position: relative;
    right: 25px;
    transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out
}

.project-item.style-1:hover h4 {
    opacity: 1
}

.project-item.style-1 .project-categories {
    opacity: 0;
    position: relative;
    right: -25px;
    transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out
}

.project-item.style-1 .project-info {
    text-align: center;
    position: absolute;
    top: 56%;
    width: 80%;
    margin-top: -25px;
    padding-left: 20%
}

.project-item.style-1 h4 {
    font-size: 12px;
    line-height: 12px;
    font-weight: 400;
    text-transform: uppercase
}

.project-item.style-1 h4 a {
    position: relative;
    display: inline-block
}

.project-item.style-1 h4,
.project-item.style-1 h4 a,
.project-item.style-1 h4 a:hover {
    color: #fff;
    line-height: 1.4em;
    font-size: 22px;
    font-weight: 700
}

.project-item.style-1 .project-categories {
    font-size: 10px;
    line-height: 14px;
    letter-spacing: 2px;
    color: #fff;
    text-transform: uppercase
}

.project-item.style-1 .project-categories a {
    color: #fff
}

.project-item.style-1 .project-links {
    position: absolute;
    bottom: 20px;
    right: 20px;
    text-align: right;
    width: 100%
}

.project-item.style-1 .project-links a {
    display: inline-block;
    width: 32px;
    height: 32px;
    color: #fff;
    text-align: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    margin-right: 2px;
    position: relative;
    opacity: 0;
    transition: all .4s ease-in-out;
    -moz-transition: all .4s ease-in-out;
    -webkit-transition: all .4s ease-in-out;
    -o-transition: all .4s ease-in-out
}

.project-item.style-1 .project-links a:last-child {
    -webkit-transition-delay: .2s;
    -moz-transition-delay: .2s;
    -o-transition-delay: .2s;
    transition-delay: .2s
}

.project-item.style-1:hover .project-links a {
    opacity: 1
}

.project-item.style-1 .project-links a {
    top: 0
}

.project-item.style-1 .project-links a:hover {
    border-color: rgba(255, 255, 255, 0.4)
}

.project-item.style-1 .project-links a i {
    line-height: 29px;
    font-size: 10px
}

.bg_image {
    background-size: cover;
    height: 100vh;
    width: auto;
    background-position: center top;
    -webkit-animation: zoomdIn 8s linear forwards;
    animation: zoomdIn 8s linear forwards;
}

@-webkit-keyframes zoomdIn {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.1);
        transform: scale(1.05)
    }
}

@keyframes zoomdIn {
    0% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }
    100% {
        -webkit-transform: scale(1.1);
        transform: scale(1.05)
    }
}

.sb-toggle-left {
    display: none
}

#readmore a:hover,
.ghost_title a:hover {
    background-color: #ed4188
}

.flex-prev,
.flex-next {
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

.flexslider {
    height: 100vh
}

.cat_eyecatch img {
    max-width: 100%
}

.hvr-rectangle-out:active,
.hvr-rectangle-out:focus,
.hvr-rectangle-out:hover {
    color: #fff
}

.hvr-rectangle-out:active:before,
.hvr-rectangle-out:focus:before,
.hvr-rectangle-out:hover:before {
    -webkit-transform: scale(1);
    transform: scale(1)
}

.page_frame {
    position: relative
}

#page h2 {
    font-size: 28px;
    font-weight: 100;
    margin: 50px 0
}

.free_space h2 {
    font-size: 28px;
    font-weight: 700;
    margin: 10px 0 70px;
    text-align: center
}

.widget_sow-editor,
.widget_polylang,
.widget_polylang li {
    display: inline-block
}

.widget_polylang a {
    color: #fff
}

.widget_polylang {
    margin-left: 15px
}

.image-container {
    position: relative;
    height: 500px;
    overflow: hidden
}

.image-container img {
    width: 100%;
    height: auto
}

.widget_mt_posts {
    padding: 50px 0
}

#footer .widget_sow-editor {
    display: block
}

.widget_mt_posts ul li {
    width: 31%;
    overflow: hidden;
    float: left;
    margin: 10px;
    box-sizing: border-box;
    min-height: 420px
}

.widget_mt_posts ul li img {
    width: 100%;
    height: auto
}

.post-item-inner {
    z-index: 999;
    background-color: #fff;
    padding: 20px;
    font-weight: 300
}

.post-item-date {
    font-size: 12px
}

.post-item-thumbnail {
    height: 180px;
    overflow: hidden
}

.post-item-thumbnail img {
    -webkit-transition: all .3s ease;
    -moz-transition: all .3s ease;
    -ms-transition: all .3s ease
}

.post-item-thumbnail img:hover {
    -webkit-transform: scale(1.06);
    transform: scale(1.06)
}

h2.widgettitle {
    text-align: center;
    margin: 80px 0 50px;
    font-size: 38px;
    font-weight: 100;
    color: #000;
    font-feature-settings: "palt";
}

.post-item-date {
    border-top: rgba(199, 199, 199, 0.50) 1px solid;
    margin-top: 10px;
    padding-top: 10px
}

.excerpt_more {
    text-align: right
}

.page-inner-content {
    padding: 20px;
    box-sizing: border-box;
}

.page_frame h3 {
    font-size: 24px;
    font-weight: 700;
    margin: 30px 0 0 0px;
    color: #000;
    line-height: 1.6em;
}

.page_frame h3.news-title {
    font-weight: normal;
}

.page-id-1149 .page_frame h4 {
    border-left: #ed4188 5px solid;
    padding: 5px 0 5px 10px;
    margin: 50px 0 15px
}

.page_frame h4 {
    clear: both;
    font-size: 20px;
    margin-top: 25px;
    font-weight: 700;
    margin-bottom: 10px;
    padding: 10px 10px 10px 0
}

table {
    width: 100%;
    margin-bottom: 10px;
    margin-top: 5px
}

th {
    text-align: center;
    font-weight: 700;
    color: #fff;
    padding: 10px
}

.page-id-1154 th:nth-of-type(3) {
    background-color: rgba(82, 172, 200, 0.80);
    width: 40%
}

td {
    padding: 20px 0
}

tr,
td {
    border-top: rgba(171, 171, 171, 1.00) 1px dotted
}

#cf7_table td {
    font-size: 16px
}

.require {
    color: rgba(188, 0, 3, 1.00);
    font-weight: 400
}

#page h2 {
    font-size: 38px;
    text-align: center;
    margin: 30px 0 50px
}

.page-image {
    overflow: hidden;
    position: relative
}

.page-image-text {
    position: absolute;
    top: 60%;
    margin-top: -35px;
    width: 100%;
    color: #fff;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
    -webkit-text-shadow: 0 1px #fff;
    -moz-text-shadow: 0 1px #fff;
    text-shadow: 0 1px #fff
}

#readmore {
    margin: 30px auto;
    text-align: center;
    position: relative
}

#readmore a {
    font-family: Century Gothic;
    text-align: center;
    display: inline-block;
    text-align: center;
    border: rgba(32, 77, 119, 1.00) 1px solid;
    padding: 20px;
    width: 260px;
    color: rgba(32, 77, 119, 1.00);
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.ghost_title a {
    margin: 30px 0;
    font-family: Century Gothic;
    text-align: center;
    display: inline-block;
    text-align: center;
    border: #000 1px solid;
    padding: 20px;
    width: 260px;
    color: #000;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

#readmore a:hover,
.ghost_title a:hover {
    color: #fff;
    border: rgba(255, 255, 255, 0.00)
}

input,
textarea,
button,
select,
label {
    font-family: inherit;
    font-size: 12px
}

input::-moz-focus-inner,
button::-moz-focus-inner {
    border: 0;
    padding: 0
}

input[type="url"],
input[type="text"],
input[type="password"],
input[type="email"],
input[type="submit"],
button,
textarea {
    margin: 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 0;
    border-radius: 0
}

input,
textarea,
button {
    -moz-appearance: none;
    -webkit-appearance: none;
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

input[type="checkbox"] {
    -moz-appearance: checkbox;
    -webkit-appearance: checkbox
}

input[type="radio"] {
    -moz-appearance: radio;
    -webkit-appearance: radio
}

.checkbox {
    display: none
}

.checkbox+.checkbox-icon {
    position: relative;
    vertical-align: middle
}

.checkbox+.checkbox-icon:before {
    content: "\f096";
    font-family: FontAwesome;
    color: #ccc;
    font-size: 18px;
    margin-right: 5px
}

.checkbox:checked+.checkbox-icon:before {
    content: "\f14a";
    color: #17bcdf
}

span.wpcf7-list-item {
    margin-left: 0
}

label {
    font-size: 14px;
    margin: 3px 0;
    color: #444
}

input[type="url"],
input[type="tel"],
input[type="text"],
input[type="password"],
input[type="email"],
textarea,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 textarea {
    background: #fff;
    border: 1px solid rgba(208, 208, 208, 1.00);
    color: #000;
    display: block;
    width: 100%;
    outline: none;
    padding: 7px 8px;
    font-size: 16px;
    box-sizing: border-box;
}

select {
    padding: 5px;
    border: 1px solid rgba(208, 208, 208, 1.00)
}

input[type="text"]:focus,
input[type="password"]:focus,
input[type="email"]:focus,
textarea:focus {
    border-color: #ccc;
    color: #444;
    -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.1);
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.1)
}

label .required {
    color: #3b8dbd
}

.subtitle {
    margin-bottom: 30px
}

fb-page span {
    width: 100%!important
}

.widget h3 {
    font-size: 30px;
    font-weight: 800;
    margin-bottom: 10px;
    margin-top: 20px;
    text-align: center;
    margin-top: 50px
}

.free_space h3 {
    margin-bottom: 30px
}

h3.post-item-title {
    font-weight: 800;
    margin-bottom: 10px
}

input[type="submit"] {
    border: none;
    cursor: pointer;
    margin: 0 auto
}

.button1 a,
input[type="submit"] {
    display: block;
    background-color: #ed4188;
    text-align: center;
    width: 220px;
    padding: 10px 0;
    color: #fff;
    font-size: 18px;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.mb50 {
    margin: 0 auto 50px
}

.button1 a:hover,
.button_s_1 a:hover,
input[type="submit"]:hover {
    opacity: .9
}

.button_s_1 a {
    display: block;
    float: left;
    background-color: #3fcde7;
    text-align: center;
    border: #0085b2 1px solid;
    padding: 10px;
    color: #fff;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    margin-right: 10px;
    min-width: 100px
}

.button_s_1.blue a {
    background-color: rgba(23, 160, 185, 1.00)
}

#entry_demo h2 {
    font-size: 40px
}

.column2 {
    display: table-cell;
    width: 50%;
    padding: 20px;
    text-align: left;
    box-sizing: border-box
}

#cp5_lineup .container-inner {
    display: table;
    padding: 30px 0
}

#cp5_lineup {
    clear: both;
    padding: 30px 0
}

#button_bloc {
    clear: both
}

.name_premire {
    background-image: url(images/cp5_name1.png);
    width: 230px;
    height: 25px;
    text-indent: -9999px;
    margin-bottom: 15px
}

#entry_demo1,
#entry_demo2 {
    margin: 0 auto 10px;
    text-align: center
}

.name_light {
    background-image: url(images/cp5_name2.png);
    width: 203px;
    height: 25px;
    text-indent: -9999px;
    margin-bottom: 15px
}

.cp5_price {
    margin-bottom: 20px;
    vertical-align: bottom
}

.cp5_desc {
    height: 40px;
    margin-bottom: 40px
}

.cp5_thumb {
    margin-bottom: 20px
}

.f35 {
    color: #000;
    font-size: 35px;
    font-weight: 600
}

.f14 {
    font-size: 14px
}

.f12 {
    margin-top: 10px;
    clear: both;
    font-size: 12px
}

.jobplus_bnr {
    max-width: 960px;
    margin: 0 auto;
}

#breadcrumb {
    font-size: 12px;
    clear: both;
    padding-bottom: 30px
}

#breadcrumb li {
    float: left
}

#sub_menu {
    padding-top: 45px;
    text-align: right
}

#sub_menu a {
    color: #292929
}

#sub_menu li {
    display: inline-block
}

#sub_menu li a {
    margin-left: 20px;
    font-size: 12px;
    position: relative
}

#sub_menu a:before {
    font-family: FontAwesome;
    content: "\f0da";
    font-size: 12px;
    top: -3px;
    left: -7px;
    position: absolute
}

#footer-widget {
    padding: 50px 0
}

.button1 {
    clear: both
}

.button1 a {
    margin: 0 auto
}

.w100 {
    width: 100%;
    text-align: center;
    position: relative;
    margin: 15px auto
}

.border {
    border: rgba(158, 158, 158, 0.5) 1px solid;
    padding: 20px;
    margin: 15px 0;
    border-radius: 4px;
}

span.wpcf7-list-item {
    display: block
}

.date {
    margin-left: 15px;
    font-size: 12px
}

#footer-widget {
    clear: both
}

.news_list h3 {
    font-weight: 400;
    margin: 5px 0;
    font-size: 16px;
    display: inline-block
}

.news_list li {
    padding: 10px 0;
    border-bottom: rgba(228, 228, 228, 1.00) 1px solid
}

.single .date {
    text-align: right
}

#cp5_plugin_wrap {
    background-color: #fff;
    clear: both;
    padding: 50px 0
}

.cp5plugin_bloc {
    width: 65%;
    float: left;
    padding: 10px
}

.excerpt_more {
    display: none
}

.cp5plugin_bloc h3 {
    margin-bottom: 5px;
    font-weight: 700
}

.bloc_content {
    font-size: 12px
}

.btn_radius a {
    background-color: rgba(44, 215, 212, 1.00);
    padding: 10px 20px;
    display: block;
    float: left;
    border-radius: 30px;
    color: #fff;
    margin: 0 3px;
    width: 120px;
    text-align: center;
    text-decoration: none;
}

.btn_radius.bg_blue2 a {
    background-color: rgba(62, 167, 172, 1.00)
}

.btn_radius_w100 {
    width: 335px;
    margin: 50px auto
}

.page .page-inner-content,
.single .page-inner-content,
.error404 .page-inner-content {
    width: 700px;
    float: left;
    margin-bottom: 30px
}

.post-type-archive .page-inner-content,
.single-post_showcase .page-inner-content,
.tag .page-inner-content,
.archive .page-inner-content,
.page-id-2 .page-inner-content,
.page-id-981 .page-inner-content,
.page-id-27 .page-inner-content,
.page-id-29 .page-inner-content,
.page-id-1101 .page-inner-content,
.page-id-1149 .page-inner-content,
.page-id-1154 .page-inner-content,
.post-type-archive-post_theme .page-inner-content,
.page-id-1435 .page-inner-content,
.page-id-3489 .page-inner-content,
.page-id-3491 .page-inner-content,
.page-id-1189 .page-inner-content {
    width: 100%;
    float: none;
    margin-bottom: 30px
}

.widget_sp_image {
    z-index: 99999;
    margin-bottom: 10px;
    text-align: center
}

table {
    border-bottom: rgba(195, 195, 195, 1.00) 1px solid
}

.sub_link {
    text-align: center;
    margin: 20px 0
}

#sidebar {
    margin-bottom: 20px;
    margin-left: 10px;
    padding: 0 20px 20px;
    box-sizing: border-box;
    width: 310px;
    float: right
}

h3.form_title {
    border-bottom: none;
    text-align: center;
    margin-top: 35px;
    font-weight: 700;
    font-size: 22px
}

.table_style2 th {
    color: rgba(62, 62, 62, 1.00);
    background-color: rgba(236, 236, 236, 0.20);
    text-align: left;
    font-weight: 700;
    border-top: rgba(142, 142, 142, 1.00) 1px solid
}

.wp-pagenavi {
    width: 100%;
    text-align: center;
    margin: 70px 0;
}

.yesno {
    position: relative
}

.yesno ul li a {
    padding: 20px;
    color: #fff;
    display: block
}

.yesno ul li {
    box-sizing: border-box;
    list-style: none;
    float: left;
    text-align: center;
    display: block;
    color: #FFF;
    margin: 5px;
    background-color: #ccc;
    width: 48%
}

.positionFit {
    width: 100%
}

.banner_bloc {
    margin: 30px 0;
    padding: 10px
}

.banner_bloc div {
    margin-bottom: 10px
}

#parallaxwidget-3 .widget-meta {
    height: 170px
}

.showcase_thumb {
    max-width: 300px;
    padding: 5px;
    background-color: rgba(235, 235, 235, 1.00)
}

.showcase_thumb img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
    line-height: 1em;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    margin: 0!important;
}

.showcase_thumb img:hover {
    opacity: .8
}

.showcase_list li {
    width: 32%;
    margin: 10px 5px 25px;
    box-sizing: border-box;
    float: left
}

.showcase_list li:nth-child(3n+1) {
    clear: both
}

.showcase_list li h3 {
    margin: 10px 0;
    font-size: 14px
}

.sub_small {
    font-weight: 700;
    font-size: 10px;
    margin-top: 15px
}

#sc_term_list {
    clear: both;
    margin-bottom: 20px
}

.sc_tag a,
.sc_term ul li a,
.sc_tag_design,
.sc_themes {
    display: inline-block;
    padding: 5px;
    font-size: 11px;
    text-decoration: none;
    color: rgba(55, 55, 55, 1.00);
    border: rgb(187, 187, 187) 1px solid;
    margin-right: 2px;
    line-height: 1.4em;
    border-radius: 4px;
}

.sc_tag_design {
    background-color: rgba(211, 59, 139, 1.00);
    color: #fff
}

.sc_term a,
.sc_tag a,
.sc_term ul li a {
    -webkit-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out;
    margin-bottom: 5px;
    letter-spacing: -.04em
}

.sc_term {
    clear: both;
    margin-top: 10px
}

.sc_tag a:hover,
.sc_term a:hover {
    background-color: rgba(0, 0, 0, 1.00);
    color: #fff
}

.sc_term ul li {
    float: left;
    margin-right: 5px
}

.post_count {
    text-align: right
}

.f16 {
    font-size: 16px;
    font-family: Century Gothic;
    font-weight: 700
}

#window :is(h1,
h2) {
    text-align: center;
    font-size: 36px;
    font-weight: 700;
    letter-spacing: -.04em;
    color: #16161a;
}

#window {
    padding: 120px 0 50px 0;
}

@-webkit-keyframes infinitescroll {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -320px 0
    }
}

@-moz-keyframes infinitescroll {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -320px 0
    }
}

@-ms-keyframes infinitescroll {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -320px 0
    }
}

@-o-keyframes infinitescroll {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -320px 0
    }
}

@keyframes infinitescroll {
    0% {
        background-position: 0 0
    }
    100% {
        background-position: -320px 0
    }
}

.mt30 {
    margin: 30px 0
}

.block {
    clear: both;
    padding: 15px 0
}

.thumbs {
    margin: 20px auto
}

.thumb_premire {
    background-image: url(images/cp5_thumb_premire.png);
    width: 638px;
    height: 494px
}

.thumb_light {
    background-image: url(images/cp5_thumb_lite.png);
    width: 638px;
    height: 494px
}

.m50 {
    margin: 70px auto
}

.recommend h4 {
    background-color: rgba(150, 208, 217, 0.70);
    padding: 5px;
    color: rgba(37, 37, 37, 1.00)
}

#sc_term_list li a {
    font-size: 14px
}

#sc_term_list li.current-cat a {
    background-color: rgba(31, 31, 31, 1.00);
    color: #fff;
}

.sc_tag {
    max-height: 28px;
    overflow: hidden
}

table.payemnt_form {
    margin-top: 20px;
    border-top: rgba(172, 172, 172, 1.00) 1px solid
}

.payemnt_form tr td:nth-of-type(2) {
    font-weight: 400;
    width: 20%;
    padding-top: 10px
}

.payemnt_form form {
    height: 50px
}

.payemnt_form tr td:nth-of-type(1) {
    width: 80%;
    padding: 0
}

.sb-slidebar,
.widget widget_sp_image {
    z-index: 100000!important
}

.payemnt_form th,
.payemnt_form td {
    border-bottom: rgba(172, 172, 172, 1.00) 1px solid
}

.payemnt_form tr:nth-child(2n) {
    background-color: transparent
}

.payemnt_form input:hover {
    opacity: .8
}

#lite {
    text-align: center;
    padding: 50px 20px
}

#go_premire {
    padding: 20px;
    text-align: center
}

#lite img,
#go_premire img {
    max-width: 100%;
    height: auto
}

.w100_g {
    padding: 10px;
    background-color: rgba(243, 243, 243, 1.00)
}

.m_center {
    margin: 0 auto
}

h3.function_tit {
    font-size: 44px;
    font-weight: 100;
    letter-spacing: -.06em;
    text-align: center;
    padding: 70px 0 40px
}

#page h3.cp5_name {
    text-align: center;
    margin: 20px auto
}

.recommend {
    margin-top: 20px;
    padding: 40px 20px 20px;
    background-color: rgba(243, 239, 239, 0.30);
    border: rgba(208, 232, 232, 1.00) 1px dotted
}

.recommend_inner {
    box-sizing: border-box;
    text-align: left;
    width: 800px;
    text-align: left;
    margin: 30px auto;
    font-size: 18px;
    font-weight: 700
}

.recommend_inner div {
    padding: 5px 0
}

.recommend h3 {
    color: #000;
    margin: 0 0 20px;
    text-align: center;
    font-weight: 700;
    font-size: 22px
}

.cp5_lineup_bloc {
    padding: 70px 0 20px;
    text-align: center
}

#sitemap_list li {
    padding: 10px!important;
    background-image: none!important;
    border-bottom: rgba(205, 205, 205, 1.00) 1px solid
}

.function_list_bloc {
    width: 31%;
    float: left;
    margin: 10px;
    box-sizing: border-box
}

.function_list_bloc2 {
    width: 25%;
    float: left;
    padding: 0;
    box-sizing: border-box
}

.function_thumb {
    padding: 5px;
    background-color: rgba(236, 236, 236, 1.00);
    box-sizing: border-box;
    width: 300px;
    height: 192px;
    overflow: hidden
}

.function_thumb2 {
    position: relative;
    padding: 1px;
    max-width: 480px;
    height: auto;
    overflow: hidden;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.function_thumb img {
    width: 100%;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.function_thumb img:hover {
    -o-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -moz-transform: scale(1.03);
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
}

.function_caption {
    padding: 5px 0;
    text-align: center;
    font-size: 16px;
    height: 20px;
    margin-bottom: 20px
}

#online_estimate {
    width: 100%;
    margin: 0 auto;
    padding: 20px;
    background-color: #fff
}

#online_estimate h2 {
    font-size: 24px;
    text-align: center;
    margin: 20px 0
}

input[type="text"],
textarea,
input[type="password"],
input[type="email"],
select {
    border: 1px solid #ccc;
    font-family: Helvetica, Arial, sans-serif;
    font-size: 14px;
    line-height: 1.3em;
    padding: 10px;
    float: none;
    background-color: #FFF
}

#online_estimate table {
    width: 100%
}

#online_estimate th {
    background-color: rgba(193, 186, 186, 0.50);
    font-weight: 700;
    text-align: center;
    padding: 10px
}

#online_estimate .table_style1 td {
    white-space: nowrap;
    border-bottom: rgba(201, 201, 201, 1.00) 1px solid;
    padding: 10px
}

#display_account {
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out;
    position: fixed;
    bottom: -150px;
    right: 10px;
    background-color: rgba(142, 0, 2, 0.90);
    color: #fff;
    padding: 10px;
    width: 200px;
    border: #fff 1px solid;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    -o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5)
}

.border_b {
    background-color: rgba(240, 240, 240, 0.20)
}

#price_tit {
    text-align: center;
    font-size: 16px
}

.price {
    font-size: 20px;
    text-align: right
}

.w50 {
    width: 80px;
    display: inline-block
}

.widget widget_sp_image a {
    display: block
}

#sb-site {
    z-index: 0
}

.variation_column_bloc {
    margin: 20px 0
}

.variation_column_bloc div {
    float: left;
    width: 48%;
    margin: 5px;
    box-sizing: border-box;
    background-color: rgba(239, 239, 239, 1.00);
    padding: 5px
}

.function_subcaption {
    font-size: 12px;
    text-align: left;
    padding: 5px;
    line-height: 1.4em;
    color: #fff
}

.function_subcaption2 {
    font-size: 12px;
    text-align: left;
    padding: 25% 10px 10px;
    line-height: 1.4em;
    color: #fff;
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

#function_list {
    max-width: 1020px;
    margin: 20px auto
}

.w100_2 {
    padding: 30px 0
}

#sidebar img {
    border: rgba(171, 171, 171, 1.00) 1px solid
}

.twentytwenty-container img,
.variation_column_bloc img {
    width: 100%
}

.custom_caption {
    font-size: 18px;
    text-align: left;
    margin: 40px 0 10px;
    font-weight: 700
}

#customizer_bloc,
.custom_subcaption {
    text-align: left
}

#cp5_plugin_wrap h3 {
    text-align: center;
    font-size: 16px;
    margin-bottom: 20px
}

#floating-sidebar {
    opacity: 0;
    float: right;
    z-index: 998;
    padding: 2px;
    margin-right: 10px;
    margin-top: 70px;
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

#floating-sidebar img:hover {
    opacity: .9
}

#floating-sidebar img {
    vertical-align: bottom
}

.post-type-archive-post_showcase #floating-sidebar {
    display: none
}

.page-id-29 h3 {
    border-left: rgba(32, 158, 160, 1.00) 1px solid;
    padding: 5px 0 5px 10px
}

.page-id-29 iframe {
    width: 100%;
    height: 340px
}

#recent-posts-2 {
    max-width: 1020px;
    margin: 0 auto
}

.single iframe {
    width: 100%;
    height: 360px
}

.page-id-29 .page-inner-content img {
    max-width: 100%;
    height: auto;
    margin: 10px 0;
    border: #fff 1px solid;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    -ms-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
    -o-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.2)
}

.page-id-3584 tr,
.page-id-3584 td {
    border: none;
}

.page-id-781 h4 {
    font-size: 18px;
    margin-top: 30px;
    padding: 3px 0 3px 10px;
    border-left: rgba(15, 153, 170, 1.00) 5px solid
}

.page-id-781 {
    color: rgba(27, 27, 27, 1.00)
}

h5 {
    font-size: 16px;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px;
    padding-top: 20px
}

h6 {
    font-size: 18px;
    border-bottom: rgba(205, 205, 205, 1.00) 1px solid;
    padding-bottom: 5px;
    font-weight: 700;
    margin-top: 40px;
    margin-bottom: 20px
}

pb50 {
    padding-bottom: 50px
}

.showcase_thumb img {
    margin: 0
}

#tab-recent li {
    clear: both
}

.tab-item-thumbnail {
    width: 100px;
    float: left
}

.tab-item-inner {
    padding-left: 110px
}

#mttabs-2 h3 {
    text-align: center
}

#tab-recent {
    margin-bottom: 30px
}

.tab-item-thumbnail img {
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.tab-item-thumbnail img:hover {
    opacity: .8
}

.page-id-29 li {
    list-style: none
}

.sc_color_inner {
    width: 7px;
    height: 7px
}

#sc_color_bloc {
    margin-top: 10px;
    min-height: 16px
}

.sc_color {
    float: left;
    width: 7px;
    margin-right: 10px;
    height: 7px;
    padding: 2px;
    background-color: #fff;
    border: #d0d0d0 1px solid
}

.page-inner-content img {
    max-width: 100%;
    height: auto;
}

.cp5_plugin_thumb {
    -webkit-transition: all .6s ease-out;
    -moz-transition: all .6s ease-out;
    -ms-transition: all .6s ease-out
}

.cp5_plugin_thumb:hover {
    opacity: .8
}

#price_bloc {
    width: 100%;
    margin: 20px 0
}

#price_bloc .price_column {
    width: 33%;
    float: left;
    padding: 30px;
    box-sizing: border-box
}

#price_bloc .price_column h3 {
    display: block;
    clear: both;
    text-align: center;
    font-size: 24px;
    margin-bottom: 20px;
    font-weight: 400;
    margin-top: 20px
}

.recommend i {
    color: #e69201!important
}

#price_bloc .price_price {
    text-align: center;
    font-size: 16px
}

#price_bloc .f24 {
    font-size: 24px;
    font-family: Century Gothic
}

#price_bloc .f20 {
    font-size: 18px;
    font-family: Century Gothic
}

#price_bloc .column_shadow {
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
    -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    -moz-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    -ms-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
    border: rgba(197, 197, 197, 1.00) 1px solid
}

#price_bloc .price_desc {
    font-size: 12px;
    text-align: center;
    color: #999;
    margin-bottom: 20px
}

.marg {
    margin-bottom: 30px
}

#price_bloc i {
    color: #A0BB38;
    font-size: 16px;
    margin-right: 5px
}

#price_bloc .price_btn a {
    width: 100%;
    background-color: #ed4188;
    color: #fff;
    text-align: center;
    padding: 10px;
    -webkit-border-radius: 4px;
    -moz-border-radius: 4px;
    -ms-border-radius: 4px;
    -o-border-radius: 4px;
    border-radius: 4px;
    display: block;
    box-sizing: border-box
}

#price_bloc .price_btn a:hover {
    opacity: .8
}

.pt30 {
    padding-top: 46px
}

#price_bloc .recommend {
    color: #e69201;
    text-align: center;
    display: inline-block;
    border: #e69201 1px solid;
    padding: 10px;
    margin: 0 auto;
    float: right;
    margin-bottom: 20px
}

#price_bloc .price_recommend {
    font-size: 12px;
    text-align: center;
    color: #999;
    padding-bottom: 10px;
    margin-bottom: 10px;
    margin-top: 20px
}

#price_bloc .price_cap {
    font-size: 12px;
    text-align: center;
    color: #999;
    border-bottom: rgba(205, 205, 205, 1.00) 1px solid;
    padding-bottom: 10px;
    margin-bottom: 10px;
    margin-top: 20px
}

#price_bloc .price_recommen_content {
    text-align: left;
    font-size: 16px;
    color: #000
}

#price_bloc .price_price2 {
    text-align: center;
    font-size: 12px
}

#price_bloc .mt30 {
    margin-top: 85px
}

#price_bloc .price_plugin_desc {
    font-size: 12px;
    margin-bottom: 20px
}

#price_bloc .price_plugin_price {
    margin: 10px 0;
    font-size: 12px;
    margin-bottom: 15px
}

.price_plugin_release {
    color: #fff;
    text-align: center;
    padding: 5px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    background-color: rgba(241, 168, 30, 1.00);
    font-size: 10px
}

.price_atent {
    text-align: left;
    font-size: 12px
}

.co1 {
    color: #a0bb38
}

.co2 {
    color: #0087cd
}

.co3 {
    color: #758d94
}

.plugin_thumb {
    width: 166px;
    float: left
}

.plugin_content {
    padding-left: 176px
}

ul.plugin_list li {
    margin-bottom: 10px
}

#mttabs-2 {
    padding-bottom: 50px
}

.bnr_diary {
    width: 960px;
    margin: 20px auto
}

.bnr_diary img {
    width: 100%;
    height: auto
}

#tab-recent li {
    padding: 10px 0;
    border-bottom: rgba(189, 189, 189, 1.00) 1px dotted
}

.tab-item-date {
    float: left;
    margin-right: 5px;
    padding-top: 2px
}

.tab-item-category a {
    margin-right: 10px;
    font-size: 10px;
    display: block;
    background-color: #ff8f25;
    color: #fff;
    padding: 3px 10px;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    -ms-border-radius: 20px;
    -o-border-radius: 20px;
    border-radius: 20px;
    float: left
}

.tab-item-inner .post-title a {
    padding-top: 2px;
    color: rgba(66, 60, 60, 1.00)
}

.them_column {
    width: 50%;
    padding: 20px;
    text-align: left;
    box-sizing: border-box
}

.theme_column {
    float: left
}

.cp5_name {
    font-size: 24px;
    font-family: Century Gothic;
    font-weight: 700;
    margin-bottom: 15px
}

.cp5_thumb {
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

.cp5_thumb:hover {
    opacity: .8
}

.theme_lineup_desc {
    padding: 30px 0;
    text-align: center
}

#price_bloc .price_btn a {
    border: none
}

#media_image-2,
#media_image-3 {
    text-align: center
}

.widget_sp_image {
    text-align: center
}

.flexslider {
    z-index: 9999
}

.flexslider .slides li {
    position: relative;
    height: 100%
}

.flexslider .slides>li {
    overflow: hidden
}

.flexslider {
    margin: 0;
    padding: 0;
    position: relative;
    zoom: 1
}

.flexslider .slides>li {
    display: none;
    position: relative;
    text-align: center
}

.flex-direction-nav a,
.no-js .slides>li:first-child,
.slides:after,
html[xmlns] .slides {
    display: block
}

.flexslider .slides img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto
}

.flex-pauseplay span {
    text-transform: capitalize
}

.slides:after {
    content: ".";
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0
}

* html .slides {
    height: 1%
}

.flex-viewport {
    max-height: 2000px;
    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    transition: all 1s ease
}

.loading .flex-viewport {
    max-height: 300px
}

.flexslider .slides {
    zoom: 1;
    z-index: 1
}

.flex-direction-nav li {
    margin-left: 4px;
    text-align: center;
    width: 40px
}

.flex-direction-nav li:first-child {
    float: left
}

.flex-direction-nav li:last-child {
    float: right
}

.flex-direction-nav a {
    background-color: rgba(37, 37, 37, 0.30);
    opacity: .6;
    position: absolute;
    width: 40px;
    height: 80px;
    margin: auto;
    cursor: pointer;
    text-indent: -999px;
    overflow: hidden;
    top: 0;
    bottom: 0;
    color: #fff
}

.flex-direction-nav .flex-next {
    right: 0
}

.flex-direction-nav .flex-prev {
    left: 0
}

.flexslider:hover .flex-next:hover {
    right: -5px
}

.flexslider:hover .flex-prev:hover {
    left: -5px
}

.flex-direction-nav .flex-disabled {
    opacity: .3!important;
    filter: alpha(opacity=30);
    cursor: default
}

.flex-direction-nav a:before {
    font-family: FontAwesome;
    font-size: 40px;
    line-height: 24px;
    position: absolute;
    text-align: center;
    left: 0;
    right: 0;
    top: 29px;
    text-indent: 0
}

.flex-direction-nav .flex-next:before {
    content: "\f105"
}

.flex-direction-nav .flex-prev:before {
    content: "\f104"
}

.flex-control-nav {
    width: 100%;
    position: absolute;
    bottom: 10px;
    text-align: center
}

.flex-control-nav li {
    margin: 0 3px;
    display: inline-block;
    zoom: 1
}

.flex-control-nav li a {
    background: rgba(0, 0, 0, .15);
    width: 8px;
    height: 8px;
    display: block;
    cursor: pointer;
    text-indent: -999px;
    overflow: hidden;
    border-radius: 8px
}

.flex-control-nav li a:hover {
    background: rgba(0, 0, 0, 0.3);
    color: rgba(171, 171, 171, 1)!important
}

.flex-control-nav li a.flex-active {
    cursor: default
}

.flex-control-thumbs {
    margin: 5px 0 0;
    position: static;
    overflow: hidden
}

.flex-control-thumbs li {
    width: 25%;
    float: left;
    margin: 0
}

.flex-control-thumbs img {
    width: 100%;
    display: block;
    opacity: .7;
    cursor: pointer
}

.flex-control-thumbs img:hover {
    opacity: 1
}

.flex-control-thumbs .flex-active {
    opacity: 1;
    cursor: default
}

.main_bloc {
    padding: 30px 0;
    clear: both
}

#main_bloc3 {
    padding: 30px 0 0;
    background-image: url(images/starter_bg.jpg);
    background-repeat: repeat-x;
    background-position: center bottom;
}

.icon_check {
    background-image: url(images/icon_check.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 24px 17px;
    padding: 5px 0 5px 32px;
}


/*20200519ad*/

.top_price_section .top_price_catch1 {
    text-align: center;
    font-size: 32px;
    font-weight: 100;
    color: #000;
    line-height: 1.6em;
    letter-spacing: -0.04em;
}

.top_price_section .color_red {
    color: #AE0073;
    font-size: 40px;
}

.top_price_title {
    font-size: 60px;
    text-align: center;
    font-weight: 900;
    margin: 60px 0 20px 0;
    color: #000;
}

.top_price_rate {
    font-size: 60px;
    text-align: center;
    font-weight: 900;
    color: #000;
    margin-bottom: 30px;
}

.top_price_rate .num0 {
    font-size: 150px;
    color: #AE0073;
    line-height: 1em;
    margin-bottom: 30px;
}

.top_price_bloc_section {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
}

.top_price_bloc:first-child {
    margin-right: 20px;
}

.top_price_bloc:last-child {
    margin-left: 20px;
}

.top_price_bloc {
    width: 50%;
}

.top_price_bloc:first-child .top_price_bloc_frame {
    border: #AE0073 3px solid;
    padding: 20px;
}

.top_price_bloc:last-child .top_price_bloc_frame {
    border: #666 3px solid;
    padding: 20px;
}

.top_price_bloc_frame {
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
    -moz-transition: all .3s ease;
    -webkit-transition: all .3s ease;
    transition: all .3s ease;
}

.top_price_bloc_frame:hover {
    border: #fff 1px solid;
    box-shadow: 0 0 7px rgba(0, 0, 0, .5);
}

.top_price_section .top_price_bloc_frame_title {
    color: #AE0073;
    font-size: 24px;
    font-weight: bold;
}

.top_price_section .top_price_bloc_frame_subtitle {
    color: #333;
    font-size: 16px;
    padding: 10px 0 30px 0;
}

.top_price_section .top_price_bloc_title {
    text-align: center;
    font-size: 24px;
    margin-bottom: 10px;
    color: #000;
}

.top_price_section .top_price_bloc_frame_license {
    font-size: 18px;
}

.top_price_section .top_price_bloc_frame_price {
    font-size: 24px;
    margin-left: 30px;
    font-weight: 900;
    letter-spacing: -0.02em;
    color: #000;
    font-family: 'Roboto Condensed', sans-serif;
}

.top_price_section .top_price_attent {
    margin-top: 20px;
    font-size: 12px;
    text-align: right;
}

.top_price_section .top_price_bloc_frame_tax {
    font-size: 14px;
    font-weight: normal;
}

.top_price_attent2_small {
    text-align: center;
}

.bg01 {
    background-color: rgb(27, 30, 31);
    color: #fff;
}

.bg01 h2.widgettitle {
    color: #fff!important;
}

.sub_caption {
    text-align: center
}

#main_image1 {
    background-image: url(images/main_image01.png);
    width: 1411px;
    height: 574px;
    text-align: center;
    margin: 20px auto
}

#main_bloc4 {
    background-image: url(images/main_image4.jpg);
    width: 100%;
    height: 400px;
    background-position: center top
}

#main_bloc4 h2.widgettitle {
    color: #fff;
    text-align: center;
    margin-top: 90px
}

#main_bloc4 .sub_caption {
    color: #fff
}

#main_bloc4 .btn_1 a {
    margin: 30px auto;
}

#main_bloc2 {
    color: #fff;
    background-image: url(images/main_image2.jpg);
    width: 100%;
    height: 740px;
    background-position: center top
}

#main_bloc2 h2.widgettitle {
    color: #fff;
    text-align: left;
    margin-top: 70px
}

#main_bloc2 .sub_caption {
    color: #fff;
    text-align: left;
    max-width: 50%
}

.btn_1 a {
    display: block;
    background-color: #ed4188;
    max-width: 400px;
    padding: 20px 0;
    color: #fff;
    font-weight: bold;
    letter-spacing: 0.04em;
    font-size: 18px;
    border-radius: 6px;
    margin-top: 50px;
    text-align: center;
    -webkit-transition: all .2s ease-in;
    -moz-transition: all .2s ease-in;
    -ms-transition: all .2s ease-in;
    text-decoration: none;
}

.btn_1 a:hover {
    opacity: .9
}

.small {
    max-width: 400px;
    text-align: center;
    margin-bottom: 10px;
    margin-top: 10px
}

.sub_caption {
    margin-bottom: 30px
}

.theme_black {
    width: 110px;
    text-align: center;
    font-family: Century Gothic;
    font-weight: 400;
    border-radius: 24px;
    background-color: #444;
    color: #fff;
    margin-left: 5px;
    font-size: 12px;
    padding: 2px;
    display: inline-block
}

.theme_free {
    width: 110px;
    text-align: center;
    font-family: Century Gothic;
    font-weight: 600;
    border-radius: 24px;
    background-color: #f3ead3;
    color: #000;
    margin-left: 5px;
    font-size: 12px;
    padding: 2px;
    display: inline-block
}

.mb10 {
    margin-bottom: 5px
}

.cp51_column {
    float: left;
    margin: 0 15px 50px
}

.cp51_column {
    height: 550px;
}

.cp51_theme_thumb {
    overflow: hidden;
    padding: 1px;
    background-color: rgba(187, 187, 187, 1.00);
    width: 300px;
    -webkit-transition: all .2s ease-in;
    -moz-transition: all .2s ease-in;
    -ms-transition: all .2s ease-in;
    height: 430px
}

.cp51_theme_name {
    text-align: center
}

.cp51_theme_thumb:hover {
    transform: scale(1.1)
}

.cp51_column img {
    vertical-align: bottom
}

.theme_desc {
    font-size: 12px;
    text-align: center
}

#cp5_lineup2 h3 {
    text-align: center;
    padding-top: 25px;
    font-size: 20px;
    font-family: Century Gothic;
    font-weight: 700;
    vertical-align: middle
}

.w100_2 {
    background-color: #f4f4f4
}

#faq li {
    list-style: none;
    padding: 0
}

.page-id-1149 .page-inner-content {
    padding-top: 0
}

.post-type-archive-post_plugin .page_frame h3 {
    margin-top: 0
}

table#cf7_table {
    border-top: none;
    border-bottom: none
}

footer label {
    color: #fff
}

.post-type-archive-post_theme .page-inner-content {
    padding: 0
}

.post-type-archive-post_theme .page_frame h3 {
    margin-top: 10px
}

.widget_media_image {
    text-align: center
}

#main_image3_image {
    width: 1020px;
    margin: 20px auto;
}

#main_image3_image img {
    width: 100%;
    height: auto;
}

.function_thumb2 img {
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

#function_list2 {
    padding-bottom: 50px
}

.function_thumb_overlayer {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    background-color: rgba(38, 145, 205, 0.88);
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

.function_thumb2:hover .function_thumb_overlayer {
    opacity: 1
}

.function_subcaption {
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease
}

.function_thumb2:hover .function_subcaption2 {
    padding-top: 24%
}

.sns_icon {
    text-align: center
}

.sns_icon a {
    float: left;
    margin: 0 15px;
    font-size: 40px
}

.menu1 {
    width: 25px;
    height: 2px;
    position: absolute;
    top: 12px
}

.menu2 {
    width: 25px;
    height: 2px;
    position: absolute;
    top: 19px
}

.menu3 {
    width: 25px;
    height: 2px;
    position: absolute;
    top: 26px
}

.menu1,
.menu2,
.menu3 {
    background-color: rgba(255, 255, 255, 1.00);
    transition: all .3s ease-out;
    -o-transition: all .3s ease-out;
    -moz-transition: all .3s ease-out;
    -webkit-transition: all .3s ease-out;
    -ms-transition: all .3s ease-out
}

.function_thumb2:hover .function_thumb2 img {
    z-index: -s1;
    -o-transform: scale(1.03);
    -ms-transform: scale(1.03);
    -moz-transform: scale(1.03);
    -webkit-transform: scale(1.03);
    transform: scale(1.03)
}

.small_atent a {
    text-decoration: underline
}

.small_atent,
.small_atent a {
    font-weight: 400;
    color: #c30;
    font-size: 12px
}

#floating-sidebar a {
    margin-bottom: 10px;
    width: 270px;
    height: 120px;
    display: block
}

.news_column_date {
    width: 85px;
    float: left;
    margin-right: 10px;
    font-size: 14px;
}

.news-cat a {
    display: block;
    border-radius: 24px;
    padding: 3px 15px;
    font-size: 12px;
    margin-right: 10px;
    float: left
}

.news-title a {
    color: rgba(34, 34, 34, 1.00);
    font-size: 14px;
}

.button1 a {
    text-decoration: none;
}

.sub_text {
    margin-bottom: 20px
}

#update {
    padding: 0 0 50px 0
}

#update a.button {
    float: right;
    margin: 10px 0
}

.title-section {
    padding: 10px 0;
    border-bottom: rgba(152, 152, 152, 1.00) 1px dotted
}

#update h2 {
    margin-bottom: 10px
}

#cf7_table td:nth-of-type(1) {
    width: 38%
}

#cf7_table td:nth-of-type(2) {
    width: 60%
}

#responsive-menu-wrapper {
    margin-top: 70px!important
}

#theme_style_desc {
    width: 640px;
    text-align: left;
    margin: 15px auto
}

#theme_desc_sub {
    font-size: 11px
}

.page-id-1265 .page_frame h3 {
    margin: 0;
    font-size: 14px;
}

.page-id-1149 img {
    border: none;
}

.demo_btn {
    margin: 10px auto;
    width: 400px;
    text-align: center;
}

.code {
    border: rgba(193, 193, 193, 1.00) 1px dotted;
    background-color: rgba(245, 245, 245, 0.50);
    padding: 10px;
    margin: 15px 0;
}

.textwidget iframe {
    width: 100%;
    height: 400px;
}

#single_navi {
    margin-top: 20px;
}

#single_navi a:nth-child(1) {
    float: left;
}

#single_navi a:nth-child(2) {
    float: right;
}


/*20171121ad*/

.cp51_column_t3 {
    padding: 10px 0;
    margin-bottom: 80px;
    padding-bottom: 80px;
    background-image: url(images/hr.png);
    background-repeat: no-repeat;
    background-position: center bottom;
}

.cp51_theme_thumb_t3 {
    width: 500px;
    overflow: hidden;
    height: 300px;
    vertical-align: bottom;
    float: left;
    border: rgba(211, 211, 211, 1.00) 1px solid;
}

.cp51_theme_thumb_t3 img {
    max-width: 100%;
}

.cp51_theme_name_t3 {
    padding-left: 530px;
    height: 300px;
}

.theme_pattern_content {
    margin-top: 20px;
    margin-bottom: 10px;
    text-align: left;
}

#cp5_lineup3 h3 {
    text-align: left;
    font-family: Century Gothic;
    vertical-align: middle;
    margin: 0;
    line-height: 1em;
}

#cp5_lineup3 .theme_desc {
    font-size: 12px;
    text-align: left;
    margin: 10px 0;
}

.btn_border_theme a {
    display: inline-block;
    ;
    padding: 10px 25px;
    font-size: 14px;
    color: #fff;
    background-color: #ed4188;
    text-align: center;
    margin-top: 10px;
    text-decoration: none;
    border-radius: 35px;
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

.btn_border_theme a:hover {
    background-color: #d42970;
}

.theme_name_t3 {
    font-size: 26px;
    font-weight: 700;
}

.theme_name_kana {
    font-size: 11px;
    font-weight: 100;
}

#cp5_lineup3 .theme_black,
#cp5_lineup3 .theme_free {
    padding: 0;
    font-size: 11px;
    margin-bottom: 3px;
    margin-left: 0;
}

#cp5_lineup3 .theme_black {
    background-color: rgba(62, 62, 62, 0.50);
}

.theme_pattern_bloc {
    width: 100%;
    clear: both;
    margin-top: 10px;
}

.theme_pattern {
    background-color: rgba(220, 220, 220, 1.00);
    float: left;
    width: 100%;
    width: 30%;
    margin: 0 5px 0 0;
    border: rgba(211, 211, 211, 1.00) 1px solid;
}

.theme_pattern_content {
    font-size: 12px;
}

#cp5_lineup3 h2 {
    margin-top: 100px;
}

.cp51_theme_thumb_t3 {
    -moz-transition: all .2s ease;
    -webkit-transition: all .2s ease;
    transition: all .2s ease
}

.cp51_theme_thumb_t3:hover {
    opacity: 0.8;
}

.theme_pattern_bloc img {
    max-width: 70%;
}

.post-type-archive-post_theme #window :is(h1,
h2) {
    display: none;
}

#cf7_table td {
    font-size: 14px;
    font-weight: normal;
}

input[type="image"] {
    cursor: pointer;
}

.border tr,
.border td,
.border table {
    padding: 0;
    border: none;
}

.buttons a {
    display: inline-block;
    background-color: #ed4188;
    padding: 10px;
    text-align: center;
    color: #fff;
    text-decoration: none;
    margin: 20px auto;
    border-radius: 4px;
}

.icon_new {
    width: 60px;
    height: 60px;
    background-image: url(images/icon_new.png);
    position: absolute;
    top: -30px;
    left: -30px;
    text-indent: -9999px;
}

.header_banner {
    text-align: center;
    width: 960px;
    margin: 50px auto;
}

.banner_caption {
    text-align: center;
    font-size: 14px
}

.border-bottom-1 {
    border-bottom: solid 2px #f054b4;
}

.page_frame h3.under {
    border-bottom: double 5px #f054b4;
    display: inline-block;
}

.main-slider {
    -moz-transition: all .6s ease;
    -webkit-transition: all .6s ease;
    transition: all .6s ease;
    z-index: 1;
}

.main-slider {
    position: relative;
    /*横幅がウィンドウズサイズの縦幅よりもはみ出てしまう場合に、左にずらすために指定。*/
    width: 100%;
    /*横幅もいっぱいに。*/
    /*height: 500px;*/
}

.slick-slide,
.youtube-wrap iframe,
.video-wrap {
    height: 100%;
    /* 高さを画面いっぱいに指定する。(vhが効かない場合の対策)*/
    height: 100vh;
    /*  高さを画面いっぱいに指定する。*/
    position: relative;
    /* 横幅がウィンドウズサイズの縦幅よりもはみ出てしまう場合に、左にずらすために指定。*/
    width: 100%;
    /*  横幅もいっぱいに。*/
}

.video-wrap video {
    -o-object-fit: cover;
    object-fit: cover;
    position: absolute;
    height: 100%;
    width: 100%;
    top: 0;
    left: 0;
}

.bg_image {
    background-size: cover;
    width: auto;
    background-position: center top;
}

.slick-slider {
    overflow: hidden;
}

.slick-prev {
    background: url(images/bg_direction_nav.png) no-repeat 0 0;
}

.slick-next {
    background: url(images/bg_direction_nav.png) no-repeat 0 0;
}

.payment_flow h3 {
    padding: 0;
    margin: 0 0 20px 0;
}

.payment_flow {
    margin: 20px 0;
    border: #cc3300 2px solid;
    padding: 20px;
}

.payment_flow p {
    color: #111;
}

.bnr_980120 {
    margin: 50px 0 10px 0;
    display: flex;
    padding: 10px;
    justify-content: center;
}

.bnr_980120 img {
    max-width: 100%;
    height: auto;
}

.page-inner-content strong {
    font-weight: bold;
}

@media screen and (min-width: 48em) {
    .templates-description {
        max-width: 1200px;
    }
    .price_table th {
        font-size: 24px;
    }
    .smart_banner {
        display: none;
        margin: 10px auto;
    }
    .price_table th,
    .price_table tr,
    .price_table td {
        padding: 10px;
    }
    .new {
        background-image: url(images/new.png);
        width: 70px;
        height: 70px;
        background-size: 70px auto;
        position: absolute;
        top: -20px;
        left: 20px;
    }
}

@media screen and (max-width: 48em) {
    #update {
        padding: 16px;
    }
    .wrap_field {
        margin-top: 10px;
    }
    .page-id-3584 .page-inner-content p {
        font-size: 18px;
        padding: 5px 0;
    }
    .page-id-3584 p,
    .page-id-3584 .page-inner-content img {
        margin: 0;
        padding: 0;
    }
    .page-id-3584 .page-inner-content td {
        padding: 0;
    }
    .page-id-3584 .container-inner {
        padding-top: 110px;
    }
    .new {
        background-image: url(images/new.png);
        width: 70px;
        height: 70px;
        background-size: 70px auto;
        position: absolute;
        top: -20px;
        left: -20px;
    }
    .price_upper {
        display: block;
    }
    .price_table {
        border: #808080 1px solid;
        margin: 20px 0;
        padding: 10px;
    }
    .price_table th {
        font-size: 32px;
        font-weight: bold;
        padding: 20px 0;
    }
    .subsc_box {
        display: block;
        margin-top: 15px;
    }
    .pc_hide {
        display: none;
    }
    .slick-slider,
    .flexslider,
    .bg_image {
        height: 250px;
    }
    .page_frame h3 {
        font-size: 16px;
    }
    .page-inner-content {
        padding: 20px;
    }
    .smart_banner {
        margin: 10px;
        width: calc(100% - 20px);
        )
    }
    .smart_banner img {
        width: 100%;
        height: auto;
    }
    #cp5_lineup3 h2 {
        margin-top: 10px;
    }
    /* header { position: relative; }  モバイル上部に余白ができるため無効化 2026-10-01 */
    #gw_info {
        width: 90%;
    }
    .bnr800 {
        width: 100%;
    }
    .video-wrap video {
        width: 100vw;
        height: 250px;
        min-height: 250px;
        top: 0px;
    }
    .header_banner {
        width: calc(100% - 20px);
        width: -webkit-calc(100% - 20px);
        margin: 10px;
    }
    .header_banner img {
        width: 100%;
        height: auto;
    }
    .container-inner {
        width: 100%;
    }
    .top_price_image img {
        max-width: 100%;
        height: auto;
    }
    .top_price_bloc_title {
        margin-top: 20px;
    }
}

.page-inner-content p {
    padding: 10px 0;
}

.page-inner-content p.label {
    padding: 10px 20px;
}

.page-inner-content .cp51_column_t3 img {
    margin-top: 0!important;
}

.price_buy_button a {
    text-decoration: none;
}

@media (orientation: landscape) {
    .slick-slider,
    .flexslider,
    .bg_image {
        height: 102vh;
    }
}

.grecaptcha-badge {
    visibility: hidden;
}

grecaptcha-badge {
    visibility: hidden;
}

grecaptcha-badge {
    visibility: hidden;
}

visibility: hidden;

}
visibility: hidden;

}
isibility: hidden;

}

/* ==========================================================================
   Templates Archive Page Styles
   ========================================================================== */
.templates-archive-wrapper {
    background-color: #f3f4f6;
    padding: 40px 0 80px;
    min-height: 100vh;
    max-width: 100%;
    overflow-x: hidden;
    box-sizing: border-box;
}
.templates-archive-header {
    text-align: center;
    margin-bottom: 30px;
}
.templates-archive-header h1 {
    font-size: 28px;
    font-weight: bold;
    color: #333;
    margin-bottom: 30px;
}
.templates-toggle-container {
    display: flex;
    justify-content: center;
    margin-bottom: 40px;
}
.templates-toggle {
    display: flex;
    background: #fff;
    border-radius: 50px;
    padding: 4px;
    width: 320px;
    max-width: 90vw;
    box-sizing: border-box;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,
    0,
    0,
    0.05);
}
.templates-toggle-indicator {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: calc(50% - 4px);
    background: #b43cff;
    border-radius: 50px;
    transition: transform 0.3s ease;
}
.templates-toggle-indicator.right {
    transform: translateX(100%);
}
.templates-toggle-item {
    flex: 1;
    text-align: center;
    padding: 10px 0;
    font-size: 14px;
    font-weight: 700;
    color: #333;
    cursor: pointer;
    position: relative;
    z-index: 1;
    transition: color 0.3s ease;
}
.templates-toggle-item.active {
    color: #fff;
}
.templates-description {
    display: none;
    margin: -10px auto 40px;
    padding: 0 20px;
    text-align: center;
    box-sizing: border-box;
}
.templates-description.active {
    display: block;
    animation: templatesDescFade 0.4s ease;
}
.templates-description p {
    font-size: 12px;
    line-height: 1.6;
    color: #555;
    margin: 0;
}
@keyframes templatesDescFade {
    from {
        opacity: 0;
        transform: translateY(6px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.templates-list {
    display: none;
    grid-template-columns: repeat(3,
    1fr);
    gap: 40px 20px;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.templates-list.active {
    display: grid;
}
@media (max-width: 768px) {
    .templates-list {
        grid-template-columns: 1fr;
    }
}
.template-item {
    display: flex;
    flex-direction: column;
}
.template-item a {
    text-decoration: none;
    color: inherit;
    display: block;
}
.template-item-img-wrapper {
    margin-bottom: 12px;
    width: 100%;
    max-height: 600px;
    /* 表示領域：高さ600px */
    overflow: hidden;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    box-shadow: 0 4px 15px rgba(0,
    0,
    0,
    0.1);
}
.template-item-img {
    width: 100%;
    max-width: none;
    height: auto;
    display: block;
    transform: translateY(0);
    /* マウスを離したとき：ゆっくり上に戻る */
    transition: transform 2.5s cubic-bezier(0.25,
    0.1,
    0.25,
    1),
    opacity 0.3s ease;
    will-change: transform;
}

/* ホバーで画像の下端までスクロール（600px以下の画像は min() により移動量0） */
@media (hover: hover) {
    .template-item a:hover .template-item-img {
        transform: translateY(min(0px,
        calc(-100% + 600px)));
        transition: transform 4s linear,
        opacity 0.3s ease;
        opacity: 0.95;
    }
}
@media (prefers-reduced-motion: reduce) {
    .template-item-img {
        transition: opacity 0.3s ease;
    }
}
.template-item-title {
    text-align: center;
    font-family: 'Geist Medium',
    sans-serif;
    font-size: 15px;
    margin: 0;
    font-weight: 500;
    color: #333;
}

/* ==========================================================================
   Pricing Page Styles (page-pricing.php)
   ========================================================================== */
.pricing-wrapper {
    background-color: #f3f4f6;
    padding: 40px 0 80px;
    min-height: 100vh;
}
.pricing-header {
    text-align: center;
    margin-bottom: 50px;
}

/* トグル（テンプレート一覧と同じ形） */
.pricing-toggle-container {
    display: flex;
    justify-content: center;
}
.pricing-toggle {
    display: inline-flex;
    background: #fff;
    border-radius: 50px;
    padding: 4px;
    position: relative;
    box-shadow: 0 2px 8px rgba(0,
    0,
    0,
    0.05);
}
.pricing-toggle-indicator {
    position: absolute;
    top: 4px;
    bottom: 4px;
    left: 4px;
    width: 50%;
    background: #b43cff;
    border-radius: 50px;
    transition: transform 0.3s ease,
    width 0.3s ease;
}
.pricing-toggle-item {
    padding: 10px 22px;
    font-size: 13px;
    font-weight: 700;
    color: #333;
    cursor: pointer;
    position: relative;
    z-index: 1;
    white-space: nowrap;
    transition: color 0.3s ease;
}
.pricing-toggle-item.active {
    color: #fff;
}

/* カード一覧：3列 */
.pricing-list {
    display: none;
    grid-template-columns: repeat(2,
    515px);
    justify-content: center;
    align-items: stretch;
    gap: 5px;
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 20px;
}
.pricing-list.active {
    display: grid;
    animation: pricingFade 0.4s ease;
}
@keyframes pricingFade {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.pricing-card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 10px;
    padding: 45px 30px 30px 40px;
    box-shadow: 0 4px 15px rgba(0,
    0,
    0,
    0.06);
    box-sizing: border-box;
}

/* 中央カラム：枠線と少し大きく */
.pricing-card.is-featured {
    border: 1px solid #b43cff;
    margin: -12px 0;
    padding: 45px 28px 35px 32px;
    box-shadow: 0 8px 30px rgba(180,
    60,
    255,
    0.15);
}
.pricing-card-title {
    font-family: "Geist",
    sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #111;
    margin: 0 0 12px;
}
.pricing-card-sub {
    font-size: 14px;
    color: #555;
    margin: 0 0 40px;
}
.pricing-card-license {
    font-size: 16px;
    color: #555;
    margin: 0 0 35px;
}
.pricing-card-price {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    color: #111;
    margin: 0 0 25px;
    line-height: 1.2;
}
.pricing-card-price .num {
    font-family: "Geist",
    sans-serif;
    font-size: 42px;
    font-weight: 600;
    letter-spacing: -0.05em;
}
.pricing-card-price .unit {
    font-size: 26px;
    font-weight: 700;
    margin-left: 6px;
}
.pricing-card-price .tax {
    font-size: 14px;
    font-weight: 400;
    margin-left: 6px;
    letter-spacing: -0.05em;
}

/* 機能リスト（チェックアイコン） */
.pricing-card-features {
    list-style: none;
    margin: 0 0 25px;
    padding: 0;
}
.pricing-card-features li {
    position: relative;
    padding-left: 23px;
    font-size: 15px;
    line-height: 1.75;
    color: #444;
}
.pricing-card-features li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.42em;
    width: 17px;
    height: 17px;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='8.5' fill='none' stroke='%2322b8b0' stroke-width='1.6'/%3E%3Cpath d='M6.3 10.2l2.4 2.4 5-5' fill='none' stroke='%2322b8b0' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}
.pricing-card-note {
    font-size: 15px;
    line-height: 1.9;
    color: #555;
    margin: 0 0 30px;
}

/* サブスクリプション注記：カード下にグリッド全幅で表示し、文の途中で改行しない */
.pricing-subscription-note {
    grid-column: 1 / -1;
    margin: 30px auto 0;
    text-align: center;
    font-size: 14px;
    line-height: 1.9;
    color: #555;
}
.pricing-subscription-note span {
    display: inline-block;
}

/* 購入ボタン：カード下端にそろえる */
.pricing-card-btn {
    display: block;
    margin-top: auto;
    padding: 14px 20px;
    border-radius: 50px;
    background-image: linear-gradient(90deg,
    #b43cff 0%,
    #4a3fd4 100%);
    color: #fff !important;
    font-size: 14px;
    font-weight: 700;
    text-align: center;
    text-decoration: none !important;
    letter-spacing: 0.08em;
    transition: opacity 0.3s ease,
    box-shadow 0.3s ease;
}
.pricing-card-btn:hover {
    opacity: 0.9;
    box-shadow: 0 6px 18px rgba(120,
    60,
    230,
    0.35);
}
.pricing-card-btn.is-top {
    margin-top: 0;
}
.pricing-page-content {
    margin-top: 80px;
}

/* タブレット */
@media (max-width: 1080px) {
    .pricing-list {
        grid-template-columns: repeat(3,
        1fr);
    }
    .pricing-card {
        padding: 35px 22px 25px;
    }
    .pricing-card.is-featured {
        padding: 35px 22px 30px;
    }
}

/* モバイル：1カラム */
@media (max-width: 768px) {
    .pricing-list {
        grid-template-columns: 1fr;
        max-width: 440px;
        gap: 24px;
    }
    .pricing-card.is-featured {
        margin: 0;
    }
    .pricing-card-sub {
        margin-bottom: 25px;
    }
    .pricing-card-license {
        margin-bottom: 20px;
    }
    .pricing-toggle-item {
        padding: 10px 14px;
        font-size: 12px;
    }
}

/* ==========================================================================
   Front Page FAQ (#zeta-faq)
   ========================================================================== */
#zeta-faq {
    padding: 120px 20px;
}
#zeta-faq .zeta-design__title {
    font-family: "Noto Sans JP",
    "Geist",
    sans-serif;
    font-size: 52px;
    font-weight: 700;
    letter-spacing: -0.08em;
    text-align: center;
    margin-bottom: 60px;
}
.zeta-faq__list {
    max-width: 1020px;
    margin: 0 auto;
}
.zeta-faq__item {
    margin-bottom: 10px;
}
.zeta-faq__q {
    margin: 0;
    font-size: inherit;
    font-weight: inherit;
}
.zeta-faq__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    width: 100%;
    padding: 16px;
    background: #fff;
    border: none;
    border-radius: 10px;
    font: inherit;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    text-align: left;
    cursor: pointer;
    transition: box-shadow 0.3s ease;
}
.zeta-faq__btn:hover {
    box-shadow: 0 4px 15px rgba(0,
    0,
    0,
    0.06);
}
.zeta-faq__btn:focus-visible {
    outline: 2px solid #b43cff;
    outline-offset: 2px;
}

/* ＋ / − アイコン（開くと180°回転しながら縦線が消えて − になる） */
.zeta-faq__icon {
    position: relative;
    flex-shrink: 0;
    width: 14px;
    height: 14px;
    transition: transform 0.4s ease;
}
.zeta-faq__icon::before,
.zeta-faq__icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 2.5px;
    background: #666666;
    border-radius: 2px;
    transform: translate(-50%,
    -50%);
    transition: transform 0.4s ease,
    opacity 0.4s ease;
}
.zeta-faq__icon::after {
    transform: translate(-50%,
    -50%) rotate(90deg);
}
.zeta-faq__item.is-open .zeta-faq__icon {
    transform: rotate(180deg);
}
.zeta-faq__item.is-open .zeta-faq__icon::after {
    transform: translate(-50%,
    -50%) rotate(0deg);
    opacity: 0;
}

/* 回答：高さを 0 → 自動 でなめらかに開閉 */
.zeta-faq__a {
    display: grid;
    grid-template-rows: 0fr;
    transition: grid-template-rows 0.4s ease;
}
.zeta-faq__item.is-open .zeta-faq__a {
    grid-template-rows: 1fr;
}
.zeta-faq__a-inner {
    overflow: hidden;
    min-height: 0;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.zeta-faq__item.is-open .zeta-faq__a-inner {
    opacity: 1;
    transition: opacity 0.4s ease 0.1s;
}
.zeta-faq__a-inner p {
    margin: 0;
    padding: 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}
@media (max-width: 768px) {
    #zeta-faq {
        padding: 60px 16px;
    }
    #zeta-faq .zeta-design__title {
        font-size: 32px;
        margin-bottom: 36px;
    }
    .zeta-faq__btn {
        padding: 14px 18px 14px 20px;
        font-size: 15px;
    }
    .zeta-faq__icon,
    .zeta-faq__icon::before,
    .zeta-faq__icon::after {
        width: 18px;
    }
    .zeta-faq__icon {
        height: 18px;
    }
    .zeta-faq__a-inner p {
        padding: 18px 20px 12px;
        font-size: 15px;
    }
}
@media (prefers-reduced-motion: reduce) {
    .zeta-faq__a,
    .zeta-faq__a-inner,
    .zeta-faq__icon,
    .zeta-faq__icon::before,
    .zeta-faq__icon::after {
        transition: none;
    }
}

/* ==========================================================================
   Front Page Stats (#zeta-stats) - FAQの上のカウントアップ
   ========================================================================== */
#zeta-stats {
    padding: 0 20px 0;
}
.zeta-stats__inner {
    display: flex;
    justify-content: center;
    gap: clamp(40px,
    10vw,
    140px);
    max-width: 1020px;
    margin: 0 auto;
}
.zeta-stats__item {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.zeta-stats__num {
    font-family: "Geist",
    sans-serif;
    font-weight: 600;
    font-size: 100px;
    line-height: 1;
    letter-spacing: -0.08em;
    font-variant-numeric: tabular-nums;
    color: #000;
}
.zeta-stats__label {
    margin-top: 12px;
    font-size: 15px;
    color: #000;
}
@media (max-width: 600px) {
    #zeta-stats {
        padding: 0px 16px 0;
    }
    .zeta-stats__inner {
        gap: 20px;
    }
    .zeta-stats__num {
        font-size: 64px;
    }
    .zeta-stats__label {
        font-size: 13px;
    }
}

/* ==========================================================================
   Front Page 設計思想 (#zeta-philosophy)
   ========================================================================== */
#front-reinvent {
    padding-bottom: 40px;
}
#zeta-philosophy {
    padding: 0 20px 100px;
}
.zeta-philosophy__inner {
    max-width: 1020px;
    margin: 0 auto;
    text-align: left;
    font-size: 14px;
    line-height: 1.6;
    color: #333;
}
.zeta-philosophy__inner p {
    margin: 0 0 1em;
}
.zeta-philosophy__inner h3 {
    font-size: 20px;
    font-weight: 700;
    margin: 23px 0 10px;
    color: #333;
}
.zeta-philosophy__statement {
    margin-top: 40px !important;
    font-weight: 700;
}
.zeta-philosophy__subtitle {
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.04em;
    margin: 72px 0 8px;
    color: #222;
}
.zeta-philosophy__inner ul {
    margin: 0 0 1em;
    padding-left: 1.4em;
    list-style: disc;
}
.zeta-philosophy__inner li {
    margin-bottom: 0.3em;
}
.zeta-philosophy__table-wrap {
    overflow-x: auto;
    margin: 20px 0 12px;
}
.zeta-philosophy__table {
    width: 100%;
    border-collapse: collapse;
    background: #fff;
    font-size: 14px;
}
.zeta-philosophy__table th,
.zeta-philosophy__table td {
    padding: 12px 16px;
    border-bottom: 1px solid #e3e1e1;
    text-align: left;
    vertical-align: top;
    line-height: 1.6;
}
.zeta-philosophy__table thead th {
    background: #222;
    color: #fff;
    font-weight: 700;
}
.zeta-philosophy__table thead th:last-child {
    background: linear-gradient(90deg,
    #8b46af,
    #c03c84);
}
.zeta-philosophy__table thead th:not(:first-child) {
    text-align: center;
}
.zeta-philosophy__table tbody th {
    width: 22%;
    font-weight: 700;
    white-space: nowrap;
    color: #333;
    background: #fff;
}
.zeta-philosophy__table tbody td {
    color: #333;
}
.zeta-philosophy__table td:nth-child(2) {
    width: 30%;
}
.zeta-philosophy__note {
    font-size: 12px;
    color: #777;
}
@media (max-width: 768px) {
    #front-reinvent {
        padding-bottom: 24px;
    }
    #zeta-philosophy {
        padding: 0 20px 64px;
    }
    .zeta-philosophy__inner br {
        display: none;
    }
    .zeta-philosophy__subtitle {
        font-size: 22px;
        margin-top: 56px;
    }
    /* スマホ：表を行ごとのカードに縦積み */
    .zeta-philosophy__table,
    .zeta-philosophy__table tbody,
    .zeta-philosophy__table tr,
    .zeta-philosophy__table th,
    .zeta-philosophy__table td {
        display: block;
        width: auto !important;
    }
    .zeta-philosophy__table {
        background: none;
        font-size: 13px;
    }
    .zeta-philosophy__table thead {
        display: none;
    }
    .zeta-philosophy__table tr {
        background: #fff;
        margin-bottom: 12px;
    }
    .zeta-philosophy__table tbody th {
        background: #222;
        color: #fff;
        padding: 10px 14px;
        border: none;
        white-space: normal;
    }
    .zeta-philosophy__table td {
        padding: 10px 14px;
    }
    .zeta-philosophy__table td::before {
        content: attr(data-label);
        display: block;
        font-size: 11px;
        font-weight: 700;
        margin-bottom: 2px;
        color: #999;
    }
    .zeta-philosophy__table td:last-child {
        border-bottom: none;
    }
    .zeta-philosophy__table td:last-child::before {
        background: linear-gradient(90deg,
        #8b46af,
        #c03c84);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
    }
}

/* ==========================================================================
   ボタンのローディング表示（クリック後、遷移までの間）
   ========================================================================== */
.grad-button a.is-loading {
    pointer-events: none;
    color: transparent !important;
    transform: none;
}
.grad-button a.is-loading::after {
    display: none;
}
.grad-button a.is-loading::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 20px;
    height: 20px;
    margin: -10px 0 0 -10px;
    border: 2px solid rgba(255,
    255,
    255,
    0.35);
    border-top-color: #fff;
    border-radius: 50%;
    box-sizing: border-box;
    animation: zeta-btn-spinner 0.8s linear infinite;
}
@keyframes zeta-btn-spinner {
    to {
        transform: rotate(360deg);
    }
}

/* ==========================================================================
   トグル（テンプレート一覧・料金プラン）：div → button 化に伴うリセット
   ========================================================================== */
button.templates-toggle-item,
button.pricing-toggle-item {
    -webkit-appearance: none;
    appearance: none;
    background: none;
    border: 0;
    margin: 0;
    font-family: inherit;
    line-height: inherit;
    font-family: "Geist",
    sans-serif;
    font-weight: 700;
}
button.templates-toggle-item:focus-visible,
button.pricing-toggle-item:focus-visible {
    outline: 2px solid #4a3fd4;
    outline-offset: 2px;
    border-radius: 50px;
}