@charset "UTF-8";

/* _____________________________________________________________________ Reset */

article, aside, dialog, figure, footer, header, main, menu, nav, section{
	display: block;
}

time, figcaption{
	display: inline;
}

h1, h2, h3, h4, h5, h6{
	margin:0;
	padding:0;
	line-height:1em;
}

p{
	margin:0;
	padding:0;
	line-height:30px;
}

img{
	border:none;
	margin:0;
	padding:0;
	display:inline-block;
}

.thin_img{
	margin:0;
	padding:0;
	font-size:1px;
	line-height:1px;
}

ul, li, dl, dd, dt{
	margin:0;
	padding:0;
	list-style-type:none;
}

a{
	text-decoration:none;
}

a:hover{
	opacity:0.7;
}

.cf:after{
	content:" ";
	display:block;
	clear:both;
}

/* _____________________________________________________________________ common */

body {
	margin:0;
	padding:0;
	font-family:'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック',sans-serif;
	/* -webkit-text-size-adjust:100%; */
	font-size:15px;
	color:#575757;
	position:relative;
}

header{
	width:100%;
	margin:0 auto;
	padding:0;
	background-color:#d7000f;
	border-bottom: 2px solid #fff;
	position:fixed;
	top:0;
	z-index:999999;
}

nav{
	margin:0 auto;
	width:960px;
	height:82px;
	overflow:hidden;

}

nav h1{
	float:left;
	padding:18px 70px 0 0;
}

nav ul li{
	float:left;
	margin-right:45px;
	padding-top:35px;
}

nav ul li:last-child{
	margin-right:0;
	margin-left:30px;
}

.access_footer{
	position:relative;
}

.access_footer footer{
	position:absolute;
	bottom:0;
}

.footer_area{
	width:960px;
	margin:0 auto;
}

footer{
	width:100%;
	padding:20px 0;
	background:#575757;
	color:#fff;
	font-size:12px;
	text-align:left;
}

footer a{
	color:#fff;
	text-align:left;
}

footer small{
	float:right;
	letter-spacing:0em;
}

.flexiblebox{
 /*height:65px;*/
 height:3vh;
 display:-webkit-flex;
 display:flex;
 -webkit-align-items:center;
 align-items:center;
 -webkit-justify-content:center;
 justify-content:center;
}

/* _____________________________________________________________________ トップページ */

.section{
	width:100%;
	height:auto;
	text-align:center;
	letter-spacing:0.1em;
}

.section table{
	margin:0 auto;
	width:635px;
	text-align:left;
	border-bottom: 1px solid #e6e6e6;
}

.section table th{
	width:20%;
	padding: 10px;
	border-top: 1px solid #e6e6e6;
}

.section table td{
	width:80%;
	padding: 10px;
	border-top: 1px solid #e6e6e6;
}

.section table th{
	text-align: left;
	font-weight: normal;
	vertical-align: top;
	white-space: nowrap;
}

.arrow{
	width:100%;
	position:absolute;
	bottom:30px;
}

.color_01 h2{
	display:inline-block;
	font-size:20px;
	font-weight:normal;
	color:#929497;
	margin-bottom:40px;
	padding:30px 0;
	border-bottom: 1px solid #d7000f;
}

.color_02 h2{
	display:inline-block;
	font-size:20px;
	font-weight:normal;
	color:#fff;
	margin-bottom:40px;
	padding:30px 0;
	border-bottom: 1px solid #fff;
}

.google_map iframe{
	padding-top:30px;
	width:100%;
	height:380px;
}

.our-business{
	margin:0 auto;
	width:860px;
}

.our-business ul{
	display:flex;
	margin-bottom: 1vh;
}

.our-business ul li{
	width:280px;
	padding:1vh 0;
	margin-right:10px;
	color:#fff;
	float:left;
	border: 1px solid #fff;
	border-radius:20px;
	-webkit-border-radius:20px;
	-moz-border-radius:20px;
}

.our-business ul li:nth-child(3n){
	margin-right:0px;
}

.our-business a{
 	display:block;
 	color:#fff;
}
.our-business li a img{
 	height: 3vh;
}

.our-business h3{
	font-size:min(1.6vh,16.5px);
	font-weight:bold;
	line-height:1.6em;
	line-height: 1.25;
}

.our-business p{
	padding:0 15px;
	text-align:left;
	line-height:1.5;
	letter-spacing:0em;
	font-size: 1.0vh;
	height: 4vh;
}

.our-business_btn{
	width:400px;
	margin:1vh auto 0 auto;
	padding:0 10px;
}

.our-business_btn a{
	float:left;
	display:block;
	padding:10px 0 5px;
	width:175px;
	height:25px;
	font-weight:bold;
	color:#d7000f;
	background-color:#fff;
	border-radius:25px;
	letter-spacing:0;
	position:relative;
}

.our-business_btn span{
	position:absolute;
  	right:8px;
}

.our-business_btn .mr20{
	margin-right:10px;
}

.our-business_btn02{
	width: 100%;
	box-sizing: border-box;
	margin:10px auto 0 auto;
	padding:0 10px;
}

.our-business_btn02 a{
	display:block;
	padding:5px 0 5px;
	width:100%;
	height:auto;
	font-weight:bold;
	color:#d7000f;
	background-color:#fff;
	border-radius:25px;
	letter-spacing:0;
	position:relative;
	font-size: 0.95vh;
}

.our-business_btn02 span{
	position:absolute;
  	right:8px;
}

/* _____________________________________________________________________ 事業内容 */


#sns{
	padding:180px 0 90px;
	color:#fff;
	background-color:#d7000f;
}

#thanks{
	padding:90px 0;
	background-color:#fff;
}

.sns_area{
	width:660px;
	margin:0 auto;

}

.thanks_area{
	width:660px;
	margin:0 auto;
}

.marketing{
	width:960px;
	margin:0 auto;
	text-align:center;
}

.marketing h2{
	margin:0 auto;
	font-size:26px;
	line-height:1.8em;
	font-weight:normal;
	text-align:center;
	margin-bottom:40px;
	padding:30px 0;
}

.marketing .sns_area h2{
	width:340px;
	border-bottom: 1px solid #fff;
}

.marketing .thanks_area h2{
	width:240px;
	border-bottom: 1px solid #d7000f;
}

.marketing h3{
	font-size:17px;
	font-weight:bold;
	line-height:1.6em;
}

.marketing  p{
	font-size:17px;
	line-height:2em;
	text-align:left;
}

.marketing  ul{
	display:flex;
}

.marketing ul li{
	width:210px;
	padding:60px 0;
	margin-right:30px;
	float:left;
}

.marketing ul li img{
	width:90%;
}

.marketing ul li:nth-child(3){
	margin-right:0px;
}

.marketing .thanks_area ul li{
	color:#d7000f;
}

.marketing .sns_btn{
	width:260px;
	margin:0 auto;
}

.marketing .sns_btn a{
	display:block;
	padding:10px 0 5px;
	width:260px;
	height:25px;
	font-weight:bold;
	color:#d7000f;
	background-color:#fff;
	border-radius:25px;
	letter-spacing:0;
	position:relative;
}

.marketing .sns_btn span{
	position:absolute;
  	right:8px;
}

.marketing .sns_btn .mr20{
	margin-right:40px;
}

.thanks_area_btn{
	width:260px;
	margin:20px auto 0 auto;
}

.thanks_area_btn a{
	display:block;
	padding:10px 0 5px;
	width:260px;
	height:25px;
	font-weight:bold;
	color:#fff;
	background-color:#d7000f;
	border-radius:25px;
	letter-spacing:0;
	position:relative;
}

.thanks_area_btn span{
	position:absolute;
  	right:8px;
}


/* _____________________________________________________________________ プライバシーポリシー */

.privacy{
	width:960px;
	margin:150px auto 50px auto;
	font-size:14px;
	line-height:1.8em;
}

.privacy h2{
	width:340px;
	margin:0 auto;
	font-size:20px;
	font-weight:normal;
	text-align:center;
	color:#000;
	margin-bottom:40px;
	padding:30px 0;
	border-bottom: 1px solid #000;
}

.privacy span{
	font-weight:bold;
}

.privacy p{
	padding-bottom:15px;
}

.privacy ul li{
	padding-bottom:30px;
}


/* _____________________________________________________________________ お問い合わせ */


.contact{
	width:100%;
	margin:150px auto 0px auto;
	text-align:center;
	position:relative;
}

.contact>p{
	padding:30px 0;
	border-bottom: 1px solid #d7000f;
}

.contact span{
	width:100%;
	display:block;
	border-bottom: 1px solid #d7000f;
	position:absolute;
	bottom:200px;
}

table#form{
	width:720px;
	margin:50px auto;
}

table#form th,
table#form td{
	padding-bottom:30px;
	font-weight:normal;
}

table#form th{
	padding:1%;
	text-align:left;
	white-space:nowrap;
	vertical-align:top;
}

table#form tr:nth-child(6){
	height:200px;
}

td{
	display:inlines;
	width: 590px;
}

input,textarea{
	background-color: #f7f7f7;
	border: 1px solid #e6e6e6;
	padding:2%;
}

textarea{
	font-size:14px;
}

input,placeholder{
	font-size:14px;
}

/* _____________________________________________________________________ チェックボックス */

.check_area{
	text-align:left;
	line-height:2em;
}

.check{
	margin:-28px 0 0 25px;
}

.check a{
	color: #d7000f;
}


/* _____________________________________________________________________ ボタン */


.btn{
	margin:-80px auto 100px auto;
	text-align:center;
}

input#submit{
	background:url("../img/btn_contact.svg")  center  no-repeat;
	width:310px;
	padding:15px;
	font-size:14px;
	color: #d7000f;
	background-color: #fff;
	border: 1px solid #d7000f;
}

input#submit:hover{
	background:url("../img/btn_contact_hover.svg")  center  no-repeat;
	color: #fff;
	background-color: #d7000f;
}

/* _____________________________________________________________________ エラー画面 */


.error_message{
	width:100%;
	margin:150px auto 100px auto;
	text-align:center;
	color:#d7000f;
}

.error_message h4{
	font-weight:normal;
	color:#575757;
	padding-bottom:60px;
}

.error_message span{
	display:block;
	padding-bottom:60px;
}

input#return{
	background:url("../img/btn_return.svg")  center  no-repeat;
	width:310px;
	padding:15px;
	font-size:14px;
	color: #575757;
	background-color: #fff;
	border: 1px solid #575757;
}

input#return:hover{
	background:url("../img/btn_return_hover.svg")  center  no-repeat;
	color: #fff;
	background-color: #575757;
}



/* _____________________________________________________________________  アニメーション */


/*----- フェードイン -----*/

.inviewfadeIn {
	opacity: 0;
	transition: .8s;
}

.fadeIn {
	opacity: 1.0;
}

/*----- 上へスライド -----*/

.inviewUp {
	transform: translate(0, 40px);
	-webkit-transform: translate(0, 40px);
	transition: .8s;
}

.Up {
        transform: translate(0, 0);
        -webkit-transform: translate(0, 0);
}

/*----- ズームイン -----*/

.inviewzoomIn {
        transform: scale(0, 0);
        -webkit-transform: scale(0, 0);
        transition: .8s;
}

.zoomIn {
        transform: scale(1, 1);
        -webkit-transform: scale(1, 1);
}

/*----- フェードインしながら上へスライド -----*/

.inviewfadeInUp {
	opacity: 0;
	transform: translate(0, 60px);
        -webkit-transform: translate(0, 60px);
        transition: .8s;
}

.fadeInUp {
	opacity: 1.0;
	transform: translate(0, 0);
	-webkit-transform: translate(0, 0);
}


/* 2021.11.15 追記 */
@media only screen and (max-width: 896px) {

/* ----- TOP ----- */
	.header {
		height: 55px;
	}

	nav {
		width: 100%;
		max-width: 100%;
		/*height: 55px;*/
		height: auto;
		overflow: auto;
	}
	nav h1 {
		padding: 10px 0 10px 10px;
	}
	nav h1 img {
		width: 100px;
	}
	nav ul {
		width: 100%;
		height: auto;
		overflow: auto;
		padding: 15px 0;
	}
	nav ul li {
		margin-right: 5px;
		padding-top: 0;
		width: 100%;
		height: auto;
		line-height: 1;
		padding: 10px 10px;
		box-sizing: border-box;
	}
	nav ul li:last-child {
		margin-left: 0;
	}
	nav ul li a img {
		/*width: 70%;*/
	}

	.fp-section.fp-table, .fp-slide.fp-table {
		width: 100%;
		padding: 15px 15px;
		box-sizing: border-box;
	}
	.fp-section img {
		max-width: 100%;
	}
	.fp-tableCell {
		position: relative;
	}

	.color_01 h2, .color_02 h2 {
		font-size: 95%;
		padding: 20px 0;
		margin-bottom: 20px;
	}
	.fp-tableCell p {
		font-size: 85%;
	}
	.fp-tableCell p br {
		display: none;
	}

	.our-business {
		width: 100%;
	}
	.our-business ul {
		width: 100%;
		display: block;
	}
	.our-business ul li {
		width: 100%;
		padding: 15px 0;
		margin: 0 auto 15px;
	}
	.our-business ul li > a {
		padding: 0 15px;
	}
	.our-business ul li > a > img {
		float: left;
		height: 50px !important;
	}
	.our-business ul li > a .flexiblebox {
		height: 50px;
	}
	.our-business ul li > a .flexiblebox h3 {
		line-height: 1.25;
	}
	.our-business ul li > a p {
		width: 100%;
		margin-top: 10px;
		line-height: 1.5;
		box-sizing: border-box;
		padding: 0 10px;
	}
	.our-business ul li .our-business_btn02 {
		width: 100%;
		box-sizing: border-box;
	}
	.our-business ul li .our-business_btn02 a {
		width: 100%;
	}

	.section table {
		width: 100%;
	}
	.section table th, .section table td {
		padding: 5px;
		box-sizing: border-box;
		font-size: 85%;
	}

	.google_map iframe {
		height: 300px;
	}

	.footer_area {
		width: 100%;
	}
	footer {
		left: 0;
		bottom: 15px !important;
		box-sizing: border-box;
		padding: 15px 10px;
		text-align: center;
	}
	footer .footer_area a,
	footer .footer_area small {
		width: 100%;
	}
	.access_footer footer {
		background: none;
	}

	/* ----- CONTACT ----- */
	.contact {
		margin: 100px auto 0px auto;
		padding: 0 10px;
		box-sizing: border-box;
	}
	table#form {
		width: 100%;
	}
	table#form th, table#form td {
		display: block;
		box-sizing: border-box;
		width: 100%;
		padding-bottom: 15px;
	}
	table#form th p {
		font-size: 90%;
	}
	table#form tr:nth-child(6) {
		height: auto;
	}
	table#form .check {
		margin: -31px 0 0 25px;
		font-size: 85%;
	}
	.contact .btn {
		margin: 0 auto 100px auto;
	}

}


/*----------------------------------------
	Navigation (Toggle) responsive-nav.js
----------------------------------------*/
@media only screen and (max-width: 896px) {

	.navi-mobile-head {
		width: 60px;
		height: 55px;
		z-index: 999;
		margin: 0 0 0 auto;
		position: absolute;
		top: 0;
		right: 0;
	}

	.navi-mobile-toggle {
		display: block;
		position: absolute;
		right: 12px;
		top: 14px;
		width: 34px;
		height: 36px;
		cursor: pointer;
		z-index: 102;
	}

	.navi-mobile-toggle div {
		position: relative;
	}

	.navi-mobile-toggle span {
		display: block;
		position: absolute;
		height: 2px;
		border-radius: 4px;
		width: 100%;
		background: #FFF;
		left: 0;
		-webkit-transition: 0.5s ease-in-out;
		-o-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}

	.navi-mobile-toggle span:nth-child(1) {
		top: 0;
	}

	.navi-mobile-toggle span:nth-child(2) {
		top: 11px;
	}

	.navi-mobile-toggle span:nth-child(3) {
		top: 22px;
	}


	body.no-scroll {
		overflow: hidden;
	}

	.navi-mobile-toggle {
		display: block;
	}

	/*[setting]
	#nav_toggle 切り替えアニメーション */
	.open .navi-mobile-toggle span:nth-child(1) {
		top: 11px;
		-webkit-transform: rotate(315deg);
		-ms-transform: rotate(315deg);
		transform: rotate(315deg);
	}

	.open .navi-mobile-toggle span:nth-child(2) {
		width: 0;
		left: 50%;
	}

	.open .navi-mobile-toggle span:nth-child(3) {
		top: 11px;
		-webkit-transform: rotate(-315deg);
		-ms-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}

	/*[setting]
	.global_.navi-global スライドアニメーション */
	.global_nav.narrow {
		-webkit-transition: 0.5s ease-in-out;
		-o-transition: 0.5s ease-in-out;
		transition: 0.5s ease-in-out;
	}

	nav ul {
		display: none;
		-webkit-transform: translateX(100%);
		-ms-transform: translateX(100%);
		transform: translateX(100%);
		-webkit-transition: all 0.5s;
		-o-transition: all 0.5s;
		transition: all 0.5s;
	}

	.open nav ul {
		display: block;
		visibility: visible;
		-webkit-transform: translateX(0);
		-ms-transform: translateX(0);
		transform: translateX(0);
	}

}
