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

/*--------------------------------------------------------------------------------
 basic
--------------------------------------------------------------------------------*/
#footer{
	margin-top:0;
}
main {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
main *{
	box-sizing: border-box;
}
img{ width:100%;}
a{ color:inherit;}
a[href^="tel:"]{ cursor: default}

/* english */
.en{ font-weight: 700; }

/* layout */
main .container{
	margin:0 auto;
}

@media screen and (max-width:1084px){
	main .container{ margin:0 30px;}
}
@media screen and (max-width:767px){
	main .container{
		width:100vw;
		margin:0;
	}
}
@media screen and (min-width:768px){
	main .container{
		max-width:1024px;
	}
}


/* links */
.links{ display: flex; justify-content:center; margin:70px auto;}
.links a{
  width:48%; background:#cecece;
  color:#000; line-height: 1.0em; text-align: center;
  padding:20px 0;
}
.links a:hover{ animation: links 0.5s forwards;}
@keyframes links{
    0% { background:#cecece; color:#000;}
    100% { background:#fff; color:#000; }
}
@media screen and (max-width:767px){
  .links{ display: block;margin:50px 0;}
  .links a{ display: block; width:240px; margin:auto;}
  .links a+a{ margin-top:20px;}
}

/*--------------------------------------------------------------------------------
 body
--------------------------------------------------------------------------------*/
#wrap{ width:100%; padding:0; margin:0; line-height:1.8em;}
@media screen and (min-width:1084px){
	#wrap{ overflow-x:hidden;}
}
@media screen and (max-width:767px){
	#wrap{ line-height:1.8em;}
}
#pageTop{ display: none;}

/*--------------------------------------------------------------------------------
 main
--------------------------------------------------------------------------------*/
main{
	background:url(../images2/bg.png) center center;
}


/*--------------------------------------------------------------------------------
 footer
--------------------------------------------------------------------------------*/
#ft-main{ background:#818181; }
#ft-main *{ color:#fff;}

#ft-main h2{ text-align:center; padding:20px; font-size:1.25rem; }
@media screen and (max-width:767px){
	#ft-main h2{ display: none }
}

.ft-2nd-cont{
	border-top:1px solid #aaa;border-bottom:1px solid #aaa;
	overflow-x: hidden;
}
.ft-2nd-cont .container{ display: flex; flex-wrap:wrap;}
.ft-2nd-cont .container > div{ width:50%; min-width: 50%}
.ft-2nd-cont .container > div+div{ border-left:1px solid #aaa; }
@media screen and (max-width:767px){
	.ft-2nd-cont .container{ padding:0;}
	.ft-2nd-cont{ border-top:0 none;}
	.ft-2nd-cont .container > div{ width:100%; min-width:100%;}
	.ft-2nd-cont .container > div+div{ border-left:0 none; }
}

.ft-2nd-cont .tel{ text-align: center; padding-top:23px;}
.ft-2nd-cont .tel a.freeDial{
	font-family: 'Oswald', sans-serif;
	font-weight: bold;font-size:3.63rem;
}
.ft-2nd-cont .tel a.freeDial *{ line-height: 1.0em !important;}
.ft-2nd-cont .tel a.freeDial::before{
	content:"";
	display: inline-block; width:53px;height:42px; margin-right:20px;
	background:url(../images/ft-freecall.svg) center center / contain no-repeat;
}
.ft-2nd-cont .tel a.freeDial span{
	display: block;transform:translateX(-21px);
	font-size:1.13rem; line-height: 1.0em; font-weight: 400;
}
.ft-2nd-cont .tel div{ width:405px; margin:25px auto 20px;}
.ft-2nd-cont .tel div span{
	display: inline-block;width:48.5%; text-align: center;
	padding:0.8em 1.0em;border:1px solid #fff;
	font-size:0.93rem; line-height:1.0em;
}
.ft-2nd-cont .tel div span+span{ margin-left:3%;}
@media screen and (max-width:767px){
	.ft-2nd-cont .tel{border-bottom:1px solid #aaa; padding:25px 0 22px;}
	.ft-2nd-cont .tel a.freeDial{ font-size:2.3rem;}
	.ft-2nd-cont .tel a.freeDial::before{
		width:35px;height:30px; margin-right:10px;
	}
	.ft-2nd-cont .tel a.freeDial span{ display: none}
	.ft-2nd-cont .tel div{ display:none;}
	.ft-2nd-cont .tel div+a{ display: none}
	.ft-2nd-cont .tel > p{ font-size:0.8rem;}
}

.ft-2nd-cont .right > div{
	display:flex; align-items: center;
	height:135px; padding-left:45px;
	position:relative;
}
.ft-2nd-cont .right > div.contant a{
	display: flex; align-items: center;
	font-size:1.38rem; line-height:1.0em;
}
.ft-2nd-cont .right > div.contant a::before{
	content:"";
	display: inline-block; width:45px; height:32px; margin-right:25px;
	background:url(../images/icon-mail.svg) center center / contain;
}
.ft-2nd-cont .right > div.sns::before{
	content:"";
	display: block; width:50vw;height:1px;
	background: #aaa;
	position: absolute; left:0; top:0;
}
.ft-2nd-cont .right > div.sns ul{ display: flex; align-items: center;}
.ft-2nd-cont .right > div.sns li+li{margin-left:65px;}
.ft-2nd-cont .right > div.sns a{
	display: flex; align-items:center;
	width:45px;height:45px; 
}
.ft-2nd-cont .right > div.sns li:nth-child(2) a{ width:60px;height:60px;}
@media screen and (max-width:767px){
	.ft-2nd-cont .right > div{ justify-content: center;height:80px; padding-left:0;}
	.ft-2nd-cont .right > div.contant a::before{ margin-right:10px;}
	.ft-2nd-cont .right > div.sns::before{ width:100%;}
	.ft-2nd-cont .right > div.sns li+li{margin-left:40px;}
	.ft-2nd-cont .right > div.sns a{ width:35px; height:35px;}
	.ft-2nd-cont .right > div.sns li:nth-child(2) a{ width:45px;height:45px;}
}

.ft-3rd-cont{ text-align: center; padding-bottom:20px;}
.ft-3rd-cont *{font-size:0.69rem; line-height:1.45em; }
.ft-3rd-cont .container >*{ margin-top:25px;}
.ft-3rd-cont li+li{margin-left:1.3em;}
.ft-3rd-cont li a::before{ content:"・";}
.ft-3rd-cont small{ display: block;}
@media screen and (max-width:767px){
	.ft-3rd-cont ul{ display: flex; flex-wrap: wrap; justify-content: space-between;}
	.ft-3rd-cont ul li{ margin:0 0 10px; width:25%; min-width: 25%; text-align:left;}
	.ft-3rd-cont ul li:nth-child(3n){ width:50%;}
	.ft-3rd-cont p{ display: none;}
	.ft-3rd-cont small{ margin-top:10px !important;}
}
@media screen and (max-width:560px){
	.ft-3rd-cont ul li{ width:50%; min-width:50%;}
	.ft-3rd-cont ul li:nth-child(3n){ width:100%;}
}

.headquarters{ background:#fff;}
.headquarters img{ width:160px;height:auto;margin:15px 0;}



/*--------------------------------------------------------------------------------
 main
--------------------------------------------------------------------------------*/
main{ text-align: center;font-weight: 300; }
@media screen and (max-width:767px){
	main{ text-align: left;}
}

.box-photo{ top:0;}
@media screen and (max-width:767px){
	.lead{ font-size:1.13rem; line-height:1.8em !important;}
	.box-text{ padding:40px 20px;}
	.box-photo{ width:100vw;margin-left:-10px;}
}

/* a */
a.arrow-normal{ display: block; letter-spacing: 0.1em; margin-top:2.0em; text-align:center;}
a.arrow-normal::after{
	content:"";
	display: inline-block; width:16px;height:18px;margin-left:3px;
	background:url(../images/arrow.svg) center / contain no-repeat;
	transform:translateY(3px);
}

/*--------------------------------------------------------------------------------
 override
--------------------------------------------------------------------------------*/

/* scrollin */
#SINGLE .fadein,#SINGLE .box-text,#SINGLE .box-photo,#SINGLE .performance-list article{ opacity: 0}
.scrollin{ animation: scrollin-animation 2s forwards ease-out;}
@keyframes scrollin-animation{
    0% { opacity: 0 ; }
    100% { opacity: 1; }
}
.fv{ animation: scrollin-animation 4s forwards ease-out;}
@media screen and (min-width:768px){
	.no-sp{ display: block;}
	.no-pc{ display: none;}
}
@media screen and (max-width:767px){
	.no-sp{ display: none;}
	.no-pc{ display: block;}
}
