@charset "utf-8";
/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: baseline;
}
:focus {
  outline: 0;
}
*, *:before, *:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}
-webkit-text-size-adjust: 100%;
.text {
  font-feature-settings: "palt";
}
ol, ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
}
caption, th, td {
  font-weight: normal;
  text-align: left;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}
blockquote, q {
  quotes: """";
}
a img {
  border: 0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
img {
  vertical-align: bottom;display: block;
}
.goog-te-gadget img {
display: inline;
}
.pc-none {
  display: none;
}
.bg-blue{
	background-color: #e9f4fe;
}
.mb10{
	margin-bottom: 10px!important;
}
.mb15{
	margin-bottom: 15px!important;
}
small{font-size:70%;}
:root {
  --blue: #0648d5;
  --deep-blue: #0035b7;
  --navy: #002770;
  --pale-blue: #eaf7ff;
  --border: #bddff6;
  --green: #009841;
  --pink: #ee2f81;
}
html { scroll-behavior: smooth; }
body {
background: #e8eff7;
  color: #252525;
  font: 90%/1.5 "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;, sans-serif;

}
/* リンク設定
*****************************************************/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  color: #016ba9;
}
a:hover, a:active {
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -o-transition: opacity 1s;
  outline: none;
  color: #0151ca;
}
/**** Clearfix ****/
.nav .panel:before, nav .panel:after, nav#mainNav:before, nav#mainNav:after, .newsTitle:before, .newsTitle:after {
  content: "";
  display: table;
}
nav .panel:after, nav#mainNav:after, .newsTitle:after {
  clear: both;
}
nav .panel, nav#mainNav, .newsTitle {
  zoom: 1;
}

/* レイアウト
*****************************************************/
.site-shell {
  width: 1024px;
  max-width: 100%;
  margin: 0 auto;
  overflow: hidden;
  background: white;
  box-shadow: 0 0 18px #123c7250;
}
#wrapper, .inner, #mainImg,#subImg ,#nav-drawer{
  margin: 0 auto;
  width: 1024px;
}
#header .inner {
  background: #fff;
}
#header {
  overflow: hidden;
  position: relative;
}
#content {
  padding: 20px 0;
}

#footer {
  margin: 0 auto;
  width: 100%;
}

/* タイポグラフィ共通
*****************************************************/
h1,h2,h3,h4{
font-family: "Zen Antique", serif;
	font-weight: 400;
  font-style: normal;
	font-feature-settings: "palt";	
}
h1 {
  margin: 0 0 10px 40px;
  padding: 0;
  font-size: 44px;
  font-weight: bold;
  color: #022656;
  line-height: 1.2;
  letter-spacing: 1.54px;
}
h2 {
  margin: 0;
  padding-bottom: 10px;
  color: #0034b0;
  font-size: 26px;
  letter-spacing: .02em;
  line-height:1.4;
}
h2.title {
  margin: 0 0 8px;
  padding: 0 0 0 10px;
  font-size: 26px;
}
h2.title span { 
	font-size: 18px;
	  padding: 0 0 0 20px;
}

h3 {
  margin: 0;
  font-size: 17px;
  font-weight: bold;
  color: #022656;
}
p{
  font-size: 14px;
  line-height: 1.45;
  font-weight: 600;
}
/* ヘッダー共通
*****************************************************/
#header {
  width: 1024px;
  padding: 0;
  margin: 0 auto;
  z-index: 999;
/*  min-height: 120px;*/
}
.header-content {
  margin: 0 auto;
}
#headerWrap {
  display: table;
  width: 1024px;
	min-height:112px;
}
#header-left {
  display: table-cell;
  padding-left: 10px;
  padding-bottom: 15px;
  width: 260px;
  text-align: left;
  vertical-align:bottom;
}

#header-center {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  width: auto;
}
#header-right {
  display: table-cell;
  vertical-align: bottom;
  text-align: right;
  padding-right: 10px;
  padding-top: 5px;
  padding-bottom: 15px;
}
#header-right p a img:hover {
  opacity: 0.7;
  transform: translateY(1px);
}
#header-right p {
  padding-left: 5px;
}
.header-right-content {
  width: 450px;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  align-items: center;
  justify-content: flex-end;
  padding-top: 10px;
	margin: 0 0 0 auto ;
}
/* メインメニュー（外側のul） */
.multi-menu {
  width: 100%;
  margin: 0 auto;
  list-style: none; 
  padding: 0;
	background-color: #002763;
}

/* メインメニューの各項目（li） */
.multi-menu > li {
  position: relative;
  display: inline-block;
  padding: 13px 0px;
  font-size: 120%;
  font-weight: bold;
  text-align: center;
  width: 16.3%;
	margin: 0;
}

.multi-menu > li a {
  color: #ffffff;
  display: block;
  text-decoration: none;
}


/* --- 子メニュー（ドロップダウン部分） --- */
.multi-menu .drawer-nav {
  list-style: none;
  padding: 0;
  margin: 0;
  position: absolute;
  top: 100%;
  left: 0;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-bottom:1px solid #002763;
  /* 初期状態は非表示（display: none のみで制御します） */
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
  z-index: 10; /* 他の要素の下に隠れないようにする */
}

/* 子メニューの各項目（li） */
.multi-menu .drawer-nav > li {
  padding: 8px 10px 7px 15px;
  font-size: 85%;
  font-weight: bold;
  text-align: left;
  background-color: #fff;
  width: 250px;
	border-bottom:1px dotted #002763;
}
.multi-menu .drawer-nav > li:last-child {
	border-bottom:none;
}
.multi-menu .drawer-nav > li a {
  color: #002763;
}
.multi-menu .drawer-nav > li a:hover {
  font-weight: bold;  color: #0648d5;
}

/* --- マウスホバー時の動作 --- */
.multi-menu > li.hover-item:hover .drawer-nav {
  display: block; /* 非表示を解除 */
  opacity: 1;
  visibility: visible;
}

#nav-open .nav-text {
display: none;   
}
/*.multi-menu ul.drawer-nav {
  display: none;
}*/

.nav-unshown {
  display: none;
}
ul.drawer-nav2 {
  display: none;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg {
  z-index: 0;
  height: 320px;
  margin-bottom: 15px;
  text-shadow: 2px  2px 3px #fff,
            -2px  2px 3px #fff,
             2px -2px 3px #fff,
            -2px -2px 3px #fff;
		font-feature-settings: "palt";
	background:
    linear-gradient(90deg, rgba(240, 245, 255, .98) 0%, rgba(240, 245, 255, .9) 32%, rgba(240, 245, 255, .2) 61%, rgba(240, 245, 255, .35) 100%),
    url("../assets/images/top_mainimage.jpg") right center / cover no-repeat;
}
#mainImg p {
  margin: 0px 0 10px 40px;
  font-size: 19px;
  line-height: 1.36;
  color: #0033a6;
}
#mainImg p.copy1 {
  padding: 15px 0 0px;
  font-weight: bolder;
}
#mainImg p.copy2 {
  padding: 0px 0 12px 2px;
  font-size: 16px;
	font-weight: bold;
}

/* トップページ　入管業務のご案内
----------------------------------*/
.thumbWrap {
	  width: 95%;
  margin: 0 auto 10px;
}
.thumb {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-around;
	flex-wrap: wrap;
}
.thumb li {
  background-image: url(../assets/images/arrow1.jpg);
  background-position: 95% 88%;
  background-repeat: no-repeat;
  width: 19%;
  padding: 0 0px 0 5px;
  margin-bottom: 20px
}
.thumb li h3 {
  font-weight: bold;
  display: table;
  font-size: 90%;
}
.thumb li h3 span {
  display: table-cell;
  vertical-align: middle;
}
.thumb li h3 span.top-ico1 {
  padding-right: 4px;
}
.thumb li p a{
	  padding-top: 5px;
/*  font-size: 85%;*/
	  display: block;
}
.top-ico1 {
	width:43px;
	height:42px;
}
/* トップページ　新たな許可基準
----------------------------------*/
.middleImg.feature-manager {
    position: relative;
    display: block;
    width: 100%;
    height: 250px;
    overflow: hidden;
	background:
    linear-gradient(90deg, rgba(0, 26, 76, .98) 0%, rgba(0, 32, 85, .9) 32%, rgba(0, 38, 94, .2) 61%, rgba(0, 38, 94, .35) 100%),
    url("../assets/images/main_p4.jpg") right center / cover no-repeat;
    color: #fff;
    font-family: "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
}

.feature-manager-copy {
  position: absolute;
  z-index: 2;
  top: 20px;
  left: 47px;
  width: 430px;
  height: 220px;
  text-shadow: 1px 1px 3px #001a57;
}

.feature-manager-kicker {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .02em;
/*  white-space: nowrap;*/
}

.feature-manager-kicker span {
  display: inline-grid;
  width: 57px;
  height: 25px;
  place-items: center;
  border-radius: 3px;
  background: linear-gradient(#ffe6a7, #d79528);
  color: #fff;
  font-size: 15px;
}

.feature-manager-date {
  position: absolute;
  top: 45px;
  left: 0;
  color: #ffd977;
  font-size: 35px;
  line-height: 1.08;
  font-weight: 800;
  letter-spacing: .01em;
  white-space: nowrap;
}

.feature-manager-copy h2 {
  position: absolute;
  top: 86px;
  left: 0;
  margin: 0;
  padding: 0;
  color: #ffd977;
  font: 800 39px/1.12 "Yu Mincho", "Hiragino Mincho ProN", "MS PMincho", serif;
  text-shadow: 1px 1px 3px #001a57;
/*  white-space: nowrap;*/
}

.feature-manager-copy h2 span { color: #fff; }

.feature-manager-description {
  position: absolute;
  top: 135px;
  left: 0;
  color: #fff;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 800;
 /* white-space: nowrap;*/
}

.feature-manager-button {
  position: absolute;
  top: 170px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
  width: 130px;
  height: 34px;
  border-radius: 22px;
  background: linear-gradient(#ffe7a5, #e6a740);
  color: #003485;
  font: 800 15px/1 "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-shadow: none;
  box-shadow: 1px 2px 5px #001c4c6e;
}

.feature-manager-button span { font: 800 23px/1 sans-serif;   padding: 0 0 5px;}

.feature-manager-person {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 42%;
  width: 21.2%;
  height: 229px;
  object-fit: cover;
}

.feature-manager-points {
  position: absolute;
  z-index: 2;
  top: 21px;
  right: 5.3%;
  width: 35.5%;
  height: 203px;
  padding: 10px 13px 0;
  border: 1px solid #d4e3f4;
  border-radius: 4px;
  background: rgba(255, 255, 255, .98);
  box-shadow: 0 3px 10px #00255470;
  color: #003bba;
  text-shadow: none;
}

.feature-manager-points h3 {
  margin: 0 0 7px;
  color: #003bb4;
  font-size: 18px;
  letter-spacing: -.01em;
}

.feature-manager-points ul {
  width: 232px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.feature-manager-points li {
  position: relative;
  min-height: 29px;
  color: #0039b2;
  font: 800 12px/1.4 "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    padding: 4px 0 4px 25px;
    background-image: url(../assets/images/chec1.jpg);
    background-repeat: no-repeat;
	background-position: left 3px;
}

.feature-manager-badge {
  position: absolute;
  top: 30px;
  right: 0px;
  display: flex;
  width: 120px;
  height: 120px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 2px solid #f6c361;
  border-radius: 50%;
  background: radial-gradient(circle at 30% 20%, #fff5d3, #f6b950 77%);
  box-shadow: inset 0 0 0 2px #fff9e9;
  color: #064ba5;
  font: 900 16px/1.34 "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-align: center;
  transform: rotate(-7deg);
}

.feature-manager-badge strong { font-size: 27px; }

.feature-manager-enforced {
  position: absolute;
  right: 8px;
  bottom: 8px;
  width: 100px;
  color: #0039b2;
  font: 800 11px/1.15 "Yu Gothic", Meiryo, sans-serif;
  text-align: center;
}

@media (max-width: 860px) {
  .middleImg.feature-manager {
    height: auto;
    min-height: 229px;
    padding: 19px 4% 21px;
  }
  .feature-manager-person { display: none; }
  .feature-manager-copy {
    position: relative;
    top: auto;
    left: auto;
    width: 100%;
    height: 201px;
  }
  .feature-manager-points {
    position: relative;
    top: auto;
    right: auto;
    width: 100%;
    max-width: 420px;
    height: 198px;
    margin-top: 10px;
  }
}

@media (max-width: 450px) {
  .feature-manager-kicker { }
  .feature-manager-date { top: 39px; }
  .feature-manager-copy h2 { font-size: 29px; top: 76px; }
  .feature-manager-description { top: 126px; max-width: 100%; white-space: normal; }
  .feature-manager-button { top: 162px; }
  .feature-manager-points { height: auto; min-height: 198px; padding-bottom: 14px; }
  .feature-manager-points h3 { white-space: normal; }
  .feature-manager-points ul { width: 100%; }
  .feature-manager-points li { min-height: 26px; padding-right: 0; }
  .feature-manager-badge, .feature-manager-enforced { display: none; }
}

/* トップページ　５つの理由
----------------------------------*/
.five-reason {
  display: table;
  background-image: url(../assets/images/main_p5.jpg);
  background-repeat: no-repeat;
  background-position: center 50%;
  width: 100%;
  height: 190px;
  margin: 10px 0;
}
.five-left {
  padding-top: 15px;
  padding-left: 20px;
  display: table-cell;
  width: 310px;
  vertical-align: top;
}
.five-right {
  display: table-cell;
  padding-top: 11px;
  padding-right: 20px;
  vertical-align: top; 
	padding-top: 15px;
}
.reasons-heading {
 width:245px;
  flex: 0 0 245px;
  background-color: #fff;
  color: #0036a8;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
	padding:15px 10px 10px 15px;
	background-color: rgba(255, 255, 255, 0.8);
}
.reasons-heading h2 {
  font-size: 21px;
  line-height: 1.2;
  font-weight: 800;

}
.reasons-heading h2 span {
  font-size: 33px
}
.reasons-heading p {
  font: italic 12px Georgia, serif;
}
.five-box {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.five-box li {
  width: 19%;
	background-color: rgba(255, 255, 255, 1.0);
  text-align: center;
  padding: 10px 4px 6px;
/*  font-size: 90%;*/
}
.five-box li img {
display: block;
  margin-left: auto;
  margin-right: auto;
}
.five-box li h3 {
  padding-top: 5px;
  padding-bottom: 5px;
/*  font-size: 90%;*/
}
.five-box li p {
/*  font-size: 95%;*/
  text-align: left;
}
/* トップページ　お困りではありませんか？
----------------------------------*/
.middleImg2 {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  background-image: url(../assets/images/main_p3.jpg);
  background-repeat: no-repeat;
  background-position: center 60%;
  align-items: center;
  width: 100%;
  height: 200px;
}
.world-heading {
  flex: 0 0 310px;
  color: #003bb7;
  font-family: "Yu Mincho", serif;
  text-shadow: 1px 1px 3px #fff;
	  background-color: rgba(255, 255, 255, 0.8);
		padding:10px 10px 10px 20px;
	margin-left: 70px;
}
.world-heading h2 {
  font-size: 25px;
  line-height: 1.3;
  font-weight: 800;
}
.world-heading p {
  font: italic 12px Georgia, serif;
}
.world-questions {
  position: relative;
  z-index: 1;
  flex: 0 0 302px;
  padding: 8px 12px;
  background: #ffffff;
  border-radius: 4px;
  color: #003bb5;
  box-shadow: 0 2px 6px #bed2e1;
	margin-right: 180px;
}
.world-questions h3 {
  font-size: 16px;
  font-weight: 800;
  text-align: center;
}
.world-questions ul {
  list-style: none;
  padding: 0;
  margin: 5px 0 0 20px;
}
.world-questions li {
  position: relative;
  font-weight: 800;
   padding: 2px 0 4px 25px;
    background-image: url(../assets/images/chec1.jpg);
    background-repeat: no-repeat;
	background-position: left 3px;
	  line-height: 1.4;
}
/* トップページ　流れ
----------------------------------*/
.top-flow-wraper {
  display: table;
  width: 100%;
}
.top-flow-left {
  padding-top: 15px;
  padding-left: 20px;
  display: table-cell;
  vertical-align: top;
}
.home-flow-intro {
  position: relative;
   border: 1px solid #cdebfd;
  border-radius: 5px;
  padding: 0px 1px 6px;
  height: 115px;
}

.home-flow-intro h2 {
  color: #0039bd;
  padding: 8px 0 5px 5px;
	font-size: 22px
}
.home-flow-intro p {
	padding: 0px 0 0 5px;
}
.home-detail-button a{
  max-width: 110px;
  padding: 2px 12px;
  border-radius: 20px;
  background: linear-gradient(#0b6bdd, #00285f);
  color: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.top-flow-right {
  display: table-cell;
  padding-top: 15px;
  padding-right: 15px;
  vertical-align: top;
	text-align: center;
}
.top-flow {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 0 auto 10px
}
.top-flow li {
  width: 140px;
  height: 115px;
  background-color: #fff;
  padding: 8px 0;
  border: 1px solid #cdebfd;
  border-radius: 5px;
  margin: 0 4px;
  background-repeat: no-repeat;
  background-position: 8px 6px;
}
.top-flow li h3 {
  padding-bottom: 5px;
/*  font-size: 95%;*/
  font: 800 15px/1.3;
	letter-spacing: -0.05em;
}
.top-flow li p {
  padding-bottom: 5px;
  font-size: 95%;
  font: 600 12px/1.3;
letter-spacing: -0.05em;
}
.top-flow li img {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.top-flow li.no1 {
  background-image: url(../assets/images/n1.jpg);
}
.top-flow li.no2 {
  background-image: url(../assets/images/n2.jpg);
}
.top-flow li.no3 {
  background-image: url(../assets/images/n3.jpg);
}
.top-flow li.no4 {
  background-image: url(../assets/images/n4.jpg);
}
.top-flow li.no5 {
  background-image: url(../assets/images/n5.jpg);
}
/* トップページ　ボトムインフォメーション
----------------------------------*/
.bottom-box {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
  width: 1024px;
  margin: 0 auto 20px;
}
.bottom-box-left {
  width: 33%;
  height: 104px;
}
.bottom-box-center {
  width: 33%;
  height: 104px;
}
.bottom-box-right {
  width: 33%;
  height: 104px;
}
.office-box {
  display: table;
  border: 1px solid #cdebfd;
  width: 100%;
}
.office-box-left {
  display: table-cell;
  vertical-align: top;
}
.office-box-left > img ,.voice-box-left > img{
  width: 120px;
  height: 100%;
  object-fit: cover;
}
.office-box-right {
  display: table-cell;
  vertical-align: top;
  padding: 5px;
}
.voice-box {
  display: table;
  border: 1px solid #cdebfd;
  width: 100%;
}
.voice-box-left {
  display: table-cell;
  vertical-align: top;
}
.voice-box-right {
  display: table-cell;
  vertical-align: top;
  padding: 5px;
}
.free-box {
  display: table;
  border: 1px solid #cdebfd;
  width: 100%;
}
.free-box-left {
  display: table-cell;
}
.free-box-right {
  display: table-cell;
}
/* フッター共通
*****************************************************/
#footer{
	  width: 100%;
    max-width: 1024px;
    min-height: 250px;
    margin: 0 auto;
    background: #002763;
    color: #fff;
}
.footer-inner {
    min-height: 250px;
    display: grid;
grid-template-columns: minmax(0, 1.16fr) minmax(0, .98fr) minmax(0, .92fr);
    align-items: center;
    gap: 26px;
    padding: 26px 40px;
}
.footer-brand, .footer-details {
    min-width: 0;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-right: 1px solid rgba(255,255,255,.55);
    padding-right: 24px;
}
.footer-logo {
    display: inline-block;
    width: min(100%, 243px);
}
.footer-logo img {
    display: block;
    width: 100%;
    height: auto;
}
.footer-tagline {
    margin: 19px 0 0;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.7;
    letter-spacing: .015em;
}
.footer-details {
    gap: 20px;
}
.footer-address, .footer-phone {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}
.footer-icon {
    width: 27px;
    height: 29px;
    flex: 0 0 27px;
    fill: currentColor;
}
.footer-address p {
    font-style: normal;
    font-size: 13px;
    line-height: 1.65;
}
.footer-phone a {
    color: inherit;
    font-family: Arial, sans-serif;
    font-size: clamp(20px, 2.3vw, 25px);
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
}
.footer-hours {
    display: block;
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.3;
    white-space: nowrap;
}
.footer-actions {
    display: grid;
    gap: 10px;
	padding-top:5px;
}
.footer-social {
    min-height: 57px;
    padding: 0px 7px 0px;
    border-radius: 6px;
}
.site-footer a:hover {
    opacity: .88;
}
.site-footer a:focus-visible {
outline: 3px solid #ffd56d;
outline-offset: 3px;
}
address {
  color: #9f9f9f;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 12px;
  text-align: center;
  padding-bottom:5px;
}

/* サイドバー共通
*****************************************************/
.contents{
	margin: 0 auto;
  width: 100%;
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}

#post{
	width:78%;
}
#post p{
	margin-bottom: 30px;
}
#sidebar {
	background-color: #ebf6fe;
  max-width: 240px;
}
.sidebar-innner {
  padding: 0px 5px 30px 5px;
}
#sidebar p{
	margin-top: 10px;
}
.side-bt{
	padding:10px 5px 0px 0;
	text-align: right;
}
/* 技術・人文知識　主な業務分野
----------------------------------*/
.thumbWrap2 {
  width: 100%;
  margin-bottom: 10px
}
.thumb2 {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-between;
}
.thumb2 li {
border: 2px solid #ebf6fe;
  width: 24%;
	max-width: 180px;
  padding: 0;
  margin-bottom: 20px;
}
.thumb2 li h3 {
  font-weight: bold;
  padding: 5px 2px;
  font-size: 95%;
}
.thumb2 li p {
  font-size: 100%;
}
/* ポイント
----------------------------------*/
.sub-point {
  display: table-cell;
  padding-top: 15px;
  padding-right: 15px;
  vertical-align: top
}
.s-point {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto 10px
}
.s-point li {
  width: 24%;
  background-color: #fff;
  text-align: center;
  padding: 8px 0;
  font-size: 100%;
  border: 1px solid #cdebfd;
  border-radius: 5px;
  margin: 0 4px;
  background-repeat: no-repeat;
  background-position: 8px 6px;
}
.s-point li h3 {
  padding-top: 8px;
  padding-bottom: 5px;
  font-size: 110%;
}
.s-point li p {
  font-size: 95%;
	text-align: left;
	  padding: 0 8px 0 10px;
}
.s-point li.no01 {
  background-image: url(../assets/images/n01.png);
}
.s-point li.no02 {
  background-image: url(../assets/images/n02.png);
}
.s-point li.no03 {
  background-image: url(../assets/images/n03.png);
}
.s-point li.no04 {
  background-image: url(../assets/images/n04.png);
}
/* チェックリスト
----------------------------------*/
.check-box {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-around;
  width: 1024px;
  margin: 0 auto 20px;
  font-size: 95%;
}
.check-box-left {
  width: 52%;
  height: 104px;
}

.check-box-right {
  width: 47%;
  height: 104px;
}
.shinsei-box {
  display: table;
  border: 1px solid #cdebfd;
  width: 100%;
}
.shinsei-left {
  display: table-cell;
	width:114px;
	  vertical-align: middle;
}
.shinsei-right {
  display: table-cell;
  vertical-align: top;
  padding: 5px;
}
.koyou-box {
  display: table;
  border: 1px solid #cdebfd;
  width: 100%;
}
.koyou-box-left {
  display: table-cell;
  padding: 5px;
		width:114px;
	  vertical-align: middle;
}
.koyou-box-right {
  display: table-cell;
  vertical-align: top;
}
.checklist{
	margin-left: 10px;
}
.checklist li{
    background-image: url(../assets/images/checkbox.png);
    background-position: left center;
    background-repeat: no-repeat;
	padding-left:20px;
}
/* 流れ
----------------------------------*/
.sub-flow {
  display: table-cell;
  padding-top: 15px;
  padding-right: 15px;
  vertical-align: top
}
.s-flow {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  justify-content: space-around;
  width: 100%;
  margin: 0 auto 10px;
	align-items:center;
}
.s-flow li {
  width: 24%;
  background-color: #fff;
  text-align: center;
  padding: 8px 0;
  font-size: 100%;
  border: 1px solid #cdebfd;
  border-radius: 5px;
  margin: 0 4px;
  background-repeat: no-repeat;
  background-position: 8px 6px;	
}
.s-flow li.arow {
  width: 3%;
  background-color: #fff;
  text-align: center;
  padding: 8px 0;
  font-size: 100%;
  border: none;
  border-radius: 5px;
  margin: 0;
  background-repeat: no-repeat;
  background-position: 8px 6px;
}
.s-flow li h3 {
  padding-top: 8px;
  padding-bottom: 5px;
  font-size: 110%;
}
.s-flow li p {
  font-size: 95%;
	text-align: left;
	  padding: 0 8px 0 10px;
}
.s-flow li.no01 {
  background-image: url(../assets/images/step01.png);
}
.s-flow li.no02 {
  background-image: url(../assets/images/step02.png);
}
.s-flow li.no03 {
  background-image: url(../assets/images/step03.png);
}
.s-flow li.no04 {
  background-image: url(../assets/images/step04.png);
}
.s-flow li.no05 {
  background-image: url(../assets/images/step05.png);
}



/* 下層ページ　レイアウト共通
*****************************************************/
.intro {
  width: 705px;
margin-bottom: 20px;
}
.section-heading {
  margin: 0 0 10px;
  padding: 4px 0 4px 12px;
  border-left: 6px solid var(--blue);
  background: linear-gradient(90deg, white 35%, #e8f6ff);
  font-size: 23px;
 	line-height: 1.1;
}
.section-heading small {
  margin-left: 24px;
  color: #003db9;
  font-size: 18px;
}


/* 下層ページ　ヒーロー共通
*****************************************************/
.hero {
 position: relative;
  height: 240px;
  background: url("../assets/main/sub_mainp1.png") 100% 100% / cover no-repeat;
	z-index: 0;
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #eef9ff 0%, #eef9fff7 35%, #eef9ffb8 48%, #eef9ff16 62%, transparent 70%);
}

.hero-copy {
  position: absolute;
   left: 49px;
  top: 40px;
	z-index: 10;
  width: 610px;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-weight: 800;
}
.hero h1 {
  margin: 0 0 5px;
  color: #0033a6;
  font-size: 51px;
  line-height: 1.48;
  letter-spacing: -.02em;
}
.hero h1 span{
  font-size: 38px;
	letter-spacing: normal;
}
.hero-copy p {
  margin: 0;
  font-size: 24px;
  line-height: 1.42;
  color: #0033a6;
}
.hero-copy p.copy1 {
  margin: 0;
  font-size: 18px;
  line-height: 1.8;
  color: #014de3;
}
.hero-copy p.copy2 {
  margin: 0;
  font-size: 15px;
}
.hero-message {
  position: absolute;
  z-index: 1;
  left: 32px;
  bottom: 10px;
  min-width: 496px;
  padding: 8px 16px 6px;
  border-radius: 2px;
  background: #294585;
  color: white;
  font: 800 15px/1.6 "Yu Mincho", "Hiragino Mincho ProN", serif;
	letter-spacing: .82px;
}

.breadcrumbs {
/*  height: 50px;*/
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 10px 32px 15px;
  font-size: 16px;
  font-weight: 700;
}
.breadcrumbs span:not(:last-child) {
  color: #0777e6;
  font-size: 15px;
}
/* 下層ページ　フッター共通
*****************************************************/
.achievement-footer {
  height: 125px
}
.footer-dark {
  display: flex;
  align-items: center;
  gap: 11px;
  height: 75px;
  padding: 0 20px;
  background: #002766;
  color: white;
}
.footer-dark a{
  color: white;
}
.footer-dark .footer-brand {
  width: 243px;
}
.footer-dark .footer-brand img {
  width: 45px;
  height: 44px
}
.footer-dark p {
  margin: 0;
  font-size: 12px;
  color: white;
  white-space: nowrap
}
.footer-dark .footer-phone {
  min-width: 210px;
  font-size: 20px;
  padding: 8px 10px;
	text-align: center;  border-radius: 25px;
  background: linear-gradient(#1783f1, #0044c5);
  font: 700 20px/1 Arial, sans-serif;
}
.footer-phone small {
  display: block;
  margin: 5px 0 0 8px;
  font-size: 11px;
}
.footer-dark > a:not(.footer-brand):not(.footer-phone) {
  display: grid;
  place-items: center;
  width: 243px;
  height: 60px;
  border-radius: 5px;
  background: #009547;
  font-size: 11px;
  font-weight: 800;
  white-space: nowrap
}

.bottom-cta {
  position: relative;
  height: 93px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 180px 0 105px;
  background: url("../assets/bottom-cta.jpg") center 65% / cover no-repeat;
}
.bottom-cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, #eaf7ffe8 0%, #eaf7ffb0 52%, #eaf7ff00 90%);
}
.bottom-cta h2, .bottom-cta a {
  position: relative;
  z-index: 1;
}
.bottom-cta h2 {
  flex: 0 0 452px;
  margin: 0;
  color: #0039b7;
  font: bolder 20px/1.3 "Yu Mincho", "Hiragino Mincho ProN", serif;
  text-shadow: 0 1px 1px white;
}
.bottom-cta h2 .small {
  font: bolder 15px/1.3 "Yu Mincho", "Hiragino Mincho ProN", serif;
}
.bottom-cta a {
  flex: 0 0 315px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: 55px;
  border-radius: 40px;
  background: linear-gradient(#127eea, #0039bc);
  box-shadow: 0 4px 10px #0d40946b;
  color: white;
  font: 800 20px "Yu Mincho", serif;
  white-space: nowrap;
}
.bottom-cta a span {
  font-size: 30px;
  font-weight: 400;
}
/* 下層ページ　サイドバー共通
*****************************************************/
.contact-panel {
  position: absolute;
  z-index: 2;
  top: -16px;
  right: 24px;
  width: 251px;
  min-height: 433px;
  padding: 9px 11px;
  border-radius: 6px;
  background: #eaf7ff;
}
.phone-contact {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  margin-bottom: 10px;
}
.phone-symbol {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  margin-top: 19px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #0864e8;
  color: white;
  font-size: 25px;
}
.phone-symbol {
  width: 43px;
  height: 43px;
  margin-top: 25px;
  background: url("../assets/transfer-icon-phone.png") center / contain no-repeat;
  color: transparent;
}
.phone-contact h2 {
  margin: 5px 0 2px;
  font-size: 14px;padding: 0;
}
.phone-contact a {
  white-space: nowrap;
  font-size: 25px;
  font-weight: 900;
  letter-spacing: .02em;
}
.phone-contact p {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
	line-height: 1.0;
}
.messenger-contact {
  margin-top: 7px;
}
.messenger-contact h3 {
  display: flex;
  align-items: center;
  height: 25px;
  gap: 9px;
  margin: 0 0 4px;
  color: #078738;
  font-size: 15px;
}

.messenger-row {
  display: flex;
  align-items: center;
  gap: 8px;
}
.messenger-row img {
  width: 68px;
  height: 68px;
  object-fit: contain;
}
.messenger-button {
  display: grid;
  place-items: center;
  flex: 1;
  height: 62px;
  border-radius: 5px;
  background: linear-gradient(#0bae54, #008c3b);
  color: white;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
	padding: 10px 0
}
.messenger-button span {
  display: block;
  font-size: 12px;
  font-weight: 500;
}
.location-contact {
  display: flex;
  gap: 11px;
  margin-top: 9px;
}
.pin-symbol {
  width: 24px;
  height: 31px;
  flex: 0 0 auto;
  color: #0637d3;
  font-size: 36px;
  line-height: 20px;
}
.pin-symbol {
  width: 28px;
  height: 37px;
  background: url("../assets/transfer-icon-pin.png") center / contain no-repeat;
  color: transparent;
}
.location-contact h3 {
  margin: 5px 0 3px;
  font-size: 15px;
}
.location-contact p {
  margin: 0;
/*  font-size: 12px;
  line-height: 1.5;*/
  font-weight: 700;
}
.location-contact a {
  display: block;
  width: 110px;
  margin: 6px 0 5px auto;
  padding: 5px 8px;
  border: 1px solid #094ade;
  border-radius: 5px;
  background: white;
  text-align: center;
/*  font-size: 11px;*/
  font-weight: 800;
	letter-spacing: -0.8px
}
/* 下層ページ　申請の流れ共通
*****************************************************/
.flow {
   margin: 0px 0 20px;
}
.flow-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 16px;
  margin: 5px 0 0;
  padding: 0;
  list-style: none
}
.flow-grid li {
  position: relative;
/*  height: 102px;*/
  padding: 3px 6px 6px;
  border: 1px solid var(--border);
  border-radius: 5px;
}
.flow-grid li:not(:last-child):after {
  content: "";
  position: absolute;
  right: -13px;
  top: 40px;
  border-top: 9px solid transparent;
  border-bottom: 9px solid transparent;
  border-left: 10px solid #0751d8
}
.flow-grid span {
  position: absolute;
  left: 5px;
  top: 2px;
  display: grid;
  place-items: center;
  align-content: center;
  width: 39px;
  height: 39px;
  border-radius: 50%;
  background: #0759dd;
  color: white;
  font: 10px Arial
}
.flow-grid span strong {
  display: block;
  font-size: 18px;
	color: white;
}
.flow-grid img {
  width: calc(100% - 46px);
  height: 53px;
  margin-left: 46px;
  object-fit: cover;
	margin-bottom: 8px;
}
.flow-grid h3 {
  margin: 3px 0 4px;
  color: #003bb9;
  font: 800 16px/1.3 "Yu Mincho", serif
}


/* 下層ページ　FAQ共通
*****************************************************/
.faq {
/*  height: 97px*/
	margin: 0px 0 20px;
}

.faq-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6px;
  margin-top: 5px
}
.faq-grid article {
  position: relative;
/*  height: 63px;*/
  padding: 6px 5px 3px 39px;
  border: 1px solid var(--border);
  border-radius: 5px
}
.faq-grid-top{
	  display: flex;
  align-items: center;
  height: 34px;	
}
.faq-grid b {
  position: absolute;
  top: 4px;
  left: 5px;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #0758dc;
  color: white;
  font: 700 16px Arial;
}
.faq-grid h3 {
  margin: 0 0 3px;
  color: #003bb8;
  font-size: 16px;
	line-height: 1.3;
}

.faq-grid p strong {
  position: absolute;
  left: 12px;
  top: 43px;
  font-size: 18px;
}
