@charset "utf-8";

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

responsive.css

=====================================*/
.spTopBlueLink{
	display: none;
}


/*-------------------------------------------------------------------
 Media Queries
-------------------------------------------------------------------*/

/* SP layout
-------------------------------------------------------------------*/
@media screen and (max-width: 767px) {

/* layout */

	.contents .section {
    padding: 0 0 25px 0;
}
	.serviceList li{
		width: 49%;
		float: left;
		margin-right: 1%;
	}
	.headerLogo {
    max-width: 150px;
    margin-bottom: 0px;
}
	.menuBtn {
    height: 29px;
    position: absolute;
    right: 2%;
    top: 10px;
    width: 37px;
}
	.contents .serviceList h3{
		font-size: 13px;
	}
.serviceListDetail {
        padding: 8px;
    font-size: 12px;
}
	.contents .serviceList h3{
		margin: 0 0 5px 0;
		padding: 4px 0px;
		line-height: 25px;

	}
	.contents .serviceList h3 img{
		max-height: 25px;
		max-width: 85%;
	}
	.ttlStyle01 p{

		display: none;
	}
	.ttlStyle01 h2 em {
    margin: 0 15px 10px 0;
    font-size: 20px;
}
	.category {
    padding: 4px;
    font-size: 11px;
}
	.newsList dl dt {
    clear: both;
    float: left;
    width: 120px;
    margin: 0 0 15px 0;
    padding: 0 0 15px 0;
}
	.newsList dl dd {
    margin: 0 0 15px 0;
    padding: 0 0 15px 120px;
    border-bottom: 1px solid #dedede;
}
	.spTopBlueLink {
		display: block;
		text-align: center;
	}
	.spTopBlueLink a{
		display: inline-block;
		background-color: #029ede;
		border-radius: 4px;
		text-align: center;
		padding-top: 10px;
		padding-bottom: 10px;
		color: #FFFFFF;
		margin: 0 auto 40px;
		position: relative;
		width: 75%;
	}
	.spTopBlueLink a:before{
		background-image: url(../images/icn_arw01_white.png);
    content: '';
    width: 20px;
    height: 20px;
    position: absolute;
    left: 10px;
    top: 9px;
    background-size: contain;
    background-repeat: no-repeat;
	}


/*-------------------------------------
 fixed
-------------------------------------*/

main {
	position: relative;
	padding: 49px 0 50px 0;
}
	main#home{
	padding-top: 49px;
}
	.gNav {
    position: fixed;
    top: 49px;
    z-index: 100000;
}

/*-------------------------------------
 layout
-------------------------------------*/
	.headerSns{
		width: 35px;
	}
	.headerSearch{
		width: calc( 97% - 35px );
		margin-left: 2%;
	}
	.headerSearch .txt{
		height: 34px;

	}
	.headerSearch .btnG{
		height: 34px;

	}
	.headerGroup{
		padding: 2%;
	}
	.headerSpecialLink {
    float: none;
    width: 100%;
    margin-left: 0;
    padding-top: 8px;
    clear: both;
}
	.ikazuchiContactBox {
    margin: 2% auto 0;
    width: 96%;
    float: none;
}
	.gNav ul li{
		padding: 0;
	}
	.gNav ul.ikazuchiContactBtn li,.gNav ul.ikazuchiLoginBtn li{
		padding: 0;
	}

	.gNav ul li a {
    font-size: 18px;
    color: #333333;
}
	.headerSpecialLink a{
		font-size: 16px;
	}
	.headerSpecialLink a:before {
    background-image: url(../images/icn_reg.png);
    content: '';
    background-size: contain;
    width: 27px;
    height: 24px;
    position: absolute;
    top: 10px;
    left: 10px;
    background-repeat: no-repeat;
}
	#spBanner{
		text-align: center;
		padding-left: 2%;
		padding-right: 2%;
	}
	.fbArea{
		padding-left: 2%;
    padding-right: 2%;
	}
	.contents .section p{
		margin-bottom: 10px;
	}
	.contents h1{
		font-size: 18px;
	}
	.contents h1.detailCatch{
		padding: 4px;
	}
	.contents h1.detailCatch:before{
		top: -80px;
		left: -80px;
	}
	.contents h1.detailCatch:after{
		right: -80px;
		bottom: -80px;
	}
	.detailSpecBox{
		display: block;

	}
	.detailSpecBox dt{
		width: auto;
		text-align: center;
		border-bottom: 10px solid #f1f1f1;
		padding: 10px;
	}
	.detailSpecBox dt img{
		width: auto;
		max-height: 40px;
	}
	.detailSpecBox h4{
		font-size: 18px;
		border-bottom: none;
	}
	.contents h1.detailCatch em{
		padding: 10px;
	}
	.detailSpecBox dd{
		border: none;
	}
	.detailSpecBox dd .kakinDetail dt{
		border: none;
	}
	h5.leadText{
		font-size: 16px;
	}
	h2.ttlBlueAshirai{
		font-size: 28px;
	}
	h2.ttlBlueAshirai.spMini{
		font-size: 18px;
	}

	h2.ttlBlueAshirai:after{
		margin: 20px auto 30px;
	}
	.detail3point{
		grid-template-columns: repeat(1, 1fr);
	}
	.detailOsusumeList{
		grid-template-columns: repeat(2, 1fr);
	}
	.detailOsusumeList li{
		border: none;
	}
	_:-ms-lang(x)::-ms-backdrop, .detail3point li{
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
		margin-left: 0;
		float: none;
	}
	_:-ms-lang(x)::-ms-backdrop, .detail3point{
		margin-left: 0;
	}
	_:-ms-lang(x)::-ms-backdrop, ul.categorySearchResult li{
		width: 100%;
		margin-bottom: 20px;
		margin-right: 0;
		margin-left: 0;
		float: none;
		box-sizing: border-box;
	}
	.detailOsusumeList li:nth-child(odd){
		border-right:1px solid #dcdcdc;
	}
	.detailOtoiawaseBox{
		padding: 4px;
	}

	.detailOtoiawaseBox .detailOtoiawaseBoxInner{
		padding: 10px;
	}


	.detailOtoiawaseBox p{
		font-size: 18px;
	}

	.detailOtoiawaseBox a {
    padding-left: 0;
    padding-right: 0;
    text-align: center;
    width: 100%;
		font-size: 18px;
}
	.detailOtoiawaseBox a:before {
    width: 28px;
    height: 21px;
    position: absolute;
    left: 12px;
    top: 12px;
}
	.detailOtoiawaseBox:before{
		top: -70px;
    	left: -70px;
	}
	.detailOtoiawaseBox:after{
		right: -70px;
    	bottom: -70px;
	}
	.contents h3{
		font-size: 18px;
	}

	ul.categorySearchResult{
		grid-template-columns: repeat(1, 1fr);
	}


	.shiborikomiKrikaeBtn li a{
		font-size: 16px;
	}


	.shiborikomiBtn{
		grid-template-columns: repeat(2, 1fr);
	}
	.shiborikomiBtn li a{
		padding-top: 14px;
    	padding-bottom: 14px;
	}

	.serviceSearchResult li ul li{
		padding: 15px 0px 15px 15px;
	}


	.searchResultBox{
		padding: 20px 10px 20px 10px;
		margin-bottom: 20px;
	}


	.shiborikomiKrikaeBtn li{
		padding: 3px;
	}


	.shiborikomiKrikaeBtn li a{
		padding-bottom: 23px;
	}


	#spBanner li{
		text-align: center;
		margin-bottom: 20px;
	}
.serviceSearchResult {
    display: grid;
    grid-gap: 10px;
    grid-template-columns: repeat(1, 1fr);
}




	.menuBtn.active span:nth-of-type(1) {
	width: 45%;
	-webkit-transform: translate3d(2px, 7px, 0px) rotate(45deg);
	transform: translate3d(-1px, 7px, 0px) rotate(45deg);
}
	.menuBtn.active span:nth-of-type(3) {
	width: 45%;
	-webkit-transform: translate3d(18px, -3px, 0px) rotate(45deg);
	transform: translate3d(15px, -2px, 0px) rotate(45deg);
}


	.footerMenu ul li a{
		padding-top: 10px;
		padding-bottom: 10px;
		display: block;
	}

	.footerMenu ul li {
    float: none;
    padding: 0 40px 0 18px;
    background: url(../images/icn_arw06.png) no-repeat left center;
    background-size: 7px;

    border-bottom: solid 1px #dcdcdc;
}
	.footerMenu ul li:last-child{
		border: none;
	}


	#smart_mail {
		display: block;
		background-color: #f5f5f5;
		padding: 2%;
		margin-left: -2%;
	}
	#smart_mail tbody{
		display: block;
	}
	#smart_mail th, #smart_mail td,#smart_mail tr{
		display: block;
		border:none;
		background-color: #FFFFFF;
	}
	#smart_mail td{
		border: none;
	}
	#smart_mail th{
		border-bottom: 3px solid #f5f5f5;
	}
	#smart_mail tr {
		margin-bottom: 10px;
		background-color: #FFFFFF;
		    padding: 2%;
	}
	.inquiry-sbtn input{
		margin-bottom: 20px;
	}
	.inquiry-sbtn{
		margin-bottom: 20px;
	}
	#smart_mail select{
		border: solid 1px #dadada;
		min-height: 30px;
		border-radius: inherit;
	}

		.topNewsBox{
		width: 100%;
		float: none;
}
	#topNewsFbArea{
		display:none;
	}


	.bannerArea{
			position: relative;
			padding-top: 0px;
		}

	.detailSpecBox dt img {

    position: relative;
    top: auto;
    left: auto;
    -webkit-transform: none;
    transform: none;

}
	.slick-dots{
		bottom:7px;
	}
	.slick-dots li{
		margin: 0 10px;
	}

	.slick-dots li button{
		width: 10px;
		height: 10px;
	}

	.detailSpecBox dt{
	width: auto;
	max-width: none;
}

} /* media end */


/* PC layout
-------------------------------------------------------------------*/
@media screen and (min-width: 769px) {

	.containerA{
		min-height: inherit;
	}



}
