ul, ol, dl, dd {
	padding: 0;
	margin: 0;
	list-style: none
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	font-weight: normal;
}
p {
	margin: 0;
	padding: 0;
	text-align: justify;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
img {
	margin: 0;
	padding: 0;
	vertical-align: text-bottom;
	width: 100%;
	height: auto;
}
a img {
	border: none;
}
a:link {
	color: #222222;
	text-decoration: none !important;
}
a:visited {
	color: #222222;
	text-decoration: none;
}
a:hover, a:active, a:focus {
	text-decoration: none;
}
hr {
	clear: both;
	display: none;
}
.cf:before, .cf:after {
	content: " ";
	display: table
}
.cf:after {
	clear: both
}
.cf {
	*zoom: 1
}
header, section, footer, aside, article, figure {
	display: block;
}
/*********   layout  ************/
body {
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, Verdana, Meiryo, sans-serif;
	margin: 0;
	padding: 0;
	line-height: 1.8;
	color: #555555;
	overflow-x: hidden;
}
/*========================================================================
//
// common
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	html, body {
		height: 100%;
		position: relative;
		font-size: 10px;
	}
	.wrapper {
		width: 1100px;
		margin: 0 auto;
		position: relative;
	}
	.sp_contents {
		display: none;
	}
}
/*========================================================================
//
// sp tel <a href="tel:0000000000">
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}
/*========================================================================
//
// header
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	#ghead {
		position:fixed;
		left: 0;
		top: 0;
		width: 100%;
		z-index: 900;
	}
	
	#ci_wrap {
		width: 100%;
		margin: 0;
	}
	#ci {
		width: 250px;
		margin: 45px 0 0 110px;
	}

	#ci_sfg_wrap {
		width: 162px;
		position:absolute;
		right: 34px;
		top: 22px;
		transition: all 0.4s cubic-bezier(0.15, 0.53, 0.25, 1) 0s;
	}

	#head_navi {
		width: 270px;
		position: absolute;
		top: 45px;
		right: 230px;
	}
	
	#head_navi  ul {
		display: flex;
		justify-content:space-between;
	}

	#head_navi a {
		display: block;
		width:130px;
		height: 45px;
		box-sizing:border-box;
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
		font-size: 1.8rem;
		color: #fff;
		background:#2d2d2d;
		letter-spacing: 0.1rem;
		line-height: 1;
		padding: 13px 5px 0 0;
		text-align:center;
		position: relative;
	}
	#head_navi li:first-child a{
		background:#005292;
	}
	
	#head_navi a span{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-size: 1.3rem;
		position:absolute;
		top: 47%;
		right:10px;
		transform:translate(0, -50%);
	}
	
	#head_navi a {
		transition: all 0.4s cubic-bezier(0.15, 0.53, 0.25, 1) 0s;
	}

	#head_navi a:hover {
		opacity:0.5;
	}
	
	header.fix{
		background:rgba(255,255,255,1);
		box-shadow: 0 0 10px 10px rgb(0,30,50,0.2);
		padding: 0 0 16px;
	}

	header.fix #ci {
		width: 200px;
		margin: 15px 0 0 110px;
	}

	header.fix #ci_sfg_wrap {
		width: 132px;
		position:absolute;
		right: 34px;
		top: -6px;
		
	}

	header.fix #head_navi {
		width: 270px;
		position: absolute;
		top: 12px;
		right: 190px;
	}

	header.fix #head_navi a {
		height: 37px;
		font-size: 1.6rem;
		padding: 10px 5px 0 0;
	}

	header.DownMove {
		transform: translate(0, 0);
	}
	header.UpMove {
		transform: translate(0, 0);
	}
	
	/* head_navi end ------------------ */
}

/*========================================================================
//
// G_nav
//
//========================================================================*/

/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	
	/* menu btn ----------------------------- */
	#drawer-icon {
	  position: fixed;
	  cursor: pointer;
	  display: inline-block;
	  height: 100vh;
	  width: 70px;
	  top: 0;
	  left: 0;
	  z-index:9999;
	  background: #323232;
	  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#drawer-icon span {
	  background:  #fff;
	  border-radius: 4px;
	  display: block;
	  height: 3px;
	  position:absolute;
	  top: 50%;
	  left: 50%;
	  transform:translate(-50%, -50%);
	  transition: all 0.3s ease-in-out;
	  width: 36px;
	}
	#drawer-icon span::before{
	  background: #fff;
	  border-radius: 2px;
	  content: "";
	  display: block;
	  height: 100%;
	  position:absolute;
	  top: 70%;
	  left: 0;
	  transform:translate(-50%, -50%);
	  transform: rotate(0);
	  transition: all 0.3s ease-in-out;
	  width: 36px;
	}
	#drawer-icon span::before {
	  margin-top: -34%;
	}
	
	#drawer-icon:after{
		content: "MENU";
		font-family: 'Roboto', sans-serif;
		font-weight:400;
		font-size: 1.3rem;
		letter-spacing: 0.05rem;
		line-height: 100%;
		color: #fff;
		margin: calc(50vh + 15px) 0 0 0;
		text-align:center;
		display: block;
	}
	
	#drawer-icon.fix{
		/* background: rgba(0,0,0,0.5); */
	}
	
	
	
	/* CLOSE btn ----------------------------- */
	#drawer-close-icon {
	  position: fixed;
	  cursor: pointer;
	  display: inline-block;
	  height: 70px;
	  width: 70px;
	  top: 50%;
	  left: 0;
	  z-index:9999;
	  transform: translate(0, -50%);
	  transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#drawer-close-icon:after{
		content: "CLOSE";
		font-family: 'Roboto', sans-serif;
		font-weight:300;
		font-size: 13px;
		letter-spacing: 1px;
		line-height: 100%;
		color: #fff;
		margin: 50px 0 0 0;
		text-align:center;
		display: block;
	}
	#drawer-close-icon span {
	  display: block;
	  height: 100%;
	  position: absolute;
		top: 40%;
		left: 50%;
		transform:translate(-50%, -50%);
	  width:100%;
	}
	
	#drawer-close-icon span::before,
	#drawer-close-icon span::after {
	  content: "";
	  background: #fff;
	  display: block;
	  height: 2px;
	  width: 36px;
	  position: absolute;
		top: 50%;
		left:26%;
		transform:translate(-50%, -50%);
	}
	#drawer-close-icon span::before {
			  transform: rotate(-45deg);
	}
	#drawer-close-icon span::after {
			  transform: rotate(45deg);
	}
	
	
	/* menu area ----------------------------- */
	#drawer-content {
	position: fixed;
	top: 0;
	left: 0;
	z-index: -1;
	width: 100vw;
	height: 100vh;
	background: #000000ab;
	opacity:0;
	transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	#drawer-content.act {
		opacity:1;
		z-index: 9900;
	}
	
	#drawer-content-inner{
		width: 868px;
		height: 100%;
		box-sizing: border-box;
		padding: calc(50vh - 370px) 80px 0 140px;
		background: #323232;
		box-shadow: 6px 0 25px rgba(0, 0, 0, 0.1);
		overflow-y: auto;
		transform: translateX(-100%);
		transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}

	#drawer-content.act #drawer-content-inner{
		transform: translateX(0);
	}

	#drawer-content:before{
		content: "";
		display: block;
		width:1px;
		height: 100vh;
		background:#4a4a4a;
		position: absolute;
		top:0;
		left:70px;
		z-index:10;
	}


	#drawer-close {
	  display: none;
	  cursor: pointer;
	  position: fixed;
	  z-index: 999;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  /*background: #000;
	  opacity: 0;*/
	  transition: all 0.3s ease-in-out 0s;
	}
	#drawer-close.act {
	  display: block;
	  /*opacity: 0.3;*/
	}
	

	#drawer-content-inner .no_accordion_btn_wrap{
		width: 100%;
		display: flex;
		justify-content: space-between;
		padding: 0 0 30px;
	}
	#drawer-content-inner .no_accordion_btn_wrap li{
	width: 310px;
	}

	
	#drawer-content-inner .no_accordion_btn_wrap a{
		display:block;
		position:relative;
	}
	
	#drawer-content-inner .no_accordion_btn_wrap .nav_bnr_box{
		line-height:0;
	}

	#drawer-content-inner .no_accordion_btn_wrap .nav_txt_wrap{
		position: absolute;
		top: 50%;
		left: 50%;
		transform:translate(-50%, -50%);
		font-family: 'Roboto', sans-serif;
		font-weight:300;
		font-size: 3.8rem;
		letter-spacing: 0.1rem;
		text-align: center;
		line-height: 1.2;
		display:block;
		color :#fff;
		font-feature-settings: 'palt';
	}

	#drawer-content-inner .no_accordion_btn_wrap .nav_txt_wrap span{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 1.3rem;
		white-space:nowrap;
	}

	

	#drawer-content-inner .menu_wrap{
		display:flex;
		flex-wrap:wrap;
		justify-content:space-between;
		gap: 50px 0;
		padding: 30px 0 70px;
	}

	#drawer-content-inner .menu_box{
		width:45%;
	}

	#drawer-content-inner .ttl{
		height: 38px;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight:400;
		font-size: 2.0rem;
		letter-spacing: 0.1rem;
		margin: 0 0 20px;
		line-height: 1.4;
		color :#fff;
		border-bottom: 1px solid #515151;
		font-feature-settings: 'palt';
	}

	#drawer-content-inner .ttl a{
		display:block;
		color :#fff;
		text-align:left;
		position:relative;
	}

	#drawer-content-inner .ttl a span{
		display:block;
		width: 6px;
		position:absolute;
		top: -7px;
		right:0;
	}

	#drawer-content-inner .menu_ac_wrap{
		display:none;
	}
	#drawer-content-inner .menu_ac_contents{
		display:block !important;
	}
	
	#drawer-content-inner .menu_ac_contents a{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 300;
		letter-spacing: 0.1rem;
		font-size: 1.4rem;
		line-height: 1;
		color: #fff;
		text-align:left;
		padding: 10px 0;
		font-feature-settings: 'palt';
		position:relative;
	}

	#drawer-content-inner .menu_ac_contents a.noLink{
		opacity:0.4;
		pointer-events: none;
	}

	#drawer-content-inner .menu_ac_contents a span{
		display:block;
		width: 6px;
		position:absolute;
		top: 45%;
		right:0;
		transform: translate(0,-50%);
	}

	
	#drawer-content-inner .co_btn_wrap{
		width:288px;
		margin: 40px auto 30px;
	}
	
	#drawer-content-inner .co_btn_wrap li{
		
	}

	#drawer-content-inner .co_btn_wrap a span{
		display:block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		letter-spacing: 0.1rem;
		font-size: 1.4rem;
		line-height: 1.2;
		color: #fff;
		text-align: center;
		padding: 11px 0 0 0;
		font-feature-settings: 'palt';
	}

	#drawer-content-inner .co_btn_wrap a:hover{
		transition: all 0.5s ease 0s;
		opacity:0.3;
	}
	
	#drawer-content-inner .co_txt{
		font-size: 14px;
		letter-spacing:1px;
		padding: 0 0 0 26px;
		background: url(/global/img/icon_blank_w.gif) no-repeat 0 50%;
		background-size:18px auto;
	}


	#drawer-content-inner a{
		transition: all 0.4s cubic-bezier(0, 0, 0.28, 1) 0s;
	}

	#drawer-content-inner a:hover{
		opacity:0.5;
	}

	
	.scroll-prevent {
	  scrollbar-width: none; /*Firefox*/   
	}
	
	.scroll-prevent::-webkit-scrollbar {  
	  display: none; /*Google Chrome、Safari、Microsoft Edge*/
	}

}


/*========================================================================
//
// btn_view
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	.btn_view a {
		position:relative;
		display: block;
		font-family: "Oswald", sans-serif;
		font-weight: 400;
		font-size: 1.5rem;
		line-height: 1;
		padding: 16px 12px 16px 34px;
		text-align: left;
		width: 180px;
		letter-spacing: 0.1rem;
		font-feature-settings: 'palt';
		color: #fff;
		background: #323232;
	}

	.btn_view a:before{
		position: absolute;
		display: inline-block;
		content: "";
		width: 6px;
		height: 6px;
		border-top: 1px solid #ffffff;
		border-right: 1px solid #ffffff;
		transform: rotate(45deg) translate(0, -50%);
		top: 49%;
		right: 22px;
	}
	.btn_view a span {
		font-size: 1.3rem;
		font-weight: 500;
		padding: 0 0 0 14px;
	}
	.btn_view a {
		transition: all 0.5s cubic-bezier(0.14, 0.49, 0.31, 1.07) 0s;
	}
	.btn_view a:hover {
		background: #1e2021;
		transform: scale(1.1);
	}
}
/*========================================================================
//
// info float btn
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	.info_cv_btn {
		position: fixed;
		right: -80px;
		top: 40%;
		transform: translate(0, -50%);
		z-index: 9000;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	.info_cv_btn2{
		top:calc(40% + 200px)
	}
	.info_cv_btn_act {
		right: -18px;
	}
	.iPad .info_cv_btn_act {
		right: -10px;
	}
	.info_cv_btn li a {
		display: block;
		background: #005bac;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 400;
		font-size: 1.4rem;
		letter-spacing: 0.2rem;
		line-height: 1;
		writing-mode: vertical-rl;
		padding: 40px 38px 20px 20px;
		color: #fff;
		position: relative;
		transform: translate(0, 0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	.info_cv_btn2 li a{
		background: #99cc00;		
	} 
	
	.info_cv_btn li a span {
		position: absolute;
		top: 21px;
		left: 18px;
		width: 20px;
	}
	
	.info_cv_btn2 li a span {
		position: absolute;
		top: 20px;
		left: 17px;
		width: 20px;
	}
	.info_cv_btn li a:hover {
		transform: translate(-8px, 0);
	}
}
/*========================================================================
//
// Page Top
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	.pagetop {
		position: fixed;
		right: -80px;
		bottom: 18px;
		transform: translate(0, -50%);
		z-index: 9000;
		transition: all 0.8s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	.pagetop_act {
		right: -18px;
	}
	.pagetop li a {
		display: block;
		background: #1f2021 url(/global/img/arrow_w2.png) no-repeat 20px center;
		background-size: 16px auto;
		width: 72px;
		height: 50px;
		/* border-radius:6px; */
		transform: translate(0, 0);
		transition: all 0.4s cubic-bezier(0.03, 0.36, 0.18, 1) 0s;
	}
	.pagetop li a:hover {
		transform: translate(-8px, 0);
	}
}
/*========================================================================
//
// footer
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	footer {
		background: #ffffff;
		position: relative;
		margin: 0 0 0 70px;
	}


.footer-hero {
  display: flex;
}

.footer-hero__item {
  position: relative;
  width: 50%;
  overflow: hidden;
}

.footer-hero__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: grayscale(100%);
  transition: filter 0.3s ease;
}

.footer-hero__item:hover img {
  filter: grayscale(0%);
}

.footer-hero__text {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-size: 6.4rem;
  line-height: 1.2;
  font-weight: 300;
  letter-spacing: 0.04em;
  background: rgba(0, 0, 0, 0.35);
  transition: background 0.3s ease;
  font-family: "Roboto", sans-serif;
}

.footer-hero__item:hover .footer-hero__text {
  background: rgba(0, 102, 204, 0);
}

.footer-hero__text small {
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
}

.footer-main {
  display: flex;
  justify-content: space-between;
  padding: 63px 0 45px;
  background: #fff;
  max-width: 1100px;
  min-width: 1061px;
  margin: 0 auto 0px;
}

.footer-logo img {
	width: 290px;
}

.footer-catch {
  margin: 10px 0 0 -8px;
  font-size: 1.5rem;
  color: #000000;
  font-family: 'Noto Sans JP', sans-serif;
}

.footer-nav {
  display: flex;
  gap: 38px;
}

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

.footer-nav li {
  margin-bottom: 9px;
}

.footer-nav a {
	font-size: 1.5rem;
	color: #000000;
	font-family: 'Noto Sans JP', sans-serif;
	transition: 0.4s;
}

	.footer-nav a span{
		display:inline-block;
		font-size:1.2rem;
		padding:0 0 0 5px;
	}

.footer-nav a.noLink{
	opacity:0.3;
	pointer-events: none;
}
	
.footer-nav .top_li a{
	font-size: 1.6rem;
	font-weight: 500;
	color: #000000;
	transition: 0.4s;
}

.footer-nav__title{
	font-size: 1.6rem;
	font-weight: 500;
	color: #000000;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0 0 16px;
}

.footer-nav a:hover {
	color: #0096d7;
}

.footer-nav .top_li a:hover{
	color: #0096d7;
}

.footer-bottom {
  padding: 15px;
  text-align: center;
  background: #000;
  color: #fff;
  font-size: 12px;
}

.footer-bottom__wrap{
	border-top:1px solid #e7e7e7;
}

.footer-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 0px 0;
  margin: 0 auto;
  background: #fff;
  max-width: 1100px;
  min-width: 1061px;
  font-size: 12px;
  color: #666;
  font-family: 'Noto Sans JP', sans-serif;
}

.footer-bottom__links {
  display: flex;
  gap: 24px;

  list-style: none;
  padding: 0;
  margin: 0;
}

.footer-bottom__links a {
  color: #666;
  text-decoration: none;
	transition:0.4s;
}

.footer-bottom__links a span img{
	width:13px;
	margin:0 0 1px 8px;
}


.footer-bottom__links a:hover {
  opacity:0.6;
}

.footer-bottom__copyright {
  white-space: nowrap;
}

}
/*========================================================================
//
// GDPR Cookie
//
//========================================================================*/
/********* PC -Screen width is 762px or more- ************/
@media (min-width: 762px) {
	.g-gdpr {
		width: 100%;
		padding: 30px 0;
		display: flex;
		justify-content: center;
		align-items: center;
		background: rgba(0, 0, 0, 1);
		position: fixed;
		bottom: 0;
		left: 0;
		z-index: 10000;
		backdrop-filter: blur(15px);
		transition: 1s;
		transform: translateY(100%);
		animation: anime-gdpr 1s both 1s;
	}
	.is-gdpr_off .g-gdpr {
		animation: anime-gdpr_off 1s both;
	}
	.g-gdpr__text {
		color: #cacaca;
		text-shadow: 0 0 3px #000;
		padding: 0 30px 0 0;
		font-size: 1.5rem;
	}
	.g-gdpr__text a {
		color: #85b9d0;
		text-decoration: underline !important;
		padding: 0 .15em;
		display: inline-block;
	}
	.g-gdpr__text a:hover {
		text-decoration: none;
	}
	a.g-gdpr__button {
		color: #fff;
		font-size: 1.6rem;
		font-weight: 700;
		line-height: 1;
		text-align: center;
		white-space: nowrap;
		vertical-align: middle;
		padding: 1em 2em 1em 2em;
		display: block;
		background: #0096df;
		border: 1px solid #fff;
		transition: .2s;
		cursor: pointer;
	}
	a.g-gdpr__button:hover {
		opacity: .8;
	}
}
@keyframes anime-gdpr {
	0% {
		transform: translateY(100%);
	}
	100% {
		transform: translateY(0);
	}
}
@keyframes anime-gdpr_off {
	0% {
		transform: translateY(0);
	}
	100% {
		transform: translateY(100%);
	}
}