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


body {
/*font-family: 'proxima-nova', 'Proxima Nova', 'Noto Sans Japanese', -apple-system, BlinkMacSystemFont, MyYuGothicM, YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;*/
    /*font-family: 'Raleway', Arial, sans-serif;*/
    /*font-family: 'メイリオ',Meiryo,"ヒラギノ角ゴ Pro W3",Osaka,"ＭＳ Ｐゴシック",sans-serif;*/
    font-family: 'Lato', sans-serif;
    line-height: 1.8;
    letter-spacing: .75px;
    word-wrap: break-word;
    color: #383838;
    -webkit-text-size-adjust: 100%;
    overflow-wrap: break-word;
    font-size: 14px; 
}
.h1_logo {font-size: 12px; padding: 0; margin: 0; }

@media screen and (max-width: 768px) {
    body {
font-size: 11.5px; line-height: 1.6em; letter-spacing: .3px;}
    .h1_logo {font-size: 7px; padding: 0 5px; margin: 0; }

}
.font120 {font-size: 120%; padding-bottom: 0.5em;}
/*パンくずリスト*/
.pankuzu_box {
    padding: 15px 15px; }
.breadcrumb {
  margin: 0;
  padding: 0;
  list-style: none;
    font-size: 12px;
    text-align: right;
}
@media screen and (max-width: 768px) {
    .pankuzu_box {padding: 10px 4%;
    background-color: #f4f8f9;}
    .breadcrumb {
    font-size: 10px;
}
}
.breadcrumb li {
  display: inline;/*横に並ぶように*/
  list-style: none;
  font-weight: bold;/*太字*/
}

.breadcrumb li:after {/* >を表示*/
  content: '>';
  padding: 0 0.2em;
  color: #0353a4;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a {
  text-decoration: none;
  color:#0353a4;/*色*/
    transition:all 0.5s;
}

.breadcrumb li a:hover {
  text-decoration: none;
    border-bottom: solid 1px #0353a4;
    
}
/*パンくずリスト*/

.white {color: #FFF;}
.red {color: #FF0004;}
a {vertical-align:bottom}
a {
	transition: 0.2s ;
}
img {vertical-align:bottom}

.cntr{text-align: center;}
@media screen and (max-width: 480px) {
.cntr{text-align: left;}
}
a {text-decoration: none;}
/*webpage読み込み時にフェードイン*/
body {
    animation: fadeIn 2s ease 0s 1 normal;
    -webkit-animation: fadeIn 2s ease 0s 1 normal;
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}
/*webpage読み込み時にフェードイン*/

article {
	height: 1000px;
	margin: 100px auto;
	text-align: center;
	line-height: 1.9;
}
article p {
	margin-bottom: 1em;
}
a {
	color: #4d4d4d;
}
a:hover {
	color: #0353a4;
}
.cntr {text-align: center;}

@media screen and (max-width: 768px) {
.sp_cntr {text-align: center;}
}
/*可視範囲に入ったらふわっと表示*/
/* 画面外にいる状態 */
.fadein {
	opacity : 0;
	transform : translate(0px, 100px);
	transition : all 600ms;
	}
/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0px, 0px);
	}
/* 2つ目の要素に200msのdelayをかける */
.effect2 .fadein:nth-of-type(2) {
	-moz-transition-delay:200ms;
	-webkit-transition-delay:200ms;
	-o-transition-delay:200ms;
	-ms-transition-delay:200ms;
	}
/* 3つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(3) {
	-moz-transition-delay:400ms;
	-webkit-transition-delay:400ms;
	-o-transition-delay:400ms;
	-ms-transition-delay:400ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(4) {
	-moz-transition-delay:600ms;
	-webkit-transition-delay:600ms;
	-o-transition-delay:600ms;
	-ms-transition-delay:600ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(5) {
	-moz-transition-delay:800ms;
	-webkit-transition-delay:800ms;
	-o-transition-delay:800ms;
	-ms-transition-delay:800ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(6) {
	-moz-transition-delay:1000ms;
	-webkit-transition-delay:1000ms;
	-o-transition-delay:1000ms;
	-ms-transition-delay:1000ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(7) {
	-moz-transition-delay:1200ms;
	-webkit-transition-delay:1200ms;
	-o-transition-delay:1200ms;
	-ms-transition-delay:1200ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(8) {
	-moz-transition-delay:1400ms;
	-webkit-transition-delay:1400ms;
	-o-transition-delay:1400ms;
	-ms-transition-delay:1400ms;
	}
/* 4つ目の要素に400msのdelayをかける */
.effect2 .fadein:nth-of-type(9) {
	-moz-transition-delay:1600ms;
	-webkit-transition-delay:1600ms;
	-o-transition-delay:1600ms;
	-ms-transition-delay:1600ms;
	}
/*可視範囲に入ったらふわっと表示*/
/* ▲▲▲ここまではナビゲーションに関係ない設定▲▲▲ */








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

　   HEADER

--------------------------------------------------------------------------------------------- */
    /*headerの背景色*/
.header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #FFF;
  transition: all 0.8s ease;
    z-index: 3333;
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
    /*height: 95px;*/
	height: 104px;
}

.hidden {
  background-color: rgba(255,255,255,0.8);
    transition: all 0.8s ease;
}
    /*headerの背景色*/



.bunner_box {
   display: flex;
  flex-wrap: wrap;
  align-items: center;
justify-content: flex-end;
    padding: 0 10px;

}
.bunner_box .h1_logo {margin-right: auto;}

@media screen and (max-width: 1200px) {
.bunner_box {
   display: flex;
  flex-wrap: wrap;
  align-items: center;
justify-content: center;

}
}
.tel_box {
/*    background-color: #2c6790;
*/    display: flex;
  flex-wrap: wrap;
  align-items: center;
justify-content: flex-start;
max-width: 413px;
}
.tel_box .tel_time {
    font-size: 13px;
	line-height: 1.4;
	margin-left: 0.6em;
	margin-top: 0.3em;
	color: #000000;
}
.tel_box .tel_lead {
    font-size: 13px;
	line-height: 1.4;
	color: #000000;
}

@media screen and (max-width: 959px) {
    .tel_box {display: none;}
}
.tel_box a {
    font-size: 30px;
    padding: 0;
    color: #061a40;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1.4em;


}
.tel_txt {
    font-size: 14px;
    color: #000;
    border: solid 1px #000;
    padding: 1px 5px;
    vertical-align: middle;
    margin-right: 0.5em;
}

.tel_box .tel_time {
    font-size: 12px;
	line-height: 1.36;
}

.btn2 a {
    font-size: 13px;
    background-color: #061a40;
    border-radius: 20px;
    color: #FFF;
    font-weight: 900;
    padding: 0.5em 0.8em;
    margin: 0em 0.5em 0em;


}
@media screen and (max-width: 1200px) {
    .tel_box a {
    font-size: 20px;
    padding: 0;
    color: #061a40;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Pathway Gothic One', sans-serif;


}
.tel_txt {
    font-size: 13px;
    color: #000;
    border: solid 1px #000;
    padding: 1px 5px;
    vertical-align: middle;
    margin-right: 0.5em;
}
.btn2 a {
    font-size: 11px;
    background-color: #061a40;
    border-radius: 20px;
    color: #FFF;
    font-weight: 900;
    padding: 0.5em 0.8em;
    margin: 0 0.5em 0;

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

    .bunner_box {
   display: flex;
  flex-wrap: wrap;
  align-items: center;
justify-content: center;
padding: 0.5em;
        margin: 0;
}
    
    
    .tel_box {display: none;}
    }










/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.sp_logo {position: absolute; top: 15px; left: 20px;}
.sp_logo img {width: 200px;}
.menu-mobile {
    display: none;
    padding: 10px 20px 20px;
}

.menu-mobile:after {
    content: "\f394";
    font-family: "Ionicons";
    font-size: 2rem;
    padding: 0;
    float: right;
    position: relative;
    top: 0;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);
    color: #383838;
}

.menu-dropdown-icon:before {
    content: "\f489";
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1.5em 2em;
    background: #fff;
    color: #333;
}

.menu > ul {
    margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0 10px;
    position: relative;
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
  justify-content: flex-end;
  align-items: stretch;
  list-style: none;
}
/*.menu > ul li:first-child{
    margin-right: auto;
}
.menu > ul li:first-child a{
    padding: 0 0.6em;
}
.menu > ul li:first-child a::before {
    content:none;}
*/


.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}

.menu > ul > li {
    float: left;
    padding: 0;
    margin: 0;
   
}
.menu > ul > li a::before {
    content: "/";
    margin-left: .3em;
    margin-right: .3em;
}
.menu > ul > li a {
    text-decoration: none;
    /*padding: 1em 0.2em;*/
	padding: 0.6em 0.2em;
    display: block;
    color: #383838;
     text-align: center;
    
}
.menu > ul > li.btn {
    
}
.menu > ul > li.btn a {
    background-color: #0353a4;
    border-radius: 20px;
    color: #FFF;
    font-weight: 900;
    padding: 0.5em 0.8em;
    margin: 0.5em 0.5em;
    
}
.menu > ul > li.btn2 a {
    background-color: #061a40;
    border-radius: 20px;
    color: #FFF;
    font-weight: 900;
    padding: 0.5em 0.8em;
    margin: 0.5em 0.5em;
    
}
.menu > ul > li.btn a::before,.menu > ul > li.btn2 a::before {
    content:none;
}
.menu > ul > li a:hover {

}

.menu > ul > li > ul {
    display: none;
    width: 100%;
    background-color: rgba(255,255,255,0.97);
    padding: 20px;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
    box-shadow: 0px 3px 15px rgba(0,0,0,0.2);
   
    transition:all ４s ease-out;
    
}

.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li {
    margin: 0;
    padding-bottom: 0;
    list-style: none;
    width: 19%;
    margin: 0 0.5%;
    background: none;
    float: left;
    
    
}

.menu > ul > li > ul > li a {
color: #4d4d4d;
    padding: 0.5em;
    width: 95%;
    display: block;
    border-bottom: 1px solid #ccc;
     text-align: left;
    font-weight: 700;
    letter-spacing: 0;position: relative;
    padding-left: 30px;
}

.menu > ul > li > ul > li a:before {
        content: "\f00c";
        font-family: FontAwesome;
        position: absolute;
        left: 10px;
        top: 7px;
    color: #0353a4;
    }
.menu > ul > li > ul > li a:hover {
    background-color: #0353a4;
    color: #FFF;
    border-bottom: 1px solid #0353a4;
}
.menu > ul > li > ul > li a:hover:before {
        content: "\f00c";
        font-family: FontAwesome;
        position: absolute;
        left: 10px;
        top: 7px;
    color: #FFF;
    }

.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}

.menu > ul > li > ul > li > ul:before,
.menu > ul > li > ul > li > ul:after {
    content: "";
    display: table;
}

.menu > ul > li > ul > li > ul:after {
    clear: both;
}

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    margin: 0;
    font-size: .8em;
 
}
.menu > ul > li > ul > li > ul > li.menuttl {font-size: 12px; width: 95%; margin: 1em 0 0.5em; background-color: #F4F4F4; color: #4d4d4d; line-height: 1.4em; padding: 0.8em 1em 0.8em;}
.menu > ul > li > ul > li > ul > li a {
    border: 0;
     text-align: left;
    font-weight: normal;
    line-height: 1.6em;
    
    position: relative;
  display: inline-block;
  padding: 8px 15px 5px 10px;
  color: #4d4d4d;
  text-decoration: none;
}
.menu > ul > li > ul > li > ul > li a:hover {
    background-color: #0353a4;
    border-bottom: none;
}
.menu > ul > li > ul > li > ul > li a:hover {
    color: #FFF;
}
.menu > ul > li > ul > li > ul > li a::after {
    content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #4d4d4d;
  border-right: solid 1px #4d4d4d;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -3px;
  transform: rotate(45deg);
}
.menu > ul > li > ul > li > ul > li a:hover::after {
    content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -3px;
  transform: rotate(45deg);
}
.menu > ul > li > ul > li > ul > li a::before {display: none;}/*check着いてしまうの防ぐ*/

.menu > ul > li > ul.normal-sub {
    width: 330px;
    left: auto;
    /*padding: 10px 10px;*/
    

}
.menu > ul > li > ul.normal-sub.normal-sub_last {
    position: absolute;
    /*right: 0;*/
}
.menu > ul > li > ul.normal-sub > li {
    width: 100%;
}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    padding: 1em 0;
    
    
    border: 0;
     text-align: left;
    font-weight: normal;
    line-height: 1.4em;
    
    position: relative;
  display: inline-block;
  padding-left: 15px;
  color: #4d4d4d;
  text-decoration: none;
}

.menu > ul > li > ul.normal-sub > li a::after {
    content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #4d4d4d;
  border-right: solid 1px #4d4d4d;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -5px;
  transform: rotate(45deg);
}
.menu > ul > li > ul.normal-sub > li a::before {display: none;}/*check着いてしまうの防ぐ*/
.menu > ul > li > ul.normal-sub > li:hover {
    background-color: #0353a4;
}
.menu > ul > li > ul.normal-sub > li:hover a {
     color: #FFF;
}
.menu > ul > li > ul.normal-sub > li a:hover::after {
    content: '';
  width: 5px;
  height: 5px;
  border: 0;
  border-top: solid 1px #FFF;
  border-right: solid 1px #FFF;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -5px;
  transform: rotate(45deg);
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

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

    .header {height: 75px;}
    .sp_logo {
        display: block; position: absolute;
top:10px;
left: 18px;}
.sp_logo img {width: 160px; }
    
    .menu-mobile {
        display: block;
        /*height: 50px;*/
        height: 50px;
        
        
    }
    .menu-dropdown-icon:before {
        display: block;
    }
    .menu > ul {
        display: none;
         width: 100%;
    }
    .menu > ul > li {
        width: 100%;
        float: none;
        display: block;
        background-color: #F4F4F4;
    }
    .menu > ul > li a {
        padding: 1.5em;
        width: 100%;
        display: block;
        color: #4d4d4d;
        text-align: left;
    }
    .menu > ul > li.logo {display: none;}
    .menu > ul > li > ul {
        position: relative;
    }
    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }
    .menu > ul > li > ul > li {
        float: none;
        width: 100%;
        /*margin-top: 20px;*/
    }

    .menu > ul > li > ul > li:first-child {
        margin: 0;
    }
    .menu > ul > li > ul > li > ul {
        position: relative;
    }
    
    .menu > ul > li > ul > li > ul > li {
        float: none;
    }
    .menu > ul > li > ul > li > ul > li.menuttl {
        margin: 0.5em 0 0.3em;
        padding: 0.5em 1em 0.5em;
    }
    .menu .show-on-mobile {
        display: block;
       background-color: rgba(0,0,0,0.3);
        
        
        overflow-y: scroll;  
　　 z-index: 999;
    top:0;
    
    
        position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow-y: auto;
       margin-top: 70px;
        margin-bottom: 170px;
        
height: calc(100% - 130px);
        margin: 70px auto 60px;
    }
}








/* パソコンで見たときは"pc"のclassがついた画像が表示される */
.pc { display: block !important; }
.sp { display: none !important; }
/* スマートフォンで見たときは"sp"のclassがついた画像が表示される */
@media only screen and (max-width: 768px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
@media only screen and (min-width: 768px) {
/*----------------------------------------------------------------*/
/* 共通 */
/*----------------------------------------------------------------*/

.sp-hide {
	display: inline !important;
}

.pc-hide {
	display:none !important;	
}
}
@media only screen and (max-width: 768px) {
/*----------------------------------------------------------------*/
/* 共通 */
/*----------------------------------------------------------------*/

.sp-hide {
	display:none !important;	
}

.pc-hide {
	
    display: inline !important;
}
}

.contents {margin: 3% 1%;}
.container { 
    margin: 0 auto;
    padding: 4% 0;
    width: 1200px;
    }
.container_m10 { 
    margin: 0 auto;
    padding: 3% 0;
    width: 1200px;
    }
.container_menu { 
    margin: 0 auto;
    padding: 1% 0;
    width: 1200px;
    }
.container_m0 { 
    margin: 0 auto;
    padding: 3% 0 0;
    width: 1200px;
    }
.container970 { 
    margin: 0 auto;
    padding: 3% 0;
    width: 970px;
    }
.container1400 { 
    width: 100%;
    margin: 0 auto;
    padding: 4% 8%;
    
    }
.container1128 { 
    margin: 0 auto;
    padding: 3% 0;
    width: 1128px;
    
    }
.containerfooter { 
    margin: 0 auto;
    padding: 2% 0 3%;
    width: 970px;
    
    }
@media screen and (max-width:1200px) { 
.container { 
    padding: 4% 4%;
    width: 100%;
}
    .container_menu { 
    padding: 1% 2%;
    width: 100%;
    }
    .container_m10 { 
    padding: 4% 4%;
    width: 100%;
    }
    .container_m0 { 
    padding: 4% 4%;
    width: 100%;
    }
}
@media screen and (max-width:970px) { 
.container970 { 
    padding: 4% 6%;
    width: 100%;
}
    .containerfooter { 
    padding: 7%;
    width: 100%;
    
    }

}
@media screen and (max-width:1200px) { 
.container1400 { 
    margin: 0 auto;
    padding: 8% 3%;
    
    }
}
@media screen and (max-width:1200px) { 
.container1128 { 
    padding: 4% 6%;
    width: 100%;
    }

}
@media screen and (max-width:600px) {
    .container_menu { 
    padding: 0;
    width: 100%;
    }}





/*フッター固定*/


.footeranimation {
      display: none;
      width: 100%;
background: #003559;
      position: fixed;
      bottom: 0;
      z-index:999;
    } 
.site-footer {padding-bottom: 90px;}
#footfix {
    

/*border-top:solid 1px #87d2e7;*/}
#footfix_in {
    width: 100%;
    display: flex;
    margin: 0 auto;
    padding: 10px 0;
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;  /* 子要素をflexboxにより中央に配置する */

}
.footfix_in_1 {
	text-align: center;
}
.footfix_in_1 a {
	font-size: 32px;
	padding: 0 5px;
	color: #FFF;
	font-weight: 600;
	text-decoration: none;
	font-family: 'Pathway Gothic One', sans-serif;
	line-height: 1em;
}
.footfix_in_1 .text {
	font-size: 12px;
	padding: 0 5px;
	color: #FFF;
	margin-top: 2px;
}
/*.footfix_in_1 a:before {

    content: '';
  display: inline-block;
  width: 40px;
  height: 40px;
  background-image: url(../img/common/freedial.png);
  background-size: contain;
  vertical-align: middle;
    margin-right: 10px;
}
*/.footfix_in_2{font-size: 1em;
    color: #FFF;
    border: solid 1px #FFF;
    padding: 1px 5px;
    vertical-align: middle;
margin: 0 15px;}
.footfix_in_3 a{
    display: block; background:#FFF; 
    color: #003559;
    padding: 3px 60px;
    border: solid 2px #FFF;
    border-radius: 30px;
    font-size: 16px;
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 700;
text-decoration: none;
margin: 0 5px;}
.footfix_in_3 a:hover{background:#0353a4; 
    color: #FFF;
    border: solid 2px #FFF;
text-decoration: none;}
@media screen and (max-width:1200px) {
	.footfix_in_1 a {
		font-size: 30px;
	}
	.footfix_in_1 .text {
	font-size: 11px;
}
	.footfix_in_2 {
		font-size: 12px;
	}
	.footfix_in_3 a {
		font-size: 13px;
		padding: 1px 20px;
	}
	.footfix_in_3 a:hover {
		padding: 1px 20px;
		font-size: 13px;
	}
}
@media screen and (max-width:768px) {
    .footfix_in_1 a:before {

    content: '';/*何も入れない*/
  display: inline-block;/*忘れずに！*/
  width: 20px;/*画像の幅*/
  height: 20px;/*画像の高さ*/
  background-image: url(../img/common/freedial.png);
  background-size: contain;
  vertical-align: middle;
    margin-right: 5px;
}
    .footfix_in_1 a {font-size: 20px;}
    .footfix_in_2 {font-size: 9px; padding: 1px 5px; margin: 0 5px;/* order: 3;*/ display: none;}
    .footfix_in_3 a {font-size: 11px; padding: 1px 10px;}
        .footfix_in_3 a:hover{
     font-size: 11px; padding: 1px 10px;
}
    }
/*フッター固定*/


/*ページトップへ戻る・ページ内スクロール*/

#page_top{
  width: 90px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 0px;
  opacity: 1;
    z-index: 999;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f077';
  font-size: 25px;
  color: #FFF;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 400;
  content: 'PAGE TOP';
  font-size: 13px;
  color: #FFF;
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
@media screen and (max-width:768px) {
    #page_top{
  width: 90px;
  height: 60px;
  position: fixed;
  right: 10px;
  bottom: 50px;
  opacity: 1;
    z-index: 999;
}
#page_top a{
  position: relative;
  display: block;
  width: 90px;
  height: 60px;
  text-decoration: none;
}
#page_top a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f077';
  font-size: 25px;
  color: #003559;
  position: absolute;
  width: 25px;
  height: 25px;
  top: -40px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
#page_top a::after{
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 400;
  content: 'PAGE TOP';
  font-size: 13px;
  color: #003559;
  position: absolute;
  top: 30px;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}
}
/*ページトップへ戻る・ページ内スクロール*/


/*ーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーーー*/
/*2カラム1カラム*/
.flex_21 {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
justify-content: center;
      margin: 2% 0;
}
 
.flex_21 .flex_21_in_left {
  width: 48%;
    margin-right: 2%
}
.flex_21 .flex_21_in_right {
  width: 48%;
    margin-left: 2%
}
.flex_21 .flex_21_in_left img,.flex_21 .flex_21_in_right img{
    width: 100%;
}

@media screen and (max-width: 768px) {
    .flex_21 {
      margin: 4% 0;
}
.flex_21 .flex_21_in_left,.flex_21 .flex_21_in_right {
  width: 98%;
    margin: 3% 1%
}

}
/*2カラム1カラム*/

/*最新情報*/
section.infomation {
    padding: 4% 0;
    background: linear-gradient(135deg, rgba(6, 143, 255, 0.6), rgba(113, 184, 255, 0.6) ) fixed,url(../img/top/messagebk.jpg);
    background-size: cover;
    background-position: bottom center;
    background-attachment: fixed;}

.infomation h2 {
     font-family: 'Red Hat Display', sans-serif;
    font-weight: 700;
        color: #003559; 
    font-size: 30px; 
    line-height: 1.1em;
letter-spacing: 2px;
    text-align: center;
    position: relative;
    margin-bottom: 25px;
    text-transform:uppercase;
}
.infomation h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -7px;/*線の上下位置*/
  display: inline-block;
  width: 60px;/*線の長さ*/
  height: 1px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #003559;/*線の色*/
  border-radius: 2px;/*線の丸み*/
}
.infomation h2 span {
    font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
    font-size: 14px; 
    font-weight: 900;
    letter-spacing: 1px;
    display: block;
}

@media screen and (max-width: 768px) {
    .infomation h2 {
     font-size: 20px; 
    line-height: 25px;
letter-spacing: 1px;
    }

    .infomation h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -5px;/*線の上下位置*/
  display: inline-block;
  width: 40px;/*線の長さ*/
  height: 1px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #003559;/*線の色*/
  border-radius: 2px;/*線の丸み*/
}
.infomation h2 span {
    font-size: 12px; 
    font-weight: 300;
    }
}
.infomation_box {padding: 1em 1.2em;
    background-color: rgba(255,255,255,0.8);
   height: 280px;
   overflow:scroll;
    position: relative;
    
}
.topics dl {
padding: 5px 0;
border-bottom: 1px dotted #383838;
    color: #383838;
}

.topics dt {
padding-bottom: 1px;
}
.topics dd {
/*display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;*/
}
.topics dd a {
color: #383838;
}
@media screen and (min-width: 768px) {
.topics dt {
clear: left;
float: left;
width: 100px;
    
}

}
@media screen and (max-width: 768px) {
    .topics dt,.topics dd {font-size: 11px;}
}
.more_btn {margin: 2% 0;
position: absolute;
bottom: 10px; right: 10px;}
.more_btn a {
    font-family: 'Red Hat Display', sans-serif;
    border: 1px solid #0353a4;
    border-radius: 4px;
padding: 5px 20px;
color: #FFF;
display: block;
    width: 160px;
    text-align: center;
    overflow: hidden;
  position: relative;
  z-index: 1;
  transition: 0.2s linear;
    margin-left: auto;
    background-color: #0353a4;
    font-size: 13px;
}
.more_btn a span {
    position: relative;
  display: inline-block;
  padding-right: 20px;
}
.more_btn a span::after{
  content: '';
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #FFF;
  border-right: solid 2px #FFF;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -4px;
}
.more_btn a::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  transition: 0.2s linear;
}
.more_btn a:hover {
  color: #0353a4;
}
.more_btn a:hover::after {
  left: 0;
  background-color: #FFF;
}
@media screen and (max-width: 768px) {
    .more_btn {margin: 5% 0;}
.more_btn a {
    border-radius: 4px;
padding: 3px 20px;
display: block;
    width: 100%;
  transition: 0.2s linear;
    margin-left: auto;
}

}

/*2カラム1カラム*/
.flex_product {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
justify-content: flex-start;
    margin: 1% 0;
}
 
.flex_product .flex_product_in {
  width: 31%;
    margin: 1%
}
.flex_product .flex_product_in img {width: 100%;
object-fit: cover;
  height: 120px;}

.flex_product p {
    line-height: 1.4em;
    letter-spacing: 0;
}
.flex_product p span {display: inline-block;
font-weight: 700;
color: #0353a4;}
.flex_product p.new:before {
	content: 'NEW ';
	display: inline-block;
	/* その他任意のデザイン指定 */
    font-size: 11px;
    font-weight: 900;
    color: #FFF;
    background-color: #c43737;
    padding: 3px 5px;
    line-height: 1em;
    margin-right: 5px;
}
@media screen and (max-width: 768px) {
.flex_product {
      margin: 4% 0;
}
 
.flex_product .flex_product_in {
  width: 31%;
    margin: 1%
}

}
/*2カラム1カラム*/
/*最新情報*/
/*今販売されているポンプ車*/
/*2カラム1カラム*/
.flex_sale {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
justify-content: flex-start;
    margin: 1% 0;
}
 
.flex_sale .flex_sale_in {
  width: 18%;
    margin: 1%
}
.flex_sale .flex_sale_in img {width: 100%;
object-fit: cover;
  height: 160px;
margin-bottom: 5px;}

.flex_sale p {
    line-height: 1.4em;
    letter-spacing: 0;
}
.flex_sale p span {display: inline-block;
font-weight: 700;
color: #0353a4;}
.flex_sale p.new:before {
	content: 'NEW ';
	display: inline-block;
	/* その他任意のデザイン指定 */
    font-size: 11px;
    font-weight: 900;
    color: #FFF;
    background-color: #c43737;
    padding: 3px 5px;
    line-height: 1em;
    margin-right: 5px;
}
@media screen and (max-width: 768px) {
.flex_sale {
      margin: 4% 0;
}
 
.flex_sale .flex_sale_in {
  width: 31%;
    margin: 1%
}

}
/*2カラム1カラム*/
.catch {
    font-weight: 900;
    font-size: 38px;
    line-height: 1.5em;
    letter-spacing: 2px;
    text-transform: capitalize;
}

.catch2 {
    font-weight: 900;
    font-size: 28px;
    line-height: 1.8em;
    letter-spacing: 0px;
    text-transform: capitalize;
}
.catch3 {
    font-weight: 900;
    font-size: 25px;
    line-height: 1.8em;
    letter-spacing: 0px;
    text-transform: capitalize;
}
.catch2 span {font-size: 25px;}
.catch4 {
    font-weight: 900;
    font-size: 23px;
    line-height: 1.8em;
    letter-spacing: 0px;
    text-transform: capitalize;
}
.catch5 {
    font-weight: 900;
    font-size: 20px;
    line-height: 1.6em;

}
.catch6 {
    font-weight: 900;
    font-size: 18px;
    line-height: 1.6em;
}
@media screen and (max-width:768px) {
    .catch {
    font-weight: 900;
    font-size: 19px;
    line-height: 1.5em;
    letter-spacing: 2px;
    padding-bottom: 20px;
    text-transform: capitalize;
}
    .catch2 {
    font-size: 18px;
    line-height: 1.5em;
}
    .catch2 span {font-size: 15px;}
    .catch3 {
    font-size: 16px;
    }
    .catch4 {
    font-size: 16px;
    line-height: 1.8em;
}
.catch5 {
    font-size: 15px;
    line-height: 1.6em;
}
.catch6 {
    font-size: 14px;
    line-height: 1.6em;

}
}

 .mds_check {
    font-weight: 900;
    font-size: 26px;
    line-height: 1.5em;
    letter-spacing: 2px;
    padding-bottom: 40px;
padding-left:2em;
text-indent:-0.8em;    
}
 .mds_check::before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";

  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
    color: #0353a4;
    padding-right: 10px;
}
@media screen and (max-width: 768px) {
 .mds_check {
    font-weight: 900;
    font-size: 16px;
    line-height: 1.5em;
    letter-spacing: 2px;
    padding-bottom: 20px;
padding-left:2em;
text-indent:-0.8em;    
}
}
.red {color: #c43737;}
.blue {color: #0353a4;}
.salecatch_bk {
 background-color: rgba(255,255,255,0.8);
width: 100%;
    text-align: center;
padding: 2em 2em;}
.bkimg {
position: relative;
z-index: 0;}

.bkimg.bkimg01 {background: url(../img/image/78.jpg) center center / cover no-repeat;
}
.bkimg.bkimg02 {background: url(../img/starnet/facility/bkimg02.jpg) center center / cover no-repeat;
}
.bkimg.bkimg03 {background: url(../img/starnet/facility/bkimg03.jpg) right -80% center / 80% no-repeat;
}
.bkimg.bkimg04 {background: url(../img/starnet/facility/bkimg04.jpg) center center / cover no-repeat;
}
.bkimg.bkimg05 {
    background-image:
    url("../img/starnet/facility/base.png"), /* 最前面の背景レイヤーの背景画像 */
/*    linear-gradient( to right, rgba(255,255,255,0),  #fff ),*/
    url("../img/starnet/facility/obj_product01_alarm_gateway.png");
    background-repeat:
    no-repeat, /* 最前面の背景レイヤーに対応 */
/*	no-repeat,*/
	no-repeat;

  background-position:
    left 10% bottom 40px,/* 最前面の背景レイヤーに対応 */
/*	left,*/
	right 10% bottom  40px;
}
@media screen and (max-width:798px) {
    .bkimg.bkimg01 {background: url(../img/image/1.jpg) center right / cover no-repeat;
}
    .bkimg.bkimg03 {background-image:none;
}
    .bkimg.bkimg05 {
    background-image:none;
}
}
.bkimg::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    display: block;
     background-color: rgba(0, 0, 0, .1);
    z-index: -1;
}
.right {
    text-align: right;
}
.bkimg p.catch_bkimg_white {
    margin: 2em 0;
    font-size: 50px;
    font-weight: 600;
    line-height: 1.8em;
    letter-spacing: 7px;
    z-index: 3;
    color: #FFF;
}

.bkimg p.catch_bkimg_white span {
    margin: 2em 0;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 3px;
    display: block;
    line-height: 2em;
}   
.bkimg p.catch_bkimg_black {
    margin: 2em 0;
    font-size: 50px;
    font-weight: 600;
    line-height: 1.8em;
    letter-spacing: 7px;
    z-index: 3;
    color: #4d4d4d;
}

.bkimg p.catch_bkimg_black span {
    margin: 2em 0;
    font-size: 18px;
    font-weight: 300;
    letter-spacing: 3px;
    display: block;
    line-height: 2em;
}   
@media screen and (max-width:798px) {
    .bkimg p.catch_bkimg_white {
        margin: 1em 0;
    font-size: 28px;
        line-height: 1.6em;
}
    .bkimg p.catch_bkimg_white span {
    font-size: 13px;
        letter-spacing: 0px;
}    .bkimg p.catch_bkimg_black {
        margin: 1em 0;
    font-size: 28px;
        line-height: 1.6em;
}
    .bkimg p.catch_bkimg_black span {
    font-size: 13px;
        letter-spacing: 0px;
}
}


/*表示しておくテキスト*/
.cp_box *, .cp_box *:before, .cp_box *:after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.cp_box {
	width: auto;
	margin: 2em auto;
}
.cp_box label {
	font-weight: bold;
	position: relative;
	display: block;
	width: 80%;
	margin: auto;
	padding: 0.3em 1em;
	cursor: pointer;
	transition: all 0.3s;
	text-align: center;
	color: #0353a4;
	border: 2px solid #0353a4;
	border-radius: 3px;
}
.cp_box label:hover {
	transition: all 0.3s;
	color: #ffffff;
	background: #0353a4;
}
.cp_box label::after {
	font-family: 'FontAwesome';
	content: ' \f067';
	color: #0353a4;
}
.cp_box label:hover::after {
	color: #ffffff;
}
.cp_box input:checked ~ label::after {
	font-family: 'FontAwesome';
	content: ' \f068';
	color: #da3c41;
}
.cp_box input:checked ~ label:hover::after {
	color: #ffffff;
}
.cp_box input {
	display: none;
}
.cp_box .cp_container {
	position: relative;
	z-index: 10;
	overflow: hidden;
	height: 0;
	margin-top: -1px;
	transition: height 0.3s ease-in-out,box-shadow 0.6s linear;
	background: rgba(255, 255, 255, 0.5);
}
.cp_box input:checked ~ div {
	transition: height 0.5s ease-in-out,box-shadow 0.1s linear;
}
/* 続きを読むを押すと表示されるテキストの高さ */
.cp_box input:checked ~ div.cp_container {
	height: auto;
}
/*表示しておくテキスト*/

/*スクロールするよう促すラインアニメーション*/
.scroll a {
  display: inline-block;
  position: absolute;
  right: 40px;
  bottom: 0;
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #fff;
    font-weight: 900;
  font-size: 13px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
.scroll a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 1px;
  height: 100px;
  background: #fff;
}
.scroll a::after {
  animation: sdl 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}
@keyframes sdl {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
@media screen and (max-width: 768px) {
    .scroll a {
  display: inline-block;
  position: absolute;
  right: 0px;
  top: 130px;
  z-index: 2;
  padding: 10px 10px 110px;
  overflow: hidden;
  color: #fff;
    font-weight: 900;
  font-size: 9px;
  font-family: 'Josefin Sans', sans-serif;
  line-height: 1;
  letter-spacing: .2em;
  text-transform: uppercase;
  text-decoration: none;
  writing-mode: vertical-lr;
}
    .scroll a::after {
  content: '';
  position: absolute;
  top: 100px;
  left: 50%;
  width: 1px;
  height: 60px;
  background: #fff;
}
}
/*スクロールするよう促すラインアニメーション*/
/* ・第二見出し要素*/
/*第二階層*/

section.daini h2 {
     font-family: 'Red Hat Display', sans-serif;
    font-weight: 700;
        color: #383838; 
    font-size: 30px; 
    line-height: 1.1em;
letter-spacing: 2px;
    text-align: center;
    position: relative;
    margin-bottom: 40px;
    text-transform:uppercase;
}
section.daini h2:before {
  content: '';
  position: absolute;
  left: 50%;
  bottom: -15px;/*線の上下位置*/
  display: inline-block;
  width: 60px;/*線の長さ*/
  height: 1px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #383838;/*線の色*/
  border-radius: 2px;/*線の丸み*/
}
section.daini h2 span {
    font-family: "游ゴシック",YuGothic,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,Verdana,sans-serif;
    font-size: 14px; 
    font-weight: 900;
    letter-spacing: 1px;
    display: block;
}


@media screen and (max-width: 768px) {
section.daini h2 {
     font-size: 18px; 
    line-height: 25px;
letter-spacing: 1px;
    padding-bottom: 10px;}
section.daini h2::before{
    margin-bottom: 10px;
        
}
section.daini h2 span {
    font-size: 14px; 
    }
}


/*第二階層*/
/*CONTENTSバナー*/
.cont_bn {margin: 4% auto;}
/*3カラム1カラム*/
.flex_cont31 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
justify-content: center;

}
 
.flex_cont31 .flex_cont31_in {


}
@media screen and (max-width: 768px) {
    .flex_cont31{
  margin: 2% 0;

}

}
/*3カラム1カラム*/
 @import url(https://fonts.googleapis.com/css?family=Raleway:500,900);
figure.snip1432 {
  
  position: relative;
  overflow: hidden;
  margin: 15px;
  min-width: 230px;
  max-width: 330px;
  width: 100%;
  background: #0353a4;
  text-align: left;
}

@media screen and (max-width: 768px) {
    figure.snip1432 {
  position: relative;
  overflow: hidden;
  margin: 3% 6%;
  width: 88%;
  background: #87d2e7;
  text-align: left;
}
}
figure.snip1432 * {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: all 0.6s ease;
  transition: all 0.6s ease;
}
figure.snip1432 img {
  opacity: 1;
  width: 100%;
  vertical-align: bottom;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s;
    width: 100%;
    object-fit: cover;
    height: 130px;
}


figure.snip1432 figcaption {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
    border: solid 1px #4d4d4d;
}
figure.snip1432 figcaption > div {
  height: 50%;
  overflow: hidden;
  width: 100%;
  position: relative;
}
figure.snip1432 h2,
figure.snip1432 h3 {
    color: #FFF;
  margin: 0;
  position: absolute;
  left: 0;
  padding: 0 20px;
  text-transform: capitalize;
}
figure.snip1432 h2 {
    
  font-weight: 900;
    font-size: 18px;
  top: 0;
    line-height: 1.2em;
   background-color: rgba(0,0,0,0.5);padding: 10px 1em;
    
}
figure.snip1432 h2:before {
    
    width: 0px;
    
}
figure.snip1432 h3 {
    font-family: 'Raleway', Arial, sans-serif;
  font-size: 1em;
  bottom: 0;
  font-weight: 500;
   
}
figure.snip1432 h3:nth-of-type(2) {
  opacity: 0;
  -webkit-transform: translateY(150%);
  transform: translateY(150%);
}
figure.snip1432 a {
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
}
figure.snip1432:hover img,
figure.snip1432.hover img {
  opacity: 0.6;
  -webkit-filter: grayscale(100%);
  filter: grayscale(100%);
}
figure.snip1432:hover figcaption h3:first-of-type,
figure.snip1432.hover figcaption h3:first-of-type {
  -webkit-transform: translateY(150%);
  transform: translateY(150%);
  opacity: 0;
}
figure.snip1432:hover figcaption h3:nth-of-type(2),
figure.snip1432.hover figcaption h3:nth-of-type(2) {
  opacity: 1;
  -webkit-transform: translateY(0%);
  transform: translateY(0%);
}
/*hover animation  バナー*/
.bk_dot {

  width : 100%;
  height : auto;
                                      /* ドット（水玉）模様のCSS */
  background-color   :#ADADAD;
  background-image   : radial-gradient(#003559 19%, transparent 30%),
                       radial-gradient(#003559 19%, transparent 30%);
  background-position: 0 0, 2px 2px;
  background-size    : 4px 4px;
}
.bk_dot2 {

  width : 100%;
  height : auto;
                                      /* ドット（水玉）模様のCSS */
  background-color   :#F4F4F4;
  background-image   : radial-gradient(#003559 19%, transparent 30%),
                       radial-gradient(#003559 19%, transparent 30%);
  background-position: 0 0, 2px 2px;
  background-size    : 4px 4px;
}









































/*footer*/
footer {
    background: #d8d8d8;
    font-size: 12px;
}
footer p {}
footer a {
	color: #87d2e7;
	text-decoration: none;
}
footer h1 {font-size: 13px; color: #383838;  font-weight: normal; line-height:1.4em;}
@media screen and (max-width: 480px) {
    footer {
	}
    footer h1 {font-size: 11px; padding-bottom: 20px; text-align: left;}
}


.flex_footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
 
.flex_footer_company {
  width: 100%;
  margin: 0;
        display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: center;

}
.flex_footer_company_in {
    margin-bottom: 20px;
    margin: 2% 0;
    padding: 0 20px;
}
.flex_footer_company_in:first-child {
	width: 100%;
	text-align: center;
}
.flex_footer_company_in.eco_action {
	width: 100%;
	text-align: center;
}
.flex_footer_company_in.eco_action img {
	width: 100%;
	max-width: 140px;
	margin: 0 auto;
	padding: 10px;
	background-color: #ffffff;
}

.flex_footer_company img {width: 230px; margin: 0 auto; }
.flex_footer_link_box {
  width: 100%;
  margin: 0;
    display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: flex-start;
  margin: 0;
}
.flex_footer_link {width: 16%; margin: 2%; }
@media screen and (max-width: 1200px) {
    .flex_footer_company,.flex_footer_link_box {width: 100%; margin: 3% 0;}
        .flex_footer_company_in {
        width: 33%;
    margin-bottom: 0px;
    }
    .flex_footer_link {width: 33%; margin: 0%; padding:0; }
    }

@media screen and (max-width: 768px) {
    .flex_footer_company,.flex_footer_link_box {width: 100%;}
    .flex_footer_company_in {
     width: 100%;
    margin-bottom: 20px;
    }

    .flex_footer_link {width: 100%; margin: 0%; padding:0; }
    .flex_footer_company img {width: 180px; margin: 0 auto; }
    }
/*footer*/
.kaisha {margin-bottom: 10px;
    }
.kaisha::after {
    content: '';
    display: block;
    background: #4d4d4d;
    height: 1px;
    width: 40px;
    margin-top: 8px;
}

.jusho {text-align: center;}

.footmenu2_box {width: 100%;  margin: 3% 0;}
@media screen and (max-width: 768px) {
    .footmenu2_box {margin: 3% 0%;}
}
.footmenu li {
    display: list-item;  /* 縦に並べる */
  list-style-type: none;
  text-transform: capitalize;
  padding: 0.3em 0;
    text-decoration: none;
    line-height: 1.2em;
    font-size: 12px;
    letter-spacing: 0;
  }
.footmenu li:first-child {
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 600;
    font-size: 110%;
    line-height: 1em;
    letter-spacing: 0.1em;
}
.footmenu li:first-child a {color: #0353a4;}
.footmenu li:hover:first-child a,.footmenu li:hover:first-child span {color: #008cb2;}
.footmenu li:first-child span {font-size: 70%; font-weight: normal; display: block; padding: 0; margin: 5px 0 8px; color: #0353a4; font-weight: 700; letter-spacing: 1px;}
.footmenu li:first-child::after {
    content: '';
    display: block;
    background: #0353a4;
    height: 1px;
    width: 20px;
    margin-bottom: 10px;
}

.footmenu li a {
    color: #4d4d4d;
}
.footmenu li a:hover {
    color: #0353a4;
}
@media screen and (max-width: 768px) {
    .footmenu li {padding: 0.3em 0;
        font-size: 11px;
    }
    .footmenu li:first-child {padding-top: 20px;}
}


ul.footmenu2 {    
    list-style: none;
    display:flex;
    flex-wrap: wrap;
}
ul.footmenu2 li {padding: 0 10px 0 0;}
ul.footmenu2 li a {color: #4d4d4d;}
ul.footmenu2 li a:hover {
    color: #0353a4;
}
ul.footmenu2 li::before {
  content: "/";
  margin-left: .5em;  
  margin-right: .5em;  
}
ul.footmenu2 li ul{    
    list-style: none;
    display:flex;
    flex-wrap: wrap;
}
ul.footmenu2 li ul li::before {
  content: "-";
  margin-left: .5em;  
  margin-right: .5em;  
}
@media screen and (max-width: 480px) {
ul.footmenu2 {    
    display: flex;
  flex-flow: column wrap;
}
}

.copyright {
    color: #4d4d4d;
    font-size: 11px;
    text-align: center;
}



/* マーカー線・黄色 */
.marker-yellow {
  background: linear-gradient(transparent 80%, #efef3f 80%);
    font-weight: 700;
}

/* 第二見出し要素
----------------------------------------------------------- */
  
/*    body, html, main {
    /* important 
    height: 100%;
}*/
.daini_mds {padding-top: 90px;}
.cd-fixed-bg {
    height: 250px;
    background-size: cover;
/*    background-attachment: fixed;*/
    background-repeat: no-repeat;
    background-position: center center;
    
}
.cd-fixed-bg.cd-fixed-bg01 {background-image: url("../img/daini/1.jpg");}
.cd-fixed-bg.cd-fixed-bg02 {background-image: url("../img/daini/2.jpg");}
.cd-fixed-bg.cd-fixed-bg03 {background-image: url("../img/daini/3.jpg");}
.cd-fixed-bg.cd-fixed-bg04 {background-image: url("../img/daini/4.jpg");}
.cd-fixed-bg.cd-fixed-bg05 {background-image: url("../img/daini/13.jpg");}
.cd-fixed-bg.cd-fixed-bg06 {background-image: url("../img/daini/6.jpg");}
.cd-fixed-bg.cd-fixed-bg07 {background-image: url("../img/daini/7.jpg");}
.cd-fixed-bg.cd-fixed-bg08 {background-image: url("../img/daini/8.jpg");}
.cd-fixed-bg.cd-fixed-bg09 {background-image: url("../img/daini/9.jpg");}
.cd-fixed-bg.cd-fixed-bg010 {background-image: url("../img/daini/10.jpg");}
.cd-fixed-bg.cd-fixed-bg011 {background-image: url("../img/daini/11.jpg");}
.cd-fixed-bg.cd-fixed-bg012 {background-image: url("../img/daini/12.jpg");}
.cd-fixed-bg.cd-fixed-bg013 {background-image: url("../img/daini/5.jpg");}
.cd-fixed-bg.cd-fixed-bg016 {background-image: url("../img/daini/16.jpg");}
.cd-fixed-bg.cd-fixed-bg017 {background-image: url("../img/daini/17.jpg");}
.cd-fixed-bg.cd-fixed-bg018 {background-image: url("../img/daini/18.jpg");}

.cd-fixed-bg::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 200px;
    content: "";
    display: block;

     background-color: rgba(0, 0, 0, .3);
    background-image: radial-gradient(#555 20%, transparent 0), radial-gradient(#555 20%, transparent 0);
    background-position: 0 0, 10px 10px;
    background-size: 4px 4px;
}

.cd-scrolling-bg {
    min-height: 100%;
}
    .cd-fixed-bg h1 {
    font-weight: 900;
    letter-spacing: 5px;
    display: block;
    padding-top: 20px;
    text-decoration: none;
    font-size: 35px;
    color: #FFF;
    overflow: hidden;
    position: relative;
    z-index: 1;
    transition: 0.2s linear;
    text-align: center;
    line-height: 1.2em;
        text-transform: capitalize;
        text-shadow: 2px 2px 2px rgba(0,0,0,0.2);
}   
    .dainikomidashi { text-align: center; font-size: 18px; letter-spacing: 1px;
text-shadow: 2px 2px 2px rgba(0,0,0,0.2);}   
  
@media screen and (max-width: 790px) {
    .daini_mds {padding-top: 20px;}
.cd-fixed-bg {
    height: 130px;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
    background-image: url("../img/daini/daini_01.jpg");
}
  .cd-fixed-bg::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 130px;
    content: "";
    display: block;
/*   background-color: rgba(255, 255, 255, .4);*/
     background-color: rgba(0, 0, 0, .2);
    background-image: radial-gradient(#383838 20%, transparent 0), radial-gradient(#383838 20%, transparent 0);
    background-position: 0 0, 10px 10px;
    background-size: 4px 4px;
}

.cd-scrolling-bg {
    min-height: 100%;
}
    .cd-fixed-bg h1 {font-size: 18px; letter-spacing: 2px; padding: 55px 4%;
}   
    .dainikomidashi {font-size: 13px; letter-spacing: 0; padding: 2% 4%;
} 

} 





/*お問い合わせ*/
/*3カラム1カラム*/
.flex_otoi_bn {
  display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: center;
    justify-content: center;
    align-items:center;
}
 
.flex_otoi_bn div.otoi_btn {
  width: 31%;
  margin: 1%;
}
@media screen and (max-width:798px) {
 .flex_otoi_bn {
 padding: 0%;
}
.flex_otoi_bn div.otoi_btn {
  width: 100%;
  margin: 1% 0;
}
}
/*3カラム1カラム*/
.otoi_btn {position: relative;}
.otoi_btn a {
    font-family: 'Red Hat Display', sans-serif;
    font-weight: 900;
    line-height: 1.3em;
  display: block;
  background-color: #87d2e7;
  border: solid 3px #87d2e7;
  padding: 10px 20px;
  text-decoration: none;
  font-size: 23px;
  color: #FFF;
  overflow: hidden;
  position: relative;
  z-index: 1;
  transition: 0.2s linear;
    height: 120px;
    
}
.otoi_btn:after {
    font-family: 'FontAwesome';
    content: "\f054";
    position: absolute;
    bottom: 45px;
    right: 10px;
    margin-top: -12px;
    font-size: 16px;
    color: #FFF;
    z-index: 2;
}
.otoi_btn a span {display: block;
font-size: 13px;
font-weight: 300;}
.otoi_btn a::after {
  content: "";
  position: absolute;
  z-index: -1;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  transition: 0.2s linear;
}
.otoi_btn a:hover {
  color: #87d2e7;
}
.otoi_btn a:hover::after {
  left: 0;
  background-color: #FFF;
}
@media screen and (max-width:1180px) {
        .otoi_btn a {
        font-weight: 700;
        font-size: 16px;
            height: 90px;
        padding: 10px 10px;
}
    .otoi_btn:after {
    font-family: 'FontAwesome';
    content: "\f054";
    position: absolute;
    bottom: 30px;
    right: 10px;
    margin-top: -12px;
    font-size: 16px;
    color: #FFF;
    z-index: 2;
}
}
@media screen and (max-width:798px) {
    .otoi_btn a {
        font-weight: 700;
        font-size: 14px;
            height: auto;
        padding: 10px 10px;
}
    .otoi_btn a span {display: block;
font-size: 12px;
font-weight: 300;}
        .otoi_btn:after {
    font-family: 'FontAwesome';
    content: "\f054";
    position: absolute;
    bottom: 30px;
    right: 10px;
    margin-top: -12px;
    font-size: 16px;
    color: #FFF;
    z-index: 2;
}
}
/*ページ内リンクのずれ解消*/
a.anchor{
    display: block;
    padding-top: 60px;
    margin-top: -60px;
}
/*ページ内リンクのずれ解消*/
.otoi_tel a {
    
    font-size: 50px;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1em;
    
}

.otoi_tel a:before {
    content: '';
    display: inline-block;
    width: 50px;
    height: 50px;
    background-image: url(../img/inquiry/freedial.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 10px;
}
@media screen and (max-width: 768px) {
    .otoi_tel a {
    font-size: 30px;
    font-weight: 600;
    text-decoration: none;
    font-family: 'Pathway Gothic One', sans-serif;
    line-height: 1em;
    
}
    .otoi_tel a:before {
    content: '';
    display: inline-block;
    width: 30px;
    height: 30px;
    background-image: url(../img/inquiry/freedial.png);
    background-size: contain;
    vertical-align: middle;
    margin-right: 10px;
}
}

.modoru {text-align: center; }
.modoru a {
padding: 10px 30px;
margin: 80px 0;
background-color: #F4F4F4;
border-radius: 8px;
display: inline-block;}
.modoru a:hover {background-color: #87D2E7;
color: #FFF;}
/*お問い合わせ*/

/*会社概要*/
/*テーブル*/
.tbl {
  border-collapse: collapse;
  margin: 0 auto;
  padding: 0;
  width: 100%;
    overflow: hidden;
    border: none;
    border-collapse: separate;
   border-spacing: 10px;

}

.tbl th,
.tbl td {
  padding: 0.5em 0 1em;
}
.tbl th {
    font-weight: 700;
    width: 25%;
border-bottom: 1px solid #4d4d4d;
}
.tbl td {

border-bottom: 1px solid #D3D3D3;}


.tbl tbody th {
  text-align: left;
}
.tbl a {text-decoration: underline;}
@media screen and (max-width: 600px) {
.tbl {
    margin: 20px 0;
    border: 0;
    width:100%;
        padding-left: 0%;
    border-spacing: 0px;
  }
.tbl th{
    display: block;
    background:rgba(0,0,0,0.1);
    padding: 1em;
    border-bottom: none;
  }
    .tbl th {width: 100%;}
.tbl tr {
    display: block;
    margin-bottom: .625em;
  }
.tbl td {
border-bottom: none;
    display: block;
    position: relative;
    border-right: none;
  }
}

/*シマシマテーブル*/
/*会社概要*/
.mb20 {margin-bottom: 20px;}

/*2カラム1カラム*/
.flex_21img {
  display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: center;
    justify-content: center;
    align-items:center;
    background-color: #F4F4F4;
    margin: 20px 0;

}
 
.flex_21img div.flex_21img_inimg {
  width: 26%;
  margin: 2%;
}
.flex_21img div.flex_21img_inimg img {width: 100%;}
.flex_21img div.flex_21img_intxt {
  width: 66%;
  margin: 2%;
}
@media screen and (max-width:798px) {
.flex_21img div.flex_21img_inimg,.flex_21img div.flex_21img_intxt {
  width: 96%;
    margin: 2%;
}
}
/*2カラム1カラム*/
.ttl03 {font-size: 19px;
    font-weight: 700;
    border-bottom: solid 1px #000;
    margin-bottom: 20px;}
.ttl02 {font-size: 16px;
    font-weight: 700;
    background-color: #003559;
    color: #FFF;
    padding: 5px 15px;
    margin-bottom: 10px;}
.ttl04 {
    font-weight: 700;
    border-left: 6px #ccc solid;
    padding-left: 10px;
    margin: 20px 0;}
/*3カラム1カラム*/
.flex_31 {
  display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: center;
    justify-content: center;
    align-items:stretch;
}
 
.flex_31 div.flex_31_in {
  width: 31%;
  margin: 1%;
    background-color: #F4F4F4;
padding: 20px;
border-radius: 10px;
}

@media screen and (max-width:798px) {
.flex_31 div.flex_31_in {
  width: 98%;
    margin: 1%;
}
}
/*3カラム1カラム*/

.iro {color: #0353a4;}
.bld {font-weight: 900; font-size: 16px;}
.cntr {text-align: center;}
.img100 img {width: 100%;}
.mb20 {margin-bottom: 20px;}
.mb40 {margin-bottom: 40px;}
/*** レスポンシブテーブルデザイン1 ***/


 
 
.tbl-rsp{
  width:100%;
 border-top: 1px solid #cccccc;
 border-right: 1px solid #cccccc;
  overflow: hidden;
  word-break: break-all;
  word-wrap: break-word;
}
 
.tbl-rsp th{
  padding: 10px;
  border-left: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
  overflow: hidden;
  font-style: normal;
  font-weight: bold;
  font-size: 100%;
  text-align: left;
  word-break: break-all;
  word-wrap: break-word;
  vertical-align: middle;
  background-color: #F4F4F4;
    width: 30%;
}
 
.tbl-rsp td{
padding: 10px;
text-align: left;
vertical-align: top;
border-left: solid 1px #cccccc;
  border-bottom: solid 1px #cccccc;
  overflow: hidden;
word-break: break-all;
word-wrap: break-word;
  background-color: #FFF;
    width: 70%;
}
 
/*@media (max-width: 400px){
.tbl-rsp{
  border-top: 1px solid #cccccc;
 border-right: 1px solid #cccccc;
}
.tbl-rsp th{
	border-right: 1px solid #cccccc;
  width:100%;
  display:block;
  margin: 0 auto;
  /*border:none;
  border-radius: 3px;
}
.tbl-rsp td{
	border-right: 1px solid #cccccc;
  display: list-item;
  width: 100%;
  border-top: none !important;
  /*border-right: none !important;
}
}*/
/*** レスポンシブテーブルデザイン1 ***/
.gly_bk {background-color: #F4F4F4;
padding: 20px;
}
.box26 {
    position: relative;
    margin: 2em 0;
    padding: 1em 1.5em;
    border: solid 3px #003559;
    border-radius: 8px;
}
.box26 .box-title {
    position: absolute;
    display: inline-block;
    top: -13px;
    left: 10px;
    padding: 0 9px;
    line-height: 1;
    font-size: 15px;
    background: #FFF;
    color: #003559;
    font-weight: bold;
}
.box26 p {
    margin: 0; 
    padding: 0;
}

ol.ol01 {
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding:1em 0;

}
ol.ol01 li {
  position: relative;
  padding-left: 30px;
  line-height: 1.5em;
  padding: 0.5em 0.5em 0.5em 30px;
}

ol.ol01 li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*以下数字のデザイン変える*/
  display:inline-block;
  background: #5c9ee7;
  color: white;
  font-family: 'Avenir','Arial Black','Arial',sans-serif;
  font-weight:bold;
  border-radius: 50%;
  left: 0;
  width: 25px;
  height: 25px;
  line-height: 25px;
  text-align: center;
  /*以下 上下中央寄せのため*/
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.click {text-align: center;}
.click p {
    background-color: #F4F4F4;
    padding: 5px 30px;
    width: auto;
    text-align: center;
    display: inline-block;
/*    border: solid 4px #FCFAF7;*/
    border-radius: 8px;
    color: #616161;
}
.flex_gallery {
    display: flex;
  flex-wrap: wrap;
  -webkit-justify-content: center;
    justify-content: center;
    align-items:center;
    margin: 20px 0;
}
.flex_gallery_in {
    width: 23%;
    margin: 1%;
}
.flex_gallery_in img {width: 100%;}
@media screen and (max-width: 790px){
  .flex_gallery_in {
    width: 48%;
    margin: 1%;
}
}



/*----------------------代表ご挨拶*/
.catch6.message {
	font-weight: normal;
	line-height: 2.2;
	letter-spacing: 0.15em;
	margin-bottom: 60px;
}

/*----------------------サイトマップ*/
.sitemap ul li ul {
	margin-top: .8em;
	margin-bottom: .75em;
	margin-left: 30px;
	line-height: 2em;
}
.sitemap ul li, .sitemap ul li ul li {
	margin-bottom: .25em;
	position: relative;
	text-align: left;
}
.sitemap ul li ul li::before {
	content: "";
	position: absolute;
	top: -0.5em;
	left: -16px;
	width: 10px;
	height: calc(100% + .75em);
	border-left: 1px solid #999;
}
.sitemap ul li ul li:last-child::before {
	height: calc(1em + .25em);
}
.sitemap ul li ul li::after {
	content: "";
	position: absolute;
	top: .75em;
	left: -16px;
	width: 10px;
	border-bottom: 1px solid #999;
}
.sitemap_img {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
}
.sitemap_img .flex_img_in_left {
	width: calc(46%);
	margin: 2%;
	padding: 0;
}
.sitemap_img .flex_img_in_right {
	width: calc(46%);
	margin: 2%;
	padding: 0;
}
.sitemap_img img {
	width: 100%;
	padding-top: 0;
}
@media screen and (max-width: 768px) {
	.sitemap_img .flex_img_in_left {
		order: 1;
	}
	.sitemap_img .flex_img_in_right {
		order: 2;
	}
}
.sitemap_img .txt {
	font-size: 1.4em;
	color: #330f0a;
	font-weight: 600;
}
@media screen and (max-width: 790px) {
	.sitemap_img {
		flex-direction: column;
	}
	.sitemap_img .flex_img_in_left {
		width: 100%;
		margin: 0 0 20px;
	}
	.sitemap_img .flex_img_in_right {
		width: 100%;
		margin: 0;
	}
}
 


