@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Antique+Soft&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');
/*--------------------------------------------------------------
# General
--------------------------------------------------------------*/
body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #FFF;
background:#FFF;
}

.bg-white{
background:#003670;	
}

.bg-blue{
background:#003670;
}

.bg-sky-blue{
background:#24B8EB;
}

.bg-gray{
	background:#F0F0F1;
}

a {
  color: #428bca;
  text-decoration: none;
}

a:hover {
  color: #9eccf4;
  text-decoration: none;
}

h1,
h2,
h3,
h4,
h5,
h6,
.font-primary {
  font-family: 'Noto Sans JP', sans-serif;
}

.ja{
 font-family:'Noto Sans JP', sans-serif!important;
}

.ja-m{
font-family: "Zen Antique Soft", serif!important;
}

.eng{
 font-family: "Roboto", sans-serif!important;
}

.mt-80{
	margin-top:80px;
}

.mb-80{
	margin-bottom:80px;
}

/*--------------------------------------------------------------
# Back to top button
--------------------------------------------------------------*/
.back-to-top {
  position: fixed;
  visibility: hidden;
  opacity: 0;
  right: 15px;
  bottom: 15px;
  z-index: 99999;
  background: #003670;
  width: 40px;
  height: 40px;
  border-radius: 4px;
  transition: all 0.4s;
}

.back-to-top i {
  font-size: 24px;
  color: #fff;
  line-height: 0;
}

.back-to-top:hover {
  background: #092F72;
  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;
  }
}

/*--------------------------------------------------------------
# Top Bar
--------------------------------------------------------------*/
#topbar {
  background: #fff;
  border-bottom: 1px solid #eee;
  font-size: 15px;
  height: 40px;
  padding: 0;
}

#topbar .contact-info a {
  line-height: 0;
  color: #444;
  transition: 0.3s;
}

#topbar .contact-info a:hover {
  color: #428bca;
}

#topbar .contact-info i {
  color: #428bca;
  line-height: 0;
  margin-right: 5px;
}

#topbar .contact-info .phone-icon {
  margin-left: 15px;
}

#topbar .social-links a {
  color: #5c768d;
  padding: 4px 12px;
  display: inline-block;
  line-height: 1px;
  transition: 0.3s;
}

#topbar .social-links a:hover {
  color: #428bca;
}

/*--------------------------------------------------------------
# Header
--------------------------------------------------------------*/
#header {
  height: 80px;
  background: #FFF;
  z-index: 997;
  box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.06);
}

#header .logo h1 {
  font-size: 28px;
  margin: 0;
  padding: 10px 0;
  line-height: 1;
  font-weight: 400;
  letter-spacing: 3px;
  text-transform: uppercase;
width:216px;
}

#header .logo h1 a,
#header .logo h1 a:hover {
  color: #1c5c93;
  text-decoration: none;
}

#header .logo img {
  padding: 0;
  margin: 0;
	height:55px;
}

.scrolled-offset {
  margin-top: 70px;
}

/*--------------------------------------------------------------
# Navigation Menu
--------------------------------------------------------------*/
/**
* Desktop Navigation 
*/
.navbar {
  padding: 0;
}

.navbar ul {
  margin: 0;
  padding: 0;
  display: flex;
  list-style: none;
  align-items: center;
}

.navbar li {
  position: relative;
}

.navbar a,
.navbar a:focus {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 0 10px 30px;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.9rem;
  color: #000;
  white-space: nowrap;
  transition: 0.3s;
	font-weight:500;
}

.navbar a i,
.navbar a:focus i {
  font-size: 2.1rem;
  line-height: 0;
  margin-left: 5px;
}

.navbar a:hover,
.navbar .active,
.navbar .active:focus,
.navbar li:hover>a {
	color: #003670;
}

.navbar .dropdown ul {
  display: block;
  position: absolute;
  left: 14px;
  top: 100%;
  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;
}

.navbar .dropdown ul li {
  min-width: 200px;
}

.navbar .dropdown ul a {
  padding: 10px 20px;
  text-transform: none;
}

.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: #428bca;
}

.navbar .dropdown:hover>ul {
  opacity: 1;
  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: #003670;
  font-size:3rem;
  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(31, 53, 72, 0.9);
  transition: 0.3s;
  z-index: 998;
}

.navbar-mobile .mobile-nav-toggle {
  position: absolute;
  top: 5px;
  right: 15px;
}

.navbar-mobile ul {
  display: block;
  position: absolute;
  top: 55px;
  right: 15px;
  bottom: 15px;
  left: 15px;
  padding: 10px 0;
  background-color: #fff;
  overflow-y: auto;
  transition: 0.3s;
}

.navbar-mobile a,
.navbar-mobile a:focus {
  padding: 10px 20px;
  font-size: 1rem;
  color: #1f3548;
}

.navbar-mobile a:hover,
.navbar-mobile .active,
.navbar-mobile li:hover>a {
  color: #428bca;
}

.navbar-mobile .getstarted,
.navbar-mobile .getstarted:focus {
  margin: 15px;
}

.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;
}

.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: #428bca;
}

.navbar-mobile .dropdown>.dropdown-active {
  display: block;
}

/*--------------------------------------------------------------
# Hero Section
--------------------------------------------------------------*/
#hero {
  width: 100%;
  height: auto;
  padding: 0;
  overflow: hidden;
  background: #FFE7E7;
}

#hero .carousel-item {
  width: 100%;
  height: calc(100vh - 110px);
  background-size: cover;
  background-position: top right;
  background-repeat: no-repeat;
  overflow: hidden;
}

#hero .carousel-item::before {
  content: "";
  background-color: rgba(13, 30, 45, 0.3);
  position: absolute;
  height: 100%;
  width: 100%;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

#hero .carousel-container {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: 0;
  top: 0;
  left: 0;
  right: 0;
  overflow: hidden;
}

#hero .carousel-content {
  text-align: center;
}

@media (max-width: 992px) {

  #hero .carousel-content.container {
    padding: 0 50px;
  }
}

#hero h2 {
color: #fff;
margin-bottom: 30px;
font-size: 7rem;
font-weight: 700;
}

#hero p {
  width: 80%;
  animation-delay: 0.4s;
  color: #fff;
font-weight: 700;
}

#hero .carousel-inner .carousel-item {
  transition-property: opacity;
  background-position: center top;
}

#hero .carousel-inner .carousel-item,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
  opacity: 0;
}

#hero .carousel-inner .active,
#hero .carousel-inner .carousel-item-next.carousel-item-start,
#hero .carousel-inner .carousel-item-prev.carousel-item-end {
  opacity: 1;
  transition: 0.5s;
}

#hero .carousel-inner .carousel-item-next,
#hero .carousel-inner .carousel-item-prev,
#hero .carousel-inner .active.carousel-item-start,
#hero .carousel-inner .active.carousel-item-end {
  left: 0;
  transform: translate3d(0, 0, 0);
}

#hero .carousel-control-prev,
#hero .carousel-control-next {
  width: 10%;
}

#hero .carousel-control-next-icon,
#hero .carousel-control-prev-icon {
  background: none;
  font-size: 48px;
  line-height: 1;
  width: auto;
  height: auto;
}

#hero .carousel-indicators li {
  list-style-type: none;
  cursor: pointer;
}

#hero .btn-get-started {
  font-family: "Raleway", sans-serif;
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 1px;
  display: inline-block;
  padding: 12px 32px;
  border-radius: 5px;
  transition: 0.5s;
  line-height: 1;
  margin: 10px;
  color: #fff;
  animation-delay: 0.8s;
  border: 0;
  background: #428bca;
}

#hero .btn-get-started:hover {
  background: #1c5c93;
}

.fv-area{
	text-align:center;
}

.hero-container img{
	width:100%;
}


@media (max-height: 500px) {

  #hero,
  #hero .carousel-item {
    height: 120vh;
  }
}

@media (min-width: 1024px) {
  #hero p {
    width: 60%;
  }

  #hero .carousel-control-prev,
  #hero .carousel-control-next {
    width: 5%;
  }
}

/*--------------------------------------------------------------
# Sections General
--------------------------------------------------------------*/
section {
  padding: 100px 0;
  overflow: hidden;
	position:relative;
}

.section-bg {
  background-color: #f5f9fc;
}

.section-title {
  text-align: center;
  padding-bottom: 30px;
}

.section-title h2 {
	font-size:3rem;
  font-weight: 800;
  margin-bottom: 20px;
  padding-bottom: 0;
  color: #003670;
}

.section-title p {
  margin-bottom: 0;
 font-weight: 700;	
}

/*--------------------------------------------------------------
# Breadcrumbs
--------------------------------------------------------------*/
.breadcrumbs {
  padding: 15px 0;
  background-color: #f5f9fc;
  min-height: 40px;
}

.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 .d-flex {
    display: block !important;
  }

  .breadcrumbs ol {
    display: block;
  }

  .breadcrumbs ol li {
    display: inline-block;
  }
}

/*--------------------------------------------------------------
# Mission Us
--------------------------------------------------------------*/

.mission{
	text-align:center;
	font-weight:500;
}

.mission .section-title h2{
	font-weight:900;
	font-size:4rem;
}

.mission .mission-lead,.mission .mission-lead h3{
	font-weight:600;
}

.mission .mission-lead p{
	font-size:1.2rem;
}

.mission .mission-contents p span{
	font-size:1.1rem;
}

/*--------------------------------------------------------------
# Service
--------------------------------------------------------------*/

.service{
	color:#000;
}

.service .section-title{
	position:absolute;
	right:0;
	top:15px;
	z-index:0;
}

.service .section-title h2{
	writing-mode: vertical-rl;
	font-size:7rem;
	margin:0;
	font-weight:900;
}

.service h3{
	font-weight:900;
	color:#003670;
}

.kvcplink {
  display: inline-flex;
	align-items:end;
  text-decoration: none;
  font-family: sans-serif;
  font-weight: bold;
  font-size: 1.2rem;
  color: #003366;
  gap: 10px;
	font-weight:900;
}

.kvcplink .arrow {
  display: inline-block;
}

/*--------------------------------------------------------------
# Suppourts
--------------------------------------------------------------*/

.suppourts{
	text-align:center;
}

.suppourts .section-title{
	position:absolute;
	left:0;
	top:15px;
	z-index:0;
}

.suppourts .section-title h2{
	writing-mode: vertical-rl;
	font-size:7rem;
	margin:0;
	font-weight:900;
	color:#809AB7;
}

.suppourts h3{
	font-size:4rem;
	font-weight:900;
}

.suppourts .suppourts-lead p{
	font-size:2rem;
	font-weight:900;
}

.suppourts .suppourts-member p{
	font-size:1.2rem;
	text-align:right;
}

.suppourts .suppourts-contents h4{
	font-weight:800;
}

.suppourts .suppourts-contents h4 span{
	font-size:2rem;
}

.suppourts img{
	width:100%;
}


/*--------------------------------------------------------------
# Strengths
--------------------------------------------------------------*/

.strengths{
	color:#000;
}

.strengths .section-title{
	position:absolute;
	right:0;
	top:15px;
	z-index:-1;
}

.strengths .section-title h2{
	writing-mode: vertical-rl;
	font-size:7rem;
	margin:0;
	font-weight:900;
}

.strengths-lead p{
	text-align:center;
	color:#003670;
	font-weight:700;
}

.strengths h3{
	color:#003670;
	font-weight:900;
	text-align:center;
}

.strengths-section {
  width: 100%;
}

.strengths-section-title {
  background-color: #00a8e8; /* 上部の濃い青 */
	color: #003670;
  padding: 26px 30px;
  font-weight: 800;
  position: relative;
	font-size:1.1rem;
}

.strengths-section-title .strengths-arrow {
  position: absolute;
	right: 26px;
	top:23%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
  border-right: 2px solid #003b5c;
  border-bottom: 2px solid #003b5c;
  transform: rotate(45deg);
  margin: 0 auto;
}

.section-body {
  background-color: #cce9f7; /* 薄い青背景 */
  color: #000;
  padding: 15px;
  font-size: 1rem;
	
}

.strengths-link a{
	background:#003670;
	color:#FFF;
	padding:15px;
	text-align:center;
	display:block;
	width:300px;
	margin:0 auto;
	margin-top:8px;
}

/*--------------------------------------------------------------
# com
--------------------------------------------------------------*/

.com{
	color:#000;
}

.com h3{
	font-weight:800;
}

.com h4{
	font-weight:800;
}

.com-lead table th{
	font-weight:700;
	width:25%;
}

.com-lead table td{
	width:75%;
	font-weight:700;
}

.com-contents p{
	font-size:0.9rem;
}


/*--------------------------------------------------------------
# recruit
--------------------------------------------------------------*/

.recruit table th,.recruit table td{
	padding:15px;
	border-bottom:dotted 1px #FFF;
}

/*--------------------------------------------------------------
# footer
--------------------------------------------------------------*/

#footer {
  padding: 80px 0 30px 0;
  color: #000;
	font-size:1rem;
}

#footer img{
	width:150px;
}

#footer h2{
	font-size:1.4rem;
	font-weight:800;
	margin-top:5px;
}

#footer p{
	font-size:0.9rem;
}


#footer .copyright {
  text-align: center;
  padding-top: 30px;
	font-size:0.8rem;
}


/* ##########################
 * page
 * ######################### */

.page h2{
	font-size:2rem;
}


/* ############################
GROWUP ADD CSS
############################ */

/* btn start */

.btn1 a{
	background:yellow;
	color:#000;
	padding:20px 60px;
	border-radius:50px;
	font-weight:800;
	display:inline-block;
	font-size:1.2rem;
	transition: 0.2s;
}

.btn2 a{
	background:#003670;
	color:#FFF;
	padding:20px 60px;
	border-radius:50px;
	font-weight:800;
	display:inline-block;
	font-size:1.2rem;
	transition: 0.2s;
}

.btn1 a:hover,.btn2 a:hover{
opacity: 0.7 ;
}

/* btn end */

.sale .section-title h2{
	font-size:4rem;
}

.sale .section-title h3{
line-height:1.5;
font-family: 'Noto Sans JP', sans-serif;
font-size:2.4rem;
font-weight:700;
text-align:left;
background: linear-gradient(90deg, #8c7537 0%, #dbb00b 45%, #fde79d 70%, #dbb10c 85%, #bc7f04 90% 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.sale .section-title p{
	border:solid 4px yellow;
    display: inline-block;
    font-size: 2rem;
    padding: 10px 30px;
	border-radius:50px;
	color:yellow;
}

.furusato .sale-box-text h2{
	text-align:center;
}

h4.fukusato-logo {
	border-radius:25px 25px 0 0;
background: #FFF8F0;
    padding: 15px;
    text-align: center;	
}

.media .section-title h2{
text-align:left;
}

.media .section-title p{
text-align:left;
font-size:2rem;
}

.media{
	background:#292929;
}

/* contact */

.contact .section-title h2{
	font-size:4.2rem;
}

.wpcf7-spinner{
	display:block;
}

.form-area{
	width: 75%;
	margin: 0 auto;
}
.form-area p{
	color:#FFF;
	margin-top:30px;
	font-weight:700;
}

.form-area input,.form-area textarea{
	width:100%;
	padding:10px;
	border-radius:5px;
	background:#ECECEC;
	border:none;
}

.form-area input[type="submit"]{
	background:#003670;
	width:250px;
	color:#FFF;
	font-weight:700;
}

.form-area p span.req{
background: #003670;
  font-size: 0.8rem;
  padding: 5px 10px;
  border-radius: 3px;
  color: #FFF;
  margin-left: 10px;
}



/* company */

.company .section-title h2{
	color:#FFA500;
	font-size:4.2rem;
}

.company .section-title p{
	color:#000;
}

.company-table{
	padding:60px 40px;
	background:#FFA500;
}

.company table{
	width:90%;
	margin:0 auto;
	color:#FFF;
}

.company table th{
	width:25%;
	padding:20px;
	border-bottom: solid 1px #fff;
	color:#000;
}

.company table td{
	color:#000;
	font-weight:700;
	width:75%;
	padding:20px;
	border-bottom: solid 1px #fff;
}

/* single */
.single time{
	display:block;
}

.single img{
	max-width:100%;
	height:auto;
}

.single .section-title{
	border-bottom: solid 1px #444;
}

/*　アコーディオン */

.strengths-section {
  border: 1px solid #ccc;
  margin-bottom: 10px;
  font-family: sans-serif;
}

.strengths-section-title {
  padding: 15px;
  font-weight: bold;
  cursor: pointer;
  position: relative;
}

.strengths-arrow {
  position: absolute;
  right: 20px;
  top: 50%;
  width: 10px;
  height: 10px;
  border-right: 2px solid #003b5c;
  border-bottom: 2px solid #003b5c;
  transform: rotate(45deg) translateY(-50%);
  transition: transform 0.3s ease;
}

.strengths-section.open .strengths-arrow {
  transform: rotate(-135deg) translateY(-50%);
}

.section-body {
  display: none;
  background-color: #cce9f7;
  padding: 15px;
  font-size: 14px;
  line-height: 1.6;
}

.strengths-section.open .section-body {
  display: block;
}
.pc-only{
	display:block;
}
.sp-only{
	display:none;
}

/* ########################################
 * responsive design
 * ###################################### */

@media (max-width: 1399px) {
	.about h3{
		font-size:2.4rem;
	}
}

@media (max-width: 1199px) {
	.about h2{
		font-size:11rem;
	}
	.media .section-title h2{
		font-size:5rem;
	}
}
@media (max-width: 991px) {
	img{
		max-width:100%;
		height:auto;
	}
	.sale-img-box{
		height:auto;
	}
}
@media (max-width: 767px) {
	.mission .section-title h2{
		font-size:15vw;
	}
	.section-title{
		position:static!important;
	}
	.section-title h2{
		writing-mode: unset!important;
		font-size: 12vw!important;
	}
	.suppourts h3{
		font-size:10vw;
	}
	.suppourts .suppourts-lead p,.service h3{
		font-size:6vw!important;
	}
	#footer h2{
		font-size:5vw;
	}
	.mission .mission-contents p span{
		font-size:3.4vw;
	}
	.section-body,p,#footer .copyright{
		font-size:3vw!important;
	}
	.com-lead table{
		width:100%;
	}
	.com-lead table th,.com-lead table td{
		display:block;
		width:100%;
		padding:4px 0;
		font-size:3.2vw;
	}
	.com-lead table td{
		border-bottom:solid 1px #666;
	}
	.recruit-lead table td{
		border-bottom:none;
		margin-bottom:20px;
	}
	.recruit-lead table th{
		border-top: solid 1px #FFF;
		border-bottom: solid 1px #FFF;
	}
	.page .section-title h2{
		font-size:5.4vw!important;
	}
	.form-area p{
		margin-top:20px;
	}
	.form-area p span.req{
		font-size:0.5rem;
	}
	section{
		padding:80px 0;
	}
	.pc-only{
		display:none;
	}
	.sp-only{
		display:block;
	}
}
@media (max-width: 574px) {
	#header .logo img{
		height:50px;
	}
	.about h2{
		font-size:5rem;
	}
	.section-title h2{
		font-size:5rem;
	}
	.sale .section-title h3{
		font-size:1.6rem;
	}
	.company table{
		width:100%;
		margin:0 auto;
	}

	.company table th{
		width:100%;
		display:block;
		padding-bottom:0;
		border:none;
	}

	.company table td{
		width:100%;
		display:block;
	}
	.about h3 ,.about p.name{
    	font-size: 1.6rem;
	}
	.form-area{
		width:90%;
	}
}