body{
	padding-top:57.5px;
	/*padding-top:3.59375rem;*/
	color:#333333;
  line-height:200%;
}

img{
  display: block;
}

.arial{
  font-family : Arial ;
}

a{
  color:#333333;
  text-decoration: none;
  transition: all 300ms 0s ease;
}

a:hover{
  opacity: 0.7;
}

#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
    font-size:0.75rem;
}

#page-top i{
  font-size:2rem;
}

#page-top a {
    background: #007FFF;
    text-decoration: none;
    color: #fff;
    padding: 10px;
    text-align: center;
    display: block;
    border-radius: 5px;
}

#page-top a:hover {
    text-decoration: none;
    background: #007FFF;
}

h1.pagetitle {
  position: relative;
  display: inline-block;
  /*margin-bottom: 1em;*/
  margin-bottom:1em;
  font-size:1.875rem;
  margin-top:4rem;
  color:#FFFFFF;
}
h1.pagetitle:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 200px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #FFFFFF;
  border-radius: 0px;
}

small.h1-small{
  font-size:1.125rem;
  color:#FFFFFF;
}

small.h1-small:before{
  content: "\A" ;
  white-space: pre ;
}

h2 {
  position: relative;
  display: inline-block;
  /*margin-bottom: 1em;*/
  margin-bottom:1em;
  font-size:1.875rem;
  margin-top:5rem;
}
h2:before {
  content: '';
  position: absolute;
  bottom: -15px;
  display: inline-block;
  width: 200px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #007FFF;
  border-radius: 0px;
}

small.h2-small{
  font-size:1.125rem;
}

small.h2-small:before{
  content: "\A" ;
  white-space: pre ;
}

h3{
  padding: 0.5rem 0.5rem 0rem 0.5rem;
  margin-top:3rem;
  color: #333333;
  background: transparent;
  border-left: solid 6px #007FFF;
  font-size:1.25rem;
  font-weight: bold;
}

.pagetitle-col{
  background-color:#0381FF;
  height:200px;
}

/* ヘッダー */
.navbar-light .navbar-nav .nav-link{
  color:rgba(51.51.51.1);
}

.nav-item{
  text-align:center;
  border-top:1px dotted #CCCCCC;
}

@media screen and (min-width: 768px) {
  .nav-item{
    text-align:center;
    margin-left:2rem;
    line-height:1rem;
    border-top:none;
  }
}

.c-header-subhead{
  color:#007FFF;
  font-size:0.625rem;
}

@media screen and (min-width: 768px) {
.c-header-subhead{
  color:#007FFF;
  font-size:0.625rem;
}
}

/* フッター */
footer{
  margin-top:5rem;
	font-size:0.875rem;
}

.f-company{
  border-right:none;
}

@media screen and (min-width: 768px) {
  .f-company{
    border-right:1px solid #999999;
  }
}

.f-logo{
  margin:2rem auto 0;
}

@media screen and (min-width: 768px) {
  .f-logo{
    margin:2rem 0 0 0;
  }
}

.f-companyname{
  margin-top:1rem;
  line-height:180%;
}

.f-address{
  font-size:0.75rem;
  line-height:180%;
}

ul.f-sitemap{
  margin:0;
}

@media screen and (min-width: 768px) {
  ul.f-sitemap{
    margin:1rem 0;
  }
}

ul.f-sitemap,
ul.f-sitemap li ul{
  list-style-type: disc;
}

ul.f-sitemap li a,
ul.f-sitemap li ul li a{
  color:#333333;
}

.copyright{
	background-color:#007FFF;
	color:#FFFFFF;
	font-size:0.675rem;
	text-align:center;
	padding:1rem 0 3rem;
}

/* トップ */
.top-image01{
	background-image:url(../../../../images/top-image01sp.jpg);
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size:cover;
	height:300px;
}

@media screen and (min-width: 768px) {
  .top-image01{
    background-image:url(../../../../images/top-image01.jpg);
    background-repeat: no-repeat;
    background-position: 50% 80%;
    background-size:cover;
    height:600px;
  }
}

.top-cat{
  background-color:#EEEEEE;
  padding:2rem;
  transition: all 300ms 0s ease;
}

.top-cat:hover{
  background-color:#CCCCCC;
  color:#000000;
  /*opacity: 0.7;*/
}

.top-cat img{
  margin:1rem auto;
}

a.top-cat-link:hover{
  text-decoration: none;
}

p.top-cat-h,
p.top-cat-t{
  color:#333333;
}

p.top-cat-h{
  font-size:1.25rem;
  font-weight:bold;
}

p.top-cat-t{
  width:95%;
  margin:0 auto;
  text-align:left;
}

.topics dl {
padding: 15px 0;
border-bottom: 1px dotted #CCCCCC;
}

.topics dt {
padding-bottom: 5px;
font-weight: normal;
}

.topics dd a{
  color:#333333;
}

@media screen and (min-width: 768px) {
  .topics dt {
    clear: left;
    float: left;
    width: 20%;
    text-align:center;
  }

  .topics dd {
    margin-left: 21%;
  }
}


/**
 * 8.0 Alignments
 */

.alignleft {
  display: inline;
  float: left;
}

.alignright {
  display: inline;
  float: right;
}

.aligncenter {
  display: block;
  margin-right: auto;
  margin-left: auto;
}

blockquote.alignleft,
.wp-caption.alignleft,
img.alignleft {
  margin: 0.4em 1.6em 1.6em 0;
}

blockquote.alignright,
.wp-caption.alignright,
img.alignright {
  margin: 0.4em 0 1.6em 1.6em;
}

blockquote.aligncenter,
.wp-caption.aligncenter,
img.aligncenter {
  clear: both;
  margin-top: 0.4em;
  margin-bottom: 1.6em;
}

.wp-caption.alignleft,
.wp-caption.alignright,
.wp-caption.aligncenter {
  margin-bottom: 1.2em;
}

a#navbarDropdown.nav-link.dropdown-toggle::after{
  display: none;
}

@media screen and (min-width: 768px) {
  .dropdown:hover > .dropdown-menu{
    display: block;
  }

  a#navbarDropdown.nav-link.dropdown-toggle::after{
    display: none;
  }
}

.knowledge a{
	text-decoration: underline; 
}

table.outline-table{
	width:100%;
}

table.outline-table th{
	padding:0.5rem 0.25rem;
}

table.outline-table td{
	padding:0.5rem 0.25rem;
}

@-webkit-keyframes modify{
      0% { padding-top: 70px; margin-top: -70px; }
    100% { padding-top: 0; margin-top: 0; }
}
@keyframes  modify{
      0% { padding-top: 70px; margin-top: -70px; }
    100% { padding-top: 0; margin-top: 0; }
}

#info1:target,
#info2:target,
#info3:target,
#info4:target,
#wpcf7-f652-p17-o1{
    -webkit-animation: modify 0.1s;
    animation: modify 0.1s;
}


.screen-reader-response{
	/*border:2px solid #CC0000;*/
	padding:1rem;
	color:#CC0000;
	text-align:center;
	font-size:1.5rem;
}

.wpcf7-response-output.wpcf7-mail-sent-ok{
	border:2px solid #CC0000;
	padding:1rem;
	color:#CC0000;
}