/**
* Template Name: Appland - v4.2.0
* Template URL: https://bootstrapmade.com/free-bootstrap-app-landing-page-template/
* Author: BootstrapMade.com
* License: https://bootstrapmade.com/license/
*/

/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {color:#212121;font-family: 'Noto Sans JP', sans-serif, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,"ＭＳ Ｐゴシック",sans-serif;line-height:2 !important;}
a {color: #333333;text-decoration: none;}
a:hover {color: #888888 !important;text-decoration: none !important;;}
h1, h2, h3, h4, h5, h6 {font-weight:800;}
ul{padding:0;}
li{list-style-type: none;}
.sm{font-size:0.8rem;}
.rd{color:#D20B5A;font-weight:bold;}
.b{font-weight:bold;}
.center{text-align:center;}
.text-light{color:#999999 !important;}
.fixed--footer {position: fixed;bottom: 0px;width: 100%;padding: 0px;text-align: center;background-color:#fff;border-top: 1px solid #ddd;}
.fixed--footer .container{padding:0;}
.fixed--footer a{width:100%;display: inline-block;padding: 5px;color: #fff;font-weight: bold;}
.fixed--footer a:first-child{background-color:#ff9600;}
.fixed--footer a:last-child{background-color:#ff9600;}
.fixed--footer a:hover{color:#fff;}
.pc{display:block;}
.sp{display:none;}
@media screen and (max-width: 768px) {
	.pc{display:none !important;}
	.sp{display:block;}
	.row{--bs-gutter-x:0rem;}
	#footer_line_icon{bottom:55px;width:20%;}
	#footer_line_icon img{width:100%;}
}
.youtube {width: 90%;aspect-ratio: 16 / 9;margin:0 auto;}
.youtube iframe {width: 100%;height: 100%;}
.getstarted {background: #ff9600;color: #fff;padding: 12px 25px;margin-left: 10px;color: #fff;line-height: 1.5;border-radius: 50px;font-weight:900;}
.getstarted:hover {opacity:0.6;color: #fff !important;}
.btn2 {border:1px solid #ff9600;color: #ff9600;padding: 12px 25px;margin-left:10px;line-height: 1.5;border-radius: 50px;font-weight:900;text-align:center;}
.btn2:hover {opacity:0.6;color: #ff9600 !important;}
#footer_line_icon{position: fixed;bottom: 50px;right: 5px;z-index: 9;}
.badge{border:1px solid #ff9600;color:#ff9600;min-width:100px;margin-right:20px;}
.note{background-color:#f5f5f5;padding:20px;}

/* cta */
.cta{background-color:#ff9600;}
.cta .section-title p{color:#fff !important;}
.cta h2{color:#fff !important;}
.cta .flex{display:flex;}
.cta a{background-color:#fff;border-radius:10px;width:100%;margin: 10px;padding: 20px;border-bottom:5px solid #af6904;text-align:center;}
.cta h3{margin-bottom:0px;}
.cta img{height: fit-content;}
@media screen and (max-width: 768px) {
	.cta .section-title{padding-bottom:0px;}
	.cta .flex{display:block;}
	.cta a{display:flex !important;width:95%;}
	.cta img{width:50%;}
	.cta p{font-size:0.8rem;margin-bottom:0;}
}

/* scroll */
@keyframes infinity-scroll-left {
	from {transform: translateX(0);}
	to {transform: translateX(-100%);}
}
.scroll-infinity__wrap {display: flex;overflow: hidden;}
.scroll-infinity__list {display: flex;list-style: none;padding: 0}
.scroll-infinity__list--left {animation: infinity-scroll-left 20s infinite linear 0.5s both;}
.scroll-infinity__item1 {width:initial;margin-right:50px;}
.scroll-infinity__item1>img {width:initial;}
.scroll-infinity__item {width: calc(100vw / 10);margin-right:10px;}
.scroll-infinity__item>img {width: 100%;}
@media screen and (max-width: 768px) {
	.scroll-infinity__item {width: calc(100vw / 5);}
}

/* layout */
.text-left{text-align:left;}
.text-center{text-align:center;}
.mb-0{margin-bottom:0px;}
.mb-20{margin-bottom:20px !important;}
.mb-30{margin-bottom:30px !important;}
.mb-40{margin-bottom:40px !important;}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {position: fixed;visibility: hidden;opacity: 0;right: 15px;bottom: 15px;z-index: 996;background: #ff9600;width: 40px;height: 40px;border-radius: 50px;transition: all 0.4s;}
.back-to-top i {font-size: 24px;color: #fff;line-height: 0;}
.back-to-top:hover {opacity:0.7;color: #fff;}
.back-to-top.active {visibility: visible;opacity: 1;}

/*--------------------------------------------------------------
# Disable aos animation delay on mobile devices
--------------------------------------------------------------*/
@media screen and (max-width: 768px) {
  [data-aos-delay] {transition-delay: 0 !important;  }
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {transition: all 0.5s;z-index: 997;transition: all 0.5s;padding: 15px 0;background: rgba(255, 255, 255, 0.95);}
#header .container{max-width:1440px;}
#header.header-scrolled {background: rgba(255, 255, 255, 0.95);box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);}
#header .logo h1 {font-size: 30px;margin: 0;line-height: 1.5;font-weight: 400;letter-spacing: 2px;}
#header .logo h1 a, #header .logo h1 a:hover {color: #ff9600;text-decoration: none;}
#header .logo img {margin: 0;max-height: 40px;}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/*** Desktop Navigation */
.navbar {padding: 0;}
.navbar ul {margin: 0;padding: 0;display: flex;list-style: none;align-items: center;}
.nav-link{color:initial;padding:.5rem 9px;}
.navbar li {position: relative;}
.navbar a i {font-size: 12px;line-height: 0;margin-left: 5px;}
.navbar a:hover, .navbar .active, .navbar li:hover > a {color: #ff9600;}
.navbar .dropdown ul {display: block;position: absolute;left: 14px;top: calc(100% + 30px);margin: 0;padding: 10px 0;z-index: 99;opacity: 0;visibility: hidden;background: #fff;box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);transition: 0.3s;border-radius: 4px;}
.navbar .dropdown ul li {min-width: 200px;}
.navbar .dropdown ul a {padding: 10px 20px;font-size: 15px;text-transform: none;font-weight: 600;}
.navbar .dropdown ul a i {font-size: 12px;}
.navbar .dropdown ul a:hover, .navbar .dropdown ul .active:hover, .navbar .dropdown ul li:hover > a {color: #ff9600;}
.navbar .dropdown:hover > ul {opacity: 1;top: 100%;visibility: visible;}
.navbar .dropdown .dropdown ul {top: 0;left: calc(100% - 30px);visibility: hidden;}
.navbar .dropdown .dropdown:hover > ul {opacity: 1;top: 0;left: 100%;visibility: visible;}

@media (max-width: 1366px) {
	.navbar .dropdown .dropdown ul {left: -90%;}
	.navbar .dropdown .dropdown:hover > ul {left: -100%;}
}

/**
* Mobile Navigation 
*/
.mobile-nav-toggle {color: #47536e;font-size: 28px;cursor: pointer;display: none;line-height: 0;transition: 0.5s;}
.mobile-nav-toggle.bi-x {color: #fff;}

@media (max-width: 991px) {
	.mobile-nav-toggle {display: block;}
	.navbar ul {display: none;}
}

.navbar-mobile {position: fixed;overflow: hidden;top: 0;right: 0;left: 0;bottom: 0;background: rgba(51, 60, 79, 0.9);transition: 0.3s;z-index: 999;}
.navbar-mobile .mobile-nav-toggle {position: absolute;top: 15px;right: 15px;}
.navbar-mobile ul {display: block;position: absolute;top: 55px;right: 15px;bottom: 15px;left: 15px;padding: 10px 0;border-radius: 6px;background-color: #fff;overflow-y: auto;transition: 0.3s;}
.navbar-mobile a {  padding: 10px 20px;  font-size: 15px;  color: #47536e;}
.navbar-mobile a:hover, .navbar-mobile .active, .navbar-mobile li:hover > a {  color: #ff9600;}
.navbar-mobile .getstarted {margin: 15px;display:block;color:#fff;text-align:center;}
.navbar-mobile .btn2 {margin: 15px;display:block;color:#ff9600;text-align:center;}
.navbar-mobile .dropdown ul {position: static;display: none;margin: 10px 20px;padding: 10px 0;z-index: 99;opacity: 1;visibility: visible;background: #fff;box-shadow: 0px 0px 30px rgba(127, 137, 161, 0.25);}
.navbar-mobile .dropdown ul li { min-width: 200px;padding: 10px 0;}
.navbar-mobile .dropdown ul a {padding: 10px 20px;}
.navbar-mobile .dropdown ul a i {font-size: 12px;}
.navbar-mobile .dropdown ul a:hover, .navbar-mobile .dropdown ul .active:hover, .navbar-mobile .dropdown ul li:hover > a {color: #ff9600;}
.navbar-mobile .dropdown > .dropdown-active {display: block;}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {width: 100%;position: relative;  overflow: hidden;/*background-image:url("../img/hero_bg.png");background-size:contain;background-position:center;background-repeat:no-repeat;*/height:600px;/*margin-top: 80px;*/margin-top:100px;line-height:1.5;}
/*#hero .container{width:900px;}*/
#hero h1 {font-size:39px;line-height:1.5;font-weight:900;margin-bottom:10px;}
#hero h2 {color: #515f7d;margin-bottom: 50px;font-size: 20px;}

@media (max-width: 768px) {
	#hero {text-align: center;background-position:top;height: fit-content;padding:320px 0 0px 0;background-image: url(../img/hero-img.png);background-size: 85%;background-repeat: no-repeat;}
	#hero h1 {font-size:24px;}
	#hero h2 {font-size: 14px;line-height:1.5;margin-bottom:10px;}
	#hero a{display:inline-block;margin:5px;}
}
@media screen and (max-width: 1024px) and (min-width:768px) {
	#hero .pc{display:none;}
}

/* topics */
#topics{padding: 0px 0;text-align: center;background-color: #D20B5A;}
#topics a{display:block;color:#fff;font-weight:bold;font-size:1.2rem;}
#topics a:hover{color:#fff;}

/*--------------------------------------------------------------
# jisseki
--------------------------------------------------------------*/
#jisseki{padding-bottom:0px;}
#jisseki p{font-size:20px;}
#jisseki p span{font-size:16px;}
@media (max-width: 768px) {
	#jisseki p{font-size:14px;}
	#jisseki p span{font-size:12px;}
}

/*--------------------------------------------------------------
# testimonials
--------------------------------------------------------------*/
#testimonials .swiper-slide img{width:inherit;border-radius:10px;}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {padding: 60px 0;overflow: hidden;}
.section-bg {background-color:#f6f8fb;}
.section-title {text-align: center;padding-bottom: 30px;}
.section-title h2 {font-size: 32px;font-weight: 800;margin-bottom: 20px;padding-bottom: 0;color: #585a61;line-height:1.5;}
.section-title p {margin-bottom: 0;}
@media (max-width: 768px) {
	section {padding: 30px 0;}
	.section-title h2 {font-size:28px;}
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {padding: 15px 0;background-color: #f6f8fb;min-height: 40px;margin-top: 10px;}
.breadcrumbs h2 {font-size: 24px;font-weight: 300;}
.breadcrumbs ol {display: flex;flex-wrap: wrap;list-style: none;padding: 0;margin: 0;font-size: 14px;}
.breadcrumbs ol li + li {padding-left: 10px;}
.breadcrumbs ol li + li::before {display: inline-block;padding-right: 10px;color: #6c757d;content: "/";}

@media (max-width: 768px) {
	.breadcrumbs{/*margin-top:45px;*/margin-top:110px;}
	.breadcrumbs .d-flex {display: block !important;}
	.breadcrumbs ol {display: block;}
	.breadcrumbs ol li {display: inline-block;}
}
/*--------------------------------------------------------------
# onayami
--------------------------------------------------------------*/
#onayami{background-color:#f5f5f5;}
#onayami dl{background-color:#fff;border-radius:10px;}
#onayami dl dt{text-align:center;background-color:#2a2a4b;color:#fff;border-radius: 10px 10px 0 0;font-size:1.5rem;padding:5px;}
#onayami dl dd{padding:10px;}
#onayami img{position:absolute;z-index:1;}

@media (max-width: 768px) {
}

/*--------------------------------------------------------------
# App Features
--------------------------------------------------------------*/
.features .content {padding: 30px 0;}
.features .content .icon-box {margin-top: 25px;}
.features .content .icon-box h4 {font-size: 20px;font-weight: 700;margin: 5px 0 10px 60px;}
.features .content .icon-box i {font-size: 48px;float: left;color: #ff9600;}
.features .content .icon-box p {font-size: 15px;color: #979aa1;margin-left: 60px;}

@media (max-width: 991px) {
	.features .image {text-align: center;}
	.features .image img {max-width: 80%;}
	.features .content .icon-box {margin-top:0px;}
}

@media (max-width: 667px) {
	.features .image img {max-width: 100%;}
}

/*--------------------------------------------------------------
# Details
--------------------------------------------------------------*/
.details .content + .content {
  margin-top: 100px;
}

.details .content h3 {
  font-weight: 700;
  font-size: 32px;
  color: #47536e;
}

.details .content ul {
  list-style: none;
  padding: 0;
}

.details .content ul li {
  padding-bottom: 10px;
}

.details .content ul i {
  font-size: 24px;
  padding-right: 2px;
  color: #ff9600;
  line-height: 0;
}

.details .content p:last-child {
  margin-bottom: 0;
}
.details .get-started-btn {
    background: #47536e;
    display: inline-block;
    padding: 8px 30px;
    border-radius: 20px;
    color: #fff;
    transition: none;
    font-size: 14px;
    font-weight: 400;
    transition: 0.3s;
}

@media (max-width: 768px) {
	.details .content h3 {font-size:22px;margin-top: 20px;}
}

/*--------------------------------------------------------------
# Gallery
--------------------------------------------------------------*/
.gallery {overflow: hidden;}
.gallery .swiper-slide {transition: 0.3s;}
.gallery .swiper-pagination {margin-top: 20px;position: relative;}
.gallery .swiper-pagination .swiper-pagination-bullet {width: 12px;height: 12px;background-color: #fff;opacity: 1;border: 1px solid #ff9600;}
.gallery .swiper-pagination .swiper-pagination-bullet-active {background-color: #ff9600;}
.gallery .swiper-slide-active {text-align: center;}

@media (min-width: 992px) {
	.gallery .swiper-wrapper {padding: 40px 0;}
	.gallery .swiper-slide-active {border: 6px solid #ff9600;padding: 4px;background: #fff;z-index: 1;transform: scale(1.2);margin-top: 10px;border-radius: 25px;}
}

/*--------------------------------------------------------------
# philosophy
--------------------------------------------------------------*/
#philosophy {background-color:#f6f8fb;}
#philosophy .container > div:nth-of-type(2){margin-bottom:60px;}
@media (max-width: 992px) {
	#philosophy .row .col-12 img{width:100%;}
	#philosophy .row .col-12:first-child{margin-bottom:20px;}
}

/*--------------------------------------------------------------
# Testimonials
--------------------------------------------------------------*/
.testimonials .testimonial-item {
  box-sizing: content-box;
  padding: 30px 30px 30px 60px;
  margin: 30px 10px 30px 50px;
  min-height: 200px;
  box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.08);
  position: relative;
  background: #fff;
}

.testimonials .testimonial-item .testimonial-img {
  width: 90px;
  border-radius: 10px;
  border: 6px solid #fff;
  position: absolute;
  left: -45px;
}

.testimonials .testimonial-item h3 {
  font-size: 18px;
  font-weight: bold;
  margin: 10px 0 5px 0;
  color: #111;
}

.testimonials .testimonial-item h4 {
  font-size: 14px;
  color: #999;
  margin: 0;
}

.testimonials .testimonial-item .quote-icon-left, .testimonials .testimonial-item .quote-icon-right {
  color: #FFF4E5;
  font-size: 26px;
}

.testimonials .testimonial-item .quote-icon-left {
  display: inline-block;
  left: -5px;
  position: relative;
}

.testimonials .testimonial-item .quote-icon-right {
  display: inline-block;
  right: -5px;
  position: relative;
  top: 10px;
}

.testimonials .testimonial-item p {
  font-style: italic;
  margin: 15px auto 15px auto;
}

.testimonials .swiper-pagination {
  margin-top: 20px;
  position: relative;
}

.testimonials .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background-color: #fff;
  opacity: 1;
  border: 1px solid #ff9600;
}

.testimonials .swiper-pagination .swiper-pagination-bullet-active {
  background-color: #ff9600;
}
#testimonials #testimonials-5 {margin-top:20px;margin-bottom:60px;}
#testimonials #testimonials-5 h4{margin-top:20px;font-size:1rem;font-weight:bold;border-bottom:1px solid #ddd;line-height:2;}
#testimonials #testimonials-5 h4 .q{background-color: #17aab5;color: #fff;padding: 3px 5px;margin-right: 7px;}
#testimonials #testimonials-5 p .a{background-color: #ec6d71;color: #fff;padding: 3px 5px;margin-right: 7px;font-weight:bold;}
#testimonials #testimonials-3 {margin-top:20px;margin-bottom:60px;}
#testimonials #testimonials-3 h3{font-weight:bold;}
#testimonials #testimonials-4 h3{font-weight:bold;}
#testimonials #testimonials-3 >div> div {background-color:#ffffff;border:1px solid #ddd;padding:10px 20px 0px 20px;}
#testimonials #testimonials-4 >div> div {background-color:#ffffff;border:1px solid #ddd;padding:10px 20px 0px 20px;}
#testimonials #testimonials-3 >div> div p:first-child{font-weight:bold;margin-bottom:0px !important;}
#testimonials .col-md-3{text-align:center;}

@media (max-width: 768px) {
	#testimonials .col-md-3{text-align:center;margin:20px 0;}
}

/*--------------------------------------------------------------
# Pricing
--------------------------------------------------------------*/
.pricing .row {padding-top: 40px;}
.pricing .box {padding:20px;margin-bottom: 30px;box-shadow: 0px 0px 30px rgba(73, 78, 92, 0.15);background: #fff;text-align: center;min-height:600px;}
.pricing h3 {margin-bottom: 15px;font-size: 28px;}
.pricing h5 {font-size:36px;color: #ff9600;margin-bottom: 25px;}
.pricing h5 span {color: #bababa;font-size: 18px;}
.pricing ul {padding: 0;list-style: none;text-align: left;line-height: 1.5;font-size:14px;}
.pricing p{font-size:14px;}
.pricing ul li {padding-bottom:5px;}
.pricing ul i {color: #ff9600;font-size: 18px;padding-right: 4px;}
.pricing ul .na {color: #ccc;}
.pricing ul .na i {color: #ccc;}
.pricing ul .na span {text-decoration: line-through;}
.pricing .get-started-btn {background: #47536e;display: inline-block;padding: 8px 30px;border-radius: 20px;color: #fff;transition: none;font-size: 14px;font-weight: 400;transition: 0.3s;}
.pricing .get-started-btn:hover {background: #ff9600;}
.pricing .featured {z-index: 10;margin: -30px -5px 0 -5px;}
.pricing .featured .get-started-btn {background: #ff9600;}
.pricing .featured .get-started-btn:hover {background: #748ec6;}
@media (max-width: 992px) {
	.pricing .box {max-width: 60%;margin: 0 auto 30px auto;min-height: auto;}
}
@media (max-width: 767px) {
	.pricing .box {max-width: 80%;margin: 0 auto 30px auto;min-height: auto;}
}
@media (max-width: 420px) {
	.pricing .box {max-width: 100%;margin: 0 auto 30px auto;min-height: auto;}
}

/*--------------------------------------------------------------
# Frequently Asked Questions
--------------------------------------------------------------*/
.faq h3 {margin-bottom:20px;text-align:center;}
.faq .accordion-list {padding: 0 100px;margin-top:70px;}
.faq .accordion-list ul {padding: 0;list-style: none;}
.faq .accordion-list ul li{border:1px solid #ddd;}
.faq .accordion-list li + li {margin-top: 15px;}
.faq .accordion-list li {padding: 20px;background: #fff;border-radius: 4px;position: relative;}
.faq .accordion-list a {display: block;position: relative;font-size: 16px;line-height: 1.5;font-weight: 500;padding: 0 30px;outline: none;cursor: pointer;}
.faq .accordion-list .icon-help {font-size: 24px;position: absolute;right: 0;left: 20px;color: #b1c0df;}
.faq .accordion-list .icon-show, .faq .accordion-list .icon-close {font-size: 24px;position: absolute;right: 0;top: 0;}
.faq .accordion-list p {margin-bottom: 0;padding: 10px 0 0 0;}
.faq .accordion-list p a {display:inline;position:initial;padding:0;text-decoration:underline;}
.faq .accordion-list .icon-show {display: none;}
.faq .accordion-list a.collapsed {color: #343a40;}
.faq .accordion-list a.collapsed:hover {color: #ff9600;}
.faq .accordion-list a.collapsed .icon-show {display: inline-block;}
.faq .accordion-list a.collapsed .icon-close {display: none;}

@media (max-width: 1200px) {
	.faq .accordion-list {padding: 0;}
}

/*--------------------------------------------------------------
# Contact
--------------------------------------------------------------*/
#contact .form {margin:40px 0;}
#contact .trigger label{width:initial;margin-right:10px;}
#contact span.optional {background-color:#337ab7;color:#ffffff;font-size:0.8rem;padding:4px;margin-right:5px;}
#contact span.required {background-color:#d43f3a;color:#ffffff;font-size:0.8rem;padding:4px;margin-right:5px;}
#contact table {
	width:100%;
	border-left: 1px solid #dddddd;
    border-right: 1px solid #dddddd;
    border-bottom: 1px solid #dddddd;
    border-collapse:collapse;
    border-spacing:0;
	background-color:#ffffff;
}
#contact table tr{
    width: 100%;
    border-top: solid 1px #dddddd;
    vertical-align: top;
}
#contact table th{
	width: 25%;
    background-color: #f5f5f5;
    padding: 30px 0px 30px 20px;
    vertical-align: top;
	text-align:left;
}
#contact table td {
	width: 75%;
    font-size: 18px;
    padding: 15px;
    box-sizing: border-box;
}
#contact input, #contact textarea, #contact select {
    width: 100%;
    border-radius: 8px;
	-webkit-border-radius: 8px;
    border: solid 1px #dddddd;
    padding: 15px 20px;
    box-sizing: border-box;
    outline: none;
	font-size:20px;
}
#contact table .req{
	display: inline-block;
    background:#ff9600;
    color: #fff;
    font-size: 80%;
    line-height: 1;
    padding: 3px;
    margin-left: 10px;
}
#contact #reason input{
	width:20px;
}
#submit_btn {
	margin-top:20px;
	background-color:#6ACD60;
	text-align: center;
    color: #FFF;
	font-weight:bold;
	cursor: pointer;
}
#submit_btn:hover {
	filter:alpha(opacity=70);/* IE 6,7*/
    -ms-filter: "alpha(opacity=70)";/* IE 8,9 */
    -moz-opacity:0.7;/* FF , Netscape */
    -khtml-opacity: 0.7;/* Safari 1.x */
    opacity:0.7;
    zoom:1;/*IE*/
	text-decoration:none;
	color:#FFFFFF;
}
.contact .info {
  padding: 20px 40px;
  background: #f1f3f6;
  color: #47536e;
  text-align: center;
  border: 1px solid #fff;
}

.contact .info i {
  font-size: 48px;
  color: #9fb2d8;
  margin-bottom: 15px;
}

.contact .info h4 {
  padding: 0;
  margin: 0 0 10px 0;
  font-size: 16px;
  font-weight: 600;
  text-transform: uppercase;
}

.contact .info p {
  font-size: 15px;
}

.contact .php-email-form {
  width: 100%;
}

.contact .php-email-form .error-message {
  display: none;
  color: #fff;
  background: #ed3c0d;
  text-align: left;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .error-message br + br {
  margin-top: 25px;
}

.contact .php-email-form .sent-message {
  display: none;
  color: #fff;
  background: #18d26e;
  text-align: center;
  padding: 15px;
  font-weight: 600;
}

.contact .php-email-form .loading {
  display: none;
  background: #fff;
  text-align: center;
  padding: 15px;
}

.contact .php-email-form .loading:before {
  content: "";
  display: inline-block;
  border-radius: 50%;
  width: 24px;
  height: 24px;
  margin: 0 10px -6px 0;
  border: 3px solid #18d26e;
  border-top-color: #eee;
  -webkit-animation: animate-loading 1s linear infinite;
  animation: animate-loading 1s linear infinite;
}

.contact .php-email-form label {
  margin-bottom: 5px;
  color: #8a8c95;
}

.contact .php-email-form input, .contact .php-email-form textarea {
  border-radius: 0;
  box-shadow: none;
  font-size: 14px;
}

.contact .php-email-form input:focus, .contact .php-email-form textarea:focus {
  border-color: #ff9600;
}

.contact .php-email-form input {
  padding: 10px 15px;
}

.contact .php-email-form textarea {
  padding: 12px 15px;
}

.contact .php-email-form button[type="submit"] {
  background: #fff;
  border: 2px solid #ff9600;
  padding: 10px 24px;
  color: #ff9600;
  transition: 0.4s;
  border-radius: 50px;
  margin-top: 5px;
}

.contact .php-email-form button[type="submit"]:hover {
  background: #ff9600;
  color: #fff;
}

@media (max-width: 1024px) {
  .contact .php-email-form {
    padding: 30px 15px 15px 15px;
  }
}

@media (max-width: 768px) {
  #contact table th,#contact table td{width:100%;display:block;}
}

@-webkit-keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

@keyframes animate-loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

/*--------------------------------------------------------------
# ascp
--------------------------------------------------------------*/
#ascp table {width:100%;}
#ascp table th{border:1px solid #ddd;text-align:center;padding:10px;background-color:#f6f8fb;width:30%;}
#ascp table td{border:1px solid #ddd;padding:10px;width:70%;}

@media (max-width: 768px) {
	#ascp table th,#ascp table td{display:block;width:100%;}	
}

/*--------------------------------------------------------------
# spec
--------------------------------------------------------------*/
#spec table {width:100%;}
#spec table th{border:1px solid #ddd;text-align:center;padding:10px;background-color:#f6f8fb;width:30%;}
#spec table td{border:1px solid #ddd;padding:10px;width:70%;}

@media (max-width: 768px) {
	#spec table th,#spec table td{display:block;width:100%;}	
}


/*--------------------------------------------------------------
# school
--------------------------------------------------------------*/
#school h3{text-align:center;margin-bottom:30px;}
#school #school_content ul{background-color:#f6f8fb;padding:10px;}
#school table {width:100%;margin-bottom:20px;}
#school table th{border:1px solid #ddd;text-align:center;padding:10px;background-color:#f6f8fb;width:30%;}
#school table td{border:1px solid #ddd;padding:10px;width:70%;}
#school #school_merit{text-align:center;}
#school #school_merit > div{margin-bottom:30px;}
#school #school_merit > div .text-center{margin-bottom:0px;}
#school #school_merit h4{font-weight:bold;margin-bottom:20px;line-height: 1.5;}
#school #school_merit img{margin-bottom:10px;}
#school #school_merit_teikitest {margin: 30px 0;padding: 10px 10px 0 10px;border: 4px double #FFD101;}
#school #school_merit_teikitest img{width:100%;}
.flow {
	padding-left: 120px;
	position: relative;
}
.flow::before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
}
.flow > li {
	position: relative;
}
.flow > li:not(:last-child) {
	margin-bottom: 8vh;
}
.flow > li .icon {
	font-size: 12px;
	color: #fff;
	background: rgb(107,144,219);
	background: -moz-linear-gradient(left, rgba(107,144,219,1) 0%, rgba(102,213,233,1) 100%);
	background: -webkit-linear-gradient(left, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
	background: linear-gradient(to right, rgba(107,144,219,1) 0%,rgba(102,213,233,1) 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#6b90db', endColorstr='#66d5e9',GradientType=1 );
	padding: 8px 20px;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 100;
}
.flow > li .icon::after {
	content: "";
	border-style: solid;
	border-width: 5px 0 5px 10px;
	border-color: transparent transparent transparent #66d5e9;
	position: absolute;
	top: 50%;
	left: 100%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.flow > li dl {
	padding-left: 70px;
	position: relative;
}
.flow > li dl::before,
.flow > li dl::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}
.flow > li dl::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #6b90db;
	border-radius: 50%;
	left: -4px;
}
.flow > li dl::after {
	width: 50px;
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}
.flow > li dl dt {
	font-size: 20px;
	font-weight: 600;
	color: rgb(107,144,219);
	margin-bottom: 1vh;
}
@media (max-width: 768px) {
	#school #school_merit img{width:100%;}
	#school #school_merit > div .text-center img{width:70%;}
	#school #school_merit p{text-align:left;font-size:0.8rem;}
	#school .flow dd{font-size:0.8rem;}
}

/*--------------------------------------------------------------
# QR
--------------------------------------------------------------*/
#qr label {text-align:center;width:100%;}
#qr .form-wrap-validation { margin-bottom:30px;}
#qr .submit{width: 50%;display: block;text-align: center;margin: 0 auto;background-color: #999;padding: 10px;border-radius: 5px;color: #ffffff;font-weight: bold;font-size: 1.5rem;}
#qr h3{line-height:2;}
#qr h3 span{background-color:#ff9600;color:#fff;border-radius:50%;padding:4px 15px;display: inline-block;font-size: 1rem;
}

@media (max-width: 768px) {
	#qr .submit{width:100%;}
}

/*--------------------------------------------------------------
# case
--------------------------------------------------------------*/
.case {width:800px;margin:0 auto;}
.case .case_introduction img{width:100%;border:1px solid #ddd;}
.case .case_introduction p{margin:20px 0;}
.case .case_point{margin-bottom:40px;background: #f5f5f5;padding: 15px;border-radius: 5px;}
.case .case_data{margin-bottom:40px;border: 1px solid #ddd;padding: 15px;}
.case .case_article{margin-bottom:40px;}
.case .case_article h3{margin-bottom:20px;}
.case .case_article h4{margin-bottom:20px;}
.case .case_article p{margin-bottom:40px;}
.case .case_article .q{margin-bottom:10px;font-style: italic;}
.case .case_article .q img{margin-right:10px;}
.case .case_article .a{margin-bottom:10px;}
.case .case_article .a img{margin-right:10px;}
.case .btn2{display:block;text-align:center;}

@media (max-width: 768px) {
	.case{width:100%;}
	.case .case_article img{width:100%;}
	.case .case_article .q img{width:initial;}
	.case .case_article .a img{width:initial;}
}


/*--------------------------------------------------------------
# archive
--------------------------------------------------------------*/
.archive .col-md-4 img{border-radius:10px;margin-bottom:10px;border:1px solid #ddd;}
.archive .col-md-4 p{line-height:1.5;margin-bottom:40px;}

/*--------------------------------------------------------------
# jissekiList
--------------------------------------------------------------*/
.jissekiList ul {padding:0;text-align:center;}
.jissekiList ul li{display:inline-block;margin:0 30px 20px 0;}
.jissekiList ul li img{width:100%;}
.jissekiList2 li{width:10%;}

@media (max-width: 768px) {
	.jissekiList1 li{width: 43%;margin: 10px 10px !important;}
	.jissekiList2 li{width: 29%;margin: 0 12px 15px 0 !important;}
}

/*--------------------------------------------------------------
# info
--------------------------------------------------------------*/
#info .container .row > div{border-top:1px solid #ddd;padding-top:15px;}
#info .container .row > div .text-light{min-width: 140px;display: inline-block;}


/*--------------------------------------------------------------
# Footer
--------------------------------------------------------------*/
#footer {background: #fff;padding: 0 0 30px 0;color: #47536e;font-size: 14px;background:#f6f8fb;}
#footer .footer-newsletter {padding: 50px 0;background: #FFF4E5;text-align: center;font-size: 15px;}
#footer .footer-newsletter h4 {font-size: 24px;margin: 0 0 20px 0;padding: 0;line-height: 1.5;font-weight: 600;color: #47536e;}
#footer .footer-newsletter form {margin-top: 30px;background: #fff;padding: 6px 10px;position: relative;border-radius: 50px;box-shadow: 0px 2px 15px rgba(0, 0, 0, 0.1);text-align: left;}


#footer .footer-top {
  padding: 60px 0 30px 0;
  background: #fff;
}

#footer .footer-top .footer-contact {
  margin-bottom: 30px;
}

#footer .footer-top .footer-contact h4 {
  font-size: 22px;
  margin: 0 0 30px 0;
  padding: 2px 0 2px 0;
  line-height: 1.5;
  font-weight: 700;
  color: #47536e;
}

#footer .footer-top .footer-contact p {
  font-size: 14px;
  line-height: 1.5;
  margin-bottom: 0;
  color: #8a8c95;
}

#footer .footer-top h4 {
  font-size: 16px;
  font-weight: bold;
  color: #47536e;
  position: relative;
  padding-bottom: 12px;
}

#footer .footer-top .footer-links {
  margin-bottom: 30px;
}

#footer .footer-top .footer-links ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

#footer .footer-top .footer-links ul i {
  padding-right: 2px;
  color: #9fb2d8;
  font-size: 18px;
  line-height: 1.5;
}

#footer .footer-top .footer-links ul li {display: flex;align-items: center;}
#footer .footer-top .footer-links ul li:first-child {padding-top: 0;}

#footer .footer-top .footer-links ul a {
  color: #8a8c95;
  transition: 0.3s;
  display: inline-block;
  line-height: 1.5;
}

#footer .footer-top .footer-links ul a:hover {
  text-decoration: none;
  color: #ff9600;
}

#footer .footer-top .social-links a {
  font-size: 18px;
  display: inline-block;
  background: #ff9600;
  color: #fff;
  line-height: 1.5;
  padding: 8px 0;
  margin-right: 4px;
  border-radius: 50%;
  text-align: center;
  width: 36px;
  height: 36px;
  transition: 0.3s;
}

#footer .footer-top .social-links a:hover {
  opacity:0.7;
  color: #fff;
  text-decoration: none;
}

#footer .copyright {
  text-align: center;
  float: left;
  color: #47536e;
}

#footer .credits {
  float: right;
  text-align: center;
  font-size: 13px;
  color: #47536e;
}

@media (max-width: 768px) {
  #footer .copyright, #footer .credits {
    float: none;
    text-align: center;
    padding: 5px 0;
  }
}

/* juku */
#juku {background-color:#f6f8fb;}
#juku h2 {font-size:1.5rem;font-weight:bold;text-align:center;margin-bottom:30px;line-height:1.5;}
#juku h2 span{font-size:2rem;}

@media (max-width: 768px) {
	#juku .col-md-2{width:50%;}
}

/* ticker */
#news-ticker-container {
    position: relative;  /* コンテナの位置を設定 */
    overflow: hidden;  /* コンテンツがコンテナを超える場合に非表示にする */
    height: 100/*70*/px;  /* コンテナの高さを設定 */
    display: block;  /* フレックスボックスモデルを適用 */
    justify-content: space-between;  /* 主軸方向に空間を挿入して要素間隔を最大にする */
    align-items: center;  /* 交差軸方向に要素を中央揃えにする */
	background:#D20B5A;
	text-align:center;
	font-weight:bold;
	margin:10px 0 -15px 0px;
}
#news-ticker-container a{color:#fff;display:block;}
#news-ticker-container a:hover{color:#fff !important;}

#news-ticker {
    position: absolute;  /* ティッカーの位置を設定 */
    transition: transform 0.8s ease-in-out;  /* transformプロパティの変化を0.8秒間で緩やかに適用する */
	width:100%;
}

#controls {
    position: absolute;  /* コントロールの位置を設定 */
    right: 0;  /* コントロールを右側に配置 */
    display: flex;  /* フレックスボックスモデルを適用 */
    align-items: center;  /* 交差軸方向に要素を中央揃えにする */
    justify-content: flex-end;  /* 主軸の終端に要素を配置 */
    gap: 10px;  /* 各要素間のギャップを設定 */
}

#controls button {
    height: 30px;  /* ボタンの高さを設定 */
    line-height: 30px;  /* ボタン内のテキストの行高を設定 */
    display: flex;  /* フレックスボックスモデルを適用 */
    align-items: center;  /* 交差軸方向に要素を中央揃えにする */
}

@keyframes slide-up {
    from {
        transform: translateX(100%);  /* アニメーション開始時、要素を下（Y軸方向）に100%移動 */
    }
    to {
        transform: translateX(0);  /* アニメーション終了時、要素の位置を初期状態（Y軸方向0%）に戻す */
    }
}