@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
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

.content {
	margin-top: 0px;
}
#content-in {
	padding-top: 120px;
}

.header-nav-wrapper {
	position: fixed;
	background-color: #fff;
	width: 100%;
	z-index: 999;
	height: 103px;
}
.header-nav-wrapper .logo {
	display: inline-block;
	width: 340px;
	padding-top: 10px;
	padding-right: 0;
	padding-left: 0;
	padding-bottom: 10px;
	text-align: center;
	margin-left: 1em;
}
.header-nav-wrapper .primary-nav-wrapper {
	float: right;
	-webkit-transition: all 300ms;
	transition: all 300ms
}
.header-nav-wrapper nav {
	display: inline-block;
	margin-right: 60px;
	padding: 34px 0 33px
}
.header-nav-wrapper nav ul {
	display: inline-block
}
.header-nav-wrapper nav ul li {
	font-size: 13px;
	display: inline-block;
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
	padding-bottom: 10px;
	letter-spacing: 1px;
	text-transform: uppercase;
	border-right: solid 1px #E5E7E9
}
.header-nav-wrapper nav ul li:last-child {
	border-right: none
}
.header-nav-wrapper nav ul li a {
	font-weight: 600;
	position: relative;
	padding-bottom: 10px;
	text-decoration: none;
	color: #414A52
}
.header-nav-wrapper nav ul li a:hover {
	color: #7AE2DE
}
.header-nav-wrapper nav ul li a:before {
	position: absolute;
	bottom: 0;
	left: 0;
	visibility: hidden;
	width: 100%;
	height: 2px;
	content: '';
	-webkit-transition: all .3s ease-in-out 0s;
	transition: all .3s ease-in-out 0s;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #7AE2DE
}
.header-nav-wrapper nav ul li a:hover:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	transform: scaleX(1)
}
.header-nav-wrapper .is-visible {
	visibility: visible;
	opacity: 1
}
/* ========== 親メニュー ========== */
.has-sub {
  position: relative;
}

.has-sub > a {
  display: inline-block;
  padding: 6px 12px;
  color: #ffffff;
  text-decoration: none;
}

/* ========== サブメニュー初期状態 ========== */
.sub-menu {
  display: block;               /* 最初に場所を確保 → 後で隠す */
  opacity: 0;                   /* 完全に見えなくする */
  visibility: hidden;           /* 視覚的に消す */
  pointer-events: none;         /* クリック不可（安全） */
  position: absolute;
  top: 100%;                    /* 親メニューの直下 */
  left: 0;

  background-color: #ffffff;
  padding: 10px 0;
  border-radius: 4px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  z-index: 9999;

  transition: opacity 0.2s ease, visibility 0.2s ease;
}
.sub-menu li {
  border-right: none!important;
}

/* ========== ホバーで表示 ========== */
.has-sub:hover .sub-menu {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

/* ========== サブメニュー内のリンク ========== */
.sub-menu li a {
  display: block;
  padding: 10px 16px;
  color: #ffffff;
  text-decoration: none;
  white-space: nowrap;
}

.sub-menu li a:hover {
  background-color: rgba(255,255,255,0.1);
}

.secondary-nav-wrapper {
	display: inline-block;
	padding: 40px 30px 22px 30px;
	background-color: #0C1130;
}
.secondary-nav-wrapper ul.secondary-nav li {
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe {
	position: relative;
	padding: 10px 20px 10px 0;
	border-right: solid 1px #505c66;
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe a {
	position: relative;
	padding-bottom: 10px;
	text-decoration: none;
	color: #FFFFFF;
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe a:before {
	position: absolute;
	bottom: 0;
	left: 0;
	visibility: hidden;
	width: 100%;
	height: 2px;
	content: '';
	-webkit-transition: all .3s ease-in-out 0s;
	transition: all .3s ease-in-out 0s;
	-webkit-transform: scaleX(0);
	transform: scaleX(0);
	background-color: #7AE2DE
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe a:hover:before {
	visibility: visible;
	-webkit-transform: scaleX(1);
	transform: scaleX(1)
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe:after {
	position: absolute;
	top: 0;
	right: 0;
	height: 34px;
	content: ' ';
	border-right: 1px solid #323940
}
.secondary-nav-wrapper ul.secondary-nav li.search {
	margin-left: 20px
}
.secondary-nav-wrapper ul.secondary-nav li.search a {
	font-size: 16px;
	color: #fff
}
.secondary-nav-wrapper ul.secondary-nav {
	padding-left: 0;
}
.secondary-nav-wrapper ul {
	display: inline-block
}
.secondary-nav-wrapper ul li {
	display: inline-block
}
.nav-toggle {
	position: absolute;
	z-index: 999999;
	top: 50%;
	left: 50%;
	padding-top: 10px;
	padding-right: 35px;
	padding-left: 0;
	padding-bottom: 10px;
	cursor: pointer;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.nav-toggle:focus {
	outline: none
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
	position: absolute;
	display: block;
	width: 35px;
	height: 3px;
	content: '';
	cursor: pointer;
	border-radius: 1px;
	background: #fff
}
.nav-toggle span:before {
	top: -10px
}
.nav-toggle span:after {
	bottom: -10px
}
.nav-toggle span, .nav-toggle span:before, .nav-toggle span:after {
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out
}
.nav-toggle.active span {
	background-color: transparent
}
.nav-toggle.active span:before, .nav-toggle.active span:after {
	top: 0
}
.nav-toggle.active span:before {
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg)
}
.nav-toggle.active span:after {
	top: 10px;
	-webkit-transform: translatey(-10px) rotate(-45deg);
	transform: translatey(-10px) rotate(-45deg)
}
.navicon {
	position: absolute;
	top: 0;
	right: 0;
	visibility: hidden;
	width: 25px;
	height: 25px;
	padding: 52px;
	-webkit-transition: all 300ms ease-in-out;
	transition: all 300ms ease-in-out;
	background-color: #252973
}
.footer-bg {
	background-color: #0C1130;
	padding-top: 100px;
}
.footer-container {
	padding-right: 10%;
	padding-left: 10%;
	margin-right: auto;
	margin-left: auto;
	color: white;
}
footer .footer-branding {
	margin-bottom: 40px
}
footer .footer-branding .footer-branding-logo {
	margin-bottom: 10px
}
.row {
	margin-right: -15px;
	margin-left: -15px
}
.row-top{
	display: flex;
	flex-direction: row;
}
.footer-nav {
	display: flex;
	flex-direction: row;
}
.footer-primary-nav {
	display: flex;
	flex-direction: row;
}
.footer-primary-nav li {
	list-style: none;
}
.footer-primary-nav li a {
	font-size: 14px;
}
ul li {
	margin: 0px;
	padding: 0px;
	list-style: none
}
footer ul li {
	font-size: 14px;
	color: #fff
}
footer ul li i {
	margin-right: 5px
}
footer ul li a {
	color: #fff
}
footer ul li a:hover {
	color: #7AE2DE
}
footer .footer-nav ul.footer-primary-nav li {
	display: inline-block;
	margin-right: 50px
}

/* ログイン表示に関するCSS */
#wpmem_restricted_msg {
	margin: 0 auto;
	width: 75%;
}
#wpmem_login, #wpmem_reg {
	margin: 0 auto;
	width: 50%;
}
.entry-content {
	
}
















/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
.header-nav-wrapper nav {
	margin-right: 10px
}
.header-nav-wrapper .logo {
	width: 280px
}
}

@media screen and (max-width: 1345px) {
.primary-nav-wrapper {
	position: fixed;
	z-index: 99999;
	top: 0;
	left: 0;
	visibility: hidden;
	width: 100%;
	height: 100%;
	opacity: 0;
	background-color: #414A52;
}
.navicon {
	visibility: visible;
	background-color: #252973;
}
.header-nav-wrapper nav {
	width: 100%;
	padding: 100px 0 0;
	text-align: center
}
.header-nav-wrapper nav ul {
	display: block
}
.header-nav-wrapper nav ul li {
	font-size: 15px;
	display: block;
	padding-top: 5px;
	padding-right: 20px;
	padding-left: 20px;
	padding-bottom: 5px;
	border-right: none
}
.secondary-nav-wrapper ul.secondary-nav li {
	font-size: 15px
}
.header-nav-wrapper nav ul li a {
	display: block;
	padding-bottom: 40px;
	color: #fff
}
.header-nav-wrapper nav ul li a:before {
	display: none
}
.secondary-nav-wrapper {
	display: block;
	padding: 0;
	text-align: center;
	background-color: transparent
}
.secondary-nav-wrapper ul {
	display: block
}
.secondary-nav-wrapper li a:before {
	display: none
}
.secondary-nav-wrapper ul li.subscribe a {
	font-weight: 600;
	display: block;
	color: #fff
}
.secondary-nav-wrapper ul li.subscribe a:hover {
	color: #7AE2DE
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe {
	display: block;
	padding: 10px 0;
	border-right: none
}
.secondary-nav-wrapper ul.secondary-nav li.search i {
	display: none
}
.secondary-nav-wrapper ul.secondary-nav li.subscribe:after {
	display: none
}
.footer-container {
	width: 1170px
}
}
.container-fluid {
	padding-right: 15px;
	padding-left: 15px;
	margin-right: auto;
	margin-left: auto
}
footer .footer-branding {
	margin-bottom: 20px
}
}

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

.footer-container {
		width: 970px
}

  .sub-menu {
    position: static;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    box-shadow: none;
    background-color: #050b26;
  }

}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
.header-nav-wrapper {
	border-bottom: solid 5px #7ae2de;
}
.header-nav-wrapper .logo {
	width: 250px
}
.navicon {
	padding-top: 52px;
	padding-right: 35px;
	padding-left: 35px;
	padding-bottom: 46px;
	background-color: #252973
}
.header-nav-wrapper .logo {
	border-bottom: none
}
.sort h5 {
	display: block
}
.latest-articles select#inputArticle-Sort {
	margin: 20px 0
}
.activity dt {
	width: 100%;
	float: left;
	margin-right: 0%;
}
.activity dd {
	width: 100%;
	float: left;
	margin-top: 0px;
}
.photo_list2 li {
	width: 100%;
	margin-right: 0%;
	float: left;
	margin-bottom: 2em;
}
.photo_list3 li {
	width: 48%;
	margin-right: 4%;
	float: left;
	margin-bottom: 2em;
}
.photo_list3 li:nth-child(2n) {
	margin-right: 0%;
}
.committee_text {
	width: 100%;
	margin-right: 0%;
	float: left;
}
.committee_photo {
	width: 100%;
	float: left;
}
body #history {
	padding-bottom: 250px;
}
.row .col-md-9 .message_dd {
	width: 100%;
	margin-right: 0%;
	float: left;
}
.row .col-md-9 .photo_dd {
	width: 100%;
	float: left;
}
table.meiyu_list {
	width: 100%;
	margin-right: 0%;
}
.col-md-9 .sewanin_ul li {
	width: 48%;
}
.party li {
	width: 90%;
	float: left;
	margin-left: 5%;
	margin-right: 5%;
	margin-bottom: 1em;
}
.party li:last-child {
	margin-right: 5%;
}
.party {
	width: 100%;
	margin-bottom: 3em;
	padding-bottom: 3em;
}
.party li img {
	width: 100%;
}
.footer-container {
		width: 750px;
		padding-right: 5%;
		padding-left: 5%;
}
}