@charset "utf-8";

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body{
	color:#454545;
	background-color: #EAF2FA;
	overflow-x: hidden;
		-ms-scroll-chaining: none;
	overscroll-behavior: none;
		-webkit-overflow-scrolling: touch;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-style: normal;
}
html, body {
	width: 100%;
	max-width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
}
/*reCAPTCHAのバッジを非表示に*/
.grecaptcha-badge { 
  	 visibility: hidden; 
}
ul , li{margin: 0; padding: 0}
img{width: 100%;display: block;}
.br {display: inline-block;}
.sp{display: none;}
.pc{display: block}


:root{
	--fw500:500;
	--fw900:900;
	--navy:#015FA9;
	--txt:#454545;
	--f12: clamp(0.5rem, 0.439rem + 0.26vw, 0.75rem);/*8-12*/
	--f14: clamp(0.875rem, 0.653rem + 0.46vw, 1rem);/*14-16*/
	--f18: clamp(1rem, 0.923rem + 0.32vw, 1.125rem);/*16-18*/
	--f24: clamp(1.125rem, 0.895rem + 0.97vw, 1.5rem);/*18-24*/
	--f30: clamp(1.25rem, 0.867rem + 1.61vw, 1.875rem);/*20-30*/
	--lh13:1.3;
	--lh18:1.8;
}

.wrap{
	font-size: var(--f18);
	line-height: 1.8;
}

/*header*/
body.noscroll {
  overflow: hidden;
}

header {
	width: 100%;
	position: fixed;
	z-index: 99;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
	top: 30px;
	-webkit-transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 0.6s cubic-bezier(0.19, 1, 0.22, 1);
}

#hamburger {
	display: none;
}
.header_container{
	margin: 0 auto;
    width: 95vw;
    padding: 0 2vw;
    position: relative;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    z-index: 9;
    opacity: 1;	
}
.logo {
	max-width: 245px;
	width: 70%
}
.global_menu {
	 position: relative;
}

.global_menu li {
  display: inline-block;box-sizing: border-box;
	
}

.global_menu a { 
  display: block;
  padding: 20px 1vw;
	color: #454545
}
.menu:hover > a {
	position: relative
}
.menu:hover > a::after{
	content: "";
	position: absolute;
	 bottom: 0;
	left: 0;
	width: 100%;
	height:5px;
	background-color: var(--navy)

}

.child_menu > li > a { 
	  font-size: 0.8em;
}
.child_menu > li > a:hover { 
	background: #015FA9;
	display: block;
}

.child_menu {
	position: fixed;
	left: 50%;
	transform: translateX(-50%);
	width: 95vw;
	/* padding: 30px;*/
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-content: center;
	flex-direction: row;
	visibility: hidden;
	opacity: 0;
	transition: 0.3s ease;
	z-index: 98;
}

.menu:hover .child_menu { 
	opacity: 1;
	visibility: visible; 
}

.child_menu li{
	display: block;
	text-align: center;
}

.child_menu li a{
	padding: 6vw 0;
	color: white;
	font-size: var(--f18)
}

.child_menu a:hover {
  color: #fff;
}
.menu:hover .child_menu {
  visibility: visible;
  opacity: 1;
}
.child_menu li.menu01{
	width: 50%;
  background: url("../images/menu01.png") no-repeat center center / cover;
}
.child_menu li.menu02{
	width: 50%;
  background: url("../images/menu02.png") no-repeat center center / cover;
}
.child_menu li.menu03{
	width: 25%;
  background: url("../images/menu03.png") no-repeat center center / cover;
}
.child_menu li.menu04{
	width: 25%;
  background: url("../images/menu04.png") no-repeat center center / cover;
}
.child_menu li.menu05{
	width: 25%;
  background: url("../images/menu05.png") no-repeat center center / cover;
}
.child_menu li.menu06{
	width: 25%;
  background: url("../images/menu06.png") no-repeat center center / cover;
}


.pagetop {
  height: 50px;
  width: 50px;
  position: fixed;
  right: 30px;
  bottom: 30px;
  background: var(--navy);
  border: solid 2px #fff;
  border-radius: 50%;
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 2;
  cursor: pointer;
}
.pagetop__arrow {
  display: block;
  height: 10px;
  width: 10px;
  border-top: 3px solid #fff;
  border-right: 3px solid #fff;
  transform: translateY(20%) rotate(-45deg);
}


@media screen and (max-width: 768px) {
	
.pc{display: none;}
.sp{display: block}

header{
	top: 2vw;
	}
.header_container {
	padding: 0vw 2vw;
	height: 60px;
	align-items: center;
	}
#hamburger {
  display: block;
}
	
.hamburger { 
	width: 50px; 
	height: 50px;
	position: fixed;
	top: 15px;
	right: 3vw;
	z-index: 999;
}

.hamburger::before { 
  font-family: "Font Awesome 5 Free";
  content: "\f0c9";
  font-weight: 900;
	font-size:24px;
  position: absolute;
  color: var(--navy);
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

.hamburger.open::before { 
  content: "\f00d"; 
}
.global_menu { 
  position: fixed;
  top: 0;
  left: 50%;
  transform: translate(-50%, 2vw);
  width: 95vw;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  pointer-events: none;
  background: #fff;
  transition: all 0.4s ease;
  z-index: 999;
	}


.global_menu.open { 
	width: 95vw;
	max-height: calc(100vh - 80px);
	height: 100vh;
	position: fixed;
	top: calc(80px - 2vw);
	left: 50%;
	transform: translate(-50%, 0);
	padding:6vw 2vw ;
	color: #333; 
	background: white;
	text-align: left;
	z-index: 998;
	transition: 0.3s ease;
	opacity: 1;
  pointer-events: auto;
	scroll-behavior: auto;
	overflow-y: auto;
	  -webkit-overflow-scrolling: touch; 
}
	.menu_inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
	
.global_menu ul{
	display: flex;
	flex-direction: column;
	width: 100%;
	}

	.global_menu.open .child_menu {
    visibility: visible;
    position: static;
    transform: none;
    opacity: 1;
  }

  .global_menu:not(.open) .child_menu {
    visibility: hidden;
    opacity: 0;
  }
	
.global_menu span::after,.child_menu li a span::after{
	font-family: "Font Awesome 5 Free";
	content: "\f061";
	font-weight: 900;
	position: absolute;
	right: 2vw;

}
.global_menu a { 
  display: block;
  width: 100%;
	position: relative;
}

.global_menu a:hover { 
  background: var(--navy);
	color: white;
}

.menu:not(:last-child) {
  margin-bottom: 20px;
	border-bottom: 1px #ccc dashed;
}

.menu > a { 
  font-weight: bold;
  padding: 10px 20px;
}

.child_menu > li > a {
	padding: 20px;
	color: #454545;
	text-align: left
}
	
	
.menu:hover > a::after {
    content:none
	}
.child_menu li.menu01 , .child_menu li.menu02 , .child_menu li.menu03,.child_menu li.menu04 ,.child_menu li.menu05 ,.child_menu li.menu06{
		background-image: none;
		width: 100%;
	}
}
/*header end*/








.breadcrumb-container{
	  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
	padding: 1vw 0;
}
.breadcrumb {
  font-size: var(--f12);
  color: #666;
}
.breadcrumb a{
	color: var(--navy)
}
.breadcrumb a:hover{
	opacity: .6
}
.breadcrumb li {
  display: inline;
}
.breadcrumb li::after {
  content: '>';
  margin: 0 0.5em;
  color: #999;
}
.breadcrumb li:last-child::after {
  content: none;
  margin: 0;
}

.container {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
	padding: 4vw 0;
}
.container a{color:#F38200}
/* KV */
.kv {
  background: url("../images/FV.jpg") no-repeat center center / cover;
  height:100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  text-align: center;
  font-size: clamp(1.5rem, 0.734rem + 3.23vw, 2.75rem)
}

@media screen and (max-width: 768px) {
	.wrap{
	font-size: var(--f18);
	line-height: 1.5;
}

.kv {
	background: url("../images/sp_fv.png") no-repeat center center / cover;
	width: 100%;
	aspect-ratio: 9 / 16; 
	align-items:flex-start;
}
.kv .kv-text{
	transform: translateY(41vw);
}
}

/*section ttl*/
.section_title {
	width: 100%;
	 text-align: center;
	padding: 0 0 5vw 0
}

.section_en {
  position: relative;
	left: 0;
	top: clamp(1.5rem, 0.887rem + 2.58vw, 2.5rem);
	text-align: left;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: #0056a3;
  padding-left:clamp(12%, 0.887rem + 2.58vw, 170px);
  font-weight: bold;
}

.section_en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
	width: 10%;
  max-width: 100px;
  height: 1px;
  background: #0056a3;
  transform: translateY(-50%);
}

.section_ja {
  font-size: var(--f30);
  color: #0056a3;
  font-weight: bold;
  margin: 0;
}
@media screen and (max-width: 480px) {
	.section_en {
  	position: relative;
	left: 0;
	top: 0
	}
}

/*link btn*/
.arrowBtn{
	text-align: right;
	padding-top: 3rem
}

.link {
	display: inline-block;
	color: #015FA9!important;
	padding-right: 65px;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	z-index: 5;
	height: 44px;
	line-height: 44px;
}

.link::before,
.link::after {
	content: '';
	position: absolute;
	-webkit-transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
	transition: all 0.5s cubic-bezier(0.19, 1, 0.22, 1);
}
.link::before {
	width: 50px;
	height: 50px;
	border: 1px solid rgba(0,0,0,0.1);
	border-radius: 25px;
	top: 50%;
	right: 0;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}

.link::after {
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 8.5px 0 8.5px 12px;;
	border-color: transparent transparent transparent #015FA9;
	top: 50%;
	right: 18px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
}
.link:hover::after{
	border-color: transparent transparent transparent #fff;
}
.link:hover::before{
	background: #015FA9
}

@media screen and (max-width: 768px) {
  .link {
    font-size: 1.1rem;
    padding-right: 16px;
    top: 0;
    right: 4vw;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 20px;
    line-height: 20px;
  }

  .link::before {
    content: none;
  }

  .link::after {
    right: 0;
	  border-width: 5.5px 0 5.5px 9px;
    -webkit-transform: translate(0, -40%);
    transform: translate(0, -40%);
  }
}

/*news*/
.news-r-content a:hover{
	opacity: .6
}
.news-content {
	border-bottom: 1px dotted #015FA9;
	display: flex;
	gap:1.5vw;
	align-items: center;
	padding: 1rem 0;
	color: #454545;
}
.news-label{
	background-color: #015FA9;
	padding: .5rem;
	max-width: 175px;
	width: 15%;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 768px) {
	.news-content {
		display:block;
}
	.news-content div{
		margin-bottom: 0.5rem;

}
	.news-label{
		width: auto;
		margin-bottom: 0.5rem;
		padding: .2rem;
}
}

/* Business */
.business-items {
	display: flex;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	flex-wrap: wrap;
	justify-content: center;
}
.business-items .item{
	width: 50%;
	text-align: center;
}
.business-items .item a{
	display: block;
	text-align: center;
	color: white;
    text-shadow: 0px 0px 6px #015FA9;
    font-size: var(--f24);
}
.business-items01{
	background:url("../images/item01.png");
	background-size: cover;
    position: relative;
    height: 100%;
}
.business-items01 p,.business-items02 p{
	padding: 4rem 0;
	display: block;
	text-align: center;
	color: white;
    text-shadow: 0px 0px 6px #015FA9;
    font-size: var(--f24);
}
.business-items02{
	background:url("../images/item02.png");
	background-size: cover;
    position: relative;
    height: 100%;
}


.business-items a:hover .business-items01 ,
.business-items a:hover .business-items02{
	background-image:none;
	background-color: var(--navy);color: #fff;
}

.infomartion_txt{
	color:#F38200;
	font-weight: bold;
	font-size: var(--f24);
	margin-bottom: 0.5vw
}
@media screen and (max-width: 1090px) {
	.business-items {
		display: block;
}
.business-items .item{
		width: 100%;
		text-align: center;
		margin-bottom: 2.5vw
		}
}
/*2col*/

.two_column_section {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0rem;
	gap: 2rem; 
	flex-wrap: wrap;
}
.two_column_section h3{
	color: #015FA9;
	font-size: var(--f30);
	padding-bottom: 2%;
	line-height: var(--lh18);
}

.left_column {
	width: 48%;
  max-width: 480px;
}

.right_column {
	width: 46%;
  max-width: 460px;
}

.right_column img {
  width: 100%;
  height: auto;
  display: block;
}

@media screen and (max-width: 768px) {
  .two_column_section {
    flex-direction: column;
    gap: 1.5rem;
  }

  .left_column,
  .right_column {
    max-width: 100%;
	  width: 100%;
  }
}
/*2col end*/

/* Contact */
.contact {
  background:var(--navy);
  padding: 3vw 0;
  color: white;
}
.contact-area{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center
}
.contact-area > .section_title {
	width: 30%;
	 text-align: center;
	padding: 0 
}

.contact-area > .section_title .section_en {
	position: relative;
	left: 0;
	top: 0;
	text-align: left;
	font-size:var(--f30);
	letter-spacing: 0.2em;
	color: white;
	padding-left:clamp(37%, 0.887rem + 2.58vw, 170px);
	font-weight: bold;
}
.contact-area > .section_title .section_en::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 30%;
	max-width: 100px;
	height: 1px;
	background: white;
	transform: translateY(-50%);
}
.contact .btn-contact {
	background: white;
	color: var(--navy);
	text-align: center;
	padding: 1.5rem 0;
	font-weight: bold;
	max-width: 440px;
	width: 44%;
}
.contact .btn-contact a{
	color: var(--navy)
}
.contact .btn-contact:hover{
	opacity: .6
}
@media screen and (max-width: 480px) {
	.contact-area{
	display: block;
}
	.contact-area > .section_title {
		padding: 0 0 5vw 0;
	}
	.contact .btn-contact {
	max-width: 100%;
	width:100%!important;
		margin: 0 auto
}
	
}
/*second page*/
.pagekv{
  color: white;
  text-align: center;
	font-size: clamp(1.5rem, 0.734rem + 3.23vw, 2.75rem);
		letter-spacing: 0.4rem;
}
.pagekv-img img{
	height: 360px;
	width: 100%;
	object-fit: cover;
	object-position: bottom;
}
.pagekv-text{
	transform: translate(-50,-50);
	top: 140px;
	left: 0;
	position: absolute;
	width: 100%;
	text-align: center
}
.pagekv-text p{
	font-size: var(--f14);

}
@media screen and (max-width: 768px) {
.pagekv-img img {
	height: 240px;
	}
.pagekv-text {
		top: 120px;
	line-height: 1.2;}
}

.maincopy{
	max-width: 1000px;
	width: 100%;
	background-color: #fafafa;
	padding: 4vw
}
.maincopy h2{
  font-size: var(--f30);
  color: #0056a3;
  font-weight: bold;
  margin: 0 0 4vw 0;
	text-align: center;
}
.maincopy h3{
	font-size: var(--f18);
}
.second-section-ttl h2{
	width: 100%;
	font-size: var(--f30);
	letter-spacing: 1.2rem;
	text-align: center;
	font-weight: normal;
	color: var(--navy);
	margin-bottom: 2vw;
}

/*second page section ttl*/
.third_section_title {
	width: 100%;
	padding: 0 0 3vw 0
}

.third_section_en {
  position: relative;
	left: 0;
	text-align: left;
  font-size: 0.75rem;
  letter-spacing: 0.2em;
  color: #0056a3;
  padding-left:clamp(12%, 0.887rem + 2.58vw, 170px);
  font-weight: bold;
}

.third_section_en::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
	width: 10%;
  max-width: 100px;
  height: 1px;
  background: #0056a3;
  transform: translateY(-50%);
}

.third_section_ja {
  font-size: var(--f30);
  color: #0056a3;
  font-weight: normal;
  margin: 0;
	letter-spacing: .4rem
}
.third_section_ja p{
	font-size: var(--f14);
	font-weight: bold;
}
@media screen and (max-width: 480px) {
	.third_section_en {
  	position: relative;
	left: 0;
	top: 0
	}
	.third_section_ja {
    letter-spacing: 0.2rem;
}
}
.reference{
	font-size: 10px;
	text-align: right
}
.floatbox > img{
	float: right;
	margin: 0 0 2rem 2rem;
	max-width: 460px;
}
.content-img{
	width: 100%;
	padding: 4vw;
	background-color: #fff;
	margin: 4vw 0;
}
.mb1vw{
	margin-bottom: 1vw
}
.mb4vw{
	margin-bottom: 4vw
}

.setting {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4vw;
}

.list {
  background-color: white;
  text-align: center;
  position: relative;
  width: calc(50% - 2vw);
  box-sizing: border-box;
}
.listimg {
  position: relative;
  margin: 2vw;
  display: inline-block;
}

.listimg img {
  display: block;
  width: 100%;
  height: auto;
}

.listnumber {
  position: absolute;
  top: calc(2vw - 1vw); 
  left: calc(2vw - 1vw);  
  background-color: var(--navy);
  color: #fff;
  border-radius: 50%;
  width: 3em;
  height:3rem;
  line-height: 3rem;
  text-align: center;
  font-weight: bold;
  font-size: 1rem;
  z-index: 1;
}

.listtxt {
	width: 80%;
	margin: 0 auto 1rem auto;
	font-size: 1rem;
}
@media screen and (max-width: 560px) {
  .list {
    width: 100%;
  }
}

.sva_trg {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4vw;
	font-size: var(--f14)
}

.sva_trg01 {
  width: calc((100% - 8vw) / 3); 
  box-sizing: border-box;
  text-align: center;
}

.sva_trg01 img {
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}


@media screen and (max-width: 560px) {
  .sva_trg01 {
    width: calc((100% - 4vw) / 2); 
  }
}

.content-img-ttl {
	font-size: var(--f20);
  position: relative;
  padding-left: 0.8em; 
	margin-bottom: 2vw;
}

.content-img-ttl::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.2em;
  width: 5px;
  height: 100%;
  background-color: var(--navy);
}
.align-items{
	align-items: center
}

.nearvision{
	display: flex;
	justify-content: space-between;
	align-content: center;
	align-items: center;
	border-bottom: 1px dashed var(--navy);
	padding: 0 0 2vw 0;
}
.img-original {
	margin:  0 auto;
}

.improvement_pg {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.5rem;
}


.improvement_pg_01 {
  width: 190px; 
  text-align: center;
}

.improvement_pg_01 img {
  width: 100%;
  height: auto;
  display: block;
}

.graph-img img {
  width:80%;
	margin: 0 auto
}



@media screen and (max-width: 560px) {
  .improvement_pg_01 {
    width: calc(50% - 1rem); 
  }
}

.company_menu {
  display: grid;
  grid-template-columns: repeat(2,1fr);
  gap: 2rem;
  width: 100%;
  margin: 0 auto;
  padding: 0.5rem;
  box-sizing: border-box;
}

.company_menu a {
  text-decoration: none;
  color: inherit;
}

.company_menu01 {
  position: relative;
  text-align: center;
  overflow: hidden;
}

.company_menu01 img {
  width: 100%;
  height: auto;
  display: block;
  transition: filter 0.3s ease;
}

.company_menu01::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: 0.3s ease;
	background-color: #015FA9; opacity: 0.4;
	pointer-events: none;
	z-index: 1;
}


.company_menu01:hover::after {
  opacity: 1;
}


.company_menu01 p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-weight: bold;
  font-size: 1.2rem;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  pointer-events: none;
  z-index: 2;
}


@media screen and (max-width: 580px) {
  .company_menu {
    grid-template-columns: 1fr;
  }
}

.greeting table {
  width: 100%;
  border-collapse: collapse;
}

.greeting table th,
.greeting table td {
  padding: 1em;
  text-align: left;
  vertical-align: top; 
  border-bottom: 1px solid #454545;
}

.greeting table th {
	width: 10%;
	min-width: 130px;
  font-weight: bold;
	text-align: right
}

.supervisor_list {
  max-width: 1000px;
  margin: 0 auto;
}

.supervisor_profile {
  display: flex;
  align-items: center;
  margin-bottom: 5vw;
  gap: 1.5rem;
}

.supervisor_profile_img {
  max-width: 248px;
  flex-shrink: 0;
	background-color: white
}

.supervisor_profile_img img {
  width: 100%;
  height: auto;
  display: block;
}

.supervisor_profile_txt p {
  margin: 0;
}

.supervisor_profile_txt p strong {
  color: #015FA9;
  display: block; 
  margin-bottom: 0.3em;
	font-size: var(--f24)
}

@media screen and (max-width: 580px) {
  .supervisor_profile {
    flex-direction: column;
    align-items: center;
    text-align: left;
  }

  .supervisor_profile_img {
    width: 50%;
    margin: 0 auto;
  }

  .supervisor_profile_txt {
    width: 100%;
  }

  .supervisor_profile_txt p {
    text-align: left;
  }

  .supervisor_profile_txt p strong {
    text-align: center;
    display: block;
  }
}

.privacy_txt h2{
	font-size: var(--f24);
	font-weight: nomal;
	color:var(--navy);
	margin-top: 4vw
}


.form01{
	max-width: 600px;
	margin: 0 auto;
	text-align: left;
}
.Form-Item{
	padding-bottom: 3vw;
}
.form01 p{
}
.form01 .Form-Item-Label-Required{
	background-color: #E37072;
	color: #fff;
	font-size: 1.2rem;
	padding: 1%;
	border-radius:5px;
	margin-right: 5px;
}
.form01 input.wpcf7-form-control.wpcf7-text , textarea {
    background-color: #FFF;
    border: #bcbcbc 1px solid;
    border-radius: 5px;
    padding: 0.7rem;
	width: 100%;
	margin: 2% 0 0 0;
}
::placeholder{
	color: #ccc
}

.wpcf7-submit{
	width: 100%;
	padding: 2vw 0;
	font-size:var(--f22);
	font-weight: 500;
	text-align: center;
	text-decoration: none;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	background:var(--navy)!important;
	color: #fff!important;
	transition: 0.2s;
	border: none;
}
.wpcf7-submit:after {
	content: "";
	position: absolute;
	top: 50%;
	bottom: 0;
	right: 4%;
	font-size: 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: right 0.3s;
	width: 20px;
	height: 20px;
	border-top: solid 3px currentColor;
	border-right: solid 3px currentColor;
	transform: translateY(-50%) rotate(45deg);
}


input[type=submit]{
	background-color: var(--navy)!important;
	color: #FFFFFF!important;
	height:auto;
	margin: 0 auto;
	padding: 1.5rem 2em!important;
}
input[type=submit]:hover{
	opacity: .6
}

.news-article{
	max-width: 600px;
	margin: 0 auto;
}
.news-ttl{
	font-size: var(--f24);
	color: var(--navy);
	font-weight: bold;
}
.news-cate{
	background-color: #015FA9;
	padding: .2rem .5rem;
	width: 225px;
	max-width: 50%;
	text-align: center;
	color: #fff;
}
.news-date{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	border-bottom: 1px solid var(--navy);
	font-size: var(--f14);
	margin:2vw 0 4vw 0
}
.news-detail-img{
	margin-bottom: 2vw
}

.news-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  justify-content: flex-start;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}
.newslist-article{
	width: calc((100% - 2rem) / 3); 
  box-sizing: border-box;
  padding: 1rem;
	
}
.newslist-article:hover {
	opacity: .6
}
.newslist-detail-img{
	margin-bottom: .5vw;
	max-width: 630px;
}
.newslist-detail-img img{
	max-width: 630px;
	height: auto;
	aspect-ratio: 16/ 9;
}
.newslist-date{
	font-size: var(--f14);
	color: var(--navy)
}

.newslist-ttl{
	font-size: var(--f20);
	color: var(--navy)
}

@media screen and (max-width: 768px) {
  .newslist-article {
    width: calc((100% - 2rem) / 2);
  }
}

@media screen and (max-width: 580px) {
  .newslist-article {
    width: 100%;
  }
}


/* Footer */
.footer {
	background:#C8DEEF;
	color:var(--navy);
	font-size:var(--f14);
	
}
.footer a{
	color:var(--navy);
}
.footer a:hover{
	opacity: .6
}
.footer .container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.footer-info {
	margin-bottom: 2vw;
}
.footer-info h3{
	font-size: var(--f24)
}
.footer-info p {
  margin-bottom: 0.3rem;
}
.footer-links ul {
  list-style: none;
}
.footer-links > ul {
  display: flex;
  gap: 2rem;
}
.footer-links ul li ul {
  margin-top: 0.5rem;
  padding-left: 1rem;
	border-left:  solid 1px var(--navy);
}
.footer-bottom {
	background-color: var(--navy);
	padding-top: 1rem;
	text-align: center;
	font-size: 0.8rem;
	color:white;
}
.footer-bottom a {
  color:white;
	
}

@media screen and (max-width: 840px) {
	.footer .container {
		flex-direction: column-reverse;
    justify-content: center;
		align-items: center;
	}
}
	@media screen and (max-width: 560px) {
	.footer-links > ul {
		display: block
	}
	.footer-links ul li ul,.footer-links ul li ul li {
margin-bottom: 2vw;
}
	
}


/* ページ中央に設置 */
.pnavi {
    text-align: center;
	padding: 4vw 0
}

/* 現在開いている以外のページのボタン */
.page-numbers {
    display: inline-block;
    margin-right: 25px;
    padding: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    line-height: 50px;
    border-radius: 50%;
    color: var(--navy);
    border: 1px solid var(--navy);
    background: #fff;
    font-weight: bold;
    font-size: 12px;
}
a.page-numbers{
	color:  var(--navy);
}



/* 現在のページのボタン */
.current {
    padding: 0;
    background: var(--navy);
    color: #FFFFFF;
    font-size: 12px;
}

/* 前へ、次へ */
.prev,
.next {
    border: 1px solid var(--navy);
    color: var(--navy);
    position: relative;
    font-size: 12px;
}

 a.next.page-numbers {
    margin-right: 0;
	 color: var(--navy);
}

/*  縦線の共通CSS　*/
.next::before,
.prev::after {
    content: "";
    display: inline-block;
    width: 0.5px;
    height: 40px;
    background-color: rgb(224, 215, 215);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

/* 「次へ」の前の線*/
.next::before {
    left: -15px;
}

/* 「前へ」の後の線*/
.prev::after {
    right: -15px;
}

/* 数字の間のドット */
.dots {
    background: transparent;
    border: none;
}
/* マウスが乗った時の、ボタンの背景の色と文字の色 */
a.page-numbers:hover {
    color: #FFF;
    background-color:var(--navy);
    border-color: var(--navy);
	opacity: .6
}

