﻿@charset "UTF-8";
@font-face { 
font-family:'honoka'; 
src:url('../font/honoka.eot'); /* IE9以上用 */
src:url('../font/honoka.eot?#iefix') format('embedded-opentype'), /* IE8以前用 */
	url('../font/honoka.woff') format('woff'), /* モダンブラウザ用 */
	url('../font/honoka.ttf') format('truetype'); /* iOS, Android用 */
}
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@300;400;500;600;700&amp;display=swap");
@import url("https://fonts.googleapis.com/css2?family=Nothing+You+Could+Do&amp;display=swap");

*{ margin:0px; padding:0px; border:none; font-family:Noto Sans JP, Meiryo UI, arial, sans-serif; -webkit-text-size-adjust:100%; font-size:14px; box-sizing:border-box; }
html{ text-align:center; color:#000; }
body{ text-a:center; }

a{ outline:none; text-decoration:none; }
ul{ list-style:none; }
p.clear{ clear:both; }

a img{ -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
a img:hover{ opacity:0.7; filter:alpha(opacity=70); }

.waku { position:relative; max-width:1200px; margin:0px auto; z-index:0; }

/* トップ */
div.toptop{ max-width:1300px; margin:0px auto; overflow:hidden; background:center no-repeat; }
div.toptop .copy{ position:absolute; }

/* メニュー */
div.menubg{ position:fixed; top:0px; left:0px; width:100%; text-align:left; z-index:1500; background:#FFF; }
div.menubg img.ho{ float:left; }
div.menubg img.ho:hover{ opacity:0.7; filter:alpha(opacity=70); }
div.menubg div.sm{ float:right; font-size:9px; width:26px; font-size:9px; line-height:18px; cursor:pointer; color:#000; }
div.menubg div.sm p{ border-bottom:3px solid #000; }
div.menubg div.sm p.c2{ margin:5px 0px; }
div.menubg div.sm:hover p{ color:#555; }

div.menubg ul.menu{ position:relative; width:100%; }
div.menubg ul.menu li{ text-align:center; }
div.menubg ul.menu li img:hover{ opacity:0.7; filter:alpha(opacity=70); }
div.menubg ul.menu li a{ white-space:nowrap; display:block; }
div.menubg ul.menu li.non a{ color:#888; }
div.menubg ul.menu li.non:hover a{ color:#000; }
div.menubg ul.menu li.act a{ color:#F39800; }
div.menubg a.te1{ position:absolute; }
div.menubg a.te1 img{ width:100%; }
div.menubg p.te2{ position:absolute; }
div.menubg a.te3{ position:absolute; }
div.menubg a.te3 img{ width:100%; }
div.menubg a img:hover{ opacity:0.7; filter:alpha(opacity=70); }

div.menubg ul.menu li div.smenu{ position:absolute; left:0px; height:0px; padding:0px 15px; width:100%; background:url(../img/w50.png); overflow:hidden; -webkit-transition: 0.2s ease-in-out; -moz-transition: 0.2s ease-in-out; -o-transition: 0.2s ease-in-out; transition: 0.2s ease-in-out; }
div.menubg ul.menu li:hover div.smenu{ position:absolute; height:auto; padding:25px 15px 0px 15px; }
div.menubg ul.menu li div.smenu a{ position:relative; float:left; padding:0px; background:url(../img/w50.png); border:none; z-index:1; font-size:1em; margin-bottom:15px; }
div.menubg ul.menu li div.smenu a:hover{ box-shadow:0px 0px 7px #555; z-index:2; }
div.menubg ul.menu li div.smenu div.img{ float:left; background-size:cover; }
div.menubg ul.menu li div.smenu div.det{ overflow:hidden; text-align:left; }
div.menubg ul.menu li div.smenu div.det p{ }
div.menubg ul.menu li div.smenu div.det p a{ font-size:1em; }

/* ドロップダウンメニュー */
ul#dmenu{ position:fixed; padding-top:30px; left:50%; top:5%; width:0px; height:95%; overflow:auto; width:100%; z-index:1600; background:url(../img/w80.png); opacity:0.0; filter:alpha(opacity=000);  }
ul#dmenu img{ max-width:250px; width:80%; }
ul#dmenu img:hover{ opacity:0.7; filter:alpha(opacity=70); }
ul#dmenu img.ho{ margin-bottom:4%; }
ul#dmenu img.te{ margin:3% auto 4%; }
ul#dmenu li{ width:auto; text-align:left; padding:1% 5%; }
ul#dmenu li a{ white-space:nowrap; overflow:hidden; background:#FFF; font-size:14px; display:block; color:#F39800; border:1px solid #F39800; text-align:center; line-height:40px; }
ul#dmenu li a:hover{ text-shadow:0px 0px 5px #F39800; background-size:120% 100%; }
ul#dmenu li.co a{ display:block; line-height:40px; color:#FFF; box-shadow:0px 0px 2px #555; text-align:center; white-space:nowrap; overflow:hidden; background:#F39800; font-size:14px; }
ul#dmenu p.cl a{ background:transparent; font-size:24px; font-weight:bold; box-shadow:none; color:#F39800; }
ul#dmenu p.cl a:hover{ text-shadow:0px 0px 10px #F39800; }
ul#dmenu p.la{ margin-top:4%; white-space:nowrap; color:#000; }
ul#dmenu p.la a.act{ color:#1B85B0; }

/* 選ばれる理由 */
#reasons{ background-color:#f4f7f2; width:100%; margin:50px auto; padding:20px; border-radius:10px; }
.section-title{ display:flex; align-items:center; gap:5px; text-align:left; color:#87a871; margin-bottom: 60px; padding-bottom: 15px; border-bottom:1px solid #d1d9c9; }
.section-title img.icon{ height:1.2em; width:auto; }
#reasons .reason-grid{ display:flex; justify-content:space-between; gap:20px; }
#reasons .reason-card{ flex:1; background-color:#FFF; padding:40px 20px 30px; text-align:center; border-radius:8px; position:relative; box-shadow:0px 4px 10px rgba(0,0,0,0.1); }
#reasons .reason-icon { width: 80px; height: 80px; margin: -80px auto 20px; }
#reasons .reason-icon img { width: 100%; height: auto; object-fit: contain; }
#reasons .reason-card h3{ color:#87a871; margin-bottom:15px; }

/* ご利用料金 */
#pricing .fare-flex{ display:flex; align-items:flex-start; justify-content:space-between; gap:20px; }
/* 左側 */
#pricing .price-left{ flex: 0 0 300px; display:flex; flex-direction:column; padding:20px 40px; gap:20px; }
#pricing .section-title{ display:flex; align-items:center; justify-content:center; gap:5px; text-align:center; font-size:20px; color:#87a871; margin-bottom: 0px; }
#pricing .section-title img.icon{ height:1.2em; width:auto; }
#pricing .price-title{ color:#87a871; font-size:24px; border-bottom:2px solid #87a871; padding-bottom:10px; margin-bottom:20px; }
#pricing .price-box{ text-align:center; }
#pricing .price-label{ font-size:20px; margin-bottom:20px; background-color:#87a871; color:#fff; line-height:40px; border-radius:20px; }
#pricing .price-amount{ display:block; font-size:60px; font-weight:bold; color: #87a871; line-height:1; }
#pricing .price-amount span{ font-size:24px; margin-left:5px; }
#pricing .price-note{ text-align:right; font-size:14px; color: #666; }
/* 右側 */
#pricing .price-right{ background-color:#f4f7f2; flex:1; padding:20px; border-radius:10px; }
#pricing .catch-copy{ font-size:22px; color:#87a871; margin-bottom:20px; font-weight: bold; }
#pricing .catch-copy span{ font-size:20px; color:#444; }
#pricing .description{ margin:20px; color:#444; text-align:left; }
#pricing .btn-more{ display:inline-block; background-color:#fff; color:#444; text-decoration:none; border-radius:8px; box-shadow:0px 4px 10px rgba(0, 0, 0, 0.2); transition:0.3s; }
#pricing .btn-more:hover{ background-color:#87a871; color:#fff; opacity:1; }

/* お知らせ */
        .news-list {
            list-style: none;
            padding: 0;
        }

        .news-item {
            display: flex;
            padding: 15px 0;
            border-bottom: 1px solid #ddd;
        }

        .news-date {
            width: 120px;
            color: #666;
        }

        .news-tag {
            background: var(--primary-green);
            color: #fff;
            padding: 2px 10px;
            font-size: 12px;
            margin-right: 15px;
            border-radius: 3px;
        }

        /* 感染症対策 */
        .infection-control {
            background-color: var(--light-green);
            padding: 40px;
            border-radius: 10px;
        }

        .infection-grid {
            display: flex;
            justify-content: space-between;
            flex-wrap: wrap;
            gap: 10px;
            margin: 20px 0;
        }

        .infection-item {
            background: #fff;
            padding: 15px 10px;
            flex: 1;
            min-width: 150px;
            text-align: center;
            font-size: 14px;
            font-weight: bold;
            border-radius: 5px;
            box-shadow: 0 2px 4px rgba(0,0,0,0.05);
        }

        /* 事業所情報テーブル */
        .info-table {
            width: 100%;
            border-collapse: collapse;
            margin-top: 20px;
        }

        .info-table th, .info-table td {
            padding: 15px;
            border: 1px solid #ddd;
        }

        .info-table th {
            background-color: var(--light-green);
            width: 30%;
            text-align: left;
        }

        /* お問い合わせエリア */
        .contact-cta {
            background-color: var(--primary-green);
            color: #fff;
            text-align: center;
            padding: 50px 20px;
            border-radius: 10px;
            margin-top: 40px;
        }

        .tel-number {
            font-size: 40px;
            font-weight: bold;
            margin: 15px 0;
        }

        .contact-btn {
            display: inline-block;
            background: #fff;
            color: var(--primary-green);
            padding: 15px 40px;
            border-radius: 30px;
            text-decoration: none;
            font-weight: bold;
            margin-top: 20px;
        }