@charset "UTF-8";
/* CSS Document */
/*==========================================
 reset
===========================================*/
html{
    color: #000;
    background: #fff;
}

body,div,ul,ol,li,dl,dt,dd,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{
    margin: 0;
    padding: 0;
}

fieldset,img{
    border: 0;
}

table{
    border-collapse: collapse;
    border-spacing: 0;
}

ol,ul{
    list-style: none;
}

/*==========================================
 body
===========================================*/
body {
  width: 100%;
  background-color:#FFF;
  font-family:'Helvetica Neue', Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
  color:#4A4A4A;
  font-size:14px;
    
    margin: 0;
}

a {
  color:#4A4A4A;
  text-decoration:none;
}

a:hover {
  color:#555;
  text-decoration:underline;
}

#wrap {
    /*width: 90%;*/
    max-width: 1100px;
	/*width:1100px;*/
	margin:0 auto;
    
    overflow-x: clip;
}

@media (max-width: 1024px) {
    #wrap{
        width: 100%;
    }
    
}

/* clearfix */
.clearfix:after {
	content: ".";  /* 新しい要素を作る */
	display: block;  /* ブロックレベル要素に */
	clear: both;
	height: 0;
	visibility: hidden;
}

.clearfix {
	min-height: 1px;
}

* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}





/*==========================================
 スマホメニュー
===========================================*/
@media (max-width: 1024px) {
    
    #header {
        
        margin-bottom: 40px;
    }
    
    .logo{
        width: 90%;
        margin-inline:auto;
        margin-top: 15px;
    }
    
    .logo span{
        font-size: 10px;
    }
    
    .logo a img{
        max-width: 344px;
        width: 80%;
    }
    
    .header_info{
        display: none;
    }
    
    

    /* ハンバーガーボタン */
    #menuBtn {
        position: fixed;
        top: 15px;
        right: 5%;
        z-index: 10001;
        width: 50px;
        height: 50px;
        padding: 12px;
        border: 0;
        background: #099b42;
        cursor: pointer;
    }

    #menuBtn span {
        display: block;
        width: 100%;
        height: 2px;
        margin: 5px 0;
        background: #fff;
    }


    /* ナビ全体 */
    #nav {
        position: fixed;
        z-index: 10000;
        inset: 0;

        width: 100%;
        height: 100vh;

        overflow-y: auto;

        background: rgba(255, 255, 255, .97);

        opacity: 0;
        visibility: hidden;
        pointer-events: none;

        transition:
            opacity .4s ease,
            visibility .4s ease;
    }


    /* メニュー表示 */
    #nav.is-open {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }


    /* メニュー本体 */
    #flip2 {
        display: block;
        width: 100%;
        margin: 0;
        padding: 80px 0px 40px;
        list-style: none;
        box-sizing: border-box;
    }


    #flip2 > li {
        float: none;
        width: 100%;
        margin: 0;
        text-align: left;
    }


    #flip2 > li > a {
        display: block;
        padding: 18px 15px;
        background: #dbf4bd;
        border-bottom: 1px solid #A6D371;
        color: #4A4A4A;
        font-size: 17px;
        text-decoration: none;
        box-sizing: border-box;
    }


    /* HOME */
    #flip2 .home a {
        background: #099b42;
        color: #fff;
    }


    /*==========================================
     子メニュー
    ===========================================*/

    #flip2 > li > ul {
        position: static;

        display: block;

        width: 100%;
        margin: 0;
        padding: 0;

        visibility: visible;

        list-style: none;
    }


    #flip2 > li > ul > li {
        display: block;

        width: 100%;
        height: auto;

        overflow: visible;

        transform: none;
        transition: none;
    }


    #flip2 > li > ul > li > a {
        display: block;

        width: 100%;
        padding: 13px 20px;

        background: #f3f9ec;
        border-bottom: 1px solid #A6D371;

        color: #4A4A4A;
        font-size: 14px;

        text-align: left;
        
        box-sizing: border-box;
    }


    /*==========================================
     PC用アニメーションを解除
    ===========================================*/

    #flip2 li:hover > a,
    #flip2 li a:hover {
        background: inherit;
        color: inherit;
    }

    #flip2 .home a:hover {
        background: #099b42;
        color: #fff;
    }

    #flip2 ul li,
    #flip2 li:hover li,
    #flip2 ul li:nth-child(2),
    #flip2 ul li:nth-child(3),
    #flip2 ul li:nth-child(4),
    #flip2 ul li:nth-child(5) {
        transform: none;
        transform-origin: initial;
        transition: none;
    }

    #flip2 li:hover ul li {
        height: auto;
        overflow: visible;
    }


}

@media (min-width:1025px){
/*==========================================
 ヘッダーのスタイル
===========================================*/
#header {
    margin-bottom: 30px;
}
#headerArea {
	height:50px;
}
.logo {
	float:left;
	width:600px;
	font-size:30px;
}
.logo span {
	font-size:12px;
/*	color:#90c84d;
*/}
.header_info {
	float:right;
	width:300px;
	margin-top:10px;
	text-align:right;
}
.header_info span {
	font-size:12px;
	display:block;
	margin:5px;
}
.header_info span a {
	color:#90c84d;
}

    

    

/*==========================================
 グローバルナビゲーションのスタイル
===========================================*/
#flip2 .home a {
	background:#099b42; /*ここだけ違う*/
	color:#fff;
}


    
.dropmenu{
  *zoom: 1;
  list-style-type: none;
  max-width: 1100px;
    width: 100%;
  margin: 30px auto 15px;
  padding: 0;
    
 
    display: flex;
}
    
.dropmenu:before, .dropmenu:after{
  content: "";
  display: table;
}
.dropmenu:after{
  clear: both;
}
.dropmenu li{
  position: relative;
  width: auto;
  /*float: left;*/
  margin: 0;
  padding: 0;
  text-align: center;
    
    width: 25%;
}
.dropmenu li a{
  display: block;
  margin: 0;
  /*padding: 15px 4.30em 11px 4.44em;*/
    padding-block:15px 11px;
  background:#dbf4bd; /*#90c84d;ナビの背景*/
  color:#4A4A4A;
  font-size: 17px;
  line-height: 1;
  text-decoration: none;
}

.dropmenu li ul{
  list-style: none;
  position: absolute;
  z-index: 9999;
  top: 100%;
  left: 0;
  margin: 0;
  padding: 0;
}
.dropmenu li ul li{
  width: 100%;
}
.dropmenu li ul li a{
  padding: 13px 15px;
  border-top: 1px solid #A6D371;
  background:#dbf4bd; /*#90c84d;ナビの背景*/
  text-align:left;
  width:250px;
  font-size:14px;
}

.dropmenu li:hover > a{
	color:#ffffff;
  background: #099b42;　/*マウスオン*/
}
.dropmenu li a:hover{
  background: #099b42;　/*マウスオン*/
}

.dropmenu li ul li{
  overflow: hidden;
  height: 0;
  transition: .2s;
}
.dropmenu li:hover ul li{
  overflow: visible;
  height: 38px;
}

#flip2 li ul {
  visibility: hidden;
  perspective: 400px;
}
#flip2 li:hover ul{
  visibility: visible;
}
#flip2 ul li{
  transform: rotateY(90deg);
  transform-origin: 50% 0;
  transition: .3s;
}
#flip2 li:hover li{
  transform: rotateY(0);
}
#flip2 ul li:nth-child(2) {
  transition-delay: .1s;
}
#flip2 ul li:nth-child(3) {
  transition-delay: .2s;
}
#flip2 ul li:nth-child(4) {
  transition-delay: .3s;
}
#flip2 ul li:nth-child(5) {
  transition-delay: .4s;
}
    
    
    
    #menuBtn{
        display: none;
    }
    
}





/*==========================================
ヘッダー画像
===========================================*/
#header_img{
    margin-bottom: 30px;
}


.slide .item img{ 
    width: 100%;
}


/*==========================================
 コンテンツエリア TOP
===========================================*/
#contents {
    
	margin-bottom:30px;
}


@media (max-width: 1024px) {
    #contents{
        width: 90%;
        margin-inline:auto;
    }
    
    
}

/*-------トップページのギャラリー----------------------*/

.pickupGallery_wrap{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    
	gap:25px;
}

.gallery_img{
    position: relative;
}



.gallery_img p{
	position: absolute;
	left: 0;
	top:20px;
	color: #fff;
	margin: 0;
    padding: 0.5vw 0 0.5vw 3%;
	width: 60%;
	background: #099b42 ;
	filter: Alpha(opacity=70);
}

.gallery_img a {
	text-decoration: none;
}

.gallery_img a:hover p{
	text-decoration: underline;
}


@media (max-width: 1024px) {
    .pickupGallery_wrap{
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gallery_img p{
        top:2vw;
        padding:  1vw 0 1vw 3%;
    }
    
}

@media (max-width: 540px) {
    .pickupGallery_wrap{
        grid-template-columns: repeat(1, 1fr);
    }
    
    .gallery_img p{
        top:4vw;
    }
}


/*.pickupGallery {
	width:350px;
	float:left;
}
.gallery_img {
	width: 350px;
	position: relative;
}

.gallery_img p{
	position: absolute;
	left: 0;
	top:20px;
	color: #fff;
	margin: 0;
	padding: 10px 0 10px 3%;
	width: 60%;
	background: #099b42 ;
	filter: Alpha(opacity=70);
}
.gallery_img a {
	text-decoration: none;
}
.gallery_img a:hover p{
	text-decoration: underline;
}

.center_box {
	margin:0 25px;
}


@media (max-width: 1024px) {
    .center_box{
        margin: 0;
    }

}

*/

/*==========================================
 フッターのスタイル
===========================================*/
#footer{
    background:#099b42 url(../img/footer_bg.jpg) no-repeat;
    background-position: top center;
    color:#FFFFFF;
    width: 100%;
}


#footer_in{
    padding-top: 125px;
    margin:0 10px;
    display: flex;
    align-items: center;
}


.footer_hidari{
    width: 100%;
}


.footer_list{
    width:530px;
    border-bottom:#047C35 solid 1px;
    box-shadow: 0px 1px 0px #06A948;
}

ul.footer_list li{
    display:inline-block;    
    font-size:13px;    
    background:url(../img/footer_list.gif) no-repeat left center;  
    padding:5px 10px 5px 15px; 
    box-sizing: border-box;
}

ul.footer_list li a {
	display:block;
	color:#FFFFFF;
	text-decoration:none;
}

.footer_hidari p {
    padding-block:10px;
	font-size:11px;
}

.footer_migi{
    margin-left: auto;
}



@media (max-width: 1024px) {
    #footer_in{
        flex-wrap: wrap; 
        width: 90%;
        margin-inline:auto;
        padding-top: 141px;
    }
    
    .footer_list{
        width: 100%;
    }
    
    ul.footer_list{
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        max-width: default;
    }
    
    .footer_hidari p,
    .footer_migi{
        text-align: right;
    }
    
    .footer_migi img{
        width: 80%;
        margin-left: auto;
    }
}


@media (max-width: 540px) {
    ul.footer_list{ 
        grid-template-columns: repeat(2, 1fr);
    }
}



/*==========================================
共通バナー
===========================================*/
.conact_bar {
	background:url(../img/contact.jpg) no-repeat;
	border:#C2C2C2 solid 1px;
	height:188px;
}

/*==========================================
カスタム検索
===========================================*/

#gsc{
    width:100%;
     
    margin:0 auto;
    position:relative;
     
}
 
#gsc td {
    border: none;    
}
 
#gsearch .gsc-control-cse, 
#gsearch .gsc-control-cse-ja,
#gsearch .gsib_a{
    margin:0 !important;
    padding:0 !important;
}
/* テキスト入力フォームとボタンの位置 */
#gsc table.gsc-search-box td,
#gsc table.gsc-search-box input {
    vertical-align: top !important;
}
/* テキスト入力フォーム */
#gsearch input[type="text"]{
    height:25px !important;
    margin-top: 100px;
}
 
 
#gsc input[type="text"]:focus {
    border: 2px solid #b2e0eb !important;
    outline: 0;  /*safariの自動フォーカスを切る */
}
 
/* テキスト入力フォームの影を消す */
#gsc #gsc-iw-id1{
    border:none !important;
}
/* テキスト入力フォームの背景画像位置調整 */
#gsc #gs_tti0 input{
    background-position:5px 5px !important;
}
/* ボタンの色 */
#gsc input.gsc-search-button {
background: #d2d2d2 !important;
background: -ms-linear-gradient(top,  #008ee1 0%,#008ee1 100%); /* IE10+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#008ee1', endColorstr='#008ee1',GradientType=0 ); /* IE6-9 */
border: 1px solid #d2d2d2 !important;
}
/* ボタンの位置調整と角丸消し */
#gsc .gsc-search-button{
    margin:0 0 0 -16px !important;
    border-radius:0px;
}
/* 入力時に出る「×」ボタンの位置調整 */
.gsib_b{
    height: 25px!important;
    width: 25px!important;
}
/* 入力時に出る×ボタン -- Firefox位置調整 -- */
#gsc .gsib_b span{
        box-sizing: border-box;
   -moz-box-sizing: border-box;
        padding:2px 0 0 0;
}
