@media screen and (max-width: 767px){
	/*==============================
	  general
	================================*/
	body{
	  font-size: 1.4rem;
	}
	.pc{display: none !important;}
	.mobile{display: block;}
	.main{ font-size: 16px; margin-bottom: 30px;}
	.main-content{ margin: 0 auto; width: 90%;}
	.main-area{ margin: 0 auto;}
	#navi ul{background: #535353;}
	/*==============================
	  commoncss
	================================*/
	br.mbbr{display: inline !important;}
	h1.page-title,
	h2.page-title{
		width: 30%;
		margin: 3% auto 5%;
		background: #cff8ef;
		border: 2px solid #535353;
		color: #000;
		font-size: 28px;
		font-weight: bold;
		text-align: center;
	}
	.btnsdw{ box-shadow:5px 5px 5px rgba(0,0,0,.25);}

	.main-area > div{
		width: 90%;
		margin: 5% auto;
	}
	.page-edit > h1, #blog-head{
		margin: 1% 0 5%;
	}
	h1.page-title,
	h2.page-title{
		width: 60%;
		margin: 3% auto 5%;
		background: #cff8ef;
		border: 2px solid #535353;
		color: #000;
		font-size: 24px;
		font-weight: bold;
		text-align: center;
	}
	.edit-template h1,
	.news-template h1{
		font-size: 12vw;
	}
	.edit-template h2,
	.news-template h2{
		padding: 2vw;
	}
	.edit-template h2:before,
	.news-template h2:before{
		width: 32vw;
	}
	.front-template h2{
		font-size: 7vw;
		margin: 5vw auto 1vw !important;
	}
	.front-template h2{
		letter-spacing: .1em
		margin: 5vw auto 2vw;
	}
	.slogan-area{
		background-position: center;
	}
	.slogan-area > div{
		gap: 5vw;
		padding: 0;
	}
	.slogan{
		font-size: 12vw;
		line-height: .5 !important;
		margin: 3vw 0;
	}
	.slogan span{
		font-size: 3.5vw;
	}
	.slogan-area-txt{
		gap: 5vw;
	}
	.linkbox{
		width: 65vw;
		margin: 8vw auto;
	}
	.linkbox span{
		font-size: 7.5vw;
	}
	.btn{width: 60%;}
	body .has-large-font-size{
		font-size: 2rem !important;
	}
	/*==============================
	  header
	================================*/
	.mainlogo a{
		align-items: flex-start;
		flex-direction: column;
	}
	.mainlogo img{
		width: 75vw;
	}
	.mainlogo h1{
		font-size: 5.5vw;
	}
	.mainlogo h1 span{
		margin-top: 2vw;
		margin-left: 0;
	}
	.header-content{overflow: hidden;}
	.mainlogo{margin: 2rem 1rem;}
	.header-main{ text-align: center;}
	.drawer-overlay{ display: none !important;}

	.menu_mobile{}
	.drawer--right .drawer-nav{ right: -45vw;}
	.drawer--right.drawer-open .drawer-hamburger{ right: 40vw;}
  .drawer-toggle { display: block; cursor: pointer;}
  .drawer-nav {
		background-color: #535353;
		color: #fff;
  }
  .drawer-nav .nav {
  }
	.drawer-menu-item{padding: 0;}
	.drawer-menu-item:hover{ color: #fff;}
	.drawer-dropdown-menu{background: transparent;}
  .drawer-nav li { display: block; margin: 10% 5%;}
  .drawer-nav li a { font-size: 16px; color: #fff;}
  .drawer-toggle,
  .drawer-toggle span {
    display: inline-block;
    box-sizing: border-box;
  }
  .drawer-toggle {
    z-index: 20;
    position: fixed;
    width: 40px;
    height: 36px;
		margin: 5% 2%;
		padding: 18px;
  }
  .drawer-toggle span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 5px;
    background-color: #535353;
    border-radius: 20px;
  }
  .drawer-toggle span:nth-of-type(1) { top: 0;}
  .drawer-toggle span:nth-of-type(2) { top: 16px;}
  .drawer-toggle span:nth-of-type(3) { bottom: 0;}
	.title{
		width: 100%;
		margin: 1%;
		text-align: center;
		font-size: 12px;
	}
	.banner h1{
		margin: 0;
	}
	.mainmenu .button{
		width: 90vw;
		margin: 5% auto;
		text-align: center;
	}
	.mainmenu .button li{margin: 2% auto;}
	.sns{position: absolute; top: 1%;right: 1vw;}
	/*==============================
	  footer
	================================*/
	.footer-main{
		flex-direction: column;
	}
	.footer{
		position: relative;
		text-align: center;
	}
	#footer_in{
		position: relative;
		font-size: 16px;
		padding: 5% 3%;
	}
	#foot_contact{margin-bottom: 5%;}
	#foot_contact h2{text-align: center; margin: 3% auto;}
	.f_address{ font-size: 16px;}
	.f_address h3{ font-size: 18px;}
	.f_address > p{ margin: 10px 0;}
	.f_address h2,
	.f_address h2 a,
	.f_address h2 a:visited{
		font-size: 24px;
		color: #fff;
		text-align: left;
		padding: 0 10px;
		text-decoration: none !important;
	}
	.f_address h2{ border-bottom: 1px solid #fff;}
	.f_address h2 span{
		font-size: 18px;
	}
	.f_menu{display: none;}
	.f_contact{
		padding: 1% 2%;
		text-align: center;
		position: relative;
	}
	.copylight{ padding: 1%; font-size: 12px;}


	/*==============================
	  toppage
	================================*/
	.bannermainimg{
		min-height: auto;
	}

	.banner_txt{ width: 100%;}
	.banner_txt1{ font-size: 2rem;}
	.banner_txt2{ font-size: 2.5rem; margin: .5rem 0;}
	.banner_txt3{ font-size: 1rem;}
	.front-template	.news,
	.front-template .activity{
		width: 100%;
		margin: auto;
	}
	.news{
		padding: 3rem 1rem;
	}
	.top_message_txt{
		flex-direction: column;
		align-items: center;
	}
	.siteimg{
		display: flex;
		flex-direction: column;
		width: 100%;
		padding: 3rem;
	}
	.siteimg > img{
		max-width: 100%;
		margin: auto;
	}

	.sitetxt{
		margin: 3vw auto;
		align-items: center;
	}
	.main-area h2{
		margin: 5% auto;
	}
	.news-list{
		width: 90%;
	}
	.news-list li{
		padding: 0;
	}
	.news-list li a::after{
		width: 12vw;
		height: 12vw;
	}
	.news-list li a{
		flex-direction: column;
	}
	.notifications{
		width: 100%;
		margin: 5% auto;
	}
	.notification{
		font-size: 5vw;
		flex-direction: column;
	}
	.notification > a{
		padding: 15px;
	}
	.notification img{
		max-width: 100px;
		max-height: 100px;
	}
	.news-data{
	display: block;
	width: 100%;
	margin: 0 0 3vw;
	text-align: left;
	}
	.news-name{
		line-height: 1.45;
		padding-right: 12vw;
	}
	.activity{
		background-size: cover;
	}
	.activity-item{
		flex-direction: column;
		justify-content: center;
	}
	.activity-report{
		margin: 5% auto;
	}
	.activity-list-top,
	.activity-list{
		justify-content: center;
	}
	.activity-list-top li, .activity-list li{
		width: 40vw;
	}
	.activity-list-top li{
		background: #ccc;
		padding: 10px;
		width: 48%;
	}
	.activity-list-top li a{
		display: block;
	}

	.activity-list-top img,
	.activity-list img{
	  width: 40vw;
	  height: 26vw;
	}

	.activity-list-top a,
	.activity-list a{
		font-size: 3.5vw;
	}
	.activity-list a,
	.activity-list a > *{
		flex-direction: column;
	}
	.activity-list a > div:first-child{
		width: 100%;
		margin: 0 auto 2vw;
		text-align: center;
	}
	.activity-list .news-data{
		text-align: center;
	}
	.activity-list i{
		display: none;
	}
	/*==============================
	  page
	================================*/
	.edit-template,
	.news-template{
		width: 95%;
		margin: 0 auto;
		font-size: 16px;
	}
	.bread{
		font-size: 14px;
		padding: 10px 25px;
		margin: 2% 0 5%;
		text-align: left;
	}
	.bread a,
	.bread a:visited{color: #000; font-weight: bold;}
	.kaityoimg {
		width: 70vw;
		margin: auto;
	}
	.member-list{
		display: -webkit-flex;
		display: -ms-flex;
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	.member-profile{
		width: 100%;
		gap: 2vw;
		flex-shrink: 0;
	}
	.member-profile img{
		width: 22vw;
		height: 27.5vw;
		flex-shrink: 0;
	}
	.member-detail{
		width: 65vw;
		gap: 2vw;
	}


	.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{ background: #dee3eb;}
	.company-table th,
	.company-table td{
		text-align: left;
		padding: 20px;
		line-height: 2;
		vertical-align: middle;
		display: block;
		width: 100%;
	}

	/*==============================
		blog
	================================*/
	p.news-detail{padding: 0 2vw;}
	.news-template h2{
		margin-bottom: 5%;
	}
	.news-list-detail{
		flex-direction: column;
		-ms-align-items: center;
	}
	.news-list-detail img{
		max-width: 280px;
		max-height: 280px;
	}
	.blog-box{
		border: 1px solid #ccc;
		box-shadow:2px 2px 2px rgba(0,0,0,.25);
		padding: 3%;
		margin: 5% 0;
	}
	.hl-b{
		padding: 1%;
	}
	.hl-b > .data{ color: #ac8503;}
	.hl-b > h1{
		color: #ac8503;
		font-weight: bold;
		font-size: 24px;
	}
	.blog-content h2,
	.blog-content h1,
	.hl-b h1{
		background: transparent;
		text-shadow: none;
		text-align: left;
		margin: 1% 0;
		padding: 0;
	}
	.blog-img{
		width: 100%;
		max-width: 300px;
		margin: 0 auto 5%;
		text-align: center;
		position: relative;
		overflow: hidden;
		padding-top: 60%;
	}
	.blog-img img{
			display: block;
			width: 100%;
			height: auto;
			position: absolute;
			top: 50%;
			left: 50%;
			transform: translate(-50%, -50%);
			object-fit: cover;
	}
	.blog-img-s {
	    width: auto;
	    max-width: 300px;
	    margin-right: 20px;
			overflow: hidden;
			margin: 0 auto;
			text-align: center;
	}
	.blog-img-s img{
			display: block;
			width: 100% !important;
			height: auto;
			object-fit: cover;
	}
	.archive-list li+li{ border-top: 2px solid #fd8f04;}
	h2.blog-subt{
		font-size: 18px;
		color: #fff;
		padding: 10px 25px;
		text-align: left;
		text-shadow: none;
	}
	h2.blog-subt{ background: #fd8f04;}

	.blog-topimg{
		text-align: center;
	}
	.activity-box {
	    width: 90%;
	}
	.widget-title{ display: none;}

	.box-n{
		padding: 10px;
		margin: 0% 1% 3%;
	}
	.box-n > .data{padding: 10px 0;}
	.prenext{
		margin: 3% auto;
		text-align: center;
	}
	.prenext a{
		margin: 0 3%;
	}
	.new-archive,
	.blog-archive{
		width: 90%;
		margin: 5% auto;
	}
	.wp-pagenavi{
		width: auto;
		text-align: center;
		margin-bottom: 5%;
	}
	.wp-pagenavi a, .wp-pagenavi span {
	    background: #dee3eb !important;
	    color: #0349d5 !important;
	}
	.post-navigation{
		flex-direction: column;
		gap: 3vw;
	}
	.post-navigation-link{
		width: 100%;
	}
	/*==============================
	  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%;
	}
	/*==============================
	  craft
	================================*/
	.menu_pc, .craft_pc, .item_pc{display: none !important;}
	.craft_mobile{display: inline; margin: 5% auto;}

	/*==============================
	  contact form7
	================================*/
	.contactform th{ line-height: 2;}
	.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: 150px;
		margin: 0 auto;
		border: none;
	}

	.wpcf7-form p{ padding: 10px 0;}

	.contactform th,
	.contactform td{
		text-align: left;
		line-height: 2;
		vertical-align: middle;
		display: block;
		width: 100%;
	}
	.contactform th{
		padding: 5vw 0 1vw;
	}
	.contactform td{
		padding: 1vw 0 5vw;
	}
}
