@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:400,700');

/* RESET
----------------------------------------------------------------------------------------------------*/
a,article,body,dd,div,dl,dt,em,form,footer,header,h1,h2,h3,h4,h5,h6,html,i,iframe,img,label,legend,li,nav,ol,p,section,main,span,table,tbody,tfoot,thead,time,tr,th,td,ul,video{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;white-space:normal;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}textarea{font-family:inherit;font-size:100%;font-weight:inherit;font-style:inherit;vertical-align:baseline;margin:0;padding:0;border:0;outline:0;background:transparent;line-height:1.6;text-align:left}article,footer,header,nav,section,main{display:block}ol,ul{list-style:none}table{border-collapse:collapse;border-spacing:0}

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

 * 設定をしなおす

---------------------------------------------- */
body {
  margin: 0 auto;
  padding: 0;
  font-size: 18px;
  line-height: 1.6em;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 500;
  color:#000;
  -webkit-text-size-adjust: 100%;
  background:url(../img/bg_body.jpg) center 40vw no-repeat;
  background-size:contain;

  overflow-x: hidden;
  width: 100%;
  box-sizing: border-box;

}
#news_page{
background: none;
}
#form_page , #mission{
	background:none;
}

@media only screen and ( max-width : 768px ) {
  body {font-size: 14px;}
}

table {
  margin : 0;
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

img {
  vertical-align: middle;
  border: none;
}


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

 * アンカータグの設定

---------------------------------------------- */
a {
  outline:none;
  color: #333;
}

a:hover {
  text-decoration: none;
}


a,a:hover,a:hover img {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  text-decoration: none;
}

a:hover {
  filter: alpha(opacity=80);
  -moz-opacity:0.80;
  opacity:0.80;
}

.link_margin{
	padding-top: 150px;
    margin-top:-150px;
	display:block;
}

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

 * 要素を左右中央寄せ

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

.taC {
  text-align: center !important;
}

.taR {
  text-align: right !important;
}

.taL {
  text-align: left !important;
}



*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;*behavior:url(/scripts/boxsizing.htc)}.container{margin:0 auto}.clr:after,.col:after,.container:after,.group:after,.row:after{content:"";display:table;clear:both}.row{padding-bottom:0}.col{display:block;float:left;width:100%}@media (min-width:769px),print{.gutters .col{margin-left:2%}.gutters .col:first-child{margin-left:0}.gutters .colR:first-child{margin-right:0}.sp{display:none}}@media(max-width:768px){.sp_none{display:none !important;}}


img {
    max-width: 100%;
    height: auto;
    width /***/:auto;　/*IE8のみ適用*/
}

@media only screen and ( max-width : 768px ) {
  .sbox {
    margin-bottom: 20px;
  }
  .container {
    padding: 0 30px;
  }
  section {
    padding: 100px 0;
  }
}

@media only screen and ( max-width : 480px ) {
  .container {
    padding: 0 20px;
  }
}
@media only screen and ( max-width : 374px ) {
  .container {
    padding: 0 10px;
  }
}



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

　   HEADER

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

#header {
  /*box-shadow: 0px 3px 15px rgba(0,0,0,0.2);*/
  z-index: 99;
  width: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: #fff;
  padding: 15px 0;
}
.fixed #header{
	z-index:110;
}
#gNav{
line-height: initial;
}
#gNav a:hover {
  color: #ddd;
}

.h_logo a{
	font-size:1.2em;
}

.h_nav{
	margin-left: auto;
	line-height: inherit;
}
.h_nav img{
	padding:0 0 10px;
}
nav li{
	padding: 0 0 0 20px;
}
nav li a {
  font-size: 16px;
  letter-spacing: inherit;
  color: #000;
}

nav li:last-of-type a{
	background:#FF5C26;
	padding:5% 2%;
-moz-border-radius: 2em;
-webkit-border-radius: 2em;
-o-border-radius: 2em;
-ms-border-radius: 2em;
min-width: 150px;
}

nav .sub-menu,.mean-container .mean-nav ul ul {
  background: #fff;
  /*background-image: linear-gradient(to top, #fff1eb 0%, #ace0f9 100%);*/
}
.btn_kaitori a{
	background:url(../img/ico_header02.png) 94% 50% no-repeat;
	background-color:#FF8000;
	display:block;
	color:#FF0;
	text-align:center;
	font-size:20px;
	font-weight:bold;
	padding: 10px 35px;
margin: 0 0 0 25px;
-moz-border-radius: 0.3em;
-webkit-border-radius: 0.3em;
-o-border-radius: 0.3em;
-ms-border-radius: 0.3em;
width:230px;
}
.head_btnarea{
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}






@media print, screen and ( min-width : 1066px ) {
  #header {
    height: auto;
	padding:15px 0;
  }
  #header .container{
	 max-width: 1500px;
    width: 90%;
  }
  
  .h_logo img {
    width: auto;
  }
  #h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #gNav ul {
    /*position: relative;*/
    display: flex;
    align-items: center;
    padding: 0 0 5px;
  }
  #gNav li {
    /*position: relative;*/
    margin-left: 0.5em;
  }
  #gNav li:first-child {
	  margin:0;
  }
  /*#gNav li:nth-last-of-type(-n+2){
	display:none;
}*/
  #gNav li:last-child {
    margin-right: 0;
  }
  #gNav li:last-child img {
    padding: 0;
  }
  #gNav li i {
    font-size: 16px;
    margin-left: 5px;
  }
  #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 80px;
	line-height:120%;
  }
  #gNav li a:hover {
	  color:#ddd;
  }
  #gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    display: block;
    position: absolute;
    top: 50px;
    left: 0.5vw;
    /*margin-left: -100px;*/
    width: 98vw;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	display:flex;
	justify-content: space-between;
  }
  #gNav .sub-menu a {
    padding: 10px;
    display: block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
  }
  #gNav .sub-menu a:hover:after {
    content: none;
  }
  #gNav .sub-menu li {
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }
  #gNav .sub-menu li:last-child {
    border-bottom: none;
  }
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }

  #gNav li:hover ul.sub-menu {
    top: 80px;
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a {
    color: #111;
  }
  #gNav .sub-menu li a:hover {
    background: #fff;
  }
  #gNav .contact_btn a:hover {
    color: #fff;
  }
  
#gNav .sub-menu_under{
	display:block;
}
#gNav .sub-menu_under li{
	display:block;
}

}


.noto-sans-jp-futo {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight:900 !important;
  font-style: normal;
}


/*========= スクロール途中からヘッダーの高さが小さくなるためのCSS ===============*/
#header{
    /*はじめの高さを設定*/
	width:100%;
   /*以下はレイアウトのためのCSS*/
	/*display: flex;
	justify-content: space-between;
	align-items: center;
	color:#fff;
	text-align: center;*/
	padding: 20px;
	background:#00479D;
	
}
#header a{
	color:#fff;
}

/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#header.HeightMin{
	position: fixed;
    z-index: 999;/*最前面へ*/
	animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime{
  from {
  	opacity: 0;
	transform: translateY(-170px);
  }
  to {
  	opacity: 1;
	transform: translateY(0);
  }
}


/*mainphoto*/
.mainphoto{
	width:100%;
	max-width:1018px;
	margin:0 auto;
	text-align:center;
	position:relative;
}

.mainphoto_txt01{
	font-size:14px;
	margin:0 0 40px;
	text-align:center;
	padding:30px 0 0;
}
.mainphoto_txt01 span{
	color:#fff;
	background:#E81C1C;
	padding:0.3% 1%;
	display:inline-block;
	margin:0 2px;
	line-height:100%;
}
.mainphoto_txt02{
	position:absolute;
	top: -35px;
	right:20px;
	z-index:100;
}
.mainphoto_txt02 img{
	max-width:140px;
}

.mainphoto_txt03{
	font-size:35px;
	font-weight:bold;
	text-align:center;
}
.mainphoto_txt03 span:first-of-type{
	background:#FFE100;
	padding: 0 2% 0.5%;
	display:inline-block;
	margin:0 5px;
	font-size:1.8em;
	color:#00479D;
	line-height:120%;
}
.mainphoto_txt03 span:last-of-type{
	color:#00479D;
}
.mainphoto_txt04{
	font-size:123px;
	font-weight:bold;
	text-align:center;
}
.mainphoto_txt04 span{
	color:#00479D;
	text-shadow:1px 1px 0 #FFE100,2px 2px 0 #FFE100,4px 4px 0 #FFE100,6px 6px 0 #FFE100;
}
.mainphoto_txt04::before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 100px;/*画像の幅*/
  height: 100px;/*画像の高さ*/
  background-image: url(../img/ico_main_left.png);
  background-size: contain;
  vertical-align: middle;
}
.mainphoto_txt04::after {
  content: '';/*何も入れない*/
  display: inline-block;
  width: 100px;/*画像の幅*/
  height: 100px;/*画像の高さ*/
  background-image: url(../img/ico_main_right.png);
  background-size: contain;
  vertical-align: middle;

}

.mainphoto_txt05{
	font-size:20px;
	text-align:center;
	font-weight: 300;
}


/*slider*/
.main_slidearea{
	width:100%;
	max-width:1440px;
	margin:auto;
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}


.slider {
width:62.8%;
margin:5vw 0 0 0;
}
.slider p{
margin:30px 0 0 50px;
}
.slider .slick-slide{
max-width: 100px;
}
.slick-list , .slick-track , .slick-slide{
	box-sizing: initial;
}
img {
max-width: 100%;
height: auto;
margin: 0 20px;
}
.slick-prev:before,
.slick-next:before {
    color: #000;
}

.slick-prev::before, .slick-next::before {
font-size: 50px;
}



.slider_left{
	width:37.1%;
	min-width: 30vw;
margin: 0 0 0 2vw;
max-width:20vw;
background:url(../img/bg_slide_first.png) no-repeat;
background-size:contain;
min-height:33vw;
position:relative;
}

.slider_left .slick-slider{
	max-width: 9vw;
  position: absolute;
  right: 1.5vw;
  top:3.7vw;
}
.slider_left .slick-slide{
	margin:0;
	padding:0;
}
.slider_left .slick-slide img{
	margin:0;
	padding:0;
}

/*困ったとき*/
.trouble_top{
	width:100%;
	max-width: 1018px;
	margin:auto;
}
.trouble_top h2{
	background:#FFE100;
	padding:1.5% 3%;
	text-align:center;
	margin:0 auto 50px;
	color: #00479D;
	-moz-border-radius: 3em;
-webkit-border-radius: 3em;
-o-border-radius: 3em;
-ms-border-radius: 3em;
font-size:22px;
font-weight:bold;
max-width: 40vw;
position:relative;
}
.trouble_top h2:after{
	content: '';
  display: inline-block;
  width: 30px;
  height: 18px;
  background-image: url(../img/ico_trouble.png);
  position: absolute;
  bottom: -18px;
  right: 19vw;
}
.trouble_top_inner{
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.trouble_top_inner dl{
	width:30.4%;
	background:#F1F1F1;
	border:3px #003895 solid;
	padding:42px;
	margin:0 0 40px;
	-moz-border-radius: 1em;
-webkit-border-radius: 1em;
-o-border-radius: 1em;
-ms-border-radius: 1em;
}
.trouble_top_inner dl dt , .trouble_top_inner dl dd{
	text-align:center;
}
.trouble_top_inner dl dd img{
	display:block;
	margin:0 auto 20px;
	width:163px;
}
/*contact*/
.top_contact{
	width:100%;
	max-width:1350px;
	margin:auto;
	  background:url(../img/bg_contact.jpg) right top no-repeat;
  background-size: 30vw;
}
.top_contact h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
}
.top_contact h3{
	font-size:30px;
	font-weight:bold;
	margin:0 0 50px;
}
.top_contact p{
	text-align:left;
	margin: 0 0 30px;
}

/*service*/
.service{
	width:100%;
	max-width:1350px;
	margin:auto;
}
.service h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
}
.service h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
}
.service_inner{
	width:100%;
	max-width:1350px;
	margin:auto;
}
.service01{
	width:68%;
	background: url(../img/img_service02.jpg) right top no-repeat;
	background-size:20vw;
	margin: 0 0 80px;
}
.service_no{
	background:#000;
	line-height:100%;
	padding:10px;
	color:#fff;
	max-width:50px;
	text-align:center;
	display:block;
	margin:0 0 30px;
}
.service01 h4 , .service02 h4 , .service03 h4 , .service04 h4{
	font-size:34px;
	font-weight:bold;
	border-bottom:2px #000 solid;
	padding:0 0 10px;
	display: inline-block;
	position:relative;
	margin: 0 0 40px;
}
.service01 h4::after{
content: '';
  display: inline-block;
  width: 150px;
  background-image: url(../img/img_service01.jpg);
  position: absolute;
  top: -90px;
  right: 0;
  right: calc((100% - 650px)/2);
  height: 112px;
  background-size: contain;
  background-repeat: no-repeat;
}
.service01 ul{
	margin:0 0 40px;
}
.service01 ul li{
	background: url(../img/ico_service.jpg) left 50% no-repeat;
	background-size:contain;
	padding:0 0 0 40px;
	font-weight: 400;
	margin:0 0 20px;
}
.service01 ul li span{
	font-size:0.7em;
}
.service01 p , .service02 p , .service03 p , .service04 p{
	font-size:14px;
	margin:0 0 30px;
}

.service02{
	width:68%;
	background: url(../img/img_service04.jpg) right top no-repeat;
	background-size:18vw;
	margin: 0 0 80px 32%;
}

.service02 h4::after{
content: '';
  display: inline-block;
  width: 150px;
  background-image: url(../img/img_service03.jpg);
  position: absolute;
  top: -90px;
  right: 0;
  right: calc((100% - 650px)/2);
  height: 112px;
  background-size: contain;
  background-repeat: no-repeat;
}
.service02 h5 , .service03 h5{
font-size: 20px;
margin: 0 0 30px;
}
.service_getsugaku{
border-bottom: 1px #333 solid;
  border-top: 1px #333 solid;
  line-height: 100%;
  padding: 4px 0;
  }
.service_getsugaku span{
font-size: 0.8em;
line-height: 100%;
}

.service03{
	width:68%;
	background: url(../img/img_service05.jpg) right 9vw no-repeat;
	background-size:20vw;
	margin: 0 0 80px;
}
.service03_txt01{
margin:0 0 30px 30px !important;
}

.service03_txt01 span{
font-size: 1.3em;
font-weight: 500;
}
#service03_txt02{
margin:30px 0 30px 30px;
font-size: 1.4em;
}
.service04{
	width:68%;
	background: url(../img/img_service06.jpg) right top no-repeat;
	background-size:18vw;
	margin: 0 0 80px 32%;
}


.service_btn{
max-width: 666px;
width: 68.5%;
display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}
.service_btn div{
width: 47%;
}
.service_btn .btn_entry p a{
padding: 7% 3%;
}

/*ポイント*/
.point{
	width:100%;
	max-width:1350px;
	margin:auto;
}
.point h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.1em;
}
.point_inner{
width: 80%;
margin:0 auto 50px;
display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
flex-wrap: wrap;
}
.point_inner_left{
width: 60%;
}
.point_inner_left h3{
font-size: 30px;
font-weight: bold;
margin: 0 0 50px;
}
.point_inner_left p span{
font-size: 0.7em;
}
.point_inner_right{
width: 27%;
}
.point_inner_right img{
width: 100%;
}
.point_no{
font-size: 20px;
margin: 0 0 50px;
position: relative;
}
.point_no::after {
content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 300px;
  height: 3px;
  background-color: #000;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -o-border-radius: 1em;
  -ms-border-radius: 1em;
  left: 5%;
 
}

/*case*/
.case h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
}
.case h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
}
.case_slider{
margin: 0 0 50px;
}

.case_slider h6{
font-size: 20px;
font-weight: bold;
padding: 0 0 30px 0;
margin: 0 0 0 25px;
/*border-bottom: 1px #000 solid;*/
display: block;
width: 98%;
}
.case_slider p{
font-size: 0.7em;
padding: 10px 0 0 0;
margin: 0 0 0 25px;
}
.case .btn_entry{
margin: auto;
  text-align: center;
  display: block;
  max-width: 300px;
}
.case .btn_entry p a {
  padding: 7% 3%;
}

#slider02 li img{
-moz-border-radius: 1em;
-webkit-border-radius: 1em;
-o-border-radius: 1em;
-ms-border-radius: 1em;
}
.site01{
background: #B20000;
padding: 2px 4px 4px 4px !important;
color: #fff;
line-height: 100%;
display: inline-block;
}
.site02{
background: #0059B2;
padding: 2px 4px 4px 4px !important;
color: #fff;
line-height: 100%;
display: inline-block;
}
.site03{
background: #0EB3AE;
padding: 2px 4px 4px 4px !important;
color: #fff;
line-height: 100%;
display: inline-block;
}
.site04{
background: #CCB300;
padding: 2px 4px 4px 4px !important;
color: #fff;
line-height: 100%;
display: inline-block;
}

/*creative*/

.creative{
}
.creative h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
	color: #fff;
}
.creative h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
	color: #fff;
}
.creative h5{
	background:#FFE100;
	padding:1.5% 3%;
	text-align:center;
	margin:0 auto 50px;
	color: #00479D;
	-moz-border-radius: 3em;
-webkit-border-radius: 3em;
-o-border-radius: 3em;
-ms-border-radius: 3em;
font-size:22px;
font-weight:bold;
max-width: 30vw;
position:relative;
}
.creative h5:after{
	content: '';
  display: inline-block;
  width: 30px;
  height: 18px;
  background-image: url(../img/ico_trouble.png);
  position: absolute;
  bottom: -18px;
  right: 13.8vw;
}

.creative_slider01{
margin: 0 0 50px;
}
.creative_slider01 .slick-slide{
margin: 0;
padding: 0;
max-width: 500px;
}
.creative_slider01 .slick-slide img {
max-height: 80px;
}
/*option*/
.option{
width: 1450px;
margin: auto;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
justify-content: space-between;
}

.option_left{
width: 23.4%;
}
.option_right{
width: 72%;
display: -webkit-flex;
display: -moz-flex;
display: -ms-flex;
display: -o-flex;
display: flex;
flex-wrap: wrap;
}
.option_left h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
}
.option_left h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
}
.option_right dl{
width: 17%;
margin:0 3.7% 40px 0;
}
.option_right dl:nth-of-type(5n){
margin:0 0 40px 0;
}
.option_right dt img{
width: 90%;
margin:auto;
}
.option_right dt{
	text-align:center;
}
.option_right dd{
	font-size:12px;
	font-weight:400;
}
.option_right dd span{
	font-size:16px;
	font-weight:bold;
	display:block;
	margin:20px auto;
	text-align:center;
	line-height:120%;
}
#option_right_txt01{
	font-size:0.8em;
	display:inline;
}


/*flow*/
.flow h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
}
.flow h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
}

.flow_inner{
display: flex;
  justify-content: space-between;
  gap: 10vw;
  max-width: 1350px;
  padding: 60px;
  margin: auto;
}

.flow_inner ul{
position: sticky; top: 120px;
}
.flow_inner ul li{
background: url(../img/line_flow.png) 3px bottom no-repeat;
padding: 0 0 34px;
color: #CFCFCF;
}
.flow_inner ul li:last-of-type{
background: none;
padding: 0;
color: #CFCFCF;
}
.flow_inner ul li a{
color: #CFCFCF;
}

.flow_inner #section01 , .flow_inner #section02 , .flow_inner #section03 , .flow_inner #section04 , .flow_inner #section05 , .flow_inner #section06 , .flow_inner #section07 , .flow_inner #section08 , .flow_inner #section09 , .flow_inner #section10 {
background: #fff;
padding: 4vw;
margin: 0 0 50px;
}

.flow_inner #section01 h2 , .flow_inner #section02 h2 , .flow_inner #section03 h2 , .flow_inner #section04 h2 , .flow_inner #section05 h2 , .flow_inner #section06 h2 , .flow_inner #section07 h2 , .flow_inner #section08 h2 , .flow_inner #section09 h2 , .flow_inner #section10 h2{
font-size: 20px;
margin: 0 0 30px;
text-align: left;
letter-spacing: 0.1em;
}
.flow_inner #section01 p , .flow_inner #section02 p , .flow_inner #section03 p , .flow_inner #section04 p , .flow_inner #section05 p , .flow_inner #section06 p , .flow_inner #section07 p , .flow_inner #section08 p , .flow_inner #section09 p , .flow_inner #section10 p{
color: #838383;
font-size: 0.9em;
}

.flow_inner .point_no {
color: #000 !important;
margin: 0 0 20px;
}
.flow_inner .point_no::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 200px;
  height: 2px;
  background-color: #000;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -o-border-radius: 1em;
  -ms-border-radius: 1em;
  left: 7%;
}

.is-current{
  color: #000 !important;
  /*background: #000;*/
}


/*FAQ*/
.faq_area{
width: 100%;
max-width: 1350px;
margin: auto;

}

.faq_area h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
}
.faq_area h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
}
.faq_txt01{
font-size: 24px;
margin: 0 0 30px;
font-weight: bold;
}
.faq_txt01 span{
font-size: 1.3em;
color: #00479D;
display: inline-block;
padding: 5px 10px 5px 0;

}
.faq_txt02{
background: #F1F1F1;
padding:3% 5% 3% 10%;
-moz-border-radius: 1em;
-webkit-border-radius: 1em;
-o-border-radius: 1em;
-ms-border-radius: 1em;
color: #4E4E4E;
font-size: 0.9em;
max-width:1350px;
margin:0 auto 20px;
}
.faq_txt02 span{
font-size: 24px;
  display: block;
  font-weight: bold;
  color: #000;
  padding: 0;
  margin: -1% 0 0 -2.0%;
}
.faq_txt02 #anser{
font-size: 1.3em;
color: #E81C1C;
display: inline-block;
padding: 5px 10px 5px 0;

}

/*hiketsu*/
.hiketsu_area{
width: 100%;
max-width: 1350px;
margin: 0 auto;
display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
}
.hiketsu_left{
width: 65.5%;
margin: 8vw 0 0;
}
.hiketsu_right{
width: 22.5%;
}
.hiketsu_left h2{
font-size: 60px;
  font-weight: 900;
  margin: 0 0 20px;
  letter-spacing: 0.1em;

}
.hiketsu_left h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;

}

.hiketsu_bg_gray{
padding: 50px 0;
background: #F1F1F1;
position: relative;
}
.hiketsu_bg_gray::before{
content: '';
  display: inline-block;
  width: 6vw;
  height: 4vw;
  background-image: url(../img/img_hiketsu01.png);
  background-size: contain;
  vertical-align: middle;
  position: absolute;
  top: -40px;
  right: 40vw;
}
.hiketsu_bg_gray_inner{
width: 100%;
max-width: 1350px;
margin:50px auto;
display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}
.hiketsu_bg_gray_innerleft{
width: 46%;
}
.hiketsu_bg_gray_innerright{
width: 46%;
}

.hiketsu_bg_gray_innerleft dl , .hiketsu_bg_gray_innerright dl{
	margin:0 0 50px;
}
.hiketsu_bg_gray_innerleft dt , .hiketsu_bg_gray_innerright dt{
	margin:0 0 10px;
	position:relative;
	font-size:1.1em;
}
.hiketsu_bg_gray_innerleft dd , .hiketsu_bg_gray_innerright dd{
	font-size:0.8em;
	font-weight:400;
}
.hiketsu_bg_gray_innerleft dt:before ,  .hiketsu_bg_gray_innerright dt:before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 20px;/*画像の幅*/
  height: 20px;/*画像の高さ*/
  background-image: url(../img/ico_hiketsu.jpg);
  background-size: contain;
  vertical-align: middle;
  position:absolute;
  left: -25px;
  top: 7px;
}
.hiketsu_seisaku{
	background:#fff;
	width:70%;
	margin:50px auto 0;
	padding:30px;
	box-sizing:border-box;
	max-width: 1000px;
}
.hiketsu_seisaku h4{
	text-align:center;
	margin:0 auto 25px;
	font-size:1.2em;
	display: block;
}

.hiketsu_seisaku h4::before{
  margin: 0 30px 5px 0;
}
.hiketsu_seisaku h4::after {
  margin: 0 0 5px 30px;
}
.hiketsu_seisaku h4::before, .hiketsu_seisaku h4::after {
  content: '';
 display: inline-block;
  width: 80px;
  height: 2px;
  background-color: #145B93;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -o-border-radius: 1em;
  -ms-border-radius: 1em;
 
}
.hiketsu_seisaku p{
	font-size:0.8em;
	font-weight:400;
}
/*News*/
.news_area{
width: 100%;
max-width: 1350px;
margin: auto;
}

.news_area h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	display:inline-block;
}
.news_area h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
	display:inline-block;
	color:#747474;
}
.news_area h4{
font-size: 2em;
margin: 0 0 25px;
border-bottom: 1px solid #111;
line-height: 120%;
padding:0 0 10px;
}
.news_area p a{
text-decoration: underline;
}
.news_area dl{
	width:100%;
	background:#F1F1F1;
	box-sizing:border-box;
	padding: 3% 5%;
	margin:0 0 20px;
	-moz-border-radius: 1em;
-webkit-border-radius: 1em;
-o-border-radius: 1em;
-ms-border-radius: 1em;
}
.news_area dt{
	font-size: 0.9em;
  color: #4E4E4E;
}
.news_area dd a{
  color: #000;
}
.news_area dd img{
vertical-align: middle;
padding:0 0 0 15px;
width: 2.5vw;
margin:0;
max-width: 30px;
}
.news_area_contact{
	background: url(../img/bg_news.jpg) no-repeat left bottom;
    background-size:contain;
	padding:60px 0;
	margin:100px 0 0;
	background-color: #F9F9F9;
}
.news_area_contact p{
	text-align:center;
	margin:0 0 30px;
	font-weight:500;
}
.news_area_contact p:first-of-type{
	font-size:1.1em;
}
.btn_news_contact a{
border:3px #FFE600 solid;
	display:block;
	  -moz-border-radius: 3em;
  -webkit-border-radius: 3em;
  -o-border-radius: 3em;
  -ms-border-radius: 3em;
  text-align:center;
  padding:2% 3%;
  color:#fff;
  max-width:402px;
  background:url(../img/ico_btn.png) 94% 50% no-repeat;
  background-color:#FF5C26;
  background-size:12px;
  font-size:1.2em;
  line-height:100%;
  margin:auto;
}

.btn_mainphoto a:hover{
	opacity:1;
	color:#FF9;
}

.pc_only{
	display:block;
	line-height: 1%;
}
.smp_only{
	display:none;
}
.pc_mainphoto{
	display:block;
}
.smp_mainphoto{
	display:none;
}

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

　   FOOTER

--------------------------------------------------------------------------------------------- */
#footer {
  background:#00479D;
  color:#fff;
  margin:0;
}
.footer_inner{
	width:100%;
	max-width:1350px;
	margin:auto;
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}
.footer_inner_left{
	width:29.5%;
}
.footer_inner_left h6{
	margin:0 0 40px;
	font-size:1.7em;
}
.footer_inner_left h6 a{
	color:#fff;
}
.footer_inner_left ul{
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
flex-wrap: wrap;
}

.footer_inner_left li{
	width:46%;
	background:url(../img/ico_footer.jpg) left 50% no-repeat;
	padding:0 0 0 20px;
	line-height:100%;
	margin:0 0 5px;
}
.footer_inner_left li a{
	color:#fff;
	font-size:0.8em;
}
.footer_inner_right{
	width:60%;
}
.footer_inner_right ul{
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: flex-end;
  margin: 20px 0 35px;
}
.footer_inner_right li{
	border-right:1px #fff solid;
	line-height: 100%;
	padding:0 30px;
}
.footer_inner_right li:last-of-type{
	border-right:none;
	line-height: 100%;
	padding:0 0 0 30px;
}
.footer_inner_right li a{
	
	color:#fff;
	font-size:0.8em;
}
.foot_btn{
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;

}
.foot_btn p{
	width:48%;
}
.foot_btn p img{
	margin:0;
}
.f_logo,.f_logo p {
  text-align: center;
}

.copy_area{
	background:#F1F1F1;
	padding:50px 0;
}
.copy_area h5{
	text-align: center;
	color:#0D1E59;
	font-weight:500;
	font-size:1.1em;
	margin:0 0 20px;
}
.copy {
  text-align: center;
  font-size:0.8em;
  font-weight:400;
}


/* =SCROLL UP
----------------------------------------------- */
a#scroll-up {
	bottom: 20px;
	position: fixed;
	right: 20px;
	display: none;
	opacity: 0.5;
	filter:alpha(opacity=50); /* For IE8 and earlier */
}
a#scroll-up i {
	font-size: 40px;
	color: #ccc;
}
a#scroll-up:hover {
	opacity: 1;
	filter:alpha(opacity=100); /* For IE8 and earlier */
}



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

　   CONTENTS

--------------------------------------------------------------------------------------------- */
#main p {
  word-break: break-all;
}

section {
  /*text-align: center;*/
  padding:100px 0;
}

#sec01 {
	text-align:center;
	margin:0;
	padding:0;
}
#sec02 {
  margin:0 0 50px;
}
#sec03 {
	background:#E6EDF6;
}
#sec04 {
  text-align: center;
  padding: 100px 0;
}
#sec05 {
  text-align: center;
  background:#E6EDF6;
  padding: 100px 0;
}
#sec06{
background: url(../img/bg_creative.jpg) no-repeat 100% 100% fixed;
background-size: cover;
-webkit-background-size: cover;
padding: 100px 0;
margin: 0 auto;
}
#sec07 {
  padding: 100px 0;
}

#sec08{
text-align: center;
background:#E6EDF6;
padding: 100px 0;
background: url(../img/bg_flow.png) no-repeat right bottom;
background-size: 10%;
background-color: #E6EDF6;
}
#sec09 {
  padding: 100px 0;
}

#sec10{
padding: 100px 0;
box-sizing:border-box;
}

#sec11{
	padding: 50px 0 0 !important;
}

#kasou{
	text-align: center;
  padding: 0 0 100px;
}
.btn {
  display: block;
  background: #fff;
  color: #618bbe;
  padding: 0.8em 1em;
  text-align: center;
  margin: 0 auto;
  border-radius: 100px;
}
.btn:before {
  content: "\f104";
  font-family: "FontAwesome";
  margin-right: 5px;
}


/*=================form================*/

.contact_tel{
	margin:50px auto 0;
	max-width:70%;
	width:50vw;
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}
.contact_tel_left{
	border-right:1px #AAAAAA solid;
	width:48%;
	padding:0 4% 0 0;
}
.contact_tel_left h6{
	display:block;
	font-size:1.15em;
	text-align:right;
}
.contact_tel_left p{
	font-weight:400;
	font-size:0.7em;
	text-align:right;
}
.contact_tel_right{
	width:48%
}
.contact_tel_right p{
	font-weight:800;
	color:#598818;
	font-size:2.3em;
	line-height:100%;
}
.contact_tel_right p img{
	width: 3.5vw;
  margin: 0 5px 0 0;
  vertical-align: top;
  max-width: 50px;
}

.tit_kasou{
  padding: 0 55px;
  margin: 40px 0 0;
  font-size:2em;
  text-align:center;
  font-weight:800;
  color:#00479D;
  position:relative;
}
.tit_kasou span{
	font-size:0.6em;
	font-weight:400;
	padding: 0 0 0 20px;
}
.tit_kasou::before{
  left: 25vw;

}
.tit_kasou::after {
  right: 25vw;

}
.tit_kasou::before, .tit_kasou::after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 100px;
  height: 3px;
  background-color: #00479D;
  -moz-border-radius: 1em;
  -webkit-border-radius: 1em;
  -o-border-radius: 1em;
  -ms-border-radius: 1em;
 
}


.section09 p.ermsg {
  font-size: 12px;
  color: #f00; }
.form_section{
	width: 1200px;
padding: 0;
margin: 0 auto 100px;
}
.form_section table , .section09 .inner table {
    margin-top: 40px;
    width: 100%;
	margin:40px auto 0;
}
.form_section table , .section09 .inner table{
    background: #f5f5f5;
	border-collapse: collapse;
	}
  .form_section table th , .section09 .inner table th {
    width: 280px;
	border: 1px solid #ddd;
	padding:20px;
	vertical-align: middle;
    position: relative; }
  .form_section table td , .section09 .inner table td {
    background: #fff;
	padding:20px;
	border: 1px solid #ddd; }
.form_section span.require,
.form_section span.option {
  display: inline-block;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.07em;
  padding: 3px 10px;
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -12px; }
.form_section span.require {
  background: #cb1c1c; }
.form_section span.option {
  background: #1c77cb; }
.form_section [type=check],
.form_section [type=radio],
.form_section [type=submit] {
  cursor: pointer; }
.form_section [type=check] + label,
.form_section [type=radio] + label {
  display: inline-block;
  cursor: pointer; }
.form_section [type=tel],
.form_section [type=email],
.form_section [type=text],
.form_section [type=password],
.form_section textarea,
.form_section select {
  padding: 1em;
  border: 1px solid #ddd;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  width: 100%;
  background-color:#fff;
  box-sizing: border-box;
}
 .form_section textarea {
  height: 200px; }
.form_section input#zip1 {
  display: inline-block;
  width: 80px; }
.form_section input#zip2 {
  display: inline-block;
  width: 150px;
  margin-bottom: 7px; }
.form_section [type=submit] {
  display: block;
  border: 1px solid #323d7f;
  background: #323d7f;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
  color: #fff;
  padding: 20px 100px;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  margin: 25px auto;
  -moz-transition: 0.3s;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  -ms-transition: 0.3s;
  transition: 0.3s; }
.form_section .checkbox .parts,
.form_section .radio .parts {
  padding-left: 25px;
  position: relative;
  line-height: 1; }
  .form_section .checkbox .parts::before,
  .form_section .radio .parts::before {
    content: "";
    display: block;
    position: absolute;
    top: 6px;
    left: 0;
    border: 1px solid #ccc; }
.form_section .checkbox .parts::before {
  width: 15px;
  height: 15px;
  border-radius: 4px; }
.form_section .radio .parts::before {
  width: 16px;
  height: 16px;
  border-radius: 50%; }
.form_section .radio input:checked + .parts {
  color: #2ea2f3; }
  .form_section .radio input:checked + .parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 9px;
    left: 3px;
    width: 10px;
    height: 10px;
    background: #2ea2f3;
    border-radius: 50%; }
.form_section .checkbox input:checked + .parts {
  color: #2ea2f3; }
  .form_section .checkbox input:checked + .parts::after {
    content: "";
    display: block;
    position: absolute;
    top: 3px;
    left: 5px;
    width: 7px;
    height: 14px;
    transform: rotate(40deg);
    border-bottom: 3px solid #2ea2f3;
    border-right: 3px solid #2ea2f3; }
.form_section .selector {
  position: relative; }
  .form_section .selector::after {
    content: "";
    font-family: 'FontAwesome';
    content: url(../images/ico_form.jpg);
    position: absolute;
    top: 50%;
	width:15px;
	height:15px;
    right: 20px;
    margin-top: -12px;
    z-index: 10; }
  .form_section .selector select {
    outline: 0;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 100%;

    padding: 1em;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 5px;
    display: block;
    z-index: 1;
    cursor: pointer; }
.form_section ::-webkit-input-placeholder {
  color: #b9b9b9; }
.form_section ::-moz-placeholder {
  color: #b9b9b9; }
.form_section :-moz-placeholder {
  color: #b9b9b9; }
.form_section :-ms-input-placeholder {
  color: #b9b9b9; }
.form_section span.require {
  background: #cb1c1c;
}

<!--返信ページ-->
#kakunin{
    padding:200px 0!important;

}


<!--missionページ-->
.mainphoto_kasou .mainphoto_inner .sec_mission{
	padding:20px 0 0;
}
#mission_area, .mm{
  width: 100%;
  max-width: 1350px;
  margin:auto;
}

#mission_area h3{
	font-weight:900;
	font-size:2.2em;
	margin:0 0 30px;
	color:#00479D;
}

#mission_area_txt01{
	margin:0 0 60px;
	font-weight:400;
}

.com_area{
	max-width:1350px;
margin:80px auto 0;
}
.com_area_inner{
	width: 100%;
  max-width: 1350px;
  margin: 50px auto;
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
justify-content: space-between;
}
.com_area_innerleft{
	width:65%;
}
.com_area_innerleft h6{
	color:#00469D;
	font-size:1.6em;
	margin:0 0 15px;
}
.com_area_innerleft h6 span{
	font-weight:600;
	font-size:1.3em;
}
.com_area_innerleft p{
	font-weight:400;
}
.com_area_innerright{
	width:35%;
}

.com_area table{
	width:100%;
	margin:0 0 80px;
}

.com_area table td{
	border-bottom:1px #CCCCCC solid;
	padding:20px 5px;
}

.tit_com{
width: 100%;
max-width: 1350px;
margin: auto;

}

.tit_com h2{
	font-size:60px;
	font-weight:bold;
	margin:0 0 20px;
	letter-spacing: 0.2em;
	text-align:center;
}
.tit_com h3{
	font-size:18px;
	font-weight:bold;
	margin:0 0 50px;
	text-align:center;
}
.privacy_info{
	max-width:1350px;
	margin:0 auto 100px;
}
.privacy_info dl{
	list-style-type:decimal;
	margin:0;
}
.privacy_info li{
	line-height:3em;
	font-weight:400;
	list-style-type:decimal;
	list-style-position:outside;
	margin:0 0 0 20px;
}

.privacy_info h6{
	margin: 30px 0 30px 0;
  font-size: 2em;
  font-weight: bold;
  border-left: 10px #A6DFF0 solid;
  padding: 0 0 0 20px;
}
.privacy_info p{
	margin:0 0 55px;
}

.privacy_info .section_unit {
  margin: 30px 0;
}
.privacy_info .section_unit h3 {
  border-bottom: 1px dotted #aaa;
  font-size: 20px;
  font-size: 2rem;
  font-weight: normal;
  padding: .5em;
  margin-bottom: 20px;
}
.privacy_info .section_unit ul,.privacy_info .section_unit ol {
  margin: 1em 1.5em;
}

.privacy_info .disc li{
  list-style-type: disc;
  margin-left: 1.5em;
}
.privacy_info_txt01{
	margin:30px 0 0 !important;
}



@media only screen and ( max-width : 1450px ) {
  .option{
	  width:100%;
  }
}

@media only screen and ( max-width : 1350px ) {
body {
background: url(../img/bg_body.jpg) center 50vw no-repeat;
background-size: contain;
}
.main_slidearea {
margin: 0 0 50px;
}
.trouble_top_inner dl{
  padding:15px;
}
/*service*/
.service{
width: 96%;
}


.service01 {
width: 68%;
background: url(../img/img_service02.jpg) right 0 no-repeat;
background-size: 20vw;
margin: 0 0 80px;
}
.service01 h4::after {
  width: 12vw;
  top: -110px;
}
.service02 {
  width: 68%;
  background: url(../img/img_service04.jpg) right 0 no-repeat;
  background-size: 18vw;
  margin: 0 0 80px 32%;
}
.service02 h4::after{
  width: 13vw;
  right: calc((100% - 60vw)/2);
  }
.service03 {
  background: url(../img/img_service05.jpg) right 15vw no-repeat;
  background-size: 18vw;
}
.service_btn {
  width: 100%;
}

.top_contact{
width: 96%;
}
/*point01*/
.point{
width: 96%;
}
.point_inner {
  width: 94%;
}
.point_no::after {
	left:8%;
}

/*option*/
.option{
	display:block;
	width: 96%;
}
.option_left , .option_right{
  width: 100%;
}
/*flow*/
.flow_inner .point_no::after{
	left:18%;
}
/*faq*/
.faq_area{
width: 96%;
}
.faq_txt02 {
  width:94%;
  margin:0 auto 40px;
}
/*hiketsu*/
.hiketsu_area {
  width: 96%;
}
.hiketsu_left {
  width: 73.5%;
  margin: 3vw 0 0;
}
.hiketsu_bg_gray::before {
  display: none;
}
 .hiketsu_bg_gray_inner {
  width:90%;
  margin:0 auto 40px;
}
.hiketsu_seisaku{
	width:80%;
}
/*News*/
.news_area {
  width: 96%;
}
.news_area dl{
  width:94%;
  margin:0 auto 20px;
}
.news_area dd img {
  width: 6.5vw;
}
/*footer*/
.footer_inner{
	width:94%;
	display:block;
}
.footer_inner_left, .footer_inner_right {
  width: 100%;
  margin:0 0 30px;
}
.footer_inner_left h6{
	text-align:center;
}
.footer_inner_left ul{
	max-width: 50%;
  margin: 0 auto 30px;
}
.footer_inner_right ul{
	max-width: 80%;
  margin: 0 auto 30px;
  justify-content: center;
}

.tit_kasou::before{
  left: 5vw;

}
.tit_kasou::after {
  right: 5vw;

}
.form_section {
  width: 96%;
  padding: 0;
  margin: 0 auto 100px;
}

#mission_area, .mm , .com_area_inner , .privacy_info{
  width: 96%;
  margin:auto;
}
.com_area{
	width: 96%;
	margin:0 autu 40px;
}
.com_area_innerright img{
	margin:0;
}
.privacy_info li{
	line-height:1.5em;
	margin:0 0 30px 20px;
}
.contact_tel{
	margin:50px auto 0;
	max-width:75vw;
	width:75vw;
}
.contact_tel_right p img {
  width: 5.5vw;
}
}


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

.h_logo a {
  font-size: 1.2em;
  z-index: 1000;
  position: relative;
}

.mainphoto_txt02 {
  top: -30px;
}
.mainphoto_txt02 img {
  max-width: 100px;
}

.mainphoto{
	width:100%;
}
.main_slidearea{
	width:100%;
}
.mainphoto_txt03{
	font-size: 3vw;
}
.mainphoto_txt04 {
  font-size: 12vw;
}
.nav li:last-of-type a{
	background:none;
}
.mainphoto_txt04::before , .mainphoto_txt04::after {
  width: 8vw;
  height: 8vw;
}
.contact_tel {
    margin: 50px auto 0;
    max-width: 90%;
    width: 90%;
  }

}





.btn_mainphoto a{
	border:3px #FFE600 solid;
	display:block;
	  -moz-border-radius: 3em;
  -webkit-border-radius: 3em;
  -o-border-radius: 3em;
  -ms-border-radius: 3em;
  text-align:center;
  padding:3%;
  color:#fff;
  max-width:402px;
  background:url(../img/ico_btn.png) 94% 50% no-repeat;
  background-color:#FF5C26;
  background-size:12px;
  font-size:1.2em;
  line-height:100%;
}

.btn_mainphoto a:hover{
	opacity:1;
	color:#FF9;
}


@media screen and ( max-width: 768px ) {
     .h_logo img {
  width: 100%;
}
  #main {
    padding-top: 70px;
  }
  .btn {
    width: 60%;
  }
  .pc_only{
	display:none !important;
}
.smp_only{
	display:block;
}
.smp_tel{
	width:80%;
	margin:auto;
}

.slider_left .slick-slider{
  top:-1vw;
  }


#sec02, #sec03, #sec04, #sec05, #sec06, #sec07, #sec08, #sec09 {
    padding: 20px 20px;
  }
#sec02 , #sec05{
	margin:0 auto;
}
#sec02 p {
  margin: 0 0 30px;
}
#sec02 .btn_entry p {
  margin: 0 0 100px;
}
.recruit_area{
	margin: 0 auto 20px;
 }
.voice_area{
	margin: 30px auto 0;
}
section h3 {
margin: 0 0 30px;
}
#sec08 {
  background-size: 20%;
}

.map {
  width: 100%;
}
.mainphoto_inner{

	top: 16vw;
}


.point_area {
	flex-wrap: wrap;
	margin:0 0 20px;
}
.point_area dl {
  width: 48%;
  border: 2px #000 solid;
  margin:0 0 15px;
}

.about_area{
	margin:0 auto 20px;
}
.about_area dl {
  width: 100%;
}
.about_area dt {
  font-size: 5vw;
}
.about_area dd {
  min-height: 80vw;
}
.about_area dd div {
    font-size: 3.5vw;
  }
 .about_area dd div{
	 height:30vw;
 }

 .about_area_txt {
    width: 100%;
    height: 20vw;
	margin: 0 auto 20px !important;
  }
  .about_area_txt p {
  top: 4vw;
  }
.reason_area{
	padding: 20px 20px 50px 20px;
    background-size: 30vw;
}
.reason_area h5 {
  font-size: 6vw;
}
.reason_area ul li {
  width: 30%;
}

.flow_area{
	padding:0;
}
.flow_area ul {
	flex-wrap: wrap;
}
.flow_area ul li{
	width:100%;
}
.flow_txt01 div, .flow_txt02 div, .flow_txt03 div {
    font-size: 3.5vw;
  }
 .flow_txt04 {
  padding: 20px 0;
  text-align: center;

}
 .flow_txt04 img{
  display: block;
  margin: auto;

}
.reward_area {
	flex-wrap: wrap;
}
.reward_area_left, .reward_area_right {
  width: 100%;
  border: 3px #820000 solid;
  padding: 20px;
}
.reward_area_left{
	margin:0 0 20px;
}

.voice_area_left, .voice_area_right {
  width: 100%;
  border: 3px #820000 solid;
  padding: 20px;
  margin: 0 0 20px;
}

.btn_smp_line{
	width:90%;
	margin:auto;
}
.btn_smp_line p{
	margin:0 0 100px;
}
.accordion-area section {
  border: 3px solid #000;
}
.accordion-area .title {
  padding: 3%;
}
.accordion-area .title {
  font-size: 4vw;
}
.ExampleNumber{
	font-size: 8vw !important;
}
	body {
    background: url(../img/bg_body.jpg) center 100vw no-repeat;
    background-size: contain;
  }
	
  #header {
    padding: 10px 0;
    height: 70px;
  }
  .h_logo {
    width: 60%;
    position: absolute;
    top: 18px;
    left: 10px;
    z-index: 100;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }
  .mainphoto_txt02 {
  top: -20px;
  right: 0px;
}
  .mainphoto_txt02 img {
  max-width: 80px;
}
 .mainphoto_txt03 {
    font-size: 3.2vw;
  }
.mainphoto_txt05 {
  font-size: 3.3vw;
}

.slider #slider01 {
width:100%;
margin: 0 auto;
}
.slick-slide img{
	margin:0;
}
.slider .slick-slide {
  max-width: 100px;
}
.slider p {
  margin: 30px 0 0 0px;
}
.btn_mainphoto{
	margin:5px 0 0 !important;
}

.btn_entry {
  background-size: 26vw;
}
.btn_entry p{
	margin:0 0 20px;
}
.btn_entry h4 {
  font-size: 5vw;
  max-width: 90%;
}
.btn_entry p img {
	width:50%;
}
.btn_entry p a {
  font-size: 6vw;
}

.btn_entry p a{
	width:100%;
	max-width: 100% !important;
}
/*困った*/
.trouble_top h2{
font-size:4.5vw;
max-width: 80vw;
}
.trouble_top h2:after{
  right: calc(50% - 5vw);
}

.trouble_top_inner dl{
	width:48%;
	background:#F1F1F1;
	border:3px #003895 solid;
	padding:15px;
	margin:0 0 40px;
}

.trouble_top_inner dl dd img{
	display:block;
	margin:0 auto 20px;
	width:163px;
}
.top_contact {
  background: url(../img/bg_contact.jpg) right 50vw no-repeat;
  background-size:30vw;
}
.top_contact h2 {
  font-size: 13vw;
}
/*service*/
.service01 {
width: 100%;
background: url(../img/img_service02.jpg) 50vw top no-repeat;
background-size: auto;
background-size: 23vw;
margin: 0 0 80px;
}
.service01 h4::after {
  content: '';
  width: 20vw;
  top: -90px;
  right: 0;
  right: calc((100% - 90vw)/2);
  height: 18vw;
  background-repeat: no-repeat;
}
.service01 ul li {
  font-size: 4.5vw;
}
.service_btn div {
  width: 100%;
}
.service_btn{
	display:block;
}

.service02 {
    width: 100%;
    background: url(../img/img_service04.jpg) 50vw top no-repeat;
    background-size: auto;
    background-size: 18vw;
    margin: 0 0 80px 0;
  }
.service02 h4::after {
    content: '';
    display: inline-block;
    width: 65vw;
    background-image: url(../img/img_service03.jpg);
    top: -90px;
    right: calc((100% - 185vw)/2);
    height: 60px;
    background-size: contain;
    background-repeat: no-repeat;
  }
.service03 {
  width: 100%;
  background: url(../img/img_service05.jpg) right 30vw no-repeat;
  background-size: auto;
    background-size: 25vw;
  margin: 0 0 80px;
}
.service04 {
  width: 100%;
  background: url(../img/img_service06.jpg) right top no-repeat;
    background-size: auto;
  background-size: 20vw;
  margin: 0 0 80px 0;
}

.faq_txt02 span {
  padding: 0 0 10px;
  margin: -1% 0 0% -2.0%;
  line-height: 100%;
}
/*point*/
.point h2 {
  font-size: 10vw;
}
 .point_inner {
    width: 100%;
	display:block;
  }
.point_inner_left, .point_inner_right {
  width: 100%;
  margin:0 0 20px;
}
.point_inner_right img{
	margin:auto;
	width:80%;
	display:block;
}

.slick-slide{
	margin: 20px auto !important;
    padding: 0 !important;
}
.case_slider h6 , .case_slider p{
	margin:0;
}
/*creative*/
.creative h5{
	max-width:92%;
	padding: 1.5% 3% 2.5%;
	
}
.creative h5::after{
	right: calc(50% - 5vw);
}
.creative .slick-slide {
    margin: 0px 10px !important;
    padding: 0 !important;
  }
.creative_slider01 .slick-slide img {
  max-height: 50px;
}

.option_right dl {
  width: 45%;
  margin: 0 10% 20px 0;
}
.option_right dl:nth-of-type(5n) {
	margin: 0 10% 20px 0;
}
.option_right dl:nth-of-type(2n) {
  margin: 0 0 20px 0;
}
/*flow*/
.flow_inner {
  display: block;
  gap: 10vw;
  max-width: 1350px;
  padding: 0;
  margin: auto;
}
.js-location-nav{
	display:none;
}

.hiketsu_left h2 {
  font-size: 8vw;
}
.hiketsu_bg_gray_inner {
width: 86%;
display:block;
}
.hiketsu_bg_gray_innerleft , .hiketsu_bg_gray_innerright {
  width: 100%;
}
.hiketsu_seisaku h4::before, .hiketsu_seisaku h4::after {
  width: 20px;
}

 .hiketsu_seisaku {
    width: 90%;
  }
.hiketsu_seisaku p{
	font-size:1em;
}
.hiketsu_bg_gray_innerleft dd, .hiketsu_bg_gray_innerright dd {
  font-size:1em;
}

.btn_news_contact a {
  padding: 5% 3%;
  max-width: 90%;
}


.contact_tel{
	margin:50px auto 0;
	max-width:96%;
	width:96%;
	display: block;
}
.contact_tel_left{
	border-right:none;
	width:100%;
	padding:0;
	margin:0 0 20px;
}
.contact_tel_left h6{
	display:block;
	font-size:1.3em;
	text-align: center;
}
.contact_tel_left p{
	font-weight:400;
	font-size:0.9em;
	text-align: center;
}
.contact_tel_right{
	width:100%;
	
}
.contact_tel_right p{
	font-weight:800;
	color:#598818;
	font-size:2.3em;
	line-height:100%;
	text-align: center;
}
.contact_tel_right p a{
	color:#598818;
	line-height:100%;
}
.contact_tel_right p img{
	width:9.5vw;
}

/*mission*/
.com_area_inner{
	width: 96%;
  max-width: 1350px;
  margin: 50px auto;
  display:block;
}

.com_area_innerleft{
	width:100%;
}

.com_area_innerright{
	width: 80%;
    margin: 30px auto;
}
.row-reverse {
    flex-flow: row-reverse;
}

/*footer*/
.footer_inner {
    padding: 20px 0;
  }
.footer_inner_left ul {
    max-width: 80%;
}
 .footer_inner_right ul {
    max-width: 80%;
    margin: 0 auto 30px;
	display: -webkit-flex;
  display: -moz-flex;
  display: -ms-flex;
  display: -o-flex;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  }
 .footer_inner_right li {
  border-right: none;
  line-height: 100%;
  margin:0 0 5px;
  padding: 0;
  width: 46%;
}
.footer_inner_right li:last-of-type {
  padding: 0;
}
.footer_inner_right {
    margin: 0;
  }

}








.clearfix:after {  
  content: ".";   
  display: block;   
  height: 0;   
  clear: both;   
  visibility: hidden;  
}  
  
.clearfix { display: inline-table; }  
  
/* Hides from IE-mac \*/  
* html .clearfix { height: 1%; }  
.clearfix { display: block; }  
/* End hide from IE-mac */  










.btn_entry p a{
display:block;
	  -moz-border-radius: 3em;
  -webkit-border-radius: 3em;
  -o-border-radius: 3em;
  -ms-border-radius: 3em;
  text-align:center;
  padding:1.5% 3%;
  color:#fff;
  max-width:300px;
  background:url(../img/ico_btn.png) 94% 50% no-repeat;
  background-color:#FF5C26;
  background-size:12px;
  font-size:initial;
  line-height: 180%;
}



.fadein_btot.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  text-align: center;
}
.fadein_btot {
  opacity: 0;
  visibility: hidden;
  transition: 1.6s;
  transform: translateY(50px);
}

/* single marker */
.u-fade-type-marker {
    background: linear-gradient(to right, transparent 50%,  rgba(255, 255, 77, 1) 50%);
    background: linear-gradient(to right, transparent 50%, rgba(255, 255, 77, 1) 50%);
    background-repeat: repeat-x;
    background-size: 200% .4em;
    background-position: 0 .8em;
    padding-bottom: .6em;
}

.u-fade-type-marker.is-active{
    transition: all 1.2s ease;
    background-position: -100% .8em;
}








/*==================================================
アコーディオンのためのcss
===================================*/

/*アコーディオン全体*/
.accordion-area{
    list-style: none;
    width: 1200px;
    max-width: 1200px;
    margin:0 auto;
}

.accordion-area li{
    margin: 10px 0;
}

.accordion-area section {
  border: 5px solid #000;
  background:#fff;
  padding:10px 0 !important;
}

/*アコーディオンタイトル*/
.accordion-area .title {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    font-size:1.3rem;
    font-weight: normal;
    padding: 3% 3% 3% 50px;
    transition: all .5s ease;
	font-weight:bold;
}
.accordion-area .title span{
	color:#B20000;
	padding:0 10px 0 0;
}

/*アイコンの＋と×*/
.accordion-area .title::before,
.accordion-area .title::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #333;
    
}
.accordion-area .title::before{
    top:48%;
    right: 15px;
    transform: rotate(0deg);
    
}
.accordion-area .title::after{    
    top:48%;
    right: 15px;
    transform: rotate(90deg);

}

/*　closeというクラスがついたら形状変化　*/

.accordion-area .title.close::before{
  transform: rotate(45deg);
}

.accordion-area .title.close::after{
  transform: rotate(-45deg);
}

/*アコーディオンで現れるエリア*/
.accordion-area .box {
    display: none;/*はじめは非表示*/
    background: #f3f3f3;
  margin:0 3% 3% 3%;
    padding: 3%;
}



.accor_txt{
	font-size:40px;
	text-align:center;
	margin:0 auto 50px;
	font-weight:bold;
}














.form_area{
	margin:27px auto 0;
	padding:0 0 27px;
	max-width:760px;
}
.form_area table{
	border-collapse:collapse;
	width:100%;
}
.form_area th{
	padding:20px 5px;
	background:#5E91DB;
	color:#fff;
	width:25%;
	border-bottom:1px #CCCCCC dotted;
	font-weight:600;
}
.form_area td{
	padding:20px 5px;
	border-bottom:1px #CCCCCC dotted;
	vertical-align:top;
}
.form_area_txt01{
	text-align:center;
	border:none !important;
}
.form_area_txt01 input{
	cursor:pointer;
	
}
.btn_enter{
	background-color:#5E91DB;
	color:#fff;
	padding: 10px 30px;
}
.btn_back{
	background-color:#FF7373;
	color:#fff;
	padding: 10px 30px;
}
.form_area textarea{
	border:1px #8F8F9D solid;
}
.form_list_r td{
	border:none;
}
.red{
	color:#F00;
}





@media print, screen and ( min-width : 769px ) {
  #main {
    padding-top: 105px;
  }
  .btn {
    width: 300px;
  }
}




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

	 .container {
    max-width: 100%;
  }
	.pc_mainphoto{
		display:none;
	
}
.smp_mainphoto{
		display:block;
	
}
#main {
    padding-top: 90px;
  }

.mainphoto {
  margin: 0 0 40px;
}
.top_about{
	width:100%;
	min-height:28vw;
}
.top_about p{
	color:#fff;
	position:absolute;
	font-size:1.9vw;
	right:30px;
	top:40px;
	width:68%;
}
#header.HeightMin{
	height:inherit;
}
#sec01{
	padding:20px;
}
#sec02 , #sec03 , #sec04 , #sec05 , #sec06 , #sec07 , #sec08 , #sec09{
	padding:100px 20px;
}


section h2 {
  font-size: 5vw;
  line-height: 140%;
}
section h3 {
  font-size: 3.5vw;
  margin: 0 0 40px;
}

.about_area_txt{
	width:100%;
}
.about_area_txt p {
  font-size: 4vw;
}
.entry_flow{
	width:100%;
}
.entry_flow {
  border: 3px #000 solid;
  display:block;
}
.meritTxt, .meritImg {
  width: 100%;
  min-height: 51vw;
}
.entry_flow h6 img{
	width:20%;
}
.meritTxtInner p{
	font-size:3.5vw;
}
.accor_txt {
  font-size: 6vw;
}
.accordion-area{
	width:100%;
}
.recruit_area{
	width:100%;
}
.about_area dd div{
	font-size:1.5vw;
}
.flow_txt01 div, .flow_txt02 div, .flow_txt03 div {
	font-size:1.5vw;
	line-height:130%;
}
.mean-container .mean-nav ul li:nth-last-of-type(-n+2) {
position: relative;
  width: 100%;
  box-sizing: border-box;
  margin: 0 0 0 0px !important;
    padding: 0 0 0 20px !important;
}


}



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

	.btn_kaitori , .head_btnarea p{
		display:none;
	}
	.mean-nav .btn_kaitori{
		display:block;
		width: 80%;
margin: auto;
	}
	.mean-nav .btn_kaitori a{
		color:#FF0 !important;
	}
	.mean-nav .btn_kaitori a:hover{
		
		background: url(../img/ico_header02.png) 94% 50% no-repeat !important;
		background-color:#7EA7E2 !important;
	}
	.pc_tel{
		display:none;
	}
	.h_logo img {
  width: 22vw;
}
#header{
	padding:15px;
}




	
}
@media only screen and ( max-width : 768px ) {
  #header.HeightMin{
	  height:70px;
  }

  .f_logo {
    padding: 0 20px;
    text-align: center;
  }
  .f_logo p {
    text-align: center;
  }
  .f_logo img {
    margin-bottom: 20px;
    width: 150px;
  }
}

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

@media print, screen and ( min-width : 769px ) {
  #footer {
    padding: 30px 0;
  }
  .f_logo {
  }
  .f_logo img {
    margin-bottom: 20px;
    width: 200px;
  }
  .f_logo {
  }
  .copy {
  }
}



@media only screen and ( max-width : 480px ) {
  .btn {
    width: 100%;
  }
}



@media only screen and (max-width: 768px) {
#kasou {
  padding: 20px;
}
.tit_kasou span {
  font-size: 0.6em;
  font-weight: 400;
  display: block;
  text-align: center;
  padding:0;
}
.tit_kasou::before, .tit_kasou::after {
	display:none;
}

.form_section{
	width:96%;
	margin:auto;
}
.form_section table{
	width:100%;
}
.form_section table th, .form_section table td {
        display: block;
        width: 100% !important;
		border-bottom:none;
        }
.form_section [type=submit]:hover {
      filter: alpha(opacity=75);
      -moz-opacity: 0.75;
      opacity: 0.75; }
.form_section [type=submit] {
      background: #323d7f;
      color: #fff;
      width: 100%;
      padding: 20px 10px; }
.form_section .checkbox li,
  .form_section .radio li {
    margin-top: 5px; }
    .form_section .checkbox li:first-child,
    .form_section .radio li:first-child {
      margin-top: 0; }
.form_section .checkbox li,
  .form_section .radio li {
    padding: 10px 0;
    border-bottom: 1px dotted #ddd; }
    .form_section .checkbox li:first-child,
    .form_section .radio li:first-child {
      padding-top: 0; }
    .form_section .checkbox li:last-child,
    .form_section .radio li:last-child {
      border-bottom: none; }
    .form_section .checkbox li label,
    .form_section .radio li label {
      display: block; }
	  

.s-sec01 , .s-sec02 , .s-sec05{
	margin:0 auto;
	width:94%;
	padding: 35px 0;
}
.smp_com h2{
	display: block;
    max-width: 60%;
    margin: auto;
}


.paidy_merit_txt p{
	text-align:left;
	margin:0 0 20px;
}
.mar_smp_tit01{
	margin:40px 0 0;
}
.mar_smp_tit02{
	margin:40px 0 20px;
}
.mean-container .mean-nav ul li a{
	text-transform: inherit !important;
}

.privacy_info ol {
  margin: 0 0 0 30px;
}
}

.mar_b0{
	margin:0;
	}
