body {
    font-family: 'Noto Sans JP', sans-serif;
    color: #1b224c;
}
header{
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 70px;
    padding: 30px;
    background-color: #1b224c;
    letter-spacing:0.25px;
}


header h1{
    position: relative;
    width:1200px;
    margin: 0 auto;
    margin-top: -10px;
}

header h1 img{
    height: 30px;
}

header a:link, header a:visited, header a:hover, header a:active {
    color: #222222;
  }
header section{
    width: 1200px;
    margin: 0 auto;
    position: relative;
}



header a.contact_btn{
    position: absolute;
    top:-10px;
    right: 0px;
    width: 200px;
    height: 50px;
    display: block;
    font-size: 18px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    background-color: #0ea0e9;
    transition: .4s;
}
header a.contact_btn:hover{
    background-color:#777;
}

main{
    overflow: hidden;
}
.mainvisual{
    position: relative;
    height:600px;
}
.mainvisual div{
    width: 100%;
    height: 800px;
    display: block;    
    position: absolute;
top:50px;
    background: url("../img/mainvisual.jpg") no-repeat left top;
    background-position: 50% 0%;
    overflow: visible;
}

.mainvisual section{
    position: relative;
    width: 1200px;
    height: 800px;
    margin: 55px auto;
    padding: 20px;
    text-align: left;
}

.mainvisual section h2{
    width: 500px;
    line-height: 1.5em;
    font-size: 40px;
    margin: 180px 0 10px 0;
    font-weight: 700;
    text-align: center;
}

.mainvisual section a.contact_btn,.main_box a.contact_btn{
    width: 350px;
    height: 70px;
    border-radius: 8px;
    display: block;
    font-size: 18px;
    line-height: 70px;
    text-align: center;
    color: #fff;
    background-color: #c01f0e;
    transition: .4s;
    margin-left: 70px;
}

.main_box{
    position: relative;
}
.main_box a.contact_btn{
    position: absolute;
    margin-left: 0px;
    bottom:0px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
}

.mainvisual section a.contact_btn:hover,.main_box a.contact_btn:hover{
    background-color:#777;
}

section.main_box h2{
    font-size: 42px;
    text-align: center;
    margin: 30px 0 50px 0;
    font-weight: 700;
    line-height: 1.5em;
}

#service_0 section.main_box h2{
    margin: 0px 0 50px 0;
}

#service_0{
    background: #fff;
    color: #1b224c;
    margin-top: 50px;
}
#service_0 section.main_box{
    width: 1200px;
    background: #fff;
    font-size: 18px;
    padding: 50px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow-y:hidden;
    margin-bottom: 50px;
    height:1500px;
}


#service_0 section.main_box p{
    line-height: 1.5em;
    text-align: center;
    font-size: 20px;
    margin-bottom: 80px;
}

#service_0 section.sub_box:nth-child(odd){
    width: 1000px;
    margin: 0 50px;
}

#service_0 section.sub_box:nth-child(odd) li{
    float: left;
    width:340px;
    height:340px;
    border-radius: 50%;
    display: block;
    background-image: url("../img/service_0_01.jpg");
    background-position: 95% 80%;
    background-size: 510px;
}

#service_0 section.sub_box:nth-child(odd) li:last-child{
    background-image: url("../img/service_0_02.jpg");
}

#service_0 section.sub_box:nth-child(odd) li:nth-child(even){
    width: 320px;
    background-image: url("../img/arrow2.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size:80%;
    text-align: center;
}

#service_0 section.sub_box:nth-child(odd) li:nth-child(even) img{
    width:20%;
    padding-top: 120px;
}

#service_0 section.sub_box:nth-child(odd) li:nth-child(even) p{
    font-size: 24px;
    font-weight: 700;
}


#service_0 section.sub_box:nth-child(even){
    width:900px;
    color: #1b224c;
    box-sizing: border-box;
    margin: 0 100px;
    text-align: center;
    display: block;
    padding-top: 50px;
    overflow:hidden;
}

#service_0 section.sub_box:nth-child(even) ul li{
    width:380px;
    float: left;
    background: #efefef;
    height:80px;
    position: relative;
    font-size: 24px;
    margin: 10px 0;
}

#service_0 section.sub_box:nth-child(even) ul li p{
    line-height: 80px;
    width: 100%;
    position: absolute;
    top: 50%;
  left: 70%;
  transform: translateY(-50%) translateX(-65%);
  -webkit- transform: translateY(-50%) translateX(-65%);
}

#service_0 section.sub_box:nth-child(even) ul:first-child li{
    background: #fff;
    font-size:30px;
    font-weight: 700;
    height:80px;
    line-height: 40px;
}

#service_0 section.sub_box:nth-child(even) ul:last-child p{
    line-height: 30px;
}

#service_0 section.sub_box:nth-child(even) ul li div{
    width:50px;
    height:50px;
    border-radius: 50%;
    box-sizing: border-box;
    background: #00c3cc;
    position: absolute;
    color: #fff;
    font-size: 14px;
    line-height: 50px;
    top: 20%;
  left: 5%;
  transform: translateY(-20%) translateX(-5%);
  -webkit- transform: translateY(-20%) translateX(-5%);
     transform:rotate(-30deg);
}

#service_0 section.sub_box:nth-child(even) ul li:last-child div{
    line-height: 16px;
    background: #ff5858;
    padding-top: 7px;
}

#service_0 section.sub_box:nth-child(even) ul li img{
    width:70%;
     position: absolute;
    top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

#service_0 section.sub_box:nth-child(even) ul li:nth-child(even){
    width:140px;
    text-align: center;
    background: #fff;
}

.balloon{
  position: relative;
  padding: 20px;
  background-color: #fff;
  border-radius: 25px;
    height:60px;
    width:300px;
    margin-left: 250px;
    top:-20px;
    border:#1b224c solid 5px;
}
/* 大きい丸 */
.balloon::before{
  content: '';
  position: absolute;
  display: block;
  border-radius: 50%;
  background-color: #fff;
  left: -35px;
  bottom: 15px;
  width: 30px;
  height: 30px;
    border:#1b224c solid 5px;
}
/* 小さい丸 */
.balloon::after{
  content: '';
  position: absolute;
  display: block;
  border-radius: 50%;
  background-color: #fff;
  left: -55px;
  bottom: 10px;
  width: 15px;
  height: 15px;
    border:#1b224c solid 5px;
}

.speech-bubble {
	position: relative;
	background: #ffac2a;
	border-radius: 2em;
    height:80px;
    width: 700px;
    font-weight: 700;
    text-align: center;
    font-size: 30px;
    line-height: 80px;
    margin-left: 200px;
    margin-top: 10px;
    color: #fff;
}

.speech-bubble:after {
	content: '';
	position: absolute;
	top: 0;
	left: 70%;
	width: 0;
	height: 0;
	border: 31px solid transparent;
	border-bottom-color: #ffac2a;
	border-top: 0;
	border-right: 0;
	margin-left: -15.5px;
	margin-top: -31px;
}

#service_1{
    background: #fff;
    color: #1b224c;
}
#service_1 section.main_box{
    width: 1200px;
    background: #fff;
    font-size: 18px;
    padding: 50px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow-y:hidden;
    height: 800px;
    margin-bottom: 50px;
}


#service_1 section.sub_box{
    width:350px;
    box-sizing: border-box;
    padding: 15px;
    color: #1b224c;
    box-sizing: border-box;
    float: left;
    text-align: center;
    display: block;
    box-shadow: 5px 5px 5px #ccc;
}

#service_1 section.sub_box h3{
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3em;
    margin-top: 25px;
}

#service_1 section.sub_box p{
    margin: 24px 0px;
    font-weight: 400;
    line-height: 2em;
    text-align: left;
    font-size: 16px;
}

#service_1 img{
    width: 100%;
}

#service_1 section.sub_box:nth-child(even){
    margin: 0 12px;
}


#service_2{
    background: #fff;
    color: #1b224c;
}
#service_2 section.main_box{
    width: 1200px;
    background: #fff;
    font-size: 18px;
    padding: 50px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow-y:hidden;
    margin-bottom: 50px;
}

#service_2 section.main_box p{
    line-height: 1.5em;
    width: 520px;
}

#service_2 section.sub_box{
    width:1100px;
    color: #1b224c;
    box-sizing: border-box;
    float: left;
    text-align: left;
    display: block;
    margin: 25px 0;
}


#service_2 section.sub_box h3{
    font-size: 36px;
    font-weight: 700;
    line-height: 1.3em;
    width: 500px;
    margin-top: 40px
}

#service_2 section.sub_box p{
    margin: 24px 0px;
    font-weight: 400;
    width: 500px;
    line-height: 2em;
}

#service_2 section.sub_box div{
    float:left;
    width: 500px;
    height:334px;
    border-radius: 30px;
    background-image: url(../img/service_2_01.jpg);
    background-size: 100%;
}

#service_2 section.sub_box:nth-child(even) div,#service_2 section.sub_box:nth-child(odd) h3,#service_2 section.sub_box:nth-child(odd) p{
    float:right;
}

#service_2 section.sub_box:nth-child(even) h3,#service_2 section.sub_box:nth-child(even) p{
    float:left;
}

#service_2 section.sub_box:nth-child(3) div{
    background-image: url(../img/service_2_02.jpg);
}
#service_2 section.sub_box:nth-child(4) div{
    background-image: url(../img/service_2_03.jpg);
}
#service_2 section.sub_box:nth-child(5) div{
    background-image: url(../img/service_2_04.jpg);
}
#service_2 section.sub_box:nth-child(6) div{
    background-image: url(../img/service_2_05.jpg);
}

  footer{
      height: 200px;
      text-align: center;
      color: #fff;
      font-size: 14px;
      background-color: #082340;
      position: relative;
      overflow: hidden;
  }

footer ul,footer div{
     width: 1200px;
    position: absolute;
    top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

footer ul{
    border-left: solid 2px #fff;
    overflow: hidden;
}
footer ul li{
    text-align: left;
    line-height: 20px;
    font-weight: 400;
    padding-left: 20px;
    overflow: hidden;
    position: relative;
}
footer ul li img{
    margin-top: 4px;
    position: absolute;
}
footer div{
    text-align-last: right;
}
footer p{
    position: absolute;
    width: 100%;
    bottom: 10px;
    text-align: center;
    overflow: hidden;
}
  #service_1 section.sub_box a, #contact section.sub_box a{
      display: none;
  }
  


#contact{
    background: #fff;    
}
#contact section.main_box{
    width: 1200px;
    background: #fff;
    font-size: 18px;
    padding: 50px;
    box-sizing: border-box;
    margin: 0 auto;
    overflow-y:hidden;
    margin-bottom: 100px;
}

#contact section.main_box p{
    line-height: 1.5em;
    margin: 40px 0px;
    text-align: left;
}

#contact section.main_box section.sub_box h3{
    color: #0c54a3;
    text-align: center;
    font-size: 24px;
    font-weight: 500;
}

section.main_box{
    margin-bottom: 100px;
    overflow:visible;
    background: #000;
}

  #fc2form {
	border:none;
	padding: 0px;
	width: 100%;
	font-size: 18px;
    list-style:none;
    overflow: hidden;
    box-sizing:border-box;
    text-align:left;
    border:none;
    line-height:20px;
    margin: 0 auto;
}
#fc2form span{
    color: red;
    position: relative;
    padding-left: 15px;
}

#fc2form span::before{
    position: absolute;
    left:0;
    content:"│";
}
input,select,textarea {
    border:1px solid #bbbbbb;
	margin: 10px 0;
	padding: 10px;
	font-size: 93%;
	line-height: 1.1em;
	border-radius: 5px;
    box-sizing:border-box;
    height:50px;
}

#contact li{
    margin-bottom: 20px;
}

li.input_text input,select,textarea{
    width: 100%;
}
li.input_radio input{
    margin-left: 20px;
}
li.input_radio input:first-child{
    margin-left: 0;
}

textarea{
    height:200px;
}

#fc2form .toparea{
padding-top:20px;
}
#fc2form .message{
    text-align:center;
    font-size:14px;
    margin: 20px 0 30px 0;
}
#fc2form #coution1{
	font-weight: bold;
	color: #FF0000;
}
#fc2form #coution2{
	font-size: 14px;
	font-weight: bold;
	color: #FF0000;
}
#fc2form .title{
	padding-top:0px;
}
#fc2form .comment{

}
#fc2form .submit{
	text-align: center;
    box-sizing:border-box;
    margin:0;
    padding:0;
position:relative;
}



#fc2form .button{
	box-sizing:border-box;
    margin:20px 0 0 400px;
    padding:0;
    width:300px;
    height: 60px;
    border:none;
    border-radius: 0px;
    font-size: 16px;
    line-height: 40px;
    text-align: center;
    color: #fff;
    background-color: #0ea0e9;
    transition: .4s;
}



#fc2form .button:hover{
    background-color:#777;
}

#fc2form .bottomarea{
    text-align:center;
    width:0%;
margin-left:2000px;


/*----------------------------------------*/
#fc2form #order hr{
	
}
#fc2form #order .title{
}
#fc2form #order .comment{
}
#fc2form #order-sub .title{
	padding-left: 20px;
}
#fc2form #order-sub .comment{
	padding-left: 35px;
}
#fc2form #order-total .title{
}
#fc2form #order-total .comment{
}
#fc2form #order-select .title{
}
#fc2form #order-select .comment{
}