* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
html {
    font-size: 1rem;
    line-height: 2em;
}
img {
    width: 100%;
    vertical-align: bottom;
}
a, ul, li, p, h1, h2, h3, h4, h5, h6, th, td {
    text-decoration: none;
    list-style: none;
  font-feature-settings: "palt";   
	font-family: "Noto Sans JP", sans-serif;
}

.kome {
  margin: 3px 0;
  font-size: 0.8em;
  text-indent: -1em;
  padding-left: 1em;
  line-height: 1.3;
}
.txt {
    margin: 10px 0;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;    
}
.txt_c,.pc_txt_c {
    text-align: center;
}
.txt_s {
    color: #fff;    
    font-size: 0.8em;
    line-height: 1.6em;
}

.sp_br {
    display: none;
}
.
/* ===========================
header
=========================== */
#wrap {
    background: #ccc;
}
.inr {
  background: url(../images/bg.png);
  background-size: 100px;
}
h1 {
  margin: 0 auto;
  max-width: 1280px;
}
.sp_topimg {
  display: none;
}
@media (max-width: 768px) {
  .pc_topimg {
    display: none;
  }
  .sp_topimg {
    display: block;
  }
}
/* ===========================
main
=========================== */
.main_txt {
   width: calc(100% - 20px);
  margin: 30px auto;
  max-width: 620px; 
  font-size: 1rem;
  line-height: 1.8;
    color: #333;
}
.event_info {
  width: calc(100% - 20px);
  margin: 30px auto 50px;
  max-width: 800px;
}
.circle{
  display: inline-block;
  width: 1.3rem;
  height: 1.3rem;
  margin-right: 5px;
  border-radius: 50%;
  background: #333;
  text-align:center;
  line-height: 1.3rem;
  color: #fff;
  font-size: 0.9rem;
}
.map {
  color: #333;
  text-decoration: underline;
}
.strikethrough {
  text-decoration: line-through;
}
.bdr {
	padding: 0 15px;
}
/* ベース */
/* 基本スタイル */
.event-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 1em;
    font-size: 1rem;
    table-layout: fixed;
    word-break: break-word;
      color: #333;
}
.first_tbl_tr th, .first_tbl_tr td {
    border-top: 1px solid #333;  
}

.event-table tr {
    border-bottom: 1px solid #333;
}
.event-table th {
    width: 20%;
    text-align: left;
    vertical-align: top;
    padding: 10px;
    font-size: 1.1rem;
}
.event-table td {
    padding: 8px 0;
}

/* 日時のサブテーブル */
.sub-table {
    width: 100%;
    border-collapse: collapse;
}
.sub-table tr {
    border-bottom: none;
}
.sub-table td {
    width: 50%;
    vertical-align: top;
    padding: 0;
    border-top: none;  
}
.sub-table td:last-child {
    padding-right: 0;
}
.sub-table p {
    font-weight: 600;
}
.sub-table ul {
    padding: 0;
}
.sub-table li {
    list-style: none;
    line-height: 1.7;
}

.place {
  text-align: left;
}
.place > span {
  font-size: 1.1rem;
  font-weight: 800;
}
#about {
	margin: 80px 0;
}
.about_fl {
	width: calc(100% - 20px);
	margin: 30px auto;
	max-width: 800px;
	display: flex;
}
.about_fl_inr,.about_fl > p {
	width: 38%;
	margin-right: 2%;
}
.about_fl_inr,.about_fl_clm {
	display: flex;
}
.about_fl_clm {
	width: 38%;
	margin-right: 2%;	
	flex-direction: column;
}
.about_fl_clm > p {
	margin-bottom:10px;
}
.about_txt_box {
	width: 60%;
}
.about_txt_box > h2 {
	margin-bottom: 5px;	
	padding-bottom: 3px;
	border-bottom: solid 2px #386609;
	font-size: 1.1rem;
	color: #386609;
}
.about_txt {
	font-size: 0.9rem;
	line-height: 1.8rem;
}
/* ---------- レスポンシブ対応 ---------- */
@media (max-width: 768px) {
    /* フォントと余白調整 */
    .event-table th,
    .event-table td {
        display: block;              /* テーブルを縦並びに変換 */
        width: 100% !important;
        border: none;
        border-bottom: 1px solid #333;
        text-align: center;
    }
    .event-table th {
        background: none;
        font-weight: bold;
    }
    .event-table tr {
        display: block;
        border-bottom: none;
    }
    /* 内側のサブテーブル（日付部分）も縦並びに */
    .sub-table td {
        display: block;
        width: 100% !important;
        padding-right: 0;
        border: none;
    }
  .first_tbl_tr th {
      border-top: 1px solid #333;
  }    
}

/* さらに小さいスマホ（480px以下） */
@media (max-width: 480px) {
    .event-table th {
        padding: 8px;
    }
    .sub-table li {
        line-height: 1.9;
    }
	.about_fl_inr,.about_fl > p {
		width: 36%;
		margin-right: 4%;
	}
	.about_fl_clm {
		width: 36%;
		margin-right: 4%;
	}	
	.about_fl_inr {
		flex-direction: column;
	}
	.bdr {
		display: block;
	}	
}



/* ===========================
footer
=========================== */
footer {
  margin-top: 80px;
    padding: 30px 10px 20px;
    background: #383838;    
    text-align: center;  
}
footer div  {
    color: #fff;    
}
footer > div > p {
	font-size: 0.8rem;
}
/* ===========================
〜768px
=========================== */
@media (max-width: 768px) {
    html {
        font-size: 14px;
    }  
    .pc_txt_c {
        text-align: left;
    }
	.pc_br {
		display: none;
	}
}

/* ===========================
〜428px
=========================== */
@media (max-width: 428px) {

}

/*ContactForm7カスタマイズ*/
.form_wrap{
  width: calc(100% - 20px);
  margin: 0 auto;
  max-width: 800px;
}
.form_wrap > h2 {
  margin:0 auto;
  padding: 5px 12px;
  max-width: 800px;
  border-radius: 5px 5px 0 0;
  color: #fff;
  background: #386609;   
  font-size: 1.1rem;
}
table.CF7_table{
  width: 100%;
	margin:0 auto;
  border-collapse: collapse;
}


.single .entry-content table.CF7_table,
.page .entry-content table.CF7_table{
	display:table;
}
.age {
  margin-left: 5px;
}
.CF7_table th{
  padding: 10px;
	text-align: left;
  color: #333;;
}
/*入力欄*/
.CF7_table input, .CF7_table textarea {
  padding: 10px;
  border-radius: 3px;
	border: 1px solid #d8d8d8;
  font-size: 16px;
}
textarea {
  width: 100%;
}
input[type="radio"]{
    padding: 10px;
}
.CF7_table ::placeholder {
	color:#ccc;
}
input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
} 
/*「必須」文字*/
.CF7_req{
	font-size:.8em;
	padding: 2px 5px;
	background: #dc143c;
	color: #fff;
	border-radius: 3px;
	margin-right:0.5em;
}

/*「任意」文字*/
.CF7_unreq{
	font-size:.8em;
	padding: 2px 5px;
	background: #a9a9a9;/*グレー*/
	color: #fff;
	border-radius: 3px;
	margin-right:0.5em;
  
}
	.CF7_table td{
  padding: 10px;
  color: #333;
	background-color:#f5f5f5;
	}

/* タイトル列 */
@media screen and (min-width: 768px){
	.CF7_table th{
	width:30%;/*横幅*/
	background-color:#e6e6e6;
	}
}

/* レスポンシブ */
@media (max-width: 768px){
	.CF7_table tr, .CF7_table td, .CF7_table th{
	display: block;
	width: 100%;
	}
	.CF7_table th{
	background-color:#e6e6e6;
	}
  input[type="text"],input[type="email"], textarea{
    width: 100%;
  }  
}

/* 「送信する」ボタン */
.wpcf7 input.wpcf7-submit {
  margin:0 auto;
  padding: 10px 20px;
	background-color:#386609;
	border:0;
	color:#fff;
	font-size:1.2em;
	font-weight:bold;
	border-radius: 3px;  
}

.CF7_btn{
	text-align:center;
	margin-top:20px;
}

.wpcf7-spinner{
	width:0;
	margin:0;
}
.CF7_table > tbody > tr:last-of-type > td {
  border-radius: 0 0 5px 5px;
}

/* 個人情報 */
.privacy-wrap {
	padding:  0 10px 10px;
	border-radius: 0 0 5px 5px;
    background-color: #f5f5f5;	
}
.privacy-box {
  border: 1px solid #e5e7eb;
  padding: 1rem 1.2rem;
  background: #fff;
  max-height: 150px;
  overflow-y: auto;
  line-height: 1.7;
  font-size: 0.95rem;
	border-radius: 3px;	
	color: #333;
}

.privacy-box h1 {
	margin-bottom: 10px;	
	padding-bottom: 10px;
	border-bottom: solid 1px #ccc;
  font-size: 1rem;
}
.privacy-box h2 {
  font-size: 1rem;
  color: #0f766e; /* 和の緑 */
  margin-top: 10px;
  margin-bottom: .5rem;
}

.privacy-box h3 {
  font-size: 1rem;
  margin-top: .8rem;
  margin-bottom: .3rem;
  color: #333;
}

.privacy-box ul {
  margin: .3rem 0 .3rem 1.2rem;
}

.privacy-box p {
  margin: .3rem 0;
	font-size: 0.8rem;
}

.privacy-box::-webkit-scrollbar {
  width: 8px;
}
.privacy-box::-webkit-scrollbar-thumb {
  background-color: #cbd5e1; /* スクロールバーの色（淡い灰色） */
  border-radius: 4px;
}
.privacy-box::-webkit-scrollbar-thumb:hover {
  background-color: #94a3b8;
}
.privacy-box-inr > li {
	list-style-type: disc;
}
.doi {
	padding: 10px 5px 0;
}
