@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');


/* ---------------
 メインカラー　216, 53, 134
 主テキスト 74, 26, 48
 --------------- */
.baseColor {
    color: rgb( 70, 185, 80);
    color: rgb( 60, 165, 80);
    color: rgb(170, 200, 40);
    color: rgb(190, 211, 94);
    color: rgb(102, 153, 0);
    color: rgb(  0, 135, 102);
    color: rgb( 20,  55, 0);
    color: rgb(  4,  68, 10);
    color: rgb( 12, 170, 101);
    color: rgb(255, 180, 0);
    color: rgb(255, 204, 0);
    color: rgb(74, 26, 28);
}

/* ---------------
 要素の再定義
 --------------- */
body  {
    color: #111;
    font-size: 16px;
    font-family: 'Noto Sans JP', sans-serif !important;
    /*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic', '游ゴシック  Medium', sans-serif !important;*/
    /*font-feature-settings: "palt";*/
    height: 100%;
    font-weight: 300;
    line-height: 1.5;
}
* {
    box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6 {
    font-family: 'Noto Sans JP', sans-serif !important;
    /*font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Hiragino Kaku Gothic', '游ゴシック  Medium', sans-serif !important;*/
}


/* リンク */
a {
    color: rgb(74, 26, 28);
    text-decoration: none;
}
a:visited {
    /*color: rgb(74, 26, 28);*/
}
a:active {
    /*color: #400;*/
}
a:hover {
    color: #c03;
    text-decoration: none;
}

@media screen and (min-width: 480px) {
}
@media screen and (min-width: 640px) {
}
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 960px) {
}
@media screen and (min-width: 1200px) {
}
@media screen and (min-width: 1600px) {
}


.shtColorGreen  { color: rgb(60, 165, 80); }
.shtColorYellow { color: rgb(255, 180, 0); }

/**
 * clearfix
 */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

/**************************************************
 *
 *  uikit overwrite
 *
 **************************************************/
 .uk-h1, .uk-h2, .uk-h3, .uk-h4, .uk-h5, .uk-h6, h1, h2, h3, h4, h5, h6 {
     font-family: 'Noto Sans JP', sans-serif !important;
 }


/**************************************************
  *
  *  ハンバーガー 3本線が×に
  *
  **************************************************/
.snhOpenbtn {
    position: relative;
    background:#57a2c7;
    background: transparent;
    cursor: pointer;
    width: 60px;
    height:50px;
    border-radius: 5px;
    z-index: 1100;
    margin-right: 0px;
}
    /*ボタン内側*/
    .snhOpenbtn span{
        display: inline-block;
        transition: all .4s;/*アニメーションの設定*/
        position: absolute;
        left: 14px;
        height: 4px;
        border-radius: 2px;
        background: #111;
        width: 45%;
    }
        .snhOpenbtn span:nth-of-type(1) { top:8px;	}
        .snhOpenbtn span:nth-of-type(2) { top:21px; }
        .snhOpenbtn span:nth-of-type(3) { top:34px; }
        
        /*activeクラスが付与されると線が回転して×に*/
        .snhOpenbtn.active span:nth-of-type(1) {
            top: 18px;
            left: 18px;
            transform: translateY(6px) rotate(-45deg);
            width: 30%;
        }
        .snhOpenbtn.active span:nth-of-type(2) {
            opacity: 0;/*真ん中の線は透過*/
        }
        .snhOpenbtn.active span:nth-of-type(3){
            top: 30px;
            left: 18px;
            transform: translateY(-6px) rotate(45deg);
            width: 30%;
        }

    @media screen and (min-width: 960px)
    {
        .snhOpenbtn {
            width: 80px;
            margin-right: 20px;
        }
    }


/**************************************************
 *
 *  お問い合わせボタン
 *
 **************************************************/
/* お問い合わせボタン ボーターグラデーション角丸仕様 */
    .snhPrimaryContactButton {
        display: block;
        height: 60px;
        margin: 0;
        padding: 3px;
        background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%);
        border-radius: 10px;
        color: rgb(4, 68, 10);
        font-weight: 600;
        text-align: center;
        transition: all 0.2s ease-out;
    }
        .snhPrimaryContactButtonInner {
            background: #fff;
            border-radius: 7px;
            line-height: 54px;
        }
        .snhPrimaryContactButton i {
            vertical-align: -5px;
            background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
        }
        .snhPrimaryContactButton:hover {
            color: rgb(255, 180, 0);
            background: rgb(255, 180, 0);
        }
            .snhPrimaryContactButton:hover i {
                background: rgb(255, 180, 0);
                -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhPrimaryContactButton {
            width: fit-content;
            margin: 30px auto 50px;
        }
            .snhPrimaryContactButtonInner {
                padding: 0 10px;
            }
        
        /* フッター お問い合わせボタン */
        .snhFooterContactButton {
            width: auto;
            margin: 10px 0 0;
        }
    }
    
    @media screen and (min-width: 960px)
    {
        .snhPrimaryContactButtonInner {
            padding: 0 30px;
        }
    }


/**************************************************
 *
 *  ヘッダー
 *
 **************************************************/
.snhHeader {
    border-top: 5px solid #ddd;
    border-image: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(255, 180, 0) 100%);
    border-image-slice: 1;
}
    /* index bg */
    .snhHeaderForIndex {
        background: rgb(251, 244, 227);
    }
    
.snhHeaderTel {
    color: rgb(60, 165, 80);
    font-size: 2rem;
    line-height: 1;
    text-align: right;
}
    .snhHeaderTel span {
        display:block;
        margin-top: 5px;
        font-size: 1rem;
    }
    .snhIconHeaderTel {
        float: left;
        display: block;
        margin-top: 0px;
        width: 44px;
        height: 44px;
        margin-right: 7px;
        background-image: url('../images/icon/tel.svg');
        filter: invert(58%) sepia(91%) saturate(328%) hue-rotate(75deg) brightness(89%) contrast(92%);
    }


/**************************************************
 *
 *  ヘッダー - ナビゲーションバー
 *
 **************************************************/
.snhHeaderNavbarContainer {}
.snhLogo {
    margin-left: 20px;
    line-height: 80px;
}
    .snhLogo img {
        height: 45px;
        margin-bottom: 8px;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhLogo {
            line-height: 100px;
        }
        .snhLogo img {
            height: 62px;
        }
    }


/**************************************************
 *
 *  フルスクリーン ナビゲーション
 *
 **************************************************/
#snhFullScreenNav {}
.snhFullScreenNavWrap {
    padding: 0;
    background: rgb(248, 246, 243);
}
.snhFullScreenNavInner {
    padding: 40px 0 40px;
    background: rgb(251, 244, 227);
}
    /* ナビゲーション内のヘッダー */
    .snhFullScreenNavHeader {
        margin-top: 0px;
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
        /* ロゴマーク */
        .snhFullScreenNavLogoMark{
            height: 40px;
            margin-bottom: 10px;
        }
        /* ロゴタイプ */
        .snhFullScreenNavLogoType {
            height: 26px;
        }
    /* ナビリスト */
    .snhFullScreenNavList {}
    .snhFullScreenNavList li {
        line-height: 2;
    }
    .snhFullScreenNavList .divider img {
        height: 5px;
    }
    
    /* フルスクリーン ナビゲーション内のお問い合わせ */
    .snhFullScreenContact {
        margin: 0px;
        padding: 30px 30px 50px;
        background: rgb(248, 246, 243);
        border-top: 1px solid rgb(208, 200, 189);
    }
        .snhFullScreenContactHeader {
            color: rgb(4, 68, 10);
            font-size: 1.125rem;
            font-weight: 600;
        }
            .snhFullScreenContactHeader div {}
            .snhFullScreenContactHeader p {
                margin: 10px 0 20px;
                font-size: .875rem;
            }
        .snhFullScreenContactDetail {
            color: rgb(4, 68, 10);
            font-weight: 600;
        }
            .snhFullScreenContactDetail .snhTelNo {
                color: rgb(4, 68, 10);
                font-size: 1.8rem;
            }
                .snhFullScreenContactDetail .snhTelNo i {
                    display: inline-block;
                    width: 30px;
                    height: 30px;
                    margin-top: -10px;
                    margin-right: 7px;
                    background-image: url('../images/icon/tel.svg');
                    vertical-align: middle;
                }
                .snhFullScreenContactDetail .snhTelTime {
                    margin-bottom: 20px;
                }
         
    @media screen and (min-width: 768px)
    {
        /* ロゴマーク */
        .snhFullScreenNavLogoMark{
            height: 50px;
            margin-bottom: 10px;
        }
        /* ロゴタイプ */
        .snhFullScreenNavLogoType {
            height: 45px;
        }
        /* テキストサイズ */
        .snhFullScreenNavList li a {
            font-size: 1.25rem !important;
        }
    }


/**************************************************
 *
 *  フローティング　ナビゲーション
 *
 **************************************************/
.snhFloatingNavbar {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    z-index: 980;
}
.snhFloatingNavbarContainer {
    height: 80px;
    padding: 3px;
    background: #fff;
    background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%) !important;
    border-radius: 40px;
}
    .snhFloatingNavbarContainer .snhFloatingNavbarInnder {
        height: 74px;
        background: #fff;
        border-radius: 40px;
    }
    /* ロゴ */
    .snhFloatingNavbarLogo {
        height: 40px;
    }
    /* 主要メニュー */
    .snhFloatingNavList {
        margin-left: 20px;
    }
    .snhFloatingNavList a {
        min-height: 74px !important;
        padding: 0 10px 10px !important;
        color: #111 !important;
        font-size: .9375rem !important;
        font-weight: 600;
        position: relative;
    }
        .snhFloatingNavList a::after {
            font-family: "Font Awesome 5 Free";
            content: "\f0d7";
            color: #f89174;/*アイコンの色*/
            position: absolute;
            bottom: 10px;
        }
        /* ▼のカラー */
        .snhFloatingNavList a.about::after   { color: rgb( 70, 165,  80); }
        .snhFloatingNavList a.hbd::after     { color: rgb( 47, 129, 198); }
        .snhFloatingNavList a.meeting::after { color: rgb(246,  51, 129); }
        .snhFloatingNavList a.seminar::after { color: rgb(255, 198,   0); }
        /* ▼のカラーに合わせる */
        .snhFloatingNavList a.about:hover   { color: rgb( 70, 165,  80) !important; }
        .snhFloatingNavList a.hbd:hover     { color: rgb( 47, 129, 198) !important; }
        .snhFloatingNavList a.meeting:hover { color: rgb(246,  51, 129) !important; }
        .snhFloatingNavList a.seminar:hover { color: rgb(255, 198,   0) !important; }


    @media screen and (min-width: 1200px)
    {
        .snhFloatingNavbarLogo {
            height: 50px;
        }
        .snhFloatingNavList {
            margin-left: 60px;
        }
        .snhFloatingNavList a {
            padding: 0 20px 10px !important;
            font-size: 1.125rem !important;
        }
    }


/**************************************************
 *
 *  フッター 共通お問い合わせ
 *
 **************************************************/
.snhFooterContactWrap {
    padding-top: 10px;
    padding-bottom: 30px;
    background: rgb(248, 246, 243);
    border-top: 1px solid #d0c8bd;
    border-bottom: 5px solid rgb(190, 211, 94);
}
    .snhFooterContactWrap p {
        margin-bottom: 10px;
        color: rgb( 4,  68, 10);
        font-weight: 600;
    }
    .snhFooterContactTitle {
        margin-top: 20px;
        color: rgb( 4,  68, 10);
        font-weight: 600;
        font-size: 1.125rem;
        text-align:center;
    }
        .snhFooterContactTitle span {
            display: block;
            background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(255, 198, 0) 80%);
            background-size:100%;
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
        }

    .snhFooterContactTel {
        position: relative;
        padding-left: 65px;
        color: rgb(4, 68, 10);
        font-size: 2.25rem;
        font-weight: 500;
        line-height: 1.3;
    }
        .snhFooterContactTel span {
            display: block;
            font-size: 1rem;
            font-weight: bold;
        }
    
    .snhFooterContactTel::before {
        content: '';
        position: absolute;
        top: 10px;
        left: 0;
        width: 60px;
        height: 60px;
        content: url('../images/icon/tel.svg');
    }
    .snhFooterContactForm {}
    .snhFooterContactFormButton {}

    @media screen and (min-width: 768px)
    {
        .snhFooterContactWrap {
            padding-top: 30px;
            padding-bottom: 30px;
        }
    }


/**************************************************
 *
 *  フッター
 *
 **************************************************/
.snhFooter {
    background: rgb(251, 244, 227);
    border-top: 3px solid rgb(70, 165, 80);
}
    .snhFooter .uk-grid-divider>:not(.uk-first-column)::before {
        border: 1px dashed rgb(190, 211, 94);
    }
    
.snhFooterContentsList {
    padding: 30px 0 50px;
}
    .snhFooterContentsList ul {
    }
    .snhFooterContentsList li {
        color: rgb(74, 26, 28);
        font-size: .875rem;
    }
        .snhFooterContentsList li i {
            margin-right: 5px;
            color: rgb(70, 165, 80);
            font-size: 1rem !important;
            vertical-align: -1px;
        }    
            .snhFooterContentsList li a:hover i {
                color: #c03;
            }  
        .snhFooterContentsList li .child {
            margin-left: 20px;
        }

/*
 * サイトロゴ
 */
.snhFooterName {
    padding: 20px 0;
    text-align: center;
}
    .snhFooterName .snhLogo {
        margin: 0;
        line-height: 50px !important;
    }
        .snhFooter .snhLogo img {
            height: 40px;
            margin-bottom: 0;
        }
    .snhFooterBusinessList {
        display: flex;
        justify-content: center;
        flex-wrap: wrap;
        list-style-type: none;
        color: #666;
        font-size: .875rem;
    }
        .snhFooterBusinessList li:first-child {
            margin-right: 20px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhFooterName {
            text-align: center;
        }
        .snhFooter .snhLogo img {
            height: 50px;
            margin-bottom: 0;
        }
    }
        
/*
 * コピーライト
 */
.snhCopy {
    padding: 30px 0;
    background-image: linear-gradient(170deg, rgba(60, 165, 80, 1) 20%, rgba(190, 211, 94, 1) 90%);
    color:#fff;
    font-size: .75rem;
    text-align:center;
}

    @media screen and (min-width: 768px)
    {
        .snhCopy {
            font-size: .875rem;
        }
    }


/**************************************************
 *
 * ページトップへ戻るボタン
 *
 **************************************************/
.snhToTop {
    z-index: 9999;
    display: block;
    position: fixed;
    bottom: 20px;
    right: 40px;
}
    .snhToTop a {
        display: block;
        width: 60px;
        height: 60px;
        padding: 0 0;
        background: rgba(4, 68, 10, 0.5);
        border-radius: 30px;
        color: #fff;
        text-align: center;
        line-height: 54px;
        opacity: 0.7;
    }
        .snhToTop a:hover {
            color: #fff;
            text-decoration: none;
            opacity: 1;
        }


/**************************************************
 *
 *  インデックス
 *
 **************************************************/
 /*
  * ボタン
  */
.snhIndexButtonWrap {
    margin: 0 auto 50px;
    text-align: center;
}
.snhIndexButton {
    display: inline-block;
}
    /* index primary button */
    .snhIndexPrimaryButton {
        margin: 0 auto 10px;
        height: 60px;
        width: 60px;
        padding: 2px;
        background-image: conic-gradient(rgba(255, 128, 151, 1) 20deg, rgba(4, 101, 220, 1) 100deg, rgba(255, 191, 81, 1) 180deg, rgba(11, 145, 49, 1) 250deg, rgba(253, 128, 150, 1) 340deg);
        border-radius: 30px;
        line-height: 56px;
        transition: all 0.5s ease;
    }
        .snhIndexPrimaryButtonInner {
            height: 56px;
            width: 56px;
            border-radius: 40px;
            background: rgb(251, 244, 227);
        }
            .snhIndexPrimaryButtonInnerLight {
                background: rgb(255, 255, 255);
            }
            /* button - hover */
            .snhIndexButton:hover .snhIndexPrimaryButton {
                background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%);
                color: rgb(70, 185, 80) !important;
            }
                .snhIndexButton:hover .snhIndexPrimaryButton + span {
                    color: rgb(70, 185, 80) !important;
                }
            .snhIndexButton:hover .snhIndexPrimaryButtonInner {
                background: #fff;
            }
        
    /* index secondary button */
    .snhIndexSecondaryButton {
        margin: 0 auto 10px;
        height: 60px;
        width: 60px;
        border: 2px solid #fff;
        border-radius: 40px;
        line-height: 56px;
        transition: all 0.5s ease;
    }
        .snhIndexButton .snhIndexSecondaryButton,
        .snhIndexButton .snhIndexSecondaryButton + span {
            color: #fff;
        }
            .snhIndexButton:hover .snhIndexSecondaryButton,
            .snhIndexButton:hover .snhIndexSecondaryButton + span {
                border-color:rgba(255, 255, 255, .7);
                color: rgba(255, 255, 255, .7);
            }


/**************************************************
 *
 *  インデックス - ヒーロー
 *
 **************************************************/
.snhHero {
    background: rgb(251, 244, 227);
    padding-bottom: 50px;
    text-align: center;
}
    .snhHero h1 {
        color: rgb(60, 165, 80);
        font-size: 1rem;
        font-weight: 700;
    }
    .snhHero h2 {
        font-size: 2.25rem;
        font-weight: 900;
        background: linear-gradient(120deg, rgba(60, 165, 80, 1) 35%, rgba(255, 180, 0, 1) 65%);
        background-size:120%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        animation: textAnime 15s infinite;
    }
        @keyframes textAnime{
            0%{background-position:0% 50%}
            50%{background-position:100% 50%}
            100%{background-position:0% 50%}
        }
    .snhHero p {
        color: #333;
        font-size: 1rem;
        font-weight: 700;
    }
    .snhHero div img {
        width: 600px;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhHero {
            padding-bottom: 140px;
        }
        .snhHero h1 {
            font-size: 1.5rem;
        }
        .snhHero h2 {
            font-size: 5rem;
        }
        .snhHero p {
            font-size: 1.5rem;
        }
        .snhHero div img {
            width: 600px;
        }
    }


/**************************************************
 *
 * インデックス - サポートネットひろしまとは
 *
 **************************************************/
.snhIndexAboutWrap {
}
.snhIndexAboutHeader {
    text-align: center;
}
    .snhIndexAboutHeader h2 {
        margin-bottom: 50px;
        color: rgb(20,  55,  0);
        font-size: 1rem;
        font-weight: 700;
    }
        .snhIndexAboutHeader h2 span {
            display: block;
            margin-bottom: 10px;
            color: rgb(70, 185, 80);
            font-size: 1.125rem;
        }
    .snhIndexAboutHeader p {
        font-size: 1.125rem;
        font-weight: 700;
    }

.snhIndexAboutItem {
    padding-left: 20px;
    padding-right: 20px;
}
    .snhIndexAboutItem div img {}
    .snhIndexAboutItem  h3 {
        font-size: 1.125rem;
        font-weight: 600;
        text-align: center;
    }
    .snhIndexAboutItem p {}

    
    @media screen and (min-width: 768px)
    {
        .snhIndexAboutHeader p {
            font-size: 1.25rem;
        }
        .snhIndexAboutItem {
            padding-left: 0px;
            padding-right: 0px;
        }
    }

    @media screen and (min-width: 960px)
    {
        .snhIndexAboutHeader h2 {
            margin-bottom: 50px;
            color: rgb(20,  55,  0);
            font-size: 1rem;
            font-weight: 700;
        }
            .snhIndexAboutHeader h2 span {
                display: block;
                margin-bottom: 10px;
                color: rgb(70, 185, 80);
                font-size: 1.5rem;
            }
            
        .snhIndexAboutHeader p {
            font-size: 1.5rem;
        }
    }


/**************************************************
 *
 * インデックス - Higher brain Dysfunction高次脳機能障害について
 *
 **************************************************/
.snhIndexAboutHbdWrap {
    background-image: linear-gradient(150deg, rgba(60, 165, 80, 1), rgba(190, 211, 94, 1) 90%);
}
.snhIndexAboutHbdHeader {
    text-align: center;
}
    .snhIndexAboutHbdHeader h2 {
        margin-bottom: 20px;
        color: rgb(20,  55,  0);
        font-size: 1.25rem;
        font-weight: 700;
    }
        .snhIndexAboutHbdHeader h2 span {
            display: block;
            margin-bottom: 10px;
            color: rgb(255, 226, 109);
            color: rgb(255, 210, 0);
            font-size: 1rem;
        }

.snhIndexAboutHbdItem {
    background: #fff;
    margin-left: 10px;
    margin-right: 10px; 
    padding: 30px 15px;
    border-radius: 10px;
}
     .snhIndexAboutHbdItem div img {}
     .snhIndexAboutHbdItem  h3 {
         font-size: 1.125rem;
         font-weight: 600;
         text-align: center;
     }
    .snhIndexAboutHbdItem p {
        font-size: .875rem;
    }
    
    /* ボタン */
    .snhIndexAboutHbdItem a {
        display: block;
        height: 40px;
        padding: 0 20px;
        border: 2px solid rgb(70, 185, 80);
        border-radius: 40px;
        color: rgb(20,  55,  0);
        font-weight: 500;
        text-align:center;
        line-height: 36px;
        transition: all 0.5s ease;
    }
        .snhIndexAboutHbdItem a i {
            float: right;
            color: rgb(60, 165, 80);
            line-height: 36px;
        }
        .snhIndexAboutHbdItem a:hover {
            background: rgb(70, 185, 80);
            color: #fff;
        }
            .snhIndexAboutHbdItem a:hover i {
                color: #fff;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhIndexAboutHbdHeader h2 {
            font-size: 1.5rem;
        }
        .snhIndexAboutHbdItem {
            margin-left: -10px;
            margin-right: -10px; 
            padding: 30px 10px;
        }
    }
    
    @media screen and (min-width: 960px)
    {
        .snhIndexAboutHbdHeader h2 {
            font-size: 1.8rem;
        }
        .snhIndexAboutHbdItem {
            margin-left: 10px;
            margin-right: 10px; 
            padding: 30px 20px;
        }
    }


/**************************************************
 *
 * インデックス - お知らせ
 *
 **************************************************/
.snhIndexNewsWrap {
}
.snhIndexNewsHeader {
    text-align: center;
}
    .snhIndexNewsHeader h2 {
        margin-bottom: 0px;
        color: rgb(20,  55,  0);
        font-size: 1rem;
        font-weight: 700;
    }
        .snhIndexNewsHeader h2 span {
            display: block;
            margin: 0 auto 10px;
            color: rgb(70, 185, 80);
            font-size: 1.5rem;
            display: block;
            width: fit-content;
            background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 80%);
            background-size:100%;
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
        }

.snhIndexNewsList {
    position: relative;
    border-bottom: 1px solid #e2e2e2;
}
    .snhIndexNewsList::before {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 30%;
        border-top: 1px solid rgb(102, 153, 0);
    }
    .snhIndexNewsList li {
        position: relative;
        margin: 0 !important;
        padding: 0;
        border-top: 1px solid #e2e2e2;
    }
        .snhIndexNewsList li::before {
            content: "";
            position: absolute;
            border-top: 1px solid rgb(102, 153, 0);
            width: 50%;
            height: inherit;
            top: -1px;
            left: 0;
        }
    
    .snhIndexNewsList a {
        display: flex;
        padding-left: 15px;
        padding-right: 15px;
        flex-direction: column;
        color: #333;
        transition: all 0.3s ease-in;
    }
        .snhIndexNewsList a:hover {
            color: rgb(70, 185, 80);
            background: #fcfcfc;
        }
        .snhIndexNewsList li .snhIndexNewsListDate {
            padding: 20px 0 0;
            color: rgb(102, 153, 0);
            font-size: .875rem;
        }
        .snhIndexNewsList li .snhIndexNewsListTitle {
            padding: 0 0 20px;
        }
    
    @media screen and (min-width: 480px)
    {
        .snhIndexNewsList li::before {
            width: 30%;
        }
        .snhIndexNewsList li a {
            display: flex;
            flex-direction: row;
            color: #333;
        }
        .snhIndexNewsList li span.snhIndexNewsListDate {
            width: 30%;
            padding: 20px 0;
            color: rgb(102, 153, 0);
            font-size: 1rem;
            text-align: center;
        }
        .snhIndexNewsList li span.snhIndexNewsListTitle {
            width: 70%;
            padding: 20px;
        }
    }


/**************************************************
 *
 * インデックス - 家族相談会のご案内
 *
 **************************************************/
.snhIndexMeetingWrap {
    padding-top: 0; 
    background-image: linear-gradient(150deg, rgba(255, 128, 146, 1) 20%, rgba(255, 191, 81, 1) 90%);
}
    .snhIndexMeetingInner {
        padding-top: 40px;
        
        
        
    }
        .snhIndexMeetingHeader {
        }
            .snhIndexMeetingHeader h2 {
                margin-bottom: 20px;
                color: #fff;
                font-size: 1.75rem;
                font-weight: 700;
                text-align: center;
            }
                .snhIndexMeetingHeader h2 span {
                    display: block;
                    font-size: 1rem;
                }
            .snhIndexMeetingHeader p {
                font-weight: 500;
            }
        .snhIndexMeetingList {
        }
        .snhIndexMeetingItem {
            margin-bottom: 10px;
        }
            .snhIndexMeetingItem a {
                position: relative;
                display: block;
                width: 100%;
                padding: 15px 15px;
                border-radius: 10px;
                background: rgba(255, 255, 255, .7);
                font-size: 1.125rem;
                font-weight: 600;
                transition: all 0.3s ease-in;
            }
                .snhIndexMeetingItem a::before {
                    position: absolute;
                    top: 50%;
                    transform: translateY(-50%);
                    right: 10px;
                    color: #fff;
                    font-size: 30px;
                    font-family: "Font Awesome 5 Free";
                    font-weight: 400;
                    content: "\f0a9";
                    margin-right: 10px;
                    transition: all 0.5s ease-in;
                }
                .snhIndexMeetingItem a span {
                    display: block;
                    font-size: .8125rem;
                }
                    .snhIndexMeetingItem a:hover::before {
                        color: #c03;
                    }
    @media screen and (min-width: 768px)
    {
        .snhIndexMeetingInner {
            padding-top: 40px; 
            background: url(../images/index/meeting_map.png);
            background-repeat: no-repeat;
            background-size: 80%;
            background-position: top -0% right -110%;
        }
        .snhIndexMeetingHeader p {
            font-size: 1.125rem;
        }
        .snhIndexMeetingInner {
            padding-top: 50px; 
        }
        .snhIndexMeetingHeader h2 {
            font-size: 2.5rem;
            text-align: left;
        }
            .snhIndexMeetingHeader h2 span {
                font-size: 1.5rem;
            }
        .snhIndexMeetingItem {
            margin-bottom: 10px;
        }
            .snhIndexMeetingItem a {
                width: 55%;
                font-size: 1.125rem;
            }
            .snhIndexMeetingItem a::before {
                right: 10px;
            }
            .snhIndexMeetingItem a span {
                display: block;
                font-size: 1rem;
            }
    }
    
    @media screen and (min-width: 960px)
    {
        .snhIndexMeetingInner {
            padding-top: 40px; 
            background: url(../images/index/meeting_map.png);
            background-repeat: no-repeat;
            background-size: 65%;
            background-position: bottom right -20%;
        }
        .snhIndexMeetingInner {
            padding-top: 70px; 
        }
        .snhIndexMeetingHeader h2 {
            font-size: 3rem;
            text-align: left;
        }
            .snhIndexMeetingHeader h2 span {
                font-size: 1.5rem;
            }
        .snhIndexMeetingItem {
            margin-bottom: 30px;
        }
            .snhIndexMeetingItem a {
                width: 40%;
                font-size: 1.125rem;
            }
            .snhIndexMeetingItem a::before {
                right: 20px;
            }
    }


/**************************************************
 *
 * インデックス - 家族会員・賛助会員募集
 *
 **************************************************/
.snhIndexDonationWrap {
    padding-top: 0; 
    background-image: linear-gradient(150deg, rgba(93, 184, 236, 1) 20%, rgba(183, 196, 239, 1) 90%);
}
    .snhIndexDonationInner {
            padding-top: 40px; 
            /*background: url(../images/meeting/meeting.png);*/
            background-repeat: no-repeat;
            background-size: 50%;
            background-position: top right 0%;
        }
            .snhIndexDonationHeader {
            }
                .snhIndexDonationHeader h2 {
                    margin-bottom: 20px;
                    color: #fff;
                    font-size: 1.75rem;
                    font-weight: 700;
                    text-align: center;
                }
                    .snhIndexDonationHeader h2 span {
                        display: block;
                        font-size: 1rem;
                    }
                .snhIndexDonationHeader p {
                    font-weight: 500;
                }
    
    .snhIndexDonationList {
        padding: 0;
        list-style-type: none;
    }
        .snhIndexDonationList li {
            width: 100%;
            margin-bottom: 10px;
            padding: 10px 30px;
            background-color: rgba(46, 157, 225, 1);
            border-radius: 10px;
            color: #fff;
            font-weight: 700;
            font-size: 1.125rem;
            text-align: center;
            white-space: nowrap;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhIndexDonationHeader h2 {
            font-size: 2.5rem;
        }
            .snhIndexDonationHeader h2 span {
                font-size: 1.5rem;
            }
        .snhIndexDonationHeader p {
            font-size: 1.125rem;
        }
        .snhIndexDonationList {
            padding: 0;
            list-style-type: none;
        }
            .snhIndexDonationList li {
                margin-right: 10px;
                padding: 10px 30px;
                background-color: rgba(46, 157, 225, 1);
                border-radius: 10px;
                color: #fff;
                font-weight: 700;
                font-size: 1.25rem;
                text-align: center;
            }
                .snhIndexDonationList li:last-child {
                    margin-right: 0;
                }
    }
    @media screen and (min-width: 960px)
    {
        .snhIndexDonationHeader h2 {
            font-size: 3rem;
            text-align: left;
        }
            .snhIndexDonationHeader h2 span {
                font-size: 1.125rem;
            }
        .snhIndexDonationHeader p {
            margin-bottom: 30px;
        }

    }


/**************************************************
 *
 *  サポートネットひろしまとは
 *
 **************************************************/
.snhSupportHeader {
    padding-bottom: 0;
    text-align: center;
}
    .snhSupportHeader h1 {
        color: rgb(0, 135, 102);
        font-size: 1.5rem;
        font-weight: 700;
    }
    .snhSupportHeader h1 span {
        display: block;
        font-size: 1rem;
    }
    .snhSupportHeader p {
        display: inline-block;
        font-size: 1.125rem;
        font-weight: 600;
        line-height: 1.8;
        background: linear-gradient(150deg, rgba(60, 165, 80, 1) 20%, rgba(190, 211, 94, 1) 90%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
    }

    @media screen and (min-width: 768px)
    {
        .snhSupportHeader h1 {
            font-size: 2.25rem;
        }
        .snhSupportHeader h1 span {
            font-size: 1.125rem;
        }
        .snhSupportHeader p {
            font-size: 1.5rem;
        }
    }

/*
 * 共通ヘッダー
 */
.snhSupportItemHeader {
    margin-bottom: 40px;
    text-align: center;
}
    .snhSupportItemHeader h2 {
        margin-bottom: 10px;
        color: rgb(  4,  68, 10);
        font-size: 1.25rem;
    }
    .snhSupportItemHeader h2 span {
        display: block;
        color: rgb(0, 135, 102);
        font-size: .875rem
    }
    .snhSupportItemHeader h3 {
        color: rgb(0, 135, 102);
        font-size: 1.25rem;
        font-weight: 600;
    }
    .snhSupportItemHeader p {
        font-size: 1rem;
        font-weight: 600;
    }
    .snhSupportItemHeaderDivider img {
        height: 15px;
    }

    @media screen and (min-width: 768px)
    {
        .snhSupportItemHeader h2 {
            margin-bottom: 20px;
            font-size: 1.5rem;
        }
        .snhSupportItemHeader h3 {
            font-size: 1.875rem;
        }
    }
    @media screen and (min-width: 960px)
    {
        .snhSupportItemHeader p {
            font-size: 1.125rem;
        }
    }
    
/*
 * 共通要素
 */
.snhSupportContent {
    margin: 0 auto 40px;
    font-size: 1rem;
    line-height: 1.8;
}

    @media screen and (min-width: 960px)
    {
        .snhSupportContent {
            width: 80%;
        }
    }

/*
 * サポート体制
 */
.snhSupportList {
    margin-bottom: 40px;
    padding: 30px;
}
    .snhSupportText {
        margin: 0 auto;
        font-size: .9375rem;
        font-weight: 600;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhSupportText {
            margin: 0 auto;
            padding: 0;
            width: 100%;
            font-weight: 600;
            text-align: center;
        }
    }
    
    @media screen and (min-width: 960px)
    {
        .snhSupportText {
            margin: 0 auto;
            padding: 0;
            width: 100%;
            font-size: 1.125rem;
            font-weight: 600;
            text-align: center;
        }
    }

/*
 * ネットワーク体制
 */
.snhNetworkWrap {
    background: rgb(231, 243, 219);
}

.snhNetworkImageMobile {
    margin-bottom: 40px;
}
    .snhNetworkImageMobile img {
    }
}

/* ネットワーク一覧 モバイル用 */
.snhNetworkListWrap {
}
.snhNetworkList {}
    .snhNetworkList dt {
        width: 75%;
        height: 30px;
        margin-bottom: 10px;
        background: rgb(69, 188, 162);
        border-radius: 15px;
        color: #fff;
        font-size: .9375rem;
        font-weight: 500;
        text-align:center;
        line-height: 30px;
    }
    .snhNetworkList dd {
        margin-bottom: 20px;
        padding: 10px 15px;
        background: rgb(210, 233, 217);
        border-radius: 10px;
        font-size: .9375rem;
    }
        .snhNetworkList dd ul {
            margin-bottom: 0;
        }
        .snhNetworkList dd li {
            padding-left: 0px;
        }

@media screen and (min-width: 960px)
{
    .snhNetworkImage {
        margin-bottom: 40px;
        text-align: center;
    }
        .snhNetworkImage img {
            width: 800px;
        }
}


/*
 * アドバイス
 */
.snhAdviceWrap {}
.snhsnhLivelihoodSupportList {
}
    .snhsnhLivelihoodSupportList h3 {
        margin: 0 auto;
        height: 60px;
        background: rgb(51, 64, 116);
        border-radius: 20px 20px 0 0;
        color: #fff;
        font-size: 1rem;
        font-weight: bold;
        line-height: 60px;
        text-align: center;
    }
    .snhsnhLivelihoodSupportList ul {
        margin: 0 auto;
        padding: 0;
        background: rgb(254, 249, 224);
        border: 2px solid rgb(51, 64, 116);
        border-width: 0 2px 2px;
        border-radius: 0 0 20px 20px;
        list-style-type: none;
    }
    .snhsnhLivelihoodSupportList li {
        padding: 10px 10px;
        border-top: 2px solid rgb(51, 64, 116);
        color: rgb(51, 64, 116);
        font-size: .875rem;
        font-weight: bold;
    }
        .snhsnhLivelihoodSupportList li:last-child {
        }
    
    @media screen and (min-width: 768px)
    {
        .snhsnhLivelihoodSupportList h3 {
            width: 70%;
        }
        .snhsnhLivelihoodSupportList ul {
            width: 70%;
        }
        .snhsnhLivelihoodSupportList li {
            height: 44px;
            padding: 0 30px;
            font-size: .875rem;
            line-height: 44px;
        }
    }
    
/*
 * 相談・学習
 */
.snhMeetingSeminarWrap {
    padding-top: 0;
    padding-bottom: 0;
    background: linear-gradient(150deg, rgba(255, 213, 219, 1) 20%, rgba(255, 234, 198, 1) 80%);
}
.snhMeetingSeminarInner {
    padding-top: 70px;
    padding-bottom: 70px;
    background: url(../images/index/meeting_map.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: 30px 140px;
}
    .snhMeetingSeminarWrap .snhSupportContent {
        margin: 140px auto 0;
        font-size: .9375rem;
    }
    .snhMeetingSeminarWrap .snhSupportContent p {
        margin: 0px;
    }

    @media screen and (min-width: 768px)
    {
        .snhMeetingSeminarInner {
            padding-top: 70px;
            padding-bottom: 70px;
            background: url(../images/index/meeting_map.png);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: 50px -20px;
        }
            .snhMeetingSeminarWrap .snhSupportContent {
                margin-top: 240px;
                width: 95%;
            }
    }

    @media screen and (min-width: 960px)
    {
        .snhMeetingSeminarInner {
            padding-top: 70px;
            padding-bottom: 70px;
            background: url(../images/index/meeting_map.png);
            background-repeat: no-repeat;
            background-size: contain;
            background-position: top right;
        }
            .snhMeetingSeminarWrap .snhSupportContent {
                margin: 0;
                width: 45%;
            }
    }

/*
 * 企画
 */
.snhPlanningWrap {}

/*
 * ご相談
 */
.snhConsultWrap {
    padding-top: 0;
    padding-bottom: 70px;
}
    .snhConsultTitle {
        margin-bottom: 10px;
        color: rgb(0, 135, 102);
        font-size: 1.25rem;
        font-weight: 600;
        text-align: center;
    }
        .snhConsultTitle i {
            margin-right: 10px;
            font-size: 3rem;
            vertical-align: -10px;
            background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%);
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
        }
    .snhConsultList {
        margin: 0 auto;
        padding: 0;
        background: rgb(251, 249, 232);
        border: 3px solid rgb(50, 160, 8);
        border-radius: 20px;
        list-style-type: none;
    }
        .snhConsultList li {
            padding: 10px 10px;
            border-top: 3px solid rgb(50, 160, 8);
            font-size: 1rem;
            font-weight: 500;
        }
            .snhConsultList li:first-child {
                border: 0;
            }
                .snhConsultList li i {
                    margin-right: 10px;
                    color: rgb(50, 160, 8);
                }

    @media screen and (min-width: 768px)
    {
        .snhConsultWrap {
            padding-bottom: 140px;
        }
        .snhConsultTitle {
            font-size: 1.5rem;
        }
            .snhConsultTitle i {
                font-size: 5rem;
                vertical-align: -20px;
            }
        .snhConsultList {
            width: 80%;
        }
            .snhConsultList li {
                height: 60px;
                padding: 0 30px;
                font-size: 1.1875rem;
                line-height: 60px;
            }
    }
    @media screen and (min-width: 960px)
    {
        .snhConsultList {
            width: 50%;
        }
    }


/**************************************************
 *
 *  高次脳機能障害について
 *
 **************************************************/
/*
 * 共通ヘッダー・フッター
 */
.snhHbdHeader,
.snhHbdFooter {
    text-align: center;
    font-weight: 500;
}
    .snhHbdHeader .snhHbdHeaderTitle {
        margin-bottom: 40px;
        color: rgb(20, 55, 0);
        font-size: 1.125rem;
    }
        .snhHbdHeader .snhHbdHeaderTitle span {
            display: block;
            color: rgb( 60, 165, 80);
            font-size: .75rem;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhHbdHeader .snhHbdHeaderTitle {
            font-size: 2.25rem;
        }
            .snhHbdHeader .snhHbdHeaderTitle span {
                font-size: 1.5rem;
            }
    }
    
/**
 * 共通ナビゲーション
 */
.snhHbdHeader nav,
.snhHbdFooter nav {
    margin-bottom: 50px;
}
    .snhHbdHeader nav ul,
    .snhHbdFooter nav ul {
        display: flex;
        list-style-type: none;
        /*justify-content: center;*/
        justify-content: space-between;
        align-items: center;
        padding:0;
    }
    .snhHbdHeader nav li,
    .snhHbdFooter nav li {
    }
        .snhHbdHeader nav li a,
        .snhHbdFooter nav li a {
            position: relative;
            display: table-cell;
            vertical-align: middle;
            width: 110px;
            height: 110px;
            padding: 10px;
            background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%); 
            border-radius: 60px;
            color: #fff;
            font-size: .8125rem;
            transition: all 0.3s ease-in;
        }
            .snhHbdHeader nav li a:hover,
            .snhHbdFooter nav li a:hover {
                background: linear-gradient(to right, rgb(74, 96, 136) 0%, rgb(51, 153, 255) 100%); 
            }
            .snhHbdHeader nav li a.active,
            .snhHbdFooter nav li a.active {
                background: linear-gradient(to right, rgb(74, 96, 136) 0%, rgb(51, 153, 255) 100%); 
            }
                
    @media screen and (min-width: 768px)
    {
        .snhHbdHeader nav,
        .snhHbdFooter nav {
            margin-bottom: 100px;
        }
        .snhHbdHeader nav li,
        .snhHbdFooter nav li {
            margin-right: 20px;
            width: 33.3333%;
        }
            .snhHbdHeader nav li:last-child,
            .snhHbdFooter nav li:last-child {
                margin-right: 0;
            }
            
            .snhHbdHeader nav li a,
            .snhHbdFooter nav li a {
                display: block;
                vertical-align: middle;
                width: auto;
                height: auto;
                padding: 0;
                background: transparent; 
                border-radius: 0;
                color: rgb(74, 26, 28);
                font-size: 1rem;
            }
                .snhHbdHeader nav li a.active,
                .snhHbdFooter nav li a.active {
                    background: transparent;
                }
                .snhHbdHeader nav li a:hover,
                .snhHbdFooter nav li a:hover {
                    background: transparent;
                    color: #c03;
                    text-decoration: none;
                }
                .snhHbdHeader nav li a::after,
                .snhHbdFooter nav li a::after {
                    position: absolute;
                    content:"";
                    display:block;
                    bottom: -20px;
                    left: 50%;
                    transform: translate(-50%, -50%);
                    width: 100%;
                    height: 8px;
                    border-radius: 4px;
                    background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%); 
                }
                .snhHbdHeader nav li a.active::after,
                .snhHbdFooter nav li a.active::after {
                    background: linear-gradient(to right, rgb(74, 96, 136) 0%, rgb(51, 153, 255) 100%); 
                } 
    }
    
    /**
     * タイトル・コピー
     */
    .snhHbdHeader h1 {
        margin-bottom: 40px;
        color: rgb(20, 55, 0);
        font-size: 1.5rem;
        font-weight: 700;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 65%);
        background-size:100%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
    }
    .snhHbdHeader p {
        width: auto;
        margin-left: auto;
        margin-right: auto;
        font-size: 1em;
        font-weight: 500;
        text-align: left;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhHbdHeader h1 {
            margin-bottom: 40px;
            color: rgb(20, 55, 0);
            font-size: 2.875rem;
            font-weight: 700;
            background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 65%);
            background-size:100%;
              -webkit-background-clip: text;
              -webkit-text-fill-color: transparent;
        }
        .snhHbdHeader p {
            margin-left: auto;
            margin-right: auto;
            font-size: 1.1875em;
            font-weight: 500;
        }
    }


/**************************************************
 *
 *  高次脳機能障害とは
 *
 **************************************************/
.snhAboutHbdImage {
    margin-bottom: 40px;
}
    .snhAboutHbdImage img {
        height: 100px;
    }
     
    @media screen and (min-width: 768px)
    {
        .snhAboutHbdImage img {
            height: 200px;
        }
    }
    
.snhAboutHbdList {
    position: relative;
    margin: 0 auto 40px;
    padding: 20px;
    background: rgb(74, 96, 136);
    border-radius: 20px;
}
    /* 吹き出し */
    .snhAboutHbdList:before {
        content: "";
        position: absolute;
        top: -30px;
        left: 50%;
        margin-left: -15px;
        border: 15px solid transparent;
        border-bottom: 15px solid rgb(74, 96, 136);
    }
    /* 原因リスト */
    .snhAboutHbdList dl {
        display: flex;
        flex-flow: column;
        width: 100%;
        margin-bottom: 0;
    }
        .snhAboutHbdList dt {
            flex-basis: 25%;
            width: 170px;
            height: 30px;
            margin: 0 auto 10px;
            background: #fff;
            border-radius: 15px;
            font-weight: 500;
            text-align: center;
            line-height: 30px;
        }
        .snhAboutHbdList dd {
            flex-basis: 75%;
            margin: 0 0 20px;
            color: #fff;
            font-size: .9375rem;
            line-height: 1.5;
        }
            .snhAboutHbdList dd:last-of-type {
                margin-bottom: 0;
            }
            
    @media screen and (min-width: 768px)
    {
        .snhAboutHbdList {
            width: 660px;
        }
            .snhAboutHbdList dl {
                flex-flow: row wrap;
            }
            .snhAboutHbdList dt {
                height: 40px;
                margin: 0 0 20px;
                border-radius: 20px;
                line-height: 40px;
            }
            .snhAboutHbdList dd {
                height: 40px;
                padding-left: 20px;
                font-size: 1rem;
                line-height: 40px;
                text-align: left;
            }
                .snhAboutHbdList dt:last-of-type,
                .snhAboutHbdList dd:last-of-type {
                    margin-bottom: 0;
                }
     }

/**
 * 高次脳機能障害とは - 共通要素
 */
.snhAboutHbdWrap {
    padding-top: 50px;
    padding-bottom: 50px;
}
    .snhAboutHbdWrap .snhAboutHbdSubTitle {
        margin-bottom: 20px;
        color: rgb(20, 55, 0);
        font-size: 1.5rem;
        font-weight: 700;
        text-align: center;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 65%);
        background-size:100%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
    }
    .snhAboutHbdWrap p {
        font-size: .9375em;
        line-height: 1.8;
    }
        .snhAboutHbdWrap .snhAboutHbdText {
            font-weight: 500;
        }
    @media screen and (min-width: 768px)
    {
        .snhAboutHbdExampleWrap {
            padding-top: 50px;
            padding-bottom: 50px;
        }
        .snhAboutHbdWrap .snhAboutHbdSubTitle {
            margin-bottom: 40px;
            font-size: 2.875rem;
        }
        .snhAboutHbdWrap p {
            margin-left: 50px; 
            margin-right: 50px;
            font-size: 1em;
        }
            .snhAboutHbdWrap .snhAboutHbdText {
                font-size: 1.1875em;
            }
    }

/**
 * 高次脳機能障害の例
 */
.snhAboutHbdExampleWrap {
     padding-top: 30px;
     padding-bottom: 30px;
 }
.snhAboutHbdExample {
    margin: 0;
    padding: 40px 20px 0px;
    border: 3px solid #ccc;
    border-radius: 20px;
}
    .snhAboutHbdExampleImage {
        text-align: center;
    }
    .snhAboutHbdExampleImage img {
        text-align: center;
        height: 200px;
    }
    /* 状態 */
    .snhAboutHbdCondition {
        font-size: .9375rem;
        line-height: 1.5;
    }
    /* 診断 */
    .snhAboutHbdDiagnosis {
        padding-top: 20px;
        font-size: .9375rem;
        font-weight: 500;
        text-align: left;
    }
        .snhAboutHbdExA .snhAboutHbdDiagnosis {
            color: rgb(68, 128, 182);
            background: url(../images/common/dot_ex_a.svg) top left repeat-x;
            background-size: 10px;
        }
        .snhAboutHbdExB .snhAboutHbdDiagnosis {
            color: rgb(102, 183, 152);
            background: url(../images/common/dot_ex_b.svg) top left repeat-x;
            background-size: 10px;
        }
        .snhAboutHbdExC .snhAboutHbdDiagnosis {
            color: rgb(219, 105, 42);
            background: url(../images/common/dot_ex_c.svg) top left repeat-x;
            background-size: 10px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhAboutHbdExample {
            margin: 0 50px;
            padding: 50px 50px 10px;
        }
            .snhAboutHbdExampleImage img {
                height: 250px;
            }
            /* 状態 */
            .snhAboutHbdCondition {
                font-size: 1rem;
                font-weight: 500;
            }
            /* 診断 */
            .snhAboutHbdDiagnosis {
                padding-top: 30px;
                font-size: 1rem;
                text-align: center;
            }
    }
    
    /* 診断例の例の番号 */
    .snhAboutHbdExA,
    .snhAboutHbdExB,
    .snhAboutHbdExC {
        position: relative;
        border-color: rgb(68, 128, 182);
    }
    .snhAboutHbdExB { border-color: rgb(102, 183, 152); }
    .snhAboutHbdExC { border-color: rgb(219, 105, 42); }
    
        .snhAboutHbdExA::before,
        .snhAboutHbdExB::before,
        .snhAboutHbdExC::before {
            content: 'A';
            position: absolute;
            top: -30px;
            left: 0;
            right: 0;
            width: 60px;
            height: 60px;
            margin: 0 auto;
            border-radius: 30px;
            background-color: rgb(68, 128, 182);
            color: #fff;
            font-size: 2.25rem;
            font-weight: 700;
            line-height: 54px;
            text-align: center;
        }
            .snhAboutHbdExB::before {
                content: 'B';
                background-color: rgb(102, 183, 152);
            }
            .snhAboutHbdExC::before {
                content: 'C';
                background-color: rgb(219, 105, 42);
            }
/**
 * 診断基準
 */
.snhDiagnosticCriteria {
    padding: 30px 20px 10px;
    background: rgb(247, 247, 247);
    border-radius: 20px;
    line-height: 1.5;
}
    .snhDiagnosticCriteria h3 {
        font-size: 1.125rem;
        font-weight: bold;
        text-align: center;
    }
    .snhDiagnosticCriteria p {
        margin: 10px 0 30px;
        font-size: .9375rem;
        line-height: 1.5;
    }
    .snhDiagnosticCriteria ul {
        margin-bottom: 50px;
        list-style-type: upper-roman;
        font-size: .9375rem;
        line-height: 1.5;
    }
    .snhDiagnosticCriteria ol {
        margin-top: 10px;
        font-size: .9375rem;
        line-height: 1.5;
    }
    .snhDiagnosticCriteria li {
        margin-top: 10px;
    }
        .snhDiagnosticCriteria li p {
            margin-top: 10px;
            line-height: 1.5;
        }
        
    @media screen and (min-width: 768px)
    {
        .snhDiagnosticCriteria {
            padding: 80px 100px 30px;
            line-height: 1.8;
        }
            .snhDiagnosticCriteria h3 {
                font-size: 1.25rem;
            }
            .snhDiagnosticCriteria p {
                margin: 10px 0 50px;
                font-size: 1rem;
                line-height: 1.8;
            }
            .snhDiagnosticCriteria ul {
                margin-top: 20px;
                font-size: 1rem;
            }
            .snhDiagnosticCriteria ol {
                margin-top: 20px;
                font-size: 1rem;
            }
            .snhDiagnosticCriteria li {
                margin-top: 20px;
            }
                .snhDiagnosticCriteria li p {
                    margin-top: 20px;
                    margin-bottom: 10px
                }
    }


/**************************************************
 *
 *  高次脳機能障害の症状
 *
 **************************************************/
.snhConditionBgWrap {
    background: linear-gradient(120deg, rgb(194, 225, 197) 0%, rgb(227, 238, 183) 100%); 
}

/**
 * 各症状
 */
.snhConditionItem {
    padding: 30px 15px 10px;
    background: #fff;
    border-radius: 10px;
}
    .snhConditionItem h3 {
        height: 30px;
        width: 250px;
        margin: 0 auto;
        background: rgb(95, 54, 52);
        border-radius: 30px;
        color: #fff;
        font-size: 1.125rem;
        font-weight: 500;
        line-height: 30px;
        text-align: center;
    }
    .snhConditionItem p {
        line-height: 1.5;
    }
        .snhConditionItem p.subCopy {
            color: rgb(95, 54, 52);
            font-size: .9375rem;
            font-weight: 600;
        }
    .snhConditionItem h4 {
        height: 30px;
        margin: 0;
        background: rgb(0, 197, 105);
        border-radius: 10px 10px 0 0;
        color: #fff;
        font-size: 1rem;
        font-weight: 500;
        text-align:center;
        line-height: 30px;
    }
    .snhConditionItem ul,
    .snhConditionItem ol {
        margin: 0 0 30px;
        padding: 0;
        background: rgb(246, 244, 218);
        border: 2px solid rgb(0, 197, 105);
        border-radius: 0 0 10px 10px;
        border-width: 0 2px 2px 2px;
        list-style-type: none;
    }
        .snhConditionItem li {
            padding: 10px;
            border-top: 2px solid rgb(0, 197, 105);
            color: #333;
            font-size: .875rem;
            font-weight: 500;
            line-height: 1.5;
        }
            .snhConditionItem li:first-child {
                border-top: 0;
            }
            .snhConditionItem li i {
                margin-right: 5px;
                color: rgb(0, 197, 105);
            }
        
        .snhConditionItem ol ul {
            margin: 0;
            border: 0;
            border-radius: 0;
        }
            .snhConditionItem ol ul li {
                padding: 5px 0 5px 15px;
                border-top: 0;
                line-height: 1.5;
                font-size: .875rem;
            }
                .snhConditionItem ol ul li:last-child {
                    margin-bottom: 0px;
                }
            
            .snhConditionItem ol li span {
                display: inline-block;
                margin-right: 10px;
                color: rgb(  0, 135, 102);
                font-size: 1.5rem;
                vertical-align: -3px;
            }
            
    /* 症状イメージ */
    .snhConditionExampleImage {
        margin-bottom: 30px;
        text-align: center;
    }
        .snhConditionExampleImage img {
            height: 230px;
        }

    @media screen and (min-width: 768px)
    {
        .snhConditionItem {
            padding: 60px;
            border-radius: 20px;
        }
            .snhConditionItem h3 {
                height: 60px;
                font-size: 1.5rem;
                line-height: 60px;
            }
            .snhConditionItem p {
                line-height: 1.8;
            }
                .snhConditionItem p.subCopy {
                    font-size: 1.125rem;
                }
            .snhConditionItem h4 {
                height: 60px;
                margin: 0 50px;
                border-radius: 20px 20px 0 0;
                line-height: 60px;
            }
            
            .snhConditionItem ul,
            .snhConditionItem ol {
                margin: 0 50px 40px;
                border-radius: 0 0 20px 20px;
                border-width: 0 3px 3px 3px;
            }
                .snhConditionItem li {
                    padding: 0 30px;
                    border-top: 3px solid rgb(0, 197, 105);
                    font-size: 1.125rem;
                    line-height: 60px;
                }
                    .snhConditionItem li i {
                        margin-right: 10px;
                    }
                .snhConditionItem ol ul {
                }
                    .snhConditionItem ol ul li {
                        padding: 0;
                        line-height: 30px;
                        font-size: .9375rem;
                    }
                        .snhConditionItem ol ul li:last-child {
                            margin-bottom: 20px;
                        }
                    .snhConditionItem ol li span {}
                    
            /* 症状イメージ */
            .snhConditionExampleImage {
                margin-bottom: 40px;
                text-align: center;
            }
                .snhConditionExampleImage img {
                    height: 300px;
                }
    }

/**************************************************
 *
 *  高次脳機能障害への対応
 *
 **************************************************/
.snhTakecareWrap {
    padding-top: 0;
}
    .snhTakecare {
        margin: 0 10px;
    }
        .snhTakecare h2 {
            color: rgb( 70, 185, 80);
            color: rgb( 60, 165, 80);
            font-size: 1.125rem;
            font-weight: 600;
        }
            .snhTakecare h2 i {
                margin-right: 10px;
            }
        .snhTakecare p {
            font-size: .9375rem;
            line-height: 1.5;
        }
            .snhTakecare p + p {
                margin-top: -20px;
            }
            .snhTakecare p:first-child {
            }
    
    @media screen and (min-width: 960px)
    {
        .snhTakecareWrap {
        }
            .snhTakecare {
                margin: 0 150px;
            }
                .snhTakecare h2 {
                    font-size: 1.5rem;
                    font-weight: 600;
                }
                .snhTakecare p {
                    font-size: 1rem;
                    line-height: 1.8;
                }
                    .snhTakecare p + p {
                        margin-top: -20px;
                    }
                    .snhTakecare p:first-child {
                        font-size: 1.125rem;
                        font-weight: 600;
                    }
    }


/**************************************************
 *
 *  サポートネットひろしまの事業
 *
 **************************************************/
.snhBusinessDescription {
    height: 60px;
    background: linear-gradient(120deg, rgb(255, 128, 146) 40%, rgb(255, 191, 81) 100%);
    color: #fff;
    text-align: center;
    line-height: 60px;
}
    /* 高次脳機能障害者および家族への支援事業 */
    .snhMeetinhgBusiness {}

    /* 高次脳機能障害についての啓発・広報事業 */
    .snhSeminarBusiness {
        background: linear-gradient(120deg, rgb(255, 204, 0) 40%, rgb(255, 228, 0) 100%);
    }


/**************************************************
 *
 *  家族相談会
 *
 **************************************************/
.snhMeetingHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhMeetingHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 60px 0 40px;
        text-align: center;
    }
        .snhMeetingHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(255, 128, 146);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
    .snhMeetingHeader h1 {
        color: rgb(74, 26, 28);
        font-size: 1.875rem;
        font-weight: 700;
    }
        .snhMeetingHeader h1 span {
            display: block;
            font-size: 1.125rem;
        }
        .snhMeetingHeader h1 + div {
            color: rgb(153, 17, 36);
            font-size: 1.125rem;
            font-weight: 600;
        }
    .snhMeetingHeader p {}
        .snhMeetingHeader p.subCopy {
            font-size: 1.125rem;
            font-weight: 600;
        }
    
    /* ナビゲーション */
    .snhMeetingHeader nav {
        margin-top: 40px;
    }
    .snhMeetingHeader nav ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-around;
        align-items: center;
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
        .snhMeetingHeader nav ul li {
            margin-bottom: 20px;
        }
        .snhMeetingHeader nav a {
            display: table-cell;
            vertical-align: middle;
            width: 140px;
            padding: 10px 0 3px;
            border-radius: 7px;
            color: #fff;
            font-size: 1rem;
            font-weight: 600;
            text-align: center;
        }
            .snhMeetingHeader nav a:hover {
                opacity: .9;
            }
            .snhMeetingHeader nav a span {
                display: block;
                font-size: .9375rem;
            }
        /* 地区別背景 */
        .snhMeetingHeader nav a.hiroshiama {
            background-color: rgb(0, 130, 204);
        }
        .snhMeetingHeader nav a.higashihiroshima {
            background-color: rgb(255, 92, 105);
        }
        .snhMeetingHeader nav a.hatsukaichi {
            background-color: rgb(255, 187, 20);
        }
        .snhMeetingHeader nav a.mihara {
            background-color: rgb(22, 159, 73);
        }

    @media screen and (min-width: 768px)
    {
        .snhMeetingHeader nav ul {}
            .snhMeetingHeader nav a {
                width: 170px;
                font-size: 1.125rem;
            }
    }


/**
 * 相談会詳細 - 共通要素
 */
.snhMeetingItem {}
    .snhMeetingItemHeader {
        padding: 20px 0;
        background: #ccc;
        border-radius: 20px 20px 0 0;
        color: #fff;
        text-align:center;
    }
        .snhMeetingItemHeader h2 {
            margin-bottom: 0px;
            color: #fff;
            font-size: 1.875rem;
            font-weight: 300;
        }
            .snhMeetingItemHeader h2 span {
                display: block;
                font-size: 1rem;
            }
        .snhMeetingItemHeader div {
            font-size: 1.25rem;
        }
            .snhMeetingItemHeader div + div {
                font-size: 1rem;
                font-weight: 500;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhMeetingItemHeader h2 {
            font-size: 2.5rem;
        }
            .snhMeetingItemHeader h2 span {
                display: inline-block;
                font-size: 1.5rem;
            }
        .snhMeetingItemHeader div {
            font-size: 1.875rem;
        }
    }
    
    .snhMeetingItemBody {
        padding: 20px 10px;
        border: 2px solid #ccc;
        border-width: 0 2px 2px 2px;
        border-radius: 0 0 20px 20px;
    }
        .snhMeetingItemBody h3 {
            color: #fff;
            font-size: 1rem;
            text-align:center;
        }
            .snhMeetingItemBody h3 span {
                position: relative;
                display:block;
                margin-bottom: 15px;
                font-size: .8125rem;
            }
                .snhMeetingItemBody h3 span::after {
                    position: absolute;
                    top: 15px;
                    left: 50%;
                    width: 45px;
                    height: 5px;
                    margin-left: -22px;
                }
    
        /* 注意欄 */
        .snhMeetingCaution {
            border-radius: 10px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhMeetingItemBody {
            padding: 20px 50px;
        }
        .snhMeetingItemBody h3 {
            font-size: 1.5rem;
        }
    }
    
    /* 各会場ごとの要素 */
    /* 広島地区 */
    .snhMeetingItemHiroshima .snhMeetingItemHeader { background-color: rgb(0, 130, 204); }
    .snhMeetingItemHiroshima .snhMeetingItemBody   { border-color: rgb(0, 130, 204); }
    .snhMeetingItemHiroshima h3 { color: rgb(0, 51, 102); }
    .snhMeetingItemHiroshima h3 span { color: rgb(0, 130, 204); }
    .snhMeetingItemHiroshima h3 span::after { content: url('../images/meeting/dot_hiroshima.svg'); }
    /* 東広島地区 */
    .snhMeetingItemHigashihiroshima .snhMeetingItemHeader { background-color: rgb(255, 92, 105); }
    .snhMeetingItemHigashihiroshima .snhMeetingItemBody   { border-color: rgb(255, 92, 105); }
    .snhMeetingItemHigashihiroshima h3 { color: rgb(102, 0, 0); }
    .snhMeetingItemHigashihiroshima h3 span { color: rgb(255, 92, 105); }
    .snhMeetingItemHigashihiroshima h3 span::after { content: url('../images/meeting/dot_higashihiroshima.svg'); }
    /* 廿日市地区 */
    .snhMeetingItemHatsukaichi .snhMeetingItemHeader { background-color: rgb(255, 187, 20); }
    .snhMeetingItemHatsukaichi .snhMeetingItemBody   { border-color: rgb(255, 187, 20); }
    .snhMeetingItemHatsukaichi h3 { color: rgb(102, 51, 0); }
    .snhMeetingItemHatsukaichi h3 span { color: rgb(255, 187, 20); }
    .snhMeetingItemHatsukaichi h3 span::after { content: url('../images/meeting/dot_hatsukaichi.svg'); }
    /* 備後地区 */
    .snhMeetingItemMihara .snhMeetingItemHeader { background-color: rgb(22, 159, 73); }
    .snhMeetingItemMihara .snhMeetingItemBody   { border-color: rgb(22, 159, 73); }
    .snhMeetingItemMihara h3 { color: rgb(0, 57, 25); }
    .snhMeetingItemMihara h3 span { color: rgb(22, 159, 73); }
    .snhMeetingItemMihara h3 span::after { content: url('../images/meeting/dot_mihara.svg'); }


/**
 * 参加者
 */
.snhMeetingContributor {
    padding: 20px;
    background: rgb(251, 251, 251);
    border: 2px solid #ccc;
    border-radius: 20px;
}
    .snhMeetingContributor ul {
        display: flex;
        justify-content: center;
        align-items: top;
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
        .snhMeetingContributor ul li {
            width: 150px;
            text-align: center;
        }
            .snhMeetingContributor ul li.divider {
                width: 20px;
            }
            .snhMeetingContributor ul li span {
                display: block;
                font-size: .75rem;
            }
                .snhMeetingContributor ul li span.family { color: rgb( 60, 165, 80); }
                .snhMeetingContributor ul li span.lawyer { color: rgb( 16, 86, 158); }
                .snhMeetingContributor ul li span.specialist { color: rgb(119, 36, 0); }
                
            .snhMeetingContributor ul li img {
                height: 50px;
            }
            .snhMeetingContributor ul li.divider img {
                height: 50px;
            }

    @media screen and (min-width: 768px)
    {
        .snhMeetingContributor ul {
            align-items: center;
        }
        .snhMeetingContributor ul li img {
            height: 80px;
        }
        .snhMeetingContributor ul li.divider img {
            height: 120px;
        }
    }

/**
 * 相談会詳細 - 開催場所
 */
.snhMeetingVenue {}
    .snhMeetingVenue h4 {
        margin-bottom: 20px;
        font-size: 1.125rem;
        font-weight: 500;
    }
        .snhMeetingVenue h4:nth-of-type(2) {
            margin-top: 20px;
            font-size: 1rem;
        }
    .snhMeetingAddress {
        margin-left: 20px;
    }
        div.snhMeetingAccess {
            margin-left: 20px;
            margin-bottom: 20px;
            font-size: .9375rem;
        }
        dl.snhMeetingAccess {
            margin-left: 20px;
            display: flex;
            flex-wrap: wrap;
            font-size: .9375rem;
        }
            .snhMeetingAccess dt {
                width: fit-content;
                margin: 0 0 0;
                font-weight: 300;
            }
            .snhMeetingAccess dd {
                width: 70%;
                margin: 0 0 0;
            }
    
    /* Googleマップの埋め込み */
    .snhMeetingMap {
        position: relative;
        width: 100%;
        height: 0;
        margin-top: -20px;
        padding-top: 75%; /* 比率を4:3に固定 */
        border: 1px solid #ccc;
      }
        .snhMeetingMap iframe {
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 100%;
            }

    @media screen and (min-width: 768px)
    {
        .snhMeetingVenue h4 {
            font-size: 1.125rem;
        }
            .snhMeetingVenue h4:nth-of-type(2) {
                font-size: 1.125rem;
            }
            div.snhMeetingAccess,
            dl.snhMeetingAccess {
                font-size: 1rem;
            }
                .snhMeetingAccess dt {
                    font-weight: 300;
                }
        .snhMeetingMap {
            margin-top: 0;
          }
    }
    @media screen and (min-width: 960px)
    {
        .snhMeetingVenue h4 {
            margin-bottom: 20px;
            font-size: 1.5rem;
        }
            .snhMeetingVenue h4:nth-of-type(2) {
                margin-top: 20px;
                font-size: 1.125rem;
            }
        .snhMeetingAddress {
            margin-left: 25px;
        }
            div.snhMeetingAccess {
                margin-left: 25px;
            }
            dl.snhMeetingAccess {
                margin-left: 25px;
                display: flex;
                flex-wrap: wrap;
            }
                .snhMeetingAccess dt {
                    width: 25%;
                }
                .snhMeetingAccess dd {
                    width: 75%;
                }
    }

/**
 * 相談会詳細 - 開催時間
 */
.snhMeetinTimetable {}
    .snhMeetinTimetable h4 {
        font-size: 1.5rem;
        text-align:center;
    }
        .snhMeetinTimetable h4 span {
            font-size: 1rem;
        }
    .snhMeetinTimetable .snhMeetingOpenTime {
        text-align:center;
    }
        .snhMeetinTimetable .snhMeetingOpenTime span {
            font-size: 1.125rem;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhMeetinTimetable h4 {
            font-size: 2rem;
        }
            .snhMeetinTimetable h4 span {
                font-size: 1.5rem;
            }
            .snhMeetinTimetable .snhMeetingOpenTime span {
                font-size: 1.5rem;
            }
    }
    
    .snhMeetinTimetableTable {
        width: fit-content;
        margin-left: auto;
        margin-right: auto; 
        background: rgb(251, 251, 251);
        border-collapse: separate;
        border: 2px solid rgb(0, 130, 204);
        border-radius: 20px;
    }
        .snhMeetinTimetableTable tr:first-child th {
            border-top-left-radius: 20px;
        }
        .snhMeetinTimetableTable tr:first-child td:last-child {
            border-top-right-radius: 20px;
        }
        .snhMeetinTimetableTable tr:last-child th {
            border-bottom-left-radius: 20px;
        }
        .snhMeetinTimetableTable tr:last-child td:last-child {
            border-bottom-right-radius: 20px;
        }
        .snhMeetinTimetableTable th,
        .snhMeetinTimetableTable td {
            border-bottom: 2px solid rgb(0, 130, 204);
        }
        .snhMeetinTimetableTable tr:last-child th,
        .snhMeetinTimetableTable tr:last-child td {
            border-bottom: 0;
        }
        .snhMeetinTimetableTable th,
        .snhMeetinTimetableTable td {
            padding: 10px 20px;
            font-size: .875rem;
        }
        .snhMeetinTimetableTable th {
            color: rgb(0, 130, 204);
            font-weight: 500;
            vertical-align: middle !important;
        }
        .snhMeetinTimetableTable td {
        }
            .snhMeetinTimetableTable td span {
                font-size: 1.125rem;
            }
            .snhMeetinTimetableTable td span:first-child {
                padding-left: 20px;
                border-left: 2px solid rgb(0, 130, 204);
            }

    @media screen and (min-width: 768px)
    {
        .snhMeetinTimetableTable th,
        .snhMeetinTimetableTable td {
            padding: 15px 50px;
            font-size: 1rem;
        }
        .snhMeetinTimetableTable td span {
            font-size: 1.5rem;
        }
        .snhMeetinTimetableTable td span:first-child {
            padding-left: 50px;
        }
    }

/**
 * 相談会詳細 - 開催日（スケジュール）
 */
.snhMeetingSchedule {}
    .snhMeetingSchedule h4 {
        position: relative;
        margin-bottom: 40px;
        font-size: 1.25rem;
        text-align: center;
    }
        .snhMeetingSchedule h4 span {
            font-size: 1rem;
        }
        .snhMeetingSchedule h4::after {
            content: '';
            position: absolute;
            bottom: -10px;
            left: 50%;
            width: 80px;
            height: 3px;
            margin-left: -40px;
            background: rgb(0, 130, 204);
        }
    .snhMeetingSchedule ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        margin: 0;
        padding: 0;
        list-style-type: none;
    }
        .snhMeetingSchedule ul li {
            width: 140px;
            height: 70px;
            margin-right: 20px;
            margin-bottom: 20px;
            text-align: center;
            border: 2px solid rgb(0, 130, 204);
            border-radius: 10px;
            font-size: .875rem;
            line-height: 64px;
        }
            .snhMeetingSchedule ul li.rest {
                padding-top: 11px;
                color: rgb(240, 80, 110);
                line-height: 1.3;
            }
            .snhMeetingSchedule ul li span {
                font-size: 1.25rem;
            }
            .snhMeetingSchedule ul li:nth-child(2n) {
                margin-right: 0;
            }
            .snhMeetingSchedule ul li:last-child {
                margin-right: 0;
            }
    
    /* 各会場ごとの要素 */
    /* 広島地区 */
    .snhMeetingItemHiroshima .snhMeetingSchedule h4::after { background: rgb(0, 130, 204); }
    .snhMeetingItemHiroshima .snhMeetingSchedule ul li     { border-color: rgb(0, 130, 204); }
    
    /* 東広島地区 */
    .snhMeetingItemHigashihiroshima .snhMeetingSchedule h4::after { background: rgb(255, 92, 105); }
    .snhMeetingItemHigashihiroshima .snhMeetingSchedule ul li     { border-color: rgb(255, 92, 105); }
    /* 廿日市地区 */
    .snhMeetingItemHatsukaichi .snhMeetingSchedule h4::after { background: rgb(255, 187, 20); }
    .snhMeetingItemHatsukaichi .snhMeetingSchedule ul li     { border-color: rgb(255, 187, 20); }
    /* 備後地区 */
    .snhMeetingItemMihara .snhMeetingSchedule h4::after { background: rgb(22, 159, 73); }
    .snhMeetingItemMihara .snhMeetingSchedule ul li     { border-color: rgb(22, 159, 73); }
    
    
    @media screen and (min-width: 768px)
    {
        .snhMeetingSchedule ul li {
            width: 180px;
            font-size: 1.125rem;
        }
            .snhMeetingSchedule ul li.rest {
                padding-top: 4px;
                line-height: 1.3;
            }
            .snhMeetingSchedule ul li span {
                font-size: 1.625rem;
            }
            .snhMeetingSchedule ul li:nth-child(2n) {
                margin-right: 20px;
            }
            .snhMeetingSchedule ul li:nth-child(3n) {
                margin-right: 0;
            }
    }
    @media screen and (min-width: 960px)
    {
        .snhMeetingSchedule ul li {
            width: 240px;
        }
    }

/**
 * 相談会詳細 - 相談予約・ダウンロード
 */
.snhMeetingReserve,
.snhMeetingDownload {
    margin-bottom: 40px;
    text-align: center;
}
    .snhMeetingReserve a,
    .snhMeetingDownload a {
        border-radius: 50px;
        font-size: .9375rem;
        font-weight: 500;
    }
    @media screen and (min-width: 768px)
    {
        .snhMeetingReserve a,
        .snhMeetingDownload a {
            font-size: 1rem;
        }
    }

/**************************************************
 *
 *  個別相談会申込、お問い合わせフォーム
 *
 **************************************************/
.snhMeetingForm {}
    .snhMeetingFormHeader {
        padding: 20px 0;
        background: rgb(0, 130, 204);
        border-radius: 20px 20px 0 0;
        color: #fff;
        text-align:center;
    }
        .snhMeetingFormHeader h2 {
            margin-bottom: 0px;
            color: #fff;
            font-size: 1.25rem;
            font-weight: 300;
        }
            .snhMeetingFormHeader h2 span {
                font-size: 1rem;
            }
        .snhMeetingFormHeader div {
            font-size: 1.25rem;
        }
            .snhMeetingFormHeader div + div {
                font-size: 1.25rem;
                font-weight: 500;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhMeetingFormHeader h2,
        .snhMeetingFormHeader h2 span,
        .snhMeetingFormHeader div {
            font-size: 1.25rem;
        }
            .snhMeetingFormHeader div + div {
                font-size: 1.875rem;
            }
    }
    
    .snhMeetingFormBody {
        padding: 20px 10px;
        border: 2px solid rgb(0, 130, 204);
        border-width: 0 2px 2px 2px;
        border-radius: 0 0 20px 20px;
    }
        .snhMeetingFormBody h3 {
            position: relative;
            display:block;
            margin-bottom: 20px;
            color: rgb(0, 51, 102);
            font-size: 1.125rem;
            text-align:center;
        }
            .snhMeetingFormBody h3::after {
                position: absolute;
                content: url('../images/meeting/dot_hiroshima.svg');
                top: 15px;
                left: 50%;
                width: 45px;
                height: 5px;
                margin-left: -22px;
            }
            .snhMeetingFormBody h3 span { color: rgb(0, 130, 204); }
    
    @media screen and (min-width: 768px)
    {
        .snhMeetingFormBody {
            padding: 20px 50px 40px;
        }
        .snhMeetingFormBody h3 {
            font-size: 1.25rem;
        }
    }
    @media screen and (min-width: 960px)
    {
        .snhMeetigFormLabel {
            margin-top: 0 !important;
            height: 55px;
            line-height:55px;
            font-size: 1rem;
            font-weight: 500;
        }
    }
    
/**
 * フォーム要素
 */
.snhForm {
 }
    .snhForm dl {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        align-items: center;
        margin-top: 10px;
    }
        .snhForm dl dt {
            width: 100%;
            margin-right: 0;
            margin-bottom: .5rem;
            padding-top: 0;
            line-height: 1.2;
        }
        .snhForm dl dd {
            width: 100%;
        }
            .snhForm dl dt span {
                display: inline-block;
                color: rgb(240, 80, 110);
            }
            .snhForm dl dd span {
                font-size: .875rem;
            }
            
            .snhForm .snhFormSelect {
                margin-bottom: .5rem;
                height: 60px !important;
                color: #333;
                font-size: 1rem;
                background-color: rgb(249, 249, 246);
                border: 1px solid rgb(232, 232, 232)!important;
                -webkit-appearance: none;
                box-sizing: border-box;
                transition: .1s ease-in-out;
                transition-property: color,background-color,border-color;
                border-radius: 4px;
            }
            
            .snhForm .snhFormInput {
                width: 100%;
                margin-bottom: .5rem;
                padding: 1.3rem 1rem 1.3rem !important;
                color: #333;
                font-size: 1rem;
                background-color: rgb(249, 249, 246);
                border: 1px solid rgb(232, 232, 232)!important;
                -webkit-appearance: none;
                box-sizing: border-box;
                transition: .1s ease-in-out;
                transition-property: color,background-color,border-color;
                border-radius: 4px;
            }
                .snhForm .snhFormInputSmall {
                    width: 200px;
                }
                .snhForm .snhFormInputXsmall {
                    width: 100px;
                }
                
            .snhForm .snhFormTextarea {
                width: 100%;
                margin-bottom: .5rem;
                padding: 1rem 1rem 1rem;
                color: #333;
                font-size: 1rem;
                background-color: rgb(249, 249, 246);
                border: 1px solid rgb(232, 232, 232)!important;
                -webkit-appearance: none;
                box-sizing: border-box;
            }
            /* プレースホルダの文字色 */
            .snhFormInput::placeholder,
            .snhFormTextarea::placeholder {color: #999 !important;}
            /* IE */
            .snhFormInput:-ms-input-placeholder,
            .snhFormTextarea:-ms-input-placeholder {color: #999;}
            /* Edge */
            .snhFormInput::-ms-input-placeholder,
            .snhFormTextarea:-ms-input-placeholder {color: #999;}
            
            .snhForm .snhFormInput:focus,
            .snhForm .snhFormTextarea:focus {
                outline: 0;
                background-color: #fff;
                color: #333;
                border-color: #1e87f0;
                outline: 1px rgb(30, 135, 240) solid;
                }
            
            .snhForm [type="submit"]:disabled {
                opacity: .5;
            }
            
            /* あか文字 */
            .snhForm .snhFormCaution {
                color: rgb(240, 80, 110);
            }
            .snhForm .snhFormTextBold {
                font-weight: 700;
            }
            
            
        /* 項目の説明 */
        .snhFormHelperInline,
        .snhFormHelperBlock {
            font-size: .875rem;
        }
            .snhFormHelperInline {
                display: inline-block;
            }
            .snhFormHelperBlock {
                
            }
    
    @media screen and (min-width: 768px) {
        .snhForm {
        }
        .snhForm dl dt {
            margin-right: 2%;
            padding-top: .7rem;
            width: 28%;
            line-height: 1.2;
        }
            .snhForm dl dd {
                width: 70%;
            }
    }

    /* 個別相談会 申込フォーム、お問い合わせフォームのプライバシーポリシー */
    .snhFormPrivacy {
        margin-top: 30px;
    }
        .snhFormPrivacy h4 {
            margin-bottom: 10px;
            color: rgb(74, 26, 48);
            font-size: 1rem;
            font-weight: 700;
        }
        .snhFormPrivacy p {
            margin-bottom: 20px !important;
        }
    
    .snhFormPrivacyList {
        padding: 10px;
        background: #f8f8f8;
        border: 1px solid #e5e5e5;
        font-size: .875rem;
    }
        .snhFormPrivacyList ol{
            margin: 0;
            padding: 0;
        }

    /**
     * フォーム送信ボタン
     */
        .snhFormAcceptance {
            margin-top: 20px;
            text-align: center;
        }
        .snhFormSubmit,
        .wpcf7-submit {
            width: 100%;
            background-color: #fff !important;
            border: 1px solid rgb(0, 130, 204) !important;
            border-radius: 50px;
            font-size: 1rem !important;
            font-weight: 600 !important;
            line-height: 50px !important;
            transition: all .3s ease-out;
            color: rgb(0, 130, 204);
        }
            .snhFormSubmit:hover {
                background-color: rgb(0, 130, 204)  !important;
                color: #fff;
                opacity: 1;
            }


/**************************************************
 *
 *  講演会・研修会 一覧
 *
 **************************************************/
/**
 * 一覧ページヘッダー
 */
.snhSeminarHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhSeminarHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 30px 0 40px;
        text-align: center;
    }
        .snhSeminarHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(255, 204, 0);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
    .snhSeminarHeader h1 {
        /*color: rgb(74, 26, 28);*/
        color: rgb(255, 192, 0);
        font-size: 1.875rem;
        font-weight: 700;
    }
    .snhSeminarHeader p {}
        .snhSeminarHeader p.subCopy {
            font-size: 1rem;
            font-weight: 600;
            text-align: left;
        }

    @media screen and (min-width: 768px)
    {
        .snhSeminarHeader header {
            padding: 60px 0 40px;
        }
        .snhSeminarHeader p.subCopy {
            font-size: 1.125rem;
            text-align: center;
        }
    }

/**
 *  講演会・研修会 一覧
 */
.snhSeminarListWrap {}
.snhEntry {}
    .snhSeminarListCard {
        position: relative;
        padding: 0 !important;
        border-radius: 20px;
    }
        .snhSeminarListCard::before {
            content: '';
            position: absolute;
            width: 90%;
            height: 5px;
            top: 0px;
            left: 20px;
            background: linear-gradient(120deg, rgb(255, 204, 0) 40%, rgb(255, 228, 0) 100%);
        }
        .snhSeminarListCard a {
            display: block;
            padding: 20px 30px;
            color: #333;
        }
        .snhSeminarListCard:hover::before {
            background-color: rgb(204, 51, 107);
        }
    .snhSeminarListTitle {
        margin-top: 20px;
        margin-bottom: 10px;
        color: #111;
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1.3;
    }
    .snhSeminarListDate {
        display: block;
        margin-bottom: 15px;
        color: rgb(102, 153, 0);
        font-size: .9375rem;
    }
    .snhSeminarListImage {
        height: 180px;
        margin-bottom: 15px;
        border-radius: 10px;
        border: 1px solid #ccc;
    }
    .snhSeminarListBody {
    }


/**************************************************
 *
 *  講演会・研修会 詳細
 *
 **************************************************/
/**
 * 個別ページ用ヘッダー
 */
.snhSeminarHeaderSmall {
    margin-top: -50px;
    margin-bottom: 60px;
}
    .snhSeminarHeaderSmall div {
        position: relative;
        margin-bottom: 40px;
        padding: 0;
    }
        .snhSeminarHeaderSmall div::after {
            content: "";
            margin-left: 0;
            position: absolute;
            border-left: 100px solid rgb(255, 204, 0);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: -10px;
            left: 0;
        }
/**
 * 講演会・研修会のエントリーラップ
 */
.snhSeminarWrap {
    margin-bottom: 70px;
}
    /* エントリーヘッダー */
    .snhSeminarEntryHeader {
        margin: 0 0 30px;
    }
        /* エントリータイトル */
        .snhSeminarEntryHeader h1 {
            font-size: 1.25rem;
            font-weight: 300;
            line-height: 1.3;
        }
        .snhSeminarEntryHeader time {
            display: block;
            margin-bottom: 15px;
            color: rgb(102, 153, 0);
            font-size: 1rem;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhSeminarEntryHeader h1 {
            font-size: 1.875rem;
        }
    }


/**************************************************
 *
 *  エントリー共通
 *
 **************************************************/
.entry {
    margin-bottom: 50px;
    font-size: 1rem;
    line-height: 2;
}
    .entry table {
        margin: 20px 0;
        padding: 10px 0;
        border: 1px solid #ccc;
    }
        .entry table td,
        .entry table th {
            padding: 5px 10px;
            border: 1px solid #ccc;
        }
    /* 記事画像 */
    .wp-caption {
        color: #666;
        font-size: 12px;
        text-align: center;
    }
    .alignnone{
        margin: 30px 30px 30px;
        display: block;
    }
    .alignleft {
        float: left;
        margin: 30px 30px 30px 0px;
        display: block;
    }
    .alignright {
        float: right;
        margin: 30px 0px 30px 30px;
        display: block;
    }
    .aligncenter {
        margin: 30px auto;
        display: block;
    }
        img.alignnone,
        img.alignleft,
        img.alignright,
        img.aligncenter {
            border-radius: 10px;
        }
        .wp-caption span {
            display: none;
        }

    @media screen and (min-width: 768px)
    {
        img.alignleft,
        img.alignright {
            width: 324px;
        }
    }
    @media screen and (min-width: 960px)
    {
        img.alignleft,
        img.alignright {
            width: 420px;
        }
    }

/***
 * ソーシャル
 */
.fpEntrySocialWrap {
    margin-bottom: 70px;
    padding: 12px 10px 10px;
    background: #f3f3f3;
    border-radius: 50px;
}
.fpEntrySocial {
    border-radius: 50px;
}
    .fpEntrySocial i {
        font-size: 2rem;
        transition: all .3s ease-out;
        opacity: .8;
    }
    .fpEntrySocial a {
        margin: 0 30px;
        color: rgba(50, 50, 50, .8);
        transition: all .3s ease-out;
    }
    .fpEntrySocial a:hover i {
        transform: scale(1.05);
        opacity: 1;
    }


/**************************************************
 *
 * エントリー - ページナビ
 *
 **************************************************/
.snhPrevEntry,
.snhNextEntry {
    margin-bottom: 70px;
    color: #666;
}
    .snhPrevEntry {
        margin-left: 35px;
        }
    .snhNextEntry {
        margin-right: 35px;
        text-align: right;
    }
        .snhPrevEntry a,
        .snhNextEntry a {
            display: block;
            color: #666;
            line-height: 1.4;
            position: relative;
        }
            .snhPrevEntry a:hover,
            .snhNextEntry a:hover {
                color: #111;
            }
            
    .snhPrevEntry a::after {
        font-size: 30px;
        font-family: "Font Awesome 5 Free";
        content: "\f359";
        color: rgba(0, 135, 102, 1);
        position: absolute;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 65%);
        background-size:100%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        top: 50%;
        left: -35px;
        margin-top: -18px;
    }
    .snhNextEntry a::before {
        font-size: 30px;
        font-family: "Font Awesome 5 Free";
        content: "\f35a";
        color: rgba(0, 135, 102, 1);
        position: absolute;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 65%);
        background-size:100%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        top: 50%;
        right: -35px;
        margin-top: -18px;
    }

/**************************************************
 *
 * エントリー　ページャー
 *
 **************************************************/
.snhPagerWrap {
    margin: 50px 0;
}
    .snhPagerUpperWrap {
        margin-top: 0;
    }
    .page-numbers {
        margin: 0;
        padding: 0;
        display: flex;
        justify-content: center;
        align-items: center;
        list-style-type: none;
    }
    .page-numbers li {
        margin-right: 10px;
        color: rgb(255, 180, 0);
    }
        .page-numbers li:last-child {
            margin-right: 0;
        }
        
    a.page-numbers,
    .page-numbers li .current {
        display: block;
        width: 30px;
        height: 30px;
        background: #fff;
        border: 1px solid rgb(255, 204, 0);
        border-radius: 30px;
        color: rgb(255, 180, 0);
        font-size: .875rem;
        line-height: 28px;
        text-align:center;
    }
        a.page-numbers:hover {
            background-color: rgb(255, 204, 0);
            color: #fff;
        }
        .page-numbers li .current {
            background: linear-gradient(150deg, rgb(255, 180, 0, 1) 0%, rgba(255, 204, 0, 1) 100%);
            color: #fff;
            font-weight: 600;
        }
    
    /**
     * お知らせ一覧、汎用エントリー一覧
     */
    .snhNewsListPager .page-numbers li,
    .snhEntryListPager .page-numbers li {
        color: rgb(70, 185, 80);
    }
    .snhNewsListPager a.page-numbers,
    .snhNewsListPager .page-numbers li .current,
    .snhEntryListPager a.page-numbers,
    .snhEntryListPager .page-numbers li .current {
        border: 1px solid rgb(70, 185, 80);
        color: rgb(70, 185, 80);
    }
    .snhNewsListPager a.page-numbers:hover,
    .snhEntryListPager a.page-numbers:hover {
        background-color: rgb(70, 185, 80);
        color: #fff;
    }
    .snhNewsListPager .page-numbers li .current,
    .snhEntryListPager .page-numbers li .current {
        background: linear-gradient(150deg, rgba(70, 185, 80, 1) 20%, rgba(190, 211, 94, 1) 100%);
        color: #fff;
    }

    /**
     * 講演会・研修会一覧
     */
    .snhSeminarListPager .page-numbers li {
        color: rgb(255, 180, 0);
    }
    .snhSeminarListPager a.page-numbers,
    .snhSeminarListPager .page-numbers li .current {
        border: 1px solid rgb(255, 204, 0);
        color: rgb(255, 180, 0);
    }
    .snhSeminarListPager a.page-numbers:hover {
        background-color: rgb(255, 204, 0);
    }
    .snhSeminarListPager .page-numbers li .current {
        background: linear-gradient(150deg, rgba(255, 180, 0, 1) 0%, rgba(255, 204, 0, 1) 100%);
    }
    
    /* 768pxより大きい場合 */
    @media screen and (min-width: 768px) {
        .page-numbers li {
            margin-right: 20px;
        }
        a.page-numbers,
        .page-numbers li .current {
            width: 60px;
            height: 60px;
            font-size: 1.125rem;
            line-height: 58px;
        }
    }
    

/**************************************************
 *
 * 最近のエントリー一覧
 *
 **************************************************/
.snhRecentListWrap {
    padding-top: 0;
}
        .snhRecentListWrap header {
            text-align: center;
        }
            .snhRecentListWrap header h2 {
                font-size: 1rem;
                font-weight: 400;
            }
                .snhRecentListWrap header h2 span {
                    display: block;
                    background: linear-gradient(120deg, rgb(70, 185, 80) 40%, rgb(255, 180, 0) 55%);
                      -webkit-background-clip: text;
                      -webkit-text-fill-color: transparent;
                }
        
        .snhRecentList {
            position: relative;
            border-bottom: 1px solid #e2e2e2;
        }
            .snhRecentList::before {
                content: "";
                display: block;
                line-height: 0;
                overflow: hidden;
                position: absolute;
                left: 0;
                bottom: -1px;
                width: 30%;
                border-top: 1px solid rgb(102, 153, 0);
            }
            
            .snhRecentList li {
                position: relative;
                margin-top: 0 !important;
                border-top: 1px solid #ccc;
            }
                .snhRecentList li::before {
                    content: "";
                    position: absolute;
                    border-top: 1px solid rgb(102, 153, 0);
                    width: 50%;
                    height: inherit;
                    top: -1px;
                    left: 0;
                }
                .snhRecentList li a {
                    display: flex;
                    flex-direction: column;
                    color: #333;
                    transition: all 0.3s ease-in;
                }
                    .snhRecentList a:hover {
                        color: rgb(70, 185, 80);
                        background: #fcfcfc;
                    }
                    .snhRecentList li a .recentEntryDatetime {
                        padding: 20px 0 0;
                        color: rgb(102, 153, 0);
                        font-size: .875rem;
                    }
                    .snhRecentList li a .recentEntryTitle {
                        padding: 0 0 20px;
                    }
                    
    
        @media screen and (min-width: 480px)
        {
            .snhRecentList li::before {
                width: 30%;
            }
            .snhRecentList li a {
                display: flex;
                flex-direction: row;
                color: #333;
            }
            .snhRecentList li a span.recentEntryDatetime {
                width: 30%;
                padding: 20px 0;
                color: rgb(102, 153, 0);
                font-size: 1rem;
                text-align: center;
            }
            .snhRecentList li a span.recentEntryTitle {
                width: 70%;
                padding: 20px;
            }
        }

/**
 * 最近のエントリー一覧の一覧へ戻るボタン
 */
.snhRecentEntryButtonWrap {
    margin: 0 auto 50px;
    text-align: center;
}
    .snhRecentEntryButton {
        display: inline-block;
        color: rgb(102, 153, 0);
    }
        .snhRecentEntryButton div {
            margin: 0 auto 10px;
            height: 60px;
            width: 60px;
            border: 1px solid rgb(102, 153, 0);
            border-radius: 40px;
            line-height: 56px;
            transition: all 0.5s ease;
        }
            .snhRecentEntryButton:hover div {
                border-color: #c03;
            }


/**************************************************
 *
 *  お知らせ 一覧
 *
 **************************************************/
/**
 * 一覧ページヘッダー
 */
.snhNewsHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhNewsHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 30px 0 40px;
        text-align: center;
    }
        .snhNewsHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
        .snhNewsHeader h1 {
            margin-bottom: 0px;
            color: rgb(20,  55,  0);
            font-size: 1.875rem;
            font-weight: 400;
        }
            .snhNewsHeader h1 span {
                display: block;
                margin: 0 auto 10px;
                color: rgb(70, 185, 80);
                font-size: 1.25rem;
                display: block;
                width: fit-content;
                background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 80%);
                background-size:100%;
                  -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhNewsHeader header {
            padding: 60px 0 40px;
        }
    }

/**
 * 一覧表示
 */
.snhNewsList {
    position: relative;
    border-bottom: 1px solid #e2e2e2;
}
    .snhNewsList::before {
        content: "";
        display: block;
        line-height: 0;
        overflow: hidden;
        position: absolute;
        left: 0;
        bottom: -1px;
        width: 30%;
        border-top: 1px solid rgb(102, 153, 0);
    }
    .snhNewsList li {
        position: relative;
        margin: 0 !important;
        padding: 0;
        border-top: 1px solid #e2e2e2;
    }
        .snhNewsList li::before {
            content: "";
            position: absolute;
            border-top: 1px solid rgb(102, 153, 0);
            width: 50%;
            height: inherit;
            top: -1px;
            left: 0;
        }
     
    .snhNewsList a {
        display: flex;
        padding-left: 15px;
        padding-right: 15px;
        flex-direction: column;
        color: #333;
        transition: all 0.3s ease-in;
    }
        .snhNewsList a:hover {
            color: rgb(70, 185, 80);
            background: #fcfcfc;
        }
        .snhNewsList li .snhNewsListDate {
            padding: 20px 0 0;
            color: rgb(102, 153, 0);
            font-size: .875rem;
        }
        .snhNewsList li .snhNewsListTitle {
            padding: 0 0 20px;
        }
     
    @media screen and (min-width: 480px)
    {
        .snhNewsList li::before {
            width: 30%;
        }
        .snhNewsList li a {
            display: flex;
            flex-direction: row;
            color: #333;
        }
        .snhNewsList li span.snhNewsListDate {
            width: 30%;
            padding: 30px 0;
            color: rgb(102, 153, 0);
            font-size: 1rem;
            text-align: center;
        }
        .snhNewsList li span.snhNewsListTitle {
            width: 70%;
            padding: 30px;
        }
    }


/**************************************************
 *
 *  お知らせ 詳細
 *
 **************************************************/
/**
 * 個別ページ用ヘッダー
 */
.snhNewsHeaderSmall {
    margin-top: -50px;
    margin-bottom: 60px;
}
    .snhNewsHeaderSmall div {
        position: relative;
        margin-bottom: 40px;
        padding: 0;
    }
        .snhNewsHeaderSmall div::after {
            content: "";
            margin-left: 0;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: -10px;
            left: 0;
        }

/**
 * 講演会・研修会のエントリーラップ
 */
.snhSeminarWrap {
    margin-bottom: 70px;
}
    /* エントリーヘッダー */
    .snhSeminarEntryHeader {
        margin: 0 0 30px;
    }
        /* エントリータイトル */
        .snhSeminarEntryHeader h1 {
            font-size: 1.25rem;
            font-weight: 300;
            line-height: 1.3;
        }
        .snhSeminarEntryHeader time {
            display: block;
            margin-bottom: 15px;
            color: rgb(102, 153, 0);
            font-size: 1rem;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhSeminarEntryHeader h1 {
            font-size: 1.875rem;
        }
    }


/**************************************************
 *
 *  資料・パンフレット 一覧
 *
 **************************************************/
/**
 * 一覧ページヘッダー
 */
.snhDocumentsHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhDocumentsHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 30px 0 40px;
        text-align: center;
    }
        .snhDocumentsHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
        .snhDocumentsHeader h1 {
            margin-bottom: 0px;
            color: rgb(20,  55,  0);
            font-size: 1.875rem;
            font-weight: 400;
        }
            .snhDocumentsHeader h1 span {
                display: block;
                margin: 0 auto 10px;
                color: rgb(70, 185, 80);
                font-size: 1.25rem;
                display: block;
                width: fit-content;
                background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 80%);
                background-size:100%;
                  -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhDocumentsHeader header {
            padding: 60px 0 40px;
        }
    }

/**
 *  資料・パンフレット 一覧
 */
.snhDocumentsListWrap {}
    .snhDocumentsListCard {
        position: relative;
        padding: 0 !important;
        border-radius: 20px;
        text-align: center;
        border: 1px solid #e5e5e5;
    }
        .snhDocumentsListCard a {
            display: block;
            padding: 40px 30px;
            color: #333;
        }
    .snhDocumentsListTitle {
        margin-top: 20px;
        margin-bottom: 10px;
        color: #111;
        font-size: 1.25rem;
        font-weight: 500;
        line-height: 1.3;
        text-align: left;
    }
    .snhDocumentsListDate {
        display: block;
        margin-bottom: 15px;
        color: #999;
        font-size: .9375rem;
    }
    .snhDocumentIcon i {
        color: rgb(102, 153, 0);
        background: linear-gradient(150deg, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 80%);
        background-size:100%;
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
        font-size: 3rem;
    }
        .snhDocumentsListCard div:last-of-type i {
            color: #ccc;
            font-size: 2rem;
            
        }


/**************************************************
 *
 *  お知らせ 詳細
 *
 **************************************************/
/**
 * 個別ページ用ヘッダー
 */
.snhDocumentsHeaderSmall {
    margin-top: -50px;
    margin-bottom: 60px;
}
    .snhDocumentsHeaderSmall div {
        position: relative;
        margin-bottom: 40px;
        padding: 0;
    }
        .snhDocumentsHeaderSmall div::after {
            content: "";
            margin-left: 0;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: -10px;
            left: 0;
        }

/**
 * 講演会・研修会のエントリーラップ
 */
.snhDocumentsWrap {
    margin-bottom: 70px;
    padding: 30px 20px;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    box-shadow: 0 5px 15px rgba(0,0,0,.1);
}
    .snhDocumentsEntryHeader {
        margin: 0 0 30px;
    }
        .snhDocumentsEntryHeader .snhDocumentIcon {
            text-align: center;
        }
        .snhDocumentsEntryHeader h1 {
            margin-top: 20px;
            font-size: 1.25rem;
            font-weight: 500;
            line-height: 1.3;
        }
        .snhDocumentsEntryHeader time {
            display: block;
            margin-bottom: 15px;
            color: #999;
            font-size: 1rem;
            text-align:center;
        }
    
    .snhDocumentsWrap .entry p {
        font-size: 1rem;
        line-height: 1.8;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhDocumentsWrap {
            padding: 60px 60px;
        }
        .snhDocumentsEntryHeader h1 {
            margin-top: 40px;
            font-size: 1.875rem;
        }
    }


/**************************************************
 *
 *  会員募集
 *
 **************************************************/
.snhDonationHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhDonationHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 30px 0 40px;
        text-align: center;
    }
        .snhDonationHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(16, 92, 167);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
        .snhDonationHeader h1 {
            margin-bottom: 0px;
            color: rgb(16, 92, 167);
            font-size: 1.875rem;
            font-weight: 600;
        }
            .snhDonationHeader h1 span {
                display: block;
                margin: 0 auto 10px;
                color: rgb(16, 92, 167);
                font-size: 1.25rem;
                display: block;
                width: fit-content;
                background: linear-gradient(to right, rgb(16, 92, 167) 0%, rgb(46, 157, 225) 80%);
                background-size:100%;
                  -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent;
            }
        .snhDonationHeader p {}
            .snhDonationHeader p.subCopy {
                font-size: 1rem;
                font-weight: 600;
                text-align: left;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhDonationHeader header {
            padding: 60px 0 40px;
        }
        .snhDonationHeader p.subCopy {
            font-size: 1.125rem;
            text-align: center;
        }
    }

.snhDonationWrap {
    margin-top: 50px;
    background: rgb(223, 235, 191);
    background: linear-gradient(to bottom, rgb(255, 255, 255) 0%, rgb(223, 235, 191) 50%, rgb(255, 255, 255) 100%);
}


/**
 * 活動内容
 */
.snhActivityListWrap {
    padding: 30px;
    background: rgb(249, 251, 243);
    border-radius: 20px;
}
    .snhActivityListWrap ul li {
        color: rgb( 60, 165, 80);
        font-weight: 500;
    }
        .snhActivityListWrap ul ul li {
            color: #111;
            font-size: .9375rem
        }
    
    /* 活動の様子 スライドショー */
    .snhSlideshow {}
    .snhSlideshow li,
    .snhSlideshow img {
        border-radius: 20px;
    }
    .snhSlideshowThumnav img {
        border-radius: 5px;
    }

/**
 * 寄付者、賛助会員
 */
.snhDonorWrap {
    background: rgb(255, 228, 228);
    text-align: center;
}
    .snhDonorHeader {
        text-align: center;
    }
        .snhDonorHeader h2 {
            color: rgb(205, 35, 35);
            font-weight: 600;
        }
            .snhDonorHeader h2 span {
                color: rgb(102, 0, 0);
            }
        .snhDonorHeader p {
            color: rgb(102, 0, 0);
            font-size: .875rem;
            font-weight: 600;
        }
    .snhDonor {
        padding: 30px;
        background: #fff;
        border-radius: 20px;
    }
        .snhDonor h3 {
            height: 40px;
            width: 200px;
            margin: 0 auto;
            background: rgb(212, 104, 121);
            border-radius: 10px;
            color: #fff;
            font-size: 1.125rem;
            line-height: 40px;
        }
        .snhDonor ul {
            display: flex;
            flex-wrap: wrap;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            padding: 0;
            color: #333;
            list-style-type: none;
        }
            .snhDonor ul li {
                width: 100%;
            }

    @media screen and (min-width: 768px)
    {
        .snhDonor ul {
            justify-content: flex-start;
            flex-direction: row;
        }
        .snhDonor ul li {
            width: 33.333%;
        }
    }

/**
 * 会員種類
 */
.snhMembershipWrap {
    background: rgb(247, 244, 215);
    text-align: center;
}
    .snhMembership h3 {
        height: 40px;
        width: 200px;
        margin: 0 auto;
        background: rgb(95, 54, 52);
        border-radius: 10px;
        color: #fff;
        font-size: 1rem;
        line-height: 40px;
    }
    .snhMembershipTable {
        width: 100%;
        margin-left: auto;
        margin-right: auto; 
        background: rgb(251, 251, 251);
        border-collapse: separate;
        border: 2px solid rgb(95, 54, 52);
        border-radius: 20px;
        text-align: left;
    }
        .snhMembershipTable tr:first-child th {
            border-top-left-radius: 20px;
        }
        .snhMembershipTable tr:first-child td:last-child {
            border-top-right-radius: 20px;
        }
        .snhMembershipTable tr:last-child th {
            border-bottom-left-radius: 20px;
        }
        .snhMembershipTable tr:last-child td:last-child {
            border-bottom-right-radius: 20px;
        }
        .snhMembershipTable th,
        .snhMembershipTable td {
            border-bottom: 2px solid rgb(95, 54, 52);
        }
        .snhMembershipTable tr:last-child th,
        .snhMembershipTable tr:last-child td {
            border-bottom: 0;
        }
        .snhMembershipTable th,
        .snhMembershipTable td {
            padding: 10px 20px;
            font-size: .875rem;
        }
        .snhMembershipTable th,
        .snhMembershipTable td {
            color: rgb(95, 54, 52);
            font-weight: 500;
            vertical-align: middle !important;
        }
        .snhMembershipTable td {
        }
            .snhMembershipTable td.amount{
                text-align: right;
            }
    /* 会員規約・申込書のダウンロードボタン */
    .snhDonationDocument {
        margin-top: 40px;
    }
        .snhDonationDocument a {
            width: 100%;
            margin-bottom: 20px;
            border-radius: 40px;
            font-size: 1.125rem;
        }
        .snhDonationDocument a i {
            margin-right: 10px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhMembershipTable {
            width: 500px;
        }
        .snhMembershipTable th,
        .snhMembershipTable td {
            padding: 15px 20px;
            font-size: 1rem;
        }
            .snhMembershipTable th {
                padding-left: 30px;
            }
        .snhMembershipTable td.amount {
            padding-right: 30px;
        }
        .snhDonationDocument a {
            width: 25%;
            margin: 0 20px;
        }
    }

/**************************************************
 *
 *  会員募集 - 会員申し込みフォーム
 *
 **************************************************/
.snhDonationFormWrap {
        padding: 0 3px 3px;
        background: #fff;
        background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%) !important;
        border-radius: 0 0 20px 20px;
    }
        .snhDonationForm {
            padding: 20px;
            background: #fff;
            border-radius: 0 0 17px 17px;
        }
        
.snhDonationFormHeader {
    padding: 20px 0;
    background: rgb(70, 185, 80);
    border-radius: 20px 20px 0 0;
    color: #fff;
    text-align:center;
}
    .snhDonationFormHeader h2 {
        margin-bottom: 0px;
        color: #fff;
        font-size: 1rem;
        font-weight: 300;
    }
        .snhDonationFormHeader h2 span {
            display: block;
            font-size: 1.25rem;
            font-weight: 600;
        }
        
.snhDonationFormBody {
}
    .snhDonationFormBody dl {
        padding-top: 20px;
        border-top: 1px solid #e5e5e5;
    }
    
    .snhDonationFormBody h3 {
        position: relative;
        display:block;
        margin-bottom: 40px;
        color: rgb( 60, 165, 80);
        font-size: 1.125rem;
        text-align:center;
    }
        .snhDonationFormBody h3::after {
            position: absolute;
            content: url('../images/common/divider_common_form.svg');
            bottom: -30px;
            left: 50%;
            width: 100px;
            margin-left: -50px;
        }
        .snhDonationFormBody h3 span { color: rgb(0, 130, 204); }
        
        /* 口数 */
        .snhDonationFormAmount {
            margin-top: 20px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhDonationForm {
            padding: 20px 50px 40px;
        }
        .snhDonationForm h3 {
            font-size: 1.25rem;
        }
    }


/**************************************************
 *
 *  法人概要
 *
 **************************************************/
/* 背景グラデーション */
.snhProfileBody {
    padding-bottom: 70px;
    background: linear-gradient(-45deg, #fff, rgba(190, 211, 94, .3), rgba(70, 185, 80, .5), rgba(190, 211, 94, .3), #fff) fixed;
    background-size: 300% 300%;
    animation: GradietionAnimation 100s ease infinite;
}
    
    @keyframes GradietionAnimation { 
      0%{background-position:0% 50%}
      50%{background-position:100% 50%}
      100%{background-position:0% 50%}
    }
    

.snhProfileHeader {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 50%, rgba(255, 255, 255, 0));
}
    .snhProfileHeader h1,
    .snhProfileHeader .snhProfileHeaderTitle {
        position: relative;
        margin-bottom: 80px;
        color: rgb(20, 55, 0);
        font-size: 1.375rem;
        font-weight: 700;
        text-align: center;
        background: linear-gradient(150deg, rgba(70, 185, 80, 1) 35%, rgba(190, 211, 94, 1) 65%);
        background-size:100%;
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
        }
        .snhProfileHeader h1 span,
        .snhProfileHeader .snhProfileHeaderTitle span {
            display: block;
            font-size: 1.125rem;
        }
        .snhProfileHeader h1::after,
        .snhProfileHeader .snhProfileHeaderTitle::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: -40px;
            left: 50%;
        }
        .snhProfileHeader h1 + p {
            font-size: 1rem;
            text-align: left;
            line-height: 1.5;
        }
        
    .snhProfileHeader p {
        font-size: .9375rem;
        font-weight: 500;
        line-height: 1.8;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhProfileHeader h1,
        .snhProfileHeader .snhProfileHeaderTitle {
            font-size: 2.25rem;
            }
            .snhProfileHeader h1 span,
            .snhProfileHeader .snhProfileHeaderTitle span {
                font-size: 1.875rem;
            }
            .snhProfileHeader h1 + p {
                font-size: 1.375rem;
                text-align: center;
            }
        .snhProfileHeader p {
            font-size: 1.125rem;
        }
    }

/**
 * 法人概要 共通要素
 */
.snhProfileTitle {
    margin-bottom: 40px;
    font-size: 1.5rem;
    font-weight: 300;
    text-align: center;
}
.snhProfileTable {
    border-top: 1px solid rgb(102, 153, 0);
    border-bottom: 1px solid rgb(102, 153, 0);
}
    .snhProfileTable tr {
        border-color: rgb(102, 153, 0) !important;
    }
    .snhProfileTable th {
        width: 25%;
        color: #111;
        font-size: .75rem;
        vertical-align: top;
    }
    .snhProfileTable td {
        font-size: .9375rem;
    }
    @media screen and (min-width: 768px)
    {
        .snhProfileTitle {
            font-size: 2.25rem;
        }
            .snhProfileTable th {
                font-size: .9375rem;
            }
    }

/* リンクボタン */
.snhProfileButtonWrap {
    text-align: center;
}
    .snhProfileButton {
        background: #fff;
        border: 1px solid rgb(102, 153, 0);
        border-radius: 40px;
        color: rgb( 20,  55, 0);
        font-size: 1rem;
        transition: all 0.3s ease-out;
    }
        .snhProfileButton:hover {
            background: rgb( 20,  55, 0);
        }
        .snhProfileButton i {
            margin-right: 10px;
        }

/**
 * ナビ
 */
.snhProfileNavWrap {
    padding-top: 0;
    padding-bottom: 0;
}
.snhProfileNav ul {
    display: flex;
    list-style-type: none;
    justify-content: center;
    align-items: center;
    padding:0;
}
.snhProfileNav li {
    margin: 0 10px;
}
    .snhProfileNav li a {
        position: relative;
        display: table-cell;
        vertical-align: middle;
        width: 90px;
        height: 90px;
        padding: 0;
        background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%);
        border: 1px solid rgb(70, 185, 80);
        border-radius: 60px;
        color: #fff;
        font-size: .875rem;
        font-weight: 500;
        text-align: center;
        line-height: 1.3;
        transition: all 0.3s ease-in;
    }
        .snhProfileNav li a:hover {
            background: #fff;
            color: rgb(70, 185, 80);
        }
        .snhProfileNav li a.active {
            background: #fff;
            color: rgb(70, 185, 80);
        }

    @media screen and (min-width: 768px)
    {
        .snhProfileNav ul {}
        .snhProfileNav li {
            margin: 0 20px;
        }
            .snhProfileNav li a {
                width: 110px;
                height: 110px;
                padding: 10px;
                font-size: 1rem;
            }
    }


/**************************************************
 *  活動概要
 **************************************************/
.snhActivity {
 }
    .snhActivity h3 {
        margin-top: 10px;
        margin-bottom: 10px;
        font-size: .9375rem;
        font-weight: 400;
    }
    .snhActivity p {
        margin-top: 10px;
        margin-bottom: 10px;
    }

    @media screen and (min-width: 768px)
    {
        .snhActivity h3 {
            margin-top: 20px;
            margin-bottom: 20px;
            font-size: 1rem;
            font-weight: 400;
        }
        .snhActivity p {
            margin-top: 20px;
            margin-bottom: 20px;
        }
    }

/**************************************************
 * 代表挨拶
 **************************************************/
.snhGreetingWrap {
    padding-top: 0;
}

.snhGreeting {
    padding: 0 20px;
}
    .snhGreeting h1 {
    }
    .snhGreeting p {
        font-size: .9375rem;
        line-height: 1.8;
    }
    .snhRepresentative {
        font-size: 1.125rem;
        font-weight: 300;
        text-align: right;
    }
        .snhRepresentative span {
            display: inline-block;
            margin-right: 1rem;
            font-size: .75rem;
            vertical-align: 1px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhGreeting p {
            font-size: 1rem;
            line-height: 2;
        }
        .snhRepresentative {
            font-size: 1.25rem;
        }
            .snhRepresentative span {
                font-size: .875rem;
                vertical-align: 3px;
            }
    }

/**************************************************
 * 理念
 ***************************************************/
.snhMissionWrap {}
.snhMission {
    padding: 0 20px;
}
    .snhMission h2 {
    }
    .snhMission p {
        font-size: .9375rem;
        line-height: 1.8;
    }
    .snhMissionLogoMark,
    .snhMissionLogoType {
        text-align: center;
    }
    .snhMissionLogoMark img {
        height: 60px;
        margin-bottom: 10px;
    }
    .snhMissionLogoType img {
        height: 35px;
        margin-bottom: 0px;
    }
    
    @media screen and (min-width: 768px)
    {
        .snhMission p {
            font-size: 1rem;
            line-height: 2;
        }
        .snhMissionLogoMark img {
            height: 90px;
            margin-bottom: 20px;
        }
        .snhMissionLogoType img {
            height: 40px;
            margin-bottom: 40px;
        }
    }


/**************************************************
 * 法人の歴史
 ***************************************************/
.snhHistoryTable {}
    .snhHistoryTable th {
        font-size: 2.25rem;
        font-weight: 200;
        text-align:center;
    }
        .snhHistoryTable th {
            color: rgb( 20,  55, 0);
            font-size: 2.25rem;
            font-weight: 300;
            text-align:center;
        }
        .snhHistoryTable th div {
            font-size: 1.125rem;
        }
        .snhHistoryTable th span {
            display: innline-block;
            margin-left: 5px;
            font-size: 1.5rem;
        }

/**************************************************
 * 活動実績・協働実績
 ***************************************************/
.snhActivityWrap {}
    .snhActivityWrap h3 {
        color: rgb(51, 102, 0);
        font-size: 1.125rem;
        text-align: center;
    }

.snhActivityTable {}
    .snhActivityTable th {
        color: rgb( 20,  55, 0);
        font-size: 2.25rem;
        font-weight: 200;
        text-align:center;
    }
        .snhActivityTable th {
            font-size: 2.25rem;
            font-weight: 300;
            text-align:center;
        }
        .snhActivityTable th div {
            font-size: 1.125rem;
        }
        .snhActivityTable th span {
            display: innline-block;
            margin-left: 5px;
            font-size: 1.5rem;
        }


/**************************************************
 *
 * 共通要素
 * ネットワーク、お問い合わせ、プライバシー
 *
 **************************************************/
/**
 * 共通ページヘッダー
 */
.snhCommonHeader {
    padding-top: 0;
    padding-bottom: 0;
}
    .snhCommonHeader header {
        position: relative;
        margin-bottom: 40px;
        padding: 30px 0 40px;
        text-align: center;
    }
        .snhCommonHeader header::after {
            content: "";
            margin-left: -100px;
            position: absolute;
            border-left: 100px solid rgb(70, 185, 80);
            border-right: 100px solid #ccc;
            width: 0px;
            height: 5px;
            bottom: 0px;
            left: 50%;
        }
        .snhCommonHeader h1 {
            margin-bottom: 0px;
            color: rgb(20,  55,  0);
            font-size: 1.5rem;
            font-weight: 400;
        }
            .snhCommonHeader h1 span {
                display: block;
                margin: 0 auto 10px;
                color: rgb(70, 185, 80);
                font-size: 1rem;
                display: block;
                width: fit-content;
                background: linear-gradient(to right, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 80%);
                background-size:100%;
                  -webkit-background-clip: text;
                  -webkit-text-fill-color: transparent;
            }
    
    @media screen and (min-width: 768px)
    {
        .snhCommonHeader header {
            padding: 60px 0 40px;
        }
        .snhCommonHeader h1 {
            font-size: 1.875rem;
        }
            .snhCommonHeader h1 span {
                font-size: 1.25rem;
            }
    }

.snhCommonWrap {}
    .snhCommonWrap h2 {
        margin: 40px 0;
        color: rgb( 60, 165, 80);
        font-size: 1.25rem;
        font-weight: 300;
        text-align: center;
    }
    .snhCommonWrap ul {}
        .snhCommonWrap ul li {
            font-size: .9375rem;
        }
        .snhCommonWrap ul li i {
            margin-right: 10px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snhCommonWrap h2 {
            font-size: 1.5rem;
        }
        .snhCommonWrap ul li {
            font-size: 1rem;
        } 
    }

/**************************************************
 *
 * プライバシーポリシー
 *
 **************************************************/
.snhPrivacyAddress {}
    .snhPrivacyAddress dl {}
    .snhPrivacyAddress dt {
        font-weight: 300;
    }



/**************************************************
 *
 * お問い合わせ
 *
 **************************************************/
/**
 * 注意事項
 */
.snhContactAlert {
    padding: 30px;
    border-radius: 20px;
    background: rgba(190, 211, 94, .2);
    
}
    .snhContactAlert h2 {
        color: rgb(223, 45, 45);
        font-size: 1rem;
        text-align: center;
    }
    .snhContactAlert p {
        margin: 0;
    }

/**
 * 受付時間の案内
 */
.snhContactReceptionHours {
    margin-bottom: 40px;
    padding: 20px 30px;
    background: rgba(70, 185, 80, .1);
    border-radius: 10px;
}
    .snhContactReceptionHours div {
        display: inline-block;
        margin-right: 20px;
    }
        .snhContactReceptionHours div:first-child {
            margin-right: 40px;
        }
        .snhContactReceptionHours div span {
            font-size: 1.25rem;
        }

/**
 * お問い合わせ欄
 */
.snhContactWrap {
    padding-bottom: 0px;
}

.snhContactHeader {
    padding: 20px 0;
    background: rgb(70, 185, 80);
    border-radius: 20px 20px 0 0;
    color: #fff;
    text-align:center;
}
        .snhContactHeader h2 {
            margin-bottom: 0px;
            color: #fff;
            font-size: 1rem;
            font-weight: 600;
        }

    @media screen and (min-width: 768px)
    {
        .snhContactHeader h2 {
            font-size: 1.25rem;
        }
    }

.snhContactBodyWrap {
    padding: 0 3px 3px;
    background: linear-gradient(to bottom, rgb(70, 185, 80) 0%, rgb(190, 211, 94) 100%) !important;
    border-radius: 0 0 20px 20px;
}
    .snhContactBody {
        padding: 20px;
        background: #fff;
        border-radius: 0 0 17px 17px;
    }
        .snhContactBody dl {
            padding-top: 20px;
            border-top: 1px solid #e5e5e5;
        }
        
        .snhContactBody h3 {
            position: relative;
            display:block;
            margin-bottom: 40px;
            color: rgb( 60, 165, 80);
            font-size: 1.125rem;
            text-align:center;
        }
            .snhContactBody h3::after {
                position: absolute;
                content: url('../images/common/divider_common_form.svg');
                bottom: -30px;
                left: 50%;
                width: 100px;
                margin-left: -50px;
            }
            .snhContactBody h3 span { color: rgb(0, 130, 204); }
            
.snhContactTelBody .snhContactReceptionHours {
    margin-bottom: 0;
}
    .snhContactTelNo {
        margin-top: 0px;
        margin-bottom: 20px;
        font-size: 2rem;
        text-align:center;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 80%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
    }
        
    @media screen and (min-width: 768px)
    {
        .snhContactBody {
            padding: 20px 50px 40px;
        }
            .snhContactBody h3 {
                font-size: 1.25rem;
            }
        .snhContactTelNo {
            margin-top: 20px;
            margin-bottom: 40px;
            font-size: 2.8125rem;
        }
    }


/**************************************************
 *
 * Contact form 7
 *
 **************************************************/
/* ラジオボタンを垂直に並べて表示 */
.wpcf7-radio .wpcf7-list-item {
    margin-top:10px;
    display: block;
    }

/* エラー表示 */
.wpcf7 form .wpcf7-response-output {
    margin: 20px 0;
    padding: 25px !important;
    background: #fef4f6;
    border: solid 1px #f0506e;
    border-radius: 5px;
    color: #f0506e;
    font-size: .875rem;
}
.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output {
    border-color: #f0506e !important;
}
.wpcf7 form.sent .wpcf7-response-output {
    border-color: #1e87f0 !important;
    background: #d8eafc;
    color: #1e87f0;
}
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
    border-color: #f0506e; /* Red */
}
.wpcf7 form.spam .wpcf7-response-output {
    border-color: #faa05a; /* Orange */
    background: #fff6ee;
    color: #faa05a;
}

.wpcf7 form.sent .wpcf7-response-output {
    border-color: #1e87f0;
}


/* ラジオボタンのラベル */
.wpcf7-list-item-label {
    font-size: 1rem !important;
}

/* エラー表示 吹き出し */
.wpcf7-not-valid-tip {
    position: relative;
    display: inline-block !important;
    margin: 0 0 1.5em;
    padding: 7px 30px;
    min-width: 120px;
    max-width: 100%;
    background: #fef4f6;
    border: solid 1px #f0506e;
    border-radius: 30px;
    color: #f0506e !important;
    font-size: .875rem !important;
}
    .wpcf7-not-valid-tip:before {
        content: "";
        position: absolute;
        top: -20px;
        left: 55%;
        margin-left: -16px;
        border: 8px solid transparent;
        border-bottom: 12px solid #fef4f6;
        z-index: 2;
    }
    .wpcf7-not-valid-tip:after {
        content: "";
        position: absolute;
        top: -24px;
        left: 55%;
        margin-left: -18px;
        border: 10px solid transparent;
        border-bottom: 14px solid #f0506e;
        z-index: 1;
    }


/**************************************************
 *
 *  404
 *
 **************************************************/
.snh404PageHeader {
    margin-top: 0px;
    text-align: center;
 }
    .snh404PageHeader h1 {
        margin-bottom: 20px;
        margin-top: 0;
        color: rgb(205, 0, 51);
        font-size: 1.5rem;
        background: linear-gradient(150deg, rgba(0, 135, 102, 1) 35%, rgba(190, 211, 94, 1) 80%);
          -webkit-background-clip: text;
          -webkit-text-fill-color: transparent;
    } 
    .snh404PageHeader .snh404PageHeaderMark img {
        height: 70px;
        margin-bottom: 10px;
    }
    .snh404PageHeader .snh404PageHeaderType img {
        height: 30px;
        margin-bottom: 30px;
    }
    .snh404Page {
    }
        .snh404Page p {
            margin-bottom: 20px;
        }
    
    @media screen and (min-width: 768px)
    {
        .snh404PageHeader .snh404PageHeaderMark img {
            height: 100px;
        }
        .snh404PageHeader .snh404PageHeaderType img {
            height: 50px;
        }
        .snh404PageHeader h1 {
            font-size: 2.5rem;
        }
        .snh404Page p {
            text-align: center;
        }
    }
