@charset "utf-8";

/*
Theme Name: Lightning Child
Template: lightning
Version: 0.6.0.1699599744
Updated: 2023-11-10 16:02:24
*/

.vk-mobile-nav-menu-btn {
	/* display: none; */
}

/*---------- reset ----------*/
input, textarea, select {
	font-size: 16px !important;
}

/*---------- body ----------*/
body, html {
	background: transparent !important;
	font-size: 16px;
}

body::after {
	content: "";
	display: block;
	width: 100vw;
	height: 100vh;
	background: linear-gradient(to bottom right, #eee, #eee);
	position: fixed;
	top: 0;
	bottom: 0;
	z-index: -1;
}


/*---------- header ----------*/
.page-header {
    display: none;
}

.site-header {
	color: #fff !important;
	background: linear-gradient(to bottom right, #032d52, #034C8C);
}

.site-header a {
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.05em;
}

/* breadcrumb */
.breadcrumb {
	display: none;
}
/*---------- contents ----------*/
.contents-ttl {
	margin-bottom: 0;
}

.contents-ttl h2 {
	font-size: 16px;
	text-align: center;
	border: none;
	color: #f6de80;
	background: linear-gradient(to bottom right, #032d52, #034C8C);
	margin-bottom: 0;
	padding: 20px;
	letter-spacing: .05em;
}

.contents-wrap {
	background: #fff;
	padding: 25px;
}

/* section */
.section {
	margin-bottom: 10px;
}

.section.hidden {
	display: none;
}

/* text */
h4 {
	background: #f7edd1 !important;
	font-size: 1rem;
	padding: 0.5em 0.8em;
	line-height: 1.8;
}

p {
	line-height: 1.8;
}

/* 設問 */
.required,
.optional {
	position: relative;
}

.required h4,
.optional h4 {
	padding-right: 50px;
}

.required p,
.optional p {
	display: inline-block;
	position: absolute;
	right: 10px;
	top: 12px;
/* 	transform: translate(0, -50%); */
	margin: 0 0 0 10px;
	padding: 3px 6px 4px;
	border-radius: 4px;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.2;
}

.required p {
	background: #F03547;
	color: #fff;
}

.optional p {
	background: #1d3a65;
	color: #fff;
}

/* ラジオボタン・チェックボックス */
.wpcf7-list-item {
	display: block;
	margin-bottom: 1.2em;
}

.wpcf7-list-item span {
	display: block;
	line-height: 1.44em;
}

/* チェックボックス */
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox] {
  display: none;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0;
  padding: 0 1em 0 2em;
  font-size: inherit;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox] + span::before {
  content: "";
  opacity: 1;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.44em;
  height: 1.44em;
  border: 1px solid #ccc;
  border-radius: 4px;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity .25s ease;
  z-index: 1;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox] + span::after {
  content: "";
  opacity: 0;
  display: block;
  position: absolute;
  top: 0.19em;
  left: 0.5em;
  width: 0.45em;
  height: .9em;
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
  box-sizing: border-box;
  transform: rotate(40deg);
  transition: opacity .25s ease;
  z-index: 10;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox]:checked + span {
  color: #26998E;
  transition: all .25s ease;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox]:checked + span::before {
  opacity: 1;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox]:checked + span::after {
	opacity: 1;
	border-bottom: 3px solid #26998E;
	border-right: 3px solid #26998E;
	transition: opacity .25s ease;
}

/* チェックボックス（排他化：ラジオボタン風） */

.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox] {
  display: none;
}
.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox] + span {
  cursor: pointer;
  position: relative;
  margin: 0; 
  padding: 0 1em 0 2em;
  font-size: inherit;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.44em;
  height: 1.44em;
  border: 1px solid #ccc;
  border-radius: 50% !important;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox]:checked + span {
  color: #26998E;
  transition: opacity .25s ease;
}
.wpcf7 .template01 .wpcf7-exclusive-checkbox input[type=checkbox]:checked + span::after {
  opacity: 1;
  top: .2em;
  left: .2em;
  width: 1.04em;
  height: 1.04em;
  background-color: #26998E;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}

/* ラジオボタン */
.wpcf7 .template01 input[type=radio] {
  display: none;
}
.wpcf7 .template01 input[type=radio] + span {
  cursor: pointer;
  position: relative;
  margin: 0; 
  padding: 0 1em 0 2em;
  font-size: inherit;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio] + span::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 1.44em;
  height: 1.44em;
  border: 1px solid #ccc;
  border-radius: 50%;
  background-color: #fff;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio] + span::after {
  content: "";
  display: block;
  opacity: 0;
  position: absolute;
  box-sizing: border-box;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]:checked + span {
  color: #26998E;
  transition: opacity .25s ease;
}
.wpcf7 .template01 input[type=radio]:checked + span::after {
  opacity: 1;
  top: .2em;
  left: .2em;
  width: 1.04em;
  height: 1.04em;
  background-color: #26998E;
  border-radius: 50%;
  box-sizing: border-box;
  transition: opacity .25s ease;
}

/* 住所 */
.address-inner p {
	margin-bottom: 5px;
}

.address-inner .address-ttl {
	font-size: 14px;
	font-weight: 500;
	color: #666;
}

/* セレクトボックス */
.wpcf7-select {
	-webkit-appearance: none;
	padding: 0.8em 1em !important;
	color: #333;
	background: transparent !important;
	background: #EDF2FD !important;
	font-size: 14px !important;
}

.selectBox .wpcf7-form-control-wrap {
	position: relative;
}

.selectBox .wpcf7-form-control-wrap::before {
	content: "";
	display: block;
	position: absolute;
	right: 15px;
	top: 0;
	bottom: 0;
	margin: auto;
    width: 8px;
    height: 8px;
    border-top: 2px solid #2C394E;
    border-right: 2px solid #2C394E;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg);
	z-index: 1;
}

/* 送信ボタン */
.group-ptn1,
.group-ptn2 {
	
}

.btn1,
.btn2 {
	background: linear-gradient(to bottom right, #917F40, #b8a357);
	border: none !important;
	padding: 1em 3em !important;
	display: block;
	margin: auto;
}

/*---------- footer ----------*/
.site-footer {
	border: none;
	background: #303d52;
	padding-bottom: 60px;
}

.site-footer-copyright p:nth-child(1) {
    color: #fff;
}

.site-footer-copyright p:nth-child(2) {
    display:none;
}

/* footer-nav */
@media (min-width: 992px) {
	.site-footer {
		padding-bottom: 0;
	}
	.site-body-bottom {
		display: none !important;
	}
}

.footer-nav {
	position: fixed;
	bottom: 0;
	left: 0;
	background: #666;
	z-index: 9;
	width: 100%;
}

.footer-nav ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-nav ul li {
	
}


/*########### 正会員向けサイト用 ###########*/

/*---------- 汎用 ----------*/
.entry-title--post-type--page,h2 {
	padding: .5em 1em;
	border: solid var(--vk-color-primary);
	border-width: 0 0 0 4px;
	background: #E2E2E2;
	margin-bottom: 40px;
	font-size: 23px;
}

.site-footer-title,.sub-section-title,h3 {
	font-size: 20px;
}

/*---------- カスタム ----------*/
.hidden {
	display: none !important;
}

/* ユーザー情報欄 */
.user-profile {
	margin-bottom: 40px;
	/* background: #fff; */
	/* padding: 25px 25px 5px; */
}

.user-profile h5 {
	border: 0;
}

.user-profile dl dt,
.user-profile dl dd {
	margin: 0 0 0.5em;
	line-height: 1.6em;
}

.user-profile dl dt {
	clear: both;
	float: left;
	width: 150px;
}

.user-profile dl dd {
	/* margin-left: 8em; */
}

.user-profile dl dd:last-
of-type::after {
	content: "";
	display: block;
	clear: both;
}

/* table */
.user-profile p {
	margin: 0 !important;
}

.user-profile table {
	width: auto !important;
	border: none !important;
}

.user-profile table tbody th,
.user-profile table tbody td {
	border: solid #ccc;
	border-width: 0 0 1px;
	padding: .6em 0;
}

.user-profile table tbody th {
	text-align: left;
	width: 15em;
}

/* input */
.readonly input,
input.readonly,
.readonly textarea,
textarea.readonly {
	background: transparent !important;
	/* background: red !important; */
	border: none !important;
	padding: 0;
}

.readonly input:focus,
input.readonly:focus {
	outline: none !important;
}

/*---------- gnav ----------*/
.global-nav .global-nav-name {
	color: #fff;
	font-weight: 400 !important;
}

.global-nav-list>li:before {
	border-color: #fff;
}

/*---------- 共同仕入 商品ページ ----------*/

@media (min-width: 783px) {
.product-section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.product-section .product {
	width: calc(50% - 10px);
}
}

.product-section {
	margin-bottom: 40px;
}

.product {
	display: flex;
	background: #fff;
	padding: 16px;
	margin-bottom: 20px;
	border-radius: 4px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
}

.product p {
	margin: 0;
}

.product .product-img {
	width: 30%;
	margin-right: 5%;
}

.product .product-content {
	width: 70%;
}

.product .product-content .product-name p {
	font-size: 14px;
	line-height: 1.6 !important;
	margin-bottom: 0 !important;
	font-weight: 600 !important;
}

.product .product-content .product-price .price-ttl {
	font-size: .9em;
}

.product .product-content .product-price .money {
	font-size: 1.5em;
	color: #D0121D;
}

.product .product-content .product-price .unit {
	font-size: .8em;
	margin-left: .15em;
	color: #D0121D;
}

.product .product-content .product-desc {
	margin-bottom: 10px;
}

.product .product-content .product-desc p {
	line-height: 1.6 !important;
	font-size: 13px;
	color: #787878;
}

.product .product-content .product-order select {
	position: relative;
	border: none;
	background: #034178 !important;
	margin: 0;
	padding-left: calc(3em + 15px) !important;
	color: #fff;
	font-size: 16px !important;
	line-height: 22px;
}

.product .product-content .product-order {
	position: relative;
}

.product .product-content .product-order::before {
	content: "数量：";
	display: inline-block;
	font-size: 14px;
	line-height: 22px;
	color: #fff;
	transform: translateY(50%);
	position: absolute;
	left: 15px;
	bottom: 50%;
	z-index: 1;
}

.product .product-content .product-order::after {
	content: "";
	display: inline-block;
	height: 8px;
	width: 8px;
	border: 1px solid #fff;
	border-left: 0;
	border-bottom: 0;
	box-sizing: border-box;
	transform: translateY(25%) rotate(135deg);
	position: absolute;
	right: 15px;
	bottom: 50%;
}

/*---------- 投稿 ----------*/
.next-prev-prev.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-start;
}

.next-prev-prev.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f053";
font-weight: bold;
position: absolute;
font-size: 3rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 1.5rem);
left: 1rem;
}

.next-prev-prev.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 1.0rem 1.5rem 3.5rem;
}

.next-prev-next.card-horizontal .card-body {
display: flex;
padding: 0;
align-items: center;
justify-content: flex-end;
}

.next-prev-next.card-horizontal .card-body:before {
font-family: "Font Awesome 5 Free";
content: "\f054";
font-weight: bold;
position: absolute;
font-size: 3rem;
color: rgba(0,0,0,0.1);
top: calc(50% - 1.5rem);
right: 1rem;
}

.next-prev-next.card-horizontal.vk_post .card-body .vk_post_title a {
display: block;
padding: 1.5rem 3.5rem 1.5rem 1.0rem;
}

/*---------- お知らせ 地区交流会 ----------*/

.event-wrap {
	display: flex;
	background: #fff;
	padding: 30px;
	margin-bottom: 20px;
	border-radius: 4px;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
}

.event-wrap p {
	margin: 0;
}

.event-wrap .event-wrap-left {
	width: 30%;
	/* margin-right: 5%; */
}

.event-wrap .event-wrap-right {
	width: 70%;
}

/* 開催地情報 */
.table-ptn2 {
	margin-bottom: 10px;
}

.table-ptn2 table {
	border: none;
}

.table-ptn2 table tbody tr th,
.table-ptn2 table tbody tr td {
	font-size: 16px;
	border: none;
	padding: 0.3em 0;
	vertical-align: top;
	text-align: left;
}

.event-aria {
	display: inline-block;
	/* background: var(--vk-color-primary); */
	padding: 0.2em 0;
	/* margin-left: -30px !important; */
	color: #fff;
	color: var(--vk-color-primary);
	font-size: 18px;
	/* border: 1px solid var(--vk-color-primary); */
	border-bottom: 1px solid var(--vk-color-primary);
}

.event-venue {
	font-size: 40px;
	color: var(--vk-color-primary);
}

.event-address {
	font-size: 14px;
	/* color: #003A8F; */
	background: #f2f2f2;
	padding: .5em 1em;
	margin: .5em 0;
}

/* チェックボックスをボタン化 */
.checkbox-btn .wpcf7-list-item {
	margin: 0;
}

.checkbox-btn .wpcf7-list-item-label {
	background: #003A8F;
	color: #fff !important;
	padding: 0.75em 1em !important;
	text-align: center;
	border-radius: 6px;
}

.checkbox-btn .wpcf7-list-item-label:hover {
	opacity: .8;
}

.checkbox-btn input:checked + span {
	opacity: .8;
}

/* .wpcf7 .template01 .wpcf7-checkbox:not(.wpcf7-exclusive-checkbox) input[type=checkbox]:checked + span */

.checkbox-btn .wpcf7-list-item-label::before,
.checkbox-btn .wpcf7-list-item-label::after {
	display: none !important;
}

/* 出席者の記入 */
.event01-add {
	margin-top: 10px;
}

.event01-add-part {
	display: flex;
	padding: 25px 0;
}

.event01-add-part + .event01-add-part {
	border-top: 1px dashed #ddd;
}

.add-number {
	width: 20%;
}

.add-number p {
	line-height: 1;
	padding: .8em 0;
	font-weight: 600;
}

.add-info {
	width: 80%;
}

.add-name {
	display: flex;
	margin-bottom: 10px;
}

.add-name .add-label p {
	width: 5em;
	padding: .8em 0;
	line-height: 1 !important;
}

.add-name .add-input p {
	display: flex;
	justify-content: space-between;
}

.add-name .add-input p span {
	width: calc(50% - 5px);
}

.add-dinner {
	display: flex;
}

.add-dinner .add-label p {
	width: 5em;
	line-height: 1.6;
}

.add-dinner .add-input p .wpcf7-checkbox {
	display: flex;
}

.add-dinner .add-input p .wpcf7-checkbox span {
	margin: 0;
}

/*---------- ログインエラー ----------*/
.wplogin_failed {
    font-weight: 600;
	color: #dd0000;
	display: none;
}

.wplogin_failed.show {
    display: block;
}


/*---------- 共同仕入れv2 ----------*/
.goods-section {
	margin-bottom: 25px;
}

@media (min-width: 783px) {
.goods-section {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.goods-section > div {
	width: calc(50% - 25px);
}
}

/*---------- 商品イメージ ----------*/
.goods-img {
	margin-bottom: 25px;
}

.goods-img img {
	display: block;
	max-width: 100%;
}

/*---------- 商品の選択 ----------*/
.goods-menu {
	/* display: flex; */
	padding: 0;
	margin-bottom: 25px;
	border-radius: 4px;
}

.goods-menu ul {
	list-style: none;
	padding: 0;
	margin: 0;
	background: #fff;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.05);
	margin-bottom: 30px;
}

.goods-menu ul li {
	margin: 0;
	padding: 16px;
	border-bottom: 1px solid #ddd;
}

.goods-menu ul li > p {
	margin-bottom: 0;
}

.goods .last {
	margin: 0 !important;
}

.goods input[type=checkbox] {
	display: none;
}

.goods label {
	cursor: pointer;
	display: inline-block;
	padding: 4px 0 4px 40px;
	position: relative;
	width: auto;
	user-select:none;
	font-size: 15px;
	font-weight: bold;
}

.goods label .wpcf7-list-item-label::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 1.84em;
	height: 1.84em;
	border: 1px solid #ccc;
	border-radius: 50% !important;
	background-color: #fff;
	box-sizing: border-box;
	transition: opacity .25s ease;
}

.goods label .wpcf7-list-item-label::after {
	content: '';
	position: absolute;
	opacity: 0;
	top: .25em;
	left: .25em;
	width: 1.36em;
	height: 1.36em;
	background-color: #D0121D;
	border-radius: 50%;
	box-sizing: border-box;
	transition: opacity .25s ease;
}

.goods label input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}

/* 金額 */
.price {
	padding-left: 40px;
	color: #666;
}

/* 数量 */
.number-wrap {
	padding: 10px 0 10px 40px;
	display: flex;
	align-items: center;
}

.number-wrap > p,
.number-wrap select {
	margin: 0;
	font-size: 14px;
}

.number-wrap .number-ttl {
	margin: 0 1em 0 0;
}
