html, body, div, span, applet, object, iframe,
h1, h2, h3, fea, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video{
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{	display: block;}
body{ line-height: 1;}
ol, ul{ list-style: none;}
blockquote,q{ quotes: none;}
blockquote:before, blockquote:after,q:before,q:after{ content: ''; content: none;}
table{ border-collapse: collapse; border-spacing: 0;}
strong{font-weight: bold !important;}
/*==============================
  common
================================*/
body{
	width: 100%;
  line-height: 1.4;
  font-family: "Yu Gothic", "游ゴシック", "YuGothic", sans-serif !important;
  margin: 0;
  font-size: 1.6rem;
  color: #000;
	height: 100%;
	background-image: url(./img/bg.jpg);
	background-repeat: repeat-y !important;
	background-position: top center !important;
	background-size: 100% auto !important;
}
body.top-body{
	background-repeat: repeat-y;
	background-position: top center;
	background-size: contain;
}
html{ font-size: 62.5%;}
a{ text-decoration: none;
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", sans-serif !important;
}
a:hover img{ opacity: 0.7;}
img{ max-width: 100%; height: auto;}
h1,h2,h3,h4,h5{
	font-family: "Yu Gothic", "游ゴシック", "YuGothic", sans-serif !important;
}
h2{
	color: #000;
	font-size: 30px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 20px;
}
.wrap{
  width: 100%;
	min-height: 100%;
	margin: 0 auto;
  background-size: cover;
  background-attachment: fixed;
  background-repeat: no-repeat;
  background-position: center center;
}
.inner{
  width: 96%;
  max-width: 100%;
  min-width: 380px;
  margin: 0 auto;
}

.clear{
	clear:both;
	display:block;
	overflow:hidden;
	visibility:hidden;
	width:0;
	height:0;
}
.clear:after{
	clear:both;
	content:' ';
	display:block;
	font-size:0;
	line-height:0;
	visibility:hidden;
	width:0;
	height:0;
}
.hide{ display: none !important;}
dt{float: left;}
.container{
	width: 100%;
	max-width: 1280px;
	margin: 0;
}
.twice{ text-align: left;}
h2,h3,.submit,.tc_red{ text-align: center;}
.submit{
	font-weight: bold;
	text-align: center;
	margin: 10px;
}
.block{
	position: relative;
	width: 100%;
	display: inline-block;
	background-color: #8157a1;
	color: #fff;
	padding: 10px 0;
	text-align: center;
	font-size: 18px;
	text-decoration: none;
	margin-top: 10px;
}
.block::after{
	position: absolute;
	top: 43%;
	right: 5px;
	content: '';
	margin-top: -5px;
	border: 10px solid transparent;
	border-top-width: 8px;
	border-bottom-width: 8px;
	border-left-color: #fff;
}
.tleft{ text-align: left !important;}
.tright{ text-align: right !important;}
.tcenter{ text-align: center !important;}
.fwb{font-weight: bold;}
@media screen and (min-width: 768px){
/*==============================
  general
================================*/
.pc{display: inline;}
.mobile{display: none !important;}
.box{
	border: 1px solid #ccc;
	width: 293px;
	height: 455px;
	padding: 10px;
	margin-bottom: 30px;
}
.twice .box{ float: left;}
.fleft{ float: left !important;}
.fright{ float: right !important;}
.fnone{ float: none !important;}
.fwb{ font-weight: bold;}
.mt10{ margin-top: 10px;}
.mt20{ margin-top: 20px;}
.mt30{ margin-top: 30px;}
.mt40{ margin-top: 40px;}
.mt50{ margin-top: 50px;}
.mt60{ margin-top: 60px;}
.mt70{ margin-top: 70px;}
.mt80{ margin-top: 80px;}
.mt90{ margin-top: 90px;}
.mb10{ margin-bottom: 10px;}
.mb20{ margin-bottom: 20px;}
.mb30{ margin-bottom: 30px;}
.mb40{ margin-bottom: 40px;}
.mb50{ margin-bottom: 50px;}
.mb60{ margin-bottom: 60px;}
.mb70{ margin-bottom: 70px;}
.mb80{ margin-bottom: 80px;}
.mb90{ margin-bottom: 90px;}
.ml10{ margin-left: 10px;}
.ml20{ margin-left: 20px;}
.ml30{ margin-left: 30px;}
.ml40{ margin-left: 40px;}
.ml50{ margin-left: 50px;}
.ml60{ margin-left: 60px;}
.ml70{ margin-left: 70px;}
.ml80{ margin-left: 80px;}
.ml90{ margin-left: 90px;}
.mr10{ margin-right: 10px;}
.mr20{ margin-right: 20px;}
.mr30{ margin-right: 30px;}
.mr40{ margin-right: 40px;}
.mr50{ margin-right: 50px;}
.mr60{ margin-right: 60px;}
.mr70{ margin-right: 70px;}
.mr80{ margin-right: 80px;}
.mr90{ margin-right: 90px;}
.w10{ width:10% !important;}
.w20{ width:20% !important;}
.w30{ width:30% !important;}
.w40{ width:40% !important;}
.w50{ width:50% !important;}
.w60{ width:60% !important;}
.w70{ width:70% !important;}
.w80{ width:80% !important;}
.w90{ width:90% !important;}
.w100{ width:100% !important;}
.m_s{margin: 3% auto;}
.m_m{margin: 5% auto;}
.m_l{margin: 7% auto;}
.main{ font-size: 16px; margin-bottom: 30px;}
.main-content{ margin: 0 auto; max-width: 1000px; width: 100%;}
.main-area{ margin: 0 auto; max-width: 1000px; position: relative;}
.flexbox{display: flex;}
.flexbox_c{display: flex; justify-content: center;}
.flexbox_sb{display: flex; justify-content: space-between;}
.flexbox_sa{display: flex; justify-content: space-around;}
.flexbox_fs{display: flex; justify-content: flex-start;}
.flexbox_fe{display: flex; justify-content: flex-end;}
.fb_reverse{flex-direction: row-reverse;}
.fb_is{align-items: flex-start;}
.fb_ie{align-items: flex-end;}
.fb_cn{align-items: center;}
.fw_w{flex-wrap: wrap;}
.h_b{font-size: 20px; color: #62d8f4; text-align: left; font-weight: bold;}
.imgsdw{box-shadow:5px 5px 10px rgba(0,0,0,.1);}
.bread{margin: 1vw; color: #62d8f4;}
.sub-title{text-align: left; margin-top: 5%;}
}
/*==============================
  header
================================*/
header{
	padding-top: 100px;
}
.banner{text-align: center;}
.header_txt{margin-top: 3%; text-align: center;}
.header_txt h2{
	font-size: 48px;
	font-weight: bold;
}
.header_txt p{
	font-size: 30px;
	font-weight: bold;
}
.header_txt span{
	font-size: 44px;
	color: #c80200;
}
.menu_pc{
	position: absolute;
	top: 0;
	width: 100%;
}
#navi {
	position: relative;
	display: block !important;
	max-width: 1280px;
	margin: 0 auto;
}
#navi.open { display: block;}
#navi.close { display: none;}
.title{ float: left; margin: 1% 0 0 1%; width: 30%;}
.descriptions{font-size: 14px;}
.h1-title{margin: 3% 0 0 1%;}
.main-title, .sub-title{font-size: 24px; color: #000; font-weight: bold;}
.navi-first{ border-left: none !important;}
#navi ul{
	display: flex;
	justify-content: space-between;
	width: 95%;
	margin: 0 auto;
}
#navi li{
	background: rgba(255,255,255,.5);
	margin:
}
#navi li.menu_contact{
	background: #0859a9;
}
#navi li a{
	display: block;
	padding: 1vw .5vw 0;
	margin: 1vw 0 1vw;
	font-size: 16px;
	font-weight: bold;
	color: #000;
}
#navi li.menu_contact a{
	color: #fff;
	display: flex;
	align-items: center;
	gap: 5px;
	padding: 5px 20px;
}
.active,#navi li a:hover{ color: #c80200;}


/*==============================
  footer
================================*/
.footer{
	font-size: 14px;
	text-align: center;
}
 #footer_in{
	padding: 3% 1% 0;
	text-align: left;
}
.copylight{ padding: 10px 0;}
a.pagetop{
	position: absolute;
	right: 10px;
	top: -4%;
}
p#copy{ margin-top: 30px;}

/*==============================
  toppage
================================*/
.top-body{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}
.top-visual-wrapper {
  position: relative;
  width: 100%;
	height: 75vh;
  overflow: hidden;
	padding: 1px 0;
}

.top-slider {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 80%;
	height: 100%;
}

.top-slider div {
	height: 100%;
}

.top-slider img {
  width: 100%;
	height: 100%;
  object-fit: cover;
	display: block;
	border-top-right-radius: 30px;
	border-bottom-right-radius: 30px;
}

.main{
	position: relative;
	flex-shrink: 1;
	flex-grow: 0;
	z-index: 2;
	width: 90%;
	max-width: 1280px;
	margin: 0 auto;
	padding: 1vw 0;
	display: flex;
	justify-content: space-between;
}
.main section{
	width: 45%;
}
.top-bannar{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-around;
}
.catch{
	width: 100%;
	color: #fff;
	padding: 10px 0;
	font-size: 2.8vw;
	font-weight: bold;
	background-color: #ffc144;
	border-radius: 15px;
	text-align: center;
}
.catch span{
	font-size: 1.5vw;
}
.catch:hover{
	opacity: .7
}
.top-area{
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
}
.link-half{
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.main img{margin: 1% 0;}

/*==============================
  child page
================================*/
.blue-title{
	color: #2528b3;
	line-height: 2;
	font-size: 36px !important;
}

.concept-message{
	font-family: "Noto Serif JP", serif;
	font-size: 48px;
	font-weight: bold;
	line-height: 2;
}
.concept-message span{
	font-size: 30px;
}
.page-title{
	position: relative;
	display: inline-block;
	font-size: 36px;
	font-weight: bold;
	text-align: center;
	margin: 0 auto 5%;
	padding: 5px 0 10px;
}
.page-title::after{
	content: '';
	position: absolute;
	left: -5px;
  right: -5px;
	height: 3px; /* 下線の太さ */
	background: #0859a9;
	display: block;
}

/* akinai */
.shoplist{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-wrap: wrap;
}
.shopitem{
	width: 45%;
	margin: 1% auto;
	text-align: left;
	min-height: 120px;
	border: 3px solid #ed6c00;
}
.shopitem > *{
	width: 90%;
	padding: 15px;
	margin: auto;
}
.shopitem > h5{
	padding: 15px 10px 0 ;
	font-weight: bold;

}
.shopitem span{
	font-weight: normal;
}


/* omoi */
.omoi_btn{
	color: #fff;
	font-size: 24px;
	font-weight: bold;
	background-color: #ed6c00;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	max-width: 480px;
	padding: 30px 0;
	width: 80%;
	border-radius: 5px;
	margin: 3% auto;
}
.stage-tilte{
	font-size: 24px;
	font-weight: bold;
	background-color: #ed6c00;
	padding: 10px;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	justify-content: center;
	max-width: 380px;
	width: 70%;
	margin: 5% auto;
}
.stage-area{
	border: 2px solid #ed6c00;
	padding: 20px;
	font-size: 20px;
	text-align: left;
	margin: 5% auto;
}
.stage-area a,
.stage-area a:visited{
	color: #0066ff;
}
.stage-area span{
	color: #ff0000;
}
.page{padding: 5%; width: auto !important;}
.page-area,
.page-area2{
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fff;
	padding: 5%;
	text-align: center;
}
.page_content{

}
.area-size-l,
.area-size-m,
.area-size-s{
	width: 100%;
	margin: 0 auto;
}
.area-size-l{
	max-width: 840px;
}
.area-size-m{
	max-width: 650px;
}
.area-size-s{
	max-width: 420px;
}
.txt-form{font-size: 18px; max-width: 1000px; margin: 0 auto;}
.txt-form p{margin: 3% 0;}
.txt{ text-align: left; margin: 3% 5vw!important;}
.page-area h1{font-size: 30px; font-weight: bold; text-align: center;}
.page-area h2{font-size: 30px; font-weight: bold; margin: 3% auto;}
.page-area h3{font-size: 24px; margin: 3% auto;}
.child-title{text-align: center; display: inline-block;}
.child-title h1{
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 48px;
	padding: 10px;
	line-height: 0.8;
}
.child-title h1 span{font-size: 132px;}
#warabe{
	color: #d90e69;
	border-bottom: 5px solid #d90e69;
}
#omoi{
	color: #27a0fd;
	border-bottom: 5px solid #27a0fd;
}
#syou{
	color: #57c43a;
	border-bottom: 5px solid #57c43a;
}
#tohyo{
	color: #57c43a;
	border-bottom: 5px solid #57c43a;
}
#kyousan{
	color: #01a0b3;
	border-bottom: 5px solid #01a0b3;
}
#insta{
	color: #e422c2;
	border-bottom: 5px solid #e422c2;
}
#toiawase{
	color: #000;
	border-bottom: 5px solid #184bb1;
}
.insta-item,
.flex-item{
	width: 45%;
	margin: 3%;
	text-align: left;
}
/* omoi */
.thanks{
	background: #fbe68d;
	padding: 3%;
}
.h_thanks{
	font-family: sans-serif;
	font-size: 30px;
}
.thanks-list{	margin: 5% 0; border-bottom: 1px dotted #000;}
.thanks-list ul{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	margin: 1% 0;
	gap: 10px;
}
.thanks-list li{margin: 1% 0 5%; text-align: left;}
.list1, .list1 a{ font-size: 22px;}
.list2, .list2 a{ font-size: 28px;}
.list3, .list3 a{ font-size: 34px;}
.list1 li,
.list2 li{ width: 31%;}
.list3 li{ width: 48%;}

.list1 span,
.list2 span,
.list3 span,
.label-area span{
	display: block;
	padding: 5px;
	width: 120px;
	font-size: 20px;
	margin-bottom: 3%;
	text-align: center;
}
.yokaichi{ background-color: #bad9fd;}
.notogawa{ background-color: #9fddc8;}
.eigenji{ background-color: #ddc89f;}
.gokasho{ background-color: #db9fdd;}
.gamou{ background-color: #9fc2dd;}
.kotou{ background-color: #afa7f0;}
.aitou{ background-color: #dd9fcb;}
.kusatsu{ background-color: #e8e790;}
.hino{ background-color: #ddad9f;}
.omihachiman{ background-color: #a3dd9f;}
.azuchi{ background-color: #dd9f9f;}
.ryuo{ background-color: #a49fdd;}
.hikone{ background-color: #f4c7ec;}
.yasu{ background-color: #cfdd9f;}
.ritto{ background-color: #dddb9f;}
.moriyama{background-color: #86eef7;}
.aiso{background-color: #f7e686;}
.koga{background-color: #fdb56f;}
.all{background-color: #b0e368;}
/*==============================
  company
================================*/
.h_bbdual{
	width: 80%;
	font-size: 30px;
	font-weight: bold;
	padding: 1% 0;
	color: #62d8f4;
	border-bottom:5px solid #bfbfc1;
	position: relative;
	margin:3% auto;
}
.h_bbdual:before{
	content:"";
	display:block;
	width:25%;
	border-bottom:5px solid #62d8f4;
	position:absolute;
	bottom:0;
	margin-bottom:-5px;
}
.pr-table{
	width: 100%;
	max-width: 650px;
	border-top: #000 2px dotted;
	margin: 3% auto;
}
.table-head,
.table-contents{
	white-space: nowrap;
	vertical-align: middle;
	text-align: left;
}
.table-line{border-bottom: #000 2px dotted;}
.table-head{padding: 2% 0; width: 10vw; text-align: center;}
.table-contents{padding: 2% 0 2% 5%;}
.th_g{background: #eeeeee;}

/*==============================
	googlemap
================================*/
.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/*==============================
	craft
================================*/
.menu_pc, .craft_pc,.pc_img{display: inline;}
.pc_img{max-width: 1000px;}
.menu_mobile, .craft_mobile,.mobile_img{display: none !important;}
/*==============================
  company
================================*/
.privacy_policy ol{	list-style-type: decimal;	padding-left: 30px;}
.privacy_policy li{	font-size: 16px; margin: 15px 0;}
.commercial table{ border: none;	margin-bottom: 30px;}
.commercial th{
	width: 250px;
	color:  #e6e6e6;
	font-size: 18px;
	padding: 10px 0;
	text-align: left;
}
.commercial td{	font-size: 18px;}
/* contact form7 */
.contact-area{
	max-width: 800px;
	width: 100%;
	margin: 5% auto;
	text-align: left;
}
.wpcf7{ margin: 96px 0;}
.asterisk{ margin: 0 0 0 0.2em; color: #f5637a;}
.wpcf7 span.wpcf7-not-valid-tip{ font-size: 80%;}
.wpcf7 input[type="text"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="email"],
.wpcf7 select,
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.wpcf7 textarea{
	background-color: #fff;
	color: #333;
	width: 95%;
	border: 1px solid #ddd;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 10px;
	box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}
.wpcf7 input[type="number"]{
	width: 20%;
}
input.wpcf7-form-control.wpcf7-text.summoney{
	width: 40%;
}
.wpcf7-form p{ padding: 10px 0;}
/* 送信ボタン */
input.sub-btn{
	width: 300px;
	height: 60px;
	background: #F90;
	color: #FFF;
	font-size: 1.1em;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: 1px solid #ffae13;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
/* 送信ボタンホバー */
input.sub-btn:hover{ background: #FFF;	color: #F90;}
input[type="password"]{
	background-color: #fff;
	color: #333;
	border: 1px solid #ddd;
	font-size: 100%;
	padding: 0.5em;
	border-radius: 4px;
	box-shadow: 1px 1px 3px rgba(0,0,0,.1) inset;
}
input.subon{
	width: 150px;
	height: 40px;
	background: #F90;
	color: #FFF;
	font-size: 20px;
	font-weight: bold;
	letter-spacing: 0.2em;
	border: 1px solid #ffae13;
	-webkit-transition: 0.3s;
	-moz-transition: 0.3s;
	-o-transition: 0.3s;
	-ms-transition: 0.3s;
	transition: 0.3s;
}
/* 送信ボタンホバー */
input.subon:hover{ background: #FFF;	color: #F90;}
/*==============================
  form　各フォーム
================================*/
.sponsorship-gift,
.sponsorship-gift h2,
.sponsorship-gift h3{
	text-align: left;
	font-size: 20px;
}
.sponsorship-gift span{
	font-weight: bold;
}
.sponsorship-gift img{
	margin: 20px 0;
}
.sponsorship-gift h2{
	font-weight: normal;
	font-size: 30px;
	margin: 30px 0 0;
}
.sponsorship-gift h3{
	font-weight: bold;
	font-size: 30px;
	margin: 20px 0 0;
}
.sponsorship-gift h2::before{
	content: "■";
	color: #66ccff;
}
.sponsorship-gift h3::before{
	content: "・";
	color: #000;
}
.sponsorship-gift p,
.sponsorship-gift li{
	text-indent: -1em;
	padding-left: 1em;
}
.form-title {
	background: #aaedf7;
  display: block;
  padding: 15px;
  width: 70%;
	margin: 0 auto;
}
.form-table {
	table-layout: fixed;
	width: 100%;
	margin: 3% auto;
	text-align: left;
	vertical-align: middle;
	font-weight: bold;
}
.deadline {
	background: #eb6100;
	font-size: 24px;
	font-weight: bold;
	padding: 1.5%;
	color: #fff;
}
.caution{
	background: #ccc;
	font-size: 24px;
	font-weight: bold;
	padding: 1.5%;
}
.required { font-size: 14px;}
.red { color: #ff0000;}
.gray {background: #e5e5e5;}
.form-tr {border: 1px solid #ccc;}
.form-th, .form-td {padding: 3%;}
.form-th {vertical-align: top;}
.form-td {}
.signature{ text-align: right; margin: 5% 0;}
.wpcf7 input[type="submit"],
input[type="submit"],
.votebtn {
	color: #eb6100;
	background-color: #ddbda7;
	width: 300px;
	padding: 15px;
	border: 3px solid #eb6100;
	border-radius: 10px;
	font-size: 30px;
}
