@charset "UTF-8";

/*CSSDocument*/



/*
share ----------------------------------------------------------*/

.is-inner{
 width:1180px;
 margin: 0 auto;
}
.is-inner.lvl2{
 width:800px;
 margin: 0 auto;
}




@media screen and (max-width: 1240px) {
	.is-inner{
 width:94% !important;
  box-sizing: border-box;
 margin: 0 auto !important;
}

 
}
@media screen and (max-width: 940px) {
 

 	.is-inner{
   font-size: 92%;
}

 

}

@media screen and (max-width: 840px) {
 
.is-inner.lvl2{
 width:90%;
  box-sizing: border-box;
 margin: 0 auto;
}
 
.is-inner{
   font-size: 88%;
}

 
 
}




@media screen and (max-width: 768px) {
 
.is-inner{
   font-size: 77%;
}
 
 
 
}






/*
top ----------------------------------------------------------*/

.main-visual{
 background:url("../images/main_visual.jpg") no-repeat bottom left;
 background-size: cover;
 height: 50vw;
 max-height: 700px;
 position: relative;
  transition: all .8s ease-out;
 opacity: 0;
}

.main-visual.is-motion{
 opacity: 1;
}

.main-visual .is-inner{
 max-width: 1200px;
 width: 100%;
 margin: 0 auto;
}

.main-visual h1{
 color: #fff;
 text-align: left;
 padding-top: 25vw;
 font-size: 2em;
 padding: 0 2% 0;
 height: 1em;
 margin: auto;
 position: absolute;
 top:10%;
 bottom: 0;
 box-sizing: border-box;
 font-weight: normal;
 letter-spacing: 3px;
 text-shadow: 1px 1px 0 #004ea2;
  transition: all .8s ease-out;
 -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
 opacity: 0;
}
.main-visual.is-motion h1{
 -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
 opacity: 1; 
 
}


.main-visual h1 span{
 display: block;
 letter-spacing: 2px;
 font-size: 62%
}


.second-visual{
 background:url("../images/main_visual.jpg") no-repeat bottom left;
 background-size: cover;
 height: 40vw;
 max-height: 444px;
  transition: all .8s ease-out;
 -webkit-transform: translateY(-30px);
    -ms-transform: translateY(-30px);
    transform: translateY(-30px);
 opacity: 0;
}
.second-visual.is-motion{
 -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
 opacity: 1; 
 
}


@media screen and (max-width: 1200px) {
 
 .main-visua{
 }
 

 
 
}


@media screen and (max-width: 940px) {

 
.main-visual{
font-size: 88%; 
}
 
 .second-visual{
}
 
 
}

@media screen and (max-width: 768px) {

 
.main-visual{
}
  .second-visual{
}
 
}


@media screen and (max-width: 480px) {
 
 .main-visual{
 height: 60vw;
font-size: 70%; 
}
.main-visual h1 span{
 padding-top: .5em;
}
 
 
 
}





/*
contents
----------------------------------------------------------*/

section h2{
 letter-spacing: 2px;
 margin-bottom: 5%;
 display: block;
  transition: all .8s ease-out;
 -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
 opacity: 0;
}
section h2.is-motion{
 -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
 opacity: 1;
}


section h2 em{
 font-size: 230.7%;
 color: #004ea2;
 font-weight: normal;
 font-style: normal;
 border-bottom: 3px solid #00a0e9;
 padding-bottom: 8px;
 margin-bottom: 8px;
 display: inline-block;
}


section h2 span{
 display: block;
 color: #414141;
 font-size: 153.8%;
 font-weight: normal;
}




@media screen and (max-width: 940px) {
 

 
 section h2{
  font-size: 92%;
}
 
 
}


@media screen and (max-width: 768px) {
 

 
  section h2{
  font-size: 77%;
}
 
 
}


@media screen and (max-width: 480px) {
 
   section h2{
  font-size: 62%;
}
 
}




/*
business ---------------------------*/

.business{
 padding:6% 0 4%;
}

.business-wrap{
 background: url("../images/business-back2.jpg") no-repeat top center;
 background-size:cover;
 padding: 3% 0;
}
.business-wrap .is-inner{
 max-width:1180px;
 margin: 0 auto;
}

.business-block{
 width:100%;
 display: table;
 border-collapse: separate;
 border-spacing: 2em 0;
}

.business-cell{
 width: 50%;
 display: table-cell;
 vertical-align: top;
 background: #fff;
 padding: 2%;
  transition: all .8s ease-out;
 -webkit-transform: translateY(30px);
    -ms-transform: translateY(30px);
    transform: translateY(30px);
 opacity: 0;
}
.business-cell.is-motion{
 -webkit-transform: translateY(0);
    -ms-transform: translateY(0);
    transform: translateY(0);
 opacity: 1; 
 transition-delay: .1s;
 
}

.business-cell.is-motion:nth-of-type(2){
 transition-delay: .3s;
 
}

.business-cell h3{
 background: #004ea2;
 padding:.5em;
 text-align: center;
 color: #fff;
 font-size: 184.6%;
 margin-bottom: 5%;
}
.business-cell ul{
 text-align:left;
 padding-left: 2em;
}


.business-cell li{
 color: #363636;
 position: relative;
 padding-left: 2em;
 font-size: 138.4%;
 margin-bottom: 1em;
}
.business-cell li:before{
 content: "";
 height: 2px;
 position: absolute;
 left: 0;
 top: .5em;
 width: 1.5em;
 background: #004ea2;
}


@media screen and (max-width: 768px) {
 
 .business-block{
 width:100%;
 display: block;
 border-collapse: separate;
 border-spacing: 0 0;
}
 
 .business-cell{
 width: 100%;
 display: block;
 vertical-align: top;
 background: #fff;
 padding: 2%;
  margin-bottom: 2%;
  box-sizing: border-box;
}
 
 
}

@media screen and (max-width: 480px) {
 

}



/*
Group ---------------------------*/

.group{
 padding:6% 0 6%;
}


.group-wrap{
 max-width:900px;
 width:100%;
 margin: 0 auto;
 padding: 5% 0;
 letter-spacing: -.4em;
}

.group-business {
 max-width: 320px;
 width: 35.5%;
 display: inline-block;
 text-align: center;
 vertical-align: middle;
}

.group-list{
 display: inline-block;
 vertical-align: middle;
 text-align: left;
 width: calc(100% - 35.5%);
 letter-spacing: 0;
 position: relative;
 background: url("../images/group-line.gif") no-repeat left 50% / contain;
}

.group-list li:first-child{
 background: url("../images/circle-01.png") no-repeat left top;
 padding-left: 50px;
 margin-bottom: 50px;
}
.group-list li:first-child h3 img{
 max-width: 240px;
}

.group-list li:nth-child(2){
 background: url("../images/circle-02.png") no-repeat left top;
 padding-left: 50px;
 margin-left: 120px;
 margin-bottom: 50px;
}
.group-list li:nth-child(2) h3 img{
 max-width: 212px;
}

.group-list li:nth-child(3){
 background: url("../images/circle-03.png") no-repeat left top;
 padding-left: 50px;
 margin-left: 130px;
 margin-bottom: 50px;
}
.group-list li:nth-child(3) h3 img{
 max-width: 210px;
}

.group-list li:last-child{
 background: url("../images/circle-04.png") no-repeat left top;
 padding-left: 50px;
 margin-left: 60px;
}
.group-list li:last-child h3 img{
 height: 42px;
}

.group-list li h3{
 font-size: 153.8%;
 color: #004ea2;
 margin-bottom: .6em;
}
.group-list li h4{
 font-size: 138.4%;
 color: #004ea2;
 font-weight: normal;
 margin-bottom: .6em;
}

.group-list li p{
 font-size: 108%;
 color: #424242;
}


.group-list li:first-child h4,
.group-list li:first-child p{
 margin-left: 80px;
}



@media screen and (max-width: 640px) {
 
 .group-wrap{
  width: 100%;
  margin: 0 auto;
  padding: 0;
 }
 
 .group-list li:first-child h3 img{
    width: 40%;
 }
  .group-list li:nth-child(2) h3 img{
    width: 60%;
 } 
 .group-list li:nth-child(3) h3 img{
    width: 70%;
 }
 .group-list li:last-child h3 img{
    width: 36%;
    height: auto;
 }
 

 
.group-business {
  margin-right: -10%;
  position: relative;
 z-index: 2;
}
.group-list{
 width: calc(100% - 40%);
}
 
 
}

@media screen and (max-width: 480px) {
 

.group-business {
 width: 40%;
 margin-right: -30%;
 position: relative;
 z-index: 2;
}
.group-list{
 width: calc(100% - 20%);
}
 
 
 
.group-list ul{
 margin-left: 20px;
 }
 
.group-list li:first-child{
 background-size: 20px;
 padding-left: 35px;
 margin-bottom: 50px;
}
.group-list li:nth-child(2){
 background-size: 20px;
 padding-left: 35px;
 margin-left: 100px;
 margin-bottom: 50px;
}
.group-list li:nth-child(3){
 background-size: 20px;
 padding-left: 35px;
 margin-left: 110px;
 margin-bottom: 50px;
}
.group-list li:last-child{
 background-size: 20px;
 padding-left: 35px;
 margin-left: 40px;
}
 
 .group-list li:first-child h4,
.group-list li:first-child p{
 margin-left: 60px;
}
 
 
}



/*
profile ---------------------------*/


.profile{
 padding:6% 0 6%;
}

.profile table{
 width:100%;
 border-collapse: separate;
 border-spacing: .5em 0;
 font-size: 138.4%;
 text-align: left;
 line-height: 1.6;
}

.profile th{
 width:30%;
 box-sizing: border-box;
 border-bottom: 2px solid #004ea2;
 padding:.8em;
}
.profile td{
 width:70%;
 box-sizing: border-box;
 border-bottom: 2px solid #00a0e9;
 padding:.8em;
 vertical-align:middle;
}

@media screen and (max-width: 480px) {
 

 
}


/*
access ---------------------------*/

.access{
 padding:6% 0 1%;
}

.access h3{
 font-size: 138.4%;
 margin-bottom: 3%;
}

.gmap {
position: relative;
padding-bottom: 36.25%;
padding-top: 30px;
height: 0;
overflow: hidden;
 margin-bottom: 8%;
}
 
.gmap iframe,
.gmap object,
.gmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

@media screen and (max-width: 480px) {
 

}


/*
contact ---------------------------*/


.contact{
 padding:6% 0 6%;
}

.contact-wrap{
 text-align: left;
}

.contact-wrap p{
 font-size: 123%;
 line-height: 1.8;
 margin-bottom: 1.2em;
}

.contact-wrap ol{
 font-size: 123%;
 margin-left: 1.5em;
 margin-bottom: 2em;
}
.contact-wrap li{
 line-height: 1.8;
 margin-bottom: .2em;
 border-bottom: 1px solid #ddd;
 padding: .3em 0;
}

.contact-wrap h3{
 font-size: 153.8%;
 margin-bottom: .5em;
}

.tel-wrap{
 margin-top: 3em;
 background: url("../images/ico_tel.png") no-repeat left 50%;
 background-size: 50px;
 padding-left: 70px;
 padding-top: 2%;
}

.tel-wrap h4{
 font-size: 153.8%;
 font-weight: normal;
 margin-bottom: 1%;
}
.tel-wrap strong{
 font-family: Arial, Helvetica, "sans-serif";
 color: #004ea2;
 font-weight: bold;
 font-size: 523%;
}


@media screen and (max-width: 800px) {
 .tel-wrap{
 margin-top: 3em;
 background: url("../images/ico_tel.png") no-repeat left 50%;
 background-size: 40px;
 padding-left: 70px;
 padding-top: 2%;
}
 .tel-wrap strong{
 font-size: 423%;
}
 
}



@media screen and (max-width: 640px) {
 

  .tel-wrap{
 margin-top: 3em;
 background-size: 30px;
 padding-left: 50px;
 padding-top: 2%;
}
 
 
}


@media screen and (max-width: 380px) {
 
 .tel-wrap strong{
 font-size: 363%;
}

}



/* 2026/01/27 plus */

.privacytxt{
display: inline-flex;
align-items: center;
}

.txtimg{
display: inline-flex;
padding-right:5px;
}
.txtimg img{
padding-top:3px
}




