@charset "UTF-8";

body,div,pre,p,blockquote,form,fieldset,input,textarea,select,option,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,table,th,td,embed,object{margin: 0;padding: 0;vertical-align: baseline;}h1,h2,h3,h4,h5,h6 {font-style: normal;font-weight: normal;font-size: 100%;}table{border-spacing:0;}* html table{border-collapse:collapse;}*:first-child+html table{border-collapse:collapse;}caption,th{text-align:left; font-weight:normal;}table,th,td,img {border:0;}img,input{vertical-align:top;}q:before,q:after{content:'';}strong,em,address{font-weight:normal;font-stretch:normal;font-style:normal;}ul{list-style:none;}article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary{display:block;}

/* 基本設定 */
html {
	overflow-x: hidden;
	overflow-y: scroll;	
	min-height: 100vh;
	height: -webkit-fill-available;
}

body {
	word-break: break-all;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	line-height: 1.5;
	background: #f6f6f6;
	padding-top: 78px;
}

@media screen and (max-width:1024px) {
	body {
		padding-top: 60px;
	}
}

img { 
	max-width: 100%;
	height: auto; 
}

/* レスポンシブ */
@media screen and (max-width:767px) {
	.pc,.pctb,.tb { display: none!important; } 
}
@media screen and (min-width:768px) and ( max-width:1024px) {
	.sp,.pc { display: none!important; }
}
@media screen and (min-width:1025px) {
	.sp,.sptb,.tb { display: none!important; }
}

.hover input:hover,
.hover a:hover {
	opacity: 0.7;
}

/*--- fadein ---*/
.fadein {
	opacity : 0.1;
}

.fadeinB {
	transform : translate(0, 100px);
	transition : all 500ms;	
}

.fadeinT {
	transform : translate(0, -100px);
	transition : all 500ms;	
}

.fadeinL {
	transform : translate(100px);
	transition : all 500ms;	
}

.fadeinR {
	transform : translate(-100px);
	transition : all 500ms;	
}

.fadeinC {
	transform : translate(0);
	transition : all 500ms;	
}

.fadein.scrollin {
	opacity : 1;
	transform : translate(0px, 0px);
}

/*=========================================================
wrapper
=========================================================*/

#wrapper {
	background: #fff;
	margin: 0 auto;
}
	
/*=========================================================
header
=========================================================*/

#header {
	padding: 0 30px;
	height: 78px;
	background-size: auto 78px;
	background-image:
		url(../images/hdr_l.png),
		url(../images/hdr_r.png),
		url(../images/hdr_bg.png);
	background-repeat:
		no-repeat,
		no-repeat,
		repeat-x;
	background-position:
		left,
		right,
		center;
	position: relative;
	width: 100%;
	position: fixed;
	top: 0;
	left: 0;
	box-sizing: border-box;
	z-index: 2000;
}

#header ul {
	position: absolute;
	top: 50%;
	right: 40px;
	display: flex;
	margin-top: -15px;
	align-items: center;
}

#header li {
	margin-left: 10px;
}

#header li a {
	color: #fff;
	text-decoration: none;
	font-size: 0.9rem;
}

#header li a:hover {
	opacity: 0.7;
}

#header li:not(:first-child) a.txt {
	border-left: 1px solid #fff;
	padding-left: 10px;
}

#header li img {
	width: 30px;
	height: auto;
}

@media screen and (max-width:1100px) {
	#header li {
		letter-spacing: -1px;
	}	
}

@media screen and (max-width:1024px) {
	#header { 
		height: 60px;
		background-size: auto 60px;
	}
	
	#header p img,
	#header h1 img {
		width: auto;
		height: 60px;
	}
	
	#header ul {
		position: absolute;
		top: 50%;
		right: 15px;
		display: flex;
		margin-top: -10px;
	}

	#header li {
		width: 20px;
		height: 20px;
		margin-left: 5px;
	}
	
	#header .nav {
		display: none;
	}
}

/* modal
------------------------------------------*/

.modalBtn {
	display: block;
	vertical-align: middle;
	width: 40px;
	position: relative;
	position: absolute;
	top: 12px;
	right: 15px;
}
.mnuTrg {
	display: inline-block;
	width: 40px;
	height: 40px;
	vertical-align: middle;
	cursor: pointer;
	z-index: 3100;
	border-radius: 5px;
}
.mnuTrg span {
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	left: 0;
	width: 26px;
	height: 3px;
	background: #fff;
	transition: all .5s;
	z-index: 3101;
}

.mnuTrg:active {
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all  0.3s ease;
}

.mnuTrg.active {
}

.mnuTrg.active span {
	background: #fff;
}

.mnuTrg span:nth-of-type(1) {
	top: 9px;
	left: calc(50% - 13px);
	position: absolute;
}

.mnuTrg.active span:nth-of-type(1) {
	transform: translateY(10px) rotate(-45deg);
}

.mnuTrg span:nth-of-type(2) {
	position: absolute;
	top: 18px;
	left: calc(50% - 13px);
	margin: 0;
}

.mnuTrg.active span:nth-of-type(2) {
	opacity: 0;
}

.mnuTrg span:nth-of-type(3) {
	position: absolute;
	top: 27px;
	left: calc(50% - 13px);
}

.mnuTrg.active span:nth-of-type(3) {
	  transform: translateY(-8px) rotate(45deg);
}
 
.mNav {
	width: 300px;
	height: calc(100vh - 60px);
	padding: 15px;
	background: #232323;
	position: fixed;
	top: 60px;
	box-sizing: border-box;
	right: 0;
	transform: translate(370px);
	transition: all .5s;
	z-index: 3050;
	font-size: 12px;
	overflow: scroll
}

.mNav.open {
	transform: translateZ(0);
}

.mNav .mNavMenu {
	margin: 0 0 20px;
}

.mNav .mNavMenu {
	text-align: left;
	font-size: 1rem;
}

.mNav .mNavMenu a {
	position: relative;
	padding: 15px 0;
	display: block;
	color: #fff;
	text-decoration: none;
}

.mNav .mNavMenu a:before {
	content: "→";
	line-height: 1;
	position: absolute;
	top: 50%;
	right: 10px;
	margin-top: -6px;
	font-size: 12px!important;

}

.mNav .mNavMenu li:not(:last-child) {
	border-bottom: solid 1px rgba(255,255,255,0.2);
}

.mNavInfo {
	background: #fff;
	padding: 15px;
	border-radius: 5px;
	margin-top: 15px;
	text-align: center;
	margin-bottom: 15px;
}

.mNavName {
	font-size: 1.2rem;
	margin: 0 0 10px;
	font-weight: bold;
}

.mNavAddr {
	margin: 0 0 10px;
	line-height: 1.5;
}

.mNavSns {
	text-align: center;
	width: 100%;
}

.mNavSns li {
	display: inline-block;
	margin: 0 5px;
}

.mNavSns img {
	width: 36px;
	height: auto;
}

.overlay {
  content: "";
  display: block;
  width: 0;
  height: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: fixed;
  top: 0;
  left: 0;
  opacity: 0;
  transition: opacity .5s;
  z-index: 50;
}
.overlay.open {
  width: 100%;
  height: 100%;
  opacity: 1;
}

.mNavContact {
	text-align: center
}

.mNavContact a {
	display: block;
	border:  1px solid #e98036;
	padding: 10px;
	text-align: center;
	border-radius: 100px;
	margin-bottom: 15px;
	font-size: 0.9rem;
	font-weight: 700;
	color: #e98036;
	letter-spacing: 1px;
}

.mNavTel {
	text-align: center;
	padding-bottom: 10px;
	border-bottom:  1px solid #e98036;
	margin-bottom: 20px;
}

.mNavTel a {
	color: #e98036;
	text-align: center;
	font-size: 1.1rem;
}

.mNavTel span {
	font-size: 1.3rem;
}

.mNavTime {
	font-size: 0.9rem;
	margin-bottom: 5px;
	display: inline-block;
	margin: 0 auto;
}

.mNavTime th {
	text-align: justify;
	text-align-last: justify;
	padding-right: 10px;
}

.mNavTime td {
	letter-spacing: 2px;
}

.mNavHoliday {
	font-size: 0.9rem;
}

.mNavInfo .title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: 10px;
	font-family: "kaisei-tokumin", sans-serif;
}

.mNavInfo .date {
	font-size: 0.7rem;
	text-align: center;
	margin-bottom: 5px;
}

.mNavInfo .date strong {
	font-weight: bold;
	font-size: 0.85rem;
}

.mNavInfo .limit {
	margin-top: 5px;
	font-size: 0.7rem;
}
	
/*=========================================================
共通
=========================================================*/

.heading {
	text-align: center;
	font-family: "kaisei-tokumin", sans-serif;
	font-weight: 700;
	font-size: 3rem;
}

.heading:after {
	content: attr( data-label );
	display: block;
	margin: 0 auto;
	font-size: 1rem;
}

.subheading {
	text-align: center;
	margin-bottom: 50px;
	font-size: 2.4rem;
	font-family: "kaisei-tokumin", sans-serif;
	font-weight: 700;
	font-style: normal;
	color: #2d0d00;
}

@media screen and (max-width:767px) {

	.heading {
		font-size: 1.8rem;
	}

	.heading:after {
		font-size: 0.8rem;
	}

	.subheading {
		margin-bottom: 25px;
		font-size: 1.6rem;
	}	
	
}

/*=========================================================
main
=========================================================*/

#particles-js {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.fv {
	text-align: center;
	height: 510px;
	width: 100%;
	background-image: 
		url("../images/main_left.png"),
		url("../images/main_right.png"),
		url("../images/main_bg.jpg");
	background-position: 
		left -10px center,
		right 10px center,
		center center;
	background-repeat:
		no-repeat,
		no-repeat,
		repeat-x;
	background-size: 
		auto 90%,
		auto 90%,
		auto 100%;
	position: relative;
}

.fv img {
	width: 600px;
	height: auto;
}

.cs {
	text-align: center;
}

.rs {
	text-align: center;
	padding: 50px 0;
}

@media screen and (max-width:700px) {

	.fv {
		text-align: center;
		height: 300px;
		width: 100%;
		background-image: 
			url("../images/main_left.png"),
			url("../images/main_right.png"),
			url("../images/main_bg.jpg");
		background-position: 
			left -10px center,
			right 10px center,
			center center;
		background-repeat:
			no-repeat,
			no-repeat,
			repeat-x;
		background-size: 
			auto 90%,
			auto 90%,
			auto 100%;
		display: flex;
		align-items: center;
		text-align: center;
		justify-content: center;
	}

	.fv img {
		width: 300px;
		max-width: 70%;
		height: auto;
		margin-top: -15%;
	}
	
}

/*=========================================================
reserve
=========================================================*/

.reserve {
	text-align: center;
	padding: 40px 20px 30px;
	background: url("../images/bg.png") center top;
}

@media screen and (max-width:767px) {
	
	.reserve {
		text-align: center;
		padding: 15px;
		background: url("../images/bg.png") center top;
		font-family: "kaisei-tokumin", sans-serif;
	}	
	
	.reserveBox {
		border: 2px solid #faecef;
		background: #67636b;
		padding: 2px;
		border-radius: 10px;
		position: relative;
	}

	.reserveBox:before {
		content: "";
		width: 86px;
		height: 50px;
		background: url("../images/reserve_star.png");
		background-size: contain;
		display: block;
		position: absolute;
		top: -10px;
		left: -5px;
	}

	.reserveBox:after {
		content: "";
		width: 86px;
		height: 50px;
		background: url("../images/reserve_star.png");
		background-size: contain;
		display: block;
		position: absolute;
		bottom: -10px;
		right: -5px;
		transform: rotate(180deg);
	}
	
	.reserveBoxInner {
		padding: 20px 0;
		background: #faecef;
		border-radius: 7px;
	}
	
	.reserve .title {
		font-weight: bold;
		font-size: 1.6rem;
		margin-bottom: 15px;
	}
	
	.reserve .date {
		display: block;
		margin-bottom: 20px;
		background: #fff;
		padding: 10px 15px;
		border-radius: 5px;
	}
	
	.reserve .date p {
		font-size: 0.9rem;
	}
	
	.reserve .date strong {
		font-size: 1.1rem;
		font-weight: bold;
		margin-bottom: 5px;
		display: block;
		text-align: center;
	}
	
	.reserve img {
		width: 250px;
		margin-bottom: 20px;
	}
	
	.limit {
		font-size: 0.8rem;
	}
	
}

/*=========================================================
banners
=========================================================*/

.banners {
	max-width: 1100px;
	margin: 0 auto;
	padding: 45px 20px;
}

.banners li {
	margin-bottom: 30px;
}

.banners li .image {
	margin-bottom: 15px;
}

.banners li .profile {
	/*background: #f6f6f6;*/
	padding: 20px;
	border-radius: 10px;
}

.banners li .accordion_head {
	font-size: 1.2rem;
	font-weight: bold;
	display: flex;
	align-items: center;
}

.banners li .accordion_head:hover {
	opacity: 0.7;
	cursor: pointer;
}
/*
.name01 { color: #229f34; }
.name02 { color: #ea7070; }
.name03 { color: #4533ab; }
*/
.banners li .accordion_head:before {
	content: "＋";
	display: inline-block;
	background: #fff;
	border: 1px solid #666;
	line-height: 1;
	border-radius: 3px;
	padding: 2px;
	margin-right: 10px;
}

.banners li .selected.accordion_head:before {
	content: "ー";
}

.banners li .accordion_body {
	padding: 10px 0 0 37px;
	font-size: 0.9rem;
	display: none;
}

.banners li .open .accordion_body {
	display: block;
}

.pamphlet {
	text-align: center;
}

.pamphlet:hover {
	opacity: 0.7;
}

@media screen and (max-width:767px) {

	.banners {
		padding: 20px 15px;
	}

	.banners li {
		margin-bottom: 15px;
		padding-top: 7px;
	}
	
	.bnr01 {
		border: 3px solid #229f34;
		border-radius: 10px;
		overflow: hidden;
	}
	
	.bnr02 {
		border: 3px solid #ea7070;
		border-radius: 10px;
		overflow: hidden;
	}
	
	.bnr03 {
		border: 3px solid #4533ab;
		border-radius: 10px;
		overflow: hidden;
	}

	.banners li .image {
		margin-bottom: 7px;
	}

	.banners li .profile {
		padding: 10px;
		border-radius: 0;
	}
	
	.banners li .copy {
		margin: 0 15px 20px;
		font-weight: bold;
	}
	
	.bnr01 .copy {
		color: #229f34;
	}
	
	.bnr02 .copy {
		color: #ea7070;
	}
	
	.bnr03 .copy {
		color: #4533ab;
	}
	
	.bnr01 .profile {
		background: #eefff7;
	}
	
	.bnr02 .profile {
		background: #fff1f1;
	}
	
	.bnr03 .profile {
		background: #eeefff;
	}

	.banners li .accordion_head {
		font-size: 0.9rem;
	}

	.banners li .accordion_body {
		padding: 10px 0 0 33px;
		font-size: 0.8rem;
	}
	.hosoku {
		font-size: 0.7rem;
		padding: 10px;
	}
}

/*=========================================================
企画紹介
=========================================================*/

.event {
	text-align: center;
	background: url("../images/bg.png") center top no-repeat; 
	background-size: cover;
	padding: 80px 20px;
}

.event .heading {
	color: #fff;
	margin-bottom: 50px;
}

.event ul {
	display: flex;
	align-items: center;
	justify-content: center;
}

.event ul li {
	padding: 0 30px;
}


@media screen and (max-width:767px) {

	.event {
		padding: 30px 15px;
	}

	.event .heading {
		margin-bottom: 30px;
	}

	.event ul li {
		padding: 0 10px;
	}
	
}

/*=========================================================
京おんな大和撫子選手権
=========================================================*/

.kyoonna .title {
	background: #fff url("../images/kyoonna_title_bg.png") center bottom no-repeat;
	background-size: auto 500px;
	text-align: center;
	padding: 100px 0 50px;
}

@media screen and (min-width:1914px) {
	.kyoonna .title {
		background-size: 100% auto;	
	}
}

.kyoonna .caution {
	background: #f6f6f6;
	margin: 0 0 75px;
	padding: 30px;
}

@media screen and (max-width:767px) {
	.kyoonna .caution {
		margin: 0 0 20px;
		padding: 15px;
		font-size: 0.9rem;
	}
}

.tiktok {
	text-align: center;	
}
.tiktok a {	
	margin-top: 30px;
	font-size: 1.4rem;
	font-weight: 700;
	display: inline-block;
	text-decoration: none;
	border-top: 3px solid #24ece7;
	border-left: 3px solid #24ece7;
	border-right: 3px solid #f62b52;
	border-bottom: 3px solid #f62b52;
	color: #fff;
	background: #000;
	border-radius: 20px;
	padding: 10px 30px;
}

.tiktok a:hover {
	opacity: 0.7;
}

.contents {
	background: #f0a28b url("../images/kyoonna_bg.png") center center no-repeat;
	background-size: 100% auto;
	padding-bottom: 100px;
}

.kyoonna .wrapper {
	border: 5px solid #fff;
	background: #f0a28b;
	padding: 5px;
	border-radius: 10px;
	max-width: 1100px;
	margin: 0 auto 40px;
}

.kyoonna .wrapper:last-child {
	margin-bottom: 0;
}

.kyoonna .wrapper .inner {
	background: #fff;
	padding: 50px;
}

.kyoonna .comment {
	background: #fff8e3;
	padding: 30px;
	text-align: center;
	margin-bottom: 30px;
}

.kyoonna table {
	border-top: 1px solid #333;
	border-left: 1px solid #333;
	width: 100%;
	box-sizing: border-box;
}

.kyoonna table th {
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	background: #e2574c;
	color: #fff;
	padding: 20px;
	vertical-align: middle;
	width: 200px;
	box-sizing: border-box;
}

.kyoonna table td {
	border-right: 1px solid #333;
	border-bottom: 1px solid #333;
	padding: 20px;
}

.kyoonna ol {
	list-style: none;
	margin: 0 0 -70px; 
	padding: 0;
	display: flex;
	flex-wrap: wrap;
}

.kyoonna ol li {
	width: calc(50% - 20px);
	margin: 0 40px 70px 0;
	position: relative;
	}

.kyoonna ol li:nth-child(2n){
	margin-right: 0;
}

.kyoonna ol li .box {
	border: 1px solid #ccc;
	border-top: 7px solid #f0a28b;
	padding: 10px;
	border-radius: 10px;
	position: relative;
	margin-left: 50px;
	height: 200px;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.kyoonna ol li .image {
	position: absolute;
	top: 50%;
	left: -80px;
	margin-top: -125px;
}

.kyoonna ol li .instagram {
	position: absolute;
	top: 10px;
	right: 10px;
}

.kyoonna ol li .number {
	display: flex;
	align-items: center;
	text-align: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	line-height: 1;
	background: #e2574c;
	color: #fff;
	position: absolute;
	z-index: 3;
	border-radius: 1000px;
	font-weight: bold;
	font-style: italic;
	top: -25px;
	left: 100px;
	font-size: 1.4rem;
	font-family: "kaisei-tokumin", sans-serif;
}

.kyoonna ol li .number span{
   font-size: 2rem;
}


.kyoonna ol li .name {
	font-size: 1.4rem;
	margin-left: 180px;
	padding-top: 20px;
	font-weight: bold;
}


.kyoonna ol li .name span{
	font-size: 2rem;

}

.kyoonna ol li .vote {
	border-top: 2px dashed #ccc;
	padding: 12px 20px 20px 40px;
	text-align: center;
	margin-left: 120px;
}

.kyoonna ol li .vote input {
	background: #d12518 url("../images/icon_vote.png") left 10px center no-repeat;
	background-size: 30px auto;
	color: #fff;
	border-radius: 1000px;
	display: block;
	border: none;
	padding: 5px 30px 5px 60px;
	font-size: 1.1rem;
	letter-spacing: 2px;
	margin: 0 auto;
	cursor: pointer;
}

.kyoonna ol li .vote input:hover {
	opacity: 0.7;
}

.kyoonna ol li .hobby {
	margin-left: 185px;
	margin-bottom: 15px;
}

.kyoonna ol li .baloon {
	background: #fef1cc;
	padding: 20px;
	font-size: 1.1rem;
	border-radius: 1000px;
	margin-top: 35px;
	text-align: center;
	font-weight: bold;
	position: relative;
}

.kyoonna ol li .posted {
	margin-left: 185px;
	background: #eee;
	border-radius: 5px;
	padding: 5px;
	font-weight: bold;
	color: #c00;
	text-align: center;
}

.kyoonna ol li .baloon:before {
	content: "";
	display: block;
	width: 34px;
	height: 35px;
	background: url("../images/baloon.png");
	background-size: 34px 35px;
	position: absolute;
	top: -24px;
	left: 35%;
}


@media screen and (max-width:1100px) {

	.kyoonna ol {
		list-style: none;
		margin: 0; 
		padding: 0;
		display: block;
	}

	.kyoonna ol li:nth-child(2n),
	.kyoonna ol li {
		width: 50%;
		margin: 0 auto 70px;
		position: relative;
		
	}	
}

@media screen and (max-width:1024px) {

	.kyoonna .contents {
		padding-bottom: 30px;
	}

	.kyoonna .title {
		background: #fff url("../images/kyoonna_title_bg.png") center bottom no-repeat;
		background-size: auto 250px;
		padding: 50px 0 25px;
	}

	.kyoonna .title img {
		width: 65%;
	}

	.tiktok a {	
		margin-top: 20px;
		font-size: 1rem;
		padding: 10px 25px;
	}

	.tiktok a:hover {
		opacity: 0.7;
	}

	.contents {
		padding: 0 15px 50px;
	}

	.kyoonna .wrapper {
		border-radius: 10px;
		margin: 0 auto 20px;
	}

	.kyoonna .wrapper:last-child {
		margin-bottom: 0;
	}

	.kyoonna .wrapper .inner {
		padding: 20px 15px;
	}

	.kyoonna .comment {
		padding: 15px;
		margin-bottom: 20px;
		font-size: 0.8rem;
		text-align: left;
	}

	.kyoonna table {
		display: block;
		width: 100%;
	}
	
	.kyoonna table tbody {
		width: 100%;
		display: block;
	}
	
	.kyoonna table tr {
		width: 100%;
		display: block;
	}

	.kyoonna table th {
		display: block;
		width: 100%;
		padding: 10px 15px;
		font-size: 0.9rem;
	}

	.kyoonna table td {
		display: block;
		width: 100%;
		padding: 10px 15px;
		box-sizing: border-box;
		font-size: 0.9rem;
	}

	.kyoonna ol {
		list-style: none;
		margin: 0; 
		padding: 0;
		display: flex;
		flex-wrap: wrap;
	}

	.kyoonna ol li:nth-child(2n),
	.kyoonna ol li {
		width: 100%;
		margin: 0 0 40px;
	}
	
	.kyoonna ol li:last-child {
		margin-bottom: 0;
	}

	.kyoonna ol li .box {
		margin: 0;
		height: auto;
	}

	.kyoonna ol li .image {
		position: relative;
		top: auto;
		left: auto;
		margin-top: 0;
		text-align: center;
	}
	.kyoonna ol li .image img {
		width: 250px;
		height: auto;
	}

	.kyoonna ol li .instagram {
		position: relative;
		top: auto;
		right: auto;
		text-align: center;
		padding: 15px 0 10px;
	}

	.kyoonna ol li .number {
		width: 60px;
		height: 60px;
		top: -15px;
		left: -10px;
		font-size: 1rem;
	}

	.kyoonna ol li .number span{
	   font-size: 1.4rem;
	}

	.kyoonna ol li .name {
		font-size: 1.2rem;
		margin-left: 0;
		padding-top: 0;
	}

	.kyoonna ol li .name span{
		font-size: 1.6rem;
	}

	.kyoonna ol li .vote {
		border-top: 2px dashed #ccc;
		padding: 20px 0 0;
		text-align: center;
		margin: 0;
	}

	.kyoonna ol li .vote input {
		background-size: 20px auto;
		padding: 5px 25px 5px 50px;
		font-size: 1rem;
	}
	
	.kyoonna ol li .hobby {
		margin: 0 0 10px;
		font-size: 0.9rem;
		margin-left: 3px;
	}
	
	.kyoonna ol li .baloon {
		padding: 15px;
		text-align: left;
		font-size: 0.8rem;
		border-radius: 10px;
		margin-top: 35px;
	}
	
	.kyoonna ol li .posted {
		margin: 0;
	}

	.kyoonna ol li .baloon:before {
		content: "";
		display: block;
		width: 34px;
		height: 35px;
		background: url("../images/baloon.png");
		background-size: 34px 35px;
		position: absolute;
		top: -24px;
		left: 35%;
	}
	
}

/*=========================================================
実行委員会からの挨拶
=========================================================*/

.message  {
	text-align: center;
	background: url("../images/message_bg.png") center top no-repeat; 
	background-size: cover;
	padding: 180px 20px 150px;
}

.message .inner {
	border: 5px solid #fff;
	background: #4633b0;
	padding: 5px;
	border-radius: 10px;
	max-width: 1020px;
	margin: 0 auto 40px;	
	left: 50px;
	position: relative;
	box-sizing: border-box;
}

.message .inner .box {
	background: #fff;
	position: relative;
	min-height: 400px;
	display: flex;
	align-items: center;
	padding: 30px 30px 30px 400px;
	text-align: left;
}

.message .inner .box .image {
	position: absolute;
	top: calc(50% - 352px);
	left: -100px;
}


.message .inner h2 {
	text-align: center;
	font-weight: 700;
	color: #4633b0;
	margin-bottom: 30px;
	font-size: 2rem;
	font-family: "kaisei-tokumin", sans-serif;
}

@media screen and (max-width:1024px) {
	.message  {
		padding: 30px 15px;
	}

	.message .inner {	
		left: auto;
		margin-bottom: 0;
	}

	.message .inner .box {
		display: block;
		padding: 15px;
	}

	.message .inner .box .image {
		position: relative;
		top: auto;
		left: auto;
		margin: 0 auto 20px;
		text-align: center;
	}


	.message .inner h2 {
		margin-bottom: 20px;
		font-size: 1.2rem;
	}	
	.message .text {
		font-size: 0.8rem;
	}
}

/*=========================================================
広告協賛企業一覧
=========================================================*/

.sponsors {
	padding: 75px 20px;
}

.sponsors .inner {
	max-width: 1100px;
	margin: 0 auto;
}

.sponsors h2 {
	margin-bottom: 50px;
}

.sponsors .text {
	margin-bottom: 50px;
	text-align: center;
}

.sponsors .lists {
	list-style: disc;
	margin: 0 20px 50px 30px;
	display: flex;
	flex-wrap: wrap;
}

.sponsors .lists li {
	width: 50%;
}

.sponsors .ads {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: -30px;
}

.sponsors .ads li {
	width: 32%;
	margin-right: 2%;
	margin-bottom: 30px;
}

.sponsors .ads li:nth-child(3n){
	margin-right: 0;
}

@media screen and (max-width:1024px) {
	.sponsors {
		padding: 30px 15px;
	}

	.sponsors h2 {
		margin-bottom: 30px;
	}

	.sponsors .text {
		margin-bottom: 20px;
		font-size: 0.8rem;
		text-align: left;
	}

	.sponsors .lists {
		list-style: disc;
		margin: 0 0 0px 10px;
		display: block;
	}

	.sponsors .lists li {
		width: 100%;
		font-size: 0.8rem;
	}

	.sponsors .ads {
		margin-bottom: -10px;
	}

	.sponsors .ads li {
		width: 49%;
		margin-right: 2%;
		margin-bottom: 10px;
	}

	.sponsors .ads li:nth-child(3n){
		margin-right: auto;
	}

	.sponsors .ads li:nth-child(2n){
		margin-right: 0;
	}
	
}


/*=========================================================
アクセス
=========================================================*/

.access {
	padding: 75px 20px;
	background: #eee;
}

.access .inner {
	max-width: 1100px;
	margin: 0 auto;
}

.access .heading {
	margin-bottom: 50px;
}

.access .map {
	border: 5px solid #000;
	background: #fff;
	margin-bottom: 30px;
}

.access .map iframe {
	width: 100%;
}

.access .info h3 {
	font-weight: 700;
	margin-bottom: 10px;
	font-size: 1.1rem;
}

.access .info ul {
	list-style: disc;
	margin: 0 20px 30px;
}

.access .info p {
	margin-bottom: 30px;
}

.access .info p.ctn {
	border: 2px dotted #c00;
	padding: 5px 10px;
	margin: 0 0 5px;
	font-weight: 700;
	color: #c00;
	display: inline-block;
	
}


@media screen and (max-width:1024px) {
	.access {
		padding: 30px 15px 10px;
	}

	.access .heading {
		margin-bottom: 30px;
	}

	.access .map {
		border: 3px solid #000;
		margin-bottom: 20px;
	}

	.access .info h3 {
		font-size: 0.9rem;
	}

	.access .info ul {
		margin: 0 15px 20px;
		font-size: 0.8rem;
	}

	.access .info p {
		margin-bottom: 20px;
		font-size: 0.8rem;
	}
}

.btns {
	text-align: center;
	display: flex;
	justify-content: center;
	align-content: center;
	margin-bottom: 20px;
}

.btns .btn a {
	display: inline-block;
	background: #000;
	color: #fff;
	text-decoration: none;
	border-radius: 1000px;
	padding: 10px 40px;
	margin: 0 10px;
	position: relative;
}

.btns .btn a:before {
	content: "▼";
	font-size: 8px;
	line-height: 1;
	position: absolute;
	top: calc(50% - 4px);
	right: 10px;
	transform: rotate(-90deg);
}


@media screen and (max-width:767px) {
	.btns {
		display: block;
		margin: 0;
	}	
	.btns .btn a {
		display: block;
		margin: 0 0 15px;
		padding: 10px 25px;
		font-size: 0.9rem;
	}
}

/*=========================================================
2024年 藤花祭
=========================================================*/

.old {
	text-align: center;
	padding: 75px 20px;
	background: #fef1cc;
}

.old a img {
	width: 100%;
	max-width: 700px;
	border: 2px solid #fff;
	border-radius: 10px
}

.old a:hover {
	opacity: 0.7;
}

@media screen and (max-width:767px) {
	.old {
		padding: 30px 15px;	
	}
}

/*=========================================================
お問い合わせ
=========================================================*/

.contact {
	text-align: center;
	padding: 75px 20px;
}

.contact a {
	display: inline-block;
	border: 5px solid #000;
	border-radius: 10px;
	padding: 25px 45px 15px;
	background: #fff;
}

.contact a:hover {
	opacity: 0.7;
}

@media screen and (max-width:1024px) {
	
	.contact {
		text-align: center;
		padding: 30px 15px;
	}

	.contact a {
		border: 4px solid #000;
		padding: 20px 30px 12px;
	}
	
}

/*=========================================================
footer
=========================================================*/

#footer {
	background: #4532af;
	color: #fff;
	text-align: center;
	padding: 30px;
	font-size: 0.8rem;
}

@media screen and (max-width:767px) {
	#footer {
		padding: 30px 15px;
		font-size: 0.6rem;
	}	
}

/*=========================================================
lower
=========================================================*/

.pageTitle {
	text-align: center;
	padding: 45px;
	font-size: 2.4rem;
	font-weight: 700;
	font-family: "kaisei-tokumin", sans-serif;
	background: #faecef url(../images/bg.png);
	background-size: auto 100%;
	color: #fff;
}

.pageTitle h1 {
	border-bottom: 2px dotted #f3f609;
	display: inline-block;
	padding-bottom: 10px;
	margin-bottom: 10px;
}

.pageTitle p {
	font-size: 1.2rem;
	color: #f3f609;
}

.kikaku {
  background: #fef1cc;padding: 45px 0;
}

.kikaku .inner {
	max-width: 1100px;
	margin: 0 auto;
	 padding: 0 20px;
}

.kikakuList {
	display: flex;
	width: 100%;
	flex-wrap: wrap;
}

.kikakuList li {
	width: 32%;
	margin: 0 2% 30px 0;
	background: #fff;
	background-size: 100%;
	box-sizing: border-box;
	min-height: 200px;
	padding: 30px;
	text-align: center;
	border: 5px double #6a6fc1;
	border-radius: 10px;
	position: relative;
}

.kikakuList li:before {
	content: "";
	display: block;
	width: 80px;
	height: 106px;
	position: absolute;
	top: -10px;
	left: -12px;
	background: url("../images/frame_star.png");
	background-size: contain;
	transform: rotate(-180deg)
}

.kikakuList li:after {
	content: "";
	display: block;
	width: 80px;
	height: 106px;
	position: absolute;
	bottom: -10px;
	right: -12px;
	background: url("../images/frame_star.png");
	background-size: contain;
}

.kikakuList li h2 {
	font-size: 1.2rem;
	font-weight: 700;
	font-family: "kaisei-tokumin", sans-serif;
	border-bottom: 3px double #4532af;
	padding-bottom: 10px;
	margin-bottom: 15px;
}

.kikakuList li:nth-child(3n){
	margin-right: 0;
}


.kikakuList li table {
	text-align: left;
	width: 100%;
	box-sizing: border-box;
}

.kikakuList li tr {
	width: 100%;
	box-sizing: border-box;
}

.kikakuList li th {
	display: inline-block;
	background: #6a6fc1;
	padding: 5px;
	border-radius: 5px;
	color: #fff;
	width: 70px;
	text-align: center;
	font-weight: 700;
}

.kikakuList li th.n {
	background: #ccc;
}


.kikakuList li td {
	display: block;
	padding: 10px;
	font-size: 0.9rem;
	background: #f6f6f6;
	margin: 5px 0px 10px;	
	width: 100%;
	box-sizing: border-box;
	min-height: 40px;
}

@media screen and (max-width:1024px) {
	.kikakuList li {
		width: 49%;
		margin: 0 2% 30px 0;
	}	
	.kikakuList li:nth-child(2n){
		margin-right: 0;
	}
	.kikakuList li:nth-child(3n){
		margin-right: auto;
	}
	
}

.comitte .kikakuList li {
	width: 49%;
	margin: 0 2% 30px 0;
}	
.comitte .kikakuList li:nth-child(2n){
	margin-right: 0;
}
.comitte .kikakuList li:nth-child(3n){
	margin-right: auto;
}

@media screen and (max-width:767px) {
	
	.pageTitle {
		text-align: center;
		padding: 15px;
		font-size: 1.5rem;
	}

	.pageTitle h1 {
		border-bottom: 2px dotted #f3f609;
		display: inline-block;
		padding-bottom: 7px;
		margin-bottom: 7px;
	}

	.pageTitle p {
		font-size: 1rem;
	}
	
	.comitte .kikakuList li,
	.kikakuList li {
		width: 100%;
		margin: 0 0 30px 0;
	}	
	.comitte .kikakuList li:nth-child(2n),	
	.kikakuList li:nth-child(2n){
		margin-right: 0;
	}
	.comitte .kikakuList li:nth-child(3n),	
	.kikakuList li:nth-child(3n){
		margin-right: 0;
	}
	
}