@charset "UTF-8";

/*
FONT CHART 13PX BASED STYLE
10px  77%    :[line-height]12px=1.2 14px=1.401 16px=1.6
11px  84.6%  
12px 	92.4%  :[line-height]14px=1.167 16px=1.355 18px=1.5 20px=1.666
13px 	100%   :[line-height]16px=1.23  18px=1.384 20px=1.538
14px 	107.8% :[line-height]16px=1.143 18px=1.286 20px=1.429
16px 	123.1% :[line-height]18px=1.124 20px=1.244 22px=1.374
18px 	138.5% :[line-height]20px=1.112 22px=1.224 24px=1.334
*/

/* BASE FONT SIZE
-----------------------*/
* html body {
font-size:small;
font-family: "ＭＳ Ｐゴシック", sans-serif;
} /* for lte ie6 */
*:first-child+html body {
font-size:small;
font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
} /* for ie7 */
html>/**/body {
font-size:small;
font-family: "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
} /* for ie8 */
html:not(:target) body {
font-size: 13px;
font-family: Hiragino Kaku Gothic Pro, "ヒラギノ角ゴ Pro W3", Osaka, "ＭＳ Ｐゴシック", sans-serif;
} /* for modern browser not ie8 */

html body.body_contact #contents{
font-size: 18px;
}
/* HTML ELEMENTS
-----------------------*/

html {
    overflow-y: scroll;
}
body {
    color: #a08a63;
    line-height: 1.6;
}
strong,
em {
    font-weight: bold;
    font-style: normal;
}
a {
    zoom: 1;
    vertical-align: baseline;
    color: #a08a63;
    text-decoration: underline;
}
a:hover {
    text-decoration: none;
}
.opw {
    background: transparent url(../imgs/common/m_opw.gif) no-repeat scroll center right;
    padding: 2px 16px 3px 0px;
}
/* LAYOUT
-----------------------*/
#header{
    background-image: url(../imgs/common/bg.png);
	padding:0 0 40px
}
.logo_area_inner {
    width: 1091px;
    margin: 0 auto;
    text-align: center;
}
.logo_area_inner .logo {
    width: 1085px;
    margin: 0 auto;
    height: 300px;
    background-image: url(../imgs/common/chara.png);
    background-position: center top;
    background-repeat: no-repeat;
    zoom: 1;
}
.logo_area_inner .logo {
    position: relative;
}
.logo_area_inner .bubble {
    background-image: url(../imgs/common/bg_bubble.png);
    background-position: center top;
    background-repeat: no-repeat;
    width: 333px;
    height: 135px;
    position: absolute;
    right: 170px;
    top: 135px;
}
.logo_area_inner .bubble span {
    position: absolute;
    left: 15%;
    top: 25%;
    color: #feba17;
    font-weight: bold;
    font-size: 15px;
    width: 250px;
    display: block;
    text-align: left;
}
.lead_area {
    background-image: url(../imgs/common/bg_lead.gif);
    background-repeat: repeat;
    background-position: bottom center;
    min-width: 1091px;
    margin: 0 auto;
}
.lead_area_inner {
    text-align: center;
    width: 1091px;
    margin: 0 auto;
    position: relative;
    /*background-image:url(../imgs/common/bg_lead_model.gif);*/
    
    background-repeat: no-repeat;
    background-position: 60px 120px;
}
.news_area {
    background-image: url(../imgs/home/news/bg_news_inner.gif);
    min-width: 1091px;
    padding: 0 0 30px;
}
.news_area_wrapper {
    background-image: url(../imgs/home/news/bg_news.gif);
    background-repeat: repeat-x;
}
.news_area_inner {
    background-image: url(../imgs/home/news/bg_ft_news.gif);
    background-repeat: repeat-x;
    padding-top: 10px;
    padding-bottom: 20px;
    background-position: left bottom;
}
.news_area_body {
    width: 955px;
    margin: 0px auto;
    position: relative;
    padding: 30px 0 50px;
}
.news_area_body .t {
    position: absolute;
    top: -7px;
    left: 10px;
}
.news_area_body .table_news {
    margin-left: 180px;
}
.news_area_body .table_news th,
.news_area_body .table_news td {
    font-size: 92.4%;
    padding: 8px;
}
.news_area_body .table_news th {
    white-space: nowrap;
}
.news_area_body .link_media {
    position: absolute;
    top: 95px;
}
.news_area_cover {
    margin-top: 80px;
    margin-left: 180px;
    padding: 20px;
    background-color: #fff;
    position: relative;
}
.news_area_note {
    margin-top: 20px;
    margin-left: 180px;
    font-size: 84.6%;
}
.news_area_cover .tt {
    position: absolute;
    left: -170px;
    top: -50px;
}
.news_area_cover .list_cover li {
    list-style: outside disc;
    margin-left: 1.3em;
}
.concept_area {
    background-color: #fef9eb;
    min-width: 1091px;
}
.concept_area_inner {
    width: 950px;
    margin: 0px auto;
    padding: 55px 0 30px;
}
.concept_area .img {
    float: left;
    margin-right: 70px;
    position: relative;
    top: -70px;
}
.concept_area .blk_txt {
    overflow: hidden;
}
.concept_area .blk_txt .t,
.concept_area .blk_txt .txt {
    margin-bottom: 30px;
    color: #7e7e7e;
}
.concept_area .blk_txt .txt img {
    vertical-align: middle;
}
.title_area {
    background-image: url(../imgs/common/bg_header.gif);
    background-repeat: repeat;
    background-position: left bottom;
    min-height: 45px;
    text-align: center;
    padding: 10px 0 40px;
    min-width: 1091px;
    margin: auto;
}
.title_area .ttl {
    font-size: 154%;
    margin-bottom: 10px;
}
.contents_inner {
    width: 1091px;
    margin-left: auto;
    margin-right: auto;
    padding: 40px 0 60px;
}
.contents_inner_body {
    width: 960px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 20px;
}
.gnav {
    width: 1091px;
    margin: 0 auto;
    position: relative;
}
#footer {
    background-color: #ede6d9;
    min-width: 1091px;
}
.footer_inner {
    margin: 0 auto;
    width: 950px;
    padding: 20px;
    display: flex;
    justify-content: space-around;
    align-items: center;
}
.footer_inner .link {
    float: left;
    width: 200px;
}
.footer_inner .inquiry {
    overflow: hidden;
}
.footer_inner .inquiry dt {
    color: #ACD491;
}
iframe {
    width: 100%;
    height: 500px;
}
.arrow {
    background-image: url(../imgs/home/sponser/m_arrow.gif);
    background-repeat: no-repeat;
    background-position: right center;
    padding-right: 20px;
    color: #88c660;
}
.mobile {
    display: none;
}
.desktop {
    display: block;
}
.page_top {
    right: 10px;
    bottom: 10px;
    position: fixed;
    display: none;
}
.t_lv2 {
    color: #acd491;
    font-size: 154%;
    font-weight: bold;
    margin-bottom: 10px;
}
.t_lv3 {
    color: #c3b08e;
    font-size: 115%;
    font-weight: bold;
    margin-bottom: 10px;
}
section p {
    margin-bottom: 20px;
}
section p img {
    margin-right: 20px;
}
.announce{
	background-color: #fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px; 
	padding: 15px 15px 5px;
	position: relative;
	width: 40%;
	margin: auto;
	padding: 15px 10px;
	text-align: center;
}
.announce dt,
.announce dd strong{
	font-size: 16px;
	font-weight: bold;
	color: #c00;
}
.announce dt{
	font-size: 300%;
}

/* メニュー全体のレイアウト */
.menu-list {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* 通常の円形ボタン（緑の線＋グラデーション） */
.menu-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 80px;
  height: 80px;
  border-radius: 50%;
  border: 3px solid #a3d39c; /* 外枠の緑線 */
  background: linear-gradient(135deg, #ffffff 0%, #f4f9f2 100%); /* やわらかいグラデーション */
  color: #88b04b;           /* 文字色 */
  font-size: 13px;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
  transition: transform 0.2s ease;
}

/* ホバー時のちょっとした動き */
.menu-btn:hover {
  transform: translateY(-2px);
}

/* 「まずはご登録から」の大きめボタン（緑塗りつぶし） */
.menu-btn.main-btn {
  width: 110px;
  height: 110px;
  background: #a3d39c;     /* 背景を緑に */
  border: none;
  color: #ffffff;          /* 文字色を白に */
  font-size: 15px;
  line-height: 1.3;
  box-shadow: 0 4px 10px rgba(163, 211, 156, 0.4);
}

@media screen and (max-width: 768px) {
    img {
        max-width: 100%;
        height: auto;
    }

    .logo_area_inner .logo {
        text-align: center;
        height: auto;
        padding: 20px 0 10px;
    }

    #header,
    #footer {
        min-width: 100%;
    }

    /* ヘッダー全体と背景を確実に画面幅いっぱいに広げる */
    #header {
        width: 100% !important;
        min-width: 100% !important;
        background-image: url(../imgs/common/bg.png); /* 必要に応じて bg_lead.gif など */
        background-repeat: repeat-x;
        background-position: bottom center;
        background-size: cover;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
        padding-bottom: 40px;
        box-sizing: border-box;
    }

    .logo_area {
        background-image: none;
    }

    /* 各主要エリアを画面幅いっぱいに広げ、autoによる縮小を防止する */
    .lead_area,
    .lead_area_inner,
    .logo_area,
    .logo_area_inner,
    .gnav,
    .title_area,
    .contents_inner,
    .contents_inner_body,
    .news_area,
    .concept_area,
    .news_area_body {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* ナビゲーション（ボタン群）のレイアウト調整 */
    .gnav {
        text-align: center;
        padding: 0 10px;
    }

    .gnav ul.mobile_gnav {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 8px;
        padding: 0;
        margin: 0 auto;
        width: 100% !important;
    }

    .gnav ul.mobile_gnav li {
        position: static;
        width: auto;
        flex: 1 1 45%;
        max-width: 45%;
        margin: 5px 0;
        box-sizing: border-box;
    }

    .gnav ul.mobile_gnav li.gn_reserve {
        flex: 1 1 60%;
        max-width: 80%;
    }

    .gnav ul.mobile_gnav li a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
        box-sizing: border-box;
    }

    /* モバイル表示時のボタンサイズの調整 */
    .menu-btn {
        width: 60px;
        height: 60px;
        font-size: 11px;
    }
    
    .menu-btn.main-btn {
        width: 90px;
        height: 90px;
        font-size: 13px;
    }

    /* 吹き出しの調整 */
    .logo_area_inner .bubble {
        width: 80% !important;        /* 画面いっぱいに広がりすぎないよう少し余白を持たせる */
        max-width: 90% !important;
        min-width: 280px !important;
        margin: 80px auto 10px !important;    /* 左右中央に配置する */
        padding: 20px 0 0 50px;
        box-sizing: border-box !important;
        background-size: 100% 100% !important;
        position: static !important;  /* はみ出しの原因になる絶対配置などをリセット */
    }
    

    /* 吹き出し内部のテキストボックスも同様に収める */
    .logo_area_inner .bubble span {
        width: 100% !important;
        max-width: 100% !important;
        display: block !important;
        box-sizing: border-box !important;
        position: static !important;
        padding: 15px !important;
        font-size: 100% !important;     /* スマホで文字が大きすぎる場合はここで微調整 */
    }
    .logo_area_inner .logo {
        width: 100% !important;
        max-width: 100% !important;
        height: 250px !important; /* スマホ画面に合わせた高さを確保 */
        background-image: url(../imgs/common/chara.png) !important;
        background-position: center top !important;
        background-repeat: no-repeat !important;
        background-size: contain !important; /* 画面幅に合わせて綺麗に収める */
        margin: 0 auto !important;
        box-sizing: border-box !important;
    }

    /* ニュース・コンセプト・イントロ周りの細かい調整 */
    .news_area_body .t {
        top: -15px;
    }

    .concept_area .img {
        margin-right: 0;
        text-align: center;
        float: none;
    }

    .concept_area .blk_txt {
        margin: 10px;
    }

    .intro_area_inner {
        padding-bottom: 30px;
        margin: 10px;
    }

    .news_area_body .table_news {
        margin: 10px;
    }

    .news_area_body .table_news th,
    .news_area_body .table_news td {
        list-style: none;
        display: list-item;
        padding: 0;
        font-size: 100%;
    }

    .news_area_body .table_news tr>td:last-child {
        margin-bottom: 20px;
    }

    .news_area_body .table_news td {
        clear: left;
    }

    .news_area_body .table_news th+td {
        clear: none;
    }

    .news_area_body .table_news th {
        white-space: normal;
        font-weight: bold;
        margin-bottom: 5px;
        float: left;
        margin-right: 10px;
    }

    /* フッターとアナウンスボックス */
    .footer_inner {
        padding: 20px 10px;
        flex-direction: column;
        width: 100% !important;
        box-sizing: border-box;
    }

    .footer_inner .link {
        float: none;
        width: auto;
    }

    .footer_inner .inquiry {
        overflow: visible;
    }

    .announce {
        width: 90%;
        box-sizing: border-box;
    }
}