@charset "utf-8";
/* CSS Document */
html{
  scroll-behavior: smooth;
}

body{
	background-color:#FFF;
	font-family: 'font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif';
	color:#333;
    font-size: 100%;
}

img{
	max-width:100%;
	height:auto;
}
 
a,
a:visited,
a:hover,
a:active {
  color: inherit;
    text-decoration:none;
}

p{line-height: 1.8;}

.text-big{font-size: 1.4rem; font-weight: bold;}

.text-v { writing-mode: vertical-rl; }
@media (max-width: 799px) {
    .text-v{writing-mode: horizontal-tb;}
}
.bg-black{
    width:100%;
	background-color:#000;
}
.bg-lightgreen{
	width:100%;
	background-color:#089C93;
}

hr.shadow {
    border: 0;
    height: 1px;
    background: #2AA738;
    background-image: -webkit-linear-gradient(left, #5CD568, #14511A, #5CD568);
    background-image:    -moz-linear-gradient(left,  #5CD568, #14511A, #5CD568);
    background-image:     -ms-linear-gradient(left,  #5CD568, #14511A, #5CD568);
    background-image:      -o-linear-gradient(left,  #5CD568, #14511A, #5CD568);
    margin-bottom: 0px;
}


@media (min-width: 1030px) {
  .container-box {
    width: 1030px;
    margin: 0 auto;
  }
    .inner-box{
    width: 800px;
    margin: 0 auto;
    min-height: 300px;
    }
}
@media (max-width: 1029px) {
  .container-box {
    width: 95%;
    margin: 0 auto;
  }
}

@media (max-width: 799px) {
    .inner-box{
    width: 100%;
    }
}

/*********** header *****************/
.g-menu-box{
    width: 120px;
    margin-top: auto;
   display: flex;
    flex-direction:column;
    justify-content: space-between;
}

.g-menu-box ul li a {
    font-weight: bold;
    color: #FFF;
    text-decoration:none;
}



/*************humbarger*************/
.burger-btn{
  display: block;      
  width: 50px;      
  height: 50px;      
  position: relative;      
  z-index: 3;
  border:1px solid #999; 
    border-radius: 10px;
}    
.bar{      
  width: 20px;      
  height: 1px;        
  display: block;      
  position: absolute;      
  left: 50%;      
  transform: translateX(-50%);      
  background-color: #999;    
}    
.bar_top{   
  top: 15px;
}
.bar_mid{    
  top: 50%;
  transform: translate(-50%,-50%);
}
.bar_bottom{
  bottom: 15px;
}
.burger-btn.close .bar_top{      
  transform: translate(-50%,10px) rotate(45deg);      
  transition: transform .3s;    
}    
.burger-btn.close .bar_mid{      
  opacity: 0;       
  transition: opacity .3s;    
}    
.burger-btn.close .bar_bottom{      
transform: translate(-50%,-8px) rotate(-45deg);      
transition: transform .3s;    
}
.nav-wrapper{
  display: none;  
  width: 100vw;      
  position: relative;      
  left: 0; 
  z-index: 2;     
}     
.header-nav{        
  width: 100%;        
  height: 100%;        
  background-color:#E3E3E3;        
  z-index: 2;  
opacity: 0.9;
}     
.header-nav .nav-list{        
  display: block;        
}      
.header-nav .nav-item{        
  margin-right: 0;        
  padding: 25px;  
border-bottom: 1px solid #FFF;
}

.top03-background {
  width: 100%;
 min-height: 300px;
  background-image: url("../img/top/company.png") ;
    background-size:cover;
    margin-top: 100px;
}
/*********** footer *****************/
.footer-menu {
    min-height: 20px;
    color: #FFF
}

.footer-menu li a:hover{
    color:inherit;
}
 
/*********** title *****************/

.title01 {
    display: flex;
    align-items: center;
    text-align: center; /* for no-flexbox browsers */
	font-size:1.5em;
	font-weight:bold;
	margin-top:50px;
	margin-bottom:50px;
	/*font-family:Georgia, 'Hiragino Mincho ProN', 'Yu Mincho', serif;*/
	}

.title01:before,
.title01:after {
    border-top: 2px solid #999;
    content: "";
    display: inline; /* for IE */
    flex-grow: 1;
}

.title01:before {
    margin-right: 0.5em;
}

.title01:after {
    margin-left: 0.5em;
}

.title02 {
padding: 0.4rem 1rem;
border-left: solid 10px #7972D3;
margin-bottom:1em;
margin-top: 1.5rem;
font-size:1.5rem;
    font-weight: bold;
}

.title03{
    font-size:  1.3rem; 
    font-weight:  bold;
    padding-top: 15px;
    padding-bottom: 10px;
    text-align: center;
}

.title03 span {
    font-size:  0.8rem; 
    padding-top: 5px;
    display: block;
}

.title04{
     border-bottom: none;
    font-family: 'Oswald',sans-serif;
    font-weight: 700;
    font-size: 4.9vw;
    letter-spacing: .1em !important;
    text-align: center;
    max-width: 100% !important;
    margin-bottom: 60px;
    margin-top: 120px;
    width: 100% !important;
}

/*********** box *****************/
.box-top-01{
    background-image: url("../img/top/top_bg01.png");
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 300px;
    }
.box-gold a{
    background-color:#AA9609;
    color: #fff;
    font-weight: bold;
    width: 120px;
    padding: 5px;
    text-align: center;
    border: 1px solid #FFF;
    display: block;}

.box-orange a{background-color:#FB6536;
    color: #fff;
    font-weight: bold;
    width: 100%;
    padding: 15px;
    text-align: center;
    display: block;
    letter-spacing: 0.5em;
    font-size: 1.1rem;}

.box-blue{background-color:#3B5B9C;
    color: #fff;
    font-weight: bold;
     padding: 10px;}

.box-border{
    border: 1px solid #ccc;}


/*********** table *****************/

/*下線のみ*/
.table01{
	display:table;
    margin-bottom: 1rem;
	margin-left:auto;
	margin-right:auto;
    background-color: transparent;
	border-collapse: collapse;
}

.table01 th, .table01 td {
    padding: .75rem;
    vertical-align: top;
    border-bottom: 2px solid #999;
}
/*枠あり*/
.table02{
	display:table;
	width: 95%;
    margin-bottom: 1rem;
	margin-left:auto;
	margin-right:auto;
    background-color: transparent;
	border-collapse: collapse;
}

.table02 th, .table02 td{
	padding: 1rem;
	border:1px solid #999;
}

/*枠なしテーブル*/
.table03{
	border:none;
    width:100%;
    margin:auto;
	border-collapse:collapse;
	border-spacing:0;
	empty-cells:show;
}

.table03 th{font-weight: bold;}

.table03 td{
	border:none;
    width: 80%;
}

@media screen and (min-width: 768px) {
	.table01 th, .table01 td, .table02 th, .table02 td, .table-03 th, .table-03 td {
		display:table-cell;
	}
	.table01 th {
		width:25%;
	}
	.table02 th{
		width:30%;
	}
}

@media screen and (max-width: 767px) {
	.table01 th, .table01 td, .table02 th, .table02 td, .table03 th, .table03 td {
		display:block;
		width:100%;
	}
	.table02 th{
		border-bottom:1px solid #DDD;
	}
}


/*********** button *****************/
.btn-top-radius {
  position: relative;
  display: inline-block;
  font-weight: bold;
  padding: 8px 10px 5px 10px;
  text-decoration: none;
 color: #91614E;
  background: #FFFDE9;
  border-bottom: solid 4px #FBB03B;
  border-radius: 15px 15px 0 0;
  transition: .4s;
}

.btn-top-radius:hover {
  background: #FBB03B;
  color: #FFF;
}

/****** form  ***********/

.form-input {
	padding:5px 10px;
	width:80%;
	font-size:inherit;
}

.form-input2 {
	padding:5px 10px;
	width:100%;
	font-size:inherit;
}

input[type="submit"] {
	font-size:1.2em;
	padding:10px 20px;
	margin:30px auto;
}

@media screen and (max-width: 768px) {
.form-input {
	width:100%;
}
}

/*********** list *****************/
.dl-news{
    width: 550px;
    margin: 30px auto;
}
@media (min-width: 768px){
.dl-news dt {
    float: left;
    width: 20%;
    clear: left;
    text-align: left;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    margin-left: 3rem;
}
}

@media screen and (max-width: 767px) {
.dl-news{
    width: 100%;
}
.dl-news dd:before,
.dl-news dd:after{
   content: " ";
  display: table;
}
}

/*　リスト●○ */
ul.cp_list {
	padding: 0.5em;
	list-style-type: none;
}
ul.cp_list li {
	position: relative;
	padding: 0.5em 1em 0.5em 2.3em;
	margin-bottom:5px;
}
ul.cp_list li:after,
ul.cp_list li:before{
	content:'';
	position: absolute;
	border-radius: 50%;
}
ul.cp_list li:before {
	top: 1.3em;
	left: 0.2em;
	width: 17px;
	height: 17px;
	background: rgba(0,104,68, 1);
	transform: translateY(-50%);
}
ul.cp_list li:after {
	top: 1.1em;
	left: 0.7em;
	width: 14px;
	height: 14px;
	background:  rgba(0,104,68, 0.5);
}

/*********** youtube *****************/

.video{
  position:relative;
  width:100%;
  padding-top:56.25%;
  /*background-color:rgba(58,56,56,0.5)*/
}
.video iframe{
  position:absolute;
  top:0;
  right:0;
  width:100%;
  height:100%;
}

/*********** popup *****************/

.modal-middle {	
	margin: 5% auto;
}

@media (min-width: 768px){
  .modal-middle {	
	margin: 5% ;
} 
}

