@charset "utf-8";

/* android対策 */
p { background-image: url(../images/pix.gif); }

/*--------------------------------------------------------
★レスポンシブ■タブレット対応
--------------------------------------------------------*/
@media screen and (max-width: 1280px) {
	/* layout */
	html{
		width: 1280px;
	}
	body {
		width: 1280px;
	}
	/* header */
	header{
		position: relative;
		display: block;
		width: 1280px;
	}
	article{
		position: relative;
		display: block;
		width: 1280px;
	}
	#free_trial .center_text:before{
		left: -450px;
	}
	#free_trial .center_text:after{
		right: -450px;
	}
	footer{
		width: 1280px;
	}

	#slider {
     padding-top: 0px;
	}

	.bxslider li:first-child{
		background-position: center;
	}
	.bxslider li:nth-child(2){
		background-position: center;
	}
	.bxslider li:last-child{
		background-position: center;
	}

	.bxslider li:first-child .bg{
		background-position: center;
	}
	.bxslider li:nth-child(2) .bg{
		background-position: center;
		width: 1280px;
	}
	.bxslider li:last-child .bg{
		background-position: center;
		width: 1280px;
	}
	.bxslider li:last-child .bg .scrollable{
		left: 115px;
	}
}

/*--------------------------------------------------------
★レスポンシブ■ヘッダ部分
--------------------------------------------------------*/
@media screen and (min-width: 481px) {
	.pc_none{
		display: none!important;
	}
}
@media screen and (max-width: 480px) {
	/* header */
	header{
		position: fixed;
		max-width: 480px;
		width: 100%;
		height: auto;
		padding: 0;
		z-index: 100;
		background: #FFF;
		top: 0;
	}

	/* スマホ用メニュー */
	#rd_header{
		position: fixed;
		display: block;
		top: 0;
		width: 100%;
		height: 50px;
		margin: 0;
		z-index: 10000;
		background: #FFF;
		box-shadow:0 3px 1px rgba(0,0,0,0.2);
	}
	#rd_header h2{
		margin: 12px auto 0;
		text-align: center;
		color: #000;
	}
	#rd_logo{
		position: relative;
	}
	#rd_logo a{
		position: absolute;
		top: 0;
		left: 5px;
		width: 85px;
		height: 85px;
		background: url(../images/headerlogo.png) no-repeat;
		background-size: contain;
		z-index: 10000;
	}
	#rd_logo a:hover{
		opacity: 0.8;
	}
	#rd_gnav{
		position: absolute;
		display: block;
		float: right;
		width: 70px;
		height: 50px;
		top: 0;
		right: 0;
		text-align: center;
	}
	#rd_gnav li{
		position: relative;
		display: inline-block;
		text-decoration: none;
		width: 47.2%;
		height: 10px;
	}
	#rd_gnav li a{
		position: relative;
		display: inline-block;
		text-decoration: none;
		list-style: none;
		font-size: 7px;
		text-align: center;
		color: #000;
		line-height: 1em;
		width: 100%;
		height: 10px;
		padding: 32px 2% 8px;
		border-radius: 3px;
		z-index: 10000;
	}
	#rd_gnav li:first-child a{
		background: url(../images/rd_contact.svg) no-repeat center 28%;
		-webkit-background-size: 25px;
		background-size: 25px;
	}
	@media only screen and (orientation:landscape) {
		#rd_header{
			position: absolute;
			background: url(../images/texture.jpg) repeat top left;
			-webkit-background-size: 500px;
			background-size: 500px;
		}
		#topcontrol{
			display: none!important;
		}
	}
	#panel-btn-icon{
		position: absolute;
		display: block;
		top: 38%;
		left: 50%;
		width: 14px;
		height: 2px;
		margin: -1px 0 0 -7px;
		background: #d82d80;
		transition: .2s;
	}
	#panel-btn-icon:before, #panel-btn-icon:after{
	  display: block;
	  content: "";
	  position: absolute;
	  top: 38%;
	  left: 0;
	  width: 14px;
	  height: 2px;
	  background: #d82d80!important;
	  transition: .3s;
	}
	#panel-btn-icon:before{
	  margin-top: -6px;
	}
	#panel-btn-icon:after{
	  margin-top: 4px;
	}
	#panel-btn .close{
	  background: transparent;
	  background: #FFF!important;
	}
	#panel-btn .close:before, #panel-btn .close:after{
	  margin-top: 0;
	  background: #d82d80!important;
	}
	#panel-btn .close:after{
	  transform: rotate(-45deg);
	  -webkit-transform: rotate(-45deg);
	}
	#panel-btn .close:before{
	  transform: rotate(-135deg);
	  -webkit-transform: rotate(-135deg);
	}
	#panel{
		position: absolute;
		display: none;
		width: 100%;
		height: auto;
		z-index: 1000;
		top: 50px;
		margin: 0;
		padding: 0 0 155px;
		text-align: center;
	}
	#panel li{
		background: rgba(216,45,128,0.7);
	}
	#panel li a{
		position: relative;
		display: block;
		padding: 9px 5%;
		width: 90%;
		font-size: 12px;
		border-bottom: 1px dotted #B5B5B6;
		line-height: 100%;
		text-decoration: none;
		color: #FFF;
	}
	#panel li a:after{
		content: "\f054";
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
		position: absolute;
		top: 8px;
		right: 7%;
	}
	#panel li a:hover{
		color: #FFF;
		background: rgba(216,45,128,0.8);
	}
	.dropdown{
		position: absolute;
		width: 100%;
		height: 100%;
		left: 0;
		top: 0;
	}
	.dropdown li{
		padding: 0;
	}
	.dropdown li > ul li{
		text-indent: 1em;
		background: rgba(215,247,246,0.8);
	}
	.dropdown li > ul li a{
		color: #FFF;
		width: 94%;
		padding: 0 0 0 6%;
		background: rgba(215,247,246,0.8);
	}
}

/*--------------------------------------------------------
★レスポンシブ■スマホ表示切替ボタン
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		position: fixed;
		display: block;
		width: 30%;
		height: auto;
		z-index: 100;
		font-size: 12px;
		padding: 4px 2px;
		border-radius: 8px;
		background: #FFF;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		text-align: center;
		color: #d82d80;
		text-decoration: none;
		border: 2px solid #d82d80;
		bottom: 40px;
		left: 12px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 481px) {
	#switch{
		display: none;
		height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}

@media screen and (min-width:1021px) {
	#switch{
		display: block;
		height: auto;
	}
	li a#btnPC{
		display: none;
	}
	li a#btnSP{
		position: fixed;
		display: block!important;
		width: 300px;
		height: auto;
		z-index: 100;
		font-size: 24px;
		padding: 8px;
		text-align: center;
		border-radius: 22px;
		background: #d82d80;
		box-shadow: 3px 3px 1px rgba(0,0,0,0.2);
		color: #fff;
		text-decoration: none;
		bottom: 30px;
		left: 30px;
		z-index: 99999999!important;
	}
}
@media screen and (min-width: 1023px) {
	#switch{
	display: none;
	height: 0;
	}
	li a#btnSP{
		display: none;
	}
	li a#btnPC{
		display: none;
	}
}


/*--------------------------------------------------------
★レスポンシブ■コンテンツ部分
--------------------------------------------------------*/
@media screen and (max-width: 480px) {
	html{
		max-width: 480px;
		width: 100%;
		-webkit-text-size-adjust: 100%!important;
		overflow-x: hidden;
	}
	body {
		max-width: 480px;
		min-width: 320px;
		width: 100%;
		overflow-x: hidden!important;
		box-shadow: none;
		font-size: 16px;
		line-height: 22pt;
		letter-spacing: .02em;
		-webkit-text-size-adjust: 100%!important;
	}

	/* Common
	------------------------------ */
	.sp_none{
		display: none;
	}
	article{
		width: 100%;
	}
	.fl_l,.fl_r{
		clear: both;
		float: none;
	}

	/* layout
	------------------------------ */
	.wrapper{
		width: 92%;
		padding: 0 4%;
	}
	.tel{
		width: 250px;
		height: 34px;
		-webkit-background-size: contain;
		background-size: contain;
	}
	.btn a{
		width: 250px;
	}

	/* bxslider */
	#slider{
		padding-top: 50px;
	}
	.bxslider li{
		height: auto;
		background-size: cover;
		background-repeat: no-repeat;
	}
	.bxslider li.slider01 .btn{
		width: 180px;
		font-size: 13px;
		padding-left: 15px;
		left: 20px;
		bottom: 35px;
	}
	.bxslider li.slider01 .btn::after{
		width: 6px;
		height: 14px;
		right: 15px;
	}
.to_company{
	position: relative;
}
.to_company a{
	position: absolute;
	bottom: 11vw;
	left: 7.5vw;
	background: #d82d80;
	color: white;
	font-size: 10px;
	cursor: pointer;

	width: 170px;
	height: 35px;
	line-height: 35px;
	box-sizing: border-box;
	padding-left: 10px;
}
.to_company a:before{
	position: absolute;
	content: "";
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: 2px solid white;
	border-right: 2px solid white;
}

	/* Header
	------------------------------ */
	/* 非表示 */
	#header_logo,#lead,#gnav,#header .fl_r{
		display: none;
	}

	/* main_contents
	------------------------------ */
	section {
		position:relative;
		display:block;
		/*padding-top:120px;
		margin-top: -50px;*/
	}

	/* greeting
	------------------------------*/
	#greeting {
		background-image: url(../images/background1.png);
		background-size: contain;
		background-repeat: repeat;
		padding-top: 100px;
		padding-bottom: 80px;
		position: relative;
	}
	#greeting:before{
		position: absolute;
		content: "";
		top: 40px;
		left: 0;
		width: 200px;
		height: 200px;
		background-image:  url(../images/background11.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: left;
	}
	#greeting:after{
		position: absolute;
		content: "";
		bottom: 0;
		right: 0;
		width: 200px;
		height: 200px;
		background-image:  url(../images/background11.png);
		background-size: cover;
		background-repeat: no-repeat;
		background-position: right;
	}
	#greeting img{
		height: auto;
		width: 90%;
		display: block;
		margin: 40px auto 20px;
	}
	#greeting p{
		text-align: left;
		font-size: 16px;
	}
	.img_row{
		background: url(../images/background2sp.png),  #ffe1e9;
		background-size: contain;
		background-repeat: no-repeat;
		background-position: top center;
		position: relative;
		z-index: 2;
		height: 250px;
		width: 100%;
		margin-bottom: 0;
	}

	/* menu
	------------------------------*/
	#menu{
		padding: 70px 0 90px;
	}
	#menu h2{
		height: 30px;
	}
	#menu ul{
		display: block;
	}
	#menu ul li{
		width: 100%;
		margin: 0 auto 50px;
	}
	#menu ul li:last-child{
		margin-bottom: 0;
	}
	#menu ul li figcaption br.pc_none{
		display: block;
	}
	#menu ul li figcaption span{
		height: auto;
		font-size: 16px;
		line-height: 1.5;
		margin-bottom: 10px;
		padding: 10px;
		box-sizing: border-box;
	}
	#menu ul li figcaption span.sp_none{
		display: none;
	}

	/* about
	------------------------------*/
	#about {
		padding-top: 30px;
		z-index: 1;
		margin-top: 0px;
	}
	#about h2 .sun_en{
		width: 100%;
		height: auto;
		margin-top: 50px;
	}
	#about .sun_ja{
		font-size: 19px;
		margin-bottom: 30px;
		margin-top: 0;
	}
	#about .sun_ja:after{
		display: none;
	}
	#about .wagon_pict img{
		position: relative;
		display: block;
		width: 80%;
		height: auto;
		margin: 20px auto 70px;
	}
	#about .gallery:before{
		width: 100%;
		height: 30px;
		background-size: cover;
		background-position: center;
		top: -50px;
		left: 0;
	}
	#about .mention1 {
		width: 100%;
		margin-bottom: 0;
	}
	#about .mention2 {
		width: 100%;
		text-align: left;
		margin-top: 10px;
	}
	#about .mention2:before {
		display: none;
	}
	#about .mention2:after {
		display: none;
	}

	/* free_trial
	------------------------------ */
	#free_trial{
		padding-bottom: 80px;
		padding-top: 80px;
	}
	#free_trial .please {
		text-align: left;
	}
	#free_trial:after {
		height: 40px;
		width: 100%;
		top: 40px;
		z-index: 10;
	}
	#free_trial .con_ja {
		line-height: 1.5;
		font-size: 19px;
		margin-top: 10px;
	}
	#free_trial .con_en {
		width: 40%;
		margin-top: 70px;
	}
	#free_trial .please:before{
		display: none;
	}
	#free_trial .imgimg:before{
		display: none;
	}
	#free_trial .imgimg:after{
		display: none
	}
	#free_trial table{
		width: 100%;
	}
	#free_trial table th {
		width: 100%;
	}
	table {
		width: 100%;
	}
	table tr{
		display: block;
		width: auto;
	}
	table th{
		display: block;
		width: auto;
		border-bottom: none;
		font-size: 16px;
	}
	table td {
		display: block;
		width: auto;
		border-left: 1px solid #bfbfbf;
		border-bottom: 0;
	}
	table tr:first-child td {
		border-radius: 0;
		border-top: none;
	}
	table tbody tr:last-child th:first-child {
		border-radius: 0;
	}
	table td .add {
		width: 100%;
	}
	table td .entry {
		width: 100%;
	}
	table tr:last-child td {
		border-radius: 0 0 20px 20px;
		border-bottom: 1px solid #bfbfbf;
	}
	table td textarea {
		width: 100% !important;
	}

	/*	 contact
	------------------------------ */
	#contact{
		background-position: top 50px center;
		padding-top: 130px;
		margin-top: -50px;
	}
	#contact .con_en {
		width: 40%;
		margin-top: 30px;
	}
	#contact .con_ja {
		font-size: 19px;
		margin-top: 0;
	}
	#contact .please {
		text-align:left;
	}
	#contact .tel {
		width: 100%;
		height: 100px;
		margin-top: 35px;
	}
	#contact .tel h3{
		font-size: 18px;
		padding-top: 15px;
	}
	#contact .tel .tel_no {
		margin-top: 10px;
	}
	#contact .tel .tel_no img {
		width: 16px;
		height: 20px;
	}
	#contact .tel .tel_no p {
		font-size: 25px;
	}
	#contact .bymail {
		margin-top: 35px;
		margin-bottom: 30px;
		color: #7f2d19;
		font-size: 19px;
	}
	#contact .privacy_policy{
		width: 100%;
		margin-bottom: 30px;
	}
	#contact .check_text{
		text-align: left;
		text-indent: -1.6em;
		margin-bottom: 30px;
		margin-left: 50px;
		width: 90%;
		display: block;
		overflow-wrap:break-word;
		position: relative;
	}
	#contact .check_text label{
		text-align: left;
		width: 100%;
		overflow-wrap:break-word;
		position: relative;
	}
	#contact .check_text label input{
		overflow-wrap:break-word;
		position: relative;
	}
	#contact .btn1 {
		margin-right: 0;
		margin-bottom: 15px;
	}
	#contact .btn2 {
		margin-left: 0;
	}

	/* footer
	------------------------------ */
	footer{
		background: url(../images/background5sp.png);
		background-repeat: no-repeat;
		height: 270px;
		text-align: center;
		margin-top: 70px;
		position: relative;
		width: 100%;
	}
	footer .wrapper:before {
		position: absolute;
		content: "";
		top: -63px;
		left: 20px;
		height: 70px;
		width: 63px;
	}
	footer .wrapper:after {
		position: absolute;
		content: "";
		top: -73px;
		right: 10px;
		height: 80px;
		width: 100px;
	}

/* @media screen and (min-width: 350px) and (max-width: 400px) {
	#slider{
		padding-top: 0;
		height: 500px;
		width: 100%;
	}
	#slider .bxslider li{
		height: 500px;
		width: 100%;
	}
}

@media screen and (min-width: 400px) and (max-width: 480px) {
	#slider{
		padding-top: 0;
		height: 530px;
		width: 100%;
	}
	#slider .bxslider li{
		height: 530px;
		width: 100%;
	}
} */