@charset "utf-8";
/* CSS Document */
/*フォントスタイルここから*/
.gothic{font-family: heisei-kaku-gothic-std, sans-serif;}
.mincho{font-family: ten-mincho-text, serif;}
.oswald{font-family: oswald, sans-serif;}
/*フォントスタイルここまで*/

/*ADOBEフォントちらつき対策ここから*/
body {
    animation: fadeIn 3s ease 0s 1 normal;
    -webkit-animation: fadeIn 3s ease 0s 1 normal;
}
@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
/*ADOBEフォントちらつき対策ここまで*/

*, *::before, *::after{
	box-sizing: border-box;
}
html{
	font-size: 62.5%;
	height: 100%;
	position: relative;}
body{
	font-family: heisei-kaku-gothic-std,游ゴシック体, 'Yu Gothic', YuGothic, 'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', メイリオ, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic',sans-serif;
	font-size: 14px;font-size: 1.4rem;
	color:#191919;
	margin: 0 auto;
	line-height: 1.4;
	position:relative;
}
main{
	overflow: visible;
}
img,iframe{
	max-width: 100%;
	width: 100%;
}
a{
	text-decoration: none;
	color: #1c1c1c;
}
/*a:hover{
	opacity: 0.7;
}*/
@media screen and (max-width:1024px) {
	body{
		font-size: 1.3rem;
	}
}

/*デバイス切り替えここから*/
@media screen and (max-width: 1024px) {
	.pc {display:none !important;}
}
@media print,screen and (min-width: 1025px) {
	.sp {display:none !important;}
}
/*デバイス切り替えここまで*/

/*ショートコードここから*/
.btn_wrap{
	display: flex;
    justify-content: space-around;
    width: 800px;
    margin:0px auto;
}
.btn{
	position: relative;
    border: 2px solid #191919;
    background: #fff;
    text-align: center;
    width: 300px;
    display: block;
    padding: 15px 0;
	font-weight: bold;
	border-radius: 50px;
}
.btn:after{
	content: "";
    position: absolute;
    top:40%;
    right: 15px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #261a03;
    border-right: 2px solid #261a03;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.btn:hover{
    background: #ececeb;
    transition: all 0.5s ease 0.2s;
}
@media screen and (max-width:1024px) {
	.btn_wrap{
		display:block;
	    width:auto;
	    margin:0 auto 10%;
	}
	.btn{
		width: 80%;
		padding: 4% 0;
	    margin: 0 auto;
	}
}
/*ショートコードここまで*/

/*レイアウト共通ここから*/
.sec1,.sec3,.sec4,.sec5,.sec6{
	padding:80px 0;
}
.sec_inner{
	max-width: 1200px;
	margin:0 auto 80px;
}
.layout{
	display: flex;
	justify-content: space-between;
}
.contents{
	width: 100%;
	max-width: 950px;
}

@media screen and (max-width: 1024px) {
	.sec1,.sec2,.sec3,.sec4,.sec5,.sec6{
		padding:12% 0;
	}
	.sec_inner{
		width: 96%;
		margin:0 auto;
	}
	.lastsec{
		padding-bottom: 16%;
	}
	.layout{
		display: block;
	}
}
/*レイアウト共通ここまで*/

/*タイトル共通スタイルここから*/
h3.heading{
	position: sticky;
	top: 0;
	width: 100%;
	height: 100%;
	max-width: 230px;
	font-family: oswald, sans-serif;
    font-size: 3.4rem;
    font-weight: 600;
    color: #1f2a73;
}
h3.heading span{
	font-size: 1.4rem;
    font-weight: normal;
    font-family: heisei-kaku-gothic-std, sans-serif;
    color: #191919;
	display: flex;
	align-items: center;
}
h3.heading span::before{
	content: "";
    height: 1px;
    background-color: #191919;
    margin-right: 1rem;
    width: 30px;
}
@media screen and (max-width: 1024px) {
	h3.heading{
		position: static;
    	height:auto;
    	max-width: 100%;
		font-size: 3rem;
		margin-bottom: 6%;
	}
	h3.heading span{
		font-size: 1.4rem;
	}
}
@media screen and (min-width: 960px){
	a[href^="tel:"] {
    	pointer-events: none;
	}
}
/*タイトル共通タイトルスタイルここまで*/

/*ヘッダーここから*/
header {
  	position: relative;
    display: flex;
    justify-content: space-between;
    box-shadow: 0px 0px 8px 3px rgb(35, 35, 35);
    align-items: center;
    z-index: 9999;
}
header .left_area{
	display: flex;
	margin-left: 20px;
}
header .logo_area h1{
	font-size: 1rem;
}
header .logo_area h2{
    margin: 5px 0 0;
}
header .logo_area{
	margin-left: 20px;
}
header .eco_area{
	margin-left: 20px;
}
header .contact_area{
	display: flex;
	align-items: center;
}
header .contact_area p{
    position: relative;
    text-align: center;
    padding: 0px 25px;
    border-left: 1px solid #ccc;
    line-height: 1.2;
}
header .contact_area p strong{
	font-size: 3.2rem;
	color:#1f2a73;
	font-weight: 700;
}
header .contact_area a{
	display: block;
    padding: 20px;
    height: 100px;
    width: 130px;
    text-align: center;
    font-family: oswald, sans-serif;;
    font-size: 2rem;
    font-weight: 500;
    background: #1f2a73;
	color: #fff;
	line-height: 1;
}
header .contact_area img{
	margin: 0 auto 5px;
    display: block;
    width: 40%;
}
@media screen and (max-width: 1024px) {
	header{
		display: flex;
		height: 60px;
		align-items: center;
		width: 100%;
	}
	header h2{
		width: 75%;
		margin: 0 auto 0 2%;
		max-width: 350px;
	}
	
	header button{
		width: 60px;
		height: 60px;
		border: 0;
		background:#1f2a73;
	}
	header button img{
		width: 30px;
	}
	/* header button:last-of-type{
		position: absolute;
		top:0;
		right: 0;
	} */
	header h1{
		color: #fff;
	    font-size: 1rem;
	    width: auto;
	    margin: 0 2% 4%;
	    padding-top: 2%;
	}
	header nav ul.menu li{
		position: relative;
		margin: 0 3% 3%;
		width: auto;
		padding: 5% 0;
		border: 1px solid #fff;
	}
	header nav ul.menu li a{
		position: relative;
		display: flex;
		align-items: center;
		color: #fff;
		text-align: left;
	    line-height: 1.2;
	    font-weight: bold;
	    margin-left: 3%;
	    border-right:0;
	}
	header nav ul.menu li:nth-of-type(3):after{
		content: "";
		position: absolute;
		background: url(../img/common/pickup2.svg) no-repeat;
		width: 50px;
		height: 42px;
		background-size: contain;
		top: 0;
		left: 40%;
		animation-name: move;
		animation-timing-function: ease-in-out;
		animation-iteration-count: infinite;
		animation-direction: alternate;
		animation-duration: 1s;
	}
	@keyframes move {
		0% {
			transform: translate(0,0px);
		}
		100% {
			transform: translate(0,-5px)
		}
	}
	header nav ul.menu li a:after{
		content: "";
	    position: absolute;
	    top:40%;
	    right: 15px;
	    width:8px;
	    height:8px;
	    border-top: 2px solid #fff;
	    border-right: 2px solid #fff;
	    -webkit-transform: rotate(45deg);
	    transform: rotate(45deg);
	}
	header nav ul.menu li a span{
		font-size: 1.2rem;
		margin-left: 2%;
		color:#fff;
	}
	header .tel{
		text-align: center;
		padding: 3%;
		line-height: 1;
		width: auto;
		margin: 4% 3% 0;
		background: #ececeb;
	}
	header .tel p {
		font-weight: bold;
		background: #fff;
		border-radius: 50px;
		padding: 3% 0;
		color: #191919;
	}
	header .tel a {
		font-family: oswald, sans-serif;
		font-weight: 500;
		font-size: 3rem;
		color:#191919;
		margin: 5px 0;
		display: block;
	}
	header .tel small {
		color: #191919;
		font-size: 1.2rem;
	}
}
/*ヘッダーここまで*/

/*下層MVここから*/
.under_mv{
	background: url(../img/common/main_bg.jpg) no-repeat;
	background-position: center top;
	background-size: cover;
	max-height: 230px;
}
.under_mv .ttl_area{
	position: relative;
	width: 1200px;
	margin: 0 auto;
	padding: 75px 0;
}
.under_mv .ttl_area h2{
	font-family: oswald, sans-serif;
	color: #fff;
    font-size:8rem;
    font-weight: bold;
	line-height: 1;
	opacity: 0.5;
}
.under_mv .ttl_area span{
	position: absolute;
    display: block;
    font-size: 3rem;
    font-weight: bold;
    color: #fff;
    bottom: 60px;
    left: 20px;
}
@media screen and (max-width: 1024px) {
	.under_mv{
		background: url(../img/common/sp/main_bg.jpg) no-repeat;
		background-position: center top;
		background-size: cover;
	}
	.under_mv .ttl_area{
		padding: 8vh 0 8vh 5%;
		width: auto;
	}
	.under_mv .ttl_area h2{
		font-size:5rem;
	}
	.under_mv .ttl_area span{
		font-size: 2.4rem;
		bottom: 6vh;
		left:8%;
	}
}
/*下層MVここまで*/

/*PC用メニューここから*/
nav.main_nav{
	border-bottom: 1px solid #ccc;
}
nav.main_nav ul{
	display: flex;
	max-width: 1200px;
	margin:0 auto;
}
nav.main_nav ul li{
	position: relative;
	width:20%;
	padding: 10px 0;
}
nav.main_nav ul li:nth-of-type(3)::before{
	content: "";
    position: absolute;
    background: url(../img/common/pickup.svg) no-repeat;
    width: 50px;
    height: 42px;
    background-size: contain;
    top: 6px;
	left: 40px;
	animation-name: move;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-duration: 1s;
}
@keyframes move {
    0% {
        transform: translate(0,0px);
    }
    100% {
        transform: translate(0,-5px)
    }
}
nav.main_nav ul li a{
	display: block;
    text-align: center;
    line-height: 1.2;
    border-right: 1px solid #ccc;
}
nav.main_nav ul li:first-child a{
	border-left: 1px solid #ccc;
}
nav.main_nav ul li a span{
	font-size: 1rem;
	color:#1f2a73;
	font-family: oswald, sans-serif;
}
nav.main_nav ul li a:hover{
	font-weight: bold;
}
nav.main_nav ul li a img{
	width: 30px;
}
/*PC用メニューここまで*/

/*フッターここから*/
footer{
	background: #191919;
	color: #fff;
}
footer .footer_wrap{
	max-width: 1100px;
    margin: 0 auto 50px;
    display: flex;
    justify-content: space-around;
    flex-wrap: wrap;
    align-items:flex-start;
}
footer .footer_wrap .logo_area{
	width: 450px;
	margin-top: 20px;
}
footer .footer_wrap .logo_area h3{
	font-size: 1rem;
}
footer .footer_wrap .logo_area h2{
	margin-top: 10px;
}
footer .footer_wrap .logo_area h4{
	width: 10%;
    margin: 10px 0 0 auto;
}
footer .footer_wrap dl .box{
	display: flex;
    margin-top: 20px;
}
footer .footer_wrap dl .box dt{
	width: 100px;
    border-right: 1px solid #fff;
    margin-right: 10px;
}
footer .footer_wrap dl .box dd address{
	font-style: normal;
}
footer .footer_wrap nav{
	width: 100%;
    border-top: 1px dotted #fff;
    margin-top: 30px;
}
footer .footer_wrap nav ul{
	text-align: center;
    margin: 30px 0 0;
}
footer .footer_wrap nav ul li{
	display: inline-block;
}
footer .footer_wrap nav a{
	color: #fff;
	padding: 0px 20px;
	border-right: 1px solid #fff;
	display: block;
}
footer .footer_wrap nav li:nth-of-type(6) a{
    border-right: 0;
}
footer p.copy{
	font-size: 1rem;
	text-align: center;
	background: #1f2a73;
	color: #fff;
	padding: 5px 0;
}
@media screen and (max-width: 1024px) {
	footer{
		width: 100%;
		padding: 5% 0 14%;
	}
	footer .footer_wrap{
		max-width:100%;
		margin:0 auto 5%;
		display: block;
	}
	footer .footer_wrap .logo_area{
		width:auto;
		margin: 0 6%;
	}
	footer .footer_wrap .logo_area h3{
		text-align: center;
	}
	footer .footer_wrap .logo_area h2{
		margin: 1% 0 5%;
	}
	footer .footer_wrap dl .box{
		display: block;
    	margin: 0 6% 5%;
	}
	footer .footer_wrap dl .box dt{
		width: auto;
    	border-right: 0;
    	margin: 0 0 2%;
	}



	footer .footer_wrap nav ul{
		text-align:left;
		margin: 0 0 5%;
	}
	footer .footer_wrap nav ul li{
		display: block;
		border-bottom: 1px solid #fff;
    	padding: 3% 0;
	}
	footer .footer_wrap nav a{
		position: relative;
		color: #fff;
	    padding:0 5%;
	    border-right: 0;
	    display: flex;
	    align-items: center;
	}
	footer .footer_wrap nav a:after{
		content: "";
	    position: absolute;
	    top:40%;
	    right: 15px;
	    width:8px;
	    height:8px;
	    border-top: 2px solid #fff;
	    border-right: 2px solid #fff;
	    -webkit-transform: rotate(45deg);
	    transform: rotate(45deg);
	}
	footer .footer_wrap nav a span{
		font-size: 1.2rem;
		margin-left: 3%;
	}
	footer p.copy{
		background: #1c1c1c;
	}
	footer .footer_wrap .logo_area h4 {
		margin-top: 10px;
		margin-bottom: 30px;
	}
}
/*フッターここまで*/

/*バナーエリアここから*/
.banner_area{
	background: #ececeb;
    padding: 50px 0;
}
.banner_area .inner{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	align-items: center;
    max-width: 1100px;
    margin: 0 auto;
}
.banner_area .inner h3{
    font-family: ten-mincho-text, serif;
    font-size: 2.6rem;
    text-align: center;
    width: 100%;
    margin-bottom: 40px;
    display: flex;
    align-items: center;
}
.banner_area .inner h3::before,
.banner_area .inner h3::after{
	content:"";
	height: 3px;
	flex-grow: 1;
	background-color: #1f2a73;
}
.banner_area .inner h3::before{
	margin-right: 1rem;
}
.banner_area .inner h3::after{
	margin-left: 1rem;
}
.banner_area .inner p{
	font-family: oswald, sans-serif;
	display: flex;
	align-items: center;
	justify-content: center;
    width: 30%;
    font-size: 3rem;
    font-weight: 500;
}
.banner_area .inner p img{
	width: 46px;
	margin-right: 25px;
}
.banner_area .inner a{
	width: 30%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #191919;
    height: auto;
    color: #fff;
    font-size: 1.6rem;
	border-radius: 50px;
	padding: 15px 0px;
}
.banner_area .inner a img{
	width: 20px;
    margin-right: 10px;
}
@media screen and (max-width: 1024px) {
	.banner_area{
		padding:8% 0;
	}
	.banner_area .inner{
		margin: 0 auto;
	}
	.banner_area .inner h3{
		font-size: 1.8rem;
		width:auto;
		display: block;
		margin-bottom: 5%;
	}
	.banner_area .inner h3::before,
	.banner_area .inner h3::after{
		content: none;
	}
	.banner_area .inner p{
		width: 45%;
		font-size: 2rem;
		font-weight: 500;
		margin-bottom: 5%;
	}
	.banner_area .inner p img{
		width: 20%;
		margin-right: 3%;
	}
	.banner_area .inner a{
		width: 100%;
		padding: 4% 0px;
		margin: 0 6%;
	}
	.banner_area .inner a img{
		width: 20px;
		margin-right: 10px;
	}
}
/*バナーエリアここまで*/

/*パンくずリスト*/
.bread_wrap{
	padding-top: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #fff;
	background:#191919;
}
.bread_wrap a,.bread_wrap a:visited{
	color:#fff;
	display:inline];
}
.bread_wrap ol{
	font-size: 1.2rem;
	max-width: 1200px;
	margin: 0 auto;
}
.bread_wrap ol li:first-child{
	background: url(../img/common/icon_bread.png) no-repeat;
	background-position: left center;
	background-size: 15px;
	padding-left: 20px;
	margin-left: 10px;
	list-style: none;
}
.bread_wrap ol li{
	display: inline-block;
	color:#fff;
}
.bread_wrap ol li:after{
	content: ">";
	color:#fff;
}
.bread_wrap ol li:last-child:after{
	content:"";
}
@media screen and (max-width: 1024px){
	/*.bread_wrap ol li:last-child{
		margin-left:4%;
	}*/
}
/*パンくずリストここまで*/

/*トップに戻るボタンここから*/
p.gotop{
	position: fixed;right: 0;bottom: -50px;
}
p.gotop a{
	padding: 0;
    display: block;
    background-color: #1f2a73;
    position: relative;
    width: 70px;
    height: 70px;
}
p.gotop a:before{
	position: absolute;
    top: 0px;
    bottom: 0;
    left: 0px;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 20px;
    height: 20px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
/*トップに戻るボタンここまで*/

/*スマホ固定メニューここから*/
.fixd_menu{
	width: 100%;
	position: fixed;
	left: 0px;
	bottom: 0px;
	z-index: 9999;
	text-align: center;
}
.fixd_menu ul{
	display: -webkit-flex;
	display: flex; 
	-moz-box-orient: horizontal;
	-webkit-box-orient: horizontal;
	flex-direction: row;
	-ms-flex-wrap: nowrap;
	-moz-flex-wrap: nowrap;
	-webkit-flex-wrap: nowrap;
	flex-wrap: nowrap;
	-moz-box-pack: justify;
	-ms-box-pack: justify;
	box-pack: justify;
	flex-pack: justify;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	background-color: transparent;
	padding: 0;
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	border-top: 0;
}
.fixd_menu ul li{
	width: 34%;
	text-align: center;
}
.fixd_menu ul li:nth-child(1),
.fixd_menu ul li:nth-child(3){
	background:#1f2a73;
}
.fixd_menu ul li:nth-child(2){
	background:#191919;
}
.fixd_menu ul li{
    align-items: center;
    justify-content: center;
    font-size: 2rem;
    font-weight: bold;
    color: #fff;
}
.fixd_menu ul li a{
	position: relative;
	display:block;
    justify-content: center;
    align-items: center;
    padding: 4% 0;
}
.fixd_menu ul li p{
	color: #fff;
	font-weight: bold;
    font-size:1.2rem;
    line-height: 1;
}
.fixd_menu ul li img{
	width: 20%;
    margin-right: 0;
    margin-bottom: 4%;
}

@media screen and (max-width:375px) {
	.fixd_menu ul li a{
	    padding:3% 0;
	}
}

@media screen and (max-width: 1024px) {

}
/*スマホ固定メニューここまで*/
