@charset "UTF-8";

* {
	margin: 0px;
    font-family: "Noto Sans JP", sans-serif;
    color: rgba(0,38,68,1);
	padding: 0px;
}
html,
body {
    -webkit-text-size-adjust: 100%;
	overflow-x: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
ul {
	margin: 0px;
	list-style: none;
}

/* ローディングアニメーション */
.box{
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  z-index: 9999;
  -webkit-transition: all 1.2s ease; /* 1.2秒でフェードアウト */
          transition: all 1.2s ease;
  color: #fff; /* ローディングアニメーションカラー */
  background-color: rgba(28,93,147,1); /* 背景カラー */
}
/* ローディング表示を消すための定義 */
.box.loaded{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.spinner {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 10vw;
  height: 10vw;
}
 
/* Loading テキスト */
.spinner span {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  font-size: 1.5vw;
  color: rgba(255,255,255,0.5);
}

/* 1番目のアニメーションの場合 */
.spinner.type1 {
  border-radius: 50%;
  border-width: 1.5vw;
  border-style: solid;
  border-color: #fff rgba(255, 255, 255, 0.12) rgba(255, 255, 255, 0.12);
  /* ローディング要素のアニメーションを指定 */
  -webkit-animation: spinner1_1 1.5s infinite linear forwards;
          animation: spinner1_1 1.5s infinite linear forwards;
}
.spinner.type1 span {
  /* Loading テキストのアニメーションを指定 */
  animation: spinner_loading_text 1.5s infinite linear forwards reverse;
}
 
/* ローディング要素のアニメーション内容 */
@-webkit-keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
@keyframes spinner1_1 {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0);
            transform: translate(-50%, -50%) rotate(0);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
 
/* Loading テキストのアニメーション内容 */
@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  50% {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) rotate(180deg);
            transform: translate(-50%, -50%) rotate(180deg);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

/* スクロールアニメーション */
.invisible {
    transition: opacity 0.5s ease;
    opacity: 0.0;
}
 
.visible {
    transition: opacity 0.5s ease;
    opacity: 1.0;
}

header {
	margin: 0vw auto;
	width: 100%;
	height: 40px;
	background: rgba(255,255,255,0.9);
	position: absolute;
	filter: drop-shadow(0px 0px 8px rgba(51,51,51,0.7));
	z-index: 9998;
}
#usmind {
	float: left;
}
.usmindimg {
	width: 130px;
	height: auto;
	position: absolute;
	top: 10px;
	left: 20px;
}
#usmind p {
	display: none;
	font: 18px "NotoSansCJKjp-Regular", sans-serif;
	color: rgba(28,93,147,1);
	margin: 7px 0px 0px 10px;
}
#nav_toggle{
	display: none;
}
.headernav {
	width: 600px;
	height: 40px;
	float: right;
}
.headernav ul {
	display: flex;
}
.headernav ul li a {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
	float: left;
	padding: 9px 10px;
	text-decoration: none;
	color: rgba(28,93,147,1);
	text-align: center;
	width: 100px;
	transition: 0.9s;
}
.headernav ul li a span {
    display: none;
    font-size: 14vw;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(28,93,147,0.5);
    margin-left: 3vw;
}
.headernav ul li a:hover {
	background: rgba(28,93,147,0.1);
}
.headernav ul li .businessbutton {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.5;
	float: left;
	padding: 9px 20px 9px 0px;
	text-decoration: none;
	color: rgba(28,93,147,1);
	text-align: center;
	width: 100px;
	transition: 0.8s;
}
.headernav li ul {
	background: rgba(255,255,255,0.9);
	display: inline-block;
	filter: drop-shadow(0px 8px 8px rgba(51,51,51,0.2));
	position: absolute;
	top: 40px;
	right: 362px;
}
.headernav ul li ul li {
    clear: both;
}
.headernav li ul a {
    font-size: 11px;
    font-weight: 400;
    line-height: 2;
}
.businessbutton:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: rgba(28,93,147,1) 1px solid;
	border-right: rgba(28,93,147,1) 1px solid;
	-webkit-transform: rotate(135deg);
	-ms-transform: rotate(135deg);
	transform: rotate(135deg);
	position: absolute;
	top: 14px;
	right: 380px;
	transition: 0.5s;
}
.businessbutton.ac:after {
	content: "";
	display: block;
	width: 6px;
	height: 6px;
	border-top: rgba(28,93,147,1) 1px solid;
	border-right: rgba(28,93,147,1) 1px solid;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 18px;
	right: 380px;
}

/*ページトップボタン*/
#page-top {
	position: fixed;
	bottom: 2vw;
	right: 2vw;
	font-size: 77%;
	z-index: 9999;
}
.page-topimg {
	width: 5.5vw;
	height: auto;
}
#page-top a {
    background: rgba(0,38,68,0.5);
	text-decoration: none;
	color: rgba(255,255,255,1);
	font-weight: 900;
	width: 5.5vw;
	height: 3.6vw;
	text-align: center;
	display: block;
	border-radius: 0.6vw;
	line-height: 1;
	font-size: 1.5vw;
	padding: 0vw 0vw 2vw;
	transition: 0.5s;
}
#page-top a:hover {
	text-decoration: none;
    background: rgba(28,93,147,0.5);
}

#footer {
	text-decoration: none;
	width: 100%;
	height: 37vw;
	position: relative;
	background: rgba(28,93,147,1);
}
#footer ul li {
    font-size: 1.6vw;
    font-weight: 400;
    line-height: 1.5;
	color: rgba(255,255,255,1);
	margin: 0vw 0vw 1vw 0vw;
}
#footer ul li a {
    font-size: 1.6vw;
    font-weight: 400;
    line-height: 1.5;
    font-style: normal;
	color: rgba(255,255,255,1);
	text-decoration: none;
}
#footer ul li:last-child {
	margin: 0vw;
}
.companyinfo {
	width: 45%;
	height: auto;
	float: left;
	position: relative;
	top: 4vw;
	left: 6vw;
}
.companyinfo h6 {
    font-size: 2.5vw;
    font-weight: 700;
    line-height: 1;
	color: rgba(255,255,255,1);
	vertical-align: 53%;
	display: inline-block;
	margin-bottom: 0.5vw;
	position: relative;
	top: 0vw;
}
.usmindwhite {
    width: 3vw;
	height: auto;
	margin: 0vw 1vw 1vw 0vw;
	position: relateive;
	top: 0vw;
	left: 0vw;
}
#footer ul li address a {
    font-size: 1.75vw;
    font-weight: 400;
    line-height: 1.5;
	color: rgba(255,255,255,1);
	text-decoration: none;
}
.telimg {
	width: 2.9vw;
	height: auto;
	margin: 0vw 0.5vw 0vw 0vw;
	position: relative;
	top: 0.2vw;
	left: 0vw;
}
.faximg {
	width: 2vw;
	height: auto;
	margin: 0vw 0.5vw 0vw 3vw;
	position: relative;
	top: 0.2vw;
}
.mailimg {
	width: 2.1vw;
	height: auto;
	margin: 0vw 0.6vw 0vw 0vw;
	position: relative;
	top: 0.1vw;
	left: 0.5vw;
}
.buildingimg {
	width: 1.9vw;
	height: auto;
	margin: 0vw 1.6vw 0.1vw 0vw;
	position: relative;
	top: 0.3vw;
	left: 0.5vw;
}
.sitemap {
	width: 44%;
	height: auto;
	margin: 4vw 0vw 0vw;
	float: left;
	position: relative;
    left: 9vw;
}
.sitemap01 {
    width: 6vw;
	clear: both;
	float: left;
	margin-right: 4vw;
	position: relative;
	top: 1.5vw;
}
.sitemap02 {
    width: 14vw;
	float: left;
	margin-right: 5vw;
	position: relative;
	top: 1.5vw;
}
.sitemap03 {
    width: 14vw;
    height: auto;
	float: left;
	position: relative;
	top: 1.5vw;
}
.sitemap04 {
    width: 14vw;
    height: auto;
    display:block;
    float: left;
    position: relative;
    top: 2.5vw;
}
.sitemap h7 {
    font-size: 2vw;
    font-weight: 700;
    line-height: 1.5;
	color: rgba(255,255,255,1);
	vertical-align: 0%;
	float: left;
	margin: 0vw 0vw 0.5vw 0vw;
}
.sitemapspan {
	display: block;
	font: 1vw/1.5 "NotoSansCJKjp-Regular", sans-serif;
	color: rgba(255,255,255,0.5);
	position: relative;
	top: 0vw;
}
.copywright {
    font-size: 1.8vw;
    font-weight: 400;
    line-height: 1.5;
	color: rgba(255,255,255,1);
	clear: both;
	margin: 0vw 0vw 0vw 6vw;
	position: relative;
	top: 2vw;
}

/*レスポンシブ*/

@media screen and (max-width:896px){

header {
	margin: 0px auto;
	width: 100%;
	height: 12vw;
	position: fixed;
	top: 0vw;
	z-index: 9998;
}
.usmindimg {
	width: 33vw;
	height: auto;
	top: 3.8vw;
	left: 3vw;
}
#usmind p {
	display: none;
    font-size: 4vw;
    font-weight: 400;
    line-height: 1;
	margin: 1vw 0vw 0vw 3vw;
}
.headernav {
	display: none;
	position: fixed;
	top: 12vw;
	right: 0vw;
	width: 100%;
	height: auto;
	background: rgba(255,255,255,0.9);
	border-top: thin solid rgba(28,93,147,0.2);
	margin: 0vw;
}
.headernav ul {
	display: block;
	margin: 0vw auto;
	padding: 0vw;
	z-index: 9999;
}
.headernav ul li {
	margin: 0vw auto;
	border-bottom: 1px solid rgba(28,93,147,0.2);
	width: 100%;
}
.headernav ul li:last-child {
    border: none;
}
.headernav ul li a {
    font-size: 4vw;
    font-weight: 700;
    line-height: 1;
    text-align: left;
	width: 100%;
	display: block;
	padding: 4.5vw 0vw 4.5vw 7vw;
	float: none;
}
.headernav ul li a span {
    display: inline;
    font-size: 3vw;
    font-weight: 400;
    line-height: 1;
    color: rgba(28,93,147,0.5);
    margin-left: 3vw;
}
.headernav ul li .businessbutton {
    font-size: 4vw;
    font-weight: 700;
    line-height: 1;
    text-align: left;
	width: 100%;
	display: block;
	padding: 4vw 0vw 4vw 7vw;
	float: none;
}
.headernav li ul {
	background: none;
	display: block;
	filter: none;
	position: relative;
	top: 0vw;
	right: 0vw;
}
.headernav li ul li:first-child {
	border-top: 1px solid rgba(28,93,147,0.2);
}
.headernav ul li ul li a {
    text-align: left;
	width: 100%;
	display: block;
    box-sizing: border-box;
	padding: 4vw 0vw 4vw 29vw;
	float: none;
}
.headernav ul li ul li a span {
    font-size: 3vw;
    font-weight: 400;
    line-height: 1.5;
    color: rgba(28,93,147,0.5);
    margin-left: 3vw;
}
.businessbutton:after {
	width: 3vw;
	height: 3vw;
	border-top: rgba(28,93,147,1) 3px solid;
	border-right: rgba(28,93,147,1) 3px solid;
	top: 16.5vw;
	right: 5.5vw;
	transition: 0.5s;
}
.businessbutton.ac:after {
	width: 3vw;
	height: 3vw;
	border-top: rgba(28,93,147,1) 3px solid;
	border-right: rgba(28,93,147,1) 3px solid;
	top: 18.3vw;
	right: 5.5vw;
}
/*ページトップボタン*/
#page-top {
    bottom: 5vw;
    right: 5vw;
    font-size: 77%;
}
.page-topimg {
    width: 12vw;
}
#page-top a {
    font-weight: 900;
    width: 12vw;
    height: 10vw;
    text-align: center;
    display: block;
    border-radius: 1vw;
    line-height: 1;
    font-size: 1.5vw;
    padding: 0vw 0vw 2vw;
    transition: 0.5s;
}
#footer {
	height: 153vw;
}
#footer ul li {
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.5;
	margin: 0vw 0vw 1vw 0vw;
}
#footer ul li a {
    font-size: 4vw;
    font-weight: 400;
    line-height: 1.5;
}
#footer ul li:last-child {
	margin: 0vw;
}
.companyinfo {
	width: 88%;
	float: none;
	top: 8vw;
	left: 6vw;
}
.companyinfo h6 {
    font-size: 5vw;
    font-weight: 700;
    line-height: 1;
	vertical-align: 50%;
	display: inline-block;
	margin-bottom: 4vw;
	top: 1vw;
}
.usmindwhite {
    width: 6vw;
	height: auto;
	margin: 0vw 1vw 1vw 0vw;
	position: relateive;
	top: 0vw;
	left: 0vw;
}
#footer ul li address a {
    font-size: 3.5vw;
    font-weight: 400;
    line-height: 1.5;
}
.telimg {
	width: 4.7vw;
	height: auto;
	margin: 0vw 1vw 0vw 0vw;
	position: relative;
	top: 0.2vw;
	left: 0vw;
}
_::-webkit-full-page-media,_:future, :root .telimg {
    width: 4.7vw;
    height: auto;
    margin: 0vw 1.4vw 0vw 0vw;
    position: relative;
    top: 0.2vw;
    left: 0vw;
}
.faximg {
	width: 3.2vw;
	height: auto;
	margin: 0vw 1.2vw 0vw 6vw;
	position: relative;
	top: 0.2vw;
}
.mailimg {
	width: 3.5vw;
	height: auto;
	margin: 0vw 0vw 0vw 0vw;
	position: relative;
	top: 0.1vw;
	left: 0.7vw;
}
_::-webkit-full-page-media,_:future, :root .mailimg {
    width: 3.5vw;
    height: auto;
    margin: 0vw 0.9vw 0vw 0vw;
    position: relative;
    top: 0.1vw;
    left: 0.7vw;
}
.buildingimg {
	width: 3.1vw;
	height: auto;
	margin: 1vw 2.8vw 0.3vw 0vw;
	position: relative;
	top: 0.6vw;
	left: 0.8vw;
}
_::-webkit-full-page-media,_:future, :root .buildingimg {
    width: 3.1vw;
    height: auto;
    margin: 1vw 3vw 0.3vw 0vw;
    position: relative;
    top: 0.6vw;
    left: 0.8vw;
}
.sitemap {
	width: 88%;
	height: auto;
	margin: 0vw 0vw 0vw 6vw;
	float: left;
	position: relative;
	top: 17vw;
    left: 0vw;
}
.sitemap01 {
    width: 35vw;
	clear: both;
	float: left;
	margin-right: 0vw;
	top: 0vw;
}
.sitemap02 {
    width: 35vw;
	float: left;
    clear: both;
	margin: 0vw;
	top: 0vw;
	left: 0vw;
}
.sitemap03 {
    width: 35vw;
    display: inline-block;
	float: none;
	top: 13.2vw;
    left: 10vw;
}
_:-ms-fullscreen, :root .sitemap03 {
    width: 35vw;
    display: inline-block;
    float: none;
    top: 13.2vw;
    left: 22vw;
}
.sitemap04 {
    width: 35vw;
    float: left;
    position: relative;
    top: 11.8vw;
    left: 10vw;
}
.sitemap h7 {
    font-size: 5.5vw;
    font-weight: 700;
    line-height: 1.5;
	float: left;
	margin: 0vw 0vw 5vw 0vw;
}
.sitemapspan {
	display: block;
    font-size: 2vw;
    font-weight: 400;
    line-height: 1;
	top: 0vw;
	margin-bottom: 4vw;
}
.copywright {
    font-size: 3.3vw;
    font-weight: 400;
    line-height: 1.5;
	clear: both;
	top: 18vw;
}

/*開閉ボタン*/

#nav_toggle{
	display: block;
	width: 8.5vw;
	height: 7vw;
    padding: 1vw 1.5vw;
	position: fixed;
	top: 1.4vw;
	right: 1.5vw;
	z-index: 100;
}
#nav_toggle div {
	position: relative;
}
#nav_toggle span{
	display: block;
	height: 3px;
	background: rgba(28,93,147,1);
	position:absolute;
	width: 100%;
	left: 0;
	-webkit-transition: 0.5s ease-in-out;
	-moz-transition: 0.5s ease-in-out;
	transition: 0.5s ease-in-out;
}
#nav_toggle span:nth-child(1){
	top:1vw;
}
	#nav_toggle span:nth-child(2){
	top:3.5vw;
}
	#nav_toggle span:nth-child(3){
	top: 5.8vw;
}

/*開閉ボタンopen時*/
.open #nav_toggle span:nth-child(1) {
	top: 3.5vw;
	-webkit-transform: rotate(135deg);
	-moz-transform: rotate(135deg);
	transform: rotate(135deg);
}
.open #nav_toggle span:nth-child(2) {
	width: 0;
	left: 50%;
}
.open #nav_toggle span:nth-child(3) {
	top: 3.5vw;
	-webkit-transform: rotate(-135deg);
	-moz-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
}
