@charset"utf-8";

/*--------------------------------common--------------------------------------*/
body {
	font: 1rem / 1.5;
	font-family: "Noto Sans JP", YuGothic, "Yu Gothic", "游ゴシック体", "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: #4d4d4d;
	width:100%;
}
.inner {
	width: 980px;
	margin-right: auto;
	margin-left: auto;
}
a:hover {
	color: #BB0000;
}
.material-icons {
	vertical-align: -0.2em;
}

.cf {
	display: block;
}
.cf::after { 
	content: "";
	display: block;
	clear: both;
}
header, body, footer {
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
h1{
	font-size:3.4rem;
}
h2{
	font-size:2.3rem;
	display:inline-block;
}
h3{
	font-size:1.6rem;
}
h1,
h2,
h3 {
	font-family: 'Alice', serif;
}
/*----------------------header---------------------------------------*/
header {
	background: rgba(255,255,255,0.9);
	display: -webkit-flex;
	display: flex;
		-webkit-align-items: center;
	align-items: center;
	position: fixed;
	z-index: 2;
	display: flex;
	height: 80px;
	justify-content: space-between;
	
}
#site_title {
	width: 230px;
	height: 55px;
	padding-left:100px;
}
nav ul{
	padding-right: 100px;
}
nav li {
	display: inline-block;
	height: 65px;
	text-align: center;
	flex: 1;
}
nav li+li {
	padding-left: 50px;
}
nav a {
	box-sizing: border-box;
	line-height: 32.5px;
	font-size: 0.75rem;
	color: #000000;
	font-weight: bold;
	display: block;
	padding-top:5px;
}
nav span{
	display: block;
	font-size: 0.5rem;
	font-weight: normal;
	line-height: 1;
}

/*-----------------------------main--------------------------------*/
.mv {
	position: relative;
	display:block;

}
.mv img{
	padding-top: 80px;
	width:100%;
	height:50vh;
	object-fit: cover;
	object-position: top center;
}

h1 {
	position: absolute;
	width: 100%;
	left: 0; 
	top: calc(50% - 25px); 
	text-align: center; 
	color: #fff;
	font-weight: bold; 
	line-height: 50px;
	text-shadow: 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c;
}

h1 span{
	font-size:1.25rem;
	text-shadow: 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c, 0 0 10px #4c4c4c;

}

.text{
	width: 500px;
	margin-top:75px;
	margin-bottom:75px;
}
p{
	font-size:1rem;
}

/*---------------form-------------------------*/
.item{
	margin-bottom: 30px;
}
.item:first-child{
	margin-top: 50px;
}
.label,.label_required{
	margin-left:130px;
	float:left;
	width:200px;

}
.inputs,.inputs_required {
	float: right;
	width:450px;
	margin-right:50px;
}

#contact_us {
	width: 454px;
	height:21px;
}
/*--------必須ラベル-------*/
.required{
	color: #B00;
	border: 1.5px solid #B00;
	padding: 0px 5px;
	font-weight: bold;
	width: 100%;
	margin-left: 5px;
}
/*-----------ラベル下線--------*/
.label::after,.label_required::after{
	content: '';
	display: block;
	background: #b3b3b3;
	height: 2px;
	width: 28px;
	margin-top: 5px;
}

/*------------送信、リセットボタン--------------------*/
.button{
	margin-top:50px;
	margin-bottom:50px;
	text-align:center;
}
.submit,.reset{
	border-radius:10%;/* 角丸*/
	font-size:1rem;	/* 文字サイズ */
	cursor:pointer;	 /* カーソル*/
	padding: 5px 5px;	 /* 余白 */
	background: #ffffff; /* 背景色*/
	color:#000; /* 文字色*/
	line-height:1em;/*1行の高さ	*/
	transition:.5s;/* なめらか変化 */
	box-shadow: 3px 3px 3px #666666;/* 影の設定 */
}

.submit:hover,.reset:hover{
	box-shadow:none;/* カーソル時の影消去 */
	color:#ffffff;/* 背景色*/
	background:#990000;/* 文字色*/
}

/*-----------------------固定ボタン---------------------------*/
#page_top{
	width:	50px;
	height:	50px;
	position:	fixed;
	right:	0;
	bottom:	0;
	background:	#4d4d4d;
	opacity:	0.6;
}
#page_top	a{
	position:	relative;
	display:	block;
	width:	50px;
	height:	50px;
	text-decoration:	none;
}
#page_top a::before {
	font-family: 'Font Awesome 5 Free';
	font-weight: 900;
	content: '\f106';
	font-size: 25px;
	color: #fff;
	position: absolute;
	width: 25px;
	height: 25px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

#contactus{
	position:fixed;
	right:	130px;
	bottom:	0;
	text-align:	center;
	width:	200px;
	height:	70px;
}

#contactus a{
	width:250px;
	height:70px;
	background-color:#BB0000;
	display:flex;
	color:#fff;
}
	
#contactus p{
	width:70%;
	display:inline-block;
	padding-right: 15px;
	padding-top:10px;
}

#contactus a::before{
	content:url("../images/letter.png");
	display:inline-block;
	width:50px;
	heigt:70px;
	width:30%;
	padding-top:19px;
	padding-left:15px;
}

/*----------------------footer-------------------------------*/

footer {
	background-color:#b3b3b3;
	width: 100%;
}

.footer_nav{
	margin-left:100px;
	margin-right:100px;
	padding-top:30px;
	text-align:center;
	
}

.footer_nav li{
	display: inline-block;
color: #fff;
}

.footer_nav li+li{
	padding-left: 30px;
}

.footer_nav a {
color: #fff;}	

.footer_nav a:hover{
	color:#BB0000;
}

.allview_banner{
	margin-right:100px;
	text-align:right;
}

.copyright{
	text-align:center;
}
@media only screen and (max-width: 640px) {
/* reset */
header {
	display: flex;
}
header, body, h1, footer, #news, #blog, #service, .link, nav, #site_title {
	width: 100%;
}
.inner {
	width: 100%;
}
h1{
	font-size:2rem;
}

/*common*/

#wrapper nav ul {
	padding-right: 0px;
}
#wrapper nav {
	position: fixed;
	top: 0;
	right: -1000px;
	width: 100%;;
	height: 100%;
	padding-top: 50px;
	background:#333;
	font-size: 1rem;
	box-sizing: border-box;
	z-index: 2;
}
#wrapper nav ul li {
	display:block;
	padding: 20px 28px
}
 
#wrapper nav ul li a {
	text-decoration: none;
	color: #ddd
}
 
#wrapper .btn-gnavi {
    position: fixed;
    top: 25px;
    right: 20px;
    width: 30px;
    height: 24px;
    z-index: 3;
    box-sizing: border-box;
    cursor: pointer;
    -webkit-transition: all 400ms;
    transition: all 400ms
}
 
#wrapper .btn-gnavi span {
    position: absolute;
    width: 30px;
    height: 4px;
    background: #666;
    border-radius: 10px;
    -webkit-transition: all 400ms;
    transition: all 400ms
}
 
#wrapper .btn-gnavi span:nth-child(1) {
    top: 0
}
 
#wrapper .btn-gnavi span:nth-child(2) {
    top: 10px
}
 
#wrapper .btn-gnavi span:nth-child(3) {
    top: 20px
}
 
#wrapper .btn-gnavi.open {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg)
}
 
#wrapper .btn-gnavi.open span {
    background: #fff
}
 
#wrapper .btn-gnavi.open span {
    width: 24px;
}
#wrapper .contents section p {
    position: absolute;
    top: 50%;
    width: 30%;
    line-height: 1.4;
    font-size: 20px;
    color: #fff;
    text-shadow: 0 0 6px #666
}
 
#wrapper .contents section:nth-child(odd) p {
    left: 10%
}
 
#wrapper .contents section:nth-child(even) p {
    right: 10%
}
	.inner1, .inner2, .inner3{
	margin-right: 50px;
	margin-left: 50px;
	margin-top: 30px;
}
	
	.link a {
		margin-right: auto;
    margin-left: auto;
	}
	
   
.allview_banner {
    text-align: center;
	margin: 0px;
}

footer{
	height: fit-content;}
	
.footer_nav {
    margin-left: 50px;
    margin-right: 50px;
	 padding-top: 10px;
}

.footer_nav a {
    color: #fff;
    font-size: 0.7rem;}
	
	.footer_nav li+li {
    padding-left: 15px;}
	
	#site_title {
    padding-left:  10px;}

.text{
	width: 80%;
	margin-left:auto;
	margin-right:auto;
	margin-top:75px;
	margin-bottom:75px;
}
.mv img{
	height:30vh;
}
/*---------------form-------------------------*/
.item{
	width:100%;
}
.label,.label_required{
	margin-left:7px;
	float:none;

}
.inputs,.inputs_required {
	float: none;
	width: 70%;
	margin-right: 0px;
	margin-left: 7px;
}
#contact_us {
	width: 70%;
	height:21px;
}

/*-----------ラベル下線--------*/
.label::after,.label_required::after{
	content: '';
	display: block;
	background: #b3b3b3;
	height: 2px;
	width: 10%;
	margin-top: 5px;
	margin-bottom:20px;
	margin-left:7px;
}

/*--------必須ラベル-------*/
.required{
	color: #B00;
	border: 1.5px solid #B00;
	padding: 0px 5px;
	font-weight: bold;
	width: 100%;
	margin-left: 5px;
}

/*-------------送信、リセットボタン-----------------*/
.button{
	margin-bottom:100px;
}

.submit:hover,.reset:hover{
	box-shadow:none;/* カーソル時の影消去 */
	color:#ffffff;/* 背景色*/
	background:#990000;/* 文字色*/
}

}