@charset "utf-8";
/* CSS Document */

/*****************
	ALL
*****************/

html,body {
  scrollbar-base-color: #FF8C00;
  scrollbar-arrow-color: #ffffff;
}

html {
    scroll-behavior: smooth;
}

body{
	background: #000;
}

a:hover{
	opacity: 0.7;
}

::selection {
    background: #ffe100;
}
p{
	line-height: 2;
}


@media (min-width: 751px) {
	a[href*="tel:"] {
	pointer-events: none;
	cursor: default;
	text-decoration: none;
	}
	
}

/*@media (max-width: 751px) {
	a[href*="tel:"] {
		color: #ffe100;
	}
}*/

.reverse {
    flex-direction: row-reverse;
}

.gothic,
.gothic a{
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

@media screen and (min-width: 798px){
	br.sp{
		display: none;
	}	
}

@media screen and (max-width: 798px){
	br.pc{
		display: none;
	}	
}

#wrapper{
	overflow-x: hidden;
}

#page_top{
  width: 59px;
  position: fixed;
  right: 30px;
  bottom: 30px;
}


@media screen and (max-width: 798px){
	#page_top {
		display: none!important;
	}
}

/*****************
	HEADER
*****************/

header{
	padding: 37px 0;
}

header h1{
	width: 300px;
	display: block;
}

header h1 svg{
	height: 40px;
}

/* Nav items */

header .menu {
  list-style: none;
  position: absolute;
  width: 100%;
  height: auto;
  top: 0;
  margin-top: 127px;
  clear: both;
  background: var(--background-navbar);
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
  transform: scale(1, 0);
  transform-origin: top;
	z-index: 999;
}

header.clicked .menu {
  transform: scale(1, 1);
  transform-origin: top;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

header .menu a {
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 2px;
	font-size: 14px;
	text-transform: capitalize;
	color: #ddd;
	opacity: 0;
	transition: 0.5s;
	display: block;
	position: relative;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

header .menu a::before{
	content: "";
	display: inline-block;
	width: 11px;
	height: 6px;
	background: url("../img/common/arrow_w.svg") no-repeat;
	background-size: contain;
	margin-right: 8px;
	position: absolute;
    right: 15px;
    top: 50%;
}

header .menu li ul{
	display: flex;
    justify-content: right;
	max-width: 1200px;
	margin: 0 auto;
}

header .menu li ul li a{
	padding: 32px 50px 32px 30px;
	
}

header .menu li ul li a span{
	display: block;
	font-size: 12px;
}

header .menu-btn {
  display: none;
}

header .menu-icon {
	background: #000;
	border: solid 1px #000;
  display: inline-block;
  position: absolute;
	z-index: 9999;
  cursor: pointer;
  padding: 24px 14px;
	right: 0;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

header .menu-icon b{
	display: none;
}

header .navicon {
  background: #ddd;
  display: block;
  height: 3px;
  width: 26px;
  position: relative;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

header .navicon:before,
header .navicon:after {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  background: #ddd;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

header .navicon:before {
  top: 9px;
}

header .navicon:after {
  bottom: 9px;
}


header .inner{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
	position: relative;
	/*padding-top: 40px;
	padding-bottom: 40px;*/
    padding-right: 55px;
}

header a.r_btn{
	background-color: rgba(255,255,255,0.7);
	text-align: center;
	padding: 15px;
	display: block;
	width: 100%;
	max-width: 190px;
	margin-right: 5px;
}

header a.r_btn span{
	font-size: 13px;
	font-weight: bold;
	color: #000;
	display: flex;
    align-items: center;
	justify-content: center;
}

header a.r_btn span::before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 24px;
	background: url("../img/common/header_icon01.svg") no-repeat;
	background-size: contain;
	margin-right: 8px;
}

header.clicked{
	background: #000;
	animation: change-color-anim 0.3s linear;
	z-index: 999;
}

@keyframes change-color-anim {
	0%{
		background-color: rgba(0,0,0,0);
	}
	100%{
		background-color: rgba(0,0,0,1);
	}
}

header{
	animation: change-color-anim02 0.3s linear;
}

@keyframes change-color-anim02 {
	0%{
		background-color: rgba(0,0,0,1);
	}
	100%{
		background-color: rgba(0,0,0,0);
	}
}


header.clicked .menu-icon .navicon:before {
  transform: rotate(-45deg);
}

header.clicked .menu-icon .navicon:after {
  transform: rotate(45deg);
}

header.clicked .menu-icon:not(.steps) .navicon:before {
  top: -5px;
}
header.clicked .menu-icon:not(.steps) .navicon:after {
  bottom: 5px;
}

header.clicked .menu-icon .navicon {
  background: rgba(0, 0, 0, 0);
  transition: 0.2192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.1008s;
}

header.clicked .menu{
	background: #1c1c1c;
}

header.clicked .menu a,
header.clicked .menu li {
  opacity: 1;
  transition: 0.3192s cubic-bezier(0.04, 0.04, 0.12, 0.96) 0.2s;
}
header .r_btn:hover{
	background: #ffe100;
	opacity: 1;
	transition: 0.5s;
}

header .r_btn:hover span::before{
	content: "";
	display: inline-block;
	width: 22px;
	height: 24px;
	background: url("../img/common/header_icon02.svg") no-repeat;
	background-position: center center;
	background-size: 75%;
	margin-right: 8px;
}

header.clicked .menu-icon{
	border: solid 1px #fff;
}

header.clicked .menu-icon b{
	display: block;
	color: #fff;
    font-size: 9px;
    position: absolute;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

header.clicked .menu a:hover{
	background: #696969;
}

header.fix{
	position: fixed;
    left: 0;
    top: 0;
    width: 100%;
	background: #000;
	z-index: 999;
}

header.fix h1 svg {
    fill: #fff;
}

header.fix{
	background: #000;
	animation: change-color-anim 0.5s linear;
}

header.clicked h1 svg{
	fill:#fff;
}

@media screen and (max-width: 1310px){
	header .inner{
		max-width: 100%;
		width: auto;
		padding: 0 112px 0 55px;
	}
	
	header .menu-icon{
		right: 55px;
	}
}

@media screen and (max-width: 798px){
	header .inner{
		padding:0px 20px 30px;
	}
	header a.r_btn{
		position: absolute;
		top: 60px;
		padding: 5px;
	}
	header h1 {
		width: 70%;
	}
	header h1 svg{
		width: 100%;
	}
	header .menu-icon {
		top: 5px;
		right: 20px;
	}
	header .menu{
		margin-top: 150px;
		display: block;
	}
	header .menu li ul{
		justify-content: center;
		display: block;
	}
	header a.r_btn span::before,
	header.clicked .r_btn span::before{
		width: 17px;
    	height: 18px;
	}
	header .menu li ul li a{
		padding: 10px;
	}
}
	
/**footer**/

footer{
	background: #121212;
	padding-top: 60px;
}

footer h3{
	font-size: 37px;
	text-align: center;
	color: #fff;
	margin-bottom: 50px;
}

footer .info{
	background: url("../img/common/footer_bg.jpg") no-repeat;
	background-size: cover;
	padding-bottom: 300px;
}

footer .info .inner{
	background-color: rgba(0,0,0,0.5);
	padding: 40px 0;
}

footer .info .inner h4{
	background: url("../img/common/footer_logo.svg") no-repeat;
	width: 267px;
	padding-top: 150px;
	height: 0;
	display: block;
	overflow: hidden;
}

footer .info .inner .box{
	max-width: 860px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
}

footer .info .inner .right{
	width: 520px;
	color: #fff;
}
footer .info .inner .right dl hr{
	border: none;
	width: 100%;
	height: 1px;
	background-color: #fff;
	margin: 32px 0;
}
footer .info .inner .right dl dt,
footer .info .inner .right dl dd{
	font-family: inherit;
}

footer .info .inner .right div{
	padding: 20px;
	border: solid 1px #fff;
}

footer .info .inner .right div h5,
footer .info .inner .right div dt,
footer .info .inner .right div dd{
	font-size: 16px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}

footer .info .inner .right div h5{
	margin-bottom: 10px;
}

footer .info .inner .right div dt{
	width: 30%;
	margin-bottom: 10px;
}

footer .info .inner .right div dd{
	width: 70%;
	margin-bottom: 10px;
}

footer .bnr{
	padding: 82px 20px;
}

footer .bnr div{
	max-width: 1000px;
	margin: 0 auto;
	border: solid 1px #505050;
	padding: 53px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .bnr div p{
	font-size: 37px;
}

footer .bnr div p span{
	font-size: 20px;
	display: block;
}

footer .bnr div a{
	display: block;
	background: #ffe100;
	font-size: 15px;
	text-align: center;
	padding: 20px 0;
	color: #000;
	width: 100%;
	max-width: 330px;
	font-weight: bold;
}

footer .bnr div a:hover{
	background: #fff;
	opacity: 1;
	transition: 0.5s ;
}

footer .menu{
	background: #1e1e1e;
	padding: 35px 0;
}

footer .menu .inner{
	max-width: 1000px;
	margin: 0 auto;
	border-bottom: solid 1px #000;
	padding-bottom: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

footer .menu .inner h6 svg{
	fill:#fff;
	height: 40px;
}

footer .menu .inner ul{
	display: flex;
}

footer .menu .inner ul li{
	padding-left: 27px;
}

footer .menu .inner ul li a{
	color: #fff;
	font-size: 14px;
}

footer .menu .inner ul li a:hover{
	color: #fee100;
	opacity: 1;
}

footer .menu .inner ul li a span{
	font-size: 12px;
	display: block;
}

footer .menu p{
	font-size: 9px;
	padding: 45px 0 0;
	text-align: center;
	color: #fff;
}

@media screen and (max-width: 860px){
	footer .info{
		padding-bottom: 80px 
	}
	footer .info .inner{
		padding: 40px 20px;
	}
}

@media screen and (max-width: 768px){
	footer h3{
		font-size: 23px;
	}
	footer .info .inner .box{
		display: block;
	}
	footer .info .inner h4{
		margin: 0 auto 30px;
	}
	footer .info .inner .right{
		margin: 0 auto;
		width: 100%;
	}
	footer .bnr div{
		display: block;
		padding: 30px;
	}
	footer .bnr div p{
		margin-bottom: 30px;
		font-size: 27px;
	}
	footer .bnr div p span{
		font-size: 16px;
	}
	footer .menu{
		padding: 35px 20px;
	}
	footer .menu .inner{
		display: none;
	}
	footer .menu .inner h6{
		margin: 0 auto 30px;
		text-align: center;
	}
	footer .menu .inner ul{
		justify-content: space-between;
	}
	footer .menu .inner ul li{
		padding-left: 0;
		width: 25%;
	}
}




.sp_block{
	display: none;
}
@media screen and (max-width: 798px){
	.sp_block{
		display: block
	}
	.sp_none{
		display: none;
	}
	header{
		padding: 16px 0;
	}
	header .inner{
		padding: 0 20px;
	}
	header .menu-icon{
		top: 50%;
		transform: translateY(-50%);
	}
	header a.r_btn{
		display: none;
	}
	
	#sp_menu{
		position: fixed;
		z-index: 999;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	#sp_menu ul{
		display: flex;
		justify-content: center;
		flex-wrap: wrap;
	}
	#sp_menu ul li{
		width: 50%;
	}
	#sp_menu ul li a{
		display: block;
		width: 100%;
		text-align: center;
		line-height: 60px;
		color: #000;
		font-size: 14px;
		font-weight: 700;
	}
	#sp_menu ul li a svg{
		margin-right: 2px;
		vertical-align: middle;
		width: 16px;
		height: 16px;
	}
	#sp_menu ul li.tel a{
		background-color: #ffe100;
	}
	#sp_menu ul li.mail a{
		background-color: #CCC;
	}
	footer .menu p{
		padding-bottom: 60px;
	}
	header.clicked .menu{
		margin-top: 77px;
	}
}






