

@media print {
	
	
/* 初期設定--------------------------------------------------------------------------------------------------------------------------------------------- */

@font-face {
    font-family: 'noto100';
    src:url("../font/noto_sans/NotoSansJP-Thin.woff") format('woff');
}


@font-face {
    font-family: 'noto300';
    src:url("../font/noto_sans/NotoSansJP-Light.woff") format('woff');
}

@font-face {
    font-family: 'noto400';
    src:url("../font/noto_sans/NotoSansJP-Regular.woff") format('woff');
}

@font-face {
    font-family: 'noto500';
    src:url("../font/noto_sans/NotoSansJP-Medium.woff") format('woff');
}

@font-face {
    font-family: 'noto700';
    src:url("../font/noto_sans/NotoSansJP-Bold.woff") format('woff');
}

@font-face {
    font-family: 'noto900';
    src:url("../font/noto_sans/NotoSansJP-Black.woff") format('woff');
}





html {

    font-family: 'noto400';

}

*:first-child + html body {

    font-family: 'noto400';
}

body{
    font-family: 'noto400';
	
	padding:0;
	margin:0;
	font-size: 1.6rem;

	line-height:140%;
	text-align:left;

}


body a:focus{
	outline:none;
}





/* clear ---------------------------------------------- */


.clearfix:after {
height: 0;
 visibility: hidden;
 content: ".";
 display: block;
 clear: both;
 overflow:hidden;
}
.clearfix {
 display:inline-block;
overflow:hidden;
}

/* exlude MacIE5 \*/
* html .clearfix {
 height:1%;
}
.clearfix {
 display:block;
}

/* PC用のスタイル記述 */
.pc {
	display: block;
}
.phone {
	display: none;
}

.slicknav_menu {
	display:none;
}

img, object, embed {
	max-width: 100%;
	height: auto;
}

img {
	-ms-interpolation-mode: bicubic;
}


/* PCベース設定--------------------------------------------------------------------------------------------------------------------------------------------- */
	

	
body{
	padding:0;
	margin:0;
	font-size: 1.7rem;

	line-height:160%;
	text-align:left;

 
}	 

/* container ---------------------------------------------- */




.container01_bg{
	width:100%;
	height:auto;
	padding:0 50px;
	box-sizing:border-box;
}



.container02_bg{
	width:100%;
	height:auto;
	padding:0 0px;
	box-sizing:border-box;
}


.container00{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:100px 0;

}

.container00_01{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:100px 0 80px 0;

}

.container01{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container02{
	max-width:1300px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0 0;

}

.container03{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}


.container03_00{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;

}


.container03_01{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0px 0 60px 0;

}



.container04{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:80px 0;
}

.container04_00{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0 ;
}



.container04_01{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0px 0;
}


.container04_02{
	max-width:1000px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:70px 0 70px 0;

}





.container05{

	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;
}


.container05_01{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0 ;
}




.container06{
	max-width:1600px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container06_01{
	max-width:1600px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0 0 0;

}


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

.contents{
	max-width:90%;
	height:auto;
	padding:0 5%;
}

/* header ---------------------------------------------- */

	
body{
	padding:0;
	margin:0;
	font-size: 1.7rem;

	line-height:160%;
	text-align:left;

 
}	 

/* container ---------------------------------------------- */






.tp_msg_bg{
	width: 100%;
	background:url("../img/top/top_msg_bg.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}


.tp_src_bg{
	width: 100%;
	background-color: #fcf2f3;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}


.tp_event_bg{
	background-color: #f9f6ec;
	 margin:0px auto 0px auto;

     padding:0 40px;
     box-sizing:border-box;
}





.container01_bg{
	width:100%;
	height:auto;
	padding:0 30px;
	box-sizing:border-box;
}

.container02_bg{
	width:100%;
	height:auto;
	padding:0 0px;
	box-sizing:border-box;
}

.container01{
	max-width:1200px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}


.container02{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}

.container03{
	max-width:1800px;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:60px 0;

}







/* header ---------------------------------------------- */






#header {

  position: fixed;
  top: 0;
  transition: .3s cubic-bezier(.4, 0, .2, 1);
  width: 100%;
  z-index: 199999;

 box-sizing: border-box;

    

}

.head-animation {
  transform: translateY(-100%);
}


.header_bg{
	width:100%;
	height:80px;
	margin:0 auto;
    box-sizing: border-box;
	position:relative;
    background: #FFFFFF;
    border-bottom: 1px solid #f3f2e9;

}

header{
	width:100%;
	height:80px;
	margin:0 auto;

	box-sizing:border-box;
}




.header_contact{
    position: absolute;
    top: 15px;
    right: 30px;
    max-width: 185px;
    width: 100%;
    height: auto;
    text-align: center;
    text-decoration: none;


    box-sizing: border-box;



    font-family: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    font-style: normal;
}

.header_contact a {
    position: relative;
    height: 50px;
    font-size: 18px;
    line-height: 100%;
    color: #FFFFFF;
    padding: 0px 10px 2px;
    background-color: #b43f1b;
    border: 2px solid #b43f1b;
    box-sizing: border-box;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    border-radius: 25px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
}

.header_contact a span{
    padding-left: 30px;
}

.header_contact a::before{
    position: absolute;

    top: 50%;
    left: 20px;

    content: '';

    width: 28px;
    height: 18px;
    background-image: url(../img/common/mail_icon.png);
    background-repeat: no-repeat;
    background-size: contain;
    transform: translateY(-50%);
    transition: 0.3s;

}

.header_contact a:hover{
    background-color: #e8870a;
    border: 2px solid #e8870a;
}




.header_tel{
    position: absolute;
    top: 15px;
    right: 240px;

    color: #e8870a;
    font-size: 26px;
    font-weight: 700;
    line-height: 110%;
}



/* 選択したボタンのスタイル */
.bl_sizeBtn.is_active {
    border: 1px solid  #3E3E3E;
    background:#FFFFFF;
    color:#3E3E3E;   
}

.h_txt{
    
    font-size:15px;
    line-height: 100%;

    position: absolute;
    top: 13px;
    right: 550px;
}





button,
input {
  -webkit-appearance: none;
  appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  border: 0;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}



.searchForm_bg{
  position: absolute;
  top: 15px;
  right: 50px;
}

.searchForm_bg01{
display: none;
}

.searchForm {
  width: 210px;
  height: 30px;  

  position: relative;
  display: flex;
  justify-content: center;
}

  .searchForm {
    height: 30px;
  }

.searchForm input[type=search] {
  height: 30px;  
  width: 95%;
  padding: 0 10px;
  border: 1px solid #666666;  
  box-sizing: border-box;
  border-right: none;


  font-size: 1.6rem;
  line-height: 100%;

  color:#5C5C5C; /* セレクトボックスの文字色 */



}



.searchForm button[type=submit] {

  border-left: none;
  padding: 0;
  width: 45px;
  height: 30px;
  text-align: center;
  
  background: #666666;
  
 
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center; 
   align-items: center; 
   -webkit-justify-content: center; 
   justify-content: center;   
}




  .searchForm button[type=submit] img {
    width: 20px;
  }

  .searchForm input::-webkit-input-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */

}
  .searchForm input:-moz-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */
}
  .searchForm input::-moz-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */
}
  .searchForm input:-ms-input-placeholder {
  font-size: 1.4rem;
  line-height: 100%;

  color: #666666;  /* セレクトボックスの文字色 */

}







.header-serch {
  color: #fff;
  opacity: 0.9;
  background-color: #FE7F2D;
  width: 55px;
  height: 60px;
  font-size: 1.2rem;
  font-family: 'Lobster', sans-serif;
  text-align: center;
}
.header-serch i {
  display: block;
  font-size: 2.4rem;
}
.serch-wrapper {
  display: none;
  position: relative;
  z-index: 2;
}
.serch-bg {
  background-color: rgba(43, 46, 56, 0.9);
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 2;
}
.header-serch-content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 700px;
  width: calc(650 / 768 * 100%);
  height: 200px;
  z-index: 3;
  color: #fff;
  font-size: 1.7rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.header-serch-content form {
  width: 100%;
}
.header-serch-input {
  background-color: #fff;
  width: 100%;
  height: 65px;
  margin: 0 auto;
  border: 3px solid #cacaca;
  padding: 10px;
  font-size: 1.8rem;
  color: #333;
}
.header-serch-btn {
  position: absolute;
  top: 63px;
  right: 15px;
  color: #333;
  font-size: 2.2rem;
}
.close-btn {
  font-size: 2.2rem;
  font-family: 'Lobster', sans-serif;
  text-transform: uppercase;
  display: block;
  width: fit-content;
  margin: 35px auto 0;
  cursor: pointer;
}
.close-btn i {
  font-size: 3rem;
  margin-right: 10px;
  vertical-align: bottom;
}


/*nav{
	width:510px;
	position:absolute;
	top:55px;
	right:0;
}

nav ul{
	margin:0;
	padding:0;

}

nav ul li{
	float:left;
	color:#000;
	font-size: 1.6rem;

	font-weight:bold;
	margin-right:20px;
	line-height:120%;
}

nav ul li:last-child{
	margin-right:0;
}

nav ul li a{
	color:#FFF !important;
	text-decoration:none;

}

nav ul li a:hover{
	color:#FFF !important;
	text-decoration:underline;
}

.nav_h{
	color:#FFF !important;
	text-decoration:underline !important;
}*/


#section1,
#section2,
#section3,
#section4,
#section5,
#section6,
#section7,
#section8,
#section9,
#section10,
#section11,
#section12,
#section13,
#section14
{
    margin-top:-160px;
    padding-top:160px;
}


#kyoten{
    margin-top:-40px;
    padding-top:40px;
}


/* footer ---------------------------------------------- */


footer{

	padding:27px 30px;
	box-sizing:border-box;

}

.footer_in{

	width:100%;
	height:auto;
	margin:0 auto;
	
	padding:0px 0 0px 0;
	box-sizing:border-box;
}


address{
	font-size: 1.8rem;
	line-height:160%;
	color:#000;
    text-align: center;



    margin-bottom: 7px;


}

.ad_ttl{
	font-size: 2.0rem;
	line-height:120%;
	margin-bottom:12px;	
    text-align: center;

}

footer a{
	color:#000000;
	text-decoration:none;
}

footer a:hover{
	color:#000000;
	text-decoration:none;
}


.f_cpy{
	font-size: 1.3rem;
	box-sizing:border-box;
	line-height:120%;
    text-align: center;
    color: #999999;

    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.link_a{
    padding-top: 130px;
    margin-top:-130px;
}





/*gnav*/



/*gnav*/




.nav_logo{
	margin-bottom:50px;
	display:none !important;
}

.nav_tel{
	display:none !important;
}



#g-nav-list{
    position: absolute;
    top: 50px;
    right: 240px;
   

}


#g-nav-list ul li{
    display: inline-block;

	font-size: 1.8rem;
    font-weight: 600;
	line-height:110%;
    text-align: center;

    box-sizing: border-box;
    margin-right: 20px;
}
	
    
#g-nav-list ul li:nth-child(5){
	margin-right:0px;
}

#g-nav-list ul li.contact{
	display: none;
}

#g-nav-list ul li a{
    color:#0e0e0e;
    text-decoration: none;
    position: relative;

    display: inline-block;
    transition: .3s;
}

#g-nav-list ul li a:hover{
    color: #b43f1b;

}


.gnav_on{
    color:#b43f1b !important;
}


  



/*========= ページトップのためのCSS ===============*/

/*リンクを右下に固定*/
#page-top {
    width: 50px;
    height: 34px;
	position: fixed;
	right: 10px;
	z-index: 8000;
    /*はじめは非表示*/
	opacity: 0;
	transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
	animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
	transform: translateY(100px);
  }
  to {
    opacity: 1;
	transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
	animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
  	opacity: 1;
	transform: translateY(0);
  }
  to {
  	opacity: 1;
	transform: translateY(100px);
  }
}







h1.h1_01{
    width: 280px;
    position: absolute;
    top: 20px;
    left:30px;

    transition: 0.3s;
}

.head-scroll h1.h1_01{
    opacity: 0;
    visibility: hidden;
}






h2.h2_01{
    position: relative;
    margin-bottom: 60px;

    font-size: 90px;
    line-height: 100%;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

}


h2.h2_02{
    position: relative;
    margin-bottom: 20px;

    font-size: 90px;
    line-height: 100%;
    
    color: #fff;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

}




h3.h3_01{
    color: #ff3300;
    font-size: 24px;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

    margin-bottom: 40px;
}

h3.h3_01 p{
    padding-top: 10px;
    font-size: 30px;
    color: #000;

    font-family: "ryo-gothic-plusn", sans-serif;
    font-weight: 700;
    font-style: normal;
}


h3.h3_02{

    text-align: center;

    color: #ff3300;
    font-size: 20px;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

    margin-bottom: 40px;
}

h3.h3_02 p{
    padding-bottom: 10px;
    font-size: 36px;
    color: #000;

    font-weight: 700;
    font-style: normal;
}



h4.h4_01{
    font-size: 22px;
    line-height: 160%;
    font-weight: 700;

    padding-bottom: 5px;

    border-bottom: 5px solid #ff3300;

    margin-bottom: 30px;
}


h5.h5_01{
    position: relative;
    font-size: 18px;
    line-height: 160%;
    font-weight: 700;


    padding-left: 20px;
    padding-bottom: 10px;

    border-bottom: 1px dotted #ccc;

    margin-bottom: 30px;
}

h5.h5_01::before{
    position: absolute;
    content: '';

    top: 38%;
    left: 1px;

    width: 16px;
    height: 16px;

    translate: 0 -50%;

    background-color: #0099cc;

}



/* スライド ---------------------------------------------- */







/*=============
slick
=============*/

.full{

	width:100%;
	height: calc(100dvh - 120px);
    


    

}

     
.full .slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;

  height: calc(100dvh - 120px);
  margin: 0;
  text-decoration: none;
}


.full .slick-dots {
	bottom: 4%;
	z-index: +1;
}




.top_slide{
    position: relative;
    width:100%;
    height: 100dvh;

    /* background:url("../img/top/main.jpg") top center  no-repeat ;  */
    background-position: top center ;
    background-repeat: no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.top_slide_logo{
    margin:0px auto 40px;

    max-width: 420px;
}


.slide_txt01{
    width: 540px;
    text-align: center;

    position: absolute;
    left: clamp(50px, 15% - 100px, 150px);
    bottom: 46%;

    font-size: 54px;
    line-height: 100%;
    color: #01245e;


    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 700;
    font-style: normal;

    text-shadow: 1px 1px 4px rgba(255,255,255,0.5),-1px 1px 4px rgba(255,255,255,0.5),1px -1px 4px rgba(255,255,255,0.5),-1px -1px 4px rgba(255,255,255,0.5);


}

.slide_txt01 p{
    color: #ff3300;
}


.slide_txt02{
    width: 540px;
    text-align: center;

    position: absolute;
    left: 200px;
    left: clamp(50px, 15% - 100px, 150px);
    top: 58%;

    font-size: 32px;
    line-height: 120%;
    color: #01245e;

    font-weight: 700;
    font-style: normal;
    text-shadow: 1px 1px 4px rgba(255,255,255,0.5),-1px 1px 4px rgba(255,255,255,0.5),1px -1px 4px rgba(255,255,255,0.5),-1px -1px 4px rgba(255,255,255,0.5);
}




.sub_slide{
    position: relative;
    width:100%;
    height: 550px;

    background:url("../img/common/sub_main.png") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    display: none;
    height: 0;
}


.slide_txt_sub{
    position: absolute;
    left: clamp(100px, 30% - 100px, 40%);
    top: 33%;

    font-size: 70px;
    line-height: 90%;
    color: #000;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 700;
    font-style: normal;

        text-shadow: 1px 1px 4px rgba(255,255,255,0.5),-1px 1px 4px rgba(255,255,255,0.5),1px -1px 4px rgba(255,255,255,0.5),-1px -1px 4px rgba(255,255,255,0.5);

}

.slide_txt_sub p{
    font-size: 100px;
    line-height: 90%;
    color: #ff3300;
}


.sub_slide.contact_slide{
    background:url("../img/contact/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.maintenance_slide{
    background:url("../img/maintenance/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.solution_slide{
    background:url("../img/solution/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.solution_slide01{
    background:url("../img/solution/01/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.solution_slide02{
    background:url("../img/solution/02/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.solution_slide03{
    background:url("../img/solution/03/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.solution_slide04{
    background:url("../img/solution/04/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.company_slide{
    background:url("../img/company/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.mission_slide{
    background:url("../img/mission/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sub_slide.recruit_slide{
    background:url("../img/recruit/main.jpg") top center  no-repeat ; 
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}








/*スクロールダウン全体の場所*/
.scrolldown2{
    /*描画位置※位置は適宜調整してください*/
	position:absolute;
	bottom:0px;
	left:50%;
}

/*Scrollテキストの描写*/
.scrolldown2 span{
    /*描画位置*/
	position: absolute;
	left:0px;
	bottom:50px;
    /*テキストの形状*/
	color: #eee;
	font-size: 18px;
	letter-spacing: 0.08em;

    transform: translateX(-50%);

}

/* 丸の描写 */
.scrolldown2:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-4px;
    /*丸の形状*/
	width:10px;
	height:10px;
	border-radius: 50%;
	background:#eee;
    /*丸の動き1.6秒かけて透過し、永遠にループ*/
	animation:
		circlemove 1.6s ease-in-out infinite,
		cirlemovehide 1.6s ease-out infinite;
}

/*下からの距離が変化して丸の全体が上から下に動く*/
@keyframes circlemove{
      0%{bottom:45px;}
     100%{bottom:-5px;}
 }

/*上から下にかけて丸が透過→不透明→透過する*/
@keyframes cirlemovehide{
      0%{opacity:0}
     50%{opacity:1;}
    80%{opacity:0.9;}
	100%{opacity:0;}
 }

/* 線の描写 */
.scrolldown2:after{
	content:"";
    /*描画位置*/
	position: absolute;
	bottom:5px;
	left:0;
    /*線の形状*/
	width:2px;
	height: 45px;
	background:#eee;
}




/* 各ページイメージ ---------------------------------------------- */


.mi_bg01{
    margin-top: 120px;
    background: #197abc;
    padding-top: 40px;

}

.mi_bg01_in{
    max-width: 1000px;
    width: 100%;
    height: auto;
    margin: 0 auto 30px auto;

}

.mi_bg01_in dl dt{
    font-size: 54px;
    line-height: 140%;
    text-align: center;
    margin-bottom: 25px;
    color: #FFFFFF;
    


font-family: mochiy-pop-p, sans-serif;
font-weight: 400;
font-style: normal;
        
}

.mi_bg01_in dl dd{
    font-size: 20px;
    line-height: 200%;
    text-align: center;
    
    color: #FFFFFF;
    
}


.mi_bg01_in dl dd span::before {
	content: "\A" ;
	white-space: pre ;
}


.top_main_img{
    max-width: 1000px;
    width: 100%;
    height: auto;
    margin: 0 auto;
    text-align: center;
}

.top_main_img img{
    margin: 0 auto;
    text-align: center;

}




.facility_information_img{
	width: 100%;
	height:280px !important;
	background:url("../img/facility_information/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.circle_group_img{
	width: 100%;
	height:280px !important;
	background:url("../img/circle_group/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.citizen_lecture_img{
	width: 100%;
	height:280px !important;
	background:url("../img/citizen_lecture/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.home_delivery_course_img{
	width: 100%;
	height:280px !important;
	background:url("../img/home_delivery_course/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.about_img{
	width: 100%;
	height:280px !important;
	background:url("../img/about/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.citizen_teacher_img{
	width: 100%;
	height:280px !important;
	background:url("../img/citizen_teacher/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.local_school_collaboration_activities_img{
	width: 100%;
	height:280px !important;
	background:url("../img/local_school_collaboration_activities/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}


.activity_report_img{
	width: 100%;
	height:280px !important;
	background:url("../img/activity_report/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}

.news_img{
	width: 100%;
	height:280px !important;
	background:url("../img/news/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}



.contact_img{
	width: 100%;
	height:280px !important;
	background:url("../img/contact/main.jpg") center  no-repeat ; 
	 -moz-background-size: cover;
	-o-background-size: cover;
	 background-size: cover;
	 margin:80px auto 0px auto;
}












/* ページ共通背景 ---------------------------------------------- */




.button01{
	width:300px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin-left: auto;
    background: #ff3300;

    border-radius: 5px;

}


.button01.center{
    margin-left: auto;
    margin-right: auto;
}


.button01 a{
    display: block;
    width:300px;
    height: 60px;
    font-size: 15px;
    line-height: 100%;
    color:#FFFFFF;

    font-family: futura-pt, sans-serif;
    font-weight: 700;
    font-style: normal;


    border: 2px solid #ff3300;


    box-sizing: border-box;

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;

    border-radius: 5px;

}


.button01 a:hover {
    background-color: #fff;

	border: 2px solid #ff3300;
    color:#ff3300;
}

.button01.c2{
    background: #00053a;
}


.button01.c2 a{
    border: 2px solid #00053a;
}


.button01.c2 a:hover {
	border: 2px solid #00053a;
    color:#00053a;
}


.button02{
	width:450px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin: 60px auto 0 auto;

}

.button02 a{
   display: block;

    max-width: 450px;
    width: 100%;
    height: 45px;
    font-size: 17px;
    line-height: 100%;
    color: #FFFFFF;
    background: #468526;
    padding-bottom: 2px;

    border-radius: 20px;


    margin: 0 auto;
    text-align: center;


	border: 2px solid #468526;   
    
    
     box-sizing: border-box;

   -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
    
   display: -webkit-flex;
   display: flex;
   -webkit-align-items: center; 
   align-items: center; 
   -webkit-justify-content: center; 
   justify-content: center;      
}


.button02 a:hover {
  background-color:#FFFFFF;
  color: #468526;
}




/* 共通お問い合わせ---------------------------------------------- */

.cmm_ctt_bg {
    width: 100%;
    /* height: 400px !important;
    background: url("../img/common/contact_bg.jpg") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    margin: 0px auto 0px auto;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center; */

    padding: 0px 50px;
    box-sizing: border-box;
}

.cmm_ctt_bg h2.h2_01{
    margin-bottom: 20px;
}

.cmm_ctt{
    font-size: 20px;
    font-weight: 700;
    line-height: 140%;

    margin: 0px auto 20px;
}

.cmm_ctt p{
    margin-top: 30px;
    margin-bottom: 50px;

    font-size: 36px;
    font-weight: 400;
    color: #000;
    line-height: 120%;

    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;
}


.cmm_ctt_btn{
	width:300px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin-right: auto;
    background: #ff3300;

    border-radius: 5px;

}

.cmm_ctt_btn a{
    display: block;
    width:300px;
    height: 60px;
    font-size: 15px;
    line-height: 100%;
    color:#FFFFFF;

    font-family: futura-pt, sans-serif;
    font-weight: 700;
    font-style: normal;


    border: 2px solid #ff3300;


    box-sizing: border-box;

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;

    border-radius: 5px;
}

.cmm_ctt_btn a:hover{
    background-color: #fff;

	border: 2px solid #ff3300;
    color:#ff3300;
}





/* TOPページ---------------------------------------------- */

#top_cont01{
    display: flex;
}

.tp_comp{
    width: 49%;
    margin-right: 2%;

    padding: 50px 40px 40px 50px;
    box-sizing: border-box;

    background: url("../img/top/comp_bg.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    border-radius: 10px;

    flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;
}

.tp_comp .tp_comp_txt{
    max-width: 430px;
    width: 100%;

    flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;

    color: #fff;
    font-size: 20px;

    margin-bottom: 90px;
}


.tp_rrt{
    width: 49%;

    padding: 50px 40px 40px 50px;
    box-sizing: border-box;

    background: url("../img/top/rec_bg.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;

    border-radius: 10px;

    flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;

}

.tp_rrt .tp_rrt_txt{
    flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;

    color: #fff;
    font-size: 20px;

    margin-bottom: 90px;
}


/* ソリューション---------------------------------------------- */

#top_solution{
    margin-bottom: 90px;
}


.tp_sol{

}


.tp_sol > ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.tp_sol > ul > li{
    display: flex;
    flex-direction: column;

    width: 32.4%;


    margin-right: 1.4%;
    margin-bottom: 20px;

    border-radius: 10px;

    padding: 50px 20px;
    box-sizing: border-box;

    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;

}

.tp_sol > ul > li:nth-child(1){
    background: url("../img/top/sol_bg_01.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.tp_sol > ul > li:nth-child(2){
    background: url("../img/top/sol_bg_02.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.tp_sol > ul > li:nth-child(3){
    background: url("../img/top/sol_bg_03.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


.tp_sol > ul > li dl{
    
    padding: 20px 10px;
    background: rgba(0, 0, 0, 0.5);

    border-radius: 10px;

    text-align: center;

    width: 100%;
    max-width: 400px;
    margin: 0px auto;
    box-sizing: border-box;

     flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;
}

.tp_sol > ul > li dl dt{
    position: relative;
    color: #fff;
    font-size: 24px;
    line-height: 120%;

    padding-bottom: 30px; 
    margin-bottom: 10px;
}

.tp_sol > ul > li dl dt p{
    color: #fff;
    font-size: 20px;
    
    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;
}

.tp_sol > ul > li dl dt::after{
    position: absolute;

    bottom: 0;
    left: 50%;

    width: 20px;
    height: 18px;

    translate: -50% 0;

    content: '';

    clip-path: polygon(0 0, 100% 0, 50% 100%); 

    background-color: #ff3300;
}


.tp_sol > ul > li dl dd{
	text-align: center;
}

.tp_sol > ul > li dl dd ul{
	display: inline-block;
}

.tp_sol > ul > li dl dd li{
	text-align: left;
}



.tp_sol > ul > li dl dd.list02 ul{
    display: flex;
    flex-wrap: wrap;
    /* 必要に応じて幅や高さを指定 */
    width: 180px;
    margin: 0px auto;
    padding-left: 10px;
    box-sizing: border-box;
}

.tp_sol > ul > li dl dd.list02 li{
    width: 85px;
}


.tp_sol > ul > li dl dd li a{
	position: relative;

    font-size: 15px;
    color: #fff;
    line-height: 140%;

    padding-left: 12px;

    transition: 0.3s;

}

.tp_sol > ul > li dl dd li a:hover{
    color: #ff3300;
}


.tp_sol > ul > li dl dd li a::before{
    position: absolute;

    top: 8px;
    left: 0;

    width: 6px;
    height: 9px;

 
    content: '';

    background: url("../img/common/list_icon.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}



.tp_sol > ul > li:nth-child(3n){
    margin-right: 0%;
}


/* 新着情報---------------------------------------------- */


#top_news{
    margin-bottom: 90px;
}

.tp_news{
    max-width: 1200px;
    width: 100%;
    margin: 0px auto 70px;
}


.tp_news dl dt{
    width: 180px;
    padding-top: 30px;
    font-size: 18px;
    line-height: 160%;

    color: #a9bec7;

    float: left;
    clear: both;

    text-align: center;

    font-family: futura-pt, sans-serif;
    font-weight: 700;
    font-style: normal;

    letter-spacing: 0.03em;

    box-sizing: border-box;

}


.tp_news dl dd{
font-size: 18px;
line-height: 160%;
margin: 0 0 10px 0;
padding-left: 190px;
padding-right: 30px;
padding-bottom: 30px;
padding-top: 30px;

background-color: #fff;
border: 1px solid #dbe0e2;

border-radius: 8px;
box-sizing: border-box;

font-family: "ryo-gothic-plusn", sans-serif;
font-weight: 400;
font-style: normal;

}


.tp_news dl dd a{
    color: #000000;
    text-decoration: none;
}


.tp_news dl dd a:hover{
    color: #000000;
    text-decoration:underline;
}


.news_ttl{
font-size: 2rem;
line-height: 140%;
border-bottom: 2px solid #333333;
padding-bottom: 7px;
margin-bottom: 15px;
}

.news_day{
font-size: 1.4rem;
line-height: 120%;
margin-bottom: 15px;
text-align: right;

}


.news_post{
font-size: 1.7rem;
line-height: 160%;
margin-bottom: 70px;

}

.news_post h1{
    line-height: 200%;
}

.news_post h2{
    line-height: 190%;
}

.news_post h3{
    line-height: 180%;
}

.news_post h4{
    line-height: 170%;
}


.news_post_in{
}


.news_post_in_l{
    width: 76%;
    height: auto;
    float: left;

}


.news_post_in_l a{
    color: #004486;
    text-decoration: underline;
}


.news_post_in_l a:hover{
    color: #004486;
    text-decoration:none;
}

.news_post_in_l p::after{
    content: "";
    clear: both;
    display: block;
}



.news_post_in_l ul li{
	list-style-type: disc;
	margin-left: 20px;
	text-align: left;
}

.news_post_in_l ol li{
	margin-left: 20px;
	text-align: left;
}




.news_post_in_r{
    width: 20%;
    height: auto;
    float: right;
    

}


.news_post_in_r dl dt{
    background: #DA8E99;
    padding: 10px 15px;
    color: #FFFFFF;
    font-size: 1.6rem;
    line-height: 120%;
    margin-bottom: 15px;
}


.news_post_in_r dl dd{
    margin-bottom: 35px;
}


.news_post_in_r dl dd:last-child{
    margin-bottom: 0px;
}



.news_post_in_r dl dd ul li{
    background:url("../img/common/list001.png") left 9px no-repeat;
    font-size: 1.6rem;
    line-height: 120%;
    margin-bottom: 14px;
    padding-left: 8px;
}


.news_post_in_r dl dd ul li a{
    color: #000000;
    text-decoration: none;
}

.news_post_in_r dl dd ul li a:hover{
    color: #000000;
    text-decoration:underline;
}

.news_post_in_r dl dd ul li:last-child{
    margin-bottom: 0px;
}












/* 会社案内---------------------------------------------- */


.cp_cont01{
    font-size: 16px;
    line-height: 160%;

    margin-bottom: 60px;
}


.cp_cont01 p{
    margin-top: 30px;
    text-align: right;
}



.cp_cont02{
    margin-bottom: 90px;
}

.cp_cont02 dl{
    margin-bottom: 30px;
}

.cp_cont02 dl dt{
font-size: 16px;
line-height: 160%;

float: left;
clear: both;


letter-spacing: 0.03em;

}

.cp_cont02 dl dd{
font-size: 16px;
line-height: 160%;
margin: 0 0 15px 0;
padding-left: 180px;
padding-bottom: 15px;


border-bottom: 1px dotted #999999;


}


.cp_cont02 dl dd a{
    color: #0099cc;
    text-decoration: none;
}

.cp_cont02 dl dd a:hover{
    color: #0099cc;
    text-decoration:underline;
}

.cp_cont02 dl dd ul {
    overflow: auto;
}

.cp_cont02 dl dd li{
    display: inline-block;
    margin-right: 20px;
    margin-left: 0px;
}


.cp_cont02 dl dd li:before{
    content: '●';
    font-size: 8px;
    vertical-align: top;

    margin-right: 5px;
}



.cp_cont02 dl dd li:last-child{
    margin-right: 0px;
}



.cp_map{
    width: 100%;
    margin-bottom: 90px;
}


.cp_map iframe{
    width: 100%;
}




/* ミッション ---------------------------------------------- */

.mission_cont01{
    width: 100%;
    margin-bottom: 60px;
}

.mission_cont01 ul{
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.mission_cont01 ul li{
    width: 49%;

    margin-bottom: 30px;
}

.mission_cont01 ul li:nth-child(1){
    margin-right: 2%;
}

.mission_cont01 ul li:nth-child(3){
    width: 100%;
}


.mission_cont01 ul li dt{
    font-size: 20px;
    color: #fff;
    text-align: center;

    border-radius: 10px;
    padding: 10px;
    box-sizing: border-box;

    margin-bottom: 15px;

}

.mission_cont01 ul li dt p{
    font-size: 48px;
    line-height: 100%;
    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;
}


.mission_cont01 ul li:nth-child(1) dt{
    background-color: #616d82;
}


.mission_cont01 ul li:nth-child(2) dt{
    background-color: #1cadba;
}


.mission_cont01 ul li:nth-child(3) dt{
    background-color: #ae9671;   
}


.mission_cont01 ul li dd{
    background:url("../img/mission/mission_cont_bg.png") repeat;

    padding: 40px 30px;
    box-sizing: border-box;

    border-radius: 10px;
}

.mission_cont01 ul li dd p{
    font-size: 22px;
    line-height: 100%;
    font-weight: 600;
    color: #ae9671;
    margin-bottom: 10px;

    text-align: center;
}



.mission_cont01 ul li:nth-child(3) dl{
    display: flex;
    flex-direction: row;

        flex-wrap: wrap;
}

.mission_cont01 ul li:nth-child(3) dl dt{
    display: block;
    width: 100%;
}

.mission_cont01 ul li:nth-child(3) dl dd{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 32%;
    margin-right: 2%;

    font-size: 18px;

    border-radius: 10px;

}

.mission_cont01 ul li:nth-child(3) dd:last-child{
    margin-right: 0px;
}



/* ソリューション ---------------------------------------------- */






.sol_cont01{
    font-size: 17px;
    line-height: 160%;

    margin-bottom: 40px;
}

.sol_cont01 p{
    font-size: 24px;
    line-height: 160%;
    font-weight: 700;

    margin-bottom: 10px;
}

.sol_cont02{
    font-size: 18px;
    line-height: 160%;

    margin-bottom: 30px;
}

.sol_cont03{
    width: 100%;
    margin-bottom: 40px;
}

.sol_cont03 li{
    position: relative;
    font-size: 16px;
    line-height: 160%;

    margin-bottom: 20px;

    padding-left: 18px;
    box-sizing: border-box;
    
}

.sol_cont03 li::before{
    position: absolute;

    left: 0;
    top: 5px;

    content: '';

    width: 16px;
    height: 16px;

    border-radius: 50%;
    
    background-color: #cccccc;
}



.sol_cont03 li:last-child{
    margin-bottom: 0px;
}


.sol_cont04{
    width: 100%;
    margin-bottom: 60px;
}


.sol_cont04 dt{
    width: 100%;
    position: relative;
    font-size: 16px;
    line-height: 160%;
    font-weight: 700;

    padding-left: 20px;

    margin-bottom: 5px;
}

.sol_cont04 dt::before{
    position: absolute;
    content: '';

    top: 50%;
    left: 1px;

    width: 15px;
    height: 15px;

    translate: 0 -50%;

    border-radius: 50%;

    background-color: #0099cc;
}


.sol_cont04 dt a{
    width: 100%;

    color: #0099cc;
}

.sol_cont04 dt a::after{
    display: inline-block;
    content: '';

    margin-left: 5px;

    width: 12px;
    height: 12px;

    background: url("../img/common/link_icon.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}


.sol_cont04 dd{
    width: 100%;

    margin-bottom: 30px;

    display: flex;
    justify-content: space-between;
}


.sol_cont04 dd .txt{
    /*width:calc(100% - 330px);*/
    width:  stretch;
    width: -moz-available; /* Firefox */
    width: -webkit-fill-available; /* Safari */
}


.sol_cont04 dd .txt li{
    width: 100%;
    position: relative;
    font-size: 16px;
    line-height: 160%;

    padding-left: 1em;

    margin-bottom: 5px;
}


.sol_cont04 dd .txt li::before{
    position: absolute;
    content: '';

    top: 12px;
    left: 5px;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background-color: #000;
}




.sol_cont04 dd .img{
    width: 330px;
    text-align: center;
    margin-left: 20px;
}

.sol_cont04 dd:last-child{
    margin-bottom: 0px;
}


.sol_cont05{
    position: relative;
    background-color: #edeaea;

    margin-bottom: 70px;

    border-radius: 10px;

    font-size: 20px;
    line-height: 160%;
    font-weight: 700;

    padding: 40px;
    box-sizing: border-box;
    overflow: hidden;
}

.sol_cont05::before{
    position: absolute;
    top: 0;
    left: 0;

    width: 30px;
    height: 30px;

    content: '';

    background:  linear-gradient(to right bottom,
    #ff3300 0% 50%,
    rgba(0,0,0,0) 50% 100%
  );


}

.sol_cont05::after{
    position: absolute;
    bottom: 0;
    right: 0;

    width: 30px;
    height: 30px;

    content: '';

    background:  linear-gradient(to left top,
    #ff3300 0% 50%,
    rgba(0,0,0,0) 50% 100%
  );

}






.sol_menu{
    margin-bottom: 90px;
}


.sol_menu > ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.sol_menu > ul > li{
    display: flex;
    flex-direction: column;

    width: 49%;


    margin-right: 2%;
    margin-bottom: 20px;

    border-radius: 10px;

    padding: 0px 0px;
    box-sizing: border-box;

    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;

    transition: 0.3s;

}

.sol_menu > ul > li:nth-child(1){
    background: url("../img/solution/sol_bg_03.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sol_menu > ul > li:nth-child(2){
    background: url("../img/solution/sol_bg_01.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sol_menu > ul > li:nth-child(3){
    background: url("../img/solution/sol_bg_04.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sol_menu > ul > li:nth-child(4){
    background: url("../img/solution/sol_bg_02.png") center no-repeat;
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
}

.sol_menu > ul > li:nth-child(2n){

    margin-right: 0%;

}



.sol_menu > ul > li a{
    width: 100%;
    height: 100%;

     flex-grow: 1; /* 比率を指定 */
    display:flex;
    flex-direction:column;

    font-size: 24px;
    line-height: 120%;

    padding: 80px 20px;
    box-sizing: border-box;

    text-align: center;

    color: #fff;

    transition: 0.3s;
}


.sol_menu > ul > li a br.tb{
    display: none;
}

.sol_menu > ul > li:hover {
    opacity: 0.8;
}



.sol_menu > ul > li a p{
    position: relative;
    color: #fff;
    font-size: 20px;
    
    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

    padding-bottom: 30px;
}

.sol_menu > ul > li  a p::after{
    position: absolute;

    bottom: 0;
    left: 50%;

    width: 20px;
    height: 18px;

    translate: -50% 0;

    content: '';

    clip-path: polygon(0 0, 100% 0, 50% 100%); 

    background-color: #ff3300;
}

/* 保守サービス---------------------------------------------- */

.maintenance_cont01{
    width: 100%;
    text-align: center;
    margin: 0px auto 40px;
}

.maintenance_cont01 dt{
    font-size: 48px;
    line-height: 160%;
    font-weight: 700;
    margin-bottom: 20px;

}
.maintenance_cont01 dd{
    font-size: 24px;
    line-height: 160%;
    font-weight: 700;
}

.maintenance_cont01 br.sp{
    display: none;
}



.maintenance_cont02{
    width: 100%;
    max-width: 830px;
    margin: 0px auto 60px;

    font-size: 16px;
    line-height: 160%;
    color: #fff;

    padding: 30px;
    background-color: #35c8e8;
    box-sizing: border-box;

    border-radius: 10px;
}

.maintenance_cont03{
    width: 100%;
    max-width: 540px;
    margin: 0px auto 60px;
}

.maintenance_cont03 ul{
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
}

.maintenance_cont03 ul li{
    display: flex;
    flex-direction: column;
    width: 48%;
    margin-right: 4%;
}
.maintenance_cont03 ul li:nth-child(2n){
    margin-right: 0%;
}



.maintenance_cont03 ul li a{
    display: block;
    width: 100%;
    height: 100%;
    transition: 0.3s;
}

.maintenance_cont03 ul li a:hover{
    opacity:0.8;
}


.maintenance_cont04{
    font-size: 16px;
    line-height: 160%;

    margin-bottom: 90px;  
}


.maintenance_cont05{
    margin-bottom: 90px;  
}

.maintenance_cont05 dt{
    font-size:20px;
    line-height: 160%;

    margin-bottom: 5px;

    font-family: noto-sans,sans-serif;
    font-weight: 700;
    font-style: normal;
}

.maintenance_cont05 dd{
    font-size:16px;
    line-height: 160%;
    margin-bottom: 40px;

    font-family: noto-sans,sans-serif;
    font-weight: 500;
    font-style: normal;
}

.maintenance_agreement{
    margin:0px auto 60px;

    padding: 30px 20px;

    box-sizing: border-box;
    width: 100%;

    border: 2px solid #ff3300;

    border-radius: 10px;
}

.maintenance_agreement_inner{
    height: 300px;
    overflow-y: scroll;
    overflow-x: hidden;

    padding: 20px 0px;
    box-sizing: border-box;

}



.maintenance_img01{
    width: fit-content;
    margin: 0px auto 40px;
}

.maintenance_img01 img{

}

.maintenance_btn01{

}

.maintenance_btn01 a{

}

.maintenance_btn02{
    
}

.maintenance_btn02 a{
    
}




.maintenance_agree{
    text-align: center;
}

.maintenance_agree_txt{
    vertical-align: middle;
    margin-bottom: 40px;

}

.maintenance_agree_txt a{
    font-size:18px;
    line-height: 160%;
    color: #00f;
}

.maintenance_agree input[type=checkbox]{
    appearance:auto;
    margin: auto 0px;
    margin-right: 10px;

    vertical-align:baseline;
    
}


/* 送信ボタン */
.submit-btn {
  /* buttonタグのリセットCSS */
    outline: none;
    appearance: none;

    cursor: pointer; /* ポインターカーソルを表示 */
    margin: 0px auto;

    display: block;
    width:300px;
    height: 60px;
    font-size: 15px;
    line-height: 100%;
    color:#FFFFFF;

    font-family: futura-pt, sans-serif;
    font-weight: 700;
    font-style: normal;

    background-color: #ff3300;

    box-sizing: border-box;

    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;

    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center; 
    align-items: center; 
    -webkit-justify-content: center; 
    justify-content: center;

    border-radius: 5px;
}

.submit-btn[disabled] {
  background-color: #ccc;
  cursor: not-allowed; /* クリック不可のカーソルを表示 */
}





/* 修理受付---------------------------------------------- */

.ro_cont01{
    font-size: 16px;
    line-height: 160%;

    margin-bottom: 60px;   
}

/* 採用情報---------------------------------------------- */

.rrt_cont01{
    font-size: 16px;
    line-height: 160%;

    margin-bottom: 90px;  
}

/* お問い合わせ---------------------------------------------- */

.contact_txt01{
    font-size: 23px;
    line-height: 160%;
    font-weight: 600;
    text-align: center;
    margin-bottom: 40px;

}

.contact_txt02{
    width: 100%;
    max-width: 760px;

    font-size: 35px;
    line-height: 160%;
    font-weight: 600;
    text-align: center;

    padding: 25px;
    box-sizing: border-box;

    border: 5px solid #b43f1b;

    margin: 0px auto 80px;
    
}


#contact-f{
	width:100%;
	height:auto;
	margin-bottom:60px;

}

#contact-f table{
	width:100%;
	height:auto;
	border-top:1px solid #cccccc;
}

#contact-f th,#contact-f td{
	padding:15px;
}

#contact-f th{
	font-size:16px;
	border-collapse:collapse;

	border-bottom:1px solid #cccccc;
	text-align:left;
	font-weight:bold;
	color:#333;
	width:28%;	

	background:url(../img/contact/bg.png) repeat;
}

#contact-f td{
	font-size:16px;
	border-collapse:collapse;
	text-align:left;
	border-bottom:1px solid #cccccc;


	background:url(../img/contact/bg.png) repeat;
}


#contact-f span{
	color:#F00;
	font-size:12px;

}

.with-form1{
	width:90%;
	margin-right:5px;
	padding:5px;
	border:1px solid #CCC;

	filter:alpha(opacity=70); /* IE*/
	-moz-opacity: 0.7; /* Firefox*/
	opacity: 0.7; /* SafariやOpera*/
}

.with-form3{
	width:300px;
    height: 35px !important;

	padding:5px;
	border:1px solid #CCC;
	padding:5px;
}



.margin-r1{
	margin-right:5px;
}

.margin-r2{
	margin-right:15px;
}


.f_txt01{
    text-align: center;
    margin-bottom: 12px;
    font-size: 15px;
    line-height: 120%;
}

.f_txt01 a{
    color: #000000;
    text-decoration: none;
}

.f_txt01 a:hover{
    color: #000000;
    text-decoration:underline;
}


#form-center{
	margin-left:0 !important;
	margin-top:20px;
	text-align:center;
}

input:focus {
    border:solid 1px #EEA34A;
}

textarea:focus {
    border:solid 1px #EEA34A;
}




input.submit_button {
	width:150px;
	height:auto;
	padding:15px 0;
    font-size: 1.2em;
    background-color:#ff3300;
    color:#FFF;
	font-weight:bold;
    border-style: none;
	text-align:center;
	font-size:16px;

    /*角丸*/
	-webkit-border-radius: 3px;     /* for Safari and Chrome */
	moz-border-radius: 3px;    /* for Firefox */
	-o-border-radius: 3px;  /* when Opera Presto 2.3 or later is released */
	-khtml-border-radius:3px;   /* Linux browsers */
	border-radius: 3px;     /* CSS3 */
     behavior: url(css/border-radius.htc); /* IE用 */
    /*角丸*/
	
}

input.submit_button:hover {
	opacity: 0.7;
	filter: Alpha(opacity=70); 
}






#contact-f select {
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button;
    text-indent: 0.5em;
    background:#FAFAFA;
    height: 20px;

    font-size: 13px;
    vertical-align: middle;
    border:1px solid #CCC;
}




#contact-f input[type=radio],
#contact-f input[type=checkbox] {
    display: inline-block;
    margin-right: 6px;
}
#contact-f input[type=radio] + label,
#contact-f input[type=checkbox] + label {
    position: relative;
     
    display: inline-block;
    margin-right: 5px;
     
    font-size: 14px;
    line-height: 30px;
     
    cursor: pointer;
}
 
@media (min-width: 1px) {
#contact-f input[type=radio],
#contact-f input[type=checkbox] {
        display: none;
        margin: 0;
    }
#contact-f input[type=radio] + label,
#contact-f input[type=checkbox] + label {
        padding: 0 0 0 24px;
    }
#contact-f input[type=radio] + label::before,
#contact-f input[type=checkbox] + label::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
        width: 18px;
        height: 18px;
        margin-top: -9px;
         
        background: #FFF;
    }
#contact-f input[type=radio] + label::before {
        border: 2px solid #ccc;
        border-radius: 30px;
    }
#contact-f input[type=checkbox] + label::before {
        border: 2px solid #ccc;
    }
#contact-f input[type=radio]:checked + label::after,
#contact-f input[type=checkbox]:checked + label::after {
        content: "";
        position: absolute;
        top: 50%;
         
        -moz-box-sizing: border-box;
        box-sizing: border-box;
        display: block;
    }
#contact-f input[type=radio]:checked + label::after {
        left: 5px;
         
        width: 8px;
        height: 8px;
        margin-top: -4px;
         
        background:#06C;
        border-radius: 8px;
    }
#contact-f input[type=checkbox]:checked + label::after {
        left: 3px;
         
        width: 16px;
        height: 8px;
        margin-top: -8px;
         
        border-left: 3px solid #E71063;
        border-bottom: 3px solid #E71063;
         
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }
}


/* 個人情報保護方針---------------------------------------------- */


.privacy{
    margin-bottom: 60px;
}


.privacy dt {
    font-size:20px;
    line-height: 160%;

    margin-bottom: 8px;

    font-family: noto-sans,sans-serif;
    font-weight: 700;
    font-style: normal;
}


.privacy dd {
    font-size:15px;
    line-height: 150%;
    margin-bottom: 25px;

    font-family: noto-sans,sans-serif;
    font-weight: 500;
    font-style: normal;
}

}