@charset "UTF-8";

/*-----------------------------------------------*/
/*----- smart phone CSS lower 1081px 1360px -----*/
/*-----------------------------------------------*/

@media screen and (min-width: 1081px) and (max-width: 1360px) {
}



/*-----------------------------------------------*/
/*----- smart phone CSS lower 769px 1080px -----*/
/*-----------------------------------------------*/

@media screen and (min-width: 769px) and (max-width: 1080px) {
	/* common */
	.wrap {padding:0px 20px 0px 20px; }
	.wrap1200 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap1100 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap1000 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap900 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap800 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap700 {width:auto; max-width:inherit; margin:0px 20px;}
	.wrap600 {width:auto; max-width:inherit; margin:0px 20px;}
	/* /common */

	/* content */
	.headerlogo img {width:52px; }
	.headerlogo h2 strong {font-size:28px; line-height:100%; }
	.headerlogo h2 span {font-size:11px; line-height:100%; letter-spacing:0.35em; }
	.header_tel h3 strong {font-size:18px; line-height:160%; }
	
	.menu .nav li a strong {font-size:15px; line-height:100%; }
	.menu .nav li a span {font-size:9px; line-height:100%; }



	.footer dl dd h4 {font-size:12.8px; line-height:140%; }
	.footer dl dt {width:44%; }
	
	
	
	.pagetitle {margin-bottom:40px; }
	/* /content */
}



/*---------------------------------------*/
/*----- smart phone CSS lower 768px -----*/
/*---------------------------------------*/

@media (max-width : 768px){

	/* common */
	.pc_only {display:none;}
	.sp_only {display:block;}
	.pcin_only {display:none;}
	.spin_only {display:inline;}

	.wrap {padding:0px 20px 0px 20px; }
	.wrap1200 {width:auto; margin:0px 20px;}
	.wrap1100 {width:auto; margin:0px 20px;}
	.wrap1000 {width:auto; margin:0px 20px;}
	.wrap900 {width:auto; margin:0px 20px;}
	.wrap800 {width:auto; margin:0px 20px;}
	.wrap700 {width:auto; margin:0px 20px;}
	.wrap600 {width:auto; margin:0px 20px;}
	/* /common */



	/* content */
	.topheader {display:flex; justify-content:inherit; align-items:inherit; flex-wrap:wrap; }
	.headerlogo {display:flex; align-items: center; justify-content:start; margin-top:20px; margin-bottom:10px; padding:0px; }
	.headerlogo img {width:11vw; }
	.headerlogo h2 {padding:0px 0px 0px 8px; }
	.headerlogo h2 strong {font-size:6vw; line-height:100%; }
	.headerlogo h2 span {font-size:2.5vw; line-height:100%; letter-spacing:0.35em; }
	.header_tel {width:100%; }
	.header_tel h3 {width:100%; position:fixed; bottom:0; left:0; z-index:99999; padding:14px 8px; border-radius: 0px 0px 0px 0px; box-shadow:none; }
	.header_tel h3 span {padding:0px 10px 0px 0px; font-size:11px; line-height:120%; }
	.header_tel h3 strong {display:none; }
	.header_tel h3 a {display:block; color:#FC0; font-size:5.4vw; line-height:120%; font-weight:bold; }
	.header_tel h4 {padding:4px 0px 0px 0px; font-size:3.2vw; line-height:140%; }
	.header_tel h5 {padding:0px 0px 10px 0px; font-size:12px; line-height:140%; }
	.header_tel h5 span {display:block; }



	.nav_btn{display:block; width: 40px; height: 40px; z-index: 99999; cursor: pointer; position:fixed; top:20px; right:20px; }
	.nav_btn strong {display:block; width:100%; color:#006cb8; font-size:11px; line-height:100%; font-weight:normal; text-align:center;  position: absolute; top:0; left: 0; }
	.nav_btn span{width: 100%; height: 2px; background: #006cb8; position: absolute; left: 0; right: 0; margin: auto; transition: 0.4s; }
	.nav_btn span.line1{top: 18px; opacity:1; }
	.nav_btn span.line2{top: 27px; opacity:1; }
	.nav_btn span.line3{top: 27px; opacity:1; }
	.nav_btn span.line4{top: 35px; opacity:1; }
	.nav_btn.close_btn strong {color:#FFF; }
	.nav_btn.close_btn span.line1 {top: 18px; opacity: 0;}
	.nav_btn.close_btn span.line2{top: 27px; -webkit-transform: rotate(20deg); transform: rotate(30deg); opacity:1; background: #FFF; }
	.nav_btn.close_btn span.line3 {top: 27px; bottom: auto; -webkit-transform: rotate(-20deg); transform: rotate(-30deg); opacity:1; background: #FFF; }
	.nav_btn.close_btn span.line4 {top: 35px; opacity: 0; }

	.menu .nav {display:none; }
	.spnav{display: block; float: none; width: 100%; margin-top: 0; background: rgba(0,54,92,0.9); position:fixed; top: 0; left: 0; z-index: 99000; }
	.spnav h5 {display:block; width:50%; padding:10px 0px 10px 0px; }
	.spnav h5 a {display:block; width:auto; height:50px; }
	.spnav h5 a img {width:11vw; }
	.spnav ul {margin-top: 10px; }
	.spnav li {display: block; width: 100%; }
	.spnav li a{display:flex; justify-content: space-between; align-items: center; padding: 20px 4px;  color:#FFF; text-decoration: none; border-bottom:1px #FFF solid; }
	.spnav li a:first-child {border-top:1px #FFF solid; }
	.spnav li a:hover {color:#FC0; background-color:rgba(255,255,255,0.2); }
	.spnav li a span {color:rgba(255,255,255,0.5); }
	.spnav li a.current strong {color:#FD0; }

	.spnav.spmenu {height:0; transition: all 0.2s 0s ease; padding:0 5% 0; overflow:hidden; }
	.spnav.spmenu.open_menu {height:100%; padding: 0px 20px; overflow:auto; }
	
	.spnav.spmenu ul {opacity:0; transition: all 0.2s 0s ease; }
	.spnav.spmenu.open_menu ul {opacity:1; }



	.main {padding:30px 0px 30px 0px; }



	.footer_about {padding:30px 0px 30px 0px; }
	.footer_about dl {flex-wrap:wrap; }
	.footer_about dl dt {width:100%; margin-bottom:16px; }
	.footer_about dl dt table th {padding:8px 5px; font-size:3vw; line-height:120%; }
	.footer_about dl dt table td {padding:8px 5px; font-size:3vw; line-height:120%; }
	.footer_about dl dd {width:100%; }
	.footer_about dl dd .gmap {padding-top:76%;}
	
	

	.footer_contact_back {padding:30px 0px 30px 0px; }
	.footer_contact h3 {width:90%; margin:0px auto; padding:0px 0px 24px 0px; }
	.footer_contact h3 strong {font-size:24px; line-height:120%; }
	.footer_contact h3 span {font-size:10px; line-height:120%; }
	.footer_contact ul {flex-wrap:wrap; padding:20px; border-radius:14px; }
	.footer_contact ul li:first-child {width:100%; margin-bottom:18px; }
	.footer_contact ul li:last-child {width:100%;}
	.footer_contact ul li h4 span {font-size:4vw; line-height:140%; }
	.footer_contact ul li h4 strong {font-size:8vw; line-height:140%; }
	.footer_contact ul li h4 small {font-size:4vw; line-height:140%; }
	.footer_contact ul li h5 {font-size:4vw; line-height:128%; }
	.footer_contact ul li a strong {padding:10px 6px; font-size:6.5vw; line-height:120%; }
	.footer_contact ul li a span {font-size:3.5vw; line-height:120%; }
	
	
	
	.footer {padding:0px 0px 14vw 0px; }
	.footer > div {padding:30px 0px 20px 0px; }
	.footerlogo {justify-content: center; margin-bottom:16px; }
	.footer dl {flex-wrap:wrap; }
	.footer dl dd {width:100%; margin-bottom:20px; text-align:center; }
	.footer dl dd h4 {font-size:3.2vw; line-height:140%; }
	.footer dl dt {width:100%; }
	.footer dl dt ul li {width:60%; }
	.footer dl dt ul li:nth-child(even) {width:40%;}
	.footer dl dt ul li a strong {padding:8px 8px 1px 8px; font-size:4vw; line-height:100%; }
	.footer dl dt ul li a span {padding:0px 8px 8px 8px; font-size:2.5vw; line-height:100%; }
	.copy {padding:10px 0px 10px 0px; font-size:11px; line-height:140%; }



	.pagetitle {margin-bottom:40px; padding:20px 0px 20px 0px; font-size:5.8vw; line-height:120%; letter-spacing:0.05em; }
	
	
	
	.cap_title {margin:0px auto 20px; border-radius:8px; }
	.cap_title strong {padding:30px 10px; font-size:5.4vw; line-height:120%; letter-spacing:0.05em; border-radius:8px; }
	
	
	
	.cap_midashi {margin:0px auto 20px; padding:10px 10px 10px 16px; font-size:4.5vw; line-height:120%; letter-spacing:0.05em; }



	.page-top {bottom: 28vw; right: 20px;}
	.page-top img {width:30px; }
	/* /content */



	/* top */
	.kv{width:100%; }
	.kv > div {margin:0px 0px;}
	.kv li h1 {padding:8px 12px; font-size:5.4vw; line-height:100%; }
	
	.top_cap1 {margin-top:30px; }
	
	.top_cap4 {margin-bottom:30px; }
	
	.top_caps {padding:24px 0px 24px 0px; }
	.top_caps h2 strong {padding:0px 0px 0px 0px; font-size:6vw; line-height:160%; letter-spacing:0em; }
	.top_caps h2 strong:before, .top_caps h2 strong:after {width: 20px; margin:0px 10px;}
	.top_caps h2 span {font-size:4vw; line-height:160%; }
	
	.top_cap5 {padding: 20px 0px 30px 0px; }
	.top_cap5 h3 {padding: 0px 40px 4px 8px; }
	.top_cap5 h3 strong {padding:0px 10px 0px 0px; font-size:18px; line-height:120%; }
	.top_cap5 h3 span {font-size:11px; line-height:120%; }
	.top_cap5 ul {padding:14px 0px 0px 0px;}
	.top_cap5 ul li a {flex-wrap:wrap; }
	.top_cap5 ul li a span {padding:2px 8px 2px 8px; font-size:3.6vw; line-height:140%; }
	.top_cap5 ul li a strong {width:100%; padding:8px 8px 14px 8px; font-size:4vw; line-height:140%; }
	/* /top */



	/* company */
	.company_cap3 .gmap {padding-top:50%;}
	/* /company */
	
	
	
	/* service */
	.service_cap1 h1 {padding:10px 4px 10px 14px; font-size:8vw; line-height:140%; }
	.service_cap1 h2 {font-size:4.6vw; line-height:160%; text-align:justify; text-justify:inter-ideograph; }

	.imagepop section {width:50%; padding:10px; }
	
	.imagepop section article aside {width:96%; height:100%; }
	/* /service */



	/* contact */
	.contact_cap1 {padding:0px 0px 60px 0px; }
	.contact_cap1 table th {width:25%; padding:8px 10px; }
	.contact_cap1 table td {padding:8px 10px; }
	
	.privacytitle {padding:40px 0px 0px 0px; }
	.privacytitle strong {padding:0px 5px 0px 0px; font-size:5vw; line-height:160%; }
	.privacytitle span {padding:6px 0px 0px 0px; font-size:3vw; line-height:140%; }
	.privacy {height:180px; margin:20px auto; padding:10px 10px 30px 10px; font-size:14px; line-height:160%; }
	.privacy h5 {padding:4px 0px 10px 0px;}
	.privacy h4 {padding:4px 0px; }
	.privacy ul {padding:4px 0px 10px 0px; }
	.privacy ul li {padding:4px 0px; }
	
	.privacycheck {padding:10px 0px 20px 0px; font-size:16px; line-height:120%; letter-spacing:0px; }
	.form_btn {width:90%; margin:20px auto; padding:15px; font-size:4.8vw; line-height:120%; }
	/* /contact */
	
	
	
	/* news */
	.news_cap1 img {width:80%; margin:0px auto 10px; }
	/* /news */
}