@charset "UTF-8";

/*
 * Template: swell
 * Theme Name: SWELL CHILD
 * Theme URI: https://swell-theme.com/
 * Description: SWELLの子テーマ
 * Version: 1.0.0
 * Author: LOOS WEB STUDIO
 * Author URI: https://loos-web-studio.com/
 * License: GNU General Public License
 * License URI: http://www.gnu.org/licenses/gpl.html
 */

/* ==========================================================================
   変数定義
   ========================================================================== */
:root {
    /* EnRichブランドカラー - グラデーション */
    --emu-gradient-main: linear-gradient(to right, #0067A8, #7BDEF1);

    /* 単色 */
    --emu-blue: #0570D4;
    --emu-deepblue: #004B9B;

    /* フォント */
    --emu-font-primary: "Zen Maru Gothic", sans-serif;
}

/* スマートフォン向け（768px未満）のグラデーション定義 */
@media screen and (max-width: 767px) {
    :root {
        --emu-gradient-main: linear-gradient(to bottom, #0067A8, #7BDEF1);
    }
}

/* ==========================================================================
   共通ヘッダー
   ========================================================================== */
.-parallel .l-header__logo {
    width: 1200px;
    margin: auto;
    padding: 10px 10px !important;
}

@media not all and (min-width: 960px) {
    .l-header__inner {
        padding: 0 10px;
    }
}

/* グローバルナビゲーション */
.c-gnav>.menu-item>a .ttl {
    font-family: "Zen Maru Gothic", serif;
    font-size: 17px;
    font-weight: 500;
}

/* お問い合わせボタン */
.c-gnav>.menu-item:last-child {
    background: var(--color_main);
    color: #fff;
}

/* ==========================================================================
   固定ページ共通
   ========================================================================== */
img {
    -webkit-user-drag:none;
    -khtml-user-drag:none;
}

.fv-wave-pc {
    position: absolute;
    margin: auto;
    height: auto;
    top: -24px;
    z-index: 100;
}

.fv-wave-sp {
    position: absolute;
    margin: auto;
    height: auto;
    top: -18px;
    z-index: 100;
}


/* コンテンツの余白調整 */
.page .l-content {
    padding-top: 0;
}

@media (max-width: 960px) {
    .l-content {
        padding-top: 0;
    }
}

/* アイキャッチ画像設定 */
.page .l-topTitleArea__body {
    text-shadow: none;
}

.page:not(.home) .c-filterLayer__img {
    opacity: 1;
    z-index: 0;
}

/* ページタイトル */
.c-pageTitle {
    color: var(--emu-blue);
    font-family: "Zen Maru Gothic", serif;
    font-size: 1.6em;
    font-style: normal;
    font-weight: 500;
    text-align: center;
}

.bg {
    position: relative;
    transform: translateZ(1px);
}

/* ==========================================================================
   共通コンポーネント
   ========================================================================== */
/* アクセスパターン背景*/
.ac-grade {
    background-image: linear-gradient(180deg, rgba(58, 233, 241, 0), rgba(97, 223, 229, 1) 61%, rgba(65, 164, 253, 1));
}

.bg {
    position: relative;
    transform: translateZ(1px);
}

/* スマートフォン向け　デフォルト見出し変更*/
@media screen and (max-width: 767px) {
    .post_content h3 {
        font-size: 1.25em;
    }
}

/*見出しを隠す*/
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0;
    white-space: nowrap;
}

/*見出し画像の余白*/
.heading-image-container {
    text-align: center;
    margin: 0 auto 2em;
}


/* 見出し青*/
body .l-content .emu-heading-2 {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 30px 0 50px;
    font-family: "Zen Maru Gothic", serif;
    font-size: 1.6em;
    color: var(--emu-deepblue);
    position: relative;
}

/* 左側の線 */
body .l-content .emu-heading-2::before {
    content: "";
    position: relative;
    margin-right: 8px;
    width: 30px;
    height: 8px;
    background-image: linear-gradient(to bottom,
            transparent 0px,
            transparent 2px,
            var(--emu-deepblue) 2px,
            var(--emu-deepblue) 4px,
            transparent 4px,
            transparent 7px,
            var(--emu-deepblue) 7px,
            var(--emu-deepblue) 8px);
    margin-top: 9px;
}

/* 右側の線 */
body .l-content .emu-heading-2::after {
    content: "";
    position: relative;
    margin-left: 8px;
    width: 30px;
    height: 8px;
    background-image: linear-gradient(to bottom,
            transparent 0px,
            transparent 2px,
            var(--emu-deepblue) 2px,
            var(--emu-deepblue) 4px,
            transparent 4px,
            transparent 7px,
            var(--emu-deepblue) 7px,
            var(--emu-deepblue) 8px);
    margin-top: 1px;
}

/* 見出し白*/
body .l-content .emu-heading-w {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 30px 0;
    font-family: "Zen Maru Gothic", serif;
    font-size: 1.6em;
    color: #fff;
    position: relative;
}

/* 左側の線 */
body .l-content .emu-heading-w::before {
    content: "";
    position: relative;
    margin-right: 8px;
    width: 30px;
    height: 8px;
    background-image: linear-gradient(to bottom,
            transparent 0px,
            transparent 2px,
            #fff 2px,
            #fff 4px,
            transparent 4px,
            transparent 7px,
            #fff 7px,
            #fff 8px);
    margin-top: 9px;
}

/* 右側の線 */
body .l-content .emu-heading-w::after {
    content: "";
    position: relative;
    margin-left: 8px;
    width: 30px;
    height: 8px;
    background-image: linear-gradient(to bottom,
            transparent 0px,
            transparent 2px,
            #fff 2px,
            #fff 4px,
            transparent 4px,
            transparent 7px,
            #fff 7px,
            #fff 8px);
    margin-top: 1px;
}

/* 角丸ユーティリティ */
.u-rounded-xs,
.u-rounded-xs img {
    border-radius: 4px;
}

.u-rounded-sm,
.u-rounded-sm img {
    border-radius: 8px;
}

.u-rounded-md,
.u-rounded-md img {
    border-radius: 12px;
}

.u-rounded-lg,
.u-rounded-lg img {
    border-radius: 16px;
}

.u-rounded-xl,
.u-rounded-xl img {
    border-radius: 24px;
}


.emu-basic-table table,
.emu-basic-table th,
.emu-basic-table td {
    border-color: var(--er-blue);
}


.emu-access-table {
    margin-left: auto;
    margin-right: auto;
    width: 80%;
    /* 幅を調整 */
    max-width: 800px;
    /* 最大幅を設定 */
}

@media screen and (max-width:768px) {
    .emu-access-table {
        margin-left: auto;
        margin-right: auto;
        width: 100%;
        /* 幅を調整 */
    }
}

/* 線ボタン */
.is-style-btn_line a {
    background-color: rgba(255, 255, 255, 1);
}

/* Google Maps埋め込み */
.g_map {
    height: 0;
    padding-top: 50%;
    position: relative;
    width: 100%;
}

.g_map iframe,
.g_map object,
.g_map embed {
    border-radius: 15px;
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
}

/* ==========================================================================
   トップページ
   ========================================================================== */
/* メインビジュアル */
@media screen and (max-width: 767px) {
    .p-mainVisual__textLayer {
        left: 50% !important;
        width: 80%;
        top: -80px;
    }
}

/*メインビジュアル上コピーの影*/
.svg-shadow-b {
    filter: drop-shadow(0px 0px 2px #0ebbd6);
    filter: drop-shadow(0px 0px 12px #0ebbd6);
}

/* ==========================================================================
   固定ページ共通
   ========================================================================== */
/* コンテンツの余白調整 */
.top #content {
    padding-top: 0em;
}

.page .l-content {
    padding-top: 0;
}

@media (max-width: 960px) {
    .l-content {
        padding-top: 0;
    }
}

/* ==========================================================================
   印刷設定
   ========================================================================== */
@media print {

    .sp_contact,
    .top_title {
        display: none !important;
    }
}

/* ==========================================================================
   汎用設定
   ========================================================================== */
.mt-2em {
    margin-top: 2em !important;
}

.mb-0em {
    margin-bottom: 0em !important;
}

.zenmaru {
    font-family: "Zen Maru Gothic", serif;
}

/*ふわふわさせる*/
.fuwafuwa {
    animation: floating-y 2.2s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
    0% {
        transform: translateY(-10%);
    }

    100% {
        transform: translateY(10%);
    }
}

/* ==========================================================================
   アニメーション設定
   ========================================================================== */
/* フェードアップアニメーション */
.u-fade-type-up {
    transform: translateY(50px);
    opacity: 0;
    z-index: 0;
    position: relative;
}

.u-fade-type-up.is-active {
    transition: all 0.5s ease-out;
    transform: translateY(0);
    opacity: 1;
}

/* メインビジュアルレイヤー */
.p-mainVisual__slideLayer {
    z-index: 2;
    position: relative;
}

.p-mainVisual__bgLayer {
    z-index: 1;
    position: relative;
}