body,p,span,a,th,td,li{
	font-family: 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro';
	line-height: 1.4;
}
@font-face {
  font-family: "avo";
  src: url("../fonts/UTM AvoBold.ttf");
}
@font-face {
  font-family: "time";
  src: url("../fonts/timesbd.ttf");
}
.pt130{padding-top: 130px;}
.pt100{padding-top: 100px;}
.pt50{padding-top: 50px;}
.pb130{padding-bottom: 130px;}
.pb100{padding-bottom: 100px;}
.pb50{padding-bottom: 50px;}
.mt70 {margin-top: 70px;}
.mt50 {margin-top: 50px;}
.mt40 {margin-top: 40px;}
.mt30 {margin-top: 30px;}
.mt20 {margin-top: 20px;}
.mt10 {margin-top: 10px;}
.mt5 {margin-top: 5px;}
img{
	max-width: 100%;
}
ul li{
	list-style: none;
	margin: 0;
	padding: 0;
}
dl, ol, ul{
	margin-bottom: 0;
	padding: 0;
}
a{
	text-decoration: none;
	text-overflow: #333;
}
a:hover{
	text-decoration: none;
}
p{
	margin-bottom: 0;
}
.container{
	width: 1140px;
	max-width: 100%;
}
@media(min-width:575px){
	.block-575{
		display: none;
	}
}
@media(min-width:767px){
	.block-mb{
		display: none;
	}
}
@media(max-width:991px){
	.pt130{padding-top: 80px;}
	.pb130{padding-bottom: 80px;}
	.pt100{padding-top: 80px;}
	.pb100{padding-bottom: 60px;}	
	.mt70 {margin-top: 50px;}
	.mt50 {margin-top: 30px;}
	.mt40 {margin-top: 40px;}
	.mt30 {margin-top: 20px;}
}
@media(max-width:767px){
	.hidden-mb{
		display: none;
	}
}

/*----- Header -----*/
.header-pc{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.logo{
	padding: 20px 0;
}
.menu-pc ul{
	display: flex;
	align-items: center;
}
.menu-pc ul li {
	padding: 5px 25px;
}
.menu-pc ul li a{
	font-size: 16px;
	font-weight: bold;	
	color: #333;	
}
.menu-pc ul li:last-child{
	padding-right: 0;
}
.menu-pc ul li a:hover{
	color: #f28616;
	text-decoration: none;
}
.choose-language > a{
	display: flex;
  align-items: center;
	justify-content: space-between;
	width: calc(100% - 20px);
	position: relative;
}
.choose-language-wrap > div{
	border: 1px solid #ccc;
	padding: 5px 15px;
}
.choose-language-wrap > div > a{
	position: relative;
}
.choose-language-wrap > div > a:after{
	content: '';
	width: 0;
	height: 0;
	border-left: 5px solid transparent;
	border-right: 5px solid transparent;
	border-top: 6px solid #333;
	margin-left: 8px;
}
.menu-pc ul li a:hover::after{
	border-top: 5px solid #f28616;
}
.choose-language{
	display: flex;
	align-items: center;
	min-width: 145px;
}
.choose-language a{
	padding: 0 0 0 10px !important;
	color: #333;
}
.choose-language-wrap{
	position: relative;
}
.sub-menu{
	position: absolute;
	top: 37px;
	width: calc(100% - 25px);
	border: 1px solid #ddd;
	right: 0;
	background: #fff;
	z-index: 2;
}
.sub-menu li{
	padding: 5px 15px !important;
}
.hidden {
	display: none;
}
.header-mb-content{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 15px;
}
.m-logo{
	width: 65px;
	position: absolute;
	left: calc(50% - 23px);
}
@media(max-width:1140px){
	.menu-pc ul li{
		padding: 5px 15px;
	}
	.sub-menu{
		width: calc(100% - 15px);
	}
}
@media(max-width:991px){
	.header-pc{
		display: none;
	}
	.choose-language a{
		padding: 0 0 0 5px !important;
    font-size: 12px;
	}
	.sub-menu{
		top: 27px;
	}
	.sub-menu{
		width: 100%;
	}
}
@media(min-width:991px){
	.header-m{
		display: none;
	}
}
/*----- Banner -----*/
.banner{
	position: relative;
}
.banner > img{
	width: 100%;
}
.bnr-inner{
	width: 100%;		
}
.bnr-inner p,
.bnr-title{
	font-family: "avo";
	text-shadow: 0 3px 6px #000;
}
.bnr-inner h1,
.bnr-inner p{
	color: #fff;	
}
.bnr-title-02{
	font-size: 9vw;
	color: #F67E06 !important;
	text-transform: uppercase;
	font-weight: bold;
}
.bnr-inner p{
	margin-top: 10px;
}
.bnr-title{
	font-size: 6.3vw;
}
.bnr-date{
	font-size: 5vw;
}
.bnr-inner .container > div{	
	text-align: center;	 
}
@media(min-width:767px){
	.bnr-inner{
		position: absolute;
		width: 100%;	
		top:0;
		height: 100%;
	}
	.bnr-inner > div{		    
		height: 100%;
		display: flex;
		align-items: center;
	}
	.bnr-inner .container > div{
		display: inline-block;
	}
	.bnr-title{
		font-size: 3.5vw;
	}
	.bnr-title-02{
		font-size: 4.5vw;
	}
	.bnr-date{
		font-size: 2.6vw;
	}
}
@media(min-width:1170px){
	.bnr-title{
		font-size: 3vw;
	}
	.bnr-title-02{
		font-size: 4vw;
	}
	.bnr-date{
		font-size: 2vw;
	}
}
@media(min-width:1440px){
	.bnr-title{
		font-size: 45px;
	}
	.bnr-title-02{
		font-size: 60px;
	}
	.bnr-date{
		font-size: 30px;
	}
}
@media(max-width:767px){
	.bnr-inner{
		background: url("../img/bnr-bg-mb.png") no-repeat #070C13;
		background-size: 100% 100%;
		padding: 30px 0;
	}	
}
/*----- End Banner -----*/

.arrow-top{
	position: relative;
}
.arrow-top:before{
	content: '';
	display: block;
	width: 100%;
	height: 5px;
	background: #F28616;
	position: absolute;
	top:0;	
}
.arrow-top:after{
	content: '';
	width: 0; 
  height: 0; 
  border-left: 60px solid transparent;
  border-right: 60px solid transparent;  
  border-top: 60px solid #F28616;
	position: absolute;
	top:0;
	left: calc(50% - 60px);
}
@media(max-width:991px){
	.arrow-top:before{
		height: 3px;
	}
	.arrow-top:after{
		border-left: 35px solid transparent;
		border-right: 35px solid transparent;  
		border-top: 35px solid #F28616;
		left: calc(50% - 35px);
	}
}
.decs{
	text-align: center;
}
.intro-title{
	font-size: 32px;
	font-weight: bold;	
}
.intro-title > span{
	font-weight: bold;
	display: block;
	font-size: 40px;
	color: #F16B06;
	text-transform: uppercase;
}
@media(min-width:767px){
	.intro-content{
		display: flex;
		align-items: center;	    
		justify-content: center;
	}
	.intro-title{
		padding-left: 35px;
	}
}
@media(max-width:991px){
	.intro-title{
		font-size: 28px;
	}
	.intro-title > span{
		font-size: 35px;
	}
}
@media(max-width:767px){
	.intro-content{
		text-align: center;
	}
	.intro-content > img{
		max-width: 55%;
	}
	.intro-title{
		margin-top: 15px;
		font-size: 24px;
	}
	.intro-title > span{
		font-size: 28px;
	}
	.decs.mt40{
		margin-top: 0;
	}
}
@media(max-width:375px){
	.intro-title > span {
    font-size: 28px;
	}
}
.bg-gray{
	background: url("../img/bg-gray.png") repeat;
}
.title-big{
	font-weight: bold;
	font-size: 45px;
	text-align: center;
	text-transform: uppercase;
}
@media(max-width:767px){
	.title-big{
		font-size: 32px;
	}
}
.title-small{
	font-size: 35px;
	position: relative;
	padding-left: 25px;
	display: inline-block;
	text-align: left;
	margin-bottom: 0;
	font-weight: bold;
}
.title-small:before{
	content: '';
	width: 15px;
	height: calc(100% - 15px);
	position: absolute;
	left: 0;
	background: #F28616;	
	top: 7px;
}
@media(min-width:767px){
	.title-orange{
		text-align: center;
	}
}
@media(max-width:767px){
	.title-small{
		font-size: 25px;
		text-align: left !important;
	}
	.title-small:before{
		height: calc(100% - 10px);
		top: 5px;
	}
}
.title-small-02{
	font-size: 28px;
}
@media(max-width:767px){
	.title-small-02{
		font-size: 25px;
	}
}



.row-45{
	margin-left: -15px;
	margin-right: -15px;
}
.row-45 > li,
.row-45 > div{
	padding-left: 15px;
	padding-right: 15px;
}
.service-list > div,
.service-list > li{
	margin-bottom: 25px;
}
.service-item{
	background: #fff;
	box-shadow: 0 2px 8px rgb(0 0 0 / 10%);
}
.service-item > img{
	width: 100%;
}
.service-item > p{
	font-size: 20px;
	text-align: center;
	padding: 20px;
	font-weight: bold;
}
.service {
	overflow: hidden;
}
@media(min-width:767px){
	.row-45{
		display: flex;
		flex-wrap: wrap;
		margin-left: -25px;
	margin-right: -25px;
	}
	.row-45 > div,
	.row-45 > li{
		width: 50%;
		margin-bottom: 50px;
		padding-left: 25px;
		padding-right: 25px;
	}
}
@media(min-width:991px){
	.row-45{
		margin-left: -45px;
		margin-right: -45px;
	}
	.row-45 > div,
	.row-45 > li{
		padding-left: 45px;
		padding-right: 45px;
	}
}
.service-info{
	border-top: 3px dotted #707070;	
}@media(max-width:767px){
	.service-info{
		margin-top: 50px;
	}
	.row-45 > div:nth-child(2){
		margin-top: 30px;
	}
}

/*----- about-us -----*/
.about-us-tbl{
	width: 100%;
	border-spacing: 3px;
	border-collapse: separate;
}
.about-us-tbl th,
.about-us-tbl td{
	border-spacing: 3px;
	padding: 10px 20px;
}
.about-us-tbl th{
	background: #F1F1F1;
	font-weight: normal;
}
@media(max-width:991px){
	.about-us{
		padding-bottom: 0;
	}
}
@media(max-width:767px){
	.about-us-tbl th,
	.about-us-tbl td{
		padding: 10px 10px;
	}
	.about-us-tbl th{
		width: 140px;
		max-width: 35%;
	}
}
/*----- End about-us -----*/

/*----- Schedule 03 -----*/
.progress-content{
	width: 980px;
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.schedule-op3-list li{
  width: 100%;
  display: flex;
  padding-bottom: 30px;
	justify-content: space-between;
}
.schedule-op3-list li:last-child{
  margin-bottom: 0;
}
.schedule-op3-time{
  text-align: center;	
  display: flex;
  align-items: flex-start;
  justify-content: center;
  z-index: 2;
	position: relative;
	padding-right: 23px;
}
.schedule-op3-time p{
	font-size: 20px;
	font-weight: bold;
	padding: 5px 20px;
	position: relative;	    
	background: #ffb568;
}
.schedule-op3-time p:after{
	content: '';
	width: 23px;
	height: 100%;
	background: url("../img/arrow-orange.png") no-repeat right center;
	background-size: auto 100%;
	position: absolute;
	right:-22px;
	top:0;
}
.schedule-op3-content{
  width: calc(100% - 130px);
  padding-left: 15px;
	background: #fff;
	border:2px dotted #707070;
	padding: 20px 30px;
}
.schedule-op3-list{
  position: relative;
}
.schedule-op3-list li{
	position: relative;
}
.schedule-op3-list li:after{
	content: '';
	width: 3px;
	height: 100%;
	border-left: 3px dotted #707070;
	position: absolute;
	left: 42px;
	top: 15px;
}
.schedule-op3-list li:last-child:after{
	height: 0;
}
.schedule-op3-content img{
	display: block;
	max-width: 100%;
	height: auto;
	margin-top: 10px;
}
.tbl-progress,
.tbl-progress th,
.tbl-progress td{
	border-collapse: collapse;
	padding: 5px;
	vertical-align: text-top;
}
.tbl-progress th{
	width: 100px;
}
@media(max-width:1140px){
	.personnel-box,
	.progress-box{
		margin-left: -15px;
    margin-right: -15px;
    padding-left: 15px;
    padding-right: 15px;
	}
}
@media(max-width:991px){
	.schedule-op3-content{
		padding: 15px 15px;
	}
}
@media(max-width:767px){
	.schedule-op3-time p{
		padding: 5px 0 5px 10px;
	}
	.schedule-op3-content{
		width: calc(100% - 80px);
	}
	.schedule-op3-content{
		padding: 15px 10px;
	}
	.schedule-op3-list li:after{
		left: 28px;
	}
	.schedule-op3-time p:after {
    width: 16px;
    background-size: 100% 100%;
    right: -16px;
	}	
	.tbl-progress th,
	.tbl-progress td{
		font-size: 14px;
	}
	.tbl-progress th{
		width: 80px;
	}
	.schedule-op3-time p{
		font-size: 18px;
	}
}
/*----- End schedule -----*/
/*----- personnel -----*/
.personnel-wrap{
	width: 900px;	
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}
.personnel-list{	
	display: flex;
	justify-content: center;
	margin-left: -15px;
	margin-right: -15px;	
}
.personnel-list > li{
	padding-left: 15px;
	padding-right: 15px;
	width: 20%;
}
.personnel-item{
	text-align: center;
}
.personnel-num{
	font-family: "time";
	font-size: 60px;
	color: #F28616;
	line-height: 1.2;
}
.personnel-content{
	font-weight: bold;
	text-transform: uppercase;
}

.arrow-black{
	position: relative;
}
.arrow-black:before{
	content: '';
	display: block;
	width: 100%;
	height: 2px;
	background: #333333;
	position: absolute;
	top:0;	
}
.arrow-black:after{
	content: '';
	width: 0; 
  height: 0; 
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;  
  border-top: 20px solid #333;
	position: absolute;
	top:0;
	left: calc(50% - 20px);
}
.personnel-total{
	padding-top: 30px;
}
@media(max-width:767px){
	.personnel-list {
		flex-wrap: wrap;
	}
	.personnel-list > li{
		width: 50%;
		margin-bottom: 10px
	}
	.arrow-black .personnel-list > li{
		margin-bottom: 0;
		
		
	}
	.personnel-num{
		font-size: 40px;
	}
	.personnel-content{
		font-size: 14px;
	}
	.personnel-list.mt30{
		margin-top: 0;
	}
	.arrow-black.mt40{
		margin-top: 20px;
	}
}

/*----- images -----*/
.images-box{
	background: #333333;
}
.images-box .title-big{
	color: #F28616;
}
.slick-dots li,
.slick-dots li button{
	width: 35px !important;
	height: 4px !important;
}
.slick-dots li button{
	background: #6a6a6a !important;
  border-radius: 6px;
	padding: 0 !important;
}
li.slick-active button{
	background: #F28616 !important;	
}
.slick-dots li button:before{
	content: none !important;
}
/*----- End images -----*/
/*--- Contact ---*/
.mail-icon{
	width: 75px;
	height: 75px;
	border-radius: 50%;
	background: #F28616;
	display: flex;
	justify-content: center;
	align-items: center;	
}
.mail-icon > img{
	width: 45%;
}
.icon-item{
	display: inline-block;
}
.icon-item p{
	color: #333;
}
.icon-item:hover{
	opacity: 0.8;
}
.contact-content p{
	font-size: 18px;
}
.contact-content > p:nth-child(1){
	font-size: 30px;
}
@media(max-width:767px){
	.contact-content > p:nth-child(1){
		font-size: 22px;
	}
}
/*--- End Contact ---*/
/*--- Footer ---*/
footer{
	background: #333333;
	padding: 60px 0 40px 0;
	text-align: center;
}
footer p{
	color: #fff;
}
.f-company-name{
	color: #F28616;
	font-size: 22px;
	font-weight: bold;
}
@media(max-width:767px){
	footer {
    padding: 40px 0 30px 0;  
	}
}
#backToTop {
	position: fixed;
	right: 10px;
	bottom: 20px;
	z-index: 1041;
	width: 40px;
	height: 40px;
	text-align: center;
	background: url("../img/backtop.svg") center no-repeat;
	background-size: 100%;
	color: #fff;
	cursor: pointer;
	border: 0;
	border-radius: 5px;
	text-decoration: none;
	transition: opacity 0.2s ease-out;
}

.box-shadow{
	background: #fff;
	box-shadow: 0 2px 8px rgb(0 0 0 / 15%);
	padding: 30px 15px;
}
.box-shadow > img{
	width: 100%;
}
@media(max-width:767px){
	.box-shadow{
		padding: 20px 15px;
	}
}
@media(min-width:575px){
	.block-575{
		display: none;
	}
}
.event-img{
	position: relative;
}
.btn-orange{
	width: 250px;
	display: inline-block;
	border-radius: 30px;
	background: #fd750f;
	padding: 12px;
	color: #fff;
	font-weight: bold;
	margin-top: 20px;
}
@media(min-width:767px){
	.btn-orange{
		width: 30%;
		border: 1px solid #000;
		position: absolute;
		bottom: 43px;
		left: calc(50% - 17%);
	}
}
@media(min-width:991px){
	.btn-orange{		
		width: 250px;
		left: calc(50% - 140px);		
	}
}






















































