@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
}

*, *:before, *:after {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}

a:hover img {
opacity: 0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha(opacity=70)";
}
.clearfix:after{
content:"";
display:block;
clear:both;
}


/*トップページの背景の幅を100％にする*/

.home #content .wrap {
    width: 100%;}
.home #content .wrap .main {
 padding: 0;}


/* ================================================
   PCヘッダー レイアウト調整
================================================ */
#content {
max-width:1000px;
margin:0 auto;
}
.wrap {	width: 100%;
}
/* トップページのみサイト幅の制限を解除 */
.home .wrap {
    max-width: none;
	width: 100%;
}
.home #content  {
    max-width: none;
	width: 100%;
}
.header .wrap {
    max-width: none;
}
.header {
    position: absolute;
    top: 0;
}
/* ヘッダーコンテナ */
#header-container {
  position: relative;
}

/* ヘッダーの内側ラッパー - 最大幅1000px、中央配置 */
#header-container-in {
  max-width: 1000px;
  margin: 0 auto;
}

/* タグライン - 左寄せ */
.tagline {
  font-size: 13px;
  color: #333;
  padding: 8px 0;
  background: #fff;
  text-align: left;
}

/* ヘッダー内部 */
#header-in {
  display: flex;
    align-items: baseline !important;
    justify-content: flex-start !important;
    padding: 15px 0;
    min-height: 80px;
}

/* ロゴ */
.logo-header {
  flex-shrink: 0;
}
.logo-menu-button {
		text-align:left;
		width:50%;
	}
.logo-header img {
  max-height: 70px;
  width: auto;
}
.logo-image span, .logo-image a {
    display: inline-block;
    max-width: 100%;
    padding: 0;
}
/* Cocoonのセンターロゴ設定を上書き */
.hlt-center-logo-top-menu #header-in {
  justify-content: flex-start;
}

.hlt-center-logo-top-menu .logo-header {
  text-align: left;
}

/* ================================================
   header-right-area（box-center・box-rightの親）
================================================ */
@media screen and (min-width: 835px) {
  
  /* #header-containerを基準に絶対配置 */
  .header-right-area {
        position: absolute;
        top: 80px;
        right: 50%;
    transform: translateX(50%);
    width: 100%;
    max-width: 1000px;
    display: flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 15px;
    z-index: 100;
    box-sizing: border-box;
    padding-right: 0;
  }
  
  /* box-center: 電話番号・休館日・カレンダーアイコン */
  .box-center {
    display: flex;
    align-items: center;
    gap: 10px;
  }
  
  /* box-right: お問い合わせ・サイトマップ */
  .box-right {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 3px;
	  line-height: 1;
  }
  
  /* 電話番号画像 */
  .box-center img[alt*="電話番号"] {
    height: 65px;
    width: auto;
  }
  
  /* アイコン（休館日・カレンダー） */
  .box-center img[alt*="休館日"],
  .box-center img[alt*="イベントカレンダー"] {
    width: 65px;
    height: 65px;
    object-fit: contain;
  }
  
  /* お問い合わせボタン */
  .box-right img[alt*="お問合せ"] {
    width: 200px;
    height: auto;
  }
  
  /* サイトマップリンク */
  .box-right a[href*="site-map"] {
    font-size: 11px;
    color: #666;
    text-decoration: none;
	  text-align: center;
        width: 200px;
  }
  
  .box-right a[href*="site-map"]:hover {
    text-decoration: underline;
    color: #4a9c2d;
  }
  
  /* PC非表示要素 */
  .pc-none {
    display: none !important;
  }
}

/* ================================================
   フッタ
================================================ */
#footer aside {
margin-bottom:0;
}
.footer-widgets, .footer-widgets-mobile {

    max-width: 1000px;
}
/* フッターウィジェットをフレックスボックスで横並び */
.footer-widgets {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
	margin-bottom:0;
}

/* フッター左（テキスト情報）の幅 */
.footer-left {
  width: 45%;
  float: none;
}

/* フッター中央を非表示 */
.footer-center {
  display: none;
}

/* フッター右（地図）の幅 */
.footer-right {
  width: 45%;
  float: none;
}

/* 地図の高さ調整 */
.footer-right iframe {
  height: 180px;
}

/* テキストが改行されないよう調整 */
.footer-info p {
  white-space: normal;
  line-height: 1.8;
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
.footer-widgets {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
	.footer-left,
  .footer-right {
    width: 100%;
  }
  
  .footer-right {
   
  }
}

.menu-footer li {
    width: auto;
    list-style: none;
}
/* ================================================
   スマホ表示（1023px以下）
================================================ */
@media screen and (max-width: 1023px){
  .header-right-area {
    display: none;
  }
  
  .sp-none {
    display: none !important;
  }
}



/* ================================================
   PCナビゲーション デザイン
================================================ */
@media screen and (min-width: 835px) {
  
  /* ナビゲーション全体 */
  #navi {
	  margin-top: 180px;

    background: #fff;
  }
  
  #navi-in.wrap {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0;
  }
  
  /* メニューリスト */
  .menu-header {
    display: flex;
    justify-content: center;
    align-items: stretch;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  
  /* 各メニューアイテム */
  .menu-header > .menu-item {
    flex: 1;
    border-right: 1px solid #ddd;
    margin: 0;
    padding: 0;
  }
  
  .menu-header > .menu-item:last-child {
    border-right: none;
  }
  
  /* メニューリンク */
  .menu-header > .menu-item > a {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px 10px;
    text-decoration: none;
    height: 100%;
    box-sizing: border-box;
    transition: background-color 0.3s;
  }
  
 .menu-header > .menu-item > a:hover {
    background-color: transparent !important;
  }
  
  /* テキストラベルを非表示 */
  .menu-header .caption-wrap,
  .menu-header .item-label {
    display: none;
  }
  
  /* 背景画像でメニュー画像を表示 */
  .menu-header > .menu-item > a {
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    min-height: 50px;
    min-width: 120px;
  }
  
  /* 各メニューの画像 */
  #menu-item-38 > a {
    background-image: url('images/menu01.jpg');
  }
  #menu-item-39 > a {
    background-image: url('images/menu02.jpg');
  }
  #menu-item-40 > a {
    background-image: url('images/menu03.jpg');
  }
  #menu-item-41 > a {
    background-image: url('images/menu04.jpg');
  }
  #menu-item-42 > a {
    background-image: url('images/menu05.jpg');
  }
  #menu-item-43 > a {
    background-image: url('images/menu06.jpg');
  }
#menu-item-38 > a:hover,
	#menu-item-39 > a:hover,
	#menu-item-40 > a:hover,
	#menu-item-41 > a:hover,
	#menu-item-42 > a:hover,
	#menu-item-43 > a:hover {
background-color:#FFF;
		opacity: 0.7;
	}
	
}

/*トップスライド*/
div#n2-ss-2 {
    max-width: 1000px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* ================================================
 ヘッダーモバイルボタン
================================================ */

/*1023px以下*/
@media screen and (max-width: 1023px){
/*スライドインメニューを右から*/
.navi-menu-content{
	left: auto;
	right: 0;
	background-color: #FFF;
	transform: translateX(101%);
}
.wrap {
    width: 100%;
}	
#header-container {
		display:none;
	}
#menu-header-mobile .mobile-menu-buttons .menu-button {
	justify-content: flex-start;	
	}
.logo-menu-button {
		text-align:left;
		width:50%;
	}
.has-logo-button .logo-menu-button {
    flex-grow: 0;
	    width: 100% !important;
}
.logo-menu-button img {
    max-height: 44px;
    display: block;
    margin: 1%;
}

}
	
/* ================================================
   タイトル文字 画像
================================================ */
.entry-title, .archive-title {
	margin:16px 0 25px;
}
.article h2, .article h3, .article h4, .article h5, .article h6 {
    margin-bottom: 1em;
}

h1.entry-title {
    text-align: left;
    color: #805e23;
    border-bottom: 2px solid #1fa13f;
    padding-bottom: 10px;
}
.article h2 {
    font-size: 22px;
    padding: 25px;
    background-color: #cdecdb;
}
.article h3 {
    border-left: 7px solid #1fa13f;
    border-bottom: 2px dotted #1fa13f;
	  border-top: 0;
	  border-right: 0;
    font-size: 22px;
    padding: 8px 10px;
	clear:both;
}
.article h4 {
	clear:both;
    border-top: none;
    border-bottom: 2px solid #f07a1f;
    padding: 8px 1px;
}
.article h5 {
	clear:both;
    color: #805e23;
    border-bottom: 1px solid #805e23;
    padding-bottom: 6px;
}

/* ================================================
 テーブル
================================================ */
.info-list {
        margin-top: 50px;
    }
.article ul li,
ul li {
 list-style: inside disc;	
}
 .article ol li{ list-style:auto inside;	}
.listDecimal li {
        margin: 0 0 5px 25px;
       list-style: inside decimal;
    }
.tablepress td img {
    width: 100% !important;
	max-width: 100% !important;
    height: auto!important;
}



.table01 {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #1fa13f;
}

.table01 {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #1fa13f;
}

.table01 th,
.table01 td {
    border: 1px solid #1fa13f;
    padding: 10px;
}

.table01 th {
    background-color: #1fa13f;
    color: #ffffff;
    border: 1px solid #ffffff;
}

.table01 th a {
    color: #ffffff;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
    .table01,
    .table01 thead,
    .table01 tbody,
    .table01 tr,
    .table01 th,
    .table01 td {
        display: block;
        width: 100%;
    }

    .table01 thead {
        display: none;
    }

    .table01 tr {
        margin-bottom: 15px;
        border: 1px solid #1fa13f;
    }

    .table01 td {
        padding: 10px;
        padding-left: 40%;
        position: relative;
        border: none;
        border-bottom: 1px solid #1fa13f;
    }

    .table01 td:last-child {
        border-bottom: none;
    }

    .table01 td::before {
        content: attr(data-label);
        position: absolute;
        left: 10px;
        width: 35%;
        font-weight: bold;
        color: #1fa13f;
    }

    .table01 tbody th {
        background-color: #1fa13f;
        color: #ffffff;
        border: none;
    }

    .table01 tbody th a {
        color: #ffffff;
    }
}
@media screen and (max-width: 834px){
    .article ul, .article ol {
        padding-left: 0;
    }
 }

/* ================================================
   map
================================================ */
.gmap {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.gmap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*==============================================================================
 園を散策する
==============================================================================*/
dl.list01{}
dl.list01{
	display:inline-block;
	vertical-align: top;
	margin-right:22px;
	list-style:none;
	margin-bottom:10px;
	width:213px;
}
dl.list01 dt{ width:100%; text-align:center; } 

dl.list01 dt img{ 
	padding:3px;
	border:1px solid #ccc;
}
dl.list01 dd{ line-height:1.5;margin-left: 0; }
dl.list01 dd span{ font-weight:bold; }
@media screen and (max-width: 800px) {
dl.list01{	width:100%;}
#contents dl.list01{
	display:inline-block;
	vertical-align: top;
	margin-right:22px;
	list-style:none;
	margin-bottom:10px;
	width:100%;
}
dl.list01 dt{ width:100%; text-align:center; } 

dl.list01 dt img{ 
	padding:3px;
	border:1px solid #ccc;
}
dl.list01 dd{ line-height:1.5; }
dl.list01 dd span{ font-weight:bold; }
.map img{ width:100%; }
	
}	
	
	
/*==============================================================================
 * 学ぶ・体験する
==============================================================================*/
.experience_menu{ clear:both; margin-top:20px; }
.experience_menu li{ float:left; width:490px; margin-right:5px; margin-bottom:17px; list-style:none;}
@media screen and (max-width: 800px) {.experience_menu{ clear:both; margin-top:30px; }
.experience_menu li{ margin-bottom:10px; list-style:none;}}


/* ================================================
   トップページ 記事3件
================================================ */
.home .widget_xyz_insert_php_widget {
	margin-bottom:0;
}

.news-section,
.event-section {
    width: 100%;
    padding: 60px 20px;
    box-sizing: border-box;
	margin-bottom:0;
}
.news-section {
    background-color: #faf8f5;
}
.event-section {
    background-color: #f5faf5;
}
.section-inner {
    max-width: 1000px;
    margin: 0 auto;
}
.section-header {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 40px;
    position: relative;
    flex-wrap: wrap;
    gap: 20px;
}
.section-title-img {
    max-width: 400px;
    height: auto;
}
.btn-list {
    position: absolute;
    right: 0;
}
.btn-list img {
    max-width: 160px;
    height: auto;
    transition: opacity 0.3s;
}
.btn-list:hover img {
    opacity: 0.8;
}

/* カード3列レイアウト */
.post-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.post-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    transition: transform 0.3s, box-shadow 0.3s;
}
.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0,0,0,0.12);
}
.post-card a {
    text-decoration: none;
    color: inherit;
    display: block;
}
.post-thumb img {
    width: 100%;
    height: 200px;
    object-fit: cover;
    display: block;
}
.post-content {
    padding: 20px;
}
.post-label {
    display: inline-block;
    padding: 5px 15px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    margin-bottom: 10px;
}
.news-label {
    background-color: #e8a04a;
}
.event-label {
    background-color: #7cb342;
}
.post-content h3 {
    font-size: 16px;
    line-height: 1.5;
    margin: 0 0 10px;
    color: #333;
}
.post-content p {
    font-size: 14px;
    color: #666;
    line-height: 1.6;
    margin: 0;
}

/* タブレット対応 */
@media screen and (max-width: 1024px) {
    .post-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px;
    }
    .section-header {
        padding: 0 20px;
    }
}

/* スマホ対応 */
@media screen and (max-width: 768px) {
    .news-section,
    .event-section {
        padding: 40px 15px;
    }
    .post-list {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .section-header {
        flex-direction: column;
        gap: 15px;
        margin-bottom: 30px;
    }
    .btn-list {
        position: static;
    }
    .section-title-img {
        max-width: 300px;
    }
    .post-thumb img {
        height: 180px;
    }
    .post-content {
        padding: 15px;
    }
    .post-content h3 {
        font-size: 15px;
    }
}


/* 	トップページ */
.home h2,
.home h3 {
	background:none;
	border:0;
	padding:0;
	margin:0;
}


/*980px以上*/
@media screen and (min-width: 980px){
.pc-none {
        display: none !important;
    }
.site-width {
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 20px;
	
}
.section03 {
        text-align: center;
        padding: 40px 0px;
		width: 1000px;
	margin:0 auto;
    }
.section04,
.section05 {
        text-align: center;
        padding: 40px 0px;
		width: 1000px;
	margin:0 auto;
    }
.section06 .box-table{
        display: flex;
    }	
	
.section06 .section-boxleft {
        padding: 40px 0px;
    }
.section06 img {
    max-width: 100%;
    height: auto;
    width: auto;
    vertical-align: middle;
}
.section06 .section-boxleft .box-right {
        vertical-align: top !important;
        text-align: right !important;
        padding-left: 27px !important;
    }

}
.section04 {
	position: relative;
	width: 100%;
	height: 500px;
	background-color: #faf8f6;
	background-image: url(images/image01.jpg);
	background-repeat: no-repeat;
	background-position: center;
}
.section04 h1 {
	text-align: center;
	padding-top: 30px;
}
.section04 .comment {
	width: 540px;
	font-size: 110%;
	text-align: center;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}
.section04 .btn {
	width: 320px;
	margin-top: 40px;
	margin-left: auto;
	margin-right: auto;
}


.section05 {
	text-align: center;
	padding: 40px 0px;
}
.section05 .item {
	margin: 20px 0px;
}


.section06 h1 {
	position: relative;
	width: 100%;
	height: 135px;
	text-indent: -99999px;
	background-image: url(images/title-line.jpg);
	background-repeat: repeat-x;
	overflow: hidden;
	display: block;
}
.section06 h1 span {
	width: 100%;
	height: 140px;
	text-indent: -99999px;
	background-image: url(images/title04.jpg);
	background-repeat: no-repeat;
	background-position: top center;
	display: block;
}
.section06 .box-table {

}
.section06 .section-boxleft {
	padding: 40px 0px;
}
.section06 .section-boxright {
	padding: 40px 0px;
	background-color: #faf8f6;
}
.section06 .section-boxleft .box-left {
	width: 560px;
	vertical-align: top;
}
.section06 .section-boxleft .box-right {
	vertical-align: top;
	text-align: right;
	padding-left: 27px;
}
.section06 .section-boxright .box-right {
	width: 560px;
	vertical-align: top;
}
.section06 .section-boxright .box-left {
	vertical-align: top;
	padding-right: 27px;
}
.section06 .comment {
	margin-top: 10px;
	line-height: 1.8;
}
/*1000px以下*/
@media screen and (max-width: 1000px){
.section03 {	position: relative;
	width: 100%;
		padding:30px 2%;
	height: auto;
	text-align:center;
	margin-bottom:0 !important;
}
.section04 {
	position: relative;
	width: 100%;
	padding:30px 2%;
	height: auto;
	background-color: #faf8f6;
	background-image: url(images/image01.jpg);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
	margin-bottom:0 !important;
}
.section04 h1 {
	text-align: center;
	padding-top: 30px;
}
.section04 h1 img {
	width: 100%;
}
.section04 .comment {
	width:auto;
	font-size: 110%;
	text-align: center;
	margin-top: 40px;
	margin-left: 20px;
	margin-right: 20px;
}
.section04 .btn {
	text-align: center;
	margin-top: 40px;
	margin-left: 20px;
	margin-right: 20px;
}
.section04 .btn img {
	width: 100%;
}

.section05 {
	text-align: center;
	padding: 40px 0px;
	margin-bottom:0 !important;
}
.section05 .item {
	margin: 20px 0px;
	padding:0 20px;
}

.section06 h1 {
	width: 100%;
	height: 135px;
	text-indent: -99999px;
	background-image: url(images/title-line.jpg);
	background-repeat: repeat-x;
	overflow: hidden;
	display: block;
}
.section06 h1 span {
	width: 100%;
	height: 140px;
	text-indent: -99999px;
	background-image: url(images/sp-title04.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	display: block;
}
.section06 .section-boxleft .box-right {
    vertical-align: top;
    text-align: right;
    padding: 0 2%;
}
.section06 .section-boxleft,
.section06 .section-boxleft .box-left,
.section06 .section-boxright,
.section06 .section-boxright .box-left,
.section06 .section-boxright .box-right
	{
    width: 100%;
    padding: 5% 2%;
}
.section06 .comment {
margin-top: 10px;
	line-height: 1.8;
}
.section06 {
	margin-bottom: 0px !important;
}
}
#smartslider3-2 {
	margin-top:50px;
}

/* ================================================
pdfemb-viewer
================================================ */

.pdfemb-viewer {
	margin: 30px auto 100px !important;}

/* ================================================
youtube
================================================ */
.video-container {
    max-width: 100%;
    margin: 30px 0 70px !important;
}
/* ================================================
フォーム
================================================ */
input[type=submit] {
  -webkit-appearance: none;
  background: linear-gradient(135deg, #43a047, #1b5e20);
  color: #fff;
  border: none;
  padding: 18px 80px;
  font-size: 18px;
  font-weight: bold;
  border-radius: 50px;
  cursor: pointer;
  box-shadow: 0 4px 6px rgba(0,0,0,0.25);
  transition: all 0.3s;
}

input[type=submit]:hover {
  background: linear-gradient(135deg, #4caf50, #2e7d32);
  box-shadow: 0 6px 12px rgba(0,0,0,0.3);
  transform: translateY(-2px);
}

input[type=submit]:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}


/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
.header  {
	display:none;
}
    .has-logo-button .logo-menu-button {
        flex-grow: 0;
        width: 100% !important;
        justify-content: left;
    }

}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}
