@charset "UTF-8";
/*!===========00Basic==========*/
/*===========フェードイン用 Class===========*/
/*!01==============ヘッダ==============*/
/*!02=============FV=================*/
/*!11 ===============FOOTER==============*/


/*!===========00Basic==========*/
* {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.08em;
	line-height: 2em;
}
html {
	width: 100%;
	min-width: 320px;
	height: 100%;
	scroll-behavior: smooth;
}
body {
	background: #fff;
	height: 100%;
	min-width: 320px;	
}
.wrap {
	height: 100%;
}
img {
	max-width: 100%;
	height: auto;
}
.hover:hover {
	color: #163fa7;
	transition: .2s;
}

/*text-align*/
.tex_c { text-align: center; }
.tex_l { text-align: left; }
.tex_r { text-align: right; }

/*FLEX*/

.flex {
	display: flex;
	justify-content: flex-start;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_bet {
	display: flex;
	justify-content: space-between;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_end {
	display: flex;
	justify-content: flex-end;
	flex-direction: row;
	flex-wrap:wrap;
}
.flex_center {
	display: flex;
	justify-content: center;
	flex-direction: row;
	flex-wrap:wrap;
}

/*FLEX高さ合わせない*/
.ai_s {
	align-items: flex-start;
}
/*FLEX縦下に設置*/
.ai_e {
	align-items: flex-end;
}
/*FLEX縦センター*/
.ai_c {
	align-items: center;
}

.ai_st {
	align-items: stretch;
}
/*froat*/
.f_l {float: left;}
.f_r {float: right;}
/* For modern browsers */
.cf:before,
.cf:after {
	content:"";
	display:table;
}
 
.cf:after {
	clear:both;
}
 
/* For IE 6/7 (trigger hasLayout) */
.cf {
	zoom:1;
}

/*TABLE FORM*/
.has-fixed-layout2 {
 width: 100%;
 text-align: left;
 border-collapse: separate;
 border-spacing: 0 16px;
 border-top: none !important;
}

.has-fixed-layout2 tr {
}
.has-fixed-layout2 th {
	padding: 16px 24px 12px 24px;
	border: none !important;

	width: 230px !important;
	font-size: 14px;
	background: #06409b;
	color: #fff;
}
.has-fixed-layout2 td {
 padding: 16px 24px 16px 24px;
 border: none !important;
 width:calc(100% - 200px) !important;
 font-weight: 300;
 background: #fff;

}

.has-fixed-layout2 td span {
	font-weight: 300 !important;
}
.has-fixed-layout2 td p {
	font-weight: 300 !important;
}

.has-fixed-layout2 tr td:first-child {
	padding: 8px 0;
	border: none !important;
	border-bottom: solid 1px #222 !important;
	width: 200px !important;
	font-weight: 600;
}
.hissu {
	position: relative;
	left: 8px;
}

textarea {
	height: 128px;
	resize: none;
	width: 100%;
	  box-sizing: border-box;
	  display: block;
	  background: rgba(242, 241, 241, 0.347);
	  border: 1px solid rgba(205, 205, 205, 0.628);
	  padding: 8px;
}

input {
	background: rgba(242, 241, 241, 0.347);
	border: 1px solid rgba(205, 205, 205, 0.628);
	width: 100%;
	  box-sizing: border-box;
	  display: block;
	  font-size: 14px;
	  font-weight: normal;
	  padding-left: 8px;
	  padding-right: 8px;
}

select {
	background: rgba(242, 241, 241, 0.947);
	border: 1px solid rgba(205, 205, 205, 1);
	border-radius: 8px;
	margin: 16px 0;
	padding: 8px 16px;
	font-size: 14px;
}
select {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-color: white;
  background-image: url("data:image/svg+xml;charset=UTF-8,%3Csvg width='10' height='6' viewBox='0 0 10 6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M0 0l5 6 5-6H0z' fill='%23333'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 10px 6px;
  padding-right: 30px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.datesbox {
	display: flex;
	justify-content: flex-start; /* 左寄せ（start） */
	flex-wrap: wrap;             /* 折り返しあり */
	align-items: center;
	font-size: 14px;
	margin: 8px 0;
}
.datesbox select {
	margin-right: 16px;
}
/*TABLE*/
.has-fixed-layout {
 width: 100%;
 text-align: left;
 border-collapse: separate;
 border-spacing: 0 16px;
 border-top: none !important;
}

.has-fixed-layout tr {
}
.has-fixed-layout th {
	padding: 32px 24px;
	border: none !important;

	width: 200px !important;
	font-size: 14px;
	background: #06409b;
	color: #fff;
}
.has-fixed-layout td {
 padding: 32px 24px;
 border: none !important;
 width:calc(100% - 200px) !important;
 font-weight: 300;
 background: #fff;
}

.has-fixed-layout tr td:first-child {
	padding: 32px 0;
	border: none !important;
	border-bottom: solid 1px #222 !important;
	width: 200px !important;
	font-weight: 600;
}

/*角丸*/
.rounded {
	border-radius: 16px;
	overflow: hidden;
}

.pc {
	display: block;
}

/*WIDTH*/
.w100per {
	width: 100% !important;
}

.w50per {
	width:calc(50% - 16px);
}
.w50per_no_margin {
	width: 50%;
}
.w25per {
	width:calc(25% - 16px);
}

.mw800 {
	width: 100%;
	max-width: 800px !important;
	margin: 0 auto;
}
.mw1200 {
	width: 100%;
	max-width: 1280px !important;
	margin: 0 auto;
}
.mw1600 {
	width: 100%;
	max-width: 1680px !important;
	margin: 0 auto;
}
.mw1500_margin0 {
	width: 100%;
	max-width: 1500px !important;
	margin: 0;
}
.mw1000_margin0 {
	width: 100%;
	max-width: 1000px !important;
	margin: 0;
}



.bb {
	text-decoration: underline;
}
.bb:hover {
	text-decoration: none;
}

/* margin */

.mta {margin-top:auto;}
.mra {margin-right:auto;}
.mba {margin-bottom:auto;}
.mla {margin-left:auto;}

.mt-64 {margin-top:-64px !important;}
.mr-64 {margin-right:-64px !important;}
.mb-64 {margin-bottom:-64px !important;}
.ml-64 {margin-left:-64px !important;}


.mt0 {margin-top:0px !important;}
.mr0 {margin-right:0px !important;}
.mb0 {margin-bottom:0px !important;}
.ml0 {margin-left:0px !important;}

.mt8 {margin-top:8px !important;}
.mr8 {margin-right:8px !important;}
.mb8 {margin-bottom:8px !important;}
.ml8 {margin-left:8px !important;}

.mt16 {margin-top:16px !important;}
.mr16 {margin-right:16px !important;}
.mb16 {margin-bottom:16px !important;}
.ml16 {margin-left:16px !important;}

.mt24 {margin-top:24px !important;}
.mr24 {margin-right:24px !important;}
.mb24 {margin-bottom:24px !important;}
.ml24 {margin-left:24px !important;}

.mt32 {margin-top:32px !important;}
.mr32 {margin-right:32px !important;}
.mb32 {margin-bottom:32px !important;}
.ml32 {margin-left:32px !important;}

.mt40 {margin-top:40px !important;}
.mr40 {margin-right:40px !important;}
.mb40 {margin-bottom:40px !important;}
.ml40 {margin-left:40px !important;}

.mt48 {margin-top:48px !important;}
.mr48 {margin-right:48px !important;}
.mb48 {margin-bottom:48px !important;}
.ml48 {margin-left:48px !important;}

.mt56 {margin-top:56px !important;}
.mr56 {margin-right:56px !important;}
.mb56 {margin-bottom:56px !important;}
.ml56 {margin-left:56px !important;}

.mt64 {margin-top:64px !important;}
.mr64 {margin-right:64px !important;}
.mb64 {margin-bottom:64px !important;}
.ml64 {margin-left:64px !important;}

.mt72 {margin-top:72px !important;}
.mr72 {margin-right:72px !important;}
.mb72 {margin-bottom:72px !important;}
.ml72 {margin-left:72px !important;}

.mt80 {margin-top:80px !important;}
.mr80 {margin-right:80px !important;}
.mb80 {margin-bottom:80px !important;}
.ml80 {margin-left:80px !important;}

.mt88 {margin-top:88px !important;}
.mr88 {margin-right:88px !important;}
.mb88 {margin-bottom:88px !important;}
.ml88 {margin-left:88px !important;}

.mt96 {margin-top:96px !important;}
.mr96 {margin-right:96px !important;}
.mb96 {margin-bottom:96px !important;}
.ml96 {margin-left:96px !important;}

.mt104 {margin-top:104px !important;}
.mr104 {margin-right:104px !important;}
.mb104 {margin-bottom:104px !important;}
.ml104 {margin-left:104px !important;}

.mt112 {margin-top:112px !important;}
.mr112 {margin-right:112px !important;}
.mb112 {margin-bottom:112px !important;}
.ml112 {margin-left:112px !important;}

.mt120 {margin-top:120px !important;}
.mr120 {margin-right:120px !important;}
.mb120 {margin-bottom:120px !important;}
.ml120 {margin-left:120px !important;}

.mt128 {margin-top:128px !important;}
.mr128 {margin-right:128px !important;}
.mb128 {margin-bottom:128px !important;}
.ml128 {margin-left:128px !important;}

/*padding*/
.p24 {
	padding: 24px;
}

.pt0 {padding-top:0px !important;}
.pr0 {padding-right:0px !important;}
.pb0 {padding-bottom:0px !important;}
.pl0 {padding-left:0px !important;}

.pt8 {padding-top:8px !important;}
.pr8 {padding-right:8px !important;}
.pb8 {padding-bottom:8px !important;}
.pl8 {padding-left:8px !important;}

.pt16 {padding-top:16px !important;}
.pr16 {padding-right:16px !important;}
.pb16 {padding-bottom:16px !important;}
.pl16 {padding-left:16px !important;}

.pt24 {padding-top:24px !important;}
.pr24 {padding-right:24px !important;}
.pb24 {padding-bottom:24px !important;}
.pl24 {padding-left:24px !important;}

.pt32 {padding-top:32px !important;}
.pr32 {padding-right:32px !important;}
.pb32 {padding-bottom:32px !important;}
.pl32 {padding-left:32px !important;}

.pt40 {padding-top:40px !important;}
.pr40 {padding-right:40px !important;}
.pb40 {padding-bottom:40px !important;}
.pl40 {padding-left:40px !important;}

.pt48 {padding-top:48px !important;}
.pr48 {padding-right:48px !important;}
.pb48 {padding-bottom:48px !important;}
.pl48 {padding-left:48px !important;}

.pt56 {padding-top:56px !important;}
.pr56 {padding-right:56px !important;}
.pb56 {padding-bottom:56px !important;}
.pl56 {padding-left:56px !important;}

.pt64 {padding-top:64px !important;}
.pr64 {padding-right:64px !important;}
.pb64 {padding-bottom:64px !important;}
.pl64 {padding-left:64px !important;}

.pt72 {padding-top:72px !important;}
.pr72 {padding-right:72px !important;}
.pb72 {padding-bottom:72px !important;}
.pl72 {padding-left:72px !important;}

.pt80 {padding-top:80px !important;}
.pr80 {padding-right:80px !important;}
.pb80 {padding-bottom:80px !important;}
.pl80 {padding-left:80px !important;}

.pt88 {padding-top:88px !important;}
.pr88 {padding-right:88px !important;}
.pb88 {padding-bottom:88px !important;}
.pl88 {padding-left:88px !important;}

.pt96 {padding-top:96px !important;}
.pr96 {padding-right:96px !important;}
.pb96 {padding-bottom:96px !important;}
.pl96 {padding-left:96px !important;}

.pt104 {padding-top:104px !important;}
.pr104 {padding-right:104px !important;}
.pb104 {padding-bottom:104px !important;}
.pl104 {padding-left:104px !important;}

.pt112 {padding-top:112px !important;}
.pr112 {padding-right:112px !important;}
.pb112 {padding-bottom:112px !important;}
.pl112 {padding-left:112px !important;}

.pt120 {padding-top:120px !important;}
.pr120 {padding-right:120px !important;}
.pb120 {padding-bottom:120px !important;}
.pl120 {padding-left:120px !important;}

.pt128 {padding-top:128px !important;}
.pr128 {padding-right:128px !important;}
.pb128 {padding-bottom:128px !important;}
.pl128 {padding-left:128px !important;}

.pt160 {padding-top:160px !important;}

/*FONT*/
.fatfrank {
	font-family: "fatfrank", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.Hiragino3 {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 300;
	font-style: normal;
}
.Hiragino6 {
	font-family: "hiragino-kaku-gothic-pron", sans-serif;
	font-weight: 600;
	font-style: normal;
}
.future {
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.05em !important;
}


.font_w {
	color: #fff !important;
}
.white {
	color: #fff !important;
}
.blue {
	color: #000a91 !important;
}
.red {
	color: #ec0000 !important;
}

.normal {
	font-weight: normal;
}

.font_b span {
	color: #2e2b2b !important;
	display: inline-block;
	background: #fff;
	padding-left: 4px;
	padding-right: 4px;
}

.bold {
	font-weight: bold !important;
}




.font12 {font-size: 12px !important;}
.lh12 {
	line-height: 12px !important;
}
.font14 {font-size: 14px !important;}
.font16 {font-size: 16px !important;}
.font18 {font-size: 18px !important;}
.font24 {font-size: 24px !important;}
.font32 {font-size: 32px !important;}
.font48 {font-size: 48px !important;}
.font64 {font-size: 64px !important;}
.font80 {font-size: 80px !important;}
.font88 {font-size: 88px !important;}

.hover {}
.hover:hover {
	color: #000a91;
	transition: opacity 0.2s;
}

/*block*/
.inine-block {
	display: inline-block;
}

/*===========フェードイン用 Class===========*/
/*時間差1 下から*/
.js-fade {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
}
.scroll {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/*時間差2 下から*/
.js-fade2 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 0.3s;
}
.scroll2 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/*時間差3 下から*/
.js-fade3 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 0.6s;
}
.scroll3 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}
/*時間差1 右から*/
.js-fade_x {
	opacity: 0;
	visibility: hidden;
	transform: translateX(48px);
	transition: opacity 1s,visibility 1s, transform 1s;
	transition-duration: 1s;
}
.scroll_x {
	opacity: 1;
	visibility: visible;
	transform: translateX(0px);
}
/*ゆっくり1 下から*/
.js-fade_slow {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 1s;
}

.scroll_slow {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/*ゆっくり2 下から*/
.js-fade_slow2 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 1.5s;
	transition-delay: 0.5s; /* ← ここで開始を遅らせる */
}

.scroll_slow2 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}

/*ゆっくり3 下から*/
.js-fade_slow3 {
	opacity: 0;
	visibility: hidden;
	transform: translateY(32px);
	transition: opacity 2s,visibility 2s, transform 2s;
	transition-duration: 2s;
	transition-delay: 1s; /* ← ここで開始を遅らせる */
}

.scroll_slow3 {
	opacity: 1;
	visibility: visible;
	transform: translateY(0px);
}








/*!01==============ヘッダ==============*/
header {
	display: block;
	position: absolute;
	height: 70px;
	width:  100%;
	padding: 0;
	margin: 16px 0 24px 0;
	padding: 0 24px;
	z-index: 9;
	/* アニメーションの変化時間 */
	transition: 0.5s;
	border-bottom: 1px solid #fff;
}
/*ロゴ*/
.header_logo {
	width: 200px;
	margin-left: 24px;
	margin-top: 16px;
}
.header_logo h1 {
	font-size: 12px;
	font-weight: normal;
	padding: 0;
	margin: 0 0 8px;
}
.ttl {
	width: 320px;
	
}
.ttl:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}



/*PCメニュー*/
.pc_nav {
	padding-right: 24px;
	margin-top: 16px;
}
.pc_nav a {
	font-size: 15px;
	font-weight: 600;
	padding: 0 0 0 32px;
	display: inline-block;
	color: #fff;
}
.pc_nav a span {
	height: 16px;
	line-height: 16px !important;
	display: block !important;
	transition: .4s;
}

.pc_nav a:hover {
	transition: .2s;
	color: #0e57ab;
}


.top_header_layer .pc_nav a {
	font-size: 15px;
	font-weight: 600;
	padding: 0 0 0 32px;
	display: inline-block;
	color: #222;
}
.top_header_layer .pc_nav a span {
	height: 16px;
	line-height: 16px !important;
	display: block !important;
	transition: .4s;
}

.top_header_layer .pc_nav a:hover {
	transition: .2s;
	color: #0e57ab;
}







/*サブメニュー*/
.menu {
	list-style: none;
	padding: 0;
}

.submenu {
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	position: absolute;
	right: 16px;
	top: 88px;
	background: linear-gradient(45deg, #1461b6, #053c9b);
	margin-top: 5px;
}

.has-sub {

}

.has-sub:hover .submenu {
	opacity: 1;
	visibility: visible;
}




/*サブメニュー*/
.sub_wrapper {
	border-radius: 16px;
	margin: 0;
	padding: 8px 24px;
	width: 100%;
	max-width: 490px;
}
.sub_wrapper li {
	margin: 16px 0;
}
.sub_wrapper a {
	display: block;
	line-height: 1.5em !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #fff;
}
.sub_wrapper a:hover {
	opacity: 0.5;
	transition-duration: .3s;
	color: #fff;
}

.menu_eng {
	font-size: 12px;
	font-family: "helvetica-neue-lt-pro-cond", sans-serif;
	font-weight: 700;
	font-style: normal;
	display: block;
	line-height: 16px !important;
	margin: 0 0 8px !important;
}

.ttl {
	transform: scale(1);
	transition: .4s;
	
}
.earth {
	position: relative;
	top: 3px;
	right: 4px;
}
/* スクロールして「scroll-navクラス」がついたときのヘッダーデザイン */
header.scroll-nav {
	position: fixed;
	height: 80px;
	width:calc(100% - 0px);
	padding: 0 0 0;
	margin: 0;
	z-index: 9;
	/* アニメーションの変化時間 */
	transition: 0.5s;
	background: #fff;
}

header.scroll-nav .contact {
	background: #2e2b2b;
	border-radius: 8px 0 0 8px;
	color: #fff !important;
	font-size: 14px !important;
	text-align: center;
	font-weight: 600;
	padding: 0 24px !important;
	display: inline-block;
	z-index: 9;
	width: 180px;
	transition: .4s;
	
}

header.scroll-nav .header_logo {
		width: 200px;
		margin-left: 24px;
		margin-top: 0px;
}

header.scroll-nav .header_logo .ttl {
	transform: scale(0.9);
	transition: .4s;
	transform-origin: left top;
	
}

header.scroll-nav a {
	color:#222;
}

.sub_arrow {
	display: inline-block;
	padding-right: 24px;
	background: url(img/arrow_bottom.svg) no-repeat center right;
	background-size: 14px;
}

.scroll-nav .pc_nav {
	margin-top: 24px;

}


.scroll-nav .banners {
	position: fixed;
	right: 40px;
	top: 0px;
	z-index: 2;
	transform: scale(0.5); /* 50% に縮小 */
	transition: transform 0.5s ease; 
	transform: scale(0.7);
	transform-origin: right top; /* 右を基準に縮小 */
	margin-right: -16px !important;
}
.scroll-nav .banner {
	position: relative;
	width: auto;
	display: inline-block;
	overflow: hidden;
	z-index: 1;	
	padding-left: 16px;
	font-size: 14px;
	color: #fff;
	padding: 8px 16px;
	margin-left: 16px;
	border-radius: 0 0 4px 4px;
	position: relative;
	z-index: 9;
	
}

/*!1.5 ハンバーガーボタン*/

.header {
  position: relative;
  z-index: 10;
  display: fixed;
  width: 100%;
  display: none;
}





.header__nav {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background: url(img/dot.jpg) repeat #000a91;
	background-size: 40px;
  padding: 20px 28px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s, visibility 0.5s;
}
.header__nav.is-open {
  opacity: 1;
  visibility: visible;
}

.header__nav-list {
  list-style: none;
  padding-top: 88px;
}

.header__nav-item {
  margin: 0 0 0 0;
}
.header__nav-item a {
  color: #fff;
  text-decoration: none;
	font-family: "helvetica-neue-lt-pro-cond", sans-serif;
	font-weight: 700;
	font-style: normal;
	
  font-size: 18px;
  margin: 0 0 16px;
  text-align: right;
  display: block;
}
.header__nav-item a:hover {
  filter:alpha(opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
  -moz-transition: .2s;
  -webkit-transition: .2s;
  -o-transition: .2s;
  -ms-transition: .2s;
  transition: .2s;
  
}
.header__nav-item a span {
	font-size: 14px;
	color: #fff;
	font-weight: 600;
	display: block;
	margin: 0px;
}

.hamburger {
  position: absolute;
  top: 16px;
  right: 48px;
  width: 28px;
  height: 17px;
  z-index: 9999;
}
.hamburger__trigger {
  display: inline-block;
  transition: all 0.4s;
  box-sizing: border-box;
  position: relative;
  background: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  width: 24px;
  height: 21px;
}
.hamburger__trigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #fff;
}

.top_header_layer2 .hamburger__trigger span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #222;
}

.hamburger__trigger span:nth-of-type(1) {
  top: 0;
}
.hamburger__trigger span:nth-of-type(2) {
  top: 9px;
  transition: all 0.25s 0.25s;
  opacity: 1;
}
.hamburger__trigger span:nth-of-type(3) {
  bottom: 0;
}
.hamburger__trigger.is-active span:nth-of-type(1) {
  transform: translateY(9px) rotate(-45deg);
  background: #fff;
}
.hamburger__trigger.is-active span:nth-of-type(2) {
  opacity: 0;
}
.hamburger__trigger.is-active span:nth-of-type(3) {
  transform: translateY(-9px) rotate(45deg);
  background: #fff;
}


body.is-open {
  height: 100vh;
  overflow-y: hidden;
}



/*!02=============FV=================*/


.fv {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	overflow: hidden;
	z-index: 1;
	background: url(images/fv.jpg) no-repeat center center;
	background-size: cover;
}

.dot {
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	position: absolute;
	top:0;
	left: 0;
	z-index: 1;
	min-width: 240px;
	
}
.fv_text {
	padding: 32px 32px 32px 64px;
	position: relative;
	bottom: 32px;
}
.fv_text h2 {
	color: #fff;
	font-weight: 400;
	font-size: 12vw;
	margin-bottom: 0;
	letter-spacing: 0.05em;
	line-height: 1.1em !important;
	font-weight: bold;
}

.fv_text h3 {
	color: #fff;
	font-size: 4vw;
	font-weight: 600;
	letter-spacing: 0.01em !important;
	line-height: 1.1em !important;
	margin-bottom: 0px;
	/*font-family: "helvetica-neue-lt-pro-cond", sans-serif;
	font-weight: 700;
	font-style: normal;*/
}

/*!7 TOP ABOUT*/

.content_container {
	padding: 64px 32px;
	width: auto;
	margin: 0 auto;
}


.top_about {
	background: url(images/aboutbg.jpg) no-repeat center center;
	background-size: cover;
	overflow: visible;
	width: 100%;
	width: 100%;
	padding: 64px 32px;
}

.btn_arrow {
	font-size: 20px;
	padding: 8px 48px 8px 0;
	background: url(images/arrow.png) no-repeat right center;
	background-size: 32px;
}
.btn_arrow_b {
	font-size: 20px;
	padding: 8px 48px 8px 0;
	background: url(images/arrow_b.png) no-repeat right center;
	background-size: 32px;
}

.recruit_l {
	width: 500px;
	position: relative;
	top: 128px;
}
.recruit_r {
	width:calc(100% - 560px);
}

.core {
	font-size: 10vw;
	position: relative;
	z-index:9;
	margin-bottom: -128px !important;
}
.core2 {
	font-size: 10vw;
	position: relative;
	z-index:9;
}

.threes {
	width:calc(33.333% - 16px);
	margin-bottom: 24px;
}
.threes p {
	margin: 8px 0;
}
.mw360 {
	max-width: 360px;
}

.bg_core1 {
	background: url(images/core1.png) right top 24px #f6f9fa no-repeat;
	background-size: 60%;
	min-height: 320px;
}
.bg_core2 {
	background: url(images/core2.png) right top 24px #f6f9fa no-repeat;
	background-size: 60%;
	min-height: 320px;
}
.bg_core3 {
	background: url(images/core3.png) right top 24px #f6f9fa no-repeat;
	background-size: 60%;
	min-height: 320px;
}

.bg_core p {
	text-align: left;
	font-size: 20px;
	padding: 32px;
}
.job1 {
	background: url(images/job1.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job2 {
	background: url(images/job2.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job3 {
	background: url(images/job3.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job4 {
	background: url(images/job4.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job5 {
	background: url(images/job5.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job6 {
	background: url(images/job6.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job7 {
	background: url(images/job7.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}
.job8 {
	background: url(images/job8.png) right top #f6f9fa no-repeat;
	background-size: cover;
	min-height: 320px;
}


.job_btn {
	text-align: left;
	font-size: 20px;
	padding: 32px 48px 32px 32px;
	background: url(images/arrow.png) no-repeat right bottom 34px;
	background-size: 32px;
	display: block;
	margin-right: 16px;
	display: block;
}
.job_btn:hover {
opacity: 0.7;
transition: opacity 0.2s;
}

.works {
	min-height: 600px;
}
.works2 {
	min-height: 400px;
}

.fnbg {
	background: url(images/newsbg.jpg) no-repeat center top;
	background-size: cover;
	padding: 64px 24px;
}

.thumb {
	width: 100%;
	height: 220px;
	overflow: hidden;
	margin-bottom: 16px;
}
.articles {
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
}
.articles span {
	
}
.articles a {
	display: block;
}









/*!11 ===============FOOTER==============*/
footer {
	background: #fff;
	margin-top: 0;
}

.footer_in {
	padding: 64px 32px 64px;
}

.footer_content {
	min-height: 320px;
	width: calc(100% - 360px);
	
}

.footer_ttl {
	width: 200px;
	margin-left: 24px;
}

.footer_ttl h1 {
	font-size: 10px;
	font-weight: normal;
	padding: 0;
	margin: 0 0 16px;
	color: #999;
}
.ttl {
	width: 200px;
	
}
.ttl:hover {
	filter:alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	-moz-transition: .2s;
	-webkit-transition: .2s;
	-o-transition: .2s;
	-ms-transition: .2s;
	transition: .2s;
}




.footer_menu {
	width: 100%;
}

.footer_three {
	width:calc(33.333% - 64px);
	max-width: 200px;
	margin: 0 32px;
}
.footer_three a {
	display: block;
	width: 100%;
	font-size: 16px;
	color: #fff;
	margin: 16px 0;
}
.footer_three a:hover {
	display: block;
	width: 100%;
	font-size: 16px;
	color: #fff;
	opacity: 0.5;
	transition-duration: .3s;
	text-decoration: underline;
}

.fm_1st {
	border-top: 2px solid #222;
	padding: 24px 0;
	border-bottom: 1px solid #222;
}
.fm_2nd {
	border-bottom: 1px solid #222;
	padding: 24px 0;
}
.fm_3rd {
	padding: 28px 0 0 0;
	font-size: 14px !important;
}
.nw {
	width: 16px;
	position: relative;
	bottom: 7px;
	left: 8px;
}
.nw2 {
	width: 14px;
	position: relative;
	bottom: 0;
	left: 8px;
	margin-right: 8px;
}

copyright {
	font-size: 10px;
	color: #999;
	font-style: italic;
	text-align: center;
	display: block;
	line-height: 16px !important;
	margin: 0;
}

.f_r {
	float: right;
	display: inline-block;
}
.sitemap {
	font-size: 11px;
	color: #fff !important;
	line-height: 16px !important;
}
.sitemap:hover {
	font-size: 11px;
	color: #fff !important;
	opacity: 0.7;
	transition: opacity 0.2s;
	text-decoration: underline;
}

/*下層ページ*/
.content_ttl_eng_layer {

	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: -0.05em !important;
		color: #222;
		font-size: 64px;
		margin-bottom: 16px;
		position: relative;
		z-index: 1;
		line-height: 1em;
		letter-spacing: 0em;
		background: url(images/border.png) no-repeat left bottom;
		padding-bottom: 16px;
		background-size: 180px;
}

.side {
	width: 240px;
	border-left: 1px solid #222;
	padding-left: 24px;
}
.side a {
	display: block;
	margin: 8px 0;
}
.side a:hover {
	display: block;
	margin: 8px 0;
	color: #343b9e;
}
.main_c {
	width: calc(100% - 300px);
}

.content_ttl {
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.05em !important;
		color: #343b9e;
		font-size: 48px;
		margin-bottom: 16px;
		position: relative;
		z-index: 1;
		line-height: 1.2em;
		padding-bottom: 16px;
}
.content_ttl2 {
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	letter-spacing: 0.05em !important;
		color: #f00000;
		font-size: 48px;
		margin-bottom: 16px;
		position: relative;
		z-index: 1;
		line-height: 1.2em;
		padding-bottom: 16px;
}

.fake_tbl {
	border-bottom: 1px solid #acacac;
	padding: 0 0 32px 0;
	margin: 0 0 32px 0;
}
.tbl_w200 {
	width: 200px;
	color: #898989;
}
.tbl_w {
	width: calc(100% - 240px);
}



.border_b {
	border-bottom: 1px solid #222;
	padding-bottom: 64px;
	margin-bottom: 64px;
}

.bg_f3f4f6 {
	background: #f3f4f6;
	padding: 32px 24px;
	margin: 64px 0;
}
.bg_f3f2e8 {
	background: #f3f2e8;
	padding: 32px 24px;
	margin: 64px 0;
}
.box1 {
	background: #fff;
	border:1px solid #aaa;
}
.bg_left {
	background: url(images/bg_left.png) no-repeat left top #fff;
	background-size: auto 100%;
}

.inside-dot {
  list-style-type: disc;           /* 丸 */
  list-style-position: inside;    /* 内側に表示 */
  margin: 0;
  padding: 0;                      /* 必要に応じて調整 */
}
.inside-dot li {
  padding: 0.25rem 0;              /* 行間として少し余白 */
}

.h5_01 {
	font-size: 20px;
	color: #fff;
	padding: 8px 24px;
	margin-bottom: 24px;
	margin-top: 24px;
	background: #5abce6;
	border-radius: 8px;
}
.h5_02 {
	font-size: 20px;
	color: #fff;
	padding: 8px 24px;
	margin-bottom: 24px;
	margin-top: 24px;
	background: #f8bb14;
	border-radius: 8px;
}

.h5_03 {
	font-size: 20px;
	color: #fff;
	padding: 8px 24px;
	margin-bottom: 24px;
	margin-top: 24px;
	background: #accd19;
	border-radius: 8px;
}






/*投稿*/
.layer p {
font-size: 16px;
margin-bottom: 24px;
line-height: 2em !important;
letter-spacing: 0.14em;
}
.layer img {
max-width: 100%;
margin: 0 0 40px;
height: auto;
}
.layer time {
font-size: 12px;
margin: 16px 0 32px;
display: block;
}
.post_info {
	font-size: 24px;
	margin: 16px 0;
	border-radius: 16px;
	background: url(img/dot.jpg) repeat #0061ca;
	background-size: 40px;
	overflow: hidden;
	width: 100%;
	padding: 128px 64px;
	color: #fff !important;
	text-align: center;
}
.post_info2 {
	font-size: 14px !important;
	margin: 0 0;
	overflow: hidden;
	width: 100%;
	padding: 0px 0;
	color: #fff !important;
	text-align: center;
}
.post_info2 a {
	color: #fff !important;
}

.news_cate_layer {
font-size: 16px;
color: #0e57ab;
transition: .2s;
}
.news_cate_layer:hover {
font-size: 16px;
color: #222;
transition: .2s;
}

.pagination {
display: flex;
justify-content: center;
flex-direction: row;
flex-wrap:wrap;
}
.nav-links span {
color: #fff;
padding: 16px;
border-radius: 8px;
background: #222;
line-height: 1em;
min-width: 48px;
display: inline-block;
text-align: center;
border: 1px solid rgba(255, 255, 255, 0.16);
}
.nav-links a {
border: 1px solid rgba(255, 255, 255, 0.16);
color: #fff;
padding: 16px;
border-radius: 8px;
background: #222;
line-height: 1em;
min-width: 48px;
display: inline-block;
text-align: center;
}
.nav-links a:hover {

filter:alpha(opacity=70);
-moz-opacity: 0.7;
opacity: 0.7;
-moz-transition: .2s;
-webkit-transition: .2s;
-o-transition: .2s;
-ms-transition: .2s;
transition: .2s;
}

.nav-links .current {
	background: #0e57ab;
}
.single_post {
	padding: 48px 32px;
	max-width: 800px;
	margin-left: auto;
	margin-right: auto;
}
.single_post h2 {
	color: #0e57ab;
	font-size: 24px;
	margin: 32px 0;
}
.single_post h3 {
	color: #0e57ab;
	font-size: 20px;
	margin: 0 0 32px 0;
}
.single_post h4 {
	color: #0e57ab;
	font-size: 18px;
	margin: 32px 0;
}

.cus_eyecatch {
	height: 300px;
	border-radius: 16px;
	overflow: hidden;
	object-fit: cover;
}

.single_post img {
	border-radius: 16px;
	overflow: hidden;
	max-width: 800px;
	width: 100%;
	height: auto;
	margin-left: auto;
	margin-right: auto;
}
.single_post {
	text-align: center;
}
.single_post p {
	text-align: left;
}
.single_post span {
	text-align: left;
}
.single_post h1 {
	text-align: left;
}
.single_post h2 {
	text-align: left;
}
.single_post h3 {
	text-align: left;
}
.single_post h4 {
	text-align: left;
}
.single_post h5 {
	text-align: left;
}
.single_post h6 {
	text-align: left;
}
.single_post ul {
	text-align: left;
}
.single_post ul li {
	text-align: left;
	list-style: outside;
	margin: 16px 0 16px 8px;
	font-size: 16px;
}

.single_post ul {
	padding: 16px 24px 16px 30px;
	background: rgba(239, 239, 239, 0.537);
	border-radius: 16px;
	margin: 24px 0;
}

.single_post a {
	color: #0e57ab;
	text-decoration: underline;
}
.single_post a:hover {
	color: #707070;
	text-decoration: none;
}

.single_post img {
	width:  auto !important;
	height: auto !important;
	min-width: 100px;
	min-height: 100px;
	max-width: 680px !important;
}

.bg_blue {
	padding: 48px 16px;
	background: #000a91;
}

.formbg {
	background: #ebebeb;
	padding: 32px 24px;
	vertical-align: bottom;
}

/* ラベル */
.form-sample label {
  display: grid;
  gap: 6px;
  font-size: 14px;
}

/* 共通入力スタイル */
.form-sample input[type="text"],
.form-sample input[type="email"],
.form-sample input[type="tel"],
.form-sample textarea {
  background: #fff;
  border: 1px solid #aaa;
  border-radius: 4px;
  padding: 12px 14px;
  font-size: 16px;
  line-height: 1.4;
  color: var(--text);
  transition: box-shadow .18s ease, border-color .18s ease, transform .12s ease;
  outline: none;
  box-shadow: 0 1px 0 rgba(0,0,0,0.02) inset;
}

.form-sample label {
	margin-top: 16px;
	
}

textarea {
	resize: none !important;
	height: 100%;
}

/* プレースホルダ */
.form-sample ::placeholder {
  color: var(--muted);
  opacity: 1;
}

/* テキストエリア特有 */
.form-sample textarea {
  min-height: 140px;
  resize: vertical; /* 縦だけリサイズ可能 */
  padding-top: 14px;
}

/* フォーカス時 */
.form-sample input:focus,
.form-sample textarea:focus {
  border-color: var(--focus);
  box-shadow: 0 6px 18px rgba(43,140,255,0.08), 0 0 0 4px rgba(43,140,255,0.12);
  transform: translateY(-1px);
}

/* フォーカスのキーボードフォーカス可視化（アクセシビリティ） */
.form-sample input:focus-visible,
.form-sample textarea:focus-visible {
  outline: none;
}

/* 無効/読み取り専用 */
.form-sample input[disabled],
.form-sample textarea[disabled],
.form-sample input[readonly],
.form-sample textarea[readonly] {
  opacity: 0.6;
  cursor: not-allowed;
  background: #fbfbfb;
}

/* エラー表示（必要なら JS で is-invalid を付与） */
.form-sample .is-invalid {
  border-color: #d9534f !important;
  box-shadow: 0 0 0 4px rgba(217,83,79,0.08);
}

/* ボタン */
.form-sample input[type="submit"] {
	display: block;
	background: #000a91;
	color: #fff;
	font-size: 14px;
	text-align: center;
	padding: 8px;
	margin-top: 32px;
}
.form-sample input[type="submit"]:hover {
	display: block;
	background: #000;
	color: #fff;
	font-size: 14px;
	text-align: center;
	padding: 8px;
	margin-top: 32px;
}

#wpcf7-f27-o1 {
	width: 100%;
}








@media screen and (max-width: 1084px){
	.pc_nav a {
		font-size: 14px;
		font-weight: 600;
		padding: 0 0 0 16px;
		display: inline-block;
		color: #fff;
	}

}

@media screen and (max-width: 999px){
.content_container {
	padding: 64px 24px;
	width: auto;
	margin: 0 auto;
}
.content_ttl_eng {
	
	font-weight: 400;
	font-style: normal;
	font-size: 11vw;
	margin-bottom: 16px;
	position: relative;
	z-index: 1;
	line-height: 1em;
}
/*!01ヘッダ*/
.pc_nav {
	display: none;
}
/*!1.5 ハンバーガーボタン*/
.header {
	position: fixed;
	z-index: 10;
	display: block;
	width: 100%;
	transition: 0.2s;
}
.hamburger {
	/* アニメーションの変化時間 */
	transition: 0.2s;
}

header.scroll-nav {
	position: fixed;
	height: 80px;
	width: calc(100% - 0px);
	padding: 0 0 0;
	margin: 0;
	z-index: 9;
	transition: 0.5s;
	background: #fff;
}

header.scroll-nav .ttl {
	width: 160px;
}

header.scroll-nav .hamburger {
	position: fixed;
	top: 18px;
	right: 18px;
	width: 28px;
	height: 17px;
	z-index: 9999;
	/* アニメーションの変化時間 */
	transition: 0.5s;
}
/*!02FV*/
.fv_text h1 {
	color: #2e2b2b;
	font-weight: 400;
	font-size: 10vw;
	
	font-weight: 400;
	font-style: normal;
	margin-bottom: 8px;
	letter-spacing: 0.1em;
	line-height: 1em !important;
}
.fv_text h2 {
	color: #fff;
	font-weight: 400;
	font-size: 18vw;
	margin-bottom: 0;
	letter-spacing: 0.05em;
	line-height: 1.1em !important;
	font-weight: bold;
}
.fv_text h3 {
	color: #fff;
	font-size: 8vw;
	font-weight: 600;
	letter-spacing: 0.01em !important;
	line-height: 1.1em !important;
	margin-bottom: 0px;
}
.header_logo {
	width: 200px;
	margin-left: 0px;
	margin-top: 8px;
}

/*TOP*/
.recruit_l {
	width: auto;
	max-width: 400px;
	position: relative;
	text-align: center;
	top: 0;
	margin: 0 auto;
}
.recruit_l img {
	margin: 0 auto;
}
.core {
	font-size: 10vw;
	position: relative;
	z-index: 9;
	margin-bottom: -64px !important;
}
.bg_core p {
	text-align: left;
	font-size: 16px;
	padding: 24px;
}
.job_btn {
	text-align: left;
	font-size: 16px;
	padding: 24px 32px 24px 16px;
	background: url(images/arrow.png) no-repeat right 16px bottom 34px;
	background-size: 24px;
	display: block;
	width: 100%;

}
.job_btn2 {
	text-align: left;
	font-size: 16px;
	padding: 24px 32px 24px 16px;
	display: block;
	width: 100%;

}
.works {
	min-height: 320px;
}
.threes {
	width: calc(50% - 16px);
	margin-bottom: 24px;
}
}


@media screen and (max-width: 799px){
	.w50per {
		width: 100%;
		margin-bottom: 24px;
	}
	
	.side {
		display: none;
	}
	.main_c {
		width: 100%;
	}
	.fake_tbl {
		border-bottom: 1px solid #acacac;
		padding: 0 0 32px 0;
		margin: 0 0 32px 0;
	}
	.tbl_w200 {
		width: 100%;
		color: #898989;
	}
	.tbl_w {
		width: 100%;
	}
	.box1 {
		text-align: center !important;
	}
	.box1 img {
		margin-left: auto !important;
		margin-right: auto !important;
		margin-top: 24px;
	}
	.box1 p {
		text-align: center;
		width: 100%;
	}
}



@media screen and (max-width: 649px){ 
	.pc649 { display: none; }
	.sp649 { display: block; }
	
	/*!01ヘッダ*/
	/*!1.5 ハンバーガーボタン*/
	/*!02FV*/
	.fv_text h2 {

	}
	/*!03 TOPコンテント*/
	.content_container {
		padding: 32px 16px;
		width: auto;
		margin: 0 auto;
	}
	/*!4 TOP ABOUT*/
	.history_list p {
		font-size: 14px !important;
	}
	/*!5 TOP PRODUCT*/
	.top_product {
		background: url(img/top_product.png) no-repeat;
		background-size: cover;
		width: 100%;
		padding: 128px 0 0px;
	}
	
	
	
	/*!6 TOP DEVELOPMENT*/
	.dev_wrapper {
		background: rgb(11, 100, 205);
		background: linear-gradient(90deg, rgba(33, 119, 220, 1) 0%, rgba(16, 102, 192, 1) 100%);
		border-radius: 16px;
		margin: 0;
		padding: 64px 16px 32px 16px;
	}
	/*!7 TOP SES*/
	.top_ses {
		background: url(img/top_ses.png) no-repeat;
		background-size: cover;
		width: 100%;
		padding: 128px 0 0px;
	}
	/*!8 TOP CLIENT*/
	.threes {
		width: 100%;
	}
	.threes p {
		margin: 4px 0;
		font-size: 14px;
	}
	/*!9 news*/
	.news_box time {
		font-size: 11px;
	}
	
	/*!10 CONTACT*/
	


	
	
	.w80 {
		width: 80px;
	}
	.recruit_text {
		display: block;
	}
	.contact_text {
		display: block;
	}
	
	

	/*!11 FOOTER*/
	
	/*!12 下層共通*/
	.content_ttl_eng_layer {
		font-size: 48px;
	}
	.content_ttl_jp_layer2 {
		font-size: 21px;
	}
	.content_ttl_eng_mini {
		font-size: 40px;
	}
	.sp_lefty {
		position: relative;
		right: 0px;
	}
	.content_ttl_eng_layer2 {
		margin: 0 0 16px 0px !important;
	}
	.top_text {
		font-weight: 600;
		color: #161414;
		font-size: 14px;
		line-height: 2.2em;
		letter-spacing: 0.16em;
	}
	
	.font18 {
		font-size: 16px !important;
	}
	.font32 {
		font-size: 24px !important;
	}
	.mb24 {
		margin-bottom: 16px !important;
	}
	
	.font48_sps {
		font-size: 40px !important;
	}
	
	/*TABLE*/
	.has-fixed-layout {
	 width: 100%;
	 text-align: left;
	 border-collapse: collapse;
	 border-spacing: 0;
	 border-top: none !important;
	}
	
	.has-fixed-layout th {
		padding: 16px !important;
		width: 100% !important;
		display: block;
	}
	.has-fixed-layout td {
		padding: 16px !important;
		width: 100% !important;
		font-weight: 300;
		display: block;
		font-size: 14px !important
	}
	
	.has-fixed-layout tr td:first-child {
		padding: 24px 0 0 !important;
		border: none !important;
		border-bottom: none !important;
		width: 100% !important;
		font-weight: 600;
		display: block;
		font-size: 16px !important
	}
	
	.history {
		background: rgb(11, 129, 210);
		background: linear-gradient(90deg, rgba(11, 129, 210, 1) 0%, rgba(11, 100, 205, 1) 100%);
		border-radius: 16px;
		padding: 40px 8px;
		width: 100%;
		min-height: 500px;
	}
	
	.history .pr32 {
		padding-right: 16px !important;
	}
	.history .pl32 {
		padding-left: 16px !important;
	}
	
	.sp_plpr0 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	.bg_w {
		margin-top: 24px;
		padding: 24px;
		background: url(img/gray.jpg) #fff left 29px top repeat-y;
		background-size: 3px;
	}
	.history_list {
		padding-left: 32px;
		margin: 40px 0;
		background: url(img/maru.png) no-repeat left top 10px;
		background-size: 12px;
	}
	
	
	.content_ttl_jp_pc {
		font-size: 20px;
		color: #222;
		font-weight: 800;
		line-height: 1.5em;
		margin-bottom: 0;
		border-bottom: 3px solid #222;
		padding: 0 0 4px;
		margin-left: 24px;
	}
	.content_ttl_jp_pc2 {
		font-size: 16px;
		color: #222;
		font-weight: 800;
		line-height: 1.5em;
		margin-bottom: 0;
		border-bottom: 1px solid #222;
		padding: 0 0 8px;
		margin:  32px 0 32px;
		text-align: center;
	}
	
	.ico_pc {
		width: 48px;
	}
	.lang_logo p {
		font-size: 12px;
	}
	
	/*!N-01 NEWS一覧ページ*/
	.single_post ul li {
		font-size: 14px;
	}


	
	/*投稿*/
	.news_cate_layer {
		font-size: 14px;
		color: #163fa7;
		transition: .2s;
	}
	.news_cate_layer:hover {
		font-size: 14px;
	}
	.post_info {
		font-size: 20px;
		margin: 16px 0;
		line-height: 1.6em;
	}
	
	.single_post h2 {
		color: #163fa7;
		font-size: 20px;
		margin: 24px 0;
	}
	.single_post h3 {
		color: #163fa7;
		font-size: 18px;
		margin: 24px 0;
	}
	.single_post h4 {
		color: #163fa7;
		font-size: 16px;
		margin: 24px 0;
	}
	
	.single_post p {
		font-size: 14px;
	}
	
	/*!13 RECRUIT*/
	.w25per {
		width: calc(100% - 0px);
	}
	.lang_logo {
		margin-right: 0; /* 4の倍数の要素だけ余白をゼロに */
	}
	.lang_logo:nth-child(2n) {
		margin-right: 0; /* 4の倍数の要素だけ余白をゼロに */
	}
	.sp999_mw600 {
		max-width: 600px !important;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
	}
	.posi_l {
		margin-left: 0 !important;
	}
	
	p {
		font-size: 14px;
	}
	
	/*!14 お問い合わせ*/
	table {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
	word-wrap: break-all;
	}
	.btn_send input[type="submit"] {
		background: #163fa7;
		color: #fff;
		font-size: 18px;
		font-weight: 600;
		padding: 16px 24px;
		text-align: center;
		margin: 0 auto 0;
		display: inline-block;
		min-width: 240px;
		width: 100%;
		border-radius: 4px;
	}
	.sp_100per {
		width: 100% !important;
		margin-right: 0 !important;
	}
	
	/*BASIC*/
	.font24 {
		font-size: 20px !important;
	}
	
	.font16 {
		font-size: 14px !important;
	}
	
	.font16 p {
		font-size: 14px !important;
		line-height: 2em !important;
	}
	.sp649_mt32 {
		margin-top: 32px !important;
	}
	
	
	/*!!TOP*/
	.ttl {
			width: 240px;
	}
	.job_thumb {
			width: 100%;
			height: 240px;
			margin-bottom: 24px;
	}
	.job_info {
			width: 100%;
	}
	
	h6 {
		font-size: 20px !important;
	}
	
	.footer_three a {
		font-size: 14px;
	}
	
	.header_logo {
			width: 200px;
			margin-left: 0px;
	}
	header.scroll-nav .header_logo {
			width: 200px;
			margin-left: 24px;
	}
	header.scroll-nav {
			position: fixed;
			height: 80px;
			width: calc(100% - 0px);
			padding: 0;
			margin: 0;
			z-index: 9;
			transition: 0.5s;
			background: #fff;
	}
	
	.btn_bigs {
			font-size: 16px;
	}
	.job_box {
			background: #fff;
			padding: 16px;
			border-radius: 24px;
			margin: 24px auto;
	}
	.news_box {
			background: #fff;
			padding: 16px;
			border-radius: 16px;
			margin-bottom: 32px;
	}
	
	.top_about4 {
			width: 100%;
			padding: 0 0;
	}
	.recruit_l {
			width: 100%;
			margin-bottom: 32px;
	}
	
	/*求人情報*/
	.has-fixed-layout2 th {
		padding: 16px 24px 12px 24px;
		border: none !important;
		width: 100% !important;
		font-size: 14px;
		background: #06409b;
		color: #fff;
		display: block;
	}
	.has-fixed-layout2 td {
		padding: 16px 24px 16px 24px;
		border: none !important;
		width: calc(100% - 0px) !important;
		font-weight: 300;
		background: #fff;
		display: block;
		
	}
	.job02 h6 {
		font-size: 14px !important;
		font-weight: bold;
		color: #0f58ad;
		padding: 0 0;
		margin: 0;
	}
	.btn_arrow {
		font-size: 16px;
		padding: 8px 48px 8px 0;
		background: url(images/arrow.png) no-repeat right center;
		background-size: 32px;
	}
	.btn_arrow_b {
		font-size: 16px;
		padding: 8px 48px 8px 0;
		background: url(images/arrow_b.png) no-repeat right center;
		background-size: 32px;
	}
	.core {
		font-size: 12vw;
		position: relative;
		z-index: 9;
		margin-bottom: 0px !important;
	}
	.content_ttl_eng_layer {
		font-size: 48px;
	}
	.content_ttl {
		font-family: "futura-pt", sans-serif;
		font-weight: 600;
		font-style: normal;
		letter-spacing: 0.05em !important;
			color: #343b9e;
			font-size: 32px;
			margin-bottom: 16px;
			position: relative;
			z-index: 1;
			line-height: 1em;
			padding-bottom: 16px;
	}
	.content_ttl2 {
		font-family: "futura-pt", sans-serif;
		font-weight: 600;
		font-style: normal;
		letter-spacing: 0.05em !important;
			color: #f00000;
			font-size: 32px;
			margin-bottom: 16px;
			position: relative;
			z-index: 1;
			line-height: 1em;
			padding-bottom: 16px;
	}

	
	
}









