@charset "UTF-8";

@media (max-width: 1439px) and (min-width: 768px) {
	
}

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

	img{
		height: auto !important;
	}

	a[href^="tel:"] {
		pointer-events: inherit;
	}

	.pc{
		display: none;
	}

	.sp{
		display: block;
	}

	.menu-trigger{
		display: inherit;
	}

	.inner,
	.footer-inner{
		width: 100%;
		margin: 0 auto;
		padding: 0 4%;
		box-sizing: border-box;
	}
	
	.sp-MB10 {margin-bottom: 10%;}
	.MB70 {margin-bottom: 0px;}
	.MB80 {margin-bottom: 0;}
	.PT60 {padding-top: 0;}
	
	.t-r {text-align: left;}
	.fl-left {float: none;}
	.fl-right {float: none;}
	
	h2.ttl,
	h3.sub-ttl,
	ul#news-box li h2{
		font-size: 5vw;
		letter-spacing: 0.1em;
		line-height: 2;
		font-family: "Sawarabi Mincho";
	}
	
	p.txt,
	p.txt02 {
		font-size: 4vw;
		line-height: 1.8em;
		letter-spacing: 0.07em;
		text-align: left !important;
	}
	
	p.txt br,
	p.txt02 br {display: none;}

	p.txt02 {
		padding: 0 0 10%;
	}
	
	.top-txt,
	.top-txt01{padding: 10% 0;}

	/*---main---*/
	#main {
		width: 90%;
		margin: 1% auto 10%;
	}
	
	.contents {
		padding-bottom: 10%;
		margin-bottom: 10%;
	}
	
	.img-area,
	.txt-area,
	.sdgs-box,
	.txt-area01 {width: 100%;}
	
	.txt-area {margin-bottom: 10%;}
	
	ol.list {
		padding: 5% 0 0;
		margin: 0 0 10%;
	}
	
	ol.list li {
		width: 46%;
		display: inline-block;
		margin: 0 0;
		padding: 2%;
		box-sizing: border-box;
	}
	
	.sp-area {padding: 0 4% !important;}
	.sp-MB {margin: 10% auto!important;}
	
	.area-po {
		padding: 40px 0 0;
		position: inherit;
	}

	.map iframe {
		width: 100%;
		height: 300px;
	}

	
	.address {
		position: inherit;
		top: 0px;
		right: 0px;
		width: 100%;
		padding: 8%;
		border-radius: 0px;
		color: #fff;
		margin: 0 0 20%;
	}
	
	/*---footer---*/
	footer {
		padding: 10px 0 50px;
		background: url("../image/common/icon.png") no-repeat #7ebeb7;
		background-position: top 15% right 15%;
		background-size: 10%;
		color: #fff;
	}

	.footer-icon {text-align: center;}
	.footer-icon img {width: 5%;}

	.footer-address {
		width: 100%;
		float: none;
		padding-top: 40px;
	}
	.footer-logo {margin-bottom: 10px;}
	.footer-logo img {width: 60%;}

	.footer-address-txt {
		font-size: 4.6vw;
		line-height: 1.8;
	}

	ul.footer-link {
		float: none;
		padding: 15px 0  0;
	}

	ul.footer-link li {}
	ul.footer-link li + li {margin: 10px 0 0;}
	ul.footer-link li a {
		width: 100%;
		padding: 20px 0;
		font-size: 4.6vw;
	}


	/*----------navi------------*/
	
	.nav-sp + .nav-sp {margin: 10% 0 0 !important;}
	.panel-inner{
		width: 100%;
		padding: 3%;
		box-sizing: border-box;
	}
	
	.panel_sp {right: 0;}
	
	.panel-inner  h1 {
		width: 60%;
		margin: 7% 10% 0;
		box-sizing: border-box;
	}
	
	.img-area span {
		display: block;
		text-align: center;
		margin: 20px 0 0 0;
		line-height: 2;
	}
	
	.swiper-container  {margin-bottom: 10% !important;}
	
	.about-table {
		width: 100%;
		margin: 10% auto 20%;
	}
	
	table.about-table th,
	table.about-table td{
		width: 100%;
		display: block;
	}

	.work-txt {
		color: #000 !important;
		text-decoration: none;
		border: 1px solid #000;
		padding: 10px 30px;
		border-radius: 20px;
		display: inline-block;
		float: none;
		margin-top: 0px;
	}

	
	ol.work-type {
		display: inherit;
		border-spacing: 10px 0;
		margin: 0 0 10%;
	}

	ol.work-type li {
		width: 100%;
		font-size: 4vw;
		padding: 10px 5px;
		border-radius: 20px;
		box-sizing: border-box;
		text-align: center;
		line-height: 1.6;
		border: solid 1px #000;
		display: inherit;
		vertical-align: middle;
		margin: 5% 0 0;
	}
	
	ol.work-type li br {display: none;}
	
	ul.more-btn01 {
		overflow: hidden;
		margin-bottom: 10%;
	}
	
	ul.more-btn01 li {
		width: 100%;
		float: none;
		text-align: center;
	}
	
	ul.more-btn01 li a {
		display: block;
		color: #000 !important;
		text-decoration: none;
		border: 1px solid #000;
		padding: 14px 0;
		border-radius: 20px;
	}
	
	ul.bar-link {margin: 10% 0 20%;}
	ul.bar-link li {width: 100%;}

	ul.more-btn01 li + li,
	ul.bar-link li + li {margin: 5% 0 0;}
	
	#mainlogo{
		position: static;
		padding: 10px 0px 5px 1%;
		width: 100%;
		box-sizing: border-box;
	}
	#mainlogo img,
	.panel-inner h1 img{
		width: 200px;
	}
	.panel-inner h1{
		width: auto;
		margin-left: 5%;
		margin-top: 15%;
	}
	.swiper-button-prev, .swiper-container-rtl .swiper-button-next{
		left: 0px !important;
		background-color: #fff;
	}
	.swiper-button-next, .swiper-container-rtl .swiper-button-prev{
		right: 0px !important;
		background-color: #fff;
	}
	.slide{
		width: 100%;
		height: 200px;
	}
	.slide img{
		width: 100% !important;
	}
	
	.sw-cont .swiper-button-next{
		top: 0px !important;
		right: 0px !important;
		margin: 0px !important;
	}
	
	.sw-cont .swiper-button-prev{
		bottom: auto !important;
		right: auto !important;
		left: 0px !important;
		margin: 0px !important;
		top: 0px !important;
	}
	.sw-cont .swiper-button-prev, .swiper-container-rtl .swiper-button-next{
		background-image: url(../image/common/sback.png) !important;
		width: 50px !important;
		height: 11px !important;
		background-size: 100% 100% !important;
	}
	
	.sw-cont .swiper-button-next, .swiper-container-rtl .swiper-button-prev{
		background-image: url(../image/common/snext.png) !important;
		width: 50px !important;
		height: 11px !important;
		background-size: 100% 100% !important;
	}
	.swiper-slide h3.sub-ttl{
		font-size: 20px;
		height: 50px;
		line-height: 1.4em;
	}
	.swiper-slide p.txt{
		font-size: 14px;
		height: 150px;
	}
	.swiper-button-prev, .swiper-button-next{
		border-radius: 20px;
	}
	p.about-facility span{
		font-size: 16px;
	}
	p.about-facility span#spc{
		margin-top: 25px;
	}
	.contact-box{
		padding-top: 50px;
	}
	h2.contact-ttl{
		padding-bottom: 30px;
	}
	.img-contact img{
		width: 100%;
	}
	#contact-tels img{
		width: 300px;
	}
	#form-box{
		width: 94%;
		padding-bottom: 50px;
	}
	#form-box th,
	#form-box td{
		display: block;
		width: 100%;
	}
	#form-box th{
		padding-bottom: 5px;
		line-height: 1.4em;
	}
	#form-box td{
		padding-bottom: 15px;
	}
	#form-box th span{
		line-height: 1.2em;
	}
	.js-modal-close img{
		width: 30px !important;
		height: 30px !important;
	}
	
	a.js-modal-close{
		display: block;
		position: absolute;
		top: 20px;
		left: 20px;
		right: auto;
	}
	ul#news-box{
		width: 100%;
		padding-left: 4%;
		padding-right: 4%;
		box-sizing: border-box;
	}
	ul#news-box li h2{
		float: none;
		text-align: center;
	}
	ul#news-box li div{
		float: none;
		text-align: left;
		font-size: 16px;
		border-bottom: 1px dashed #dddddd;
		padding-bottom: 15px;
		margin-bottom: 15px;
	}
	ul#news-box li div span{
		display: block;
		margin-bottom: 10px;
	}
	ul#news-box li div{
		width: 100%;
	}
	#single-txts{
		padding-bottom: 50px;
	}
	.single-left,
	.single-right{
		float: none;
		width: 100%;
	}
	.single-right{
		padding-bottom: 50px;
	}
	#single-txts p a{
		margin-top: 30px;
		font-size: 14px;
		width: 200px;
	}
	#single-txts div,
	.single-right div{
		font-size: 14px;
	}
	#single-txts h2{
		font-size: 18px;
	}
	
	#contact-txts div{
		display: block;
		margin: 0 auto 20px;
	}
	
	#sdgs{
		padding-top: 50px;
		padding-bottom: 20px;
	}
	
	#sdgs img{
		width: 70%;
	}
	
	.sdgs-box .left img{
		width: 100%;
	}
	
	.sdgs-box .left,
	.sdgs-box .right{
		float: none;
		width: 100%;
	}
	
	.sdgs-box .left p{
		font-size: 14px;
	}
	
	.sdgs-box .right p{
		font-size: 13px;
		padding-top: 30px;
	}
}

@media not screen and (1) { .page-top { position: static; } }/* Opera10以上 */