
body {
    font-family: "Noto Sans JP", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 400;
    line-height:1.8;
    min-height: 100vh;
    position: relative;
    padding-bottom: 120px;
    box-sizing: border-box;
  }
.navbar {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 100;
    background-color:#ffffff;
    font-weight: 700;
    height: 90px;
    transition: .3s;
}
.dropdown-menu-pc {
    display: none;
    position: absolute;
    top:61px;
    left: 0;
    width: 100%;
    background-color: #FFFFFF;
    vertical-align:top; 
    opacity: 0.95;
}
.dropdown-menu-pc div {
    display: inline-block;
    vertical-align:top; 
}
.dropdown-menu-pc div a {
    display: block;
    padding: 10px 3px 10px 3px;
    min-width: 100px;
    font-weight: 400;
}
.dropdown-menu-pc div a:hover {
    background-color: #ffefe4;
}

.navbar_left {
    background-color: #ffffff;
    height: 80px;
    z-index: 100;
}
.navbar_left img {
    height: 60px;
    margin : 15px auto 0 20px;
}
a.nav-link{
    font-size: 16px;
    background-color:#ffffff;
    cursor: pointer;
}
.nav-link-hover {
    border-bottom: 3px solid #3D3E98;
    color: #3D3E98;
}
li.nav-item a.nav-link:hover{
    color: #3D3E98;
}
.nav {
    display: flex;
    align-items: center;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none;
}
.nav-a{
    font-size: 14px;
    color: #000000A6;
    text-decoration: none;
}
.nav-a:hover{
    color: #3D3E98;
}
.topimg img {
    object-fit: cover;
    height: 700px;
}
.toptext  {
    position: absolute;
    top: 280px;
    left: 0;
    padding: 40px;
    max-width: 940px;
    background-color: #FFFFFF;
    opacity: 85%;
    border-radius: 0 12px 12px 0;
}
.toptext > p {
    font-weight: bold;
}
.toptext > h1 {
    font-weight: bold;
}
.head2 {
    position: relative;
    min-height: 80px;
    border-radius: 12px;
}
.head2 > img {
    opacity: 30%;
    border-radius: 12px;
    min-height: 80px;
}
.head2 > h2 {
    position:absolute;
    top:50%;
    left:50%;
    transform: translate(-50%,-50%);
    margin: 0!important;
    padding: 0!important;
    font-weight: bold;
    color: #FFFFFF;
    white-space: nowrap;
}
main {
    padding-top: 90px;
}
main h2 {
    font-weight: 900;
}
.li_text {
    border:none !important;
    text-indent: -1em;
}
footer{
    width: 100%;
    position: absolute;
    bottom: 0; 
    font-size: 15px;
    background-color: #7BAAC0;
}
footer img{
    width: 180px;
}
footer a{
    text-decoration: none !important;
    color: #FFFFFF !important;
}
footer a:hover{
    opacity: 0.7;
    transition: all 0.3s;
}
.h1{
    margin-bottom: 0;
    padding-bottom: 0;
    color: #3D3E98;
    font-weight: 900;
}
.h1_sub{
    width: 100%;
    margin-bottom: 0;
    color: #999999;
    font-weight: 900;
}
.h2{
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    text-align: center;
    color: #3D3E98;
    font-weight: 700;
}
.h2_sub{
    width: 100%;
    margin-top: 10px;
    padding-top: 0;
    color: #969696;
    font-weight: 700;
    text-align: center;
}
.h2_area {
    background-color: #f3f3f3;
}
.h3 {
    width: 100%;
    margin-top: 0;
    padding-top: 0;
    color: #3D3E98;
    font-weight: 900;
}
.h3_sub {
    width: 100%;
    margin-bottom: 0;
    padding-bottom: 0;
    color:#afafaf;
}
.h4 {
    color: #3D3E98;
    font-size: 20px;
    font-weight: 900;
}
.text-large {
    font-size: 18px;
}
.service ol > li,.service ul > li {
  background-color: inherit;
}
.bg_even {
   background-color: #eaeffd;
}
.link {
  border: 2px solid #3d3e98;
  background: #FFFFFF;
  border-radius: 9999px;
  position: relative;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  padding: 8px 16px;
  text-decoration: none;
  color: #3d3e98 !important;
  line-height: 1.8;
  transition: 0.3s ease-in-out;
  font-weight: 500;
}
.link:hover {
  background: #3d3e98;
  color: #FFFFFF !important;
}
.button{
    border: 2px solid #3d3e98;
    background: #3d3e98;
    border-radius: 9999px;
    position: relative;
    width: 200px;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    padding: 10px 25px;
    text-decoration: none;
    color: #FFF !important;
    line-height: 1.8;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 2px currentColor;
  border-right: solid 2px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button:hover {
  background: #FFF;
  color: #3d3e98 !important;
}
.button:hover:after {
  right: 1.4rem;
}

/* スクロールするとヘッダーが変化する */
.scrolled_navbar {
	height: 50px !important;
}
.scrolled_navbar_left {
	height: 45px !important;
}
.scrolled_navbar_left img {
    height: 40px;
    margin : 2px auto 0 20px;
}

/* 高高解像度以外の時に適用 */
@media screen  and (max-width: 1400px) {
    .topimg img {
        height: 550px;
    }
    .toptext p  {
        position: static;
        position: static;
    }
}

/* 高解像度以外の時に適用 */
@media screen  and (max-width: 1200px) {
    .topimg img {
        height: 450px;
    }
    .toptext  {
        position: static;
        max-width: 100%;
        margin: 0 auto;
        opacity: 100%;
        text-align: center !important;
    }

}

/* 中解像度の時に適用 */
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .navbar_left img {
        height: 45px;
        margin : 10px auto 0 10px;
    }
    .topimg img {
        height: 400px;
    }
    .toptext  {
        position: static;
        opacity: 100%;
        text-align: center !important;
    }
    .h1_sub{
        margin-bottom:20px;
    }
    main {
        margin-top: 0px;
    }
}

/* 低解像度の時に適用 */
@media screen and (max-width: 767px) {
    body {
        font-size: 14px;
    }
    .navbar {
        height: 60px;
    }
    .navbar-nav {
        line-height: 1.5;
    }
    .navbar-pc {
        display: none;
    }
    .navbar-sp {
        display: inherit;
    }
    .navbar_left {
        height: 60px !important;
    }
    .navbar_left img {
        height: 45px;
        margin : 10px auto 0 10px;
    }
    .nav-link {
        padding : 10px !important;
        border-bottom: #E4E4E4 2px solid;
    }
    .nav-link-pc {
        display: none;
    }
    .nav-link-sp {
        display: block;
    }
    .topimg img {
        height: 300px;
    }
    .toptext  {
        position: static;
        opacity: 100%;
        text-align: center !important;
        padding-left: 12px;
        padding-right: 12px;
    }
    .h1_sub{
        margin-bottom:20px;
    }
    .dropdown-menu {
        border: none;
    }
    .text-large {
       font-size: 14px;;
    }
    main {
        margin-top: 0px;
    }
    footer{
        font-size: small;
    }
   .table-indextable td, .table-indextable th {
     display: block;
     width: 100%;
     border-bottom: none;
     padding: 4px 10px !important;
     font-size: 14px;
   }
    .table-indextable td, .table-indextable th {
      font-size: 14px;
   }
   .table tr {
     border-bottom: 1px solid #ccc;
   }
   .table-wrap td, .table-wrap th {
     display: block;
     width: 100%;
     border-bottom: none;
     padding: 4px 10px !important;
     font-size: 14px;
   }
    .table-nowrap td, .table-nowrap th {
      font-size: 14px;
   }
   .table tr {
     border-bottom: 1px solid #ccc;
   }
  .link {
    padding: 8px 16px;
    font-size: 14px;
  }
}

/* 低解像度以外の時に適用 */
@media screen and (min-width: 768px) {
    .navbar-pc {
        display: inherit;
    }
    .navbar-sp {
        display: none;
    }
    .navbar_left {
        width: 28%;
        height: 90px;
        background-color: #ffffff;
    }
    .dropdown-menu {
        background-color: #ffffff;
    }
    .dropdown-item {
        color: #000000;
    }
    .dropdown:hover .dropdown-menu {
        display: block;
    }
    .nav-link-pc {
        display: block;
    }
    .nav-link-sp {
        display: none;
    }
}

/* 印刷時に適用 */
@media print {
    .navbar {
        position: static;
    }
}