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

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

	common css

------------------------------------------------------*/
*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
html { width: 100%; overflow-y: auto; overflow-x: auto; font-size: 10px; }
body { position: relative; color: #333; font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif; word-break: break-all; line-height: 1.75; background-color: #fff; overflow: hidden; }
ul { list-style: none; }
ol { list-style: decimal; }
img { vertical-align: bottom; width: auto; max-width: 100%; height: auto; }
a { text-decoration: none; }

.pc { display:block; }
.sp { display:none; }

main { display: block; overflow: hidden; position: relative; }

.container { max-width: 1100px; margin: 0 auto; }

@media (min-width: 768px) {
	body { min-width: 1100px; }
  main { margin-bottom: 200px; }
	a:hover { text-decoration: underline; }
	a[href^="tel:"] {
		pointer-events: none;
		text-decoration: none;
		color: inherit;
	}
}

@media (max-width: 767px) {
  main { margin-bottom: 100px; }
	.container { margin-left: 15px; margin-right: 15px; }
	section {}
	.pc { display: none; }
	.sp { display: block; }
}


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

  header

------------------------------------------------------*/
header { border-top: 4px solid #0a6eb5; }
header .l_col-head {}
header .l_col-head .logo {}
header .l_col-head .logo a {}
header .l_col-head .logo img { width: 100%; max-width: 362px; }

header .l_col-head .l_col-headinfo {}
header .l_col-head .l_col-headinfo nav {}
header .l_col-head .l_col-headinfo nav .l_col-headnav {}
header .l_col-head .l_col-headinfo nav .l_col-headnav li {}
header .l_col-head .l_col-headinfo nav .l_col-headnav li a {}

header .l_col-head .l_col-headinfo .l_col-headtel {}
header .l_col-head .l_col-headinfo .l_col-headtel dt {}
header .l_col-head .l_col-headinfo .l_col-headtel dt span {}
header .l_col-head .l_col-headinfo .l_col-headtel dd {}

header .l_col-head .l_col-headinfo > p {}
header .l_col-head .l_col-headinfo > p a {}





@media (min-width: 768px) {
  header {}
  header .l_col-head { height: 76px; min-width: 1300px; }
  header .l_col-head .logo { padding-top: 15px; padding-left: 20px; }
  header .l_col-head .logo a {}
  header .l_col-head .logo img {}
  
  header .l_col-head .l_col-headinfo { align-items: center; -webkit-align-items: center;  }
  header .l_col-head .l_col-headinfo nav { margin-right: 25px; }
  header .l_col-head .l_col-headinfo nav .l_col-headnav {}
  header .l_col-head .l_col-headinfo nav .l_col-headnav li { font-size: 1.4rem; }
  header .l_col-head .l_col-headinfo nav .l_col-headnav li:not(:last-child) { margin-right: 35px; }
  header .l_col-head .l_col-headinfo nav .l_col-headnav li a { color: #000; }
  
  header .l_col-head .l_col-headinfo .l_col-headtel { align-items: center; -webkit-align-items: center; margin-right: 25px; }
  header .l_col-head .l_col-headinfo .l_col-headtel dt {}
  header .l_col-head .l_col-headinfo .l_col-headtel dt span { background-color: #0a6eb5; display: block; color: #fff; width: 40px; height: 26px; font-size: 1.4rem; text-align: center; line-height: 26px; margin-right: 10px; }
  header .l_col-head .l_col-headinfo .l_col-headtel dd { font-size: 2.8rem; color: #17508f; font-weight: bold; }


  
  header .l_col-head .l_col-headinfo > p { height: 100%; }
  header .l_col-head .l_col-headinfo > p a { width: 150px; background-color: #0a6eb5; color: #fff; height: 100%; display: inline-flex; align-items: center; -webkit-align-items: center; justify-content: center; -webkit-justify-content: center; font-size: 1.6rem; }


}

@media (max-width: 767px) {
  header {}
  header .l_col-head { height: 46px; }
  header .l_col-head .logo { margin-bottom: 0; padding-top: 8px; padding-left: 10px; }
  header .l_col-head .logo a {}
  header .l_col-head .logo img { height: 28px; width: auto; }
  
  header .l_col-head .l_col-headinfo { width: 100%; margin-bottom: 0; }
  header .l_col-head .l_col-headinfo nav { width: 100%; margin-bottom: 0; display: none; }
  header .l_col-head .l_col-headinfo nav .l_col-headnav {}
  header .l_col-head .l_col-headinfo nav .l_col-headnav li { width: 100%; margin-bottom: 0; }
  header .l_col-head .l_col-headinfo nav .l_col-headnav li a {}
  
  header .l_col-head .l_col-headinfo .l_col-headtel { display: none; }
  header .l_col-head .l_col-headinfo .l_col-headtel dt {}
  header .l_col-head .l_col-headinfo .l_col-headtel dt span {}
  header .l_col-head .l_col-headinfo .l_col-headtel dd {}
  
  header .l_col-head .l_col-headinfo > p { display: none; }
  header .l_col-head .l_col-headinfo > p a {}
}



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



------------------------------------------------------*/
.heading1 { background-color: rgba(0,0,0,0.65); color: #fff; position: absolute; left: 0; right: 0; margin: auto; border-top: 6px solid #0a6eb5; position: relative; display: inline-block; font-size: 4rem; font-weight: normal; padding: 10px 10px; min-width: 280px; text-align: center; font-family: 'Noto Sans JP', sans-serif; letter-spacing: 2px; }

.heading2 { text-align: center; font-family: 'Noto Sans JP', sans-serif; }
.heading2 span { font-size: 3.2rem; border-left: 5px solid #0a6eb5; border-right: 5px solid #0a6eb5; line-height: 1; display: inline-block; letter-spacing: 3px; font-weight: normal; }

.heading3 { color: #17508f; font-size: 2.1rem; border-left: 6px solid #0a6eb5; border-bottom: 1px solid#0a6eb5; padding-left: 12px; }

main ul li ,
main ol li { font-size: 1.6rem; }
main ol { padding-left: 2em; list-style-type: disc; }
main ul li:not(:last-child) ,
main ol li:not(:last-child) { margin-bottom: 4px; }

@media (min-width: 768px) {
  .heading2 span { padding: 0 40px; }

  .heading3 { margin-bottom: 25px; }
}

@media (max-width: 767px) {
  .heading1 { font-size: 2rem; }

  .heading2 span { font-size: 2.6rem; padding: 0 20px; }

  .heading3 { margin-bottom: 20px; }
}


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

  headVisual

------------------------------------------------------*/
#headVisual { background: url(../../company/images/bg_head-visual.jpg) no-repeat center center; background-size: cover; position: relative; z-index: 0; overflow: hidden; }



#headVisual .container {}
#headVisual img {}
#headVisual .heading1 { position: absolute; max-width: 280px; }




@media (min-width: 768px) {
  #headVisual {}
  #headVisual:before{ content: ''; background: inherit; -webkit-filter: blur(5px); -moz-filter: blur(5px); -o-filter: blur(5px); -ms-filter: blur(5px); filter: blur(5px); position: absolute; top: -5px; left: -5px; right: -5px; bottom: -5px; z-index: -1; }
  #headVisual .container {}
  #headVisual img {}
  #headVisual .heading1 { margin-top: 140px; }
}

@media (max-width: 767px) {
  #headVisual { height: 170px; }
  #headVisual .container { text-align: center; }
  #headVisual img { display: none; }
  #headVisual .heading1 { margin-top: 60px; position: relative; min-width: auto; padding: 8px 30px; }
}





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

  breadcrumb

------------------------------------------------------*/
#breadcrumb { background-color: #17508f; text-align: right; }
#breadcrumb .container { position: relative; }
#breadcrumb .l_col-breadcrumb { background-color: #000; border-left: 5px solid #0a6eb5; justify-content: flex-end; -webkit-justify-content: flex-end; display: inline-flex; padding: 0 15px; }
#breadcrumb .l_col-breadcrumb li { color: #fff; font-size: 1.2rem; }
#breadcrumb .l_col-breadcrumb li a { color: #fff; }
#breadcrumb .l_col-breadcrumb li:not(:last-child)::after { content: '>'; padding: 0 4px; }

#breadcrumb .l_col-localnav { position: absolute; left: 0; border-right: 1px solid #fff; top: 15px; }
#breadcrumb .l_col-localnav li { border-left: 1px solid #fff; margin-bottom: 0; padding: 0 50px; font-size: 1.4rem; line-height: 1.2; }
#breadcrumb .l_col-localnav li a { color: #fff; }

@media (min-width: 768px) {
  #breadcrumb { margin-bottom: 80px; }
  #breadcrumb .container {}
  #breadcrumb .l_col-breadcrumb {}
  #breadcrumb .l_col-breadcrumb li { height: 40px; line-height: 40px; }
  #breadcrumb .l_col-breadcrumb li a {}
}

@media (max-width: 767px) {
  #breadcrumb { margin-bottom: 40px; }
  #breadcrumb .container { margin-left: 0; margin-right: 0; }
  #breadcrumb .l_col-breadcrumb { padding-top: 2px; padding-bottom: 2px; }
  #breadcrumb .l_col-breadcrumb li { margin-bottom: 0; }
  #breadcrumb .l_col-breadcrumb li a {}

  #breadcrumb .l_col-localnav { display: none; }
}


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

  footer

------------------------------------------------------*/
footer { border-top: 1px solid #ccc; }
footer .l_col-foot {}
footer .l_col-foot .logo {}
footer .l_col-foot .logo a {}
footer .l_col-foot .logo img { max-width: 362px; }

footer .l_col-foot .l_col-footinfo {}
footer .l_col-foot .l_col-footinfo nav {}
footer .l_col-foot .l_col-footinfo nav .l_col-footnav {}
footer .l_col-foot .l_col-footinfo nav .l_col-footnav li { font-size: 1.4rem; }
footer .l_col-foot .l_col-footinfo nav .l_col-footnav li a { color: #000; }

footer .l_col-foot .l_col-footinfo > p {}
footer .l_col-foot .l_col-footinfo > p a { background-color: #000; color: #fff; position: relative; overflow: hidden; text-indent: 100%; white-space: nowrap; }
footer .l_col-foot .l_col-footinfo > p a::before { content: ''; left: 0px; right: 0; top: 15px; bottom: 0; margin: auto; width: 24px; height: 24px; border-top: 3px solid #fff; border-right: 3px solid #fff; -webkit-transform: rotate(315deg); transform: rotate(315deg); position: absolute; }

footer #copy { background-color: #17508f; text-align: center; color: #fff; height: 32px; line-height: 32px; font-size: 1.2rem; }

footer a#pageTop { font-size: 1.6rem; position: fixed; right: 20px; bottom: 60px; z-index: 1000; cursor: pointer; overflow: hidden;  width: 60px; height: 40px; text-decoration: none; padding: 8px;  background: #000; opacity: 0.5; text-align: center; border-radius: 5px; color: #FFF; }

@media (min-width: 768px) {
  footer {}
  footer .l_col-foot { align-items: center; -webkit-align-items: center;  }
  footer .l_col-foot .logo { margin-left: 30px; }
  footer .l_col-foot .logo a {}
  footer .l_col-foot .logo img {}
  
  footer .l_col-foot .l_col-footinfo {}
  footer .l_col-foot .l_col-footinfo nav { padding-top: 28px; }
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav {}
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav li { margin-right: 35px; }
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav li a {}
  
  footer .l_col-foot .l_col-footinfo > p {}
  footer .l_col-foot .l_col-footinfo > p a { width: 80px; height: 80px; display: block; }
  
  footer #copy {}

  footer a#pageTop { display: none !important; }
}

@media (max-width: 767px) {
  footer { padding-bottom: 56px; }
  footer .l_col-foot { padding: 20px 20px 10px; }
  footer .l_col-foot .logo { width: 100%; }
  footer .l_col-foot .logo a {}
  footer .l_col-foot .logo img { width: 80%; }
  
  footer .l_col-foot .l_col-footinfo { width: 100%; margin-bottom: 0; }
  footer .l_col-foot .l_col-footinfo nav { margin-bottom: 0; width: 100%; }
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav {}
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav li { width: 50%; font-size: 1.6rem; margin-bottom: 10px; }
  footer .l_col-foot .l_col-footinfo nav .l_col-footnav li a {}
  
  footer .l_col-foot .l_col-footinfo > p { display: none; }
  footer .l_col-foot .l_col-footinfo > p a {}
  
  footer #copy {}
}


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

  table

------------------------------------------------------*/
table.table1 {}
table.table1 tr { border-bottom: 1px solid #eee; }
table.table1 th { color: #17508f; font-size: 1.6rem; background-color: transparent; border: none; text-align: left; padding-bottom: 5px; }
table.table1 td { font-size: 1.6rem; border: none; padding-bottom: 5px; }


table.table2 { margin-bottom: 0; }
table.table2 tr {}
table.table2 th { background-color: #eef2f5; font-size: 1.4rem; color: #004da1; vertical-align: top; }
table.table2 td { font-size: 1.6rem; }


@media (min-width: 768px) {
  table.table1 {}
  table.table1 tr {}
  table.table1 th {}
  table.table1 td {}

  table.table2 {}
  table.table2 tr {}
  table.table2 th {}
  table.table2 td {}
}

@media (max-width: 767px) {
  table.table1 {}
  table.table1 tr {}
  table.table1 th { padding-bottom: 0; }
  table.table1 td { padding-top: 0; }

  table.table2 {}
  table.table2 tr {}
  table.table2 th {}
  table.table2 td {}
}



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



------------------------------------------------------*/
#menuBtn { width: 24px; height: 24px; position: absolute; top: 16px; right: 10px; }
#menuBtn span { display: block; width: 24px; height: 3px; background: #0a6eb5; }
#menuBtn span:not(:last-of-type) { margin-bottom: 5px; }

#menuBtn:not(.first_read) span:nth-of-type(1) {
    animation: menu-bar01 .55s forwards;
  }
  @keyframes menu-bar01 {
    0% {
      transform: translateY(8px) rotate(45deg);
    }
    50% {
      transform: translateY(8px) rotate(0);
    }
    100% {
      transform: translateY(0) rotate(0);
    }
  }
  #menuBtn:not(.first_read) span:nth-of-type(2) {
    -webkit-transition: all .25s .25s;
    -o-transition: all .25s .25s;
    transition: all .25s .25s;
    opacity: 1;
  }
  #menuBtn:not(.first_read) span:nth-of-type(3) {
    animation: menu-bar02 .55s forwards;
  }
  @keyframes menu-bar02 {
    0% {
      transform: translateY(-8px) rotate(-45deg);
    }
    50% {
      transform: translateY(-8px) rotate(0);
    }
    100% {
      transform: translateY(0) rotate(0);
    }
  }
  #menuBtn.active span:nth-of-type(1) {
    animation: active-menu-bar01 .55s forwards;
  }
  @keyframes active-menu-bar01 {
    0% {
      transform: translateY(0) rotate(0);
    }
    50% {
      transform: translateY(8px) rotate(0);
    }
    100% {
      transform: translateY(8px) rotate(45deg);
    }
  }
  #menuBtn.active span:nth-of-type(2) {
    opacity: 0;
  }
  #menuBtn.active span:nth-of-type(3) {
    animation: active-menu-bar03 .55s forwards;
  }
  @keyframes active-menu-bar03 {
    0% {
      transform: translateY(0) rotate(0);
    }
    50% {
      transform: translateY(-8px) rotate(0);
    }
    100% {
      transform: translateY(-8px) rotate(-45deg);
    }
  }

#spNav { display: none;
  border-top: 1px solid #ccc;
  position: absolute;
  width: 100%;
  top: 50px;
  z-index: 1;
  background-color: #fff;
  padding: 30px;
}
#spNav ul {}
#spNav ul li { width: 50%; margin-bottom: 10px; font-size: 1.6rem; }
#spNav ul li a { color: #000; }

#spNav.active {}
@media (min-width: 768px) {
  #spNav { display: none !important; }
}

@media (max-width: 767px) {

}


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



------------------------------------------------------*/
.lead { text-align: center; color: #17508f; font-weight: bold; }

.btn1 {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 0;
  border: none;
  outline: none;
  background: transparent;
  background-color: #0a6eb5; text-align: center; color: #fff;
  width: 320px;
  height: 80px;
  font-size: 2.4rem; font-weight: bold;
}

@media (min-width: 768px) {
  .lead { font-size: 2rem; }

  .btn1 { cursor: pointer; }
  .btn1:hover { opacity: 0.8; }
}

@media (max-width: 767px) {
  .lead { font-size: 1.8rem; }
}


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



------------------------------------------------------*/
.no { background-color: #000; border-bottom: 5px solid #0a6eb5; color: #fff; font-size: 1.8rem; padding: 0; font-family: 'Noto Sans JP', sans-serif; }
.no span { font-size: 1.2rem; }

@media (min-width: 768px) {

}

@media (max-width: 767px) {

}


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

  floatnav

------------------------------------------------------*/
#floatnav { background-color: rgba(0,0,0,0.8); padding: 2px 15px 5px; position: fixed; bottom: 0; left: 0; width: 100%; }
#floatnav p { color: #fff; text-align: center; font-size: 1.2rem; font-weight: bold; }
#floatnav .l_col-floatnav {}
#floatnav .l_col-floatnav li { width: calc(50% - 10px); text-align: center; margin-bottom: 0; }
#floatnav .l_col-floatnav li a { color: #fff; font-size: 1.6rem; background-color: #0a6eb5; display: block; }


@media (min-width: 768px) {
  #floatnav { display: none !important; }
  #floatnav p {}
  #floatnav .l_col-floatnav {}
  #floatnav .l_col-floatnav li {}
  #floatnav .l_col-floatnav li a {}
  
}

@media (max-width: 767px) {
  #floatnav {}
  #floatnav p {}
  #floatnav .l_col-floatnav {}
  #floatnav .l_col-floatnav li {}
  #floatnav .l_col-floatnav li a {}
  
}