@charset "UTF-8";
/*====================================
	----------------------------------
		Color
	----------------------------------
	
	Main     : #C02727
  	Accent   : #F3A22D  #142550
 
	----------------------------------
  		font
	----------------------------------
 
	font-family: "tbudrgothic-std", "sans-serif";
	font-weight: 300;
	font-style: normal;



====================================*/




/*---------------------------------

  0.Main

---------------------------------*/

#company{
	background-color: #fff;
}

#hero_main{
	position: relative;
	height: 400px;
	padding: 100px 0 0 0;
	background: url("../img/index/bg.png") repeat-x;
	background-attachment: fixed;
	background-size: contain;
	-webkit-animation: bgroop 200s linear infinite;
    animation: bgroop 200s linear infinite;		
}

.main_wrap{
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -1956px 0;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1956px 0;
    }
}


.main_catch{
	width: 100%;
	font-size: 2.5vw;
    line-height: 1.7em;
	margin: 0;
	padding: 0 20px;
	font-weight: 900;
	color          : #ffffff;            
	letter-spacing : 4px;
	text-shadow    : 
	2px  2px 0px #000,
	-2px  2px 0px #000,
	2px -2px 0px #000,
	-2px -2px 0px #000,
	2px  0px 0px #000,
	0px  2px 0px #000,
	-2px  0px 0px #000,
	0px -2px 0px #000;  
}

.main_catch span{
	display: block;
	color: #C02727;
	font-size: 4vw;
}

.main_img{
	width: 70%;
}

.main_img img{
	
}


@media screen and (max-width: 850px){
	#hero_main{ background-size: auto;}
	.main_catch{ font-size: 2em;}
	.main_catch span{ font-size:  1.5em;}
}

@media screen and (max-width: 450px){
	.main_catch{ font-size: 1.8em; padding: 0;}	
}


/*---------------------------------

  共通

---------------------------------*/

#company .tit1{ margin: 0;}


/*---------------------------------

  contents01 

---------------------------------*/

#contents01{
	text-align: center;
	padding: 100px 0;
}

.company_info{
	width: 60%;
	margin: 0 auto;
	background-color: #FFF;
	padding: 50px 20px 25px;
	border: #000 solid 3px;
	position: relative;
}

.company_info img{
	width: 50%;
	margin: 50px auto;
}

.company_info p{
	line-height: 3em;
}

.company_info::before{
	content: "";
	position: absolute;
	bottom: 0;
	left: -120px;
	background: url("../img/index/main01.gif") no-repeat;
	background-size: contain;
	width: 200px;
	height: 400px;
}

.company_info::after{
	content: "";
	position: absolute;
	bottom: 0;
	right: -150px;
	background: url("../img/index/main02.gif") no-repeat;
	background-size: contain;
	width: 200px;
	height: 380px;
}


@media screen and (max-width: 1150px){
	#contents01{ overflow-x: hidden;}
	.company_info{ width: 77%;}
}

@media screen and (max-width: 950px){
	.tit1{ font-size: 5vw; line-height: 1em;}
	.tit1 span{ font-size: 3vw;}
	.company_info p{ padding: 0 30px;}
}

@media screen and (max-width: 750px){
	.tit1 span{ letter-spacing: 1px;}
	.company_info p{ padding: 0 30px; line-height: 2.5em;}
	.company_info::after{ right: -100px; background-size: 54%; background-position: bottom;}
	.company_info::before{ background-size: 80%; background-position: bottom;}
}

@media screen and (max-width: 450px){
	.company_info img{ width: 70%;}
	.company_info::before{ background-size: 58%; left: -110px;}
	.company_info::after{ background-size: 40%;}
}

/*---------------------------------

  contents02

---------------------------------*/

#contents02{
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 100px 0;
}

#contents02::after{
	content: "";
	background: url("../img/company/imgbox.png") no-repeat;
	background-size: contain;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 290px;
	height: 400px;
}

.info_ttl{
	width: 30%;
}

.info_box{
	width: 70%;
	padding: 0 10px;
}

.info_box table{
	border-collapse:collapse;
	width: 100%;
	border: #000 solid 3px;
}

.info_box tr{}

.info_box th{
	width: 30%;
	padding: 20px 20px 20px 30px;
	border-bottom: #000 solid 3px;
	vertical-align: top;
}

.info_box td{
	border-bottom: #000 solid 3px;
	padding: 20px;
}

#contents02 .info_box td a{
	display: inline-block;
	width: 50%;
	text-decoration: underline;
}

.info_box td a img{
}

.etc_box{
	display: flex;
	align-items: center;
}

.etc_link{ width: 100%!important;}
.etc_box img{ width: 13%;}
.etc_box p{ margin-left: 10px;}


@media screen and (max-width: 1050px){
	#contents02::after{ width: 250px; height: 300px;}
}

@media screen and (max-width: 750px){
	.info_ttl, .info_box{ width: 100%;}
	.info_ttl{ text-align: center; margin-bottom: 40px;}
	#contents02::after{ height: 160px;}
	.info_box table{ width: 100%; margin: 0 auto; letter-spacing: 1px;}
	.etc_box{ line-height: 1.2em;}
}

@media screen and (max-width: 550px){
	.info_box td{ padding: 20px 20px 20px 0;}
	.info_box th{ padding: 20px 0 20px 20px;}
	#contents02::after{ height: 150px; bottom: -30px;}
}


/*---------------------------------

  contents03

---------------------------------*/

#contents03{
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 100px 0;
}

.map_ttl{ width: 30%;}

.map_box{ width: 70%; padding: 0 10px;}

.google_map{ border: #000 solid 3px;}

.map_inner{
	border: #000 solid 3px;
	border-top: none;
	padding: 10px 20px;
}

@media screen and (max-width: 750px){
	.map_ttl, .map_box{ width: 100%;}
	.map_ttl{ text-align: center; margin-bottom: 40px;}
}


/*---------------------------------

  contents04

---------------------------------*/

#contents04{
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 100px 0;
}

.office_ttl{ width: 30%;}

.office_box{ width: 70%; padding: 0 10px;}

.office_inner{
	border: #000 solid 3px;
	border-top: none;
	padding: 10px 20px;
}

@media screen and (max-width: 750px){
	#contents04{ padding-top: 0;}
	.office_ttl, .office_box{ width: 100%;}
	.office_ttl{ text-align: center; margin-bottom: 40px;}
}


/*---------------------------------

  contents05

---------------------------------*/

#contents05{
	position: relative;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	padding: 100px 0;
}

.group_ttl{ width: 30%;}

.group_box{ width: 70%; padding: 0 10px;}

.group_inner{
	border: #000 solid 3px;
	margin: 10px auto;
}

.group_inner a{ padding: 30px 50px;}

.group_inner img{ width: 35%; margin: 0 auto;}


@media screen and (max-width: 750px){
	#contents05{ padding-top: 0;}	
	.group_ttl, .group_box{ width: 100%;}
	.group_ttl{ text-align: center; margin-bottom: 40px;}
	.group_inner img{ width: 50%;}
}
@media screen and (max-width: 500px){
	.group_inner img{ width: 65%;}
}

