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;}
/*==============================
  common
================================*/
html{ font-size: 62.5%;}
a{ text-decoration: none; color: inherit;}
a:hover img{ opacity: 0.7;}
img{ max-width: 100%; height: auto;}
body{
	width: 100%;
  line-height: 1.4;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  margin: 0 auto;
  font-size: 1.6rem;
  color: #000;
	height: 100%;
}
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;
}
article.main{ width: 100%; margin: 0 auto;}
.twice{ text-align: left;}
h2,h3,.subtit,.tc_red{ text-align: center;}
.subtit{
	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;}
.ff_min{
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3",
	 "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
	 "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.imgsdw{filter: drop-shadow(3px 3px 5px rgba(0,0,0,.25));}
/*==============================
  commoncss
================================*/

.edit-template h1,
.news-template h1,
.front-template h2 {
	display: block;
  position: relative;
	font-size: 72px;
  padding: 1.5rem 2rem;
	margin: 5% auto;
  text-align: center;
}
.edit-template h1,
.news-template h1{
	display: inline-block;
	border-bottom: 5px solid #dfe9f2;
}
.front-template h2 {
	margin: 5% auto 2%;
	font-size: 36px;
}
.edit-template h1 span,
.news-template h1 span,
.front-template h2 span {
	font-size: 32px;
	color: #dfe9f2;
	padding-bottom: 2rem;
}

.news-template h2,
.edit-template h2,
.news-template h3,
.edit-template h3,
.news-template h4,
.edit-template h4,
.news-template h5,
.edit-template h5{
	text-align: left;
	margin: 1% 0;
	padding: 5px;
}
.news-template h2,
.edit-template h2 {
	font-size: 24px;
	font-weight: bold;
  position: relative;
  padding: 1.5rem 1rem;
  border-bottom: 5px solid #dfe9f2;
}
.news-template h2 {
	padding: 0 1rem 1.5rem;
}

.news-template h3,
.edit-template h3{
	font-size: 22px;
	font-weight: bold;
}

.news-template h4,
.edit-template h4 {
	font-size: 20px;
	font-weight: bold;
  position: relative;/*相対位置*/
  padding-left: 1.5em;/*アイコン分のスペース*/
  line-height: 1.4;/*行高*/
  color: black;/*文字色*/
}

.news-template h4:before,
.edit-template h4:before {
  font-family: "Font Awesome 5 Free";/*忘れずに*/
  content: "\f111";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.4em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0em;/*アイコンの位置*/
	color: #dfe9f2;
}
.news-template h5,
.edit-template h5{
	font-size: 18px;
	font-weight: bold;
}
.news-template p,
.edit-template p{
	padding: 10px 0;
	line-height: 1.8;
}
/*==============================
	top
================================*/

@media screen and (min-width: 768px){
/*==============================
  PC_general
================================*/
br.mbbr{display: none;}
.mobile{display: none !important;}
.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;}
.main{ font-size: 16px; margin-bottom: 30px;}
.main-area{ margin: 5% auto; width: 100%; max-width: 1080px;}
.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;}
.flexbox_c{display: flex; justify-content: center;}
.fw_w{flex-wrap: wrap;}
.fb_reverse{flex-direction: row-reverse;}
.fb_is{align-items: flex-start;}
.fb_ie{align-items: flex-end;}
.fb_cn{align-items: center;}

/*==============================
	responsive
================================*/
.menu_pc, .craft_pc{display: inline;}
.menu_mobile, .craft_mobile{display: none !important;}

}
/*==============================
  commoncss
================================*/
h1.page-title,
h2.page-title{
	width: 30%;
	margin: 3% auto 5%;
	color: #000;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
}
.btnsdw{
	box-shadow:5px 5px 5px rgba(0,0,0,.25);
	padding: 10px 0;
}
/*==============================
  header
================================*/
.mainlogo{
	margin: 2rem;
}
.mainlogo a{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
}
.mainlogo h1{
	font-size: 26px;
	font-weight: bold;
}
.mainlogo h1 span{
	margin-left: 10px;
}
.banner{
	position: relative;
}
.banner_txt{
	position: absolute;
	top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
	color: #fff;
	text-align: center;
	gap:2rem;
}
.banner_txt1{
	font-size: 4rem;
}
.banner_txt2{
	font-family: "Arial";
	font-size: 6rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 2rem 0;
}
.banner_txt3{
	font-size: 3.5rem;
}
.header-content {
	position: relative;
  width: 100%;
	display: flex;
	justify-content: space-between;
	margin-bottom: -2rem;
	z-index: 99;
}
.title{
	margin: 1%;
	text-align: center;
	font-size: 12px;
}
.bannerimg{vertical-align: bottom;}
.nav-button { display: none;}
.button{
	display: flex;
	justify-content: flex-end;
}
.button li{margin: 0 10px; text-align: left;}
.link_button{ margin: 0 2%;}
.sns{position: absolute; top: 0;right: 1vw;}
nav#navi{
	display: flex !important;
	align-items: stretch;
	text-align: center;
	justify-content: space-between;
	max-width: 1080px;
	margin: 0 auto;
	position: relative; /* 追加 */
}
#navi > ul{
	display: flex;
	justify-content: space-around;
	padding: 5rem 1rem 0;
	background: #535353;
	width: 100%; /* 追加 */
}
nav#navi > ul > li{
	flex:1;
	position: static; /* relative から static に変更 */
	padding: 1rem 2rem 3rem;
}
nav#navi li a{
	position: relative;
	display: block;
	text-align: center;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	white-space: nowrap;
}
nav .menu,
nav ul#navi li{
	display: block;
	width: 100%;
	text-align: center;
	vertical-align: middle;
}
nav#navi li.active a, nav#navi li a:hover{
	border-bottom: 2px solid #fff;
}
.post-thumbnail{
	text-align: center;
}

/* サブメニューのスタイル */
ul.sub-menu{
	display: flex !important;
	justify-content: center;
	overflow: hidden;
	opacity: 0;
	height: 0;
	margin: 0 !important;
	position: absolute;
	width: 100%;
	top: 100%;
	left: 0;
	background: #bfbdbe;
	z-index: -999;
	transition: opacity 0.3s, height 0.3s;
}
ul.sub-menu .sub-menu{
 background: #e5e5e5;
}
#navi ul.sub-menu li{
	display: block;
	width: auto;
	word-break: break-all;
	white-space: nowrap;
	background: transparent; /* 背景を透明に */
	color: #000;
	transition: .1s;
	padding: 1rem; /* メインと同じ */
}

#navi ul.sub-menu li:hover > a{
	color: #868686;
	border-bottom: 0px;
}

#navi ul.sub-menu li a{
	padding: 0; /* パディングをリセット（親liで設定） */
	box-sizing: border-box;
	font-size: 14px;
	font-weight: 500;
	text-align: center;
	color: #000;
	font-weight: bold;
}

/* ホバー時の表示 */
#navi li:hover > ul.sub-menu{
	overflow: visible;
	height: auto;
	opacity: 1;
	z-index: 1000;
}
/*==============================
  footer
================================*/
.footer{
	background: url('./img/footer.jpg');
}
#footer_in{
	padding: 1% 5% 2%;
	text-align: left;
}
.footer-main{
	max-width: 1180px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin: 3% auto 0;
	gap: 3%;
}
.f_menu{
	width: auto;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 5%;
}
.f_menu ul {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.f_menu li {
	margin: 3px 0;
	padding: 0;

}
.f_menu li a,.f_menu li a:visited {
	font-size: 16px;
	display: block;
	white-space: nowrap;s
}
.f_address{
	font-size: 16px;
}
.f_address h2{
	font-size: 28px;
	font-weight: normal;
	color: #fff;
	text-align: left;
	padding: 10px 0;
	margin-bottom: 20px;
}
.f_address h2 span{
	font-size: 18px;
}
.f_address > p{ margin: 5px 0;}

.copylight{ text-align: center; padding: 1%; margin: 0; font-size: 12px;}

/*==============================
  toppage
================================*/
.bannermainimg{
	vertical-align: bottom;
	min-height: 55vh;
	max-height: 800px;
	object-fit: cover;
	overflow: hidden;
}
.news{
	background: #dfe8f1;
	overflow: hidden;
	padding-bottom: 3rem;
}
.top_message{
	background: url('./img/top.jpg') center center / cover no-repeat fixed;
	overflow: hidden;
}
.top_message_txt{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	align-items: flex-start;
	width: 80vw;
	max-width: 800px;
	padding: 3rem;
	margin: 5% auto;
	background-color: rgba(255, 255, 255, 0.5);
	gap: 2.5rem;
}
.top_message_txt p{
	margin-bottom: 2rem;
}
.top_message img{
	max-width: 220px;
}

.siteimg{
	background: #dfe7f1;
	gap: 5%;
	margin: 0 auto;
	padding: 5rem;
	overflow: hidden;
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
.siteimg > img{
	max-width: 40vw;
}
.sitetxt{
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 3vw;
}
.topmenu{
	background: #535353;
	width: 100%;
	padding: 2rem 0 4rem;
}
.topmenu li{
	width: 80%;
	margin-left: auto;
	padding: 1.5rem;
	border-bottom: 1px solid #fff;
}
.topmenu a,
.topmenu a:visited{
	color: #fff;
}
.notifications {
	width: 100%;
	max-width: 1080px;
	margin: 1% auto;
	padding: 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 3%;
}
.notification{
	display: block;
	background-color: #fff1f6;
	width: 100%;
	max-width: 480px;
	margin: 1.5% 0;
}
.notification > a{
	display: flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	font-size: 16px;
	line-height: 1.5;
	gap: 10px;
	padding: 20px;
}
.activity{
	margin: 5% auto;
	max-width: 1080px;
	width: 90%;
}
.activity-item{
	display: flex;
	justify-content: space-around;
	margin: 3% auto;
}
.activity-report{
	border: 1px solid #dfe9f2;
	padding: 10px;
	background-color: #fff;
	max-width: 320px;
}
.activity-report img{
	width: 100%;
	max-width: 320px;
	height: auto;
	max-height: 210px;
	object-fit: cover;
}
.activity-report div{
	padding: 10px;
}
.activity-report h3{
	font-weight: bold;
	font-size: 24px;
	color: #dfe9f2;
	text-align: left;
}
.news-list{
	width: 80%;
	max-width: 960px;
	margin: 3% auto;
}
.news-list li{
	width: 100%;
	padding: 20px 10px;
	border-bottom: 1px solid #000;
}
.news-list li a{
	font-size: 20px;
	color: #000;
}
.thumbnail{
	width: 100%;
	max-width: 200px;
	height: auto;
	max-height: 150px;
	object-fit: cover;
	margin-right: 5%;
}
.slogan-area{
	background: url("./img/bg.png") left bottom;
	background-repeat: no-repeat;
}
.slogan-area > div{
	padding: 0 0 5vw 5vw;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 5%;
	line-height: 2;
}
.slogan-area-txt{
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: space-evenly;
	gap: 5%;
}
.slogan-area-txt img{
	width: 80%;
}
.linkbox{
	display: flex;
	flex-direction: column;
	gap: 1.5vw;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3",
	 "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
	 "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;

}
.linkbox > img{
	border: 1px solid #ccc;
}
.linkbox span{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	font-size: 30px;
	gap: 3%;
}
.btn {
  display: block;
  background: #535353;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 200px;
  margin: 3% auto;
  padding: 2rem 6rem;
  font-weight: bold;
  color: #ffffff;
  transition: 0.5s;
  font-size: 20px;
  box-sizing: content-box;
  position: relative; /* 疑似要素配置に必要 */
}

/* 疑似要素で「＞」を追加 */
.btn::after {
  content: "＞";
  position: absolute;
  right: 1.5rem;
  top: 50%;
  transform: translateY(-50%);
  font-weight: bold;
  color: #ffffff;
}

.btn_p {
	color: #fff;
	background: #dfe9f2;
}
.facebook_wrap{
  margin-left: auto;
  margin-right: auto;
  width: 80%;
	max-width: 500px;
	margin: auto;
}

.fb-page,
.fb-page span,
.facebook_wrap iframe{
  width: 100% !important;
  height: 500px !important;
	margin: auto;
}

/*==============================
  page
================================*/
.news-template,
.edit-template{
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	font-size: 16px;
}
.edit-template section{
	margin: 5%;
}
.bread{
	font-size: 14px;
	padding: 10px 25px;
	text-align: left;
}
.bread a,
.bread a:visited{color: #000; font-weight: bold;}

.company-table{
	width: 100%;
	max-width: 1000px;
	margin: 5% auto;
}
.company-table{ font-weight: bold;}
.company-table tr{ border-bottom: 1px solid #000; }
.company-table tr:first-child{ border-top: 1px solid #000; }
.company-table th{
	width: 25%;
	text-align: left;
	padding: 15px 35px;
	line-height: 2;
}
.company-table th{ background: #ffefd8;}
.company-table td{
	padding: 15px 0 15px 35px;
	vertical-align: middle;
	line-height: 2;
}
.committee-member{
	display: flex;
	align-items: center;
	gap: 15px;
}
.committee-member img{
	max-width: 120px;
}
.member-list{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 20px 0;
	margin: 10% 0;
}
.member-list::after{
	content: "";
	width: 48%;
}
.member-profile{
	width: 48%;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	gap: 20px;
	background: #dfe8f1;
	padding: 3px;
	box-sizing: border-box;
}
.member-profile img{
	width: 120px;
	height: 150px;
	object-fit: cover;
	object-position: top;
}
.member-detail{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	flex-direction: column;
	justify-content: space-around;
	gap: 10px;
}
.name{font-weight: bold; font-size: 22px;}
.kana{font-size: 16px;}
.class{font-size: 16px;}
.slogan{
	padding: 0;
	text-align: center;
	font-size: 48px;
	font-weight: bold;
	line-height: 1 !important;
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3",
	 "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E",
	 "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif !important;
}
.slogan span{
	font-size: 18px;
}
/*==============================
	blog
================================*/
.news-template section{
	margin: 5% suto;
}
p.news-detail{
	margin: 0;
	padding: 0 2rem;
	font-size: 20px;
}
.news-list-detail{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: flex-start;
	-ms-align-items: center;
	align-items: center;
}
.news-list-detail p{ margin-left: 5%;}
.news-list-detail img{
	width: 100vw;
	height: 100vw;
	max-width: 150px;
	max-height: 150px;
	object-fit: cover;
}

.news-list{
	border-top: 2px solid #dfe9f2;
}
.news-list li{
	display: inline-block;
  position: relative;
	border-bottom: 2px solid #dfe9f2;
}
.news-list li a::after{
	content: "";
  position: absolute;
	top: 50%;
  right: 10px;
	transform: translateY(-50%);
	width: 3.5vw;
  height: 3.5vw;
	max-width: 48px;
	max-height: 48px;
	background: url(./img/next.jpg) no-repeat center / contain;
}

.news-list a{
	display: flex;
	align-items: center;
	justify-content: space-between;
	text-decoration: none;
	color: inherit;
	font-size: 24px;
	line-height: 1;
	margin: 3% 0;
	padding: 10px;
	max-width: max-content;
}
.news-list a > *{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-ms-align-items: center;
	align-items: center;
	gap: 0 20px;
}
.news-data{
	margin-right: 2vw;
	color: #dfe9f2;
}
.news-name{
	padding-right: 5vw;
}
.activity-list-top,
.activity-list{
	display: flex;
	gap: 10px;
	justify-content: space-evenly;
	flex-wrap: wrap;
	padding-top: 20px;
}
.activity-list{
	border-top: 2px solid #dfe9f2;
}
.activity-list-top li,
.activity-list li{
	margin-bottom: 3%;
	text-align: left;
}
.activity-list li{
	margin-top: 3%;
	text-align: left;
}
.activity-list-top img{
  width: 200px;
  height: 140px;
  object-fit: cover;
}
.activity-list img{
  width: 230px;
  height: 160px;
  object-fit: cover;
}
.activity-data{
	margin-top: 3%;
}
.post-navigation{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: space-around;
	padding: 3% 0;
	border-top: 2px solid #fc6381;
}
.post-navigation-link{
	width: 33.3%;
	display: block;
}
.post-navigation .btn{
	padding: 2rem;
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	gap: 5%;
}
.post-navigation i {
    background: #fc6381;
    color: #fff;
    border-radius: 50%;
    width: 24px;
    height: 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
}

.post-navigation i:hover {
    background: white; /* 丸の背景色 */
    color: #fc6381; /* アイコンの色 */
}
/*==============================
  contact form7
================================*/
.contact-form {
		max-width: 600px;
		margin: 0 auto;
		padding: 20px;
		background-color: #fff;
		border-radius: 8px;
		box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}
.contact-form h2 {
		margin-bottom: 20px;
		font-size: 24px;
		text-align: center;
}
.contact-form label {
		display: block;
		margin-bottom: 5px;
		font-weight: bold;
}
.contact-form input,
.contact-form textarea {
		width: 100%;
		padding: 10px;
		margin-bottom: 15px;
		border: 1px solid #ccc;
		border-radius: 4px;
		font-size: 16px;
		box-sizing: border-box;
}
.contact-form button {
		width: 300px;
		padding: 10px;
		margin: 5% auto;
		background-color: #007BFF;
		color: #fff;
		border: none;
		border-radius: 4px;
		font-size: 18px;
		cursor: pointer;
}

.wpcf7{ margin: 1% 0;}
input[type="submit"].wpcf7-submit,
input[type="reset"].resetbtn{
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	padding: 15px;
	width: 80vw;
	max-width: 400px;
	height: 70px;
	margin: 0 auto;
	border: none;
}
input[type="submit"].wpcf7-submit{background: #535353 !important; color: #fff; margin: 1% auto 5%;}
/* contact form7 */
.wpcf7{
	width: 100%;
	max-width: 1000px;
	margin: 5% auto;
}

input.wpcf7-text,
textarea.wpcf7-textarea{
	width: 100%;
	padding: 10px !important;
	font-size: 18px !important;
}
.wpcf7-form input[type="submit"].wpcf7-submit,
.wpcf7-form input[type="reset"].resetbtn{
  display: block;
  width: 100%;
  max-width: 325px;
  color: #fff;
  background-color: #dfe9f2;
  text-align: center;
  font-size: 24px;
	font-family: YuGothic,'Yu Gothic',sans-serif;
	margin: 3% auto 5%;
  padding: 15px 0;
}
.radio-type{
	display: block;
	width: 100%;
}
.wpcf7-radio{
	display: -webkit-flex;
	display: -ms-flex;
	display: flex;
	-webkit-flex-direction: column;
	-ms-flex-direction: column;
	flex-direction: column;
	-ms-align-items: flex-start;
	align-items: flex-start;
}
.wpcf7-list-item{
	padding: 5px 0;
}
.wpcf7-form p{ padding: 10px 0;}
.contactform th{
	width: 25%;
	font-weight: bold;
	text-align: left;
	padding: 10px 15px;
	line-height: 2;
}
.contactform td{
	padding-bottom: 35px;
}

/*==============================
	googlemap
================================*/
.ggmap {
	position: relative;
	padding-bottom: 56.25%;
	padding-top: 30px;
	height: 0;
	overflow: hidden;
	margin: 5% auto;
}
.ggmap iframe,
.ggmap object,
.ggmap embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
