﻿@charset "utf-8";
@import url("../css/navi.css");

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

.clearfix	{
	display				: block ;
}

/* Hides from IE-mac \*/
* html .clearfix { height : 1% ; }
/* End hide from IE-mac */

html	{
	background		: none ;
	position		: relative ;
	width			: 100% ;
	height			: 100% ;
}

body	{
	width			: 100% ;
	height			: 100% ;
	padding			: 0 ;
	margin			: 0 ;
	font-family		: 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif ;
	font-size		: 12px ;
	font-weight		: normal ;
	line-height		: 18px ;
	color			: #000000;
	-webkit-text-size-adjust: 100%;
	position		: relative ;
}

a img	{
	border			: none ;
}

a:hover img{
	opacity: 0.6;
	filter: alpha(opacity=60);
	 -moz-opacity: 0.6;
}

a	{
	text-decoration	: none ;
	color 			: #000000 ;
}

a:hover{
	color			: #000000 ;
	text-decoration	: none ;
}

form{
	margin			: 0 ;
	padding			: 0 ;
}


.visi_text{
	visibility		: hidden ;
}


/****ヘッダー****/
.header{
	width: 100%;
	height: 115px;
	padding: 10px 0 0;
	background-color: rgba(255,255,255,0.85);
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
}

.head{
	width: 1080px;
	height: 115px;
	margin: 0 auto;
}

.head_line{
	width: 1080px;
	display: inline-block;
}

.head_l{
	width: 159px;
	height: 50px;
	float: left;
}
.head_l img{
	width: 159px;
	height: 50px;
}

.head_r{
	width: 280px;
	padding: 10px 0 0;
	float: right;
	display: inline-block;
}

.head_tel{
	width: 155px;
	background-image: url("../img/sns00.png");
	background-size: 20px;
	background-position: left center;
	background-repeat: no-repeat;
	font-family: 'Oswald', sans-serif;
	font-size: 20px;
	float: left;
	padding: 3px 0 3px 25px;
}

.head_icon{
	width: 20px;
	height: 20px;
	margin: 0 20px 0 0;
	float: left;
}

.head_icon img{
	width: 20px;
	height: 20px;
}

.head_icon02{
	width: 11px;
	height: 20px;
	float: left;
}

.head_icon02 img{
	width: 11px;
	height: 20px;
}

.menu_box{
	width: 960px;
	height: 30px;
	padding: 15px 0 0;
	margin: 0 auto;
}

.menu{
	width: 960px;
	display: inline-block;
}

.menu01{
	width: 137px;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
	float: left;
}
.menu01 a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.menu01 a::after {
  position: absolute;
  bottom: 6px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #df0012;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.menu01 a:hover::after {
  transform: scale(1, 1);
}

.main_content01{
	width: 1080px;
	margin: 0 auto 50px;
}


/****フッター****/
/***
.bg_img02{
	width: 100%;
	height: 450px;
	background-image: url("../img/back02.jpg");
	background-size: cover;
	background-position: center;
	margin-bottom: 50px;
}
***/

.bg_img02{
	width: 100%;
	height: 2px;
	margin-bottom: 80px;
	background-color: #000;
}

.bottom_bnr_area{
	width: 1080px;
	height: 120px;
	margin: 0 auto 40px;
}

.bottom_bnr_line{
	width: 1080px;
	height: 120px;
	display: inline-block;
}

.bottom_bnr01{
	width: 330px;
	height: 120px;
	margin: 0 45px 0 0;
	float: left;
}
.bottom_bnr01 img{
	width: 330px;
	height: 120px;
}

.bottom_bnr02{
	width: 330px;
	height: 120px;
	margin: 0;
	float: left;
}
.bottom_bnr02 img{
	width: 330px;
	height: 120px;
}

.bottom_tel{
	width: 330px;
	height: 80px;
	margin: 0 auto 50px;
}
.bottom_tel img{
	width: 330px;
	height: 80px;
}

.bottom_logo{
	width: 200px;
	height: 48px;
	margin: 0 auto 50px;
}
.bottom_logo img{
	width: 200px;
	height: 48px;
}

.footer{
	width: 100%;
	padding: 25px 0 20px;
	background-color: #cfcfcf;
}

.foot{
	width: 1080px;
	margin: 0 auto;
}

.foot_menu{
	width: 1080px;
	display: inline-block;
}

.foot_icon01{
	width: 20px;
	height: 20px;
	margin-right: 25px;
	float: left;
}
.foot_icon01 img{
	width: 20px;
	height: 20px;
}
.foot_icon02{
	width: 10px;
	height: 20px;
	margin-right: 0;
	float: left;
}
.foot_icon02 img{
	width: 10px;
	height: 20px;
}

.copy{
	width: 100%;
	padding: 10px 0;
	font-size: 14px;
	line-height: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	text-align: center;
}

/****全ページ共通****/
.first_box{
	width: 100%;
	height: 125px;
	/*padding: 0 0 125px;*/
	position: relative;
	z-index: 1;
}
.first_box02{
	width: 100%;
	padding: 125px 0 0;
	position: relative;
	z-index: 1;
}


.arrow{
  position: relative;
  display: inline-block;
  padding-left: 20px;
}

.arrow::before{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #5bc0de;
  border-right: solid 2px #5bc0de;
  -ms-transform: rotate(90deg);
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  position: absolute;
  top: 50%;
  left: 0;
  margin-top: -4px;
}

/* 背景色と文字色、上下の余白・幅の指定 */
.pagetop {
	width: 178px;
    border: solid #000 1px;
}
.pagetop a {
    background: #000;
    padding: 15px 0;
}
.pagetop a:hover {
    color: #000;
}




@media screen and (max-width:639px) {
/*　画面サイズが639pxまではここを読み込む　*/

/****ヘッダー****/
.header{
	display: none;
}

.sp_header{
	width: 100%;
	height: 50px;
	margin-bottom: 20px;
	padding: 10px 0 25px;
}

/****全ページ共通****/
.first_box{
	display: none;
}
.first_box02{
	display: none;
}

.sp_logo{
	width: 150px;
	height: 47px;
	margin: 0 0 0 10px;
}
.sp_logo img{
	width: 150px;
	height: 47px;
}

.main_content01{
	width: 90%;
	margin: 0 5% 20px;
}

/****フッター****/
/***
.bg_img02{
	width: 100%;
	height: 450px;
	background-image: url("../img/back02.jpg");
	background-size: cover;
	background-position: center;
	margin-bottom: 50px;
}
***/

.bg_img02{
	width: 100%;
	height: 2px;
	margin-bottom: 40px;
	background-color: #000;
}

.bottom_bnr_area{
	width: 90%;
	height: auto;
	margin: 0 5% 40px;
}

.bottom_bnr_line{
	width: 100%;
	height: auto;
	display: inline-block;
}

.bottom_bnr01{
	width: 100%;
	height: auto;
	margin: 0 0 20px 0;
}
.bottom_bnr01 img{
	width: 100%;
	height: auto;
}

.bottom_bnr02{
	width: 100%;
	height: auto;
	margin: 0 0 20px 0;
}
.bottom_bnr02 img{
	width: 100%;
	height: auto;
}

.bottom_tel{
	width: 330px;
	height: 80px;
	margin: 0 auto 50px;
}
.bottom_tel img{
	width: 330px;
	height: 80px;
}

.bottom_logo{
	width: 200px;
	height: 48px;
	margin: 0 auto 50px;
}
.bottom_logo img{
	width: 200px;
	height: 48px;
}

.footer{
	width: 100%;
	padding: 25px 0 20px;
	background-color: #cfcfcf;
}

.foot{
	width: 100%;
	margin: 0 auto;
}

.foot_menu{
	width: 100%;
	display: inline-block;
	display: -webkit-flex;
	display: flex;
	flex-wrap: wrap;
	-webkit-justify-content: space-around;
	justify-content: space-around;
}

.foot_icon01{
	display: none;
}
.foot_icon01 img{
	display: none;
}
.foot_icon02{
	display: none;
}
.foot_icon02 img{
	display: none;
}

.copy{
	width: 100%;
	padding: 10px 0;
	font-size: 14px;
	line-height: 14px;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	text-align: center;
}

.menu01{
	width: 45%;
	text-align: center;
	font-family: 'Oswald', sans-serif;
	font-size: 24px;
	margin-bottom: 20px;
}
.menu01 a {
  position: relative;
  display: inline-block;
  text-decoration: none;
}
.menu01 a::after {
  position: absolute;
  bottom: 6px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #df0012;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform .3s;
}
.menu01 a:hover::after {
  transform: scale(1, 1);
}

#page-top {
	display: none;
}


.page-top {
	display: none;
}


}

@media screen and (min-width: 640px) {
/* 640pxからの幅の場合に適応される */
.sp_header{
	display: none;
}

#page-top {
	width: 178px;
	margin: 0 auto 200px;
    cursor: pointer ;
}


.page-top {
	width: 178px;
    text-align: center;
    float: right;
}
.page-top a {
    position: relative; 
    display: block;
    color: #fff;
    transition: .6s ease;
    text-decoration: none;
}
.page-top a span {
    position: relative;
    z-index: 2;
    font-size: 26px;
    line-height: 26px;
    font-family: 'Oswald', sans-serif;
}
.page-top a::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    display: block;
	width: 178px;
    height: 100%;
    background: #fff;
    opacity: 0;
    transition: .4s ease; 
    transform: scale(0, 1);
    transform-origin: center left;
}
.page-top a:hover::before {
    opacity: 1;
    transform: scale(1, 1);
}

/* 背景色と文字色、上下の余白・幅の指定 */
.pagetop {
	width: 178px;
    border: solid #000 1px;
}
.pagetop a {
    background: #000;
    padding: 15px 0;
}
.pagetop a:hover {
    color: #000;
}


}
