        /* background:#17bd8c; */
        /* background-image: -webkit-gradient(linear, 0 0, 0 100%, color-stop(.5, #ffffff), color-stop(.5, transparent), to(transparent)); */
        /* background: -moz-linear-gradient(top,rgba(60,100,50,0.5),#066);　 Firefox用 */
        /* custom */
        
        .headbox {
            padding: 10px 0 0 0;
            height: 80px;
        }
        
        #global-nav ul {
            width: auto;
            margin-right: 0;
            position: absolute;
            left: 350px;
            bottom: 5px;
            font-size: 0.8em;
            list-style: none;
        }
        
        #global-nav ul li {
            display: inline-block;
            text-align: center;
            float: left;
            width: 150px;
            margin: 0 5px;
        }
        
        .gnav li a {
            font-size: 1.2em;
            display: block;
            padding: 50px 20px 0;
            background-repeat: no-repeat;
            /* 背景画像の繰り返しを無効に */
            background-size: 30%;
            background-position: center top;
            transition: all 0.3s ease;
        }
        
        .gnav li a:hover {
            opacity: 0.7;
        }
        /* ホームメニューリンクの背景画像 */
        
        .gnav li:nth-child(1) a {
            background-image: url('../images/menu/menu01@2x.png');
            /* 画像のパスを指定 */
        }
        /* アバウトメニューリンクの背景画像 */
        
        .gnav li:nth-child(2) a {
            background-image: url('../images/menu/menu02@2x.png');
            /* 画像のパスを指定 */
        }
        /* サービスメニューリンクの背景画像 */
        
        .gnav li:nth-child(3) a {
            background-image: url('../images/menu/menu03@2x.png');
            /* 画像のパスを指定 */
        }
        
        .gnav li:nth-child(4) a {
            background-image: url('../images/menu/menu04@2x.png');
            /* 画像のパスを指定 */
        }
        
        .logo img {
            margin-top: -10px;
            position: absolute;
            width: auto;
            height: 100px;
        }
        
        .logo a {
            display: block;
            transition: all 0.3s ease;
        }
        
        .logo a:hover {
            opacity: 0.5;
        }
        
        .visual-navi {
            float: left;
            display: block;
            padding: 0;
            width: 60%;
        }
        
        .vnavi {
            margin: 0;
            padding: 0;
            list-style-type: none;
        }
        
        .vnavi li {
            float: left;
        }
        
        .vnavi a:hover {
            alpha(opacity=65);
            -moz-opacity: 0.65;
            opacity: 0.65;
        }
        
        #mainimages {
            position: relative;
            z-index: 1;
            max-width: 2000px;
            margin: 0 auto;
            /* はみ出た部分を隠す */
        }
        
        #mainimages img {
            width: 100%;
            height: auto;
            max-height: 500px;
            display: block;
            margin: 0 auto;
            object-fit: cover;
            object-position: center;
            overflow: hidden;
        }
        
        #mainimages .htitle {
            position: relative;
            width: 1000px;
            margin: -150px auto 0;
        }
        
        #mainimages .htitle h1 {
            display: block;
            font-size: 2.5em;
            color: #B03E2E;
            background-color: rgba(255, 255, 255, 0.6);
            padding: 15px 50px 15px 80px;
            border-radius: 3px;
        }
        
        #mainimages .htitle h1::before {
            content: "";
            background-image: url('../images/sunson_icon.png');
            background-repeat: no-repeat;
            background-size: 60px 60px;
            width: 60px;
            height: 60px;
            position: absolute;
            left: 10px;
            top: 50%;
            transform: translateY(-50%);
        }
        
        .mainimg-bar {
            position: relative;
            /* background: transparent url(../images/main-bar.png) top center repeat-y; */
            max-width: 2000px;
            margin: 0 auto;
            margin-top: -75px;
            text-align: center;
            z-index: 999;
            padding: 0;
        }
        
        a.bnbox {
            display: block;
            transition: all 0.3s ease;
        }
        
        a.bnbox:hover {
            opacity: 0.9;
        }
        
        .recruitbanner {
            position: absolute;
            top: 50px;
            right: 80px;
            border: 5px solid #f5843b;
            background-color: #fff;
            /* 透過の背景色を白に設定 */
            background-image: url(../images/recruit_bg.png);
            /* 背景画像の設定 */
            background-repeat: no-repeat;
            background-position: center center;
            background-size: cover;
            /* 背景画像をちょうどよく表示 */
            width: 250px;
            height: 250px;
            border-radius: 50%;
            color: #333;
            text-align: center;
        }
        
        .centered-content {
            font-family: 'Zen Maru Gothic', sans-serif;
            font-weight: 700;
            display: block;
            color: #f63d39;
            font-size: 1.5em;
            position: absolute;
            width: 100%;
            top: 60%;
            left: 50%;
            transform: translate(-50%, -50%);
        }
        
        .centered-content p {
            margin-top: 20px;
            display: inline-block;
            background: #fff;
            background: rgba(255, 255, 255, 0.7);
            border-radius: 0 0 30px 30px;
        }
        
        span.ss {
            font-size: 0.8em;
        }
        
        .site-content {
            min-height: 500px;
        }
        
        .site-content h1 {
            line-height: 0.2;
            letter-spacing: 0.1em;
            margin-top: 20px;
            padding: 10px 10px 0 10px;
            font-family: 'Zen Maru Gothic', sans-serif;
            font-size: 2.2em;
            border-bottom: 25px solid #ffb22e;
            border-radius: 3px;
            /* CSS3草案 */
            -webkit-border-radius: 3px;
            /* Safari,Google Chrome用 */
            -moz-border-radius: 3px;
            /* Firefox用 */
        }
        
        .site-content h1.top {
            position: relative;
            line-height: 1.5em;
            color: #f47421;
            margin-top: -60px;
            margin-bottom: 40px;
            text-align: center;
            font-size: 2.5em;
            font-weight: 700;
            border: none;
            background: #ffe9c2;
            border-radius: 50%;
            padding: 20px 0;
            z-index: 888888;
            border-bottom: 10px solid #ffb22e;
        }
        
        .site-content h2 {
            font-family: 'Zen Maru Gothic', sans-serif;
            font-size: 1.7em;
            margin: 40px 0 10px 0;
            padding: 5px;
            color: #08601b;
            background: #efe6d7;
            border-left: 8px solid #1dba84;
            border-radius: 3px 0 0 3px;
            /* CSS3草案 */
            -webkit-border-radius: 3px 0 0 3px;
            /* Safari,Google Chrome用 */
            -moz-border-radius: 3px 0 0 3px;
            /* Firefox用 */
        }
        
        .site-content h3 {
            display: inline-block;
            color: #616161;
            text-align: left;
            font-family: 'Zen Maru Gothic', sans-serif;
            font-size: 1.5em;
            margin: 0 0 20px 0;
            padding: 10px;
            background: #f8dad9;
            border-radius: 3px;
            /* CSS3草案 */
            -webkit-border-radius: 3px;
            /* Safari,Google Chrome用 */
            -moz-border-radius: 3px;
            /* Firefox用 */
        }
        
        .entry-content p {
            font-size: 1.1em;
            line-height: 1.7em;
            margin: 0 20px 20px 23px;
            padding: 0 20px;
        }
        
        .news h1 {
            line-height: 0.2;
            letter-spacing: 0.1em;
            margin-top: 50px;
            padding: 10px 10px 0 10px;
            font-family: 'Zen Maru Gothic', sans-serif;
            font-size: 1.5em;
            border-bottom: 25px solid #ffb22e;
            border-radius: 3px;
            /* CSS3草案 */
            -webkit-border-radius: 3px;
            /* Safari,Google Chrome用 */
            -moz-border-radius: 3px;
        }
        
        span.boxbox {
            color: #FFF;
            background: #F99409;
            padding: 2px 8px;
            border-bottom: 4px solid #d9542d;
            border-right: 4px solid #d9542d;
            border-radius: 3px;
            /* CSS3草案 */
            -webkit-border-radius: 3px;
            /* Safari,Google Chrome用 */
            -moz-border-radius: 3px;
            /* Firefox用 */
        }
        
        .about-img {
            float: left;
            margin: 0 20px 30px 20px;
        }
        
        .clearclear {
            clear: both;
        }
        
        .textrrr {
            margin-right: 25px;
            text-align: right;
        }
        
        .textrr {
            margin-top: 100px;
            margin-right: 25px;
            text-align: right;
        }
        
        ul.reason-list {
            list-style: none;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            /* 列間のスペース */
        }
        
        .reason-list li {
            flex-basis: calc(50% - 10px);
            /* 2列に分割 */
            margin-bottom: 2px;
            padding: 10px;
            border-radius: 8px;
            background-color: #f0f5f9;
            font-size: 1.1em;
            line-height: 1.4;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        
        ul.reason-list2 {
            list-style: none;
            padding: 0;
            display: flex;
            flex-wrap: wrap;
            gap: 10px;
            /* 列間のスペース */
        }
        
        .reason-list2 li {
            flex-basis: calc(100% - 50px);
            /* 2列に分割 */
            margin: 0 10px 2px 20px;
            padding: 10px;
            border-radius: 8px;
            background-color: #f0f5f9;
            font-size: 1.1em;
            line-height: 1.4;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
        
        .news ul {
            list-style: none;
            margin-left: -20px;
        }
        
        .news li {
            padding: 5px 0;
            margin: 0 0 10px 0;
            border-bottom: dotted 1px #999;
        }
        
        .news span {
            margin-right: 50px;
        }
        
        .news a {}
        
        .footcontainer {
            font-size: 1.0em;
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
            margin: 0 auto;
            max-width: 1200px;
        }
        
        .item {
            width: calc(50% - 20px);
            margin: 0 10px 10px;
            padding: 0 20px;
            box-sizing: border-box;
        }
        
        .foot-left {
            padding: 0;
            width: 100%;
            float: left;
        }
        
        .gaiyou p {
            line-height: 2.0em;
        }
        
        .topbanner {
            font-size: 1.0em;
            position: relative;
            width: 100%;
            margin: 0 10px;
            padding: 10px;
            background: #ffbc48;
            border-radius: 5px;
            height: auto;
        }
        
        .topbanner p {
            text-align: center;
            font-size: 1.0em;
            padding: 0;
            margin: 0;
        }
        
        .contactbox {
            width: 100%;
        }
        
        a.formlink {
            text-align: center;
            display: block;
            background: #d9542d;
            margin: 0 auto;
            padding: 5px;
            color: #fff;
            transition: all 0.3s ease;
        }
        
        a.formlink:hover {
            opacity: 0.5;
        }
        
        .icon-text {
            color: #fff;
            margin: 10px 0;
            display: block;
            text-align: center;
        }
        
        .icon {
            margin-right: 5px;
        }
        
        .icon i {
            font-size: 2.2em;
        }
        
        .text {
            line-height: 1.2em;
            font-size: 2.2em;
            font-weight: 900;
        }
        
        .time {
            background: #d9542d;
            font-size: 0.8em;
            color: #fff;
            padding: 4px 6px;
            margin-right: 5px;
            border-radius: 3px;
        }
        
        .timea {
            background: #d9542d;
            font-size: 1.0em;
            color: #fff;
            padding: 2px 4px;
            margin-right: 5px;
            border-radius: 3px;
        }
        
        .time2 {
            font-size: 0.8em;
            color: #fff;
        }
        
        .time2a {
            font-size: 1.0em;
        }
        
        .footinfo {
            width: 100%;
            padding: 5px;
            text-align: center;
            clear: both;
            color: #fff;
            background: #f5843b;
        }
        
        #map {
            width: 50%;
            height: 180px;
            float: right;
            margin: 0 50px 30px 30px;
        }
        
        .email-form {
            max-width: 100%;
            margin: 0 auto;
            padding: 20px;
            border: 1px solid #ccc;
            border-radius: 10px;
            box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
            background-color: #f7f7f7;
        }
        
        .email-form table {
            width: 100%;
        }
        
        .email-form label {
            display: block;
            font-weight: bold;
            margin-bottom: 5px;
        }
        
        .email-form input[type="text"],
        .email-form input[type="email"],
        .email-form input[type="tel"],
        .email-form textarea {
            width: 100%;
            padding: 10px;
            margin-bottom: 10px;
            border: 1px solid #ccc;
            border-radius: 5px;
            transition: border-color 0.3s ease;
        }
        
        .email-form input[type="text"]:focus,
        .email-form input[type="email"]:focus,
        .email-form input[type="tel"]:focus,
        .email-form textarea:focus {
            border-color: #3498db;
        }
        
        .email-form textarea {
            resize: vertical;
        }
        
        .email-form button {
            padding: 10px 20px;
            background-color: #3498db;
            color: #fff;
            border: none;
            border-radius: 5px;
            cursor: pointer;
            transition: background-color 0.3s ease;
        }
        
        .email-form button:hover {
            background-color: #2980b9;
        }
        
        ul.news-list {
            list-style: none;
            margin: 0;
            padding: 0;
            display: grid;
            grid-template-columns: repeat(1, 1fr);
            gap: 20px;
        }
        
        ul.news-list li {
            background-color: #fff;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
            transition: transform 0.3s, box-shadow 0.3s;
            overflow: hidden;
            margin: 0 20px;
        }
        
        ul.news-list li:hover {
            transform: translateY(-5px);
            box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        }
        
        ul.news-list li span {
            display: block;
            font-size: 1.0em;
            color: #888;
            margin-bottom: 3px;
        }
        
        ul.news-list li a {
            display: block;
            font-size: 1.2em;
            color: #B03E2E;
            text-decoration: none;
            padding: 5px 20px;
            transition: background-color 0.3s, color 0.3s;
        }
        
        ul.news-list li a:hover {
            background-color: #FFB3A8;
            color: #fff;
        }
        
        @media (max-width: 1079px) {
            #mainimages {
                margin: 0 auto;
            }
            #mainimages img {
                width: 100%;
                margin: 0 auto;
            }
            #mainimg-bar {
                background: url(none);
                margin: 0 auto;
                margin-top: -10%;
            }
            #mainimg-bar img {
                width: 100%;
                margin: 0 auto;
            }
            .visual-navi {
                float: left;
                display: block;
                padding: 0;
                width: 65%;
            }
            .foot-left {
                padding: 0 0 0 50px;
                width: 30%;
                float: left;
            }
            #map {
                width: 60%;
                height: 180px;
                float: right;
                margin: 0 20px 30px 30px;
            }
        }
        
        @media (max-width: 999px) {
            #global-nav {
                display: none;
            }
            #mainimages {
                margin: 0 auto;
            }
            #mainimages img {
                width: 100%;
                margin: 0 auto;
            }
            .visual-navi {
                display: none;
            }
            .navbar {
                display: block;
                background-color: #f7f5e7;
                margin: 0 auto;
                margin-top: -10px;
                max-width: 1600px;
                width: 100%;
            }
            .entry-header,
            .entry-content,
            .entry-summary,
            .entry-meta {
                /* メインコンテンツ部分（左）背景 */
                background: #FFFFFF;
                margin: 0 auto;
                max-width: 1000px;
                padding: 0 40px 0 40px;
                width: 100%;
            }
            .foot-left {
                padding: 0;
                width: 40%;
                float: left;
            }
            #map {
                width: 50%;
                height: 180px;
                float: right;
                margin: 0 10px 30px 10px;
            }
        }
        
        @media (max-width: 768px) {
            .site-header .home-link {
                float: none;
                margin: 0 auto;
                padding: 0;
                width: auto;
                text-align: center;
            }
            .logo img {
                margin-top: -10px;
                position: relative;
                max-width: 85%;
                height: auto;
            }
            #mainimages .htitle {
                position: relative;
                width: 100%;
                margin: -100px auto -50px;
            }
            #mainimages .htitle h1 {
                font-size: 1.8em;
                padding: 15px 50px 15px 50px;
                border-radius: 3px;
            }
            #mainimages .htitle h1::before {
                background-size: 40px 40px;
                width: 40px;
                height: 40px;
                left: 10px;
            }
            ul.news-list {
                gap: 5px;
            }
            ul.news-list li {
                margin: 0 5px;
            }
            .topbanner p {
                font-size: 0.8em;
            }
            .centered-content {
                font-size: 0.9em;
                position: absolute;
                width: 100%;
                top: 70%;
                left: 50%;
            }
            .centered-content p {
                margin-top: 20px;
            }
            span.ss {
                font-size: 0.6em;
            }
            .site-content h1 {
                font-size: 1.5em;
            }
            .site-content h2 {
                font-size: 1.3em;
            }
            .site-content h3 {
                font-size: 1.2em;
            }
            .site-content h1.top {
                font-size: 1.8em;
            }
            .entry-content p {
                font-size: 1.0em;
                line-height: 1.5em;
                margin: 0 5px 5px 5px;
                padding: 0;
            }
            .reason-list li {
                flex-basis: 100%;
                /* 1列に変更 */
                padding: 12px;
                font-size: 14px;
            }
            .email-form {
                padding: 5px;
            }
            .email-form input[type="text"],
            .email-form input[type="email"],
            .email-form input[type="tel"],
            .email-form textarea {
                width: 100%;
            }
            /* テーブルのセルを縦に並べる */
            .email-form table {
                display: block;
                width: 100%;
                margin: 0;
            }
            .email-form tr,
            .email-form td {
                display: block;
                width: 100%;
                margin: 0;
            }
            .email-form td p {
                padding: 0;
                margin: 0;
            }
            .textrr {
                clear: both;
                margin-top: 100px;
                margin-right: 25px;
                text-align: right;
            }
            .site-footer-main {
                width: 100%;
                text-align: left;
                padding: 0 10px;
            }
            .foot-left {
                padding: 0;
                width: 100%;
                float: left;
            }
            #map {
                width: 100%;
                height: 180px;
                float: left;
                margin: 0 10px 30px 10px;
            }
            .icon {
                line-height: 1.5em;
                font-size: 0.8em;
            }
            .text {
                line-height: 1.5em;
                font-size: 1.5em;
            }
            .item {
                width: calc(100% - 15px);
                margin: 0;
                margin-bottom: 10px;
                padding: 0;
                /* 1列にするために幅を100%に */
            }
            .footinfo {
                font-size: 0.6em;
            }
        }