@charset "utf-8";
/* CSS Document */

@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css?family=Cormorant+Garamond|Noto+Sans:400,700');
@import url(https://fonts.googleapis.com/css?family=Lato:400,700);
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700&display=swap');

/*Google Fontsの読み込み
---------------------------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Reddit+Sans:ital,wght@0,200..900;1,200..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

@media print {
 a[href]:after {
 content: "" !important;
 }
 
 abbr[title]:after {
 content: "" !important;
 }
}

/*------------　　 BASE  　----------*/

html {
    scroll-padding-top: 100px;
}

body {
	color: #000000;
	font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
	line-height: 1.8;
	background-color: #FFF;
	font-size: 1.4rem; /*font-size: 14px;*/
	}

a {
	text-decoration: underline;
	/*color: #393CD0;*/
	text-decoration: none;
	-webkit-transition: 0.8s;
	-moz-transition: 0.8s;
	-o-transition: 0.8s;
	-ms-transition: 0.8s;
	transition: 0.8s;
}


a:hover {
	text-decoration: none;
	color: #3F97EC;
}


#footer_area .f_white a {
	text-decoration: none;
	color: #f8ab26;
}

#footer_area a:hover {
	text-decoration: none;
	/*color: #FFF55A;*/
}




p {
	color: #000000;
    font-size: 1.5rem;
      letter-spacing: 0.07em;
}

.clear{
	float:none;
	clear:both;
}
.clearfix:after{
	content:".";
	display:block;
	height:0;
	font-size:0;
	clear:both;
	visibility:hidden;
}





/*------------------------------------------------------
　　　　　　　　　＊ MARGIN　＊
-------------------------------------------------------*/
.m_0 {margin: 0px !important;}
.m_10 {margin: 10px !important;}
.m_b5 {margin-bottom: 5px !important;}
.m_b10 {margin-bottom: 10px !important;}
.m_b15 {margin-bottom: 15px !important;}
.m_b20 {margin-bottom: 20px !important;}
.m_b25 {margin-bottom: 25px !important;}
.m_b30 {margin-bottom: 30px !important;}
.m_b35 {margin-bottom: 35px !important;}
.m_b40 {margin-bottom: 40px !important;}
.m_b50 {margin-bottom: 50px !important;}
.m_b60 {margin-bottom: 60px !important;}
.m_b70 {margin-bottom: 70px !important;}
.m_b80 {margin-bottom: 80px !important;}
.m_b90 {margin-bottom: 90px !important;}

.m_l5 {margin-left: 5px !important;}
.m_l10 {margin-left: 10px !important;}
.m_l15 {margin-left: 15px !important;}
.m_l20 {margin-left: 20px !important;}
.m_l25 {margin-left: 25px !important;}
.m_l30 {margin-left: 30px !important;}
.m_l35 {margin-left: 35px !important;}
.m_l40 {margin-left: 40px !important;}
.m_l60 {margin-left: 60px !important;}

.m_lr10 {margin: 0 10px !important;}
.m_lr20 {margin: 0 20px !important;}
.m_lrtb10 {margin: 10px 10px !important;}

.m_r5 {margin-right: 5px !important;}
.m_r10 {margin-right: 10px !important;}
.m_r15 {margin-right: 15px !important;}
.m_r2em {margin-right: 2em !important;}

.m_t5 {margin-top: 5px !important;}
.m_t10 {margin-top: 10px !important;}
.m_t12 {margin-top: 12px !important;}
.m_t15 {margin-top: 15px !important;}
.m_t30 {margin-top: 30px !important;}
.m_t50 {margin-top: 50px !important;}
.m_t70 {margin-top: 70px !important;}
.m_t5em {margin-top: 5em !important;}


/*------------------------------------------------------
　　　　　　　　　＊ PADDING　＊
-------------------------------------------------------*/
.p5 {padding: 5px !important;}
.p10 {padding: 10px !important;}
.p15 {padding: 15px !important;}
.p_l5 {padding-left: 5px !important;}
.p_lr5 {padding: 0px 5px 0px 5px !important;}
.p_lr10 {
	padding-right: 10px;
	padding-left: 10px !important;}
.p_lr15 {
	padding-right: 15px!important;
	padding-left: 15px !important;}
.p_lr25 {
	padding-right: 25px;
	padding-left: 25px !important;}

.p_t5 {padding-top: 5px !important;}
.p_t2em {padding-top: 2em !important;}
.p_t3em {padding-top: 3em !important;}
.p_t5em {padding-top: 5em !important;}
.p_t8em {padding-top: 8em !important;}

.p_r5 {padding-right: 5px !important;}
.p_r15 {padding-right: 15px !important;}
.p_t25 {padding-top: 25px !important;}
.p_t35 {padding-top: 35px !important;}
.p_b10 {padding-bottom: 10px !important;}
.p_b20 {padding-bottom: 20px !important;}
.p_b30 {padding-bottom: 30px !important;}
.p_b5em {padding-bottom: 5em !important;}


.vp_h50 {height: 50vh;}
.vp_h100 {height: 100vh;}

/*------------------------------------------------------
　　　　　　　　　＊ FONT&TEXT　＊
-------------------------------------------------------*/
.f_bold {font-weight: bold !important;}
.f_b400 {font-weight: 400 !important;}
.f_line a{ text-decoration:underline !important;}

.f_gr {color: #5A5A5A !important;}
.f_bk {color: #2E2E2E !important;}
.f_red {color: #D13232 !important;}
.f_white {color: #f8ab26 !important;}
.f_gold {color: #868052 !important;}
.f_orange {color: #EE7332 !important;}
.f_blue {color: #00256c !important;}

.f_s10 {font-size: 77% !important;}
.f_s11 {font-size: 85% !important;}
.f_s12 {font-size: 93% !important;}
.f_s13 {font-size: 100% !important;}
.f_s14 {font-size: 108% !important;}
.f_s14 a {font-size: 108% !important;}
.f_s15 {font-size: 116% !important;}
.f_s15 a {font-size: 116% !important;}
.f_s16 {font-size: 124% !important;}
.f_s16 a {font-size: 124% !important;}
.f_s17 a {font-size: 124% !important;}
.f_s17 {font-size: 131% !important;}
.f_s18 {font-size: 139% !important;}
.f_s19 {font-size: 147% !important;}
.f_s20 {font-size: 154% !important;}
.f_s21 {font-size: 162% !important;}
.f_s22 {font-size: 170% !important;}
.f_s23 {font-size: 177% !important;}
.f_s24 {font-size: 185% !important;}
.f_s25 {font-size: 193% !important;}

.f_s16res {font-size: 170% !important;}
.f_s20res {font-size: 154% !important;}
@media screen and (max-width: 360px){
.f_s20res {font-size: 134% !important;}
}

@media screen and (max-width: 1199px){
.f_s16res {font-size: 154% !important;}
}
@media screen and (max-width: 991px){
.f_s16res {font-size: 112% !important;}
}
@media screen and (max-width: 428px){
.f_s20 {font-size: 140% !important;}
.f_s16res {font-size: 154% !important;}
.f_s18 {font-size: 110% !important;}
.f_s15 {font-size: 126% !important;}
}
@media screen and (max-width: 320px){
.f_s18 {font-size: 100% !important;}
}

.f_lh100 {line-height: 1.0;}
.f_lh150 {line-height: 1.5;}
.f_lh250 {line-height: 2.5;}


.t-a_right {text-align: right;}
.t-a_center {text-align: center;}

@media only screen and (min-width:320px) and (max-width:428px) {
	.t-a_center {text-align: left;}
	.t-a_right {text-align: left;}
}

/*------------------------------------------------------
　　　　　　　　　＊ font-family　＊
-------------------------------------------------------*/

.f_min {
font-family: "Roboto Slab" , Garamond , "Times New Roman" , 'hannari' , "游明朝" , "Yu Mincho" , "游明朝体" , "YuMincho" , "ヒラギノ明朝 Pro W3" , "Hiragino Mincho Pro" , "HiraMinProN-W3" , "HGS明朝E" , "ＭＳ Ｐ明朝" , "MS PMincho" , serif;}

.f_min2 {
	font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
    font-size: 2.4rem;
}

.f_noto_b {
	font-family: 'Noto Sans', sans-serif;
	font-weight: bold;
}

.f_noto {
	font-family: 'Noto Sans JP';
}

/* -------------------------------- 
　背景色
-------------------------------- */

.bg {
	background-color: #FFFFFF;
	color: #868052;
	 }

.topics{
padding: 5em 0 6em 0;
}


.bg-gr{
    color: #FFFFFF;
    background-color: #504F54;
}


.bg-bl{
    color: #FFFFFF;
    background-color: #fffff5;
}

.bg-gla_bry{
background: rgb(192,190,190);
background: linear-gradient(93deg, rgba(192,190,190,1) 0%, rgba(247,245,246,1) 20%, rgba(191,189,190,1) 50%, rgba(191,189,190,1) 56%, rgba(247,245,246,1) 82%, rgba(192,190,190,1) 100%);
}

.bg-gla_ye{
background: rgb(254,246,230);
background: linear-gradient(93deg, rgba(254,246,230,1) 3%, rgba(254,255,238,1) 10%, rgba(255,255,255,1) 28%, rgba(255,255,255,1) 73%, rgba(254,255,238,1) 88%, rgba(254,246,230,1) 100%);
padding: 5em 0 6em 0;
}

.bg-gla_blue{
background: linear-gradient(93deg, rgb(234, 243, 249) 3%, rgb(239, 249, 255) 10%, rgb(255, 255, 255) 28%, rgb(255, 255, 255) 73%, rgb(238, 246, 255) 88%, rgb(230, 239, 254) 100%);
padding: 8em 0 6em 0;
}

.bg-gla_brwn{
background: rgb(209,196,194);
background: radial-gradient(circle, rgba(209,196,194,0.9892156691778273) 1%, rgba(137,109,106,1) 40%, rgba(108,73,69,1) 60%, rgba(0,37,58,1) 100%);
padding: 5em 0 !important;
}

.bg-concept{ 
  position: relative;
  background-image: linear-gradient(90deg,#f8ab26,#fde39e 75%,transparent 0,transparent);
  padding: 0px 0 80px 0;
  overflow-x: hidden;
}

.bg-business{
    padding: 5em 0 !important;
    background-image: url(../img/common/bg_liquid.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center bottom;
    background-repeat: no-repeat;
    color: #FFF;
}


.bg-business h3{
color: #FFF;
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 700;
  margin-top: 0 !important;
}
.bg-business h3 span{
color: #FFF;
  font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
  font-weight: 400;
  font-size: 70%;
  display: block;
  margin-top: -0.5em;
}

.bg-business p{
color: #FFF;
text-align: center;
font-size: 1.5rem;

}

.txt-shadow {
 text-shadow: 0px 0px 10px rgb(66, 72, 79);
}

.radius_img{
border-radius: 10px;
}

@media only screen and (max-width:991px){
.bg-concept{ 
  position: relative;
  background-image: linear-gradient(90deg,#1D5198,#1D5198 95%,transparent 0,transparent);
  padding: 0px 0 80px 0;
  overflow-x: hidden;
}
}



@media only screen and (max-width:810px){
.bg-business p{
color: #FFF;
font-size: 1.4rem;

}   
}

.bg-contents{
  padding: 8em 0 9em 0;
}
  

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

.bg-concept{
    padding: 5em 0 7em 0 !important;
}
    
.bg-innovation,
    .bg-recruit{
  padding: 5em 0 4em 0;
}
 
.bg-contents{
  padding: 6em 0 4em 0;
}
    
.bg-business {
  padding: 1em 0 !important;
}
.bg-business p {
  color: #FFF;
  text-align: center;
  font-size: 1.8rem;
}
}


/* -------------------------------- 
　横幅指定
-------------------------------- */

.max900 {
width: 100%;
max-width: 900px;
margin:0px auto;
}

.max1000 {
width: 100%;
max-width: 1000px;
margin:0px auto;
}

.max1170 {
width: 100%;
max-width: 1170px;
margin:0px auto;
}


/* bootstrap.css　上書き分 */
a:focus {
		outline: none;
	}

.nav > li > a:hover, .nav > li > a:focus {
    text-decoration: none;
    background-color: transparent!important;
}
.nav > li > a {
    padding: 10px 0px;

}



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

　   HEADER

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

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

.h_logo img {
   max-width: 90%;
}

/*ヘッダー固定でアンカーリンクずれ解決 */




#header {
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
    z-index: 99;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    background-color: #fffff5;  /*#fffffffc*/
    padding: 0 30px;
}
#gNav a:hover {
  color: #999;
}
nav li a {
  font-size: 13px;
  letter-spacing: 0.2em;
}


.mean-container .mean-nav ul ul {
  background: #fff;
  background-image: linear-gradient(to top, #fff 0%, #F6F6F6 40% , #fff 100%);
}


  .h_logo span {
font-size: 13px;
  color: #fffff5;
      font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  }


	

@media only screen and ( max-width : 1109px ) {
    
  .h_logo span {
font-size: 10px;
  }
    
nav li a {
font-size: 14px;
letter-spacing: 0.3em;
}
  #header {
    padding: 10px 0;
    height: 60px;
  }
  .h_logo {
width: 200px;
    position: absolute;
    top: -1.3em;
    left: 10px;
    z-index: 100;
  }
  #gNav .nav {
    overflow-y: auto;
    height: 100vh;
  }
  .mean-nav .nv_container {
    padding: 0;
  }
  nav li .fa {
    display: none;
  }   
}

@media only screen and ( max-width : 345px ) {
  .h_logo {
    width: 250px;
  }	
nav li a {
  font-size: 14px;
  letter-spacing: 0.1em;
}
	
}

@media only screen and ( max-width : 1109px ) {
.sub-menu img,
.sub-menu2 img{
    display: none;
  }  
.menu-hd-area{
display: none;
}
.menu-hd-area2{
display: none;
}
}




@media print, screen and ( min-width : 1110px ) {  /*1110px*/
  #header {
    height: 68px;
  }
  .h_logo img {
    width: 190px;  /*190px*/
  }
	
  .h_logo h1 {	
margin-top: 5px;
margin-bottom: 0px;
  }	
  #h_top {
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  #gNav ul {
    position: relative;
    display: flex;
  }
  #gNav li {
    position: relative;
    margin-right: 2em;
  }
  #gNav li:last-child {
    margin-right: 0;
  }
  #gNav li i {
    /*font-size: 14px;*/
    margin-left: 0px; 
  }
  #gNav li a {
    position: relative;
    display: block;
    text-align: center;
    line-height: 50px;
    font-size: 15px;
    letter-spacing: 0.05em;
    font-weight: bold;
  }
    
    .menu__multi{

    }
    


   
    
/*1110px以上　ここから修正------------*/
    

    
  .h_logo {
margin-top: -35px;
  }
    
 
.nav-item_sub {
  background-color: transparent;
  width: calc(100% - 180px);
  max-width: calc(1024px + 80px);
  position: fixed;
  top: 50px;
  left: 54%;
  transform: translateX(-50%);
  margin: 0 auto;
  visibility: hidden;
  transition: all .1s
}
.inner_sub {
 width: 100%;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
  justify-content: center;
  align-items: center;
   /*background-color: #D3FDF6;
    border-radius: 15px;
  box-shadow: 0 13px 27px -5px rgba(50, 50, 93, .25), 0 8px 16px -8px rgba(0, 0, 0, .3);
    */
 margin-top: 15px;
  padding: 45px 55px;
  transition: all .1s
}
    
 
    
#gNav .sub-menu {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    position: absolute;
    display: flex;
    justify-content: center;
    padding-left:0;
 top: 15px;
 width: 100%;
  max-width: 1180px;
  /*min-width: 1180px;*/
　display:block;
   -webkit-transition: all .2s ease;
    transition: all .2s ease;
  background: #fff;
  background-image: linear-gradient(to top, #fff 0%, #F6F6F6 40% , #fff 100%);
  border-radius: 10px;
  box-shadow: 0 13px 27px -5px rgba(50, 50, 93, .25), 0 8px 16px -8px rgba(0, 0, 0, .3);
  }
#gNav .sub-menu2 {
    visibility: hidden;
    opacity: 0;
    z-index: 1;
    position: absolute;
    display: flex;
    justify-content: center;
    padding-left:0;
 top: 15px;
 width: 100%;
  max-width: 823px;
  /*min-width: 1180px;*/
　display:block;
   -webkit-transition: all .2s ease;
    transition: all .2s ease;
  background: #fff;
  background-image: linear-gradient(to top, #fff 0%, #F6F6F6 40% , #fff 100%);
  border-radius: 10px;
  box-shadow: 0 13px 27px -5px rgba(50, 50, 93, .25), 0 8px 16px -8px rgba(0, 0, 0, .3);
  }
 
#gNav .sub-menu img,
#gNav .sub-menu2 img{
    padding-bottom: 10px;
  }
#gNav .sub-menu span,
#gNav .sub-menu2 span{
    display: inline-block;
    text-align:center;
    font-size: 110%;
    line-height: 12px;
    /*line-height: 1.3;*/
  }   
.sub-menu img,
.sub-menu2 img{
    width:100%;
  } 

  #gNav .sub-menu a,
  #gNav .sub-menu2 a{
    display: block;
    border-bottom: none;
    padding: 20px 10px;
    line-height: 1.2em;
  }
  #gNav .sub-menu a:hover:after,
  #gNav .sub-menu2 a:hover:after{
    content: none;
  }
  #gNav .sub-menu li,
  #gNav .sub-menu2 li{
    display: inline;
    font-size: 16px;
    padding: 0;
    margin: 0;
list-style:none;
      width: 50%;
  }
    
.nav > li > a {
  padding: 10px 0px 35px 0px;
}
    
    
.menu-hd-area{
flex-shrink: 0;
  margin-right: 15px;
  min-width: 160px;
top:50%!important;
}
.menu-hd-area2{
flex-shrink: 0;
  margin-right: 15px;
  min-width: 160px;
top:50%!important;
}
    
.menu-hd-area p,
.menu-hd-area2 p{    
   
}
.menu-hd-area p span,
.menu-hd-area2 p span{    
   display: block!important;
}
.menu-hd-area .menu-heading-en,
.menu-hd-area2 .menu-heading-en{    
font-weight: 300!important;
  letter-spacing: .025em!important;
  display: block!important;
  font-size: 3.5rem!important;
  line-height: 2!important;
  color: #f8ab26;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
text-align: left!important;
padding: 1em 2em 0 1em!important;
    }
    
.menu-hd-area .menu-heading-ja,
.menu-hd-area2 .menu-heading-ja{
  font-weight: 500!important;
  font-size: 1.5rem!important;
text-align: left!important;
padding: 0 2em 0 2.1em!important;
}   
  
.menu-hd-area .menu-hd-list,
.menu-hd-area2 .menu-hd-list{
font-weight: 500!important;
font-size: 1.3rem!important;
text-align: center;
padding: 10px!important;
margin: 0 10px!important;
background-color:#f8ab26!important;
color: #fff!important;
letter-spacing: 0.05em;
}     
.menu-hd-area .menu-hd-list a,
.menu-hd-area2 .menu-hd-list a {

}      
    
  #gNav .sub-menu li:last-child,
  #gNav .sub-menu2 li:last-child{
    border-bottom: none;
  } 
     
    
  #gNav ul > li:hover {
    -webkit-transition: all .5s;
    transition: all .5s;
  }
	
  #gNav ul > li a,
	#gNav .current-menu-item a,
	#gNav .current-menu-parent a {
    color: #f8ab26;
  }
	
  #gNav ul > li:hover a,#gNav .current-menu-item a,#gNav .current-menu-parent a {
    color: #fff55a;
  }
  #gNav li:hover ul.sub-menu,
    #gNav li:hover ul.sub-menu2{
    /*top: 83px;*/
    visibility: visible;
    opacity: 1;
    z-index: 9999;
  }
  #gNav li ul li:after {
    content: none;
  }
 #gNav li:hover ul.sub-menu a,
 #gNav li:hover ul.sub-menu2 a{
    color: #000000;
     /*border-bottom: 1px solid #eee;*/
  }
    
  #gNav .sub-menu li a:hover,
    #gNav .sub-menu2 li a:hover{
    /*background: #e1e1e1;*/
  }
    
/*    

  #gNav .contact_btn a:hover {
    color: #fff;
  }
   */ 
    
}

/*　↑ 1110px以上　ここから修正ここまで------------*/




/*.menu__second-level {
  }


#gNav .menu__second-level li:first-child {
    display: block;
  }

#gNav .menu__second-level li:first-of-type {
  }

#gNav .menu__second-level .menu__third-level li:first-of-type {
margin-top: initial;
  }
*/


 #gNav ul.sub-menu .page-sub-ddown:after,
 #gNav ul.sub-menu2 .page-sub-ddown:after{
 font-family: "Font Awesome 5 Free";
 padding-left:10px;
 font-weight: 900;
 content: "\f054";
}



#gNav .sub-menu .page-sub-menu,
#gNav .sub-menu2 .page-sub-menu{
  background: #E0EAF6;
}
#gNav .sub-menu .page-sub-menu li,
#gNav .sub-menu2 .page-sub-menu li{
word-break: break-all;
border-bottom: 1px solid #fff;
}


#gNav .sub-menu .page-sub-menu,
#gNav .sub-menu2 .page-sub-menu{
    display: block;
    position: absolute;
    top: 15px;
    left: 44%;
    margin-left: 100px;
    width: 200px;
    -webkit-transition: all .2s ease;
    transition: all .2s ease;
	  margin-top: -15px;
  }
  #gNav .sub-menu .page-sub-menu a,
  #gNav .sub-menu2 .page-sub-menu a{
    display: block;
    border-bottom: none;
    padding: 20px;
    line-height: 1.2em;
  }

  #gNav .sub-menu .page-sub-menu li,
  #gNav .sub-menu2 .page-sub-menu li{
    display: block;
    font-size: 16px;
    padding: 0;
    margin: 0;
  }



@media print, screen and ( max-width : 1215px ) { 
  #gNav .sub-menu span,
#gNav .sub-menu2 span{
    display: inline-block;
    text-align: center;
    font-size: 95%;
    line-height: 11px;
  } 
  } 
@media print, screen and ( max-width : 1199px ) { 
  #gNav .sub-menu span,
     #gNav .sub-menu2 span{
    font-size: 95%;
    line-height: 22px;
  } 
  } 


@media screen and (max-width: 1030px){
  #gNav li {
    margin-right: 2em;
  }
 }

@media screen and (max-width: 992px){
  #gNav li {
    position: relative;
    margin-right: 0.5em;
  }
 }


@media only screen and ( max-width : 1109px ) {
  .nv_container {
    padding: 0 30px;
  }
}


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

@media print, screen and ( min-width : 1110px ) {
  .nv_container {
    width: 100%;
	max-width: 1180px;
  }
}

@media print, screen and ( min-width : 1110px ) {

/*第３階層*/
ul.menu__third-level {
    visibility: hidden;
    opacity: 0;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level {
    position: absolute;
}

li.menu__multi ul.menu__second-level li:hover ul.menu__third-level {
    visibility: visible;
    opacity: 1;
}

li.menu__multi ul.menu__second-level li ul.menu__third-level li {
    position: relative;
}

}

/*------------------------------------------------------
　＊ ボタン　＊
-------------------------------------------------------*/

.btn-outline {
border: 2px solid #ffffff;
background: #ffffff;
color: rgb(0, 0, 0);
font-weight: 500;
/*font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;*/
}
.btn-outline:hover, .btn-outline:active, .btn-outline:focus {
  border: 2px solid #1D5198 !important;
  background: #FFF;
  color: #1D5198!important;
}

/* -------------------------------- 
　TOP　TOPICS
-------------------------------- */
.top-topics{
margin-bottom: 50px;
font-size: .6em;
  color: #00256c;
  line-height: 1;  
  font-weight: 200;
font-family: Work Sans,sans-serif;
}
.top-topics span{
position: relative;
  margin-left: -5px;
  font-size: 4rem;
  color: #111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 200;
}



.topics-irn{
    min-width: 230px;
}
.topics-link{
font-size: 1.6rem;
  line-height: 1.8;   
}

a.topics-link{
 color: #111;
}


a.topics-link::after {
  content: url("../img/top/arrow.svg");
  position: absolute;
  right: -25px;
  bottom: 0;
  width: 115px;
  height: 57px;
  transform: scale(.5);
}
a.topics-link::before {
  background: #cf0000;
  content: "";
  width: 62%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scaleX(0);
  transition: transform .5s;
}
a.topics-link {
  display: inline-block;
  position: relative;
  padding-right: 72px;
}

.ani_txt-line {
  padding-bottom: 5px;
  position: relative;
  margin-top: 3.5em;
}
.ani_txt-line::before {
  background: #00256c;
  content: '';
  width: 50%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.ani_txt-line:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}


@media only screen and ( max-width : 428px ) {
    
.top-topics h2{
font-size: 1.7rem !important;
}
.top-topics span{
position: relative;
  margin-left: -5px;
  font-size: 4rem;
  color: #111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 200;
}


a.topics-link::after {
  content: url("../img/top/arrow.svg");
  position: absolute;
  right: 0;
  bottom: 0;
  width: 50%;
  height: 43px;
  transform: scale(.5);
}

}

 @media only screen and (max-width: 320px) { 
 .top-topics span {
    font-size: 4rem;
  }
.topics-irn{
    min-width: 130px;
}
.topics-link{
font-size: 1.6rem;
  line-height: 1.8;   
}
  a.topics-link::after {
    content: url("../img/top/arrow.png");
    position: absolute;
    right: 0;
    bottom: 0;
    width: 57%;
    height: 71px;
    transform: scale(.5);
  }
}



/*　矢印丸青

<!--<div class="cp_arrows"><div class="cp_arr"><i class="cp_arrow_right"></i></div></div></div>-->

.cp_arrows {
	margin: 1em auto;
}
.cp_arrows .cp_arr {
	position: relative;
	display: inline-block;
	width: 1.1em;
	height: 1.1em;
	margin-right: 0.5em;
	margin-left: 0.5em;
}
.cp_arrows .cp_arr::after {
position: absolute;
  top: -1.2em;
  left: -1.7em;
  width: 5.3em;
  height: 5.3em;
  content: '';
  border: 2px solid #1e5199;
  border-radius: 50%;
  background: #1e5199;
}
.cp_arrows [class*='cp_arrow'] {
	position: relative;
	display: inline-block;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	vertical-align: middle;
	color: #ffffff;
	z-index: 99;
}
.cp_arrows [class*='cp_arrow']:after,
.cp_arrows [class*='cp_arrow']:before {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	content: '';
}
.cp_arrows [class*='cp_arrow'] {
	top: 0em;
	left: -0.3em;
	width: 10px;
	height: 12px;
	margin: 0.8em;
	border-width: 4px 4px 0 0;
	border-style: solid;
	border-radius: 0 2px 0 0;
}
.cp_arrows [class*='cp_arrow']:before,
.cp_arrows [class*='cp_arrow']:after {
	position: absolute;
	border-radius: 2px;
}
.cp_arrows [class*='cp_arrow']:before {
	top: -3px;
	right: 0;
	width: 15px;
	height: 4px;
	-webkit-transform: rotate(-45deg);
	        transform: rotate(-45deg);
	-webkit-transform-origin: right top;
	        transform-origin: right top;
	-webkit-box-shadow: inset 0 0 0 32px;
	        box-shadow: inset 0 0 0 24px;
}
.cp_arrows [class*='cp_arrow']:after {
	top: -4px;
	left: -2px;
	width: 4px;
	height: 4px;
	-webkit-box-shadow: inset 0 0 0 32px, 16px 17px;
	        box-shadow: inset 0 0 0 24px, 8px 9px;
}
.cp_arrows .cp_arrow_right {
	-webkit-transform: rotate(45deg);
	        transform: rotate(45deg);
}
*/

/*------------------------------------------------------
　＊ コンテンツTOP　＊
-------------------------------------------------------*/

.bg-innovation{
padding: 5em 0 6em 0;
}

.bg-innovation h3{
color: #1E5199;
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 700;
  margin-top: 0 !important;
}
.bg-innovation h3 span{
color: #5E5C5A;
  font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
  font-weight: 400;
  font-size: 70%;
  display: block;
  margin-top: -0.5em;
}

.bg-recruit{
padding: 5em 0 6em 0;
}

.bg-recruit h3{
color: #1E5199;
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 700;
  margin-top: 0 !important;
}
.bg-recruit h3 span{
color: #5E5C5A;
  font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
  font-weight: 400;
  font-size: 70%;
  display: block;
  margin-top: -0.5em;
}
.bg-recruit p{
  text-align: center;
 margin-top: 1em;
}

.wrapper {
  position:relative;
  display:inline-block;
}
.labels {
  position:absolute;
  color:white;
  padding:5px 15px 0 15px;
text-shadow:2px 2px 3px #272727;
border-radius: 0;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}
.label-left-top{
  left:0px;
  top:0px;
}
.label-ttl-en{
top: 55%;
font-size: 190%;
line-height: 1.2;
}

.label-ttl-en span{
top: 40%;
font-size: 40%;
display: block;
text-align: left!important;
}

.label-ttl-en2{
top: 35%;
font-size: 170%;
line-height: 1.2;
}

.label-ttl-en2 span{
top: 40%;
font-size: 40%;
display: block;
text-align: left!important;
}

.label-ttl-en3{
bottom: 3%;
font-size: 170%;
line-height: 1.2;
}

.label-ttl-en3 span{
bottom: 20%;
font-size: 70%;
font-weight: 300;
display: block;
text-align: left!important;
}


.label-ttl{
top: 10%;
font-size: 120%;
}

@media only screen and ( max-width : 428px ) {
    
.label-ttl-en{
top: 55%;
font-size: 240%;
font-weight: 600;
/*border-bottom: 3px solid #fff;*/
}
    
.label-ttl-en span{
top: 40%;
font-size: 50%;
display: block;
text-align: left!important;
}
.label-ttl-en2{
top: 35%;
font-size: 220%;
font-weight: 600;
/*border-bottom: 3px solid #fff;*/
}
    
.label-ttl-en2 span{
top: 40%;
font-size: 50%;
display: block;
text-align: left!important;
}
}

@media only screen and ( max-width : 320px ) {
.label-ttl-en{
top: 42%;
font-size: 180%;
line-height: 1.5;
}

.label-ttl{
top: 10%;
font-size: 40%;
}
.label-ttl-en2{
top: 22%;
font-size: 180%;
line-height: 1.5;
}


}
	
/*********************************************************************
　footer
********************************************************************/

#footer_area{
	font-size: 100%;
	color: #fff;
	font-family: 'Noto Sans', sans-serif;
	padding-top: 1em;
}


footer {
	z-index: 2;
		/*margin-top: 3.5em;*/
}

#footer_area .copyright{
	padding: 15px 8px 5px;
	font-size: 12px;
	color: #FFFFFF;
	text-align: center;
}

.footer_nav2{
	color: #FFFFFF;
	font: bold;
	font-size: 110%;
}

.footer_nav2 a{
	color: #000000;
}


.footer_nav li{
	line-height: 2.2;
	list-style: none;

}

@media only screen and (max-width:599px){
#footer_area{
	font-size: 130%;
	color: #fff;
	font-family: 'Noto Sans', sans-serif;
	padding-top: 1em;
}

}	
@media only screen and (max-width:428px){
    
#footer_area{
	padding-top: 1em;
}
#footer_area{
	font-size: 110%;
	color: #fff;
	font-family: 'Noto Sans', sans-serif;
}   
}
	
@media only screen and (min-width:320px) and (max-width:375px) {
#footer_area{
	font-size: 125%;
	color: #fff;
	font-family: 'Noto Sans', sans-serif;
}
}


.footer_nav li a{
	color: #f8ab26;
}

.ft_navlink{
  border-radius: 24px;
  margin-bottom: 6px;
  background-color: #fff;
}

.ft_navlink i{
  padding-right: 5px;
  color: #F2E94E;
}

.ft_navlink a {
    color: #f8ab26 !important;  /*グレー#504F54*/
	font-size: 125%;
	display:block;
	  padding: .2em .75em;
      border-radius: 24px;
    font-weight: bold;
}

.ft_navlink a:hover{
  color: #1D5198;
  background-color: #FFF780;
  border-radius: 24px;
}


.footer_nav li a:hover{
	color: #FFF9CF;
}



#footer_area span{
	font-size: 15px;
	color: #fff;
    vertical-align: super;
}




.rounded_wh { 
border-radius: 5px; 
	background-color: #fff;
	padding: 10px;
	margin-bottom: 10px;
	color: #504F54;
	text-align: center;
	font-size: 120%;
}

.rounded_wh .title { 
	color: #000000;
	text-align: center;
	font-size: 110%;
	font-weight: bold;
	border-bottom: 1px solid #504F54;
	padding-bottom: 10px;
}

.footer_phone a{
	font-size: 220%!important;
	font-weight: bold;
	color: #706F75;
}

.footer_phone a:hover{
	color: #00256c;
}

.rounded_wh p { 
		margin-bottom: 0px;
}	

.ft_logo{
	width: 150px;
}
@media only screen and ( max-width : 1199px ) {
.footer_phone a{
	font-size: 180%!important;
}	
.rounded_wh p { 
		font-size: 90%!important;
}	
}	
@media only screen and ( max-width : 876px ) {
.ft_logo {
    width: 210px;
	  
}  
}  


.boder_4co {
  padding: .5em .75em;
  border: 1px solid #ccc;
	background-color: #fff;
}
	
/********************　Topへ戻る　********************/
.page-top
{
	display: none ;
	margin: 0 ;
	padding: 0 ;
}
 
.page-top p {
	margin: 0 ;
	padding: 0 ;
	position: fixed ;
	right: 26px ;
	bottom: 56px ;
}
.page-top p a {
　　color: #00256c;
	
}

.move-page-top {
    display: block;
    width: 49px;
    height: 49px;
    cursor: pointer;
    color: #fff;
    line-height: 30px;
    text-decoration: none;
    text-align: center;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    transition: all 0.3s;
    border-radius: 30px;
    -webkit-border-radius: 30px;
    -moz-border-radius: 30px;
    background-color: #fff55a;
	padding-top: 10px;
}

.move-page-top a {
  color: #FFF!important;
}
.move-page-top a:hover {
  color: #FAFEFF!important;
}

.move-page-top a:hover i {
  color: #00256c!important;
}

@media only screen and (min-width:320px) and (max-width:428px) {
.move-page-top {
    display: none ;
}
	
}

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

　   top

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

h2 {
	font-size: 190%;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}
h3 {
	font-size: 200%;
	line-height: 1.5em;
	letter-spacing: 0.05em;
}

h5 {
  font-size: 15px;
}


@media only screen and (max-width:1024px){
h2 {
	line-height: 1.5em;
	letter-spacing: 0.05em;
	font-size: 170%;
}
}

@media only screen and (max-width:1109px){
h2 {
	line-height: 1.5em;
	letter-spacing: 0.05em;
	font-size: 140%;
}
h3 {
	font-size: 195%;
}
}

.advantages-img {padding: 0 55px;}

@media only screen and (max-width:1109px){
.advantages-img {padding: 25px;}
}

@media only screen and (max-width:428px){
.advantages-img {padding: 5px;}
}	
	
/*********************************************************************

********************************************************************/
/* Bootstrapのガター幅を調整するための汎用CSS
.row-0{ margin-left:0px;  margin-right:0px}
.row-0 >div{ padding-right:0px;  padding-left:0px}
	 */
.o-4column .col-lg-6 { padding: 5px 5px;}
.o-4column .col-md-6 { padding: 5px 5px;}
.o-4column .col-sm-6 { padding: 5px 5px;}
.o-4column .col-lg-3 { padding: 5px 5px;}
.o-4column .col-md-3 { padding: 5px 5px;}
 
/*----------------------------------------------------
   OwlCarousel2
----------------------------------------------------*/

/* Feel free to change duration  */ 
.animated  {
  -webkit-animation-duration : 1000 ms  ;
  animation-duration : 1000 ms  ;
  -webkit-animation-fill-mode : both  ;
  animation-fill-mode : both  ;
}  
/* .owl-animated-out - only for current item */ 
/* This is very important class. Use z-index if you want move Out item above In item */ 
.owl-animated-out {
  z-index : 1 
   }
/* .owl-animated-in - only for upcoming item
/* This is very important class. Use z-index if you want move In item above Out item */ 
.owl-animated-in {
  z-index : 0 
   }
/* .fadeOut is style taken from Animation.css and this is how it looks in owl.carousel.css:  */ 
.fadeOut  {
  -webkit-animation-name : fadeOut  ;
  animation-name : fadeOut  ;
}  
@-webkit-keyframes  fadeOut  {
  0% {
    opacity : 1   ;
  }  
  100% {
    opacity : 0   ;
  }  
}
@keyframes  fadeOut  {
  0% {
    opacity : 1   ;
  }  
  100% {
    opacity : 0   ;
  }  
}

#banners-area{
	background-color: #EBEBEC;
	padding-top: 1.3em;
}


.owl-theme .owl-dots {
	display:none!important;
}

#banners-area .owl-carousel .item {
    padding: 1rem;

}
#banners-area .owl-carousel .item{
    padding: 1rem;

}

.item img{
	padding-bottom: 10px;
}


.owl-theme .owl-controls .owl-nav .owl-prev,
.owl-theme .owl-controls .owl-nav .owl-next {
	position: absolute;
	top: 10%;
	margin: 0;
	padding: 20px 20px;
	transform: scaleX(0.5);
	background-color: initial;
}

@media screen and (max-width: 640px){
.owl-theme .owl-controls .owl-nav .owl-prev,
.owl-theme .owl-controls .owl-nav .owl-next {
	padding: 20px 10px;
}	
}	

.owl-theme .owl-controls .owl-nav .owl-prev {
	left: 5px;
}
@media screen and (max-width: 1199px){
.owl-theme .owl-controls .owl-nav .owl-prev {
	left: -10px;
}
}
@media screen and (max-width: 991px){
.owl-theme .owl-controls .owl-nav .owl-prev {
	top: 5%;
	left: -15px;
}
}	
@media screen and (max-width: 1109px){
.owl-theme .owl-controls .owl-nav .owl-prev {
	top: 7%;
	left: -15px;
}
}	
@media screen and (max-width: 428px){
.owl-theme .owl-controls .owl-nav .owl-prev {
	top: 20%;
	left: -15px;
}
}	

.owl-theme .owl-controls .owl-nav .owl-next {
	right: 5px;
}

@media screen and (max-width: 1199px){
.owl-theme .owl-controls .owl-nav .owl-next {
	right: -10px;
}
}
@media screen and (max-width: 991px){
.owl-theme .owl-controls .owl-nav .owl-next {
		top: 5%;
		right: -15px;
}
}
@media screen and (max-width: 1109px){
.owl-theme .owl-controls .owl-nav .owl-next {
		top: 7%;
		right: -15px;
}
}	
@media screen and (max-width: 428px){
.owl-theme .owl-controls .owl-nav .owl-next {
		top: 20%;
		right: -15px;
}
}
.owl-prev i,
.owl-next i {
font-size: 3s.5rem;
	color: #797878!important;
                }


/* -------------------------------- 
TOP　お知らせ
-------------------------------- */



.topi-ttl{
		border-bottom: 2px dotted #1D5198;
		 padding: 12px 15px;
}
.topi-ttl h3{
	display: inline;
}

.topi-ttl span{
	float: right;
}
.topi-ttl span a{
color: #FFF;
display: block;
	background-color: #1D5198;
	padding: 5px 10px;
	border-radius: 1px;
}
.topi-ttl span a:hover{
color: #1D5198;
background-color: #E5E8E8;
}

.info-ttl {
    color: #1D5198;
	margin-bottom: 10px;
	line-height: 70px;
	border-bottom: 1px solid #D9D5D0;
	margin-bottom: 1em;
	 padding: 0px 10px;	
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-weight: 400;
    letter-spacing: 0.05em;
}

.info-ttl {
  position: relative;
}
.info-ttl::before {
  background: #fff55a;
  content: '';
  width: 100%;
  height: 1px;
  position: absolute;
  left: 0;
  bottom: 0;
  margin: auto;
  transform-origin: right top;
  transform: scale(0, 1);
  transition: transform .3s;
}
.info-ttl:hover::before {
  transform-origin: left top;
  transform: scale(1, 1);
}

.info-ttl h5 {
	line-height: 27px;
	display: inline;
    font-weight: 400;
}

.info-ttl h5 a {
	color: #282828!important;
}
.info-ttl h5 a:hover {
	color: #1D5198!important;
}

.info-ttl span {
    color: #00256c;
    font-weight: normal;
	margin-right: 20px;
}



@media only screen and (max-width: 428px) {
.info-ttl {
  line-height: 40px;
    margin-top: 2em;
  padding: 0;
}
.info-ttl span {
    display: block;
    font-size: 130%;
    line-height: 1;
}
.info-ttl02 span {
    display: block;
}
}



/* hover whole */



.hover-whole {
    position: relative;
    z-index: 1; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.hover-whole a {
    position: absolute;
    top: 0;
    left: 0;
    width: 200%;
    height: 200%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.hover-whole:hover {
    filter:alpha(opacity=80);/* IE 6,7*/
    -ms-filter: "alpha(opacity=80)";/* IE 8,9 */
    -moz-opacity:0.8;/* FF , Netscape */
    -khtml-opacity: 0.8;/* Safari 1.x */
    opacity:0.8;
    zoom:1;/*IE*/
}

.hover-whole::before{
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.2);
}

.hover-whole3 {
    position: relative;
    z-index: 1; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.hover-whole3 a {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    text-indent:-999px;
    z-index: 2; /* 必要であればリンク要素の重なりのベース順序指定 */
}
.hover-whole3:hover {
    filter:alpha(opacity=80);/* IE 6,7*/
    -ms-filter: "alpha(opacity=80)";/* IE 8,9 */
    -moz-opacity:0.8;/* FF , Netscape */
    -khtml-opacity: 0.8;/* Safari 1.x */
    opacity:0.8;
    zoom:1;/*IE*/
}

.hover-whole3::before{
content: '';
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
background-color: rgba(0,0,0,0.1);
}



/*----------------------------------------------------
   Animate.css
----------------------------------------------------*/

.fadeInUp {
  animation-duration: 0.8s;
  animation-delay: 0s;
}


/*------------------------------------------------------
　＊ 下層　page cover　＊
-------------------------------------------------------*/

.page-cover{
		margin-top: 4.5em;
}

@media screen and (max-width: 1109px){
.page-cover{
		margin-top: 3.7em;
}	
}

@media screen and (max-width: 428px){
.page-cover{
		margin-top: 4.3em;
}	
}

#cover_company {
    position: relative;
    background: url(../img/company/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_message {
    position: relative;
    background: url(../img/company/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_about {
    position: relative;
    background: url(../img/company/cover_bg3.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_access {
    position: relative;
    background: url(../img/company/cover_bg4.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}


#cover_concept {
    position: relative;
    background: url(../img/concept/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
    /*background-position:right bottom;*/
}
#cover_business {
    position: relative;
    background: url(../img/business/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_education {
    position: relative;
    background: url(../img/business/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_foodservice {
    position: relative;
    background: url(../img/business/cover_bg3.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_estate {
    position: relative;
    background: url(../img/business/cover_bg4.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}


#cover_item {
    position: relative;
    background: url(../img/business/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_madoka {
    position: relative;
    background: url(../img/business/cover_bg3.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}

#cover_foreignf-operation {
    position: relative;
    background: url(../img/business/cover_bg5.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}

/*#cover_innovation {
    position: relative;
    background: url(../img/csr/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}*/
#cover_csr {
    position: relative;
    background: url(../img/csr/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_sdgs {
    position: relative;
    background: url(../img/csr/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}

#cover_social {
    position: relative;
    background: url(../img/social/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_make-a-wish {
    position: relative;
    background: url(../img/social/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_eco-b {
    position: relative;
    background: url(../img/social/cover_bg3.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}


#cover_environmental {
    position: relative;
    background: url(../img/csr/cover_bg4.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}

#cover_recruit {
    position: relative;
    background: url(../img/recruit/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_recruit2 {
    position: relative;
    background: url(../img/recruit/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_recruit3 {
    position: relative;
    background: url(../img/recruit/cover_bg3.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_contact {
    position: relative;
    background: url(../img/contact/cover_bg.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
#cover_privacy {
    position: relative;
    background: url(../img/contact/cover_bg2.jpg) no-repeat;
    -webkit-background-size: cover;
    background-size: cover;
    padding: 80px 0;
}
@media screen and (max-width: 428px){
    
#cover_company,
#cover_message,
#cover_history,
#cover_concept,
#cover_access,
#cover_business,
#cover_item,
#cover_madoka,
#cover_education,
#cover_foreignf-operation,
#cover_innovation,
#cover_csr,
#cover_sdgs,
#cover_social,
#cover_make-a-wish,
#cover_eco-b,
#cover_environmental,
#cover_recruit,
#cover_recruit2,
#cover_recruit3,
#cover_contact,
#cover_privacy
{
	background-position:center bottom;
}  

    #cover_about{
	background-position:left bottom;
}   
}


@media screen and (max-width: 1109px){
    
#cover_company,
#cover_message,
#cover_history,
#cover_concept,
#cover_access,
#cover_about,
#cover_business,
#cover_item,
#cover_madoka,
#cover_education,
#cover_foreignf-operation,
#cover_innovation,
#cover_csr,
#cover_sdgs,
#cover_social,
#cover_make-a-wish,
#cover_eco-b,
    
#cover_environmental,
#cover_recruit,
#cover_recruit2,
#cover_recruit3,
#cover_contact,
#cover_privacy
    {
 padding: 50px 0;}		
}

#cover_access {
background-position:right bottom;
}

.square_wh {
    background-color: rgba(255,255,255,0.8);
    padding: 50px 10px;
    margin: 0 auto;
    width: 90%;
    max-width: 200px;
    font-size: 1rem;
    line-height: 1.7;
}

.cover_ttl {
text-align: center;
	font-size: 190%;
	color: #28284d;
}

.cover_ttl span{
	font-size: 70%;
	color: #1D5198;
	display: block;
	text-align: center;
	letter-spacing: 0.05em;
}


@media only screen and (max-width: 480px) {
#cover_message {
        overflow: scroll;
    }
.square_wh {
        width: 100%;
    }  
}


/*------------------------------------------------------
　＊ パンくずリスト　＊
-------------------------------------------------------*/

.breadcrumb_line {
border-bottom: 1px solid #d8d8d9;
}

#breadcrumb_nav{
    font-size: 12px;
    padding: 10px 15px;
}


/* ---------- ブロック要素にaタグを適用 ---------- */

.item_box{
	position: relative;
	width: 100%;
	padding: 5%;
	border: solid 1px #CCC;
	margin-bottom: 0px;
}
 
.item_box a{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-9999px;
}
 
.item_box img{
    display:block;
    width:100%;
    float:left;
}
 
@media only screen and (max-width: 428px) {
.item_box img{
    display:block;
    width:30%;
    float:left;
}
}	
	
.item_box .detail{
    width:100%;
    margin-left:5%;
    float:left;
}	

/*------------------------------------------------------
　＊ 関連グループ　＊
-------------------------------------------------------*/
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 35px;
	padding-bottom: 25px;
}
@media screen and (max-width: 1109px){
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 55px;
	padding-bottom: 15px;
}	
}
@media screen and (max-width: 428px){
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 5px;
	padding-bottom: 15px;
}	
}
@media screen and (max-width: 375px){
.bg_gy{
	background-color: #EBEBEC;
	padding-top: 15px;
	padding-bottom: 10px;
}	
}

.bg_gy-gra{
background: rgb(203,198,193);
background: linear-gradient(90deg, rgba(203,198,193,1) 0%, rgba(167,162,160,1) 26%, rgba(224,225,225,1) 48%, rgba(167,162,160,1) 68%, rgba(203,198,193,1) 100%);
	padding: 15px;
}

#campany-nav {
text-align: center;
}

#campany-nav img {
margin-bottom: 10px;
}

#campany-nav p {
font-size: 90%;
margin-bottom: 0;
}

#campany-nav p span {
font-size: 120%;
font-weight: bold;
display: block;
}

@media screen and (max-width: 1109px){
#campany-nav p {
font-size: 80%;
margin-bottom: 0;
}

#campany-nav p span {
font-size: 90%;
font-weight: bold;
display: block;
}	
}

@media screen and (max-width: 428px){
#campany-nav {
text-align: left;
}
#campany-nav p {
font-size: 80%;
margin-bottom: 0;

padding-left: 120px;
}

#campany-nav p span {
font-size: 110%;
font-weight: bold;
display: block;
}	
}	
@media screen and (max-width: 320px){
#campany-nav {
text-align: left;
}
#campany-nav p {
font-size: 70%;
margin-bottom: 0;
padding-left: 90px;
}

#campany-nav p span {
font-size: 100%;
font-weight: bold;
display: block;
}
}

.bg_gy-gra{
background: rgb(203,198,193);
background: linear-gradient(90deg, rgba(203,198,193,1) 0%, rgba(167,162,160,1) 26%, rgba(224,225,225,1) 48%, rgba(167,162,160,1) 68%, rgba(203,198,193,1) 100%);
	padding: 15px;
}




/* Scroll animations styles */

.scroll-animations {
  display: flex;
}

.scroll-animations div {
  flex-grow: 1;
  padding: 30px;
  text-align: center;
  opacity: 0;
  color: #333;
}

.scroll-animations div span {
  font-size: 4em;
  color: #5AA9E0;
}

.scroll-animations div h3 {
  font-size: 1.9em;
  font-weight: 400;
  margin-bottom: 10px;
}

/* Media queries */

@media (max-width: 759px) {
  header h1 {
/*    font-size: 5em;*/
  }
  
  .new-section {
    font-size: 3em;
  }
  
  .scroll-animations {
    display: block;
  }
  
  .scroll-animations div {
    padding: 20px 80px;
  }
  
  .click-animations input,
  .click-animations textarea,
  .click-animations button {
    width: 80%;
  }
}

@media (max-width: 475px) {
  .new-section {
    font-size: 2.5em;
  } 
  
  header h1 {
   /* font-size: 3.2em;*/
  }
  
  header h2,
  .funky-animations h3 {
    font-size: 1.5em;
  }
  
}


.cleaness-wh {
background-color: rgb(255, 255, 255);
  padding: .2em 2em .2em;
  margin-bottom: 2em;
}

.cleaness-wh h3{
    color: #1E5199;
    text-align: center;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 700;
    margin-top: 0!important;
}
.cleaness-wh h3 span{
    color: #5E5C5A;
    font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
    font-weight: 400;
    font-size: 50%;
    display: block;
    margin-top: -0.5em;
}

.cleaness-wh h4{
    color: #000;
    font-weight: 600;
    font-size: 180%;
  letter-spacing: 0.02em;
  padding-top: 1em;
    padding: 0.5em;
  line-height: 1.3;
  vertical-align: middle;
text-align: left!important;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}


.bg-concept h5{
color: #fff;
  font-weight: 600;
  font-size: 160%;
  line-height: 1.5;
  margin-bottom: 1.3em;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}

.bg-concept p{
color: #fff;
}


.shadow_img{
  box-shadow: 10px 10px 4px rgba(0, 0, 0, 0.24);
}

.concept-ttl {
opacity: 0.55;
  color: #fff;
  font-size: 4rem;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 600;
  margin-top: 1em;
  padding-left: 20px;
}


@media screen and (max-width: 428px) {
/*.cleaness-wh p {
  color: #000;
  font-weight: 600;
  font-size: 140%;
  letter-spacing: 0.02em;
  padding-top: 1em;
}*/
    
}


/*gridのgutter調整　　row　に＋追加する*/

.row-0{
    margin-left:0px;
    margin-right:0px;
     }
.row-0 div{
        padding-right:0px;
        padding-left:0px;
    }


/*---企業情報----*/
.exp {
    padding: 2.4em 4em 2.5em 5em; /*2.4em 2em 2.5em;*/
    text-align: center;
}

.exp h3{
color: #4A4D51;
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  margin-top: 0 !important;
  font-size: 3.3rem !important;
}
.exp h3 span{
    color: #5E5C5A;
    font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
    font-weight: 400;
    font-size: 70%;
    display: block;
    margin-top: -0.5em;
}

.exp h4{
    color: #000;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 1.7;
      padding-top: 1em;
    font-size: 2.3rem;
}
.exp p{
    color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.03em;
  padding-top: 1em;
  text-align: left;
}

.bg_company01{
    background-color:  #EFEFEF;
}
.bg_company02{
    background-color:  #DCDDDD;
}

.bg_company_onearea {
  background: linear-gradient(90deg, #EFEFEF 0%, #EFEFEF 50%, #DCDDDD 50%, #DCDDDD 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
 padding: 4em 0;
}
@media only screen and ( max-width : 767px ) {
.bg_company_onearea {
  background: linear-gradient(180deg, #EFEFEF 0%, #EFEFEF 50%, #DCDDDD 50%, #DCDDDD 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
 padding: 4em 0;
}
    }


@media only screen and ( max-width : 428px ) {
    
.exp {
    padding: 2.4em 2em 2.5em;
    text-align: center;
}

    
.exp p{
  font-size: 1.7rem;
  letter-spacing: 0.03em;
}
    }



.img_maxsize{
    max-width: 180px;
    padding: 30px 0 20px;
}

.bg-company-profile {
 /*background-color: #1d5198;*/
 padding: 8em 0;
}
.bg-company-profile h3{
/*color: #FFFFFF;*/
  text-align: center;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  margin-top: 0 !important;
  font-size: 175% !important;
}
.bg-company-profile h3 span{
    color: #7D95C2;
    font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
    font-weight: 400;
    font-size: 60%;
    display: block;
    margin-top: -0.5em;
}

.bg-company-profile h4{
    color: #000;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 1.7;
      padding-top: 1em;
}
.bg-company-profile p{
    color: #000;
  font-size: 13px;
  letter-spacing: 0.05em;
  padding-top: 1em;
}

/*テーブル*/

.company-table {
    margin-top: 3em;
    font-size: 110%;
    font-family: "Noto Sans JP",'Hiragino Sans','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,sans-serif;
}

table.company-table {
	width:100%;
	border-right:#CCCCCC solid 1px;
	border-collapse: collapse;
}
table.company-table thead th {
	background:#888A8D;
	color:#FFF;
	padding:10px 15px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.company-table thead th:last-child {
	border-right:#CCCCCC solid 1px;
}
table.company-table tbody th {
	background:#F9F9F9;
	color:#231815;
	padding:20px 15px;
	border-bottom:#CCCCCC solid 1px;
	vertical-align:top;
	border-left: #CCCCCC solid 1px;
}
table.company-table tbody tr:first-child th {
		border-top: #CCCCCC solid 1px;
}
table.company-table tbody tr:last-child th {
	border-bottom:#CCCCCC solid 1px;
}
table.company-table tbody td {
	background:#FFF;
    padding:20px 15px;
	border-left:#CCCCCC solid 1px;
	border-bottom:#CCCCCC solid 1px;
	border-top: #CCCCCC solid 1px;
	vertical-align:top;
	text-align: left;
    line-height: 1.8;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 991px) {
table.company-table thead {
	display:none;
}
table.company-table tbody th {
	display:block;
}
table.company-table tbody td {
	border-top: none;
	display:block;

}
table.company-table tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}
table.company-table tbody td p {
	/*padding-left:9em;
	text-align: right;*/
}

}

@media screen and (max-width: 428px) {
    
table.company-table {
  font-size: 1.8rem;
}
    
table.company-table tbody td p {
	/*padding-left:4.5em;*/
}
table.company-table tbody td {
	/*padding:10px 10px;*/
}
}

.footer_mail{
    margin-top: 12px;
}
.footer_mail a{
	font-size: 120%!important;
	font-weight: bold;
	color: #706F75;
}

.footer_mail a:hover{
	color: #00256c;
}


/*---ご挨拶---*/


.bg_company03{
    background-color:  #727171;
}

.bg_company_onearea3 {
  background-color: #727171;
 /*padding: 1em 0 1.5em 0;*/
}
@media only screen and ( max-width : 767px ) {
    }

.exp3 {
    padding: 2.4em 2em 2.5em;
    text-align: center;
}

.exp3 h3{
color: #FFF;
  text-align: left;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 500;
  margin-top: 0 !important;
  font-size: 175% !important;
  border-bottom: 1px solid #fff;
  padding: 1.5em 10px 10px;
  margin-bottom: 7em;
}

.exp3 h4{
    color: #FFF;
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-weight: 400;
    line-height: 1.7;
      padding: 0 10px 10px;
    text-align: right;
}

.ceo-img{
  width: 100%;
  height: 400px;
  background-image: url(../img/company/ceo.jpg);
  background-repeat: no-repeat;
    background-size: cover;
  background-position: center;
}


.bg-message {
 padding: 8em 0;
}

.bg-message h3 {
font-size: 200%;
  line-height: 1.5em;
  letter-spacing: 0.05em;
margin-bottom: 25px;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}
.bg-message h3 span {
font-size: 1.8rem;
margin-bottom: 25px;
display: block;
}
.bg-message h3 span {
      display: flex;
      align-items: center; /* 垂直中心 */
    }
.bg-message h3 span:before {
      border-top: 1px solid;
      content: "";
      width:6.5em;
    }
.bg-message h3 span:before {
      margin-right: .7em; /* 文字の右隣 */
    }



.bg-message h4 {
font-size: 200%;
  line-height: 1.5em;
  letter-spacing: 0.05em;
margin-bottom: 25px;
}


.bg-message p{
color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
  /*font-weight: 300;*/
  line-height: 2;
}
.signature{
    text-align: right;
    }
.signature span{
padding-left: 20px;
font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
font-size: 130%;
    }

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

.bg-message {
 padding: 3.5em 0;
}
    
    }



/*---コンセプト---*/

.page-concept {
 padding: 8em 0;
}
.page-concept h3{
color: #1E5199;
  letter-spacing: 0.05em;
  padding-top: 1em;
  line-height: 2.5;
font-weight: 600;
  font-size: 1.9em;
    text-align: center;
}

.page-concept p{
color: #000;
  font-size: 1.7rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
  /*font-weight: 300;*/
  line-height: 2.5;
}

@media only screen and ( max-width : 767px ) {
    
.page-concept {
 padding: 2em 0;
}
    }


@media only screen and ( max-width : 428px ) {
.page-concept h3{
color: #1E5199;
  letter-spacing: 0.05em;
  padding-top: 1em;
  line-height: 2;
font-weight: 600;
  font-size: 1.9em;
    text-align: center;
}
.page-concept p {
  color: #000;
  font-size: 2.1rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
  line-height: 1.5;
}
    }  
    
@media only screen and ( max-width : 375px ) {
.page-concept h3{
  font-size: 1.7em;
}
.page-concept p {
  color: #000;
  font-size: 1.9rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
  line-height: 1.5;
}
    }  

/*---沿革---*/

.bg-history {
 padding: 8em 0;
}

.bg-history img {
    max-width: 250px;
}

.year-number{
    
}
.year-number span{
    font-size:70%;
    font-weight: 300;
}


.history {
  position: relative;
  margin: 0 auto;
  padding: 0 15px;
}
@media only screen and (min-width: 1109px) {
  .history {
    max-width: 750px;
  }
}
.history:before {
  content: "";
  width: 5px;
  height: 100%;
  background: #00256c;
  position: absolute;
  transform: translateX(-50%);
}
@media only screen and (min-width: 1109px) {
  .history:before {
    left: 50%;
  }
}
.history .history__item {
  position: relative;
  display: flex;
  padding: 0 0 35px 20px;
}

.history .history__item:first-child {
  padding-top: -4em;
}

.flm-bl {
   /* font-weight: bold;*/
    padding: 3px 8px;
    background-color: #000000;
    margin-right: 8px;
    color: #fff;
}

@media only screen and (min-width: 1109px) {
  .history .history__item {
    padding: 0;
  }
}
@media only screen and (min-width: 1109px) {
  .history .history__item:nth-of-type(2n) {
    justify-content: flex-end;
  }
}

  
.history .history__item:before { 
content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 4px solid #00256c;
  background-color: #FFF;
  border-radius: 100%;

  transform: translateY(-50%);
  left: -11px;
}
@media only screen and (min-width: 1109px) {
.history .history__item:before { 
content: "";
  position: absolute;
  width: 24px;
  height: 24px;
  border: 4px solid #00256c;
  background-color: #FFF;
  border-radius: 100%;
  top: 50%;
  transform: translateY(-50%);
}
  .history .history__item:before {
    left: 48.4%;
    top: 0;
    width: 24px;
    height: 24px;
  }
}
.history .history__item:last-child {
  padding-bottom: 15px;
}
@media only screen and (min-width: 1109px) {
  .history .history__item:last-child {
    padding-bottom: 0;
  }
}
.history .history__item:last-child:after {
  content: "";
  width: 6px;
  height: 6px;
  background: none;
  position: absolute;
  transform: translateX(-50%) rotate(-45deg);
  border-left: 2px solid #00256c;
  border-bottom: 2px solid #00256c;
  bottom: 0;
  left: 0;
}
@media only screen and (min-width: 1109px) {
  .history .history__item:last-child:after {
    left: 50%;
    width: 8px;
    height: 8px;
  }
}


.history .history__inner {
  max-width: 300px;
  margin-top: -1.8em;
}
.history .history__iamge {
  line-height: 1;
  margin: 0;
  padding: 0;
}
.history .history__iamge img {
  display: block;
}
.history .history__text {
  letter-spacing: 0.05em;
  min-width: 300px;
}
.history .history__text h3 {
 margin: 10px 0 5px 0;
}
.history .history__iamge p {
 text-align: center;
    font-size: 80%;
    padding-top: 5px;
    padding-bottom: 0;
      max-width: 250px;
}


@media only screen and (max-width: 1199px) {
.history .history__inner {
  max-width: 220px;
  margin-top: -1.8em;
}
.history .history__text {
  letter-spacing: 0.05em;
  min-width: 220px;
}
}

/*---製品情報---*/

.bg-item{
    padding: 12em 0 6em 0 !important;
    background-image: url(../img/business/bg_liquid.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center bottom;
    background-repeat: no-repeat;	
}

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

.bg-item{
    padding: 8em 0 7em 0 !important;
}   
}

.cleaness-wh2 {
    background-color: rgba(255,255,255,0.65);
    padding: 2.4em 2em 2.5em;
    text-align: center;
}

.cleaness-wh2 p{
    color: #000;
    font-weight: 400;
    font-size: 1.6rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
}

.bg-common,
.bg-common2{
 padding: 8em 0;
}
.bg-common3{
 padding: 8em 0 0 0;
}

.bg-common h3 {
 text-align: center;
 margin-bottom: 1em;
}
.bg-common p {
  color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  /*font-weight: 300;*/
  line-height: 1.7;
}

.bg-company {
 padding: 8em 0;
}


.bg-company h3 {
 text-align: center;
 margin-bottom: 1em;
}
.bg-company p {
  color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  /*font-weight: 300;*/
  line-height: 1.7;
}

.bg-education{
 padding: 0;
}


.bg-education h3 {
 margin-bottom: 1em;
 padding: 0 20px;
margin-top: 0;
}

/*.bg-education h4 {
margin-bottom: 1em;
  margin-top: 0;
  font-size: 135%;
  line-height: 1.5;
}*/

.bg-education p {
  color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}


.bg-estate,
.bg-foodservice{
 padding: 8em 0;
}


.bg-estate h3,
.bg-foodservice h3 {
 margin-bottom: 1em;
 padding: 0 20px;
margin-top: 0;
}

.bg-estate p,
.bg-foodservice p {
  color: #000;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}


.year-min{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 193%;
}
.year-min span{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    font-size: 178%;
}
.innovation-txt {
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
  font-weight: 300;
}

.year-min{
 position:relative;
 padding:0px 15px;
}
.year-min::before{
 content:"";
 position:absolute;
 background:#DEEBF7;
 width:30px;
 height:30px;
 
 top:35%;
 left:-2px;

 transform:translateY(-50%);
 z-index:-1;
}


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

.cleaness-wh2 p{
    color: #000;
    font-weight: 400;
    font-size: 1.7rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
}
.bg-common,
.bg-common2 {
 padding: 4em 0;
} 
.bg-common p {
  color: #000;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}
.bg-company {
 padding: 4em 0;
} 
.bg-company p {
  color: #000;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
}   
    
.bg-education {
 padding: 4em 0;
} 
.bg-education p {
  color: #000;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  line-height: 1.7;
} 
    
  }
  
    

.cat-btn {
  display: block; /* inline-block から block に変更 */
  width: 100%; /* 新しく追加 */
  box-sizing: border-box; /* 新しく追加 */
  padding-top: 10px;
  padding-right: 62px;
  padding-bottom: 10px;
  padding-left: 36px;
  margin: 0px;
  background-color: #fff;
  background-image: none;
  background-size: contain;
  color: #424242;
  text-decoration: none;
  border-width: 2px;
  border-style: solid;
  border-color: #424242;
  border-radius: 0px;
  cursor: pointer;
  transition: all 0.3s ease 0s;
  box-shadow: none;
  -webkit-appearance: none;
  line-height: 1.6;
  position: relative;
  text-align: left;
    font-size: 1.6rem;
}

.cat-btn:hover {
  background-color: #1f71b5;
  color: #fff;
}

.cat-btn svg {
  width: 24px;
  height: auto;
  position: absolute;
  top: 50%;
  left: auto;
  transform: translateY(-50%);
  transition: all 0.3s ease 0s;
  stroke: #424242;
  stroke-width: 2px;
  right: 8px;
}

.cat-btn:hover svg {
  stroke: #fff;
}


/*tab*/

.tab-txt{
 background-color: #E3EAF6;
 padding: 10px 20px;
 margin-bottom: 2em;
}
.tab-txt p{
 padding: 0;
 margin-bottom: 0;
}

.tab-area {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 50px;
}
.tab-area:after {
  content: '';
  width: 100%;
  height: 3px;
  background:#1f71b5;
  display: block;
  order: -1;
}
.tab_label {
  height: 60px;
  line-height: 60px;
  color:#000;
  background:#d9d9d9;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
  margin-bottom: 0;
}
.tab_label:not(:last-of-type) {
  margin-right: 5px;
}
.tab_content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブタブ */
.tab_active:checked+.tab_label {
  color:#fff;
  background:#1f71b5;
}
.tab_active:checked+.tab_label+.tab_content {
  height: auto;
  overflow: auto;
  padding: 20px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab_active {
  display: none;
}



@media screen and (max-width: 767px) {
  .tb-rps {
    width: 100%;
  }
  table.tb-rps th,
  table.tb-rps td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .tb-rps tr:last-child{
  }
}


/* 用途別タブ */

#area-1,
#area-2,
#area-3{
   margin-top: -100px;
    padding-top: 100px;
}

/* ここから */
.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #325A8C;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: LightGray;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  padding: 10px .5em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
.tab-switch:checked+.tab-label {
  background: #325A8C;
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);
}
.tab-switch {
  display: none;
}

.tab-label {
    margin-bottom: 1rem;
    border-radius: 0;
}
.tab-label:not(:last-of-type) {
    /*margin-right: 0;*/
    margin-right: 5px;
    border-left: 2px solid #325a8c;
}
.tab-label {
    background: #fff;
    color: #325a8c;
    border: 2px solid;
    border-left: 0;
}
/*label#tab01 {
    border-left: 2px solid #325a8c;
    border-radius: 15px 0 0 15px;
}
label#tab08 {
    border-radius: 0 15px 15px 0;
}*/

label:first-of-type {
    border-left: 2px solid #325a8c;
    /*border-radius: 15px 0 0 15px;*/
}  
label:last-of-type  {
    border-left: 2px solid #325a8c;
}  

.tab-switch:checked+.tab-label+.tab-content {
    text-align: center;
}
.tab-switch:checked+.tab-label {
    background: #325a8c;
    color: #fff;
    border-color: #325a8c;
}

/* ここまで */


.tab-txt2{
 background-color: #E3EAF6;
 padding: 10px 20px;
 margin-bottom: 2em;
}
.tab-txt2 p{
 padding: 0;
 margin-bottom: 0;
}

.tab-area2 {
  display: flex;
  flex-wrap: wrap;
  margin: 0 auto 50px;
}
.tab-area2:after {
  content: '';
  width: 100%;
  height: 3px;
  background:#1f71b5;
  display: block;
  order: -1;
}
.tab_label2 {
  height: 60px;
  line-height: 60px;
  color:#000;
  background:#d9d9d9;
  font-weight: bold;
  white-space: nowrap;
  text-align: center;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
  flex: 1;
  margin-bottom: 0;
}
.tab_label2:not(:last-of-type) {
  margin-right: 5px;
}
.tab_content2 {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブタブ */
.tab_active2:checked+.tab_label2 {
  color:#fff;
  background:#1f71b5;
}
.tab_active2:checked+.tab_label2+.tab_content2 {
  height: auto;
  overflow: auto;
  padding: 20px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab_active2 {
  display: none;
}



/* 種類別タブ */

.tab-txt2{
 background-color: #E3E3E3;
 padding: 10px 20px;
 margin: 1em 0 1.5em 0;
}
.tab-txt2 p{
 padding: 0;
 margin-bottom: 0;
}


.accordion {
  width: 100%;
  /*max-width: 360px;*/
  margin: 30px auto 20px;
  background: #FFF;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}

.accordion .link {
  cursor: pointer;
  display: block;
  padding: 15px 15px 15px 15px;
  font-size: 1.8rem;
  border-bottom: 1px solid #CCC;
  position: relative;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.accordion li{
list-style:none;
}

.accordion li:last-child .link { border-bottom: 0; }

.accordion li i {
  position: absolute;
  top: 16px;
  left: 12px;
  font-size: 18px;
  color: #595959;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.accordion li i.fa-chevron-down {
  right: 12px;
  left: auto;
  font-size: 16px;
}

.accordion li.open .link { color: #1d5198; }

.accordion li.open i { color: #1d5198; }

.accordion li.open i.fa-chevron-down {
  -webkit-transform: rotate(180deg);
  -ms-transform: rotate(180deg);
  -o-transform: rotate(180deg);
  transform: rotate(180deg);
}

/**
 * Submenu
 -----------------------------*/


.submenu {
  display: none;
}

/*
.submenu li { border-bottom: 1px solid #4b4a5e; }

.submenu a {
  display: block;
  text-decoration: none;
  color: #d9d9d9;
  padding: 12px;
  padding-left: 42px;
  -webkit-transition: all 0.25s ease;
  -o-transition: all 0.25s ease;
  transition: all 0.25s ease;
}
.submenu a:hover {
  background: #b63b4d;
  color: #FFF;
}*/



/*---取り組み---*/

.page-business{
    padding: 12em 0 6em 0 !important;
    background-image: url(../img/business/bg_img.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center center;
    background-repeat: no-repeat;	
}
.business_bg {
 padding: 8em 0;
background-color: #EAEFF9;
}
.business_bg h3 {
 text-align: center;
 margin-bottom: 1em;
}


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

.business_bg {
    padding: 8em 0 7em 0 !important;
}   
}

.bo_wh{
    border: 2px solid #fff;
}
.bo_gr{
    border: 2px solid #eee;
}


/*---取り組み---*/

.page-innovation{
    padding: 12em 0 6em 0 !important;
    background-image: url(../img/business/bg_img.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center center;
    background-repeat: no-repeat;	
}
.innovation_bg {
 padding: 8em 0;
background-color: #EAEFF9;
}
.innovation_bg h3 {
 text-align: center;
 margin-bottom: 1em;
}


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

.page-innovation{
    padding: 8em 0 7em 0 !important;
}   
}




/*---画像hoverで変化---*/

.img_link{
  position:relative;
  display:block;
  height:auto;
}
.img_link img{
  display:block;
  width:100%;
}
.img_link:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#000;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.img_link:hover:before{
  opacity:0.2;
}

.img_link2{
  position:relative;
  display:block;
  height:auto;
}
.img_link2 img{
  display:block;
  width:100%;

}
.img_link2:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#000;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
      border-radius: 10px;
}
.img_link2:hover:before{
  opacity:0.2;
}


/*---アクセス---*/

.bg-access {
 padding: 8em 0;
}

@media screen and (max-width: 767px) {
    
.bg-access {
 padding: 2em 0;
}
 }   


.bg-access p {
 color: #000;
  font-weight: 400;
  font-size: 1.5rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
}
.co_red {
 color: #E60012;
 font-weight: 600;
}
.co_bl {
 color: #036EB8;
 font-weight: 600;
}
.co_pk {
 color: #E61673;
 font-weight: 600;
}
.co_or {
 color: #F18D00;
 font-weight: 600;
}
.co_pu {
 color: #7E318E;
 font-weight: 600;
}
.bg-access h3 {
  position: relative;
  padding: 0 65px;
  text-align: center;
 margin-bottom: 2em;
}

.bg-access h3:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #000;
}

.bg-access h3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

@media screen and (max-width: 428px) {
.bg-access h3 {
  position: relative;
  padding: 0 65px;
  text-align: center;
  margin-bottom: 2em;
  font-size: 165%;
}
.bg-access p {
  color: #000;
  font-weight: 400;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  padding-top: 1em;
}
 }  


/*---プライバシーポリシー---*/

#privacy {
    line-height: 2em;
	display: block;
}

.bg-privacy {
 padding: 8em 0;
}

.bg-privacy h3 {
	font-size: 144%;
}
.bg-privacy h3 {
  position: relative;
  padding: 0 65px;
  text-align: center;
 margin-bottom: 2em;
}

.bg-privacy h3:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #000;
}

.bg-privacy h3 span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

#privacy li {
  list-style: none;
padding-bottom:1em;
}

#privacy li {
  padding-top: 10px;
  padding-bottom: 10px
  }

ol.privacy_ol{
  padding:0 0 0 2em;
  margin:0;
}
 
ol.privacy_ol li{
  list-style-type:none;
  list-style-position:inside;
  counter-increment: cnt;
      padding-right: 30px;
}
ol.privacy_ol li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}

@media screen and (max-width: 599px) {
ul#privacy {
    font-size: 120%;
}   
}   

@media only screen and (min-width:320px) and (max-width:428px) {
.bg-privacy {
 padding: 3em 0;
}
.bg-privacy h3 {
  position: relative;
  padding: 0 25px;
  text-align: center;
  margin-bottom: 2em;
}
.bg-privacy h3 {
	font-size: 124%;
}    
ul#privacy {
    padding-left: 10px;
    font-size: 115%;
}
#privacy li {
  padding-right: 10px;
  padding-top: 10px;
  padding-bottom: 10px;

  }	
	
}

/*---SDGs---*/

.page-sdgs{
    padding: 12em 0 6em 0 !important;
    background-image: url(../img/innovation/bg_img.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center center;
    background-repeat: no-repeat;	
}

/*---innovation-plan---*/

.page-innovation-plan{
    padding: 12em 0 6em 0 !important;
    background-image: url(../img/business/bg_img2.jpg);
    padding-top : 68.9930209%; /* 640÷1920x100=33.3333... */
    background-size: cover;
	background-position: center center;
    background-repeat: no-repeat;	
}

.flm-plan{
    padding: 2px;
    border: 8px solid #1D5198;
    box-shadow: 1px 1px 3px #999;
}

.page-inno-plan {
 padding: 8em 0;
}
.page-inno-plan h3 {
color: #1E5199;
  letter-spacing: 0.05em;
  padding-top: 1em;
  line-height: 2.5;
  font-weight: 600;
  font-size: 19px;
  text-align: center;
}
.page-inno-plan p {
  color: #000;
    font-size: 105%;
  letter-spacing: 0.05em;
  font-weight: 300;
  line-height: 2.3;
}
.environmental p {
  color: #000;
    font-size: 115%;
  letter-spacing: 0.05em;
  font-weight: 400;
  line-height: 1.8;
  margin: 0 1.5em;
}
.environmental ul {
	padding: 0 0.5em;
	position: relative;
}

.environmental ul li {
	line-height: 2;
	margin-left: 2em;
	margin-right: 1.5em;
    font-size: 1.6rem;
 font-weight: 300;
}
.environmental span {
  font-weight: 600 !important;
}
.environmental_ttl{
	color: #fff;
	border: solid 1px #1E5199;
    background-color: #1E5199;
	padding-top: 0.5em;
	padding-right: 1.5em;
	padding-left: 1.5em;
	padding-bottom: 0.5em;/*文字周りの余白*/
	border-radius: 0.5em;/*角丸*/
    font-size: 2rem !important;
}

.boder-gr{
    border: 1px solid #eee;
}
@media only screen and (max-width:428px){
    
.environmental p {
  color: #000;
    font-size: 130%;
  letter-spacing: 0.05em;
  font-weight: 400;
  line-height: 1.8;
  margin: 0 1.5em;
}
.environmental ul li {
  line-height: 2;
  margin-left: 1.5em;
  margin-right: 0;
  font-size: 125%;
  font-weight: 300;
}
}

.lr-boders {
  position: relative;
  padding: 0 65px;
  text-align: center;
 margin-bottom: 2em;
color: #00256c;
font-size: 2rem;
}

.lr-boders:before {
  position: absolute;
  top: calc(50% - 1px);
  left: 0;
  width: 100%;
  height: 1px;
  content: '';
  background: #00256c;
}

.lr-boders span {
  position: relative;
  padding: 0 1em;
  background: #fff;
}

@media only screen and (max-width:428px){
.lr-boders {
  position: relative;
  padding: 0;
  text-align: center;
 margin-bottom: 2em;
}

.lr-boders span {
  position: relative;
  padding: 0;
  background: #fff;
}
    }


/*---- リンク画像 hover -----*/
.img_link{
  display:block;
  position:relative;
}
.img_link img{
  display:block;
  width:100%;
}
.img_link:before{
  content:"";
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  z-index:2;
  background:#000;/*好みの色に変えてください。*/
  opacity:0;
  transition:0.3s;
}
.img_link:after{
  content:"";
  display:block;
  width:0;
  height:3px;
  position:absolute;
  bottom:0;
  left:0;
  z-index:3;
  transition:0.3s;
  background:#00256c;
}
.img_link:hover:before{
  opacity:0.5;
}
.img_link:hover:after{
  width:100%;
}

/*---- contact -----*/
#area-contact .tel {
 /* margin-bottom: 30px*/

}
#area-contact .tel a {
  color: #00256c;
  text-decoration: none;
  font-size: 4.2rem;
  font-weight: 700;
  letter-spacing: 2px;
  font-family: Roobert, Helvetica Neue, Helvetica, Arial, sans-serif;
}
#area-contact .tel a span {
  font-weight: 400;
  font-size: 1.7rem;
  color: #fff;
  padding: 5px 10px;
  margin-right: 10px;
  background-color: #00256c;
    vertical-align: middle;
}


/* ---------- form ---------- */

.tablecontact .table > thead > tr > th,
.tablecontact .table > tbody > tr > th,
.tablecontact .table > tfoot > tr > th,
.tablecontact .table > thead > tr > td,
.tablecontact .table > tbody > tr > td,
.tablecontact .table > tfoot > tr > td {
padding: 20px!important;
	} 

.tablecontact {
font-family: 'Noto Sans JP', YuGothic,'Yu Gothic','ヒラギノ角ゴシック','Hiragino Sans','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',sans-serif;
} 


.tablecontact p {
    margin-top: 10px;
}



#formWrap {
	color: #555;
	line-height: 120%;
/*	 margin-right : 10%;
     margin-left : 10%;*/
		margin-bottom: 3em;
}

.formTable  {
    margin-bottom: 2em;
}

	
.formTable .table > thead > tr > th, .table > tbody > tr > th, .table > tfoot > tr > th,
.formTable .table > thead > tr > td, .table > tbody > tr > td, .table > tfoot > tr > td {
    padding: 8px;
    line-height: 2.42857143;
    vertical-align: top;
    border: 1px solid #ddd;
}

table th {
	text-align: left;
	padding: 15px;
	border-left-width: 1px;
	border-bottom-width: 1px;
	white-space: nowrap;
	font-weight: bold;
	background-color: #F6F9FF;
	border: 1px solid #ddd;
    font-size: 110%;
}

table.formTable tr td {
    font-size: 110%;
    width: 100%;
	padding: 18px;
	border: 1px solid #ddd;
	background-color: #fff;
}

#formWrap h4 {
	font-size: 110%!important;
	margin-bottom: 3em;
}
	
	.tablecontact table {
	margin:0 auto;
	width:100%;/**/
	border-collapse:collapse;
}

.tablecontact table th {
	background-color: #DDDDDD42;
	color: #3E3A39;
	text-align: left; 
	white-space: nowrap;
	border: 1px solid #ccc;
	padding: 10px;
	vertical-align: top;
    font-weight: 500;
    font-size: 110%;
}

.tablecontact table td {
	background-color: #fff; 
	color: #3E3A39;
	text-align: left;
	border-style: none;
	/* white-space: nowrap;*/
	padding: 15px;
	border:1px solid #ccc;
    font-size: 110%;
}

table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}
table.formTable tr td #email2 {
	width: 100%;
}

table.formTable tr td #homepage {
	width: 100%;
}
table.formTable tr td #comment {
	width: 100%;
    font-size: 105%;
}
	
table.formTable tr td #question {
	width: 100%;
}

.submit{
	padding-top: 30px;
}


@media screen and (max-width:414px) {
.tablecontact {
	font-size:100%;
	padding: 2em 0em!important;
} 
	
} 	

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


/*input, button, select, textarea {
    padding: 0.3em;
}*/

textarea {
    border:1px #eee solid;
}
input[type="reset"] {
  padding: 15px 30px;
  border: none;
  margin-right: 5px;
  border-radius: 3px;
 /* height: 61px;*/
}
.btn, input[type="submit"] {
  padding: 15px 30px;
  border: none;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
/*  height: 61px;
  margin-top: -3px;*/
}
input[type="button"] {
  padding: 15px 30px;
  border: none;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
}


@media screen and (max-width: 991px) {
/*tablet用のcssを記述*/

#formWrap {
	width:100%;
	margin:0 auto;
	color:#555;
	line-height:120%;
	margin-bottom: 3em;
}

#formWrap h4 {
	font-size: 110%!important;
	margin-bottom: 3em;
}
	
	
table {
	margin:0 auto;
	width: 100%;
	border-collapse:collapse;
}
.formTable {
}
    .formTable th,
    .formTable td{
        width: 100%;
        display: block;
        border-top: none;
    }

.formTable tr:first-child th   {
	border-top: 1px solid #ddd;
}
	
table.formTable td,table.formTable th{
	padding: 15px;
	/*border-top: 1px solid #CCCCCC;*/
        border-top: none;
}

	
	
table.formTable th{
	font-weight:normal;
	background:#DDDDDD42;
	text-align:left;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding: 10px!important;
    border-bottom: none;
}
.tablecontact .table > tbody > tr > td{
    border-top: none!important;
 }
    
.table tr:last-child td{ 
        border-bottom: 1px solid #ddd;
    }
    
.table tr>*:last-child{ 
    border-bottom:none; 
    }
    
    
table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #duty-station {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}

table.formTable tr td #comment {
	width: 100%;
}

table.formTable tr td #question {
	width: 100%;
}
}


@media screen and (max-width: 767px) {
.formTable {
	
}
    .formTable th,
    .formTable td{
        width: 100%;
        display: block;
        border-top: none;
    }

.formTable tr:first-child th   {
	border-top: 1px solid #ddd;
}
	
.tablecontact table td{
border: none;
} 
table.formTable td,table.formTable th{
	padding: 15px;
	border-top: 1px solid #CCCCCC;
}

table.formTable th{
	font-weight:normal;
	background:#DDDDDD42;
	text-align:left;
		border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	padding: 10px!important;
	color: #3E3A39;
    border-bottom: 1px solid #ddd;
    font-size: 130%;
}
table.formTable tr td #campany {
	width: 100%;
}
table.formTable tr td #duty-station {
	width: 100%;
}
table.formTable tr td #name {
	width: 100%;
}
table.formTable tr td #furigana {
	width: 100%;
}
table.formTable tr td #zip {
	width: 100%;
}
table.formTable tr td #address {
	width: 100%;
}

table.formTable tr td #tel {
	width: 100%;
}

table.formTable tr td #email {
	width: 100%;
}
table.formTable tr td #comment {
	width: 100%;
}
table.formTable tr td #question {
	width: 100%;
}
table.formTable tr td #age {
	width: 50%;
}
	
}

.error_messe{
	color: #BF393B!important;
}



.f_bl{
	color: #0D3BCB;
	margin: 0;
}

.float_icon {
        float:  left;
	padding-right: 10px;
    }


.required-txt{
  background-color: #D13232;
  padding: 3px 8px;
  color: #fff;
    margin-left: 10px;
    font-size: 80%;
}

input::placeholder {
    color: #B0B0B0;
    font-size: 90%;

}

@media screen and (max-width: 480px) {
.required-txt{
  background-color: #D13232;
  padding: 3px 8px;
  color: #fff;
    margin-left: 10px;
    font-size: 100%;
}

input::placeholder {
    color: #B0B0B0;
    font-size: 120%;

}
}

@media screen and (max-width: 420px) {
.btn {
  padding: 15px 10px;
  border: none;
    border-top-color: currentcolor;
    border-right-color: currentcolor;
    border-bottom-color: currentcolor;
    border-left-color: currentcolor;
/*  height: 61px;
  margin-top: -3px;*/
}
}

/*========= 個人情報保護方針と利用目的 ===============*/


.policy {
    margin-top: 2em;
}

.policy_ttl {
    font-weight: bold;
    line-height: 1;
    margin-bottom: 15px;
}
.policy .scrollBox {
    border: 1px solid #ccc;
    width: 100%;
    height: 150px;
    margin-bottom: 15px;
    overflow: auto;
    padding: 10px;
    box-sizing: border-box;
}

.scrollBox p {
    padding: 0!important;
	margin: 0!important;
}
.scrollBox ul {
    margin-left: 15px;
}
.scrollBox li {
    padding: 0!important;
	margin: 0!important;
    font-weight: 300;
}

ol.privacy_ol {
  padding: 0 0 0 2em;
  margin: 0;
}
.privacy_ol li {
  margin: 0;
}

.form-control::placeholder {
  color: #cac9c9;
  opacity: 1;
  font-size: 120%;
}


@media only screen and (max-width:428px){
.scrollBox p {
    font-size: 115%;
}
.privacy_ol li {
        font-size: 115%;
}
.scrollBox li {
        font-size: 115%;
}
}


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

.recruit-page {
 padding: 8em 0;
}
.recruit-page h3 {
 text-align: center;
 margin-bottom: 1em;
}
.recruit-page p {
  color: #000;
    font-size: 105%;
  letter-spacing: 0.05em;
  font-weight: 300;
  /*line-height: 1.7;*/
}

@media only screen and (max-width:428px){
.recruit-page {
 padding: 4em 0;
} 
    
.recruit-page p {
  color: #000;
    font-size: 125%;
  letter-spacing: 0.05em;
  font-weight: 300;
  /*line-height: 1.7;*/
}
ol.privacy_ol {
  padding: 0 1em 0 1em;
  margin: 0;
}
  }
  


.recruit-flm ul {
	padding: 0 0.5em;
	position: relative;
}

.recruit-flm ul li {
	line-height: 2;
	margin-left: 2em;
	margin-right: 1.5em;
    font-size: 105%;
  font-weight: 300;
}
.recruit-flm span {
  color: #1E5199;
}
.recruit-flm_ttl{
	color: #1E5199;
	border: solid 2px #1E5199;
    background-color: #ECF5FB;
	padding-top: 0.5em;
	padding-right: 1.5em;
	padding-left: 1.5em;
	padding-bottom: 0.5em;
    font-size: 120%!important;
}


.rec-table {
margin-top: 3.5em;
}

.rec-table table {
background-color: #fff;
margin-top: 1em;
}

.rec-table table th {
 font-size: 110%;
 color: #3a3a3a;
}

.rec-table table th,
.rec-table table td {
 padding: 1.3em!important;
letter-spacing: 0.05em;
  font-size: 110%;
}


.rec-table table th {
    text-align: center;
    vertical-align: middle;
    background-color: rgba(229,225,223,0.60);
}


.bd_bl{
    border-bottom: 2px solid #1E5199;
    padding: 13px 10px 10px 10px!important;
    background-color: #ECF5FB;
    line-height: 1.5;
    font-size: 115%;
    font-weight: 600!important;
    padding-top: 5px;
    color: #00256c!important;
}




@media screen and (max-width: 767px) {
  .respond {
    width: 100%;
  }
  table.respond th,
  table.respond td {
    display: block;
    width: 100%;
    border-bottom:none;
  }
  .respond tr:last-child{
    border-bottom: solid 1px #ccc;
  }
}


/*MADOKA*/

.bd_bl2{
    border-bottom: 2px solid #1E5199;
    padding: 13px 10px 10px 10px!important;
    background-color: #00256c;
    line-height: 1.5;
    font-size: 125%;
    font-weight: 600!important;
    padding-top: 5px;
    color: #fff!important;
}
.bd_ore{
    padding: 13px 10px 10px 10px!important;
    background-color: #FE9E66;
    line-height: 1.5;
    font-size: 2rem;
    font-weight: 600!important;
    padding-top: 5px;
    color: #fff!important;
}
.bd_gr-wh{
    border: 1px solid #566069;
    padding: 10px 7px 7px 7px!important;
    background-color: #fff;
    line-height: 1.5;
    font-size: 125%;
    font-weight: 600!important;
    padding-top: 5px;
    color: #566069!important;
}

.bd_gr1{
    border: 1px solid #979798;
    background-color: #fff;
}

a:hover .bd_gr1{ 
    	opacity:0.7;
    	transition:0.3s;
    }


.bd_ye{
    padding: 13px 10px 10px 10px!important;
    background-color: #FFFFCB;
    line-height: 1.5;
    font-size: 125%;
    font-weight: 600!important;
    padding-top: 5px;
    color: #B24953!important;
}
.point-list{
    margin-left: 2em;
    font-size: 1.6rem;
  letter-spacing: 0.05em;
  /*font-weight: 300;*/
  line-height: 1.7;
  margin-bottom: 0;
}
.point-list span{
    color: #FE9E66;
    font-weight: 500;
}

.ch_ore{
    color: #FE9E66;
    font-weight: 500;
}

.flm-pk{
    background-color: #F6CCC7;
    border-radius: 10px;
    text-align: center;
   padding: 20px 10px 15px 10px;
    margin-top: 15px;
}
.flm-be{
    background-color: #F7EFE5;
    border-radius: 10px;
    text-align: center;
   padding: 20px 10px 15px 10px;
        margin-top: 15px;
}


@media screen and (max-width: 428px) {
.point-list{
    margin-left: 1.5em;
    font-size: 1.8rem;
}
.bd_ore{
    font-size: 2.3rem;
} 
.bd_gr-wh{
    font-size: 2rem;
}
.bd_ye{
    font-size: 2rem;
}
}  
    
/*　スケジュール　テーブル*/

.schedule-table {
    font-weight: 600 !important;
}

.schedule-table li {
    margin: 0;
    font-weight: 300;
    list-style-type: none;
}

table.schedule-table tbody th:first-child {
		text-align: center;
}

table.schedule-table {
	width:100%;
	border-right:#CCCCCC solid 1px;
	border-collapse: collapse;
}
table.schedule-table thead th {
	background:#888A8D;
	color:#FFF;
	padding:10px 10px;
	border-right:#FFF solid 1px;
	border-bottom:#FFF solid 1px;
}
table.schedule-table thead th:last-child {
	border-right:#CCCCCC solid 1px;
}

table.schedule-table tbody th {
	background:#F9F9F9;
	color:#4d4d4d;
	padding:10px 10px;
	border-bottom:#CCCCCC solid 1px;
	vertical-align:middle;
	border-left: #CCCCCC solid 1px;
	font-size: 110%;
	white-space: nowrap;
}
table.schedule-table tbody tr:first-child th {
		border-top: #CCCCCC solid 1px;
}
table.schedule-table tbody tr:last-child th {
	border-bottom:#CCCCCC solid 1px;
        /*background-color: #ccc;*/
}
.schedule-top {
	background-color: #ccc!important;
}

table.schedule-table tbody td {
	background:#FFF;
    padding:10px 10px;
	border-left:#CCCCCC solid 1px;
	border-bottom:#CCCCCC solid 1px;
	border-top: #CCCCCC solid 1px;
	vertical-align:middle;
	text-align: left;
	font-size: 110%;
	color: #4d4d4d;
}


@media screen and (max-width: 767px) {
table.schedule-table thead {
	display:none;
}
table.schedule-table tbody th {
	display:block;
}
table.schedule-table tbody td {
	border-top: none;
	display:block;

}
table.schedule-table tbody td::before {
	content: attr(label);
	float: left;
	clear:both;
	font-weight:bold;
}

}

.ra_flm{
    color: #fff;
    background-color: #1E5199;
    border-radius: 40px;
    padding: 5px 20px;
    margin-right: 10px;
}
.max-img500{
    max-width: 300px;
}
.max-img600{
    width: 600px;
}

.inn_ttl {
    color: #00256c;
  padding-top: 5px;
  margin-top: 0;
  font-size: 1.8em;
    }

.kasane{
  position: relative;
}
.kasane p{
  position: absolute;
  top:18%;
  left: 50%;
 -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  color: #000;
  font-size: 2.4rem;
  margin: 0!important;
  padding: 0!important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}
.kasane2{
  position: relative;
}
.kasane2 p{
  position: absolute;
  top:20%;
  left: 50%;
 -ms-transform: translate(-50%,-50%);
  -webkit-transform: translate(-50%,-50%);
  transform: translate(-50%,-50%);
  color: #fff;
  font-size: 2.4rem;
  margin: 0!important;
  padding: 0!important;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
}

/*------------　　親ページ　リンク 　----------*/


.box-corners {
    position: relative;
    padding: 2rem 2rem;
    background-image: linear-gradient(-135deg, transparent 10px, #00256c 10px);
    color: #00256c;
    overflow: hidden;
}

.box-corners::before {
    position: absolute;
    content: '';
    right: 0px;
    top: 0px;
    width: 15px;
    height: 15px;
    border-left: 2px solid white;
    border-bottom: 2px solid white;
}

.box-corners p {
    color: white;
    line-height: 1.5;
    margin: 0;
}



/*左二重線*/
.page-expo{
	padding:30px 20px 20px 20px;
	/*border-left:double 15px #00256c;*/
	background-color:#FFFCAD;
	box-shadow:5px 4px 9px rgba(0, 0, 0, 0.2);

}

/*囲み枠*/
.page-flm{
	padding:40px 30px 25px 30px;
	background-color:#f1f3f4;
	/*box-shadow:5px 4px 9px rgba(0, 0, 0, 0.2);*/

}


.kasou-btn{
    background-color: #eee;
}
.kasou-btn_content{
  background:#00256c;
  position:relative;
  padding:20px 20px 10px 20px;
  transition:all .2s;
  
}
.kasou-btn_content a{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.kasou-btn_content:hover{
  cursor:pointer;
  background:#939497;
}

.kasou-btn p{
    text-align: center;
    color: #fff;
    padding-top: 10px;
    font-size: 180%;
    font-weight: 300;
}

.max-img260{
    max-width: 260px;
}
.max-img200{
    max-width: 200px;
}
/*------------　上下中央 　----------*/

.outer{
  position: relative;
    top: 26%;
}

.inner{
  width: 80%;
  margin: 0 auto;
  max-width: 500px;
}

@media screen and (max-width: 428px) {
.outer{
  position: relative;
    top: 26%;
}

.inner{
  width: 100%;
  margin: 0 auto;
  max-width: 500px;
}
  
} 
/*------------　定文字+囲み線の見出し 　----------*/
.job-cat {
	position: relative;
	padding: 1rem 2rem;
	border: solid 2px #7E9BC7;
    font-size: 100%;
}
.job-cat:after {
position: absolute;
  content: "仕事内容";
  top: -17px;
  left: 15px;
  background: #fff;
  font-size: 1.5rem;
  color: #00256c;
  font-weight: 500;
  padding: 0 10px;
}
/*------------　タイトル付き囲み枠 　----------*/


.kakomi {
  position: relative;
  margin: 55px 15px 10px;
  padding: 20px 15px 15px;
  border: solid 2px #7E9BC7;
  background: #fff;
  color: #999;
  box-shadow: 5px 5px 0 #F2F2F2;
}
.kakomi .kakomi-ttl {
  position: absolute;
  top: -24px;
  left: 16px;
  line-height:48px;
  padding: 0 12px;
  background: #fff;
  color: #00256c;
  font-weight: 500;
  font-size: 115%;
}
.kakomi p {
  margin: 0;
  padding: 0;
}

@media screen and (max-width: 428px) {
.kakomi .kakomi-ttl {
  font-size: 2rem;
} 
 } 

.link05 a:hover{ 
	opacity:0.5;
	transition:0.3s;
}



/*------------　フローティングバナー 　----------*/
.rec_banner {
    position: fixed;
    margin: 15px 10px 15px 20px;
    z-index: 99998;
    bottom: 0;
    right: 0;
}
.rec_banner a {
    text-decoration: none;
}

.rec_banner-icon {
    color: #f8f8f8;
    font-size: 40px;
}

.rec_banner-back {
    width: 255px;
    background-color: #fff;
    border-radius: 5px;
}

.rec_banner-top {
    adding: 5px;
    border-radius: 5px 5px 0px 0px;
    background: #005FE1;
        color: #FFF;
    font-size: 125%;
}

.rec_banner-copy {
    font-size: 18px;
    position: relative;
    margin-bottom: 3px;
}
.rec_banner-copy::after {
    font-family: 'FontAwesome';
    font-size: 20px;
    content: '\f054';
    color: #005FE1;
    position: absolute;
    margin-top: 16px;
    top: 0;
    right: 7px;
}

.rec_banner-bottom {
    padding: 15px 10px 10px 0px;
    line-height: 1.6;
}

.rec_banner-body {
    width: 250px;
    background: #E9F6FF;
    color: #000000;
    font-weight: bold;
    text-align: center;
    border-radius: 5px;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
}
.rec_banner-body:hover {
    transition: opacity 0.3s ease;
    opacity: 0.7;
}

.rec_banner-close {
    font-weight: bold;
    position: absolute;
    top: -20px;
    right: -4px;
    z-index: 99999;
    padding: 0px 12px;
    border: none;
    background-color: #f8f8f8;
    border-radius: 5px;
    cursor: pointer;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    color: #1D5198;
    font-size: 160%;
}

@media screen and (max-width: 750px) {
.rec_banner {
        width: 100%;
        margin: 0px;
    }
.rec_banner-icon {
        font-size: 28px;
    }
.rec_banner-body {
        width: 100%;
        border-radius: 0px;
    }
.rec_banner-back {
        width: 100%;
        margin: 0px;
        border-radius: 0px;
    }
.rec_banner-top {
        padding: 5px;
        border-radius: 0px;
        background: #005FE1;
    color: #fff;
    }
.rec_banner-bottom {
        padding: 10px 10px 2px 10px;
    }
.rec_banner-copy {
        font-size: 15px;
    margin-bottom: 10px;
    margin-right: 15px;
    }
.rec_banner-copy::after {
        font-size: 12px;
        margin-top: 1.4px;
        margin-left: 12px;
        top: initial;
        right: initial;
    }
.rec_banner-close {
        top: -8px;
        right: 9px;
    }
.rec_banner-copy-br {
        display: none;
    }
}


.top-ttl {
  font-size: 3.4rem;
  color: #111;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: 200;
    text-align: center;
}
.top-ttl span {
  margin-bottom: 50px;
  font-size: .4em;
  color: #00256c;
  line-height: 1;
  font-weight: 200;
  font-family: Work Sans,sans-serif;
  display: block;
}


/* -------------------------------- 
 concept-area
-------------------------------- */

.content-ttl {
  font-weight: 600;
  text-align: center;
  font-size: 26px;
  padding-bottom: .5em;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
  color: #00256C;
  letter-spacing: 0.09em;
}

.ud-box {
    margin-top: 20%;
}


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

.lr-cap {
	font-size: 24px;
    margin-bottom: 16px;
    line-height: 1.5;
    font-weight: 500;
	margin-bottom: 20px;
	color: #00256C;
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
	font-weight: 600;
}

.floated{
	position:relative;
}
.floated .left{
	width:50%;
	float:left;
}
.floated .right{
	width:50%;
	float:right;
}
.floated .box{
	text-align:left;
	overflow:hidden;
	padding-bottom:20px;
}
.floated .left .box{
	margin:0 0 0 auto;
}
.floated .right .box{
	margin:0 auto 0 0;
}
.floated .left.text{
	padding-left:4%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 500px;
}
.floated .right.text{
	padding-right:4%;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
	min-height: 500px;
}
.floated .box .desc{
	padding-top:20px;
	padding-bottom:20px;
}
.floated .left .box .desc{
	padding-left:3%;
	padding-right:8%;
}
.floated .right .box .desc{
	padding-right:3%;
	padding-left:8%;
}
.floated .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 560px;
}
.floated .image .img_bg{
	background-position:center center;
	background-repeat:no-repeat;
	background-size:cover;
	position:absolute;
	top:0;
	width:50%;
	height:100%;
}
.floated .left .image .img_bg{
	left:0;
}
.floated .right .image .img_bg{
	right:0;
}
.article .floated .box h3{
	text-align:left;
	padding-top:30px;
	padding-bottom:4px;
	position:relative;
	font-size:171.43%;
	padding-right:8%;
	padding-left:3%;
}
.article .floated .right .box h3{
	padding-left:8%;
	padding-right:3%;
}

.article .floated .right .box h3:before{
	left:8%;
	margin-left:-35px;
}
.article .floated .box h4{
	padding-right:8%;
	padding-left:3%;
	text-align:left;
	padding-bottom:8px;
	padding-top: 5%;
}
.article .floated .right .box h4{
	padding-left:8%;
	padding-right:3%;
	padding-top: 5%;
}

#two-divisions .floated .box p{
font-size: 95%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}

.lr-area .desc2 {
		font-size: 100% !important;
		line-height: 2;
	}
	
.p-button {
    background: #FA7E0A;
        background-color: rgba(255,110,47,1.00);
    box-sizing: border-box;
    color: #fff;
    display: inline-block;
    font-size: 14px;
    line-height: 50px;
    text-align: center;
    min-width: 200px;
    height: 50px;
    padding: 0 15px;
}

a.p-button:hover {
    color: #FCFF57!important;
	background: #07913A;
}
.p-main-btn {
    align-self: center;
}

@media screen and (max-width: 1199px){
	.floated .image img{
	display:block;
	width:100%;
	filter:alpha(opacity=0);
	-moz-opacity:0;
	-khtml-opacity:0;
	opacity:0;
	min-height: 460px;
}
}	

@media screen and (max-width: 768px){
	
		.ud-box {
    margin-top: 10%;
}
	
	.floated .left{
		float:none;
		clear:both;
		width:100%;
	}
	.floated .right{
		float:none;
		clear:both;
		width:100%;
	}
	.floated .right.text,
	.floated .left.text{
		padding:0;
		min-height: 100%;
	}
	.floated .image{
		position:relative;
	}
	.floated .image img{
		display:block;
		min-height: 530px;
	}
	
	
	.floated .image .img_bg{
		/*display:none;*/
		width:100%;
	}
	.floated .text .box{
		padding-left:25px;
		padding-right:25px;
		padding-bottom:15px;
	}
	.article .floated .right .box h3:before,
	.article .floated .box h3:before{
		left: 15px;
		top: 12px;
		width: 42px;
	}
	.article .floated .right .box h3,
	.article .floated .box h3{
		font-size:135.71%;
		padding-left:0;
		padding-right:0;
		padding-top:25px;
		padding-bottom:2px;
	}
	.article .floated .right .box h4,
	.article .floated .box h4{
		padding-left:0;
		padding-right:0;
		padding-top:0;
		padding-bottom:6px;
	}
	
	
	.floated .right .box .desc,
	.floated .left .box .desc{
		padding-left:0;
		padding-right:0;
		padding-top:12px;
		padding-bottom:0;
	}
	.article .floated .box h4{
			text-align: center!important;
	}



	
	.lr-area .floated .right .box h3:before,
	.lr-area .floated .box h3:before{
		left: 15px;
		top: 12px;
		width: 42px;
	}
	.lr-area .floated .right .box h3,
	.lr-area .floated .box h3{
		font-size:135.71%;
		padding-left:0;
		padding-right:0;
		padding-top:25px;
		padding-bottom:2px;
	}
	.lr-area .floated .right .box h4,
	.lr-area .floated .box h4{
		padding-left:0;
		padding-right:0;
		padding-top:0;
		padding-bottom:6px;
	}
	.lr-area .floated .box h4{
			text-align: center!important;
	}	

	
#two-divisions .floated .box p{
font-size: 90%;
line-height: 200%;
display: block;
padding-bottom: 0px;
text-align: left;
padding-top: 0;
max-width: 100%;
}
	
	
.floated .box .desc{
	padding-top:20px;
	padding-bottom:50px;
}
.lr-area .desc2 {
    font-size: 100% !important;
    line-height: 2;
    margin-bottom: 2em;
}
	
.desc2{	
padding-right: 3%;
padding-left: 3%;
}	

	.floated .right .box .desc{
	padding-right:3%;
	padding-left:3%;
}	
}

@media only screen and (max-width : 414px) {
	.ud-box {
    margin-top: 10%;
}
	
	.lr-cap {
	font-size: 21px;
    margin-bottom: 16px;
    line-height: 1.5;
    font-weight: 600;
	margin-bottom: 15px;
}

	
		.floated .text .box{
		padding-left:10px;
		padding-right:10px;
		padding-bottom:10px;
	}
	
	.article .floated .right .box h3:before,
	.article .floated .box h3:before{
		text-align: center;

	}
	.article .floated .right .box h3,
	.article .floated .box h3{
		text-align: center;
		line-height: 30px;
	}
	.lr-area .floated .right .box h3:before,
	.lr-area .floated .box h3:before{
		text-align: center;

	}
	.floated .right .box h3,
	.floated .box h3{
		text-align: center;
		line-height: 30px;
	}
	
.floated .right .box .desc {
padding-right: 0;
padding-left: 0;
}
	
	.desc2{	
padding-right: 0;
padding-left: 0;
}
	
	
	.floated .image img{
		display:block;
		min-height: 340px;
	}	
}

.cat-txt{
    font-family: "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, "メイリオ", "Osaka", "MS PGothic", "ＭＳ Ｐゴシック", sans-serif;
    margin-top: 10px!important;
    font-size: 1.8em;
    margin-bottom: 15px!important;
    color: #00256c;
    border-bottom: 1px solid #7F7F7F;
    padding-bottom: 7px!important;
}

/*　外部リンクにアイコン追加*/

a[target="_blank"] {
  &:after {
    font-family: "Font Awesome 5 Free";
    content: "\f35d";
    font-weight: 900;
    margin: 0 0.35rem;
  }
}

.bo-r{
    border-right: 1px solid #D0D0D0;
    background-color: #F3F6F8;
}
.bo-r2{
    border-right: 1px solid #D0D0D0;
    background-color: #fff;
}
.bl-ff{
    background-color: #00256c;
    color: #fff;
    margin: 0!important;
    text-align: center;
    padding: 10px!important;
}

/* 以下追加25/01/30 */

/* セクション間の間隔を広くして見出しが重ならないように */
.service-program h2, .service-program h3 {
  margin-top: 2rem; /* 上下に十分な余白を追加 */
  margin-bottom: 1.5rem;
}

/* テキストの中央揃え */
.intro-text, .service-program p, .service-program ul {
  font-size: 1.1rem;
  line-height: 1.6;
  color: #333;
  text-align: center; /* テキスト全体を中央揃え */
  max-width: 800px; /* テキスト部分の最大幅を制限 */
  margin: 0 auto 2rem; /* 中央に配置 */
}

/* リストのデザイン */
.service-program ul {
  padding-left: 0;
  list-style-type: none; /* デフォルトのリストマーカーを消す */
  text-align: center;
}

.service-program ul li {
  display: inline-block;
  margin-right: 1rem;
  margin-bottom: 0.5rem;
  padding: 0.3rem 0.8rem;
  background-color: #f0f0f0;
  border-radius: 5px;
}

/* 見出しのフェードインアニメーション */
@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

/* 全体をフェードイン効果でおしゃれに */
.large-heading, .medium-heading, .small-heading, .intro-text, .service-program p, .service-program ul {
  animation: fadeIn 1s ease-in-out;
}

/* 大見出しのスタイル (背景を画面いっぱいに広げる) */
.large-heading {
  font-size: 2rem;
  color: #fff;
  background-color: #ff9900;
  padding: 0.5rem 0;
  text-align: center;
  border-radius: 8px;
  margin-bottom: 1.5rem;
  box-shadow: 0 3px 6px rgba(0, 123, 255, 0.5);
  width: 100vw; /* 画面いっぱいに背景を広げる */
  margin-left: calc(-50vw + 50%); /* 背景を中央に配置 */
}

/* 中見出しのスタイル (大見出しより狭く、小見出しより広く) */
.medium-heading {
  font-size: 1.5rem;
  color: #fff;
  background-color: #fdd9b8;
  padding: 0.4rem 1rem;
  text-align: center;
  border-radius: 8px;
  margin-bottom: 2rem;
  box-shadow: 0 3px 6px rgba(0, 86, 179, 0.5);
  width: 80%; /* 大見出しより狭く、中間的な幅 */
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* 小見出しのスタイル (中見出しより狭く、現在より広く) */
.small-heading {
  font-size: 1.2rem;
  color: #fff;
  background-color: #ffe5cc;
  padding: 0.3rem 1rem;
  text-align: center;
  border-radius: 6px;
  margin-bottom: 1rem;
  box-shadow: 0 2px 4px rgba(0, 61, 128, 0.5);
  width: 60%; /* 中見出しより狭く、現在より広めの幅 */
  max-width: 600px;
  margin-left: auto;
  margin-right: auto;
  display: block; /* 中央に確実に配置 */
}

/* 「ABA(応用行動分析学)理論に基づいた、一人ひとりに寄り添った支援」の文字サイズ調整 */
.small-heading.aba-support {
  font-size: 0.8rem; /* 文字サイズをさらに小さくして1行に収める */
  line-height: 1.2;  /* 行間をさらに詰める */
  letter-spacing: 0.03rem; /* 文字間隔を少し広げる */
  max-width: 100%; /* 行が折り返さないようにする */
  white-space: nowrap; /* 改行を防ぐ */
}

/* 画像ギャラリーのスタイル */
.image-gallery {
  display: flex;
  justify-content: center; /* 画像を中央に配置 */
  gap: 1rem; /* 画像の間隔 */
}

.image-gallery img {
  width: 30%; /* 画像を小さく */
  border-radius: 10px;
  transition: transform 0.3s ease-in-out;
}

.image-gallery img:hover {
  transform: scale(1.1); /* ホバーで画像を少し拡大 */
}

/* セクション間の間隔を広くして見出しが重ならないように */
.service-program h2, .service-program h3 {
  margin-top: 2rem; /* 上下に十分な余白を追加 */
  margin-bottom: 1.5rem;
}