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: 600px;
    display: block;    
    position: absolute;
top:50px;
    background: url("../img/mainvisual.jpg") no-repeat left top;
    background-position: 50% 0%;
    overflow: visible;
    top:0px;
}

.mainvisual section{
    position: relative;
    width: 1200px;
    height: 800px;
    margin: 55px auto;
    padding: 20px;
    text-align: left;
    color: #fff;
}

.mainvisual section h2{
    width: 700px;
    font-size: 50px;
    margin: 180px 0 10px 0;
    font-weight: 700;
    text-align: center;
}
.mainvisual section p{
    width: 700px;
    line-height: 1.5em;
    font-size: 40px;
    margin: 20px 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;
}

.mainvisual section a.contact_btn{
    margin-left: 180px;
}

.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;
    text-align: center;
    margin-bottom: 50px;
}

#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: 0px
}

#service_2 section.sub_box p{
    margin: 24px 0px;
    font-weight: 400;
    width: 500px;
    line-height: 1.75em;
    text-align: left;
}

#service_2 section.sub_box div{
    float:right;
    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:left;
}

#service_2 section.sub_box:nth-child(even) h3,#service_2 section.sub_box:nth-child(even) p{
    float:right;
}

#service_2 section.sub_box:nth-child(3) div{
    background-image: url(../img/service_2_01.jpg);
}
#service_2 section.sub_box:nth-child(4) div{
    background-image: url(../img/service_2_02.jpg);
}
#service_2 section.sub_box:nth-child(5) div{
    background-image: url(../img/service_2_03.jpg);
}

#service_2 section.sub_box2:nth-child(2) div{
    background-image: url(../img/service_2_04.jpg);
}
#service_2 section.sub_box2:nth-child(3) div{
    background-image: url(../img/service_2_05.jpg);
}
#service_2 section.sub_box2:nth-child(4) div{
    background-image: url(../img/service_2_06.jpg);
}

#service_2 .main_box section.sub_box_step div{
    background-image: url(../img/service_2_07.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;
}
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;
}

#service_2 section.sub_box_step{
    float:right ;
    width: 500px;
    position: absolute;
    right: 40px;
    top: 140px;
}
.sub_box_step h3{
    display: block;
    padding-top: 30px;
}
.sub_box_step div{
    margin-top: 30px;
}

.olcards,
.olcards * {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

.olcards {
  list-style: none;
  counter-reset: cardCount;
  font-family: sans-serif;
  flex-direction: column;
  --cardsGap: 1rem;
  gap: var(--cardsGap);
  padding-bottom: var(--cardsGap);
  width: 700px;
  height: 700px;
}
.olcards li {
  counter-increment: cardCount;
  color: white;
  --labelOffset: 1rem;
  --arrowClipSize: 1.5rem;
  margin-top: var(--labelOffset);
  width: 270px;
  float: left;
  position: relative;
  margin-right: 20px;
}

.olcards li::before {
  content: counter(cardCount, decimal-leading-zero);
  background: #fff;
  color: var(--cardColor);
  font-size: 1em;
  font-weight: 700;
  transform: translateY(calc(-1 * var(--labelOffset)));
  margin-right: calc(-1 * var(--labelOffset));
  z-index: 1;
  justify-content: center;
  align-items: center;
  padding-inline: 0.5em;
  position: absolute;
  left: -24px;
  top:10px;
  line-height: 2em;
}

.olcards li .content {
  background-color: var(--cardColor);
  display: grid;
  gap: 0.25em 1em;
  clip-path: polygon(
    0 0,
    calc(100% - var(--arrowClipSize)) 0,
    100% 50%,
    calc(100% - var(--arrowClipSize)) 100%,
    calc(100% - var(--arrowClipSize)) calc(100% + var(--cardsGap)),
    0 calc(100% + var(--cardsGap))
  );
  height: 80px;
  position: relative;
}
.olcards li .content::before {
  content: "";
  position: absolute;
  width: var(--labelOffset);
  height: var(--labelOffset);
  background: var(--cardColor);
  left: 0;
  bottom: 36px;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  filter: brightness(0.75);
}
.olcards li .content::after {
  content: "";
  position: absolute;
  height: var(--cardsGap);
  width: var(--cardsGap);
  background: linear-gradient(to right, rgba(0, 0, 0, 0.25), transparent 50%);
  left: 0;
  top: 100%;
}
.olcards li .icon {
  position: absolute;
  left: 20px;
  top:14px;
  font-size: 2em;
  background-size:50px 50px;
  background-repeat: no-repeat;
  background-position: center center;
  width: 50px;
  height: 50px;
}

.olcards li:nth-child(1) .icon {
    background-image: url(../img/step_icon01.png); 
}
.olcards li:nth-child(2) .icon {
    background-image: url(../img/step_icon02.png); 
}
.olcards li:nth-child(3) .icon {
    background-image: url(../img/step_icon03.png); 
}
.olcards li:nth-child(4) .icon {
    background-image: url(../img/step_icon04.png); 
}
.olcards li:nth-child(5) .icon {
    background-image: url(../img/step_icon05.png); 
}
.olcards li:nth-child(6) .icon {
    background-image: url(../img/step_icon06.png); 
}
.olcards li:nth-child(7) .icon {
    background-image: url(../img/step_icon07.png); 
}
.olcards li:nth-child(8) .icon {
    background-image: url(../img/step_icon08.png); 
}
.olcards li:nth-child(9) .icon {
    background-image: url(../img/step_icon09.png); 
}
.olcards li:nth-child(10) .icon {
    background-image: url(../img/step_icon10.png); 
}
.olcards li:nth-child(11) .icon {
    background-image: url(../img/step_icon11.png); 
}
.olcards li:nth-child(12) .icon {
    background-image: url(../img/step_icon12.png); 
}

.olcards li .content .title {
  font-size: 1.1em;
  line-height: 80px;
  padding-left: 74px;
  /* font-weight: 700; */
}



.main_box_price{
    height: 800px;
}
.container {
	width: 820px;
    position: absolute;
    top: 200px;
  left: 50%;
  transform: translateX(-50%);
  -webkit- transform: translateX(-50%);
  overflow: hidden;
}

.pricing-table {
	-webkit-box-shadow: 0px 0px 3px #26292e;
	box-shadow: 0px 0px 3px #26292e;
	display: inline-block;
	margin: 30px 10px;
	width: 250px;
    -webkit-border-radius: 5px 5px 5px 5px;
    -moz-border-radius: 5px 5px 5px 5px;
    border-radius: 5px 5px 5px 5px;
}

	.featured {
		-webkit-transform: scale(1.1, 1.1);
		-moz-transform: scale(1.1, 1.1);
		-ms-transform: scale(1.1, 1.1);
		-o-transform: scale(1.1, 1.1);
		transform: scale(1.1, 1.1);
	}

	.pricing-table-header {
		background: #36aeb3; /* Old browsers */
		-webkit-border-radius: 5px 5px 0px 0px;
		-moz-border-radius: 5px 5px 0px 0px;
		border-radius: 5px 5px 0px 0px;
		padding: 16px;
		text-align: center;	
	}

	.pricing-table-header h1 {
		color: #fff;
		font-size: 18px;
		text-transform: uppercase;
	}

	.pricing-table-content {
		background-color: #fff;
	}

	.pricing-table-content ul {
		list-style: none;	
	}

	.pricing-table-content ul li {
		border-bottom: 1px solid #efeff0;
		font-size: 14px;
		padding: 16px 56px;
        height: 300px;
	}

	.pricing-table-footer {
		background-color: #f5f7f8;
		-webkit-border-radius: 0px 0px 5px 5px;
		-moz-border-radius: 0px 0px 5px 5px;
		border-radius: 0px 0px 5px 5px;
		padding: 16px 0;
	}


	.pricing-table-footer {
		text-align: center;	
	}

    .pricing-table-footer h3 {
        font-size: 20px;
        font-weight: bold;
    }
	.pricing-table-footer p {
		font-size: 12px;
		text-transform: uppercase;	
	}

	.pricing-table-footer a {
		background: #f15f0e; /* Old browsers */
		
		-webkit-border-radius: 5px;
		-moz-border-radius: 5px;
		border-radius: 5px;
		color: #fff;
		display: inline-block;
		font-weight: bold;
		margin-top: 10px;
		padding: 10px 50px;
		text-decoration: none;
	}
    #service_2 .main_box_price li{
    }
    #service_2 .main_box_price li p{
       margin: 0;
       width: 300px;
       margin-left: -80px;
    }

  #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{
}

