@media only screen and (max-width: 1280px) {
.sp {
	display: block;
}
.system-list li h2 span {
	display: block;
}
#page-system .system-list li h3{
	margin-bottom: 2.0rem;
}
.single-inner {
	padding: 10.0rem 3.0rem;
}
}
@media screen and (max-width: 1140px) {
header nav.gnav {
	display: none;
}
.hamburger-overlay {
  position: fixed;
  display: block;
  top: 17px;
  right: 20px;
  z-index: 1000000000000000;
  width: 48px;
  height: 48px;
  border: none;
  background: transparent;
  cursor: pointer;
  background: #00a0e9;
}
.hamburger-overlay__line {
  position: absolute;
  left: 11px;
  width: 26px;
  height: 2px;
  background-color: #fff;
  transition: all .6s;
}

.hamburger-overlay__line:nth-of-type(1) { top: 14px; }
.hamburger-overlay__line:nth-of-type(2) { top: 23px; }
.hamburger-overlay__line:nth-of-type(3) { top: 32px; }

.hamburger-overlay.active{
	background: #fff;
}
.hamburger-overlay.active .hamburger-overlay__line {
  background-color: #00a0e9;
}

.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(2) {
  opacity: 0;
}
.hamburger-overlay.active .hamburger-overlay__line:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
}

.nav-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-color: #00a0e9;
  visibility: hidden;
  opacity: 0;
  transition: all .6s;
  z-index: 900;
}

.nav-overlay.active {
  visibility: visible;
  opacity: 1;
}

.nav-overlay__content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.nav-overlay__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.nav-overlay__item {
  opacity: 0;
  transform: translateY(20px);
  transition: all .6s;
}

.nav-overlay.active .nav-overlay__item {
  opacity: 1;
  transform: translateY(0);
}

.nav-overlay.active .nav-overlay__item:nth-child(1) { transition-delay: 0.1s; }
.nav-overlay.active .nav-overlay__item:nth-child(2) { transition-delay: 0.2s; }
.nav-overlay.active .nav-overlay__item:nth-child(3) { transition-delay: 0.3s; }
.nav-overlay.active .nav-overlay__item:nth-child(4) { transition-delay: 0.4s; }
.nav-overlay.active .nav-overlay__item:nth-child(5) { transition-delay: 0.5s; }
.nav-overlay.active .nav-overlay__item:nth-child(6) { transition-delay: 0.6s; }
.nav-overlay.active .nav-overlay__item:nth-child(7) { transition-delay: 0.7s; }

.nav-overlay__link {
  display: inline-block;
  padding: 2.0rem;
  color: #fff;
  font-size: 1.8rem;
  text-decoration: none;
  transition: color .3s;
}

.nav-overlay__link:hover {
  color: #4a90e2;
}

#overlay-menu {
	display: block;
}
#index-about .flex-box .index-about-L {
	width: 50%;
}
#index-about .flex-box .index-about-R {
	width: 48.5%;
}
#index-advantage {
	margin-bottom: 0;
	height: 850px;
}
#index-advantage .detail {
    top: 180px;
    right: 50px;
}
#index-plan {
	margin-bottom: 0;
	height: 850px;
}
#index-plan .detail {
    top: 180px;
    left: 50px;
}
#page-keyv article .page-keyv-txt h2{
	font-size: 10.0rem;
}
.point-list li{
	padding: 10.0rem 2.5rem;
}
.point-list li .no {
	font-size: 2.5rem;
	padding: 2.0rem;
}
.point-list li .box h2{
	width: 100%;
	margin-bottom: 1.0rem;
}
.table-container {
    overflow-x: scroll;
    margin-bottom: 3rem;
}
.table-container table {
    width: 1000px !important;
}
.point-list li .box .image {
	margin: 0 auto 2.0rem;
}
#page-contact {
	padding: 5.0rem;
}
.page-block article{
	padding: 0;
}
#sidebar {
	width: 27.5%;
	padding: 5.0rem 2.5rem;
}
#page-column.page-block article{
	padding: 0 3.0rem;
}

}
@media only screen and (max-width: 840px) {
#index-keyv .keyv-txt h2{
	font-size: 3.5rem;
}
#index-keyv .keyv-txt h3{
	font-size: 2.1rem;
}
#index-advantage .image {
	width: 68%;
}
#index-advantage .detail {
	top: 250px;
	right: 50px;
	padding: 5.0rem;
}
#index-plan .image {
	width: 68%;
}
#index-plan .detail {
	top: 250px;
	left: 50px;
	padding: 5.0rem;
}
#index-column {
	padding: 5.0rem 2.0rem;
}
#index-column .column-list li a h3{
	font-size: 1.6rem;
}
.story-list-L {
	width: 100%;
	margin-bottom: 2.0rem;
}
.story-list-R {
	width: 100%;
	padding: 0;
}
.single-inner {
	padding: 10.0rem 2.0rem;
}
#page-column .column-list li a h3{
	font-size: 1.6rem;
	line-height: 1.4;
}
.system-list li h2{
	font-size: 2.1rem;
}
.system-list li .box h3 span{
	font-size: 3.0rem;
}
}
@media screen and (max-width: 480px) {
.section-ttl {
	font-size: 2.4rem;
	line-height: 1.2;
}
.section-subttl {
	font-size: 1.8rem;
}
header .header-inner h1 {
	width: 100px;
}
#index-keyv {
	height: 250px;
	margin-bottom: 5.0rem;
}
#index-keyv .slider {
	height: 250px;
}
#index-keyv .keyv-txt {
	top: 60%;
	right: 0;
	width: 100%;
	text-align: center;
}
#index-keyv .keyv-txt h2{
	font-size: 1.8rem;
}
#index-keyv .keyv-txt h3{
	font-size: 1.4rem;
}
#index-about .flex-box .index-about-L {
	width: 100%;
	margin-bottom: 3.0rem;
}
#index-about .flex-box .index-about-L.scroll-up, #index-about .flex-box .index-about-R.scroll-up {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
#index-about .flex-box .index-about-L .section-subttl.mb100 {
	margin-bottom: 0 !important;
}
#index-about .flex-box .index-about-L .link_btn {
	display: none;
}
#index-about .flex-box .index-about-R {
	width: 100%;
}
.sp-only {
	display: block;
	margin: 2.0rem auto 0;
	width: 250px;
}

#index-advantage {
	height: auto;
	margin-bottom: 5.0rem;
}
#index-advantage article{
	padding: 0 2.0rem;
}
#index-advantage .image {
	width: 100%;
}
#index-advantage .detail {
	position: static;
	width: 100%;
	padding: 3.0rem 2.0rem;
}
#index-advantage .detail .link_btn {
	width: 250px;
	margin: 0 auto;
}
#index-plan {
	height: auto;
	margin-bottom: 5.0rem;
}
#index-plan article{
	padding: 0 2.0rem;
}
#index-plan .image {
	position: static;
	width: 100%;
}
#index-plan .detail {
	position: static;
	width: 100%;
	padding: 3.0rem 2.0rem;
}
#index-plan .detail .link_btn {
	width: 250px;
	margin: 0 auto;
}
#index-column .column-list {
    grid-template-columns: repeat(1, 1fr);
}
#page-keyv {
	height: 380px;
}
#page-keyv article .page-keyv-txt h1{
	font-size: 1.8rem;
	line-height: 1.2;
	margin-bottom: 1.0rem;
}
#page-keyv article .page-keyv-txt h2{
	font-size: 5.0rem;
}
.page-block article{
	padding: 0 2.0rem;
}
.page-box-L {
	width: 100%;
	margin-bottom: 2.0rem;
}
.page-box .section-ttl {
	font-size: 2.1rem;
	margin-bottom: 2.0rem;
}
.page-box-R {
	width: 100%;
}
.page-block article .image-over {
	width: 100%;
	margin: 0 0 2.0rem;
}
.page-txt {
	font-size: 1.6rem;
}
.point-list li .box h2{
	font-size: 2.0rem;
}
.system-list li{
	padding: 2.0rem 0 4.0rem;
}
.system-list li h2{
	line-height: 1.4;
}
.system-list li h2 span{
	font-size: 5.0rem;
}
.system-list li .box h3 span{
	font-size: 2.0rem;
}
.system-list li .box .image {
	width: 100%;
}
.system-bnr {
	padding: 5.0rem 2.0rem;
}
.system-bnr h2{
	font-size: 2.0rem;
	margin-bottom: 2.0rem;
}
.system-list02 li .image {
	width: 100%;
	margin-bottom: 2.0rem;
}
.system-list02 li .detail {
	width: 100%;
	padding: 0;
}
.system-list02 li .detail h2{
	line-height: 1.4;
	margin-bottom: 2.0rem;
}
.story-list li h3{
	border-top: 1px solid #e5e7eb;
	margin-top: 5.0rem;
	line-height: 1.4;
	padding: 1.0rem 0;
}
.acd-label{
	font-size: 1.6rem;
	line-height: 1.4;
	padding: 3.0rem 5.0rem;
}
.acd-label:before{
	width: 30px;
	height: 30px;
	line-height: 28px;
	left: 1.0rem;
}
.acd-label:after{
	width: 30px;
	height: 30px;
    line-height: 30px;
    right: 1.0rem
}
.acd-check:checked + .acd-label:after{
	line-height: 30px;
}
.acd-content h2{
	font-size: 1.8rem;
	line-height: 1.4;
	margin-bottom: 1.0rem;
}
.acd-content .page-txt {
	font-size: 1.4rem;
}
#page-contact {
	padding: 0 2.0rem;
}
#page-contact .page-box {
	padding: 0;
}
.tel-box {
	width: 100%;
	padding: 5.0rem 2.0rem;
}
.tel-box .tel-no {
	font-size: 3.5rem;
}
.contact-form-inner {
	padding: 5.0rem 2.0rem;
}
.contact-form li h4{
	width: 100%;
}
.contact-form li .contact-input {
	width: 100%;
}
.single-inner {
	padding: 5.0rem 1.0rem;
}
#main-column {
	width: 100%;
	padding: 5.0rem 2.0rem;
	margin-bottom: 3.0rem;
}
.column-content h1{
	font-size: 2.5rem;
}
.column-content h2{
	font-size: 2.0rem;
}
.column-content h3{
	font-size: 1.8rem;
}
.column-detail {
	margin-bottom: 2.0rem;
}
.single-inner .date {
	margin-bottom: 1.0rem;
}
.single-inner .cat-name {
	margin-bottom: 1.0rem;
}
#sidebar {
	width: 100%;
}
#page-column {
	padding: 5.0rem 0;
}
#page-column .column-list {
	grid-template-columns: repeat(1, 1fr);
}
}
