@media screen and (max-width: 767px){
	/*==============================
		general
	================================*/
	body{ font-size: 1.4rem;}
	p{ font-size: 3.5vw;}

	.pc{display: none !important;}
	.mobile{}
	.main{ font-size: 16px; margin-bottom: 30px;}
	.main-content{ margin: 0 auto; width: 90%;}
	.main-area{ margin: 0 auto;}
	.main-area-m{ margin: 0 auto; width: 95%;}
	/*==============================
		responsive
	================================*/
	.menu_pc, .craft_pc, .item_pc{display: none !important;}
	.craft_mobile{display: inline; margin: 5% auto;}
	/*==============================
		commoncss
	================================*/
	article{
		background-size: 200%;
	}

	br.mbbr{display: inline !important;}
	.edit-template{
		width: 100%;
		margin: 0 auto;
		font-size: 15px;
	}
	.main-template h2,
	.edit-template h2{
		font-size: 6vw;
		font-weight: bold;
		margin: 5% 0;
	}
	.edit-template h3{font-size: 5.5vw;}
	.edit-template h4{font-size: 5vw;}
	.edit-template h5{font-size: 4.5vw;}
	.page-edit h1{
		position: relative;
		text-align: center;
		font-size: 24px;
		font-weight: bold;
		padding: 5px;
		margin: 5% 0;
	}
	.main-area > div{
		width: 95%;
		margin: 5% auto;
	}
	/*==============================
		header
	================================*/
	.header-content{padding: 1px 0; box-sizing: border-box;}
	.header-main h1{
		margin: 1%;
		left: 0;
		width: 35vw;
	}
	.drawer-overlay{ display: none !important;}
	.logo{
		position: relative;
		margin: 20px auto 0 !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: #0859a9;
		color: #fff;
		z-index: 20;
	}
	.drawer-nav .nav {
	}
	.drawer-nav li { display: block; margin: 10% 5%; text-align: left;}
	.drawer-nav li a { font-size: 16px; color: #fff;}
	.drawer-toggle,
	.drawer-toggle span {
		display: inline-block;
		box-sizing: border-box;
	}
	.drawer-menu-item:hover{
		color: #fff;
	}
	.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: #0859a9;
		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;}
	.drawer-dropdown-menu{background-color: #0859a9;}
	.drawer-menu-item,.drawer-dropdown-menu-item{padding: 0;}

	.bannar{
		width: 100%;
	}
	.bannartxt{
		font-size: 6.5vw;
		white-space: nowrap;
	}
	/*==============================
		footer
	================================*/
	/* fotter-main */
	.footer-main{
		flex-direction: column;
		-ms-align-items: center;
		align-items: center;
	}
	.f_address{
		font-size: 3vw;
		align-items: center;
		text-align: center;
		flex-direction: column;
		margin: 5% auto;
		gap: 1rem;
	}
	.f_menu{
		display: none;
	}
	.copylight{ padding: 1%; font-size: 12px; color: #fff; text-align: center;}
	/*==============================
		toppage
	================================*/
	.bannar img{
		height: 50vw;
		border-bottom-left-radius: 20vw;
	}
	.news{
		width: 100%;
	}
	.news h2{
		font-size: 4vw;
		width: 25vw;
	}
	.news-list{
		padding-left: 3vw;
		margin: 2vw 0;
		width: 70vw;
	}
	.news-child a span{
		margin-left: 0;
		display: block;
	}
	.txt_box{
		display: flex;
	}
	.txt_box p{
		line-height: 1.8;
	}
	.txt_box span{
		display: block;
		margin: 3vw 0;
	}
	.txt_box > div{
		text-align: center;
		display: inline-flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
	}
	.top-area{
		width: 95%;
		padding: 5vw 2vw;
		text-align: center;
	}
	.btn{
		width: 60vw;
		font-size: 3.5vw;
		padding: 3vw;
	}
	.btn::after{
		font-size: 5vw;
	}
	.ceo-photo{
		max-width: 70%;
	}
	.bg-txt-l{
		top: 12vw;
	}
	.bg-txt-r{
		top: 12vw;
	}
	.business_block{
		width: 90%;
		flex-direction: column-reverse;
		margin-top: 20vw;
		padding: 5vw;
	}
	.business_block.reverse{
		flex-direction: column-reverse;
	}
	.business_block .image{
		top: -10vw; /* 上にはみ出す */
		height: calc(100% + 10vw); /* はみ出した分だけ高さを伸ばす */
	}
	.txt_block{
		width: 100%;
	}
	.txt_block h3{
		font-size: 5.5vw;
		margin: 0;
	}
	.morelink_block{
		width: 100%;
		margin: 5vw 0;
	}
	/*==============================
		page
	================================*/
	.edit-area h3{
		padding: 2rem;
	}
	.edit-area > *{
		padding: 1rem;
	}
	.edit-template .bannar img{
		height: 50vw;
		border-bottom-left-radius: 20vw;
	}
	.edit-template .bannartxt{
		left: 50%;
		top: 40%;
		font-size: 6.5vw;
	}
	.alignwide{
		width: 90%;
	}
	.wp-block-table td:first-child{
		padding: 1.5rem 0 1.5rem 2rem !important;
	}
	.wp-block-table td:first-child::before{
		border-left: 4px solid #0859a9 !important;
	}
	.wp-block-table td, .wp-block-table th{
		padding: 1.5rem 2rem !important;
	}
	.flowchart{
		gap: 0;
	}
	.flowchart > div:last-child{
		padding: 2rem;
	}
	.aguri{
		gap: 0;
		margin: 0 0 5vw;
	}
	.aguri p{
		padding: 0;
	}
	.aguri span{
		margin-left: 0;
	}
	.aguri br{
		display: none;
	}

	/*==============================
		news
	================================*/
	.blog-area{
		width: 95%;
	}
	.blog-template{
		width: 100%;
		padding: 2vw;
	}
	.blog-header {
		font-size: 4vw;
		margin-bottom: 2vw;
	}
	.blog-header h2{
		font-size: 6vw;
		margin-bottom: 1vw;
	}
	.blog-detail{
		display: block;
	}
	.prev-next-link{
		width: 95%;
	}
	.arrow-circle{
		width: 10vw;
		height: 10vw;
	}
	/*==============================
		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%;
	}
	/*==============================
		contact form7
	================================*/
	.contact-area{
		width: 90%;
		margin: 0 auto;
	}
	.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: 100%;
		margin: 0 auto;
		border: none;
	}
	.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="email"],
	.wpcf7 input[type="tel"],
	.wpcf7 select,
	.wpcf7 input[type="url"],
	.wpcf7 textarea{
		background-color: #fff;
		color: #000;
		width: 95%;
		border: 1px solid #ddd;
		font-size: 20px;
		padding: 1px;
	}
	.wpcf7-form{
		width: 90%;
		padding: 3rem 0;
	}
	.wpcf7-form table,
	.wpcf7-form table th,
	.wpcf7-form table td{
		display: block;
		width: 100%;
		text-align: left;
	}
	.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;
		text-indent: 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: 1.1em;
		font-weight: bold;
		letter-spacing: 0.2em;
		text-indent: 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;}
}
