/* 初期設定--------------------------------------------------------------------------------------------------------------------------------------------- */

@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: noto-sans-cjk-jp, sans-serif;
    font-weight: 400;
    font-style: normal;

    font-size: 62.5%;/* ベースのフォントサイズを10pxに設定 */

    box-sizing: border-box;
    
  font-feature-settings: "palt";
}

html { scroll-behavior: smooth;}

*:first-child + html body {

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

}

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

	
	padding:0;
	margin:0;
	font-size: 1.6rem;

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

    box-sizing: border-box;

    background: #f8f8f8; 
}


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;
}


@media screen and (min-width: 1161px) {
/* PC用のスタイル記述 */
.pc {
	display: block;
}
.phone {
	display: none;
}

.slicknav_menu {
	display:none;
}

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

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

}

@media screen and (max-width: 1160px) {
/* タブレット用のスタイル記述 */

.pc {
	display: none !important;
}
.phone{
	display: block !important;
}	


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

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

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

body {
  -webkit-text-size-adjust: 100%; /* iPhone 横向きで文字を拡大しない */
}




}

@media screen and (max-width: 720px) {
/* スマートフォン用のスタイル記述 */
.pc {
	display: none !important;
}
.phone{
	display: block !important;
}	

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

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


body {
  -webkit-text-size-adjust: 100%; /* iPhone 横向きで文字を拡大しない */
}	

	/* #menu is the original menu */
	.js #menu {
		display:none;
	}
	
	.js .slicknav_menu {
		display:block;
	}
	
}



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

@media screen and (min-width: 1161px) {
	
	
body{
	padding:0;
	margin:0;
	font-size: 1.7rem;

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

 
}	 

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

.bg_main{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/bg_main.png") top center  no-repeat ;  */
    -moz-background-size: cover;
    -o-background-size: cover;
    background-size: cover;
    margin:0px auto 0px auto;

}


.bg_sub{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/sub_bg.png") top center  no-repeat ;  */
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    margin:0px auto 0px auto;
    padding-top: 80px;

}









.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 50px;
	box-sizing:border-box;
}

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

.container01{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:90px 0;
}


.container02{
	width:100%;
    max-width: 1200px;
	height:auto;
	margin:0 auto;
	padding:0px 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;

}

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

	box-sizing:border-box;
}



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;
}







#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:30px 50px;
	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: 14px;
	box-sizing:border-box;
	line-height:120%;
    text-align: left;
    color: #999999;

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

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



}



/* タブレットベース設定--------------------------------------------------------------------------------------------------------------------------------------------- */


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


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

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

}	

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

.bg_main{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/bg_main.png") top center  no-repeat ;  */
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    margin:0px auto 0px auto;

}


.bg_sub{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/sub_bg.png") top center  no-repeat ;  */
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    margin:0px auto 0px auto;
    padding-top: 70px;

}



.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 30px;
     box-sizing:border-box;
}


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

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


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

     padding:0 30px;
     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{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:80px 0;

}


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

}

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

}



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


.hdr_logo{
width: 200px;
height: auto;
position: absolute;
top: 20px;
left: 30px;
}



#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:70px;
	margin:0 auto;
    box-sizing: border-box;
	position:relative;

}

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





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;
}



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


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



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

footer{
	padding:20px 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.6rem;
	line-height:160%;
	color:#000;
    text-align: center;



    margin-bottom: 7px;


}

.ad_ttl{
	font-size: 1.8rem;
	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: 100px;
    margin-top:-100px;
}



}



/* スマホベース設定--------------------------------------------------------------------------------------------------------------------------------------------- */


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



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

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

 
}	



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

.bg_main{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/bg_main.png") top center  no-repeat ;  */
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    margin:0px auto 0px auto;

}


.bg_sub{
	width: 100%;
	/* background: #f8f8f8 url("../img/common/sub_bg.png") top center  no-repeat ;  */
    -moz-background-size: contain;
    -o-background-size: contain;
    background-size: contain;
    margin:0px auto 0px auto;
    padding-top: 60px;

}


.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 20px;
     box-sizing:border-box;
}


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

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


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

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





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

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

.container01{
	width:100%;
	height:auto;
	margin:0 auto;
	padding:70px 0;

}


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

}


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

}




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


.hdr_logo{
width: 180px;
height: auto;
position: absolute;
top: 15px;
left: 20px;
}



#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:60px;
	margin:0 auto;
    box-sizing: border-box;
	position:relative;

}

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

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






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;
}





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



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





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


footer{
	padding:20px;
	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.4rem;
	line-height:160%;
	color:#000;
    text-align: center;



    margin-bottom: 7px;


}

.ad_ttl{
	font-size: 1.6rem;
	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.2rem;
	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: 70px;
    margin-top:-70px;
}


}




/* PC用スタイルスタイル--------------------------------------------------------------------------------------------------------------------------------------------- */


@media screen and (min-width: 1161px) {

/* h1 h2 h3 h4 h5 ---------------------------------------------- */


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: 380px;
}


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

    position: absolute;
    left: clamp(50px, 18% - 140px, 240px);
    bottom: 45%;

    font-size: 50px;
    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: clamp(50px, 18% - 140px, 240px);
    top: 58%;

    font-size: 28px;
    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: 100%;

    margin-bottom: 20px;
}


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


.mission_cont01 ul li dt{
    width: 33%;
    margin-right: 20px;

    font-size: 20px;
    color: #fff;
    text-align: center;

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


    display: flex;
    flex-direction: column;

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


}

.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: #429876;
}

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

.mission_cont01 ul li:nth-child(4) dt{
    background-color: #9e968d;   
}

.mission_cont01 ul li:nth-child(5) dt{
    background-color: #4ca2a7;   
}

.mission_cont01 ul li:nth-child(6) dt{
    background-color: #75677d;   
}

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

.mission_cont01 ul li dd{
    width: calc(67% - 20px);

    background:url("../img/mission/mission_cont_bg.png") repeat;

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

    border-radius: 10px;

    display: flex;
    flex-direction: column;

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

}

.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 dl{
    display: flex;
    flex-direction: row;

        flex-wrap: wrap;
}

.mission_cont01 ul li:nth-child(7) dl dt{
    display: block;
    width: 100%;
    margin-bottom: 20px;
}

.mission_cont01 ul li:nth-child(7) dl dd{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: calc((100% - 20px * 2) / 3);
    margin-right: 20px;

    font-size: 18px;
    margin-bottom: 20px;

    border-radius: 10px;

    padding: 30px  10px;
    text-align: center;
}


.mission_cont01 ul li:nth-child(7) dl dd:nth-of-type(3n){
    margin-right: 0%;
}




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






.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;
}


}


/* タブレット用スタイル--------------------------------------------------------------------------------------------------------------------------------------------- */



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


/* h1 h2 h3 h4 h5 ---------------------------------------------- */


h1.h1_01{
    width: 265px;
    position: absolute;
    top: 12px;
    left:30px;
    transition: 0.3s;
}

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



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

    font-size: 70px;
    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: 70px;
    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: 20px;

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

    margin-bottom: 30px;
}

h3.h3_01 p{
    padding-top: 8px;
    font-size: 24px;
    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: 18px;

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

    margin-bottom: 30px;
}

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

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


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

    padding-bottom: 5px;

    border-bottom: 4px solid #ff3300;

    margin-bottom: 30px;
}


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


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

    border-bottom: 1px dotted #ccc;

    margin-bottom: 30px;
}

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

    top: 38%;
    left: 1px;

    width: 14px;
    height: 14px;

    translate: 0 -50%;

    background-color: #0099cc;

}




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



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

.full{

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


    

}

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

  height: calc(100dvh - 90px);
  margin: 0;
  text-decoration: none;
}
.full .img01 {
  background-image:url("../img/top/slide01_t.jpg");
}
.full .img02 {
  background-image:url("../img/top/slide02_t.jpg");
}
.full .img03 {
  background-image:url("../img/top/slide03_t.jpg");
}


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



.top_slide{
    position: relative;
    width:100%;
    height: 100dvh;
    max-height: 600px;

    /* 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 30px;

    max-width: 300px;

}


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

    position: absolute;
    left: clamp(20px, 15% - 120px, 110px);
    bottom: 45%;


    font-size: 32px;
    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: 480px;
    text-align: center;

    position: absolute;
    left: clamp(20px, 15% - 120px, 110px);
    top: 60%;

    font-size: 24px;
    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: 450px;

    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(50px, 30% - 100px, 40%);
    top: 33%;

    font-size: 50px;
    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: 80px;
    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:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#eee;
}






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



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

}

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

}

.mi_bg01_in dl dt{
    font-size: 44px;
    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: 17px;
    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;
    padding: 0 30px;
    box-sizing: border-box;    
}

.top_main_img img{
    width: 300px;
    height: auto;
    margin: 0 auto;
    text-align: center;

}





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


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


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

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



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


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




.local_school_collaboration_activities_img{
	width: 100%;
	height:270px !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:60px auto 0px auto;
}




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

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



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


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



.button01{
	width:240px;
	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:240px;
    height: 55px;
    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:350px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin: 50px auto 0 auto;

}

.button02 a{
   display: block;

    max-width: 350px;
    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: 350px !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 30px;
    box-sizing: border-box;
}

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

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

    margin: 0px auto 20px;
}

.cmm_ctt p{
    margin-top: 20px;
    margin-bottom: 40px;

    font-size: 28px;
    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:240px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin-right: auto;
    background: #ff3300;

    border-radius: 5px;

}

.cmm_ctt_btn a{
    display: block;
    width:240px;
    height: 55px;
    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;

    flex-direction:column;
}

.tp_comp{
    width: 100%;
    margin-right: 0%;
    margin-bottom: 40px;

    padding: 40px;
    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{
    width: 100%;

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

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

    margin-bottom: 80px;
}


.tp_rrt{
    width: 100%;

    padding: 40px 30px 30px 40px;
    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: 18px;

    margin-bottom: 80px;
}


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

#top_solution{
    margin-bottom: 80px;
}


.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: 49%;

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

    border-radius: 10px;

    padding: 40px 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:nth-child(2n){
    margin-right: 0%;
}

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



.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: 20px;
    line-height: 120%;

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

.tp_sol > ul > li dl dt p{
    color: #fff;
    font-size: 18px;
    
    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: 18px;
    height: 16px;

    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;
}



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




#top_news{
    margin-bottom: 80px;
}

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


.tp_news dl dt{
    width: 160px;
    padding-top: 25px;
    font-size: 16px;
    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: 16px;
line-height: 160%;
margin: 0 0 10px 0;
padding-left: 180px;
padding-right: 25px;
padding-bottom: 25px;
padding-top: 25px;

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: 15px;
    line-height: 160%;

    margin-bottom: 50px;
}


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











.cp_cont02{
    margin-bottom: 70px;
}

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

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

float: left;
clear: both;


letter-spacing: 0.03em;

}


.cp_cont02 dl dd{
font-size: 15px;
line-height: 160%;
margin: 0 0 15px 0;
padding-left: 160px;
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: 7px;
    vertical-align: top;

    margin-right: 5px;
}



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




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

.cp_map iframe{
    width: 100%;
    max-height: 400px;
}


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

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

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

.mission_cont01 ul li{
    width: 100%;

    margin-bottom: 15px;
}


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


.mission_cont01 ul li dt{
    width: 33%;
    margin-right: 15px;

    font-size: 18px;
    color: #fff;
    text-align: center;

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


    display: flex;
    flex-direction: column;

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


}

.mission_cont01 ul li dt p{
    font-size: 42px;
    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: #429876;
}

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

.mission_cont01 ul li:nth-child(4) dt{
    background-color: #9e968d;   
}

.mission_cont01 ul li:nth-child(5) dt{
    background-color: #4ca2a7;   
}

.mission_cont01 ul li:nth-child(6) dt{
    background-color: #75677d;   
}

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

.mission_cont01 ul li dd{
    width: calc(67% - 15px);

    background:url("../img/mission/mission_cont_bg.png") repeat;

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

    border-radius: 10px;

    display: flex;
    flex-direction: column;

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

}

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

    text-align: center;
}



.mission_cont01 ul li dl{
    display: flex;
    flex-direction: row;

        flex-wrap: wrap;
}

.mission_cont01 ul li:nth-child(7) dl dt{
    display: block;
    width: 100%;
    margin-bottom: 15px;
}

.mission_cont01 ul li:nth-child(7) dl dd{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: calc((100% - 15px * 2) / 3);
    margin-right: 15px;

    font-size: 16px;
    margin-bottom: 20px;

    border-radius: 10px;

    padding: 25px  10px;
    text-align: center;
}


.mission_cont01 ul li:nth-child(7) dl dd:nth-of-type(3n){
    margin-right: 0%;
}

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

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

    margin-bottom: 30px;
}

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

    margin-bottom: 10px;
}

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

    margin-bottom: 30px;
}

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

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

    margin-bottom: 15px;

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

.sol_cont03 li::before{
    position: absolute;

    left: 0;
    top: 5px;

    content: '';

    width: 14px;
    height: 14px;

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



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


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


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

    padding-left: 18px;

    margin-bottom: 5px;
}

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

    top: 50%;
    left: 1px;

    width: 13px;
    height: 13px;

    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: 15px;
    line-height: 160%;

    padding-left: 1em;

    margin-bottom: 5px;
}


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

    top: 11px;
    left: 5px;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background-color: #000;
}




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

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


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

    margin-bottom: 60px;

    border-radius: 10px;

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

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

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

    width: 25px;
    height: 25px;

    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: 25px;
    height: 25px;

    content: '';

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

}








.sol_menu{
    margin-bottom: 80px;
}


.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: 20px;
    line-height: 120%;

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

    text-align: center;

    color: #fff;

    transition: 0.3s;
}

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

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



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

    padding-bottom: 25px;
}

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

    bottom: 0;
    left: 50%;

    width: 18px;
    height: 16px;

    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 30px;
}

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

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

.maintenance_cont01 br.sp{
    display: none;
}


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

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

    padding: 25px;
    background-color: #35c8e8;
    box-sizing: border-box;
    border-radius: 10px;
}

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

.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: 15px;
    line-height: 160%;

    margin-bottom: 70px;  
}


.maintenance_cont05{
    margin-bottom: 70px;  
}

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

    margin-bottom: 5px;

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

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

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

.maintenance_agreement{
    margin:0px auto 50px;

    padding: 25px 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;
    max-width: 480px;
    margin: 0px auto 30px;
}

.maintenance_img01 img{

}


.maintenance_agree{
    text-align: center;
}

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

}

.maintenance_agree_txt a{
    font-size:16px;
    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:240px;
    height: 55px;
    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: 15px;
    line-height: 160%;

    margin-bottom: 50px;   
}

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

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

    margin-bottom: 80px;  
}


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


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

}

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

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

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

    border: 5px solid #b43f1b;

    margin: 0px auto 70px;
    
}

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

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

#contact-f th,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: 50px;
}


.privacy dt {
    font-size:18px;
    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;
}


}



/* スマホ用スタイル--------------------------------------------------------------------------------------------------------------------------------------------- */

@media screen and (max-width: 720px) {	
	
/* h1 h2 h3 h4 h5 ---------------------------------------------- */



h1.h1_01{
    position: absolute;
    top: 10px;
    left:20px;
    width: 225px;
    transition: 0.3s;
}

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




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

    font-size: 48px;
    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: 48px;
    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: 16px;

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

    margin-bottom: 20px;
}

h3.h3_01 p{
    padding-top: 5px;
    font-size: 20px;
    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: 16px;

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

    margin-bottom: 20px;
}

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

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




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

    padding-bottom: 5px;

    border-bottom: 3px solid #ff3300;

    margin-bottom: 20px;
}


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


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

    border-bottom: 1px dotted #ccc;

    margin-bottom: 20px;
}

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

    top: 38%;
    left: 1px;

    width: 12px;
    height: 12px;

    translate: 0 -50%;

    background-color: #0099cc;

}



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




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

.full{

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


    

}

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

  height: calc(100dvh - 90px);
  margin: 0;
  text-decoration: none;
}
.full .img01 {
  background-image:url("../img/top/slide01_s.jpg");
}
.full .img02 {
  background-image:url("../img/top/slide02_s.jpg");
}
.full .img03 {
  background-image:url("../img/top/slide03_s.jpg");
}


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



.top_slide{
    position: relative;
    width:100%;
    height: 100dvh;
    max-height: 400px;

    /* 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 20px;

    max-width: 240px;
    padding: 0px 20px;
    box-sizing: border-box;

    background:radial-gradient( rgba(255,255,255,0.05), rgba(255,255,255,0.01));
}

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


    position: absolute;
    left: clamp(0px, 15% - 80px, 80px);
    bottom: 45%;

    font-size: 24px;
    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: 320px;
    text-align: center;

    position: absolute;
    left: clamp(0px, 15% - 80px, 80px);
    top: 59%;

    font-size: 18px;
    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);

}

.slide_txt02 p{

}



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

    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(20px, 20% - 80px, 40%);
    top: 38%;

    font-size: 28px;
    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: 58px;
    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:0;
	left:0;
    /*線の形状*/
	width:2px;
	height: 50px;
	background:#eee;
}






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



.mi_bg01{
    margin-top: 60px;
    background: #197abc;
    padding-top: 30px;

}

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

}

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


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

.mi_bg01_in dl dd{
    font-size: 15px;
    line-height: 170%;
    text-align:left;
    
    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;
    padding: 0 30px;
    box-sizing: border-box;    
}

.top_main_img img{
    width: 260px;
    height: auto;
    margin: 0 auto;
    text-align: center;

}



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



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

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


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


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


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



.local_school_collaboration_activities_img{
	width: 100%;
	height:200px !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:50px auto 0px auto;
}




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

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



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




/* 共通バナー ---------------------------------------------- */

.contact_banner{
	margin-top:60px;	
}

.contact_banner img {
	width:100%;
	height:auto;
	
	opacity: 1;
	-webkit-transition: .3s ease-in-out;
	transition: .3s ease-in-out;
}
	
.contact_banner:hover img {
	opacity: .6;
}





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




.button01{
	width:200px;
	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:200px;
    height: 50px;
    font-size: 14px;
    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:300px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin: 40px auto 0 auto;

}

.button02 a{
   display: block;

    max-width: 300px;
    width: 100%;
    height: 40px;
    font-size: 16px;
    line-height: 100%;
    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: 350px !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 20px;
    box-sizing: border-box;
}

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

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

    margin: 0px auto 20px;
}

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

    font-size: 22px;
    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:200px;
	height:auto;
	text-align: center;
	text-decoration: none;
    margin-right: auto;
    background: #ff3300;

    border-radius: 5px;

}

.cmm_ctt_btn a{
    display: block;
    width:200px;
    height: 50px;
    font-size: 14px;
    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;

    flex-direction:column;
}

.tp_comp{
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;

    padding: 30px;
    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{
    width: 100%;

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

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

    margin-bottom: 70px;
}


.tp_rrt{
    width: 100%;

    padding: 30px;
    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: 16px;

    margin-bottom: 70px;
}




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

#top_solution{
    margin-bottom: 70px;
}


.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: 100%;

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

    border-radius: 10px;

    padding: 30px 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:nth-child(2n){
    margin-right: 0%;
}

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



.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: 18px;
    line-height: 120%;

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

.tp_sol > ul > li dl dt p{
    color: #fff;
    font-size: 15px;
    
    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: 16px;
    height: 14px;

    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: 14px;
    color: #fff;
    line-height: 160%;

    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: 7px;
    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;
}



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



#top_news{
    margin-bottom: 70px;
}

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


.tp_news dl dt{
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 15px;
    line-height: 160%;

    color: #a9bec7;

    float: left;
    width: 100%;
    clear: both;

    text-align: left;

    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: 14px;
line-height: 160%;
margin: 0 0 10px 0;
padding-left: 20px;
padding-right: 20px;
padding-bottom: 20px;
padding-top: 20px;

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;
}






.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: 14px;
    line-height: 160%;

    margin-bottom: 40px;
}


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



.cp_cont02{
    margin-bottom: 50px;
}

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

.cp_cont02 dl dt{
font-size: 15px;
line-height: 160%;
font-weight: 700;

float: none;
width: 100%;
clear: both;

letter-spacing: 0.03em;
margin-bottom: 5px;

}


.cp_cont02 dl dd{
font-size: 14px;
line-height: 160%;
margin: 0 0 15px 0;
padding-left: 0px;
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: 6px;
    vertical-align: top;

    margin-right: 5px;
}



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


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

.cp_map iframe{
    width: 100%;
    max-height: 350px;
}


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

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

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

.mission_cont01 ul li{
    width: 100%;

    margin-bottom: 40px;
}


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


.mission_cont01 ul li dt{
    width: 100%;
    margin-right: 0px;
    margin-bottom: 10px;

    font-size: 16px;
    color: #fff;
    text-align: center;

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


    display: flex;
    flex-direction: column;

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


}

.mission_cont01 ul li dt p{
    font-size: 36px;
    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: #429876;
}

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

.mission_cont01 ul li:nth-child(4) dt{
    background-color: #9e968d;   
}

.mission_cont01 ul li:nth-child(5) dt{
    background-color: #4ca2a7;   
}

.mission_cont01 ul li:nth-child(6) dt{
    background-color: #75677d;   
}

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

.mission_cont01 ul li dd{
    width: 100%;

    background:url("../img/mission/mission_cont_bg.png") repeat;

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

    border-radius: 10px;

    display: flex;
    flex-direction: column;

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

}

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

    text-align: center;
}



.mission_cont01 ul li dl{
    display: flex;
    flex-direction: row;

        flex-wrap: wrap;
}

.mission_cont01 ul li:nth-child(7) dl dt{
    display: block;
    width: 100%;
    margin-bottom: 10px;
}

.mission_cont01 ul li:nth-child(7) dl dd{
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: calc((100% - 10px * 1) / 2);
    margin-right: 10px;

    font-size: 16px;
    margin-bottom: 10px;

    border-radius: 10px;

    padding: 25px  15px;
    text-align: left;
}

.mission_cont01 ul li:nth-child(7) dl dd br{
    display: none;    
}

.mission_cont01 ul li:nth-child(7) dl dd:nth-of-type(3n){
    margin-right: 10px;
}

.mission_cont01 ul li:nth-child(7) dl dd:nth-of-type(2n){
    margin-right: 0px;
}

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

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

    margin-bottom: 20px;
}

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

    margin-bottom: 5px;
}

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

    margin-bottom: 20px;
}

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

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

    margin-bottom: 10px;

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

.sol_cont03 li::before{
    position: absolute;

    left: 0;
    top: 5px;

    content: '';

    width: 12px;
    height: 12px;

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



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


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


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

    padding-left: 15px;

    margin-bottom: 5px;
}

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

    top: 50%;
    left: 1px;

    width: 10px;
    height: 10px;

    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: 20px;

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


.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: 14px;
    line-height: 160%;

    padding-left: 1em;

    margin-bottom: 5px;
}


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

    top: 10px;
    left: 5px;

    width: 3px;
    height: 3px;

    border-radius: 50%;

    background-color: #000;
}




.sol_cont04 dd .img{
    width: 250px;
    text-align: center;
    margin:20px auto 30px;
}

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


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

    margin-bottom: 50px;

    border-radius: 10px;

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

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

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

    width: 20px;
    height: 20px;

    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: 20px;
    height: 20px;

    content: '';

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

}








.sol_menu{
    margin: 0px auto 70px;
    max-width: 480px;
}


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

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

    width: 100%;


    margin-right: 0%;
    margin-bottom: 10px;

    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: 18px;
    line-height: 120%;

    padding: 30px 15px;
    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: 16px;
    
    font-family: "alternate-gothic-atf", sans-serif;
    font-weight: 400;
    font-style: normal;

    padding-bottom: 20px;
}

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

    bottom: 0;
    left: 50%;

    width: 15px;
    height: 12px;

    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 20px;
}

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

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

.maintenance_cont01 br.sp{
    display: inline;
}



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

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

    padding: 20px;
    background-color: #35c8e8;
    box-sizing: border-box;
    border-radius: 10px;
}

.maintenance_cont03{
    width: 100%;
    max-width: 260px;
    margin: 0px auto 40px;
}

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

.maintenance_cont03 ul li{
    display: flex;
    flex-direction: column;
    width: 100%;
    margin-right: 0%;
    margin-bottom: 20px;
}
.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: 14px;
    line-height: 160%;

    margin-bottom: 50px;  
}


.maintenance_cont05{
    margin-bottom: 50px;  
}

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

    margin-bottom: 5px;

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

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

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


.maintenance_agreement{
    margin:0px auto 40px;

    padding: 20px 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;
    max-width: 360px;
    margin: 0px auto 20px;
}

.maintenance_img01 img{

}


.maintenance_agree{
    text-align: center;
}

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

}

.maintenance_agree_txt a{
    font-size:15px;
    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:240px;
    height: 55px;
    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: 14px;
    line-height: 160%;

    margin-bottom: 40px;   
}


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


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

    margin-bottom: 70px;   
}



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


.contact_txt01{
    width: 100%;
    max-width: 480px;

    font-size: 18px;
    line-height: 160%;
    font-weight: 600;
    text-align: left;
    margin:0px auto 20px;

}

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

    font-size: 25px;
    line-height: 140%;
    font-weight: 600;
    text-align: center;

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

    border: 5px solid #b43f1b;

    margin: 0px auto 70px;
    
}

.contact_txt02 span{
    font-size: 0px;
}

.contact_txt02 span::after{
    content: '\A';
    white-space: pre ;
}



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

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


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

	border-bottom:none;
	text-align:left;
	font-weight:bold;
	color:#333;
	
	width:100%;
	display:block;
	padding:15px 10px 15px 10px;	
	box-sizing:border-box;


}

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

	width:100%;
	display:block;
	padding:0px 10px 10px 10px;
	box-sizing:border-box;
	background:url(../img/contact/bg.png) repeat;
}


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

}

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

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

.with-form3{
	width:280px;
    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: 10px;
    font-size: 14px;
    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:120px;
	height:auto;
	padding:10px 0;
    font-size: 1.2em;
    background-color:#ff3300;
    color:#FFF;
	font-weight:bold;
    border-style: none;
	text-align:center;
	font-size:15px;

    /*角丸*/
	-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: 40px;
}


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

    margin-bottom: 5px;

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


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

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




}
