.jp-flex-row{display: flex; flex-direction: row;}
.jp-flex-column{display: flex; flex-direction: column;}
.jp-flex-justly-center{justify-content: center;}
.jp-flex-justify-space-between{justify-content:space-between;}
.jp-flex-wrap-wrap{flex-wrap:wrap;}
.jp-col-2{width: 47%;margin:0 1.5%;}
.jp-col-3{width: 31%; margin:  0 1%;}
.jp-margin-top-40{margin-top: 40px !important;}
#jp-theme .hero-dc-dark-blue{background-color: #015A99;padding-top: 100px;padding-bottom: 60px;margin-top: 130px;}
#jp-theme .hero-dc-dark-blue h1{color: white; text-align: center; padding: 0 20px;}
#jp-theme-body{width: 90%; margin: 70px auto;}
#jp-theme h3.ttl {
  background: #0174c3;
  padding: 5px 15px;
  color: white;
  font-size:21px;
  margin-top:20px;
}
#jp-theme h3.sub-ttl{font-size: 21px;padding: 5px 15px;}
#jp-theme ul li{margin-bottom:7px;font-size:21px;line-height: 28px;}
#jp-contact{margin-top: 70px;}
#jp-contact h2{font-weight: 300;font-size:35px;line-height: 45px;margin-bottom: 20px;}
#jp-contact .btn-container{margin-top:0px;}
#jp-theme #jp-contact ul{padding-left: 20px;}
#jp-theme #jp-contact ul li{font-size:17px;width:45%}
#jp-theme .bg-lightest-grey{background-color: #e9eef1;}
#jp-theme .bg-lightest-blue{background-color: #6FCBE4;color: white;}
#jp-theme .bg-light-blue{background-color: #00ADDD;color: white;}
#jp-theme table{border-collapse: collapse;border: 1px solid #d3dce3;}
#jp-theme table tr{border-bottom: 1px solid #d3dce3;}
#jp-theme table td, table th{font-size:  17px;text-align: left;}
#jp-theme table td{border-left: 1px solid #d3dce3;}
#jp-theme ol{font-size: 21px;line-height: 28px;}
#jp-theme ol.jp-number-parentheses{padding-left: 20px;}
#jp-theme ol.jp-number-parentheses li{list-style-type: none; counter-increment: cnt;}
#jp-theme ol.jp-number-parentheses li::before{content: "(" counter(cnt) ")";}
#jp-theme .bg-electric-blue{background-color: rgb(15, 157, 255);color: white;}
#jp-theme .bg-dark-blue{background-color: #015A99;color: white;}
#jp-theme .bg-dc-blue{background-color: rgb(1, 116, 195);color: white;}
#jp-theme .jp-9-icons-text .jp-icon-panel{margin-bottom: 10px;padding: 10px;box-sizing: border-box;align-items: center;}
#jp-theme .jp-9-icons-text .jp-icon-panel img{width: 50px;height: 50px;}
#jp-theme .jp-9-icons-text .jp-icon-panel h3{color: white;font-size: 16px;line-height: 21px;text-align: center;margin-top: 5px;margin-bottom: 10px;font-weight: bold;}
#jp-theme table.jp-table-3-col td{padding: 10px;}
#jp-theme table.jp-table-5-col td{padding: 10px;}
#jp-theme dt{font-weight: bold;margin-top: 20px;}
#jp-theme dd{margin-left:  10px; margin-top:  10px;}
#jp-theme .jp-table-wrap{width: 100%; overflow: hidden;}
#jp-theme .jp-table-2-col-wrap{overflow: hidden;overflow-x: scroll;}
#jp-theme ul.jp-list-style-none{list-style: none;}
#jp-theme li.jp-small-disc:before{content: "・";}
#jp-theme li.jp-dash: before{content: "-"; margin-left:  20px;}
#jp-theme h3.ttl a {color: #fff;display: inline-block;border-bottom: 2px solid #fff;line-height: 25px;}
#jp-theme .bg-light-blue a, #jp-theme .bg-lightest-blue a, #jp-theme .bg-electric-blue a {color: #fff;display: inline-block;border-bottom: 2px solid #fff;line-height: 25px;}
#jp-theme .jp-table-wrap{overflow-x: scroll;}

@media (max-width: 1130px){
	#jp-theme table.jp-scroll-x{width:  500px;display: block;}
}
@media (max-width:  1024px){
	#jp-theme #jp-contact.jp-flex-row{flex-direction: column;}
	#jp-theme #jp-contact .jp-col-2{width:  100%;}
	#jp-theme #jp-contact .jp-col-2:last-child{margin-top:  30px;}
	#jp-theme #jp-contact ul li{width:  100%;}
	#jp-theme .jp-scroll-x-full-screen{width: 880px;}
}
@media (max-width: 980px){
	#jp-theme .jp-9-icons-text .jp-icon-panel.jp-col-3{width: 48%;}
}
@media (max-width: 860px){
	#jp-theme .jp-flex-row{flex-direction: column;}
	#jp-theme .jp-col-2{width:  100%;}
	#jp-theme .waf-menu.jp-flex-row{flex-direction: row;}
	.jp-max-w-860-margin-top-40{margin-top:  40px;}
	#jp-theme .jp-9-icons-text.jp-flex-row{flex-direction: row;}
	#jp-theme .jp-9-icons-text .jp-icon-panel.jp-flex-column{
		flex-direction: row;
	}
	#jp-theme .jp-9-icons-text .jp-icon-panel h3{text-align: left;margin-left: 20px;}
}
@media (max-width: 680px){
	#jp-theme .jp-9-icons-text.jp-flex-row{flex-direction: column;}
	#jp-theme .jp-9-icons-text .jp-icon-panel.jp-col-3{width: 100%;}
	#jp-theme .jp-9-icons-text .jp-icon-panel.jp-col-3 br{display: none;}
}

/*--------- JP Modal Start ---*/

.jp-modal-content{
    text-align: left;
}
.jp-modal-wrapper {
    position: fixed;
    display: flex;
    align-items: center;
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    border: none;
    opacity: 0;
    z-index: -1;
}
.jp-modal-window {
    width: 280px;
    padding: 20px;
    background: #fff;
    z-index: 1;
    box-sizing: border-box;
    max-height: 70%;
    overflow: hidden;
    overflow-y: scroll;
}
.jp-modal-open, .jp-modal-open p {
	color: #0f9dff;
	cursor: pointer;
}
td.jp-modal-open p{font-size: 17px;}
.jp-modal-mask {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.7);
    display: flex;
    justify-content: center;
align-items: flex-start;
padding-top: 10%;
}
.jp-modal-close {
    cursor: pointer;
}
.jp-modal-close-btn {
  position: relative;
  width: 40px;
  height: 50px;
margin-left: 5px;
}
.jp-modal-close-btn:before{
	content: "\00d7";
color: #fff;
font-family: DINCondenced;
font-size: 3pc;
line-height: 0.5;
display: inline;}
.jp-modal-close:hover {
    color: #000;
    transition: all .5s;
}
html.is_open, body.is_open {
    overflow: hidden;
}
.jp-modal-wrapper.is_open {
    animation: jp-modal-wrapper_open .5s ease forwards;
}
.jp-modal-wrapper.is_open .jp-modal-window {
    animation: jp-modal-window_open .5s ease forwards;
}
.jp-modal-wrapper.is_close {
    animation: jp-modal-wrapper_close .5s ease forwards;
}
.jp-modal-wrapper.is_close .jp-modal-window {
    animation: jp-modal-window_close .5s ease forwards;
}

@keyframes jp-modal-wrapper_open {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
      z-index: 300;
    }
  }
  @keyframes jp-modal-window_open {
    0% {
      opacity: 0;
      transform: translateY(-30px);
    }
    100% {
      opacity: 1;
      transform: translateY(0);
    }
  }
  @keyframes jp-modal-wrapper_close {
    0% {
      z-index: 300;
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes jp-modal-window_close {
    0% {
      opacity: 1;
      transform: translateY(0);
    }
    100% {
      transform: translateY(-30px);
      opacity: 0;
    }
  }

/*------------------ JP Modal End ---*/