@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
*/

/* ===================================
// 全体設定
// =================================== */

/* rem表記用　文字サイズ設定 */
html {
    font-size: 62.5%;
}
/* font-sizeは16pxの62.5%の10px */
body {
    font-size: 1.6rem;
}
/*font-size : 16px と同等*/

/* 約物半角 */
.yakuhan {
    font-family: YakuHanMPs, "Yu Gothic", sans-serif;
}

/* 禁則処理 */
body {
    line-break: strict;
    word-break: break-all;
    overflow-wrap: break-word;
    word-wrap: break-word;
}

/* contactページ以外はリキャプチャのバッジを隠す */
body:not(.contact) .grecaptcha-badge {
    visibility: hidden;
}

.frontmost {
    z-index: calc(infinity);
}

/* 改行制御 */
.nowrap {
    white-space: nowrap;
}

/* 回転 */
.rotate {
    transform: rotate(-8deg)
}

/* 両端揃え */
.justify {
    text-align: justify;
    text-justify: inter-ideograph;
}

/* 縦書き */
.tate {
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
}

/* 中央揃え */
.tac {
    text-align: center;
}

/* グレースケール */
.gray-scale {
    filter: grayscale(100%);
}

/* スマホ用テキストアライン変更 */
@media screen and (max-width: 767px) {
    .sp-txt-center {
        text-align: center!important;
    }
    .sp-txt-left {
        text-align: left!important;
    }
}
@media screen and (min-width: 768px) {
    .sp-txt-left {
        text-align: center;
    }
    .sp-txt-center {
        text-align: left;
    }
}

/* スマホだけ電話番号リンク発信 */
@media (min-width: 769px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
}

/* フッター上ウィジェットの上下余白を削除 */
#before_footer_widget {
    margin: 0;
}

/* スマホ時は非表示 */
@media(min-width:751px) {
    .sp-none {
        display: none !important;
    }
}

/* スマホ時はカラム順番を逆に（リッチカラムに対して指定） */
@media (max-width: 768px) {
    .swell-col-reverse .swell-block-columns__inner {
        flex-direction: column-reverse;
    }
}

/* 本文で使うページネーションの位置ズレを修正 */
.c-pagination .page-numbers:first-child {
    margin-top: 4px !important;
}
.c-pagination .page-numbers:last-child {
    margin-bottom: 4px !important;
}

/* ===================================
// ヘッダー
// =================================== */

/* ヘッダーの表示範囲の調整 */
@media screen and (min-width: 960px) {

    .l-header__inner.l-container,
    .l-fixHeader__inner.l-container {
        max-width: 100%;
    }
}
/* 下層ページのヘッダー幅をトップに合わせる */
.l-header .l-container {
    max-width: 100% !important;
}
.l-fixHeader__inner {
    max-width: 100%;
}
/* 追従ヘッダーの影を消す */
.-body-solid .l-fixHeader {
    box-shadow: none;
}
/* グローバルメニューの文字のサイズと太さの調整 */
.c-gnav {
    font-weight: bold;
    font-size: 1.2em;
}
/* ヘッダーボタンのサイズを文字合わせに */
.w-header .swell-block-columns .swell-block-column {
    width: auto;
}
/* メニューの間隔を調整する */
.c-gnav>.menu-item>a {
    padding: 0 1.2em;
}
/* ロゴの位置を上下中央に配置 */
.c-headLogo__link {
    display: flex;
    align-items: center;
}
/* グロナビのホバー速度の調整*/
.c-gnav>li:hover>a,
.c-gnav>.-current>a {
    transition: all .25s;
}
/* グロナビのラインホバー時のアンダーラインの位置調整と太さ*/
.c-gnav>.menu-item>a:after {
    bottom: 16px;
    height: 1px;
}

/* メニュー下タイトルの調整 */
.c-smallNavTitle {
    display: block;
    position: relative;
    top: 6px;
    font-size: 11px;
    font-weight: 500;
    text-align: center;
    opacity: 1;
}
@media (min-width: 960px) {
    .-parallel .l-header__gnav .c-gnav>li>a {
        padding: 16px 30px;
    }
}
/* サブメニューカスタマイズ */
.c-gnav .sub-menu a {
    background-color: #F2D5D5;
}
.c-gnav .sub-menu a:hover {
    background-color: #fff;
}
/* デフォルトのサブメニューのホバーエフェクトを相殺 */
.c-gnav .sub-menu a:hover .ttl {
    left: 0px;
}

/* ===================================
// フッター
// =================================== */

/* フッターの表示範囲を調整 */
.l-container.w-footer {
    max-width: 100%;
}
/* フッターメニューの仕切り縦線を消す */
.l-footer__nav li:first-child a,
.l-footer__nav li a {
    border-left: 0;
    border-right: 0;
}
/* モバイルの時はフッターメニューを縦並びにする */
@media (max-width: 768px) {
    .l-footer__nav {
        display: flex;
        flex-direction: column;
        align-items: center;
    }
}
/* フッターのリストの装飾を消す */
.l-footer .post_content :where(ul:not([type])),
.l-footer .post_content ol ul,
.l-footer .post_content ul ul {
    list-style: none;
}
/* フッターウィジェットとコピーライトの表示範囲を揃える */
/* フッターウィジェットの表示範囲 */
.l-container.w-footer {
    max-width: 100%;
}

/* フッターの表示範囲 */
.l-footer__foot {
    max-width: 100%;
    margin: 0 auto;
    padding-left: var(--swl-pad_container, 0);
    padding-right: var(--swl-pad_container, 0);
}

.l-footer__foot .l-container {
    max-width: 100%;
    padding-left: 1em;
    padding-right: 1em;
}

.l-footer .copyright {
    text-align: left;
}



/* ===================================
// ボタン
// =================================== */

/* ノーマルボタンのシャドウ削除 */
.is-style-btn_normal a, .is-style-btn_normal a:hover {
    box-shadow: none;
}


/* ===================================
// カテゴリウィジェット
// =================================== */

/* 親カテゴリのファイルアイコンを削除 */

.widget_categories>ul>.cat-item>a:before, .wp-block-categories-list>li>a:before {
    content: "";
}
.widget_categories>ul>.cat-item>a, .wp-block-categories-list>li>a {
    padding-left: 0;
}

/* ===================================
// パンくず
// =================================== */

/* パンくずリストの位置 */
.p-breadcrumb {
    margin: 0;
}
/* 境界線をなくす */
.-body-solid .p-breadcrumb.-bg-on {
    box-shadow: none;
}
/* 背景色と文字色 */
#breadcrumb,
.p-breadcrumb {
    background: #fff !important;
    color: #999 !important;
}
/* サブページ名の透過を解除 */
.p-breadcrumb__item:last-child span {
    opacity: 1 !important;
}
/* ホームの文字のカスタマイズ */
.p-breadcrumb__text .__home {
    display: block;
    font-size: 1em !important;
}
/* サブページの文字のカスタマイズ */
.p-breadcrumb__text {
    color: #333 !important;
    font-size: 1.2em !important;
    display: block;
    padding-left: 10px;
}

/* ===================================
// リッチカラム
// =================================== */


.l-mainContent .swell-block-column {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.l-mainContent .swell-block-column .swell-block-button {
    margin-top: auto;
    width: 100%;
}


/* ===================================
// 投稿リスト
// =================================== */

/* カードの高さを揃える */
.p-postList__item {
    display: flex
}
/* 4列表示 */
@media (min-width: 960px) {
    .-col4 .-type-card.-pc-col3 .p-postList__item, .-col4 .-type-thumb.-pc-col3 .p-postList__item {
        width: calc(100% / 4);
    }
}
/* 5列表示 */
@media (min-width: 960px) {
    .-col5 .-type-card.-pc-col3 .p-postList__item, .-col5 .-type-thumb.-pc-col3 .p-postList__item {
        width: calc(100% / 5);
    }
}
/* タイトルから日付を削除 */
.c-postTitle__date {
    display: none;
}
/* アイキャッチのホバー時の着色を削除 */
.p-postList__thumb:before {
    background: none;
}
/* アイコンの非表示 */
.icon-posted:before {
    content: "";
}

/* ===================================
// Snow Monkey Forms
// =================================== */

/* チェックboxの位置調整 */
.smf-form .smf-radio-button-control__control {
    height: 20px !important;
}
.smf-form .smf-checkbox-control__control {
    height: 20px !important;
}
@media screen and (max-width: 767px) {
    .smf-form .smf-radio-button-control__control {
        height: 17px !important;
    }
    .smf-form .smf-checkbox-control__control {
        height: 17px !important;
    }
}


/* ===================================
// フォント
// =================================== */

/* 太さ */
.fw100 {
    font-weight: 100 !important;
}
.fw200 {
    font-weight: 200 !important;
}
.fw300 {
    font-weight: 300 !important;
}
.fw400 {
    font-weight: 400 !important;
}
.fw500 {
    font-weight: 500 !important;
}
.fw600 {
    font-weight: 600 !important;
}
.fw700 {
    font-weight: 700 !important;
}
.fw800 {
    font-weight: 800 !important;
}
.fw900 {
    font-weight: 900 !important;
}

/* 文字間 */
.ls-1 {
    letter-spacing: -1px !important;
}
.ls1 {
    letter-spacing: 1px !important;
}
.ls2 {
    letter-spacing: 2px !important;
}
.ls3 {
    letter-spacing: 3px !important;
}
.ls4 {
    letter-spacing: 4px !important;
}

/* 行間 */
.lh1 {
    line-height: 1 !important;
}
.lh1-1 {
    line-height: 1.1 !important;
}
.lh1-2 {
    line-height: 1.2 !important;
}
.lh1-3 {
    line-height: 1.3 !important;
}
.lh1-4 {
    line-height: 1.4 !important;
}
.lh1-5 {
    line-height: 1.5 !important;
}

/* ===================================
// ホバーエフェクト
// =================================== */

/* ホバーで彩度を上げる */
.hover-mono {
    filter: grayscale(100);
    transition: filter 0.2s;
}
.hover-mono:hover {
    filter: grayscale(0);
}

/* ホバーで明るく/暗く（背景色を指定する） */
.hover-light:hover {
    opacity: 0.8;
    transition: 0.3s;
}
.hover-bright:hover {
    border-radius: 3px;
    transition: 0.3s;
    box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 5px 5px 10px 0px rgba(255, 255, 255, 0.5);
}


/* ===================================
// flex-box
// =================================== */

.flex-box {
    display: flex;
}
.align-center {
    align-items: center;
}
.align-start {
    align-items: flex-start;
}
.align-end {
    align-items: flex-end;
}
.justify-center {
    justify-content: center;
}
.justify-start {
    justify-content: flex-start;
}
.justify-end {
    justify-content: flex-end;
}
.justify-between {
    justify-content: space-between;
}

/* ===================================
// shadow
// =================================== */
.text-shadow-bright {
    text-shadow: 0px 5px 5px rgba(255, 255, 255, 0.7);
}
.text-shadow-light {
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.2);
}
.text-shadow-regular {
    text-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.shadow-light {
    box-shadow: 0px 5px 10px 0px rgba(0, 0, 0, 0.1);
}
.shadow-regular {
    box-shadow: 2px 3px 3px rgba(0, 0, 0, 0.4);
}
.shadow-bright {
    box-shadow: 0px 5px 10px 0px rgba(255, 255, 255, 0.5);
}

/* ===================================
// margin
// =================================== */

/* マージン */
.m10 {
    margin: 10px;
}
.m20 {
    margin: 20px;
}
.m30 {
    margin: 30px;
}
.m40 {
    margin: 40px;
}
.m50 {
    margin: 50px;
}
.m60 {
    margin: 60px;
}

/* マージントップ */
.mt10 {
    margin-top: 10px !important;
}
.mt20 {
    margin-top: 20px !important;
}
.mt30 {
    margin-top: 30px !important;
}
.mt40 {
    margin-top: 40px !important;
}
.mt50 {
    margin-top: 50px !important;
}
.mt60 {
    margin-top: 60px !important;
}

/* マージンボトム */
.mb0 {
    margin-bottom: 0 !important;
}
.mb10 {
    margin-bottom: 10px !important;
}
.mb20 {
    margin-bottom: 20px !important;
}
.mb30 {
    margin-bottom: 30px !important;
}
.mb40 {
    margin-bottom: 40px !important;
}
.mb50 {
    margin-bottom: 50px !important;
}
.mb60 {
    margin-bottom: 60px !important;
}

/* マージンレフト */
.ml10 {
    margin-left: 10px !important;
}
.ml20 {
    margin-left: 20px !important;
}
.ml30 {
    margin-left: 30px !important;
}
.ml40 {
    margin-left: 40px !important;
}
.ml50 {
    margin-left: 50px !important;
}
.ml60 {
    margin-left: 60px !important;
}

/* マージンライト */
.mr10 {
    margin-right: 10px !important;
}
.mr20 {
    margin-right: 20px !important;
}
.mr30 {
    margin-right: 30px !important;
}
.mr40 {
    margin-right: 40px !important;
}
.mr50 {
    margin-right: 50px !important;
}
.mr60 {
    margin-right: 60px !important;
}

/* パディング */
.p10 {
    padding: 10px !important;
}
.p20 {
    padding: 20px !important;
}
.p30 {
    padding: 30px !important;
}
.p40 {
    padding: 40px !important;
}
.p50 {
    padding: 50px !important;
}
.p60 {
    padding: 60px !important;
}
.p70 {
    padding: 70px !important;
}
.p80 {
    padding: 80px !important;
}
.p90 {
    padding: 90px !important;
}

/* パディングトップ */
.pt0 {
    padding-top: 0 !important;
}
.pt10 {
    padding-top: 10px !important;
}
.pt20 {
    padding-top: 20px !important;
}
.pt30 {
    padding-top: 30px !important;
}
.pt40 {
    padding-top: 40px !important;
}
.pt50 {
    padding-top: 50px !important;
}
.pt60 {
    padding-top: 60px !important;
}

/* パディングボトム */
.pb0 {
    padding-bottom: 0 !important;
}
.pb10 {
    padding-bottom: 10px !important;
}
.pb20 {
    padding-bottom: 20px !important;
}
.pb30 {
    padding-bottom: 30px !important;
}
.pb40 {
    padding-bottom: 40px !important;
}
.pb50 {
    padding-bottom: 50px !important;
}
.pb60 {
    padding-bottom: 60px !important;
}

/* パディングレフト */
.pl0 {
    padding-left: 0 !important;
}
.pl6 {
    padding-left: 6px !important;
}
.pl10 {
    padding-left: 10px !important;
}
.pl20 {
    padding-left: 20px !important;
}
.pl30 {
    padding-left: 30px !important;
}
.pl40 {
    padding-left: 40px !important;
}
.pl50 {
    padding-left: 50px !important;
}
.pl60 {
    padding-left: 60px !important;
}

/* パディングライト */
.pr0 {
    padding-right: 0 !important;
}
.pr10 {
    padding-right: 10px !important;
}
.pr20 {
    padding-right: 20px !important;
}
.pr30 {
    padding-right: 30px !important;
}
.pr40 {
    padding-right: 40px !important;
}
.pr50 {
    padding-right: 50px !important;
}
.pr60 {
    padding-right: 60px !important;
}
.pr70 {
    padding-right: 70px !important;
}

/* パディング上下 */
.ptb0 {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}
.ptb10 {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
}
.ptb20 {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}
.ptb30 {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
}
.ptb40 {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
}
.ptb50 {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
}
.ptb60 {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* パディング左右 */
.plr4 {
    padding-left: 4px !important;
    padding-right: 4px !important;
}
.plr6 {
    padding-left: 6px !important;
    padding-right: 6px !important;
}
.plr10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
}
.plr20 {
    padding-left: 20px !important;
    padding-right: 20px !important;
}
.plr30 {
    padding-left: 30px !important;
    padding-right: 30px !important;
}
.plr40 {
    padding-left: 40px !important;
    padding-right: 40px !important;
}
.plr50 {
    padding-left: 50px !important;
    padding-right: 50px !important;
}
.plr60 {
    padding-left: 60px !important;
    padding-right: 60px !important;
}

/* ===================================
// radius
// =================================== */

.radius0 {
    border-radius: 0px !important;
}
.radius0 img {
    border-radius: 0px !important;
}
.radius6 {
    border-radius: 6px;
}
.radius6 img {
    border-radius: 6px;
}
.radius8 {
    border-radius: 8px;
}
.radius8 img {
    border-radius: 8px;
}
.radius10 {
    border-radius: 10px;
}
.radius10 img {
    border-radius: 10px;
}
.radius20 {
    border-radius: 20px !important;
}
.radius20 img {
    border-radius: 20px;
}
.radius30 {
    border-radius: 30px !important;
}
.radius30 img {
    border-radius: 30px !important;
}
.radius40 {
    border-radius: 40px !important;
}
.radius40 img {
    border-radius: 40px !important;
}
.radius50 {
    border-radius: 50px !important;
}
.radius50 img {
    border-radius: 50px !important;
}
.radius9999 {
    border-radius: 9999px !important;
}
.radius9999 img {
    border-radius: 9999px !important;
}
.radius-top-10 {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.radius-top-10 img {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
.radius-top-20 {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.radius-top-20 img {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
.radius-left-10 {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.radius-left-10 img {
    border-top-left-radius: 10px;
    border-bottom-left-radius: 10px;
}
.radius-left-20 {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.radius-left-20 img {
    border-top-left-radius: 20px;
    border-bottom-left-radius: 20px;
}
.radius-right-10 {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.radius-right-10 img {
    border-top-right-radius: 10px;
    border-bottom-right-radius: 10px;
}
.radius-right-20 {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}
.radius-right-20 img {
    border-top-right-radius: 20px;
    border-bottom-right-radius: 20px;
}

/* ===================================
// background
// =================================== */

/* 背景画像のサイズと位置の調整 */
.bg-contain {
    background-size: contain !important;
}
.bg-cover {
    background-size: cover !important;
}
.bg-repeat {
    background-repeat: repeat !important;
    background-size: auto !important;
}
.bg-repeat-none {
    background-repeat: no-repeat !important;
}
.bg-repeat-y {
    background-repeat: repeat-y !important;
}
.bg-repeat-x {
    background-repeat: repeat-x !important;
}
.bg-position-top {
    background-position: top !important;
}
.bg-position-center {
    background-position: center;
}

/* 背景画像の上にドットレイヤーを敷く */
.is-layer-dot {
    position: relative;
    &:after {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        content: "";
        display: block;
        background-color: rgba(0, 0, 0, .4);
        background-image: radial-gradient(#000 20%, transparent 0), radial-gradient(#000 20%, transparent 0);
        background-position: 0 0, 10px 10px;
        background-size: 4px 4px;
    }
}

/* ===================================
// color
// =================================== */
.light-gray {
    color:#eee;
}


/* ===================================
// background-color
// =================================== */

.bg-color-main {
    background: #145d91;
}
.bg-color-lightgray {
    background: #efefef;
}
.bg-color-blue {
    background: #0000ff;
}
.bg-color-green {
    background: #048a3c;
}
.bg-color-yellow {
    background: #fcdc0a;
}
.bg-color-gray {
    background: #eee;
}
.bg-color-red {
    background: #d60012 !important;
}
.bg-color-white {
    background: #fff;
}
.bg-color-white-50 {
    background: rgba(255, 255, 255, 0.5);
}
.bg-color-white-60 {
    background: rgba(255, 255, 255, 0.6);
}
.bg-color-white-70 {
    background: rgba(255, 255, 255, 0.7);
}
.bg-color-white-80 {
    background: rgba(255, 255, 255, 0.8);
}
.bg-color-black {
    background: #1a1a1a;
}
.bg-color-darkgreen {
    background: #003920;
}
.bg-color-bluegrade {
    background-color: #1890d0;
    background-image: linear-gradient(90deg, #1890d0 60%, #004492 100%);
}
.bg-color-light-yellow {
    background-color: #f6f8de;
}
.bg-grad-yellow-white {
    background-color: #f6f8de;
    background-image: -webkit-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
    background-image: -moz-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
    background-image: -o-linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
    background-image: linear-gradient(160deg, #f6f8de 1%, #ffffff 50%, #f6f8de 90%);
}