@import url('https://fonts.googleapis.com/css?family=Montserrat:400,500,600,700&display=swap');



@charset "utf-8";





/* Common Setting

=========================================================================================================*/



*{

	outline:none;

}



html{

	font-size: 62.5%;

}



html,body,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ul,ol,table,thead,tbody,tfoot,th,td,form,input,select,address,pre{

	margin:0;

	padding:0;

	border:0;

	/*font-size:100%;*/

	-webkit-text-size-adjust:100%;	/*iOSで文字サイズがおかしくなるバグFIX*/

	font-weight:normal;

}



body{

	font-family: "游ゴシック Medium", "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;

	line-height:1;

	color:#333;

}



img{

	vertical-align:bottom;

	line-height:0;

	border:none;

}



input,select{

	vertical-align:middle;

}



table{

	border-collapse:collapse;

	border-spacing:0;

}



li{

	list-style-type:none;

}











/* PC

=========================================================================================================*/



.sp-hide {

	display:block!important;

}



.pc-hide {

	display:none!important;

}



.sp-only{

	display:none!important;

}



.pc-only{

	display:inline!important;

}





.fixed {

	position:fixed;

	width: 100%;

	height: 100%;

}





html,body{

	min-width:1180px;

}



#container{

	min-width:1180px;

}





#nav_s{

	display:none;

}



#logo_s{

	display:none;

}



#logo_s a{

	text-decoration:none;

	color:#333;

}





/*

#spnav{

	display:none;

}

*/

#trigger{

	display:none;

}



#spmenu{

	display:none;

}









#nav{

	position:fixed;

	left:0;

	top:0;

	box-shadow:0px 1px 1px rgba(0,0,0,0.05);

	width:100%;

	background:#fff;

	z-index: 999;

	text-align:center;

	height:90px;

}



#nav .inner{

	margin:0 auto;

	max-width: 1380px;

	min-width: 1000px;

	position:relative;

}



#nav .inner #logo{

	float:left;

	display:block;

	font-size:2.4rem;

	letter-spacing:0.5em;

	font-weight:bold;

	line-height:90px;

	color:#333;

}



#nav .inner #logo a{

	text-decoration:none;

	color:#333;

}



#nav ul{

	float:right;

	display:block;

	margin:0 auto;

	height:90px;

}



#nav ul li{

	display:inline-block;

	padding:0 0 0 36px;

	width:auto;

	vertical-align:middle;

	font-size: 1.6rem;

	letter-spacing: 0.3em;

	font-weight: 700;

	line-height:90px;

}





#nav ul li img{

	display:inline-block;

	vertical-align: middle;

}



#nav ul li span{

	

}





#nav ul li a{

	text-decoration:none;

}



#nav ul li a:link	{ color:#333; }

#nav ul li a:visited{ color:#333; }

#nav ul li a:hover  { color:#01b7d1; }

#nav ul li a:active { color:#01b7d1; }





#nav ul li.contact a{

	display:inline-block;

	background-color:#127cba;

	color:#fff;

	position:relative;

	padding:0 30px;

	line-height:50px;

	border-radius:25px;

	font-weight:bold;

}



#nav ul li.contact a span{

	display:inline-block;

	padding:0 0 0 28px;

	background:url(../images/icon_mail_hd.png) 0 center no-repeat;

}

	

#nav ul li.contact a span:before{

	content:"";

	display:inline-block;

}







#visual{

	margin-top:90px;

	background:url(../images/pic_main.jpg) center 0 no-repeat;

	background-size:cover;

	min-height:580px;

}



#visual h2{

	margin:0 auto;

	padding:186px 0 0;

	width:780px;

	/*color:#fff;

	font-weight:bold;

	font-size:5.0rem;

	line-height:1.5;

	text-align: center;

	text-align: justify;

	text-justify:inter-ideograph;*/

}



#visual h3{

	margin:0 auto;

	padding:40px 0 0;

	width:780px;

	/*color:#fff;

	font-weight:bold;

	font-size:3.2rem;

	text-align: center;

	text-align: justify;

	text-justify:inter-ideograph;*/

}



.tgt{

	position:absolute;

	left:0;

	top:-90px;

	display:block;

	background:red;

}











#news{

	clear:both;

	padding:20px 0;

	background-color:#f7f7f7;

	position:relative;

	overflow:hidden;

	text-align:center;

}



#news .inner{

	display:inline-block;

	width:auto;

}



#news h2{

	float:left;

	margin:0;

	padding:0 28px 0 0;

	line-height:1.0;

	font-weight:bold;

	letter-spacing:0.1em;

}



#news h2 em{

	display:inline;

	font-style:normal;

	font-size: 1.4rem;

	letter-spacing: 0.2em;

}



#news h2 span{

	display:inline-block;

	padding:0 0 0 20px;

	color:#01b7d1;

	font-size:1.2rem;

	line-height: 2.0;

	font-family: 'Montserrat', sans-serif;

	font-weight:600;

	letter-spacing:0.1em;

	vertical-align: middle;

}



#news dl{

	display:inline-block;

	float:left;

	border-left:1px solid #ccc;

	padding:0 0 0 30px;

}



#news dl dt{

	display:inline;

	margin:0;

	text-align:left;

	vertical-align:middle;

	font-size:1.5rem;

	line-height:1.5;

	font-family: 'Montserrat', sans-serif;

	font-weight:500;

	letter-spacing:0.1em;

	vertical-align: middle;

}



#news dl dd{

	display:inline;

	margin:0;

	padding:0 0 0 27px;

	text-align:left;

	vertical-align:middle;

	color:#333;

	font-size: 1.4rem;

	letter-spacing: 0.2em;

	line-height:1.5;

}



#news dl dd a{

	padding:0;

	color:#333;

	text-decoration:none;

	border-bottom:1px solid #bbb;

}



#news dl dd a:hover{

	opacity:0.7;

}









#concept{

	clear:both;

	background-color:#fff;

	overflow:hidden;

	position:relative;

	background:url(../images/bg_about.png) center bottom no-repeat;

}



#concept .inner {

    margin: 0 auto;

    width: 1180px;

    position: relative;

}



#concept ul{

	display:flex;

	flex-wrap:wrap;

	justify-content:space-between;

	margin:0 auto;

	padding:60px 0 0;

	width:1180px;

}



#concept ul li{

	width:352px;

}



#concept ul li span{

	display:none;	/*SPのみのため*/

}



#concept h3{

	padding:60px 0 0;

	text-align:center;

	font-size:3.8rem;

	letter-spacing: 0.2em;

}



#concept h3 span{

	display:inline-block;

	padding:0 0 20px;

	background:url(../images/line_slalom.png) 0 bottom no-repeat;

	font-weight:bold;

	letter-spacing:0.2em;

}



#concept h2{

	padding:25px 0 50px;

	text-align:center;

}



#concept p.text{

	padding:0 0 76px;

	text-align:center;

	font-size:1.6rem;

	line-height:2.1;

}



#feature{

	background-color:#daf6fa;

}



#feature h3{

	padding:80px 0 0;

	text-align:center;

	font-size:2.8rem;

	line-height:1.7;

	letter-spacing:0.2em;

	font-weight:bold;

}





#feature ul.cards{

	display:flex;

	flex-wrap:wrap;

	justify-content:space-between;

	margin:0 auto 60px;

	width:1180px;

}



#feature ul.cards li{

	margin:60px 0 0;

	width:250px;

	height:250px;

	background-color:#fff;

	text-align:center;

}



#feature ul.cards li img{

	padding:50px 0 20px;

}



#feature ul.cards li p{

	font-size:2.4rem;

	line-height:1.5;

	color:#01b7d1;

	font-weight:bold;

	letter-spacing:0.1em;

}



#feature ul.cards li p.line3{

	line-height:1.4;

}





#feature ul.att{

	margin:0 auto;

	padding:0 0 80px;

	display:table;

	font-size:1.5rem;

}



#feature ul.att li{

	margin:0 0 0.6em 1.5em;

	line-height:1.4;

	position:relative;

}



#feature ul.att li:before{

	content:"※";

	display:inline;

	position:absolute;

	left:-1.5em;

	top:0;

	line-height:1.4;

}







#use{

	padding: 80px 0;

	background:url(../images/bg_use.jpg) center 0 no-repeat;

	background-size:cover;

}





#use .box{

	margin:0 auto ;

	padding: 0 0 0 0;

	width:800px;

	height:350px;

	box-shadow:0 54px 54px rgba(0,0,0,0.4);

	background-color:#127cba;

	color:#fff;

}



#use h3{

    margin:0 0;

	padding:60px 0 30px;

	text-align:center;

	font-size: 2.8rem;

	font-weight:bold;

	letter-spacing: 0.2em;

}



#use ul{

    margin:0 auto;

	display:flex;

	flex-wrap:wrap;

	justify-content:space-between;

	width:640px;

	

}



#use ul li{

    float:left;

	margin:0 0 20px;

	width:145px;

	height:66px;

	line-height:60px;

	text-align:center;

	font-size: 1.8rem;

	font-weight:bold;

	letter-spacing:0.05em;

	border:3px solid #fff;

	box-sizing:border-box;

}



#use ul li:nth-child(5){

    clear:both;

}







#products{

	position:relative;

	background-color:#f7f7f7;

	

}



#products .inner {

    margin: 0 auto;

    width: 1180px;

    position: relative;

	overflow: hidden;

}



#products h2{

	margin:60px 0 0;

	padding:80px 0 0;

	text-align:center;

	font-size:3.4rem;

	letter-spacing: 0.2em;

	font-weight: 700;

	background:url(../images/pict_products.png) center 0 no-repeat;

}



#products h2 span{

	display:block;

	padding:20px 0 0;

	color:#01b7d1;

	font-size: 1.3rem;

	letter-spacing: 0.2em;

	font-family: 'Montserrat', sans-serif;

	font-weight:600;

}





#products ul{

	margin:60px 0 0;

	display:flex;

	flex-wrap:wrap;

	justify-content:space-between;

	overflow:hidden;

}



#products ul li{

	margin:0 0 60px;

	width:560px;

	background-color:#fff;

}





#products h3{

	padding:45px 40px 0;

	font-size:1.8rem;

	line-height:1.3;

	font-weight:bold;

	letter-spacing:0.1em;

}



#products ul li dl{

	padding:20px 40px 50px;

	overflow:hidden;

	font-size:1.5rem;

	line-height:1.8;

	letter-spacing:0.1em;

}



#products ul li dl dt{

	float:left;

	width:25%;

}



#products ul li dl dd{

	float:right;

	width:75%;

}

#products .sold_out{
	text-align: center;
	color: #e12424;
	font-size: 1.5rem;
    font-weight: bold;
    margin-top: 0.5em;
}



















#company{

	clear:both;

	position:relative;

	overflow: hidden;

}



#company h2{

	margin:60px 0 0;

	padding:70px 0 42px 0;

	text-align:center;

	font-size:3.4rem;

	letter-spacing: 0.2em;

	font-weight: 700;

	background:url(../images/pict_company.png) center 0 no-repeat;

}



#company h2 span{

	display:block;

	padding:20px 0 0;

	color:#01b7d1;

	font-size: 1.3rem;

	letter-spacing: 0.2em;

	font-family: 'Montserrat', sans-serif;

	font-weight:600;

}



#company .inner {

    margin: 0 auto 150px;

	padding:0 0 0;

    width:800px;

	border-bottom:1px solid #ccc;

    position: relative;

}



#company dl{

	padding:30px 0;

	border-top:1px solid #ccc;

	overflow:hidden;

	font-size:1.5rem;

	line-height:1.8;

	letter-spacing:0.1em;

}



#company dl dt{

	float:left;

	font-weight:bold;

	padding:0 0 0 2%;

	width:15%;

}



#company dl dd{

	float:right;

	padding:0 2% 0 0;

	width:80%;

}













#footer{

	clear:both;

	padding:0 0 0 0;

	background:#01b7d1;

	text-align:center;

	color:#fff;

}











#footer .contact a{

	display:block;

	background:#127cba;

	line-height:120px;

	color:#fff;

	text-decoration:none;

	font-size:2.8rem;

	font-weight:bold;

	letter-spacing:0.1em;

}



#footer .contact a span{

	padding:0 40px 0 56px;

	position:relative;

}



#footer .contact a span:before{

	content:"";

	display:inline-block;

	width:25px;

	height:18px;

	position:absolute;

	left:0;

	top:50%;

	margin-top:-9px;

	background:url(../images/icon_mail_ft.png) 0 0 no-repeat;

	background-size:contain;

}



#footer .contact a span:after{

	content:"";

	display:inline-block;

	width:11px;

	height:18px;

	position:absolute;

	right:0;

	top:50%;

	margin-top:-9px;

	background:url(../images/icon_mail_arrow_ft.png) 0 0 no-repeat;

	background-size:contain;

}



#footer .inner{

	margin:0 auto;

	max-width:1380px;

	min-width:1000px;

}



#footer .info_l{

	float:left;

	width:30%;

	padding:100px 0 0;

	text-align:left;

}



#footer .info_l h3{

	padding:0 0 0 73px;

	font-size:2.4rem;

	font-weight:bold;

	line-height:1.4;

	letter-spacing:0.2em;

	background:url(../images/icon_character_ft.png) 0 center no-repeat;

	height:70px;

}



#footer .info_l h4{

	padding:10px 0 0;

	font-size:1.3rem;

	

}









#footer .info_c{

	float:left;

	width:40%;

	padding:100px 0;

}



#footer .info_c p.text{

	padding:0 0 15px;

	font-size:1.6rem;

	line-height:1.0;

}



#footer .info_c p.tel{

	font-size:5.4rem;

	font-family: 'Montserrat', sans-serif;

	font-weight:600;

	letter-spacing:0.1em;

}



#footer .info_c p.tel a{

	display:inline-block;

	padding:0 0 0 50px;

	color:#fff;

	text-decoration:none;

	background:url(../images/icon_tel_ft.png) 0 center no-repeat;

	cursor:default;

	white-space: nowrap;

}











#footer .info_r{

	float:right;

	width:30%;

	text-align:right;

}



#footer .info_r p{

	font-size:1.3rem;

	line-height:1.5;

	letter-spacing: 0.05em;

}



#footer .info_r p.address{

	padding:150px 0 0;

	font-size:1.3rem;

	line-height:1.5;

}











#footer #ft_bottom{

	clear:both;

	text-align:center;

	position:relative;

	border-top:1px solid #4ecddf;

	height:90px;

}



#footer #ft_bottom #copyright{

	text-align:center;

	line-height:90px;

	font-size:1.0rem;

	letter-spacing:0.1em;

	font-family: 'Montserrat', sans-serif;

}





#footer #ft_bottom .pagetop{

	position:absolute;

	right:0;

	top:0;

	border-left:1px solid #4ecddf;

}



#footer #ft_bottom .pagetop a{

	display:block;

	width:98px;

	height:90px;

	color:#333;

	text-decoration:none;

	background:url(../images/icon_pagetop_arrow_ft.png) center center no-repeat;

	

}

























/* SP under 767px

=========================================================================================================*/



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

	

.sp-hide {

	display:none!important;

}



.pc-hide {

	display:block!important;

}



.sp-only{

	display:inline!important;

}



.pc-only{

	display:none!important;

}

/*

.fixed {

	position:static;

	box-shadow:none;

}*/



html,body{

	min-width:auto;

}



#container{

	min-width:auto;

}



#container.fixedbody{

	position:fixed;

}





/* spnav

-------------------*/



#nav_s{

	display:block;

	position:fixed;

	left:0;

	top:0;

	width:100%;

	height:46px;

	z-index:100;

	background:#fff;

	box-shadow: 0px 1px 1px rgba(0,0,0,0.05);

}



#spnav{

	display:block;

	position:absolute;

	right:15px;

	top:12px;

	z-index:200;

}



#logo_s{

	display:block;

	position:absolute;

	left:20px;

	top:16px;

	font-size:1.6rem;

	font-weight:bold;

	letter-spacing:0.1em;

	z-index:200;

}



#logo_s.menumode{

	

}



#logo_s.menumode a{

	color:#fff;

}



#logo_s img{

	width:135px;

	height:auto;

}





/* SP用メニューの変形トリガーここから */

#trigger{

	display:block;

	position:fixed;

	right:15px;

	top:13px;

	z-index:200;

		

}

.menu-trigger,

.menu-trigger span {

  display: inline-block;

  transition: all .4s;

  box-sizing: border-box;

}

.menu-trigger {

  position: relative;

  width: 26px;

  height: 20px;

}

.menu-trigger span {

  position: absolute;

  left: 0;

  width: 100%;

  height: 2px;

  background-color: #333;

  border-radius: 2px;

}

.menu-trigger span:nth-of-type(1) {

  top: 0;

}

.menu-trigger span:nth-of-type(2) {

  top: 9px;

}

.menu-trigger span:nth-of-type(3) {

  bottom: 0;

}

.menu-trigger.active span:nth-of-type(1) {

	-webkit-transform: translateY(9px) rotate(-45deg);

	transform: translateY(9px) rotate(-45deg);

	background-color: #fff;

}

.menu-trigger.active span:nth-of-type(2) {

	opacity: 0;

}

.menu-trigger.active span:nth-of-type(3) {

	-webkit-transform: translateY(-9px) rotate(45deg);

	transform: translateY(-9px) rotate(45deg);

	background-color: #fff;

}

/* SP用メニューの変形トリガーここまで */



#spmenu{

	display:none;

	position:absolute;

	left:0;

	top:0;

	z-index:100;

	width:100%;

	background:#01b7d1;

}



#spmenu.active{

	display:block;

}



#spmenu ul{

	display:block;

	padding:60px 0 0 0;

	z-index:200;

}



#spmenu ul li{

	padding:0 0;

	text-align:left;

	font-size:1.6rem;

}



#spmenu ul li a{

	display:inline-block;

	padding:15px 20px;

    color:#fff;

	text-decoration:none;

	font-weight:bold;

}

/*

#spmenu ul li img{

	width:100%;

	height:auto;

}

*/



#spmenu ul li.spbtnicons span{

	padding:0 14px 0;

}



#spmenu ul li.spbtnicons img{

	width:25px;

	height:25px;

}









#visual {

    margin-top:46px;

    position: relative;

	min-height:0;

	background:none;

}



#visual h2{

	padding:0;

	width:auto;	

}



#visual h2 img{

	width:100%;

	height:auto;

}















.tgt{

	position:absolute;

	left:0;

	top:-46px;

}







/* nav

-------------------*/



#nav{

	display:none;

}



#nav .inner{

	margin:0 auto;

	width:100%;

	max-width:none;

	min-width:0;

	position:relative;

	max-width:none;

}



#nav ul {

    width: 100%;

}



#nav ul li {

    float: none;

    width: auto;

}











#container{

	min-width:auto;

}











#nav .inner{

	margin:0 auto;

	width:auto;

	position:relative;

}









#news {

    padding:10px 0;

    text-align: left;

}



#news .inner{

	margin:0 17px;

    display:table;

	width:auto;

	max-width:none;

}



#news h2{

	float:none;

    display: table-cell;

	padding: 0 10px 0 0;

	font-size: 1.4rem;

}



#news h2 em{

	display:none;

}



#news h2 span{

	padding: 0 10px 0 0;

    border-right: 1px solid #ccc;

}



#news dl {

	float: none;

    display: table-cell;

	font-size: 1.2rem;

    border-left:none;

    padding: 0 0 0 0;

}



#news dl dt {

    display: block;

	vertical-align:top;

    padding:0 8px 0 0;

    color: #7e7e7e;

    text-align: left;

	font-size:1.3rem;

	line-height:1.4;

}



#news dl dd {

    display:block;

	vertical-align:top;

    padding:3px 0 0 0;

    text-align: left;

    color: #333;

	line-height:1.4;

	font-size:1.3rem;

	letter-spacing:0;

}







#concept{

	background:none;

}



#concept .inner {

    width: auto;

    position: relative;

}



#concept ul{

	padding: 0 0 0;

	width:auto;

	justify-content: center;

	align-items: center;

}



#concept ul li{

	margin: 0 20px 15px;

}



#concept ul li > img{

	display:none;

	width:100%;

	height:auto;

}



#concept ul li span{

	display: block;

	padding:15px 0 15px;

	background-color:#01b7d1;

	text-align:center;

	border-radius:7px;

	color:#fff;

	font-size:1.8rem;

	font-weight:bold;

	letter-spacing: 0.05em;

}



#concept ul li span img{

	display:block;

	margin:0 auto;

	padding:0 0 20px;

}



#concept ul li:nth-child(1) span img{

	width:58px;

	height:58px;

}



#concept ul li:nth-child(2) span img{

	width:54px;

	height:72px;

}



#concept ul li:nth-child(3) span img{

	width:72px;

	height:70px;

}



#concept h2 {

    padding: 18px 30px 20px;

}



#concept h2 img{

	width:100%;

	height:auto;

}





#concept h3{

	padding:35px 0 0;

	text-align:center;

	font-size: 1.7rem;

}





#concept h3 span{

	letter-spacing:0.05em;

}



#concept p.text {

    padding:10px 20px 30px;

    text-align: left;

    font-size: 1.4rem;

    line-height: 1.8;

}











#feature h3 {

    padding:30px 0 20px;

    text-align: center;

    font-size: 2.1rem;

    line-height: 1.5;

    letter-spacing: 0.1em;

    font-weight: bold;

}



#feature ul.cards{

	width:auto;

	margin:0 20px;

}





#feature ul.cards li {

    margin: 0 0 6.5%;

    width: 47%;

    height: auto;

    background-color: #fff;

    text-align: center;

}



#feature ul.cards li img {

    padding:30px 0 20px;

}



#feature ul.cards li p {

	padding:0 0 20px;

    font-size: 1.6rem;

    line-height: 1.4;

}





#feature ul.att {

    margin: 0;

    padding:15px 15px 30px;

    display: block;

    font-size: 1.3rem;

}











#use{

	padding:0;

	background:none;

}



#use .box{

	padding:0 10% 15px;

	width:auto;

	height:auto;

	box-shadow:none;

}



#use h3 {

    margin: 0 0;

    padding: 35px 0 20px;

    text-align: center;

    font-size: 2.4rem;

	line-height:1.3;

}



#use ul{

	width:auto;

}



#use ul li{

	width: 46%;

    height: auto;

    font-size: 1.6rem;

    border: 2px solid #fff;

    line-height: 2.4em;

}









#products .inner {

    margin:0 20px;

    width: auto;

    position: relative;

}



#products h2{

	margin: 30px 0 0;

	padding: 60px 0 26px 0;

	font-size:2.4rem;

	background-size:40px auto;

}



#products h2 span{

	padding: 12px 0 0;

	font-size:1.3rem;

}



#products h2 img{

	height:28px;

	width:auto;

}



#products ul {

    margin: 0 0 0 0;

}



#products ul li {

    float: none;

    margin: 0 0 30px;

    padding: 0 0 0 0;

    width: auto;

}



#products h3{

	padding:20px 20px 0;

}



#products ul li p img{

    width:100%;

    height:auto;

}



#products ul li dl{

	padding: 20px 20px 20px;

	font-size: 1.3rem;

}



#products ul li dl dt{

	float:none;

    width:auto;

	font-weight:bold;

	border-top:1px solid #ccc;

	padding:10px 0 0;

}



#products ul li dl dd{

	float:none;

    width:auto;

	padding:0 0 10px;

}











#company h2{

	margin: 30px 0 0;

	padding: 60px 0 26px 0;

	font-size:2.4rem;

	background-size:40px auto;

}



#company h2 span{

	padding: 12px 0 0;

	font-size:1.3rem;

}



#company h2 img{

	height:28px;

	width:auto;

}



#company .inner {

    margin:0 20px 0px;

	padding:0 0 20px 0;

    width: auto;

    position: relative;

	overflow:hidden;

	border-bottom:none;

}



#company dl{

	padding:15px 0;

	font-size: 1.3rem;

}



#company dl dt{

	float:none;

	width:auto;

	padding:0 10px 0;

}



#company dl dd{

	float:none;

	width:auto;

	padding:0 10px 0;

}



























/* footer

-------------------*/



#footer {

    clear: both;

    text-align: center;

}





#footer .contact a{

	line-height: 80px;

}



#footer .contact a span {

    padding:0 24px 0 40px;

    position: relative;

	font-size: 2.0rem;

}







#footer .inner{

	width:auto;

	max-width:none;

	min-width:0;

}



#footer .info_l{

	float:none;

	width:auto;

	margin:0 10px 0;

	padding:35px 0 30px;

	text-align:center;

	border-bottom: 1px solid #4ecddf;

}



#footer .info_l h3{

	display:inline-block;

	text-align:left;

	font-size: 2.1rem;

	height:auto;

}



#footer .info_l h4{

	text-align:center;

}





#footer .info_c{

	float:none;

	width:auto;

	padding:40px 0 20px;

}



#footer .info_c p.text{

	line-height:1.5;

	padding:0;

}



#footer .info_c p.tel{

	letter-spacing:0.05em;

}



#footer .info_c p.tel a{

	padding:0 0 0 1.5em;

	font-size:2.8rem;

	background-size:contain;

}





#footer .info_r{

	float:none;

	width:auto;

	margin:0 10px 0;

	padding:0 0 15px;

}



#footer .info_r p{

	text-align:center;

}





#footer .info_r p.address {

    padding: 0 0 0;

}





#footer #ft_bottom{

	height:auto;

	border-top:none;

}





#footer #ft_bottom .pagetop{

	position:static;

	left:auto;

	top:auto;

	display:block;

	text-align:center;

}



#footer #ft_bottom .pagetop a{

	position:static;

	left:auto;

	top:auto;

	display:inline-block;

	border:none;

	width:54px;

    height:50px;

}



#footer #ft_bottom #copyright {

    line-height: 1.0;

    padding: 10px 0 25px;

}





}









/* SP under 320px (iPhone SE)

=========================================================================================================*/



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











}