﻿@charset "utf-8";
@media screen and (min-width: 801px) {
@keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
body{	
	font-size:16px!important;
	font-family: zen-antique, sans-serif!important;
	font-weight: 400;
	font-style: normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
    animation: fadeIn 2s ease 0s 1 normal;	
	margin:0;
	padding:0;
/* 画像ファイルの指定 */
  /*background-image: url("../img/slide_001.png");*/
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #FFFFFF;
}
body a{
	text-decoration:none;
	}
a {
	transition: .3s;
	}
a:hover {
	opacity: 0.8;
	transform: translateY(-4px);
	}
html{
  scroll-behavior: smooth;
	font-family: zen-antique-soft, sans-serif;
	font-weight:300;
}
	

#wrapper img {
  pointer-events: none!important; 
}	
h1{ 
	text-align:left;
	font-size:70%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.2rem;
	padding:0;
	text-decoration: none;
	}
h2 {
	padding: 3rem 2rem 3rem 3rem;
	color: #fff;
	transform: skew(-15deg);
	font-size:2.0rem;
	font-weight:520;
	background-image: linear-gradient(to right, rgba(21,37,88,0.95), rgba(21,37,150,0.95) 100%);
	box-sizing:border-box;
	width:50%;margin:-80px 25% 0px 25%;
	letter-spacing:0.2rem!important;
}
	
	.goldtitle{background:rgba(123,107,38,1.00)!important;}	
	.yellowtitle{background:#262626;color:#FFFFFF!important;}	
h3 {
	padding: 1rem 1rem 1rem 1rem;
	color: #646464;
	font-size:1.25rem;
	font-weight:480;
	box-sizing:border-box;
	width:90%;margin:0px 5% 70px 5%;
	letter-spacing:0.02rem!important;
	line-height:2.2rem;
		text-align:right;
	word-wrap: break-word;
	white-space: pre-wrap;

}

h5 {
	padding: 1.5rem 0rem 1.5rem 0rem;
	color: #151515;
	font-size:2.5rem;
	font-weight:500;
	display: inline-block;
	box-sizing:border-box;
	width:auto;min-width:90%;margin:50px 5% 85px 5%;
	letter-spacing:0.05rem!important;
	line-height:2.5rem;
		text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	border-bottom:solid 3px rgba(10,70,119,1.00);

}
/*h5:before {
	content: '◆';
	position: absolute;
	top:165px;
	left: 21%;
	width:1rem;
	height: 1rem;
	margin: 0;
}	*/
	
	.withBgtext{background:rgba(31,48,124,1.00); color:#FFFFFF;padding:2px 10px;}	
	

.breadcrumb {
	position: absolute;
	bottom:0; left:0;
	margin: 0;
	padding: 0;
	list-style: none;
}
.breadcrumb li {
  position: relative;
  display: inline-block;/*横に並ぶように*/
  list-style: none;
  font-weight: bold;/*太字*/
  margin-right: 0.8em;
}
.breadcrumb li:after {/*三角の部分*/
  content: "";
  position: absolute;
  top: 0;
  left: 100%;
  border-style: solid;
  border-color: transparent;
  border-left-color: #19499c;/*背景色*/
  border-width: 14px 12px;
  width: 0;
  height: 0;
}
.breadcrumb li a {
  display: inline-block;
  padding: 0 3px 0 7px;
  height: 28px;
  line-height: 28px;
  text-decoration: none;
  color: #FFFFFF;
  background: #19499c;/*背景色*/
  font-size: 13px;
}
.breadcrumb > li a:hover {
transform:none!important;
opacity:1!important;	
  color: #FFF;
}
#page-top {
    position: fixed;
    bottom: 20px;
    right: 40px;
    font-size:150%;Z-index:9999;opacity:0.9;
}
#page-top a {
    background: #19499c;
    text-decoration: none;
    color: #FFFFFF;
    width: 80px;
    padding: 33% 0;
    text-align: center;
    display: block;
    border-radius:50%;box-shadow: inset 0 1px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}
#page-top a:hover {
    text-decoration: none;color:#F2F2F2!important;
    background:#666666;
}
#Tel {
    position: fixed;
    bottom: 130px;width:350px;height:100px;
    right: 30px;box-sizing: border-box;
Z-index:9999;opacity:0.9;
}
#Tel{
    background:url("../img/call.png")center center no-repeat;
    width:350px;height:100px;
    border-radius:10px;
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
}
#Tel a:hover {
    text-decoration: none;color:#F3E29C!important;
    background:#FFFFFF;
}	
nav{
	display:none !important;
	}
nav{
 display: flex;
 flex-direction: row;
}
.navbar_toggle{
 display: none;
}
.menu{
 width: 100%;
 -webkit-transform: translateX(0);
 transform: translateX(0);
}
.menu ul{
 height: 70px;
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-end;
 align-items: center;
}
.menu ul li{
 padding: 0 1em;
 border-bottom: none;
}
.header_bar{
	color:#666666;
	box-sizing:border-box;
	position:fixed; 
	top:0; 
	left:0;
	height:80px; 
	width:100%; 
	min-width:1080px;
	background:rgba(21,37,88,0.95); 
	opacity:1; 
	z-index:9999;
	padding:10px;
	box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);	
	}
.header_bar a{
	color:#666666;
	}
.logo img{
	box-sizing:border-box; 
	width:auto; 
	height:80px;
	margin:-10px 48% 0px 48%;
	}
.siteTheme{
	font-weight:bold;
	}
.logo p{
	margin-left:20px;
	}
	
/*--grand navigation--*/	
.cp_navi {
	position:absolute; 
	top:0px; 
	right:40px;
	background-color:transparent;
	border-radius:0;
	/*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);*/
	color: #FFFFFF;
	display: block;
	margin: 1em 0;
	width:auto;font-size:90%;
	z-index:9999999;
}
.cp_navi > ul {
	margin: 0;
	padding: 0;display: flex;
  flex-direction:left;
}
.cp_navi ul li {margin-left:40px;
	display: inline-block;
	list-style-type: none;
	-webkit-transition: all 0.7s;
	        transition: all 0.7s;border-radius:50%;
}
.cp_navi > ul > li > a > .caret {
	border-top: 4px solid #aaaaaa;
	border-right: 4px solid transparent;
	border-left: 4px solid transparent;
	content: '';
	display: inline-block;
	height: 0;
	width: 0;
	vertical-align: middle;
	-webkit-transition: color 0.1s linear;
	        transition: color 0.1s linear;
}
.cp_navi > ul > li > a {
		color: #FFFFFF;
	display: block;
	/*border-bottom:solid 3px #666666; margin:0 10px;*/
	line-height: 60px;letter-spacing:0rem;
	padding:0;text-align:center;
	text-decoration: none;width:60px; height:60px;
	background:transparent;border-radius:50%;
}
.cp_navi > ul > li:hover {
	background-color:#19499c;border-radius:50%;width:60px; height:60px;
}
.cp_navi > ul > li:hover > a {border-radius:50%;
	color: rgb( 255, 255, 255 );
}
.cp_navi > ul > li:hover > a > .caret {
	border-top-color: rgb( 255, 255, 255 );
}
.cp_navi > ul > li > div {
	background-color:none;/*rgba(244,247,251,0.90);*/
	border-top: 0;
	/*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);*/
	display: none;
	margin: 0;
	padding:10px 0;
	opacity: 0;
	position: absolute;
	width:auto;
	text-align:center;
	visibility: hidden;
	-webkit-transiton: opacity 0.7s;
	       transition: opacity 0.7s;
}
.cp_navi > ul > li:hover > div {
	padding-top:20px;
	display: block;flex-direction: row;
	opacity: 1;
	visibility: visible;
	background:rgba(0,56,208,0.90);
}
.cp_navi > ul > li > div ul > li {
	display: block;
}
.cp_navi > ul > li > div ul > li > a {
	color: #FFFFFF;
	display: block;
	padding: 6px 4px;
	text-decoration: none;
}
.cp_navi > ul > li > div ul > li:hover > a {
	background-color:rgba(41,162,213,0.90);
}
.cp_navi a::after {
  border-bottom: solid 4px #FFF;
  bottom: 0px;
  content: "";
  display: block;
  transition: all .7s ease;
  -webkit-transition: all .7s ease;
  width: 0;
}
.cp_navi a:hover::after {
  width: 100%;
	}
/*--grand navigation end--*/
	

	
	
.subnav {
    padding: 0 20px;
    margin: 0 auto 60px;
    width: 100%;
}
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
}	
	
	
.maininfoImg {
  position: relative;
  width:100%;
	height:auto;
	margin:0px 0%;
	padding:0;
  box-sizing: border-box;
}
.maininfoImg img {
  width:100%;height:600px!important;margin:0;padding:0;object-fit: cover; /* この一行を追加するだけ！ */
}	
	
.maininfoImg2 {
  position: relative;
  width:100%;
	height:auto;
	margin:0px 0%;
	padding:0;
  box-sizing: border-box;
}
.maininfoImg2 img {
  width:100%;height:250px!important;margin:0;padding:0;object-fit: cover; /* この一行を追加するだけ！ */
}		
	
	
	
	
	
	
	
	
	
.mainImg {
	position: relative;
	width:100%;
	height:auto;
	margin:0 auto 100px auto;
	padding:0;
	box-sizing: border-box;
}
.mainImg img {
	width:100%;
	height:auto;
	margin:0;
	padding:0;
	object-fit: cover; /* この一行を追加するだけ！ */
}
.p_mainImg {
	position: relative;
	width:100%;
	height:auto;
	margin:0 auto 100px auto;
	padding:0;
	box-sizing: border-box;
}
.p_mainImg img {
	width:100%;
	eight:auto;
	margin:0;
	padding:0;
	object-fit: cover; /* この一行を追加するだけ！ */
}
.s_mainImg {
  display:none;
}
.infoImg {
  position: relative;
  width:90%;
	height:auto;
	margin:0px 5%;
	padding:0;
  box-sizing: border-box;
}
.infoImg img {
  width:100%;height:350px!important;margin:0;padding:0;object-fit: cover; /* この一行を追加するだけ！ */
}	
/*斜めBG領域*/
.contents {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
	height:auto;width:100%;box-sizing:border-box;
}
	
.columnCase{
		width:100%;
		height:auto;
		margin:0px auto; 
		padding:0; 
		box-sizing:border-box;
		position:relative;
	overflow:hidden;
	}
.callNumberimg{
	position:absolute; 
	top:25px; 
	right:10%; 
	height:auto;
	width:auto; 
	}
	.callNumberimg img{height:130px; width:100%; object-fit: cover;}		
	
	
.contents_inner {
	box-sizing: border-box;
	width:100%;
	min-width: 1080px;
	height:auto;min-height:100vh;
	margin: 0 auto;
	padding:0;
	/*background:rgba(255,255,255,0.0);*/
	text-align:left;
	/*box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);*/
}
.contents_inner p{
	color:#607774;
	line-height:160%;
	text-align:left;
}	
.contentsImg {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 80px 0;
}
.contentsImg:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 120%;
	height: 80%;
	margin: 3% -10% 0;
	background:url("../img/sample_011.jpg") center center no-repeat;
	-webkit-transform-origin: left center;
	-ms-transform-origin: left center;
	transform-origin: left center;
	-webkit-transform: rotate(3deg);
	-ms-transform: rotate(3deg);
	transform: rotate(3deg);
	z-index: -1;
}
.contentsImg_inner {
  box-sizing: border-box;
  width: 100%;
  max-width: 1000px;
  height: 100%;
  margin: 0 auto;
  padding: 100px 10px 120px;
  text-align: center;
}	
/*斜めBG領域*/	

/*画像マスク*/		
.object {
  position: relative;
  width: 300px;
  height: 300px;
  margin: 30px auto 0;
  overflow: hidden;
  border-radius: 0;
  transform: skew(-20deg);
}
.object img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 500px;
    transform: translate(-50%, -50%) skew(20deg);
  }
/*画像マスク*/		
	
.contentsbox {
    width: 100%;
	height:auto; 
	min-height:auto;
    margin: 0 auto;  
	background:transparent;
	/* background:url("../img/bg_001.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
	overflow: hidden;
	position: relative;
	background-size: cover;
}
.contentsbox2 {
    width: 100%;
	height:auto; min-height:100vh;
    margin: 0 auto;
    /*background:url("../img/bg_002.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;background:transparent;
}
.contentsbox3 {
    width: 100%;
	height:auto; min-height:100vh;
    margin: 0 auto;
    /*background:url("../img/bg_004.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;background:transparent;
}
.contentsbox4 {
    width: 100%;
	height:auto; min-height:100vh;
    margin: 0 auto;
    /*background:url("../img/bg_006.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;background:transparent;
}
.contentsbox5 {
    width: 100%;
	height:auto; min-height:100vh;
    margin: 0 auto;
    /*background:url("../img/bg_011.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;background:transparent;
}
.contentsbox6 {
    width: 100%;
	height:auto; min-height:100vh;
    margin: 0 auto;
    /*background:url("../img/bg_010.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;background:transparent;
}
.columnTitle{
	positon:absolute!important;
	left:0;
	top:0;
	height:auto;
	min-height:700px;
	width:100%; 
	box-sizing:border-box;
	background:transparent;
	}
.columnTitle p{
	font-size:120%;
	line-height:4rem; 
	margin:0 auto; 
	color:#707070;
}
.contactsubtextTitle{
	margin:0px auto 100px auto;
	text-align:center!important;
	font-size:100%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.1rem;
	border-bottom:5px solid #FFFFFF;
	text-shadow:1px 1px 0px #666666;
	-webkit-text-shadow:1px 1px 3px #666666;
	padding:30px auto;
	text-decoration: none;
}
/*	
.jumpButton{
	margin:0 auto 0px auto;
	display: inline-block;
	padding: 20px 30px;
	background:#F2F2F2;
  border-bottom: solid 4px #003300;
  border-radius: 10px;
  color:#FFFFFF!important;
  text-decoration: none;
  line-height: 1.2em;
  -webkit-transition: .100s;
  transition: .100s;
}
.jumpButton:hover {
  border-bottom: none;
  background:#19499c;
	color:#FFFFFF!important;
  -webkit-transform: translateY(4px);
  transform: translateY(4px);
}	*/

.jumpButton {
    display: inline-block;
	box-sizing:border-box;
	width:40%;letter-spacing:0.1em;
	height:auto;
	margin:100px 10px 100px 10px; 
	padding:20px 0!important;
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;    color:#FFFFFF!important;

}
.jumpButton::before,
.jumpButton::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.jumpButton,
.jumpButton::before,
.jumpButton::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.jumpButton{
    background-color: rgba(21,44,131,1.00);
    color:#FFFFFF!important;font-weight:650;
	font-size:150%;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	box-shadow: 5px 5px 5px 0px #454545;
border-radius: 3px;
}
	.jumpButton a{color:#FFFFFF!important;}	
.jumpButton:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;    color:#FFFFFF!important;

}	
	
	
	
	
	.container-001{box-sizing:border-box;width:100%; height:auto; position:relative; padding:0 20%; background:rgba(228,239,244,1.00)/*rgba(198,216,229,1.00)*/;}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.threeboxCase{width:60%; min-width:1080px;height:auto; position:relative; box-sizing:border-box;margin:0 auto 20px auto;padding:0;}
.threebox{width:31.3%;height:auto;min-height:600px;	float:left;box-sizing:border-box; margin:30px 1% 0 1%;padding:0;background:#FFFFFF;}	
.threebox p{
		text-align:left;
		box-sizing:border-box;height:auto;
		width:95%!important;
		letter-spacing:0.05rem; padding:5%;line-height:190%!important;
font-size:100%; margin:0 auto; color:#373737;}
.threebox img{ width:100%;height:auto;object-fit: cover; /* この一行を追加するだけ！ */}	
	
.quarterBox{
	potision:relative;
	margin:0 auto;
	padding:2.5%;
	box-sizing:border-box;
	width:100%;
	height:auto;
	}
.quarterBoxtextTitle{
	margin:20px 0 20px 0;
	text-align:center!important;
	font-size:130%!important;
	width:80%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.5rem;
	border-bottom:2px solid #3a5885;
  padding: 1em 0em;
  text-decoration: none;
  color:#3a5885;	
	font-family: ruika, sans-serif!important;
	font-weight: 100!important;
	font-style: normal!important;	


}
.quarterBox p{
		font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	letter-spacing: 0.15rem; 
	line-height:160%;
	margin:20px auto; 
	text-align:left;
	}	
.quarterColumn{
	width:44%;
	height:auto;
	margin:2.5%;
	padding:1.5%;
	box-sizing:border-box;
	float:left;
	background:#FFFFFF;
	}
	
.quarterColumn p{
	letter-spacing: 0.15rem; 
	line-height:160%; 
	color:#626262;
	}
.quarterColumn img{
	width:100%;
	height:400px;
	object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.quarterColumn{
  overflow:hidden;
}
.quarterColumn{
  position:relative;
}
.quarterColumn:last-child{
}
.quarterColumn:last-child:before,
.quarterColumn:last-child:after{
  display:none;
}
	
	
	
/*左からフェードインnew20221210*/	
.headcontainer{
	width: 60%;margin:150px 20%;
}

.headcontainer > .image{
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	margin-left: 50%;
	transform: translateX(-200%);
	opacity: 0;
	animation: slide-in-anim 4.0s ease-out forwards /*infinite*/;
}

@keyframes slide-in-anim {
	20% {
		opacity: 0;
	}
	60% {
		transform: translateX(-45%);
	}
	75% {
		transform: translateX(-52%);
	}
	100% {
		opacity: 1;
		transform: translateX(-50%);
	}
}
/*左からフェードインnew20221210 end*/	

	
	
/*左からフェードイン*/	
	
/* 画面外にいる状態 */
.fadein {
	opacity : 0.1;
	transform : translate(0, 100px);
	transition : all 500ms;
	}

/* 画面内に入った状態 */
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);
	}	
/*左からフェードイン*/
	
	
/*もともとのフェードインＣＳＳ*/	
.fadein {-webkit-box-sizing: border-box;position:relative;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	margin:0px auto 0 auto;
	min-height:auto; 
height:auto !important;
height:0;
	width:100%;
	padding:2.5%;
	opacity : 0.1;
	transform : translate(0, 200px);
	transition : all 500ms;animation-play-state:running; /*再生*/
	background:transparent;
	 box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
	}
	/*.fadein p{font-size:120%; line-height:180%;letter-spacing:2px;}	*/

/* 画面内に入った状態 */
.fadein.scrollin {height:auto !important;
	opacity : 1;
	transform : translate(0, 0);animation-play-state:paused; /*停止*/
	}
	
.fadein img{width:100%; height:auto; object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */}		
/*もともとのフェードインＣＳＳ*/	
	
	

	
/*左からスライドイン*/
	

div.animation_box {
  opacity: 0;
  transform: translateX(-200px);
  transition: 2s ease;}
 
div.mainanimation_box {
  opacity: 0;
  transform: translateX(-200px);
  transition: 2s ease;}	
	
	
	
	
.kaisha {	
	margin:30px auto 150px auto;
	box-sizing:border-box;
	border:0.5px solid #f2f2f2;
	box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
	color:#040000;
	box-sizing:border-box;
	width:auto;
	letter-spacing:0.1rem;
	font-size:95%;
	min-width:1080px;
}
div table{width:90%;}	

.kaisha th,
.kaisha td {border-bottom:0.5px solid #F1F1F1;
padding: 30px 25px;vertical-align:middle;
border-spacing: inherit 2px;	
	line-height:150%;
}
.kaisha tr:nth-child(even) {
	background: #FFFFFF;
}

.kaisha tr:nth-child(odd) {
	background: rgba(251,251,251,1.00);
}	
.th-center{text-align:center!important; background:rgba(243,243,243,1.00);}	
.kaisha td {  border-left:solid 5px rgba(24,93,150,1.00);

background-color: #FFFFFF;
}
.kaisha th {font-weight:normal;box-sizing:border-box;
letter-spacing: 0.1rem;background:rgba(243,243,243,1.00);
  border-left:solid 10px #19499c;
	color:#040000;
 
}

@media screen and (max-width: 767px) {
.kaisha,
.kaisha tr,
.kaisha td,
.kaisha th {display:block;}
.kaisha th {width:auto;}
}	

	
/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox{
  width:80%;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
  margin:0px auto 30px auto; /* ボックス全体の位置調整 */
}

.acbox label{
  width: 80%;
	margin:0 auto;
  font-size: 18px; /* ラベルの文字サイズ */
  font-weight: bold;
  text-align: center;
  background: #202020; /* ラベルの背景色 */
  position: relative;
  display: block;
  padding:25px;
  border-radius: 4px; /* ラベルの角の丸み */
  cursor: pointer;
  color: #FFFFFF;
}

.acbox label:hover{
  background: #19499c; /* ラベルにマウスを乗せた時の背景色 */
	color:#FFFFFF;  font-weight: bold;

}

.acbox input{
  display: none;
}

.acbox label:after{
  color: #fff;
  content:"▼"; /* ラベルのアイコン */
  position: absolute;
  top: 50%;
  right: 25px;
  margin-top: -10px;
}

.acbox input:checked ~ label::after {
  content:"▲"; /* ラベルをクリックした後のアイコン */
}

.acbox div{
  height: 0px;
  overflow: hidden;
  opacity: 0;
  transition: 0.15s; /* 開閉スピードの設定 */
}

.acbox input:checked ~ div{
  height: auto;
  padding: 30px; /* 開いた部分の枠内の余白 */
  border-radius: 0px;
  background: #F3F4F5; /* 開いた部分の背景色 */
  opacity: 1;
}

.acbox input:checked ~ label {
  background: #464141; /* クリック後のラベルの背景色 */
}

.acbox-under{width:80%;margin:0 auto;
	line-height:180%;
  font-size: 16px; /* 開いた部分の文字サイズ */
text-align:left;	
  color: #555555; /* 開いた部分の文字色 */
}
	
.contactStyling	{padding-bottom:0px;}
	
	
.slide-container {
	margin:150px auto 0px auto;padding:auto;
	overflow:hidden;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
text-align:center;
 width:100%;
	min-width:1280px;
  height:auto;
	max-height:auto;
  color: #FFFFFF;
  background:transparent;
}

.slideImg{box-sizing: border-box;
padding:0; width:100%;height:auto;max-height:700px; min-height:700px;object-fit: cover; /* この一行を追加するだけ！ */}


.slideImg img{box-sizing:border-box; 
width:100%; height:auto; max-height:700px;min-height:700px;object-fit: cover; /* この一行を追加するだけ！ */ margin:0; padding:0;}

	
 /*=== 画像の表示エリア ================================= */
.simpleSlide {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 100%;
  min-width:1280px;	
  height     : 100vh;
  min-height : 100vh;
  margin     : auto;      /* サンプルは中央寄せの背景：白 */
  background : url("../img/logo_005.jpg") center center no-repeat;
background-size:cover;
}
 
 /*=== 画像の設定 ======================================= */
.simpleSlide img {
  display    : block;
  position   : absolute;
                      /* 画像のサイズを表示エリアに合せる */
  width      : inherit;
  height     : inherit;
  left       : -100%;
  animation  : slideAnime 25s ease infinite;
}
 
 /*=== スライドのアニメーションを段差で開始する ========= */
.simpleSlide img:nth-of-type(1) { animation-delay: 0s }
.simpleSlide img:nth-of-type(2) { animation-delay: 5s }
.simpleSlide img:nth-of-type(3) { animation-delay: 10s }
.simpleSlide img:nth-of-type(4) { animation-delay: 15s }
.simpleSlide img:nth-of-type(5) { animation-delay: 20s }
 
 /*=== スライドのアニメーション ========================= */
@keyframes slideAnime{
   0% { left: -100% }
   2% { left: 0     }
  18% { left: 0     }
  20% { left: 100%  }
 100% { left: 100%  }
}
	
.toplinkArea	
	{width:100%; height:150px; margin:0 auto;padding:20px;box-sizing: border-box; background:#616267;}
	
	
.smartbar{display:none;}
.smartDelete{display:none;}

	
	
	
	
.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0 20px; }

.carousel {
  display: block;
  text-align: left;
  position: relative;
  margin-bottom: 22px; }
  .carousel > input {
    clip: rect(1px, 1px, 1px, 1px);
    clip-path: inset(50%);
    height: 1px;
    width: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute; }
    .carousel > input:nth-of-type(6):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: -500%; }
    .carousel > input:nth-of-type(5):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: -400%; }
    .carousel > input:nth-of-type(4):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: -300%; }
    .carousel > input:nth-of-type(3):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: -200%; }
    .carousel > input:nth-of-type(2):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: -100%; }
    .carousel > input:nth-of-type(1):checked ~ .carousel__slides .carousel__slide:first-of-type {
      margin-left: 0%; }
    .carousel > input:nth-of-type(1):checked ~ .carousel__thumbnails li:nth-of-type(1) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }
    .carousel > input:nth-of-type(2):checked ~ .carousel__thumbnails li:nth-of-type(2) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }
    .carousel > input:nth-of-type(3):checked ~ .carousel__thumbnails li:nth-of-type(3) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }
    .carousel > input:nth-of-type(4):checked ~ .carousel__thumbnails li:nth-of-type(4) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }
    .carousel > input:nth-of-type(5):checked ~ .carousel__thumbnails li:nth-of-type(5) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }
    .carousel > input:nth-of-type(6):checked ~ .carousel__thumbnails li:nth-of-type(6) {
      box-shadow: 0px 0px 0px 5px rgba(0, 0, 255, 0.5); }

.carousel__slides {
  position: relative;
  z-index: 1;
  padding: 0;
  margin: 0;
  overflow: hidden;
  white-space: nowrap;
  box-sizing: border-box;
  display: flex; }
	
.carousel__slide figcaption{display:none;}
	
.carousel__slide {
  position: relative;
  display: block;
  flex: 1 0 100%;
  width: 100%;
  height: 500px;
  overflow: hidden;
  transition: all 300ms ease-out;
  vertical-align: top;
  box-sizing: border-box;
  white-space: normal; }
  .carousel__slide figure {
    display: flex;
    margin: 0; }
  .carousel__slide div {
    position: relative;
    width: 100%; }
    .carousel__slide div:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 66.6666666667%; }
    .carousel__slide div > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
       height: 500px;
}
  .carousel__slide img {
    display: block;
    flex: 1 1 auto;
    object-fit: cover; }
  .carousel__slide figcaption {
    align-self: flex-end;
    padding: 20px 20px 0 20px;
    flex: 0 0 auto;
    width: 25%;
    min-width: 150px; }
  .carousel__slide .credit {
    margin-top: 1rem;
    color: rgba(0, 0, 0, 0.5);
    display: block; }
  .carousel__slide.scrollable {
    overflow-y: scroll; }

.carousel__thumbnails {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  margin: 0 -10px; }
  .carousel__slides + .carousel__thumbnails {
    margin-top: 20px; }
  .carousel__thumbnails li {
    flex: 1 1 auto;
    max-width: calc((100% / 6) - 20px);
    margin: 0 10px;
    transition: all 300ms ease-in-out; }
  .carousel__thumbnails label {
    display: block;
    position: relative; }
    .carousel__thumbnails label:before {
      display: block;
      content: "";
      width: 100%;
      padding-top: 100%; }
    .carousel__thumbnails label > img {
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%; }
    .carousel__thumbnails label:hover, .carousel__thumbnails label:focus {
      cursor: pointer; }
      .carousel__thumbnails label:hover img, .carousel__thumbnails label:focus img {
        box-shadow: 0px 0px 0px 1px rgba(0, 0, 0, 0.25);
        transition: all 300ms ease-in-out; }
  .carousel__thumbnails img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover; }
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
#wrapper{
		font-size:16px!important;
	width:100%;	
	min-width:1200px;
	margin:0px;
	padding-top:0px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  /* 画像ファイルの指定 */
/* background-image: url("../img/005.jpg");*/
	/* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
}
#contactWrapper{
	width:100%;	
	min-width:1200px;
	margin:80px 0 0 0;
	padding-top:0px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  /* 画像ファイルの指定 */
  background:#fffbf5;
   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #FFFFFF;
}	
#subwrapper{
	width:100%;
	min-width:1200px;
	margin-top:250px;
	padding-top:0px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
	background:transparent;
	}
	
main{
	box-sizing:border-box;
	margin:0 auto;padding:0;
	width:60%;min-width:1080px;max-width:1180px;
	height:auto; 
	/*background:rgba(255, 255, 255, 0.45);*/


	} 
	
.imageBg{height:auto; width:100%; margin:0 auto; text-align:center;background:url(../img/image_bg_001.jpg) center center no-repeat;
		 background-size:contain;/*object-fit: cover; /* この一行を追加するだけ！ */
}
.imageBg img{height:auto; width:100%; margin:0 auto; background-size:cover;
}

.gallerySmartImg{display:none;}
	
.news-list{
  list-style: none outside;
  margin: 20px 20% 20px 20%;
  padding: 0;
	height:auto;
	min-height:auto;
	width:60%;
	background:transparent;
	font-size:0.8rem;
	
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: rgba(21,37,88,0.95);
  border-bottom: 1px solid #CCC;
  padding: 10px 10px;
}
.news-list .item:first-child a{
  border-top: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  color: #999;
  padding: 0 20px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .item .category span{
  background: rgba(17,66,164,1.00);
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  line-height: 1;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: #00F;
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}

/*ここからボタンベース*/
.news_w_button {/*コレ*/width: fit-content;
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.1em;
	height:auto;
	max-width:10%;
		margin:10px 46.5% 100px 46.5%; 
	padding:10px 20px!important;
	font-size:0.8rem!important;
	line-height:1.3rem; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.news_w_button::before,
.news_w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.news_w_button,
.news_w_button::before,
.news_w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.news_w_button {
    background:rgba(21,37,88,0.95); 
    color: #fff !important;
	font-size:120%;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 3px;
}
.news_w_button:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}
	
	
	
/*ここからボタンベース*/
.s_w_button {/*コレ*/width: fit-content;
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0em;
	height:auto;
	width:40%;
		margin:20px 30% 20px 30%; 
	padding:10px 5%!important;
	
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.s_w_button::before,
.s_w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.s_w_button,
.s_w_button::before,
.s_w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.s_w_button {
    background:rgba(21,37,88,0.95); 
    color: #fff !important;
	font-size:1.0rem;font-weight:550;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 7px;
}
.s_w_button:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
	
	
/*ここからボタンベース*/
.contact_w_button {
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.1em;
	height:auto;
	width:60%;
		margin:50px 20% 50px 20%; 
	padding:20px 5%!important;
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.contact_w_button::before,
.contact_w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.contact_w_button,
.contact_w_button::before,
.contact_w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.contact_w_button {
    background:rgba(21,37,88,0.95); 
    color: #fff !important;
	font-size:125%;
	font-weight:650;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 3px;
}
.contact_w_button:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
	
	
	
.textareaBg{
	min-width:1080px;
  /* 画像ファイルの指定 */

   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
    background:AppWorkspace;
}
.textArea{
	box-sizing:border-box;
	position:relative;
	text-align:center;
	width:100%;
	min-width:1080px;
	height:auto;
	margin:0 auto;
background:transparent;
	padding-bottom:0px;
	overflow:hidden;
	}
.textArea p{line-height:130%!important;}	
.textAreacompany{
	position:relative;
	text-align:center;
	width:60%;
	height:auto;
	margin:10px auto;
	padding:20px;
	line-height:190%;
	font-size:110%;
	letter-spacing:0.5px;
	overflow:hidden;
		color:#676767;
	}
/*----form area----*/	

	
.contacttextTitle{
	margin:0 0 40px 0;
	color:#FFFFFF!important;
	text-align:center!important;
	font-size:120%!important;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.3rem;
	border-bottom:5px solid #FFFFFF;
	text-shadow:1px 1px 3px #666666;
	-webkit-text-shadow:1px 1px 3px #666666;
  padding: 1em 0em;
  text-decoration: none;
	
}
	
#contact {
	margin:20px auto;
	box-sizing: border-box;
  width: 70%;
  height: auto;
  background-color: #FFFFFF;
	color:#4F4F4F;
}	

.section-header {
  text-align: center;
  margin: 0 auto;
  padding-top: 0px;
  margin-bottom: 0px;
  font: 300 60px 'Oswald', sans-serif;
  letter-spacing: 6px;
  color: #fff;  background-color: #000;
}
	
/* Contact Page */
	.form-group{/*display:flex;justify-content: space-between;*/margin:20px auto!important;}
.form-control, textarea {box-sizing: border-box;
	border-radius:6px;
	margin:20px 0;
	padding:5%;
	width:55%;
	line-height:3rem;
  background-color:#E8E8E8;
  color: #5E6166;
  letter-spacing:0.1rem;border:none;vertical-align: middle;
}
.form-control:focus {
	border-color: #aadbe8;
	outline: 0;
	-webkit-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
	box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(102, 175, 233, 0.4);
  background-color:#fff;
}
	
p.error, span.error {
  color: red;
}	
input.form-control{  background-color:#E8E8E8!important; height:50px!important;padding:5% auto!important;}	
.send-button {
  margin-top: 15px;
  height: 40px;
  width: 400px;
  overflow: hidden;
  transition: all .2s ease-in-out;
}

.button {
  width: 400px;
  height: 40px;
  transition: all .2s ease-in-out;
}

	
.btn-primary{
	padding:10px; 
	border-radius:10%;
	background:#19499c;color:#FFFFFF;}
	
.send-text {
  display: block;
	text-align:center;
  margin-top: 20px;
  font: 300 14px 'Lato', sans-serif;
  letter-spacing: 2px;
}

.button:hover {
  transform: translate3d(0px, -29px, 0px);
}

/* Begin Right Contact Page */
.direct-contact-container {
	width:60%;margin:0 auto;

	min-width:800px;
box-sizing:border-box;
}

/* Location, Phone, Email Section */
.contact-list {
  list-style-type: none;
  margin-left: -30px;
  padding-right: 20px;
}

.list-item {
  line-height: 4;
  color: #aaa;
}

.contact-text {
  font: 300 18px 'Lato', sans-serif;
  letter-spacing: 1.9px;
  color: #bbb;
}

.place {
  margin-left: 62px;
}

.phone {
  margin-left: 56px;
}

.gmail {
  margin-left: 53px;
}

.contact-text a {
  color: #bbb;
  text-decoration: none;
  transition-duration: 0.2s;
}

.contact-text a:hover {
  color: #fff;
  text-decoration: none;
}


/* Social Media Icons */
.social-media-list {
  position: relative;
  font-size: 2.3rem;
  text-align: center;
  width: 100%;
}

.social-media-list li a {
  color: #fff;
}

.social-media-list li {
  position: relative; 
  top: 0;
  left: -20px;
  display: inline-block;
  height: 70px;
  width: 70px;
  margin: 10px auto;
  line-height: 70px;
  border-radius: 50%;
  color: #fff;
  background-color: rgb(27,27,27);
  cursor: pointer; 
  transition: all .2s ease-in-out;
}

.social-media-list li:after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 70px;
  height: 70px;
  line-height: 70px;
  border-radius: 50%;
  opacity: 0;
  box-shadow: 0 0 0 1px #fff;
  transition: all .2s ease-in-out;
}

.social-media-list li:hover {
  background-color: #fff; 
}

.social-media-list li:hover:after {
  opacity: 1;  
  transform: scale(1.12);
  transition-timing-function: cubic-bezier(0.37,0.74,0.15,1.65);
}

.social-media-list li:hover a {
  color: #111;
}

.copyright {box-sizing:border-box;padding:30px 0;height:auto;
  color:#9F9F9F;font-size:80%;
  letter-spacing: 1px;
  text-align: center;
}

hr {
  border-color: #D8D8D8; 
}
/*---form----*/	
	
input.form-control{height:30px; padding:0 auto; margin:0;}
div.form-group{margin:0; padding:0;}	
form.main_contact{padding:0;}
div.container{margin-bottom:0!important;padding-bottom:0!important;}
	
.error{
	margin:15px 0;
	}
#main_contact{
	padding:20px;
	}
.form-group{
	margin:15px auto;
	text-align:right;
	}
	
.map {margin:0px 0 0px 0; padding:0;
position: relative;
padding-bottom: 20%; /*これが縦横比*/
height: 0;
overflow: hidden;
}
.map iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height:100% !important;
}
iframe{
   filter: grayscale(100%);
   transition: all 0.7s ease;
}	

.imgBox{
	padding:0;
	width:100%;
	height:auto;
	margin:0 auto;
	}
.imgBox img{
width: 100%; max-width:1180px;
  height:auto;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
	
.main > .imgBox img{
width: 100%; max-width:1180px;
  height:350px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.quarterColumn > .imgBox img{
width: 100%; max-width:1180px;
  height:400px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}		
.contactimgBox{
	padding:0;
	width:100%;
	height:auto;
	margin:0 auto;
	}
.contactimgBox img{
width: 100%;
  height:500px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.eximgBox{
	padding:0;float:left;
	width:40%;
	height:300px;
	margin:5%;
	border:2px solid #1839A0 inherit;
	}
.eximgBox img{
width: 100%;
  height: 300px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.textTitle{
	font-size:140%!important;
	text-align:right;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.2rem;
  padding: 1em 0;
  text-decoration: none;
font-weight: bold;

}
	
/*topside*/
	
.topside {
	width:100%;
	height:auto;
	padding:0 0 0 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.0);}
	
.topside > p{color:#555555;
	box-sizing:border-box;
	text-shadow:1px 1px 0 #FFFFFF;
	letter-spacing:0.1em;
	line-height:200%;
	font-size:100%;
	width:80%;
	margin:30px 10%;
	}
.topside > .imgBox{
	width:80%;
	margin:50px 10%;
	}	

.topmain,.topside {
	border-radius: 10px;
}
	
.topside > .sideTitle{
	font-size:140%!important;おｎ
	padding-left:10%;
	margin:20px auto;
	font-weight:650;
	}
	
.topside > .sideTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f508";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.2em;/*サイズ*/
  left: 7%;/*アイコンの位置*/
  top: 0.0em;/*アイコンの位置*/
  color: #2876A8; /*アイコン色*/
}		
	
.topside > .sideText{
	font-size:100%;
	padding:2% 5% 2% 10%;
		width:80%;
	margin:0 auto;
	box-sizing: border-box;
	letter-spacing:0.1rem;line-height:200%;
	text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	}
	
.topside > .subtextTitle {
/*font-family: zen-antique, sans-serif!important;
font-weight: 400!important;
font-style: normal!important;*/
	box-sizing: border-box;
	position: relative;
	margin:30px auto 30px auto;
	padding:60px 0 60px 100px;
	width:100%!important;
	vertical-align: middle;
	text-align:center;
	border-radius:none!important;
	color: #666666!important;
	border-bottom:1px solid rgba(33,113,188,1.00);
	font-size:160%!important;
	letter-spacing:0.15rem;
	text-shadow:none!important;
/*box-shadow: 5px 2px 10px 2px #060606;*/

	}
.topside > .subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -10px;
  left: -40px;
	content: url("../img/logo.png");
	transform: scale(0.5);
	color:#19499c;
}
	
.stt_small{font-size:0.5em; margin-left:20px;	color:#848484;}
	
	
	
	
.sideTitle{	box-sizing: border-box;
  position: relative;
  padding-left: 4em;/*アイコン分のスペース*/
  line-height: 1.4;
}

.sideTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.2em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0.1em;/*アイコンの位置*/
  color: #2876A8; /*アイコン色*/
}	
	
.sideText{
	font-size:90%;
	padding:2% 2% 2% 20%;
	box-sizing: border-box;
	letter-spacing:0.0rem;
	}
	
.subtextTitle {
/*font-family: zen-antique, sans-serif!important;
font-weight: 400!important;
font-style: normal!important;*/
	box-sizing: border-box;
	position: relative;
	margin:30px auto 30px auto;
	padding:20px 0 20px 100px;
	width:100%!important;
	vertical-align: middle;
	color: #19499c!important;
	/*border-radius: 25px 0 0 25px;*/
	/*background: #f7f7f7;*/
	font-size:160%!important;
	letter-spacing:0.2em;
	text-shadow:none!important;
box-shadow: 5px 0px 5px -15px #4a5559;

	}
.subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -115px;
  left: -100px;
	content: url(../img/favicon.png);
	transform: scale(0.2);
	color:#19499c;
}
	
.subsideTitle {
/*font-family: zen-antique, sans-serif!important;
font-weight: 400!important;
font-style: normal!important;*/
	box-sizing: border-box;
	position: relative;
	margin:0 auto;
	padding:0px 0 0px 140px;
	width:100%!important;
	vertical-align: middle;
	color:#151515;
	/*border-radius: 25px 0 0 25px;*/
	/*background: #f7f7f7;*/
	font-size:120%!important;
	letter-spacing:0.1em;
	text-shadow:none!important;


	}
.subsideTitle::before {
	margin-right: 0px;
position: absolute;
  top: 0px;
  left: 100px;
	content: "■";
	transform: scale(1.5);
	color:#19499c;
}	
	
	
	
	
	
.sv_subtextTitle , .sv2_subtextTitle {
font-family: zen-antique, sans-serif!important;
font-weight: 400!important;
font-style: normal!important;
	box-sizing: border-box;
	position: relative;
	margin:30px auto 100px auto;
	padding:150px 0 70px 100px;
	width:100%!important;
	vertical-align: middle;
	color: #19499c!important;
	/*border-radius: 25px 0 0 25px;*/
	/*background: #f7f7f7;*/
	font-size:190%!important;
	letter-spacing:0.2em;
	text-shadow:none!important;
box-shadow: 5px 0px 5px -15px #4a5559;
	text-align:center!important;

	}
.sv_subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -50px;
  left: -100px;
	content: url("../img/icon_003.png");
	transform: scale(0.5);
	color:#19499c;
}
.sv2_subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -50px;
  left: -100px;
	content: url("../img/icon_004.png");
	transform: scale(0.5);
	color:#19499c;
}	
		
	.sv_subtextTitle > .stt_small{font-size:0.5em; margin-left:20px;letter-spacing:0;color: #4F5052;}
	.sv2_subtextTitle > .stt_small{font-size:0.5em; margin-left:20px;letter-spacing:0;color: #4F5052;}

	
	
/*.main and .side in flexbox*/	
	
.main {
	width:45%;
	height:350px;
	box-sizing:border-box;
	background:#FFFFFF;
	margin:0px 5% 20px 0;
}
.side {potision:relative;
	width:50%;
	height:auto;
	padding:0 3% 0 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.0);}
	
.flexbox > .side > .subtextTitle {
font-family: zen-antique, sans-serif!important;
font-weight: 400!important;
font-style: normal!important;
	box-sizing: border-box;
	position: relative;
	margin:30px auto 30px auto;
	padding:20px 0 20px 100px;
	width:100%!important;
	vertical-align: middle;
	color: #19499c!important;
	border-radius: 25px 0 0 25px;
	background: #f7f7f7;
	font-size:140%!important;
	letter-spacing:0.2em;
	text-shadow:none!important;
box-shadow: 5px 0px 5px -15px #4a5559;

	}
.contentsbox2 > .side > .subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -120px;
  left: -100px;
	content: url(../img/favicon.png);
	transform: scale(0.2);
	color:#19499c;
}

	
.side > p{
	text-shadow:1px 1px 0 #FFFFFF;
	letter-spacing:2px;
	font-size:110%;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	}	
.side_plan {
	width:100%;
	height:auto;
	padding:0 3% 0 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.0);}
	
.side_plan > p{
	text-shadow:1px 1px 0 #FFFFFF;
	letter-spacing:2px;
	font-size:110%;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	}	
.side_plan {
	border-radius: 10px;
}
	
	
.topmain {
	width:100%;
	height:auto;
	box-sizing:border-box;
	background:transparent;
	margin-bottom: 10px;
}
	
.topmain > .imgBox img{
	width: 100%; 
	max-width:1180px;
	height:350px;
	object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}	

.topside > .imgBox img{
	width: 100%; 
	max-width:1180px;
	height:350px;
	object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}	
	
	
/*flexbox*/	
	
@media ( min-width : 801px ){
.flexbox {
	position:relative;
	display: -webkit-flex!important;
	width:100%;
    display: flex!important;
	justify-content: center;
	flex-wrap: wrap;
	margin:0!important;
	}
/* 親要素(コンテナ) */
.flex-container {
	box-sizing:border-box;
	width:60%;
	margin:50px 20% 80px 20%;
	display: flex;
	justify-content: center;	
}
	
	
.oneflexbox {
	position:relative;
	display: -webkit-flex!important;
	width:80%;
	margin:0 10%;
    display: flex!important;
	flex-direction:row;
	justify-content: flex-start;
	/*justify-content: center;*/
	flex-wrap: wrap;
	}
/* 親要素(コンテナ) */
.oneflex-container {
	box-sizing:border-box;
	width:60%;
	margin:50px 20% 80px 20%;
	display: flex;
	justify-content: center;	
}	
	

/* 子要素(アイテム) */
.flex-item {
	border:2px solid #1C5FA6;
	color: #fff;margin:10px;
	box-sizing: border-box;
	width:auto;
	max-width:250px;
	height:auto;
	max-height:250px!important;
}


.oneitem{    display: flex!important;
	flex-direction:row;
	/*justify-content: center;*/
	/*justify-content: flex-start;*/
	flex-wrap: wrap;
    position:relative;
	width:100%;margin:0 auto 10px auto;
	padding:5%;
	box-sizing:border-box;

	}
	
	.oneitem > figure{font-size:2.1rem;position:absolute; top:0px; left:0px; box-sizing: border-box;width:auto;height:auto;padding:1.5rem 2.2rem;background:rgba(31,48,124,1.00);color:#FFFFFF;}	
	.threeitem > figure{font-size:2.1rem;position:absolute; top:0px; left:0px; box-sizing: border-box;width:100px;height:auto;padding:1.5rem 2.2rem;background:rgba(100,102,45,1.00);color:#FFFFFF;}		
	.oneitem > .merit{position:absolute; top:35px; left:0px; box-sizing: border-box; padding:1.0rem 2rem 1.5rem 2rem!important;background:rgba(123,107,38,1.00)!important;color:#F1F1F1;z-index: 9999;}	
		.oneitem > .works{position:absolute; top:35px; left:0px; box-sizing: border-box; padding:1.0rem 2rem 1.5rem 2rem!important;background:#262626!important;color:#f4f4f4;z-index: 9999;}	
	.oneitem > h4 {color:#151515;font-weight:500;font-size:2.2rem;margin-left:50px;margin-bottom:20px;}
.oneitem .threeitem_Link{
	}
.markUp{color:red;}		
	
.oneitem > p{
	/*text-shadow:1px 1px 0 #FFFFFF;*/
	font-size:100%;
	}
	
.oneitem > .firstsideText{
	font-size:1.05rem;
	padding:2.5% 5% 0% 5%;
		width:100%;
	height:auto;
	min-height:auto;
	margin:30px 0;
	box-sizing: border-box;
	letter-spacing:0.05rem;line-height:1.9rem;
	text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	background:rgba(237,237,237,0.00);transition: all 0.3s;
	}
	
.oneitem > .sideText{
	font-size:1.05rem;
	padding:2.5% 5% 0% 5%;
		width:100%;
	height:auto;
	min-height:auto;
	margin:0px;
	box-sizing: border-box;
	letter-spacing:0.05rem;line-height:1.5rem;
	text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	background:rgba(237,237,237,0.00);transition: all 0.3s;
	}	
	
.oneitem > .sideTitle{
	width:100%;
	font-size:1.4rem;
	box-sizing: border-box;
	position: relative;
	padding:5%;/*アイコン分のスペース*/
	padding-bottom:0;
	line-height: 1.2rem;
	margin-bottom:20px;
		height:auto;
	min-height:80px;

}
.oneitem > .sideTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.1em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 50%;/*アイコンの位置*/
  color:rgba(21,37,88,0.95) /*アイコン色*/
}

	.oneitemTop{display:flex;width:100%;}	
	
.oneitem .imgBox{width: 100%;
box-sizing: border-box;
  
	}		
.oneitem .imgBox img{
 object-fit: cover;
   width: 100%;
   height: 250px;margin:0;padding:0;box-sizing: border-box;
	}		

/*ここからボタンベース*/
.oneitem > .w_button {/*コレ*//*width: fit-content;*/
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.1em;
	height:auto;width:100%;
		margin:-90px 0px 0px 0px; 
	padding:20px 5%!important;
	
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.oneitem > .w_button::before,
.oneitem > .w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.oneitem > .w_button,
.oneitem > .w_button::before,
.oneitem > .w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.oneitem > .w_button {
    background:rgba(255,255,255,0.9); 
    color: #151515 !important;
	font-size:1.5rem;font-weight:500;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 3px;
}
.oneitem > .w_button:hover{
    background-color: #202427;color:#FFFFFF!important;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}
.oneitem > .w_button:hover ~ .firstsideText{	/*opacity: 0.8;*/
	transform: translateY(-4px);-webkit-transform: scale(1.03);
    -moz-transform: scale(1.03);
    -o-transform: scale(1.03);
    -ms-transform: scale(1.03);
    transform: scale(1.03);
	-moz-transition: -moz-transform 0.5s linear;
    -webkit-transition: -webkit-transform 0.5s linear;
    -o-transition: -o-transform 0.5s linear;
    -ms-transition: -ms-transform 0.5s linear;
    transition: transform 0.5s linear;
	color:#151515;font-weight:550;
}
	
/*ボタンベースここまで*/
	
	
	
	
	

.threeitem{position:relative;
	width:43%;margin:0 1%;
	box-sizing:border-box;height:auto;
	}
.threeitem > p{
	text-shadow:1px 1px 0 #FFFFFF;
	letter-spacing:2px;
	font-size:100%;
	}
	
.threeitem > .sideText{
	font-size:0.99rem;
	padding:5% 5% 20% 5%;
		width:100%;
	height:auto;
	min-height:150px;
	margin:0px;
	box-sizing: border-box;
	letter-spacing:0.02rem;line-height:200%;
	text-align:left;
	word-wrap: break-word;color:#3E3E3E;
	white-space: pre-wrap;/*background:rgba(237,237,237,1.00);*/transition: all 0.3s;
	}
	
.threeitem > .sideTitle{
	font-size:1.2rem;text-align:center;
	box-sizing: border-box;
	position: relative;
	/*padding-left: 10%;/*アイコン分のスペース*/
	/*padding-right:5%;*/
	padding:0!important;
	line-height: 1.2rem;
	/*margin-bottom:20px;*/
	width:100%;
		height:auto;
	min-height:80px;
	color:#151515;
	margin-bottom:30px;
	text-decoration:underline;word-wrap: break-word;white-space: pre-wrap;

}
.threeitem > .sideTitle:before {display:none;
  font-family: "Font Awesome 5 Free";
  content: "\f00c";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.1em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top: 0.0em;/*アイコンの位置*/
  color:rgba(21,37,88,0.95) /*アイコン色*/
}	

/*ここからボタンベース*/
.threeitem > .w_button {/*コレ*//*width: fit-content;*/
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.05em;
	height:auto;width:100%;
	padding:20px 0!important;
	margin:0px 0px 40px 0px; 
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.threeitem > .w_button::before,
.threeitem > .w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.threeitem > .w_button,
.threeitem > .w_button::before,
.threeitem > .w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.threeitem > .w_button {
    background:rgba(21,37,88,0.95); 
	border:solid 1px rgba(220,220,220,1.00);
    color: #f6f6f6 !important;
	font-size:1.6rem;
	font-weight:550;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 0px;
}
.threeitem > .w_button:hover{
    background-color: #202427;color:#FFFFFF!important;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}
.threeitem > .w_button:hover ~ .sideText{
    background-color:#E9E9E9;
	/*color:#FFFFFF;*/
}	
/*ボタンベースここまで*/

	
.brothers1 {
  cursor: pointer;
  width: 300px;
  height: 100px;
  padding: 20px 0;
  text-align: center;
  margin-top: 10px;
  color: #fff;
  background: #00CC99;
}

.brothers2 {
  width: 300px;
  height: 100px;
  padding: 20px 0;
  text-align: center;
  margin-top: 10px;
  color: #fff;
  background: orange;
  transition: all 0.3s;
}

.brothers1:hover + .brothers2 {
  background: pink;
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.threeitem .threeitem_Link .imgBox img{
height: 300px;width:100%;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}	
	

.twoitem{
	width:30%;margin:0 5% 100px 5%;
	box-sizing:border-box;
	}
.twoitem_Link:hover{opacity: 0.7;
	transform: translateY(-5px);
	transform: scale(1.2);
	}	
.twoitem > p{
	letter-spacing:0.05em;
	font-size:95%;
	color:#555555;
	line-height:180%;
		word-wrap: break-word;
	white-space: pre-wrap;

	}
	
.twoitem > .sideTitle{
	box-sizing: border-box;
	position: relative;
	padding-left: 2em;/*アイコン分のスペース*/
	padding-bottom:20px;
	line-height: 1.2rem;
	margin-bottom:30px;
	border-bottom:1px solid #19499c;
	  font-weight: 600;

}

.twoitem > .sideTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f00c";/*アイコンのユニコード*/
  font-weight: 900;
  position: absolute;/*絶対位置*/
  font-size: 1.4em;/*サイズ*/
  left: 0;/*アイコンの位置*/
  top:0;/*アイコンの位置*/
  color: #2876A8; /*アイコン色*/
}	
.twoitem .twoitem_Link .imgBox{
width:100%; 
  height:auto;
	}	
	
.twoitem .twoitem_Link .imgBox img{
height: 300px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}

	
.topArea{position:relative; height:100vh; width:100%;}	
	
.main_img_wrapper{
	position:relative;
	height:100vh;
	min-width:1080px;
	}
.main_imgBox {
	width:100%;
	margin:0 auto;
	height:300px;
	min-width:1080px;
	background-position:center top;
	background:0 0 no-repeat;
	background-color:none;
	background-size:cover;
	/*padding-top: 33.75%;*/
}
	
.main_imgBoxCase{
	background-position:center center;	
		width:100%;box-sizing: border-box;
	margin:0 auto;
	height:300px;	min-width:1080px;
background-color:none;/*rgba(255,255,255,0.9);*/}
	
	
.main_img_wrapper .s_main_imgBox{
	display:none;
	}	
.main_logo {
    z-index:11;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:100%;
    height:300px;
	background-color:rgba(255,255,255,0.00);
}
.main_logo_img {
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:250px;
    height:auto;
}	
.main_logo_img2 {
    position: absolute;
    top:80%;
    left:45%;
    transform:translate(-50%,-50%);	transform: skew(-15deg);
    width:auto;
    height:auto;
    background:rgba(21,37,88,0.95); 
	padding:20px 25px;
}
.main_logo_img2{
   font-size:120%;
	color:#FFFFFF;letter-spacing:0.1rem;
	font-weight:450;
}	
		
	
.main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: 850px;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 9s 0s infinite;
    animation: anime 9s 0s infinite;
	}

    .main_img:nth-of-type(2) {
      -webkit-animation-delay: 1.5s;
      animation-delay: 1.5s; }

    .main_img:nth-of-type(3) {
      -webkit-animation-delay: 3s;
      animation-delay: 3s; }

    .main_img:nth-of-type(4) {
      -webkit-animation-delay: 4.5s;
      animation-delay: 4.5s; }

    /*.main_img:nth-of-type(5) {
      -webkit-animation-delay: 8s;
      animation-delay: 8s; }*/

    /*.main_img:nth-of-type(6) {
      -webkit-animation-delay: 10s;
      animation-delay: 10s; }*/

@keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 0.7;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         transform: scale(1.03);
                    z-index:9;
    }
    100% { opacity: 0 }
}
@-webkit-keyframes anime {
    0% {
        opacity: 0;
    }
    8% {
        opacity: 1;
    }
    17% {
        opacity: 1;
    }
    25% {
        opacity: 0;
         -webkit-transform: scale(1.1);
            z-index:9;
    }
    100% { opacity: 0 }
}	
	
	
.l-hero {
	position:relative;
	margin:0px 0 0 0;
	padding:0;
	height:auto;
	min-width:1080px;
	width:100%;
	background-size:cover;
}
	

	
	
  .l-hero__bg {
	  animation-name: Topslide;
    position: absolute;
    z-index: 0;
    top: 0;
    left: 0;
    width: 100%;
    height:100vh;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;/*padding-top: 33.75%;*/
    opacity: 0;
    -webkit-animation:  Topslide 36s 0s infinite;
    animation: Topslide 36s 0s infinite; }
  .l-hero__bg:nth-of-type(2) {
    -webkit-animation-delay: 6s;
    animation-delay: 6s; }
  .l-hero__bg:nth-of-type(3) {
    -webkit-animation-delay: 12s;
    animation-delay: 12s; }
  .l-hero__bg:nth-of-type(4) {
    -webkit-animation-delay: 18s;
    animation-delay: 18s; }
  .l-hero__bg:nth-of-type(5) {
    -webkit-animation-delay: 24s;
    animation-delay: 24s; }
  .l-hero__bg:nth-of-type(6) {
    -webkit-animation-delay: 30s;
    animation-delay: 30s; }
@keyframes Topslide {
  0% {
    opacity: 0; }
  8% {
    opacity: 1; }
  17% {
    opacity: 1; }
  25% {
    opacity: 0;
    transform: scale(1.0);
    z-index: 9; }
  100% {
    opacity: 0; } }	


.l-hero__inner{height:400px;width:100%;background:#FFFFFF;}
	
	
	
	


	
	
.columntextTitle{
	margin:10px auto;
	text-align:center;
	font-size:120%;
	width:80%; 
	height:auto;
	box-sizing:border-box;
	letter-spacing:0;
  padding: 0.5em 1em;
  text-decoration: none;


	font-weight: bold;
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}
	
	
.maintextTitle {
	text-align:center!important;
	margin:20px auto 20px auto!important;
  position: relative;
	font-size:140%!important;
	width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.1rem;
  padding: 2.5em 0;  
	text-decoration: none;
	/*background:url("../img/logo.png") center center no-repeat;*/
	object-fit:cover;
/*background-image:url(../img/titlebg_001.jpg);  
	background-image:center center no-repeat;
	background-size:contain;
	object-fit: cover;*/	/*object-fit: cover; /* この一行を追加するだけ！ */
	z-index:2;  
}

.mt_under{text-align:center; box-sizing: border-box; margin:0 auto;font-size:80%!important;}
	
	
	
.maintextTitle:before {display:none;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -40px;
  border: 40px solid transparent;
  border-top: 40px solid rgba(17,66,164,1.00);
}
.maintextTitle:after {display:none;
  content: "";
  display: block;
display:none;	
  height: 3px;
	margin-top:10px;
	background:#FFFFFF;  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  /*background: -webkit-linear-gradient(to right, rgb(230, 200, 200), transparent);*/
  /*background: linear-gradient(to right, rgb(58,88, 133), transparent);*/
}	
	

.flowTitle {
	text-align:center!important;
	margin:20px auto 70px auto!important;
  position: relative;
	font-size:160%!important;
	width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.4em;
  padding: 2.5em 0;  
	text-decoration: none;
	background:#3C5BB0;
	/*background:url("../img/logo.png") center center no-repeat;*/
	object-fit:cover;
/*background-image:url(../img/titlebg_001.jpg);  
	background-image:center center no-repeat;
	background-size:contain;
	object-fit: cover;*/	/*object-fit: cover; /* この一行を追加するだけ！ */
	z-index:2;  
	color:#FFFFFF;
}
	
.flowtextTitle {
	text-align:center!important;
	margin:20px auto 70px auto!important;
  position: relative;
	font-size:160%!important;
	width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.4em;
  padding: 0;  
	text-decoration: none;
	/*background:url("../img/logo.png") center center no-repeat;*/
	object-fit:cover;
/*background-image:url(../img/titlebg_001.jpg);  
	background-image:center center no-repeat;
	background-size:contain;
	object-fit: cover;*/	/*object-fit: cover; /* この一行を追加するだけ！ */
	z-index:2;  
}

.mt_under{text-align:center; box-sizing: border-box; margin:0 auto;font-size:80%!important;}
	
	
	
.flowtextTitle:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -40px;
  border: 40px solid transparent;
  border-top: 40px solid #444444;
}
.flowtextTitle:after {
  content: "";
  display: block;
display:none;	
  height: 3px;
	margin-top:10px;
	background:#B1C3D9;  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
  /*background: -webkit-linear-gradient(to right, rgb(230, 200, 200), transparent);*/
  /*background: linear-gradient(to right, rgb(58,88, 133), transparent);*/
}	
	
	
.heading01 {
	position: relative;
	font-size: 3.5rem!important;
	text-align: center;
	box-sizing: border-box;
	margin:100px auto 100px auto;
	letter-spacing:0.2rem;
	color:#333333;
	font-weight:550;
	word-wrap: break-word;
	white-space: pre-wrap;

	line-height:4.5rem!important;
}

.heading01::before {
	content: attr(data-number);
	display: block;
	margin-bottom: 100px;
	color: rgba(17,66,164,1.00);
	font-size: 50%!important;
}

.heading01::after {
	content: '';
	position: absolute;
	top: 50px;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 25px;
	background-color: rgba(17,66,164,1.00);
}	
	
	
	
	
	
.columnBox{margin:0px auto;
	box-sizing:border-box;
	position:relative;
	width:100%;
	min-width:100%;
	padding:0;
	height:auto;
	letter-spacing:2px;
	}
	.columnBox p{	
		-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
		margin:20px auto;
		width:100%; 
		font-size:100%;
}
.subcolumnCase{
		width:90%;
		height:auto;
		margin:30px auto; 
		padding:0; 
		box-sizing:border-box;
		position:relative;
	overflow:hidden;
	}
	
.subcaserightText{
		width:50%;
	margin:0;
	padding-left:5%;
		height:auto;
		float:right;
		box-sizing:border-box;

}
.subcaserightText p{
	letter-spacing:0.2rem ;
	text-align:left;
	box-sizing:border-box;	
	width:100%!important;
	padding:0px!important;
	line-height:200%!important;
	font-size:100%;
	margin:0 auto;
}	
	

p.closeupText{
	font-size:120%!important;
	text-align:center;
	box-sizing:border-box;
	width:100%;letter-spacing:0.1em;
	height:auto; 
	margin:10px auto 100px auto; 
	padding:20px 0!important; 
	line-height:200%; 
	/*background:#c6bc9b;*/
	background:transparent;
	border:solid 2px #19499c;
	color: #19499c!important;
	}	
	
/*ここからボタンベース*/
.w_button {/*コレ*//*width: fit-content;*/
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.1em;
	height:auto;width:100%;
		margin:10px 0px 50px 0px; 
	padding:20px 0!important;
	
	line-height:200%; 
    text-align: center;
    cursor: pointer;
    text-decoration: none!important;
    outline: none;
}
.w_button::before,
.w_button::after {
    position: absolute;
    z-index: -1;
    display: block;
    content: '';
}
.w_button,
.w_button::before,
.w_button::after {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: all .3s;
    transition: all .3s;
}
	
.w_button {
    background:rgba(21,37,88,0.95); 
    color: #fff !important;
	font-size:120%;
    background-size: 200% 100%;	
    background-image: -webkit-linear-gradient(left, transparent 50%, rgba(27, 33, 39, 1) 50%);	
    background-image: linear-gradient(to right, transparent 50%, rgba(27, 33, 39, 1) 50%);
    -webkit-transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
    transition: background-position .5s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 3px;
}
.w_button:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
/*ボタンベースここまで*/

	
span.closeupTitletext{
	color:#666666;
	}
.columnCaseSec{
		width:80%;
		height:auto;
		margin:50px auto 0 auto; 
		padding:12%; 
		box-sizing:border-box;
		position:relative;
background:#FFFFFF;/*rgba(0, 0, 0, 0.5);*/
	}
	.columnCaseSec p{font-size:95%; letter-spacing:0.08rem;color:#FFFFFF;text-align:left;}	
	

	
.caseImg{
		width:50%;margin:10px auto 0 auto;
		height:auto;
		float:left;
		box-sizing:border-box;
}
.caseImg img{
	width: 100%;
	height: auto;
	object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.caserightText{
		width:50%;margin:0;
		height:auto;
		float:right;
		box-sizing:border-box;
	padding:1% 3%;

}
p.caserightText{
	font-size:100%!important;
		width:100%;margin:0;padding:0 0 0 10%;
	text-align:left;
		height:auto;
		float:right;
		box-sizing:border-box;
	letter-spacing:0.2rem ;
	line-height:200%!important;

}
	
	
.textAreaLittle{
	position:relative;
	float:left;
	text-align:center;
	width:40%; 
	height:auto; 
	margin:10px 0 0 0;
	padding:5%; 
	background:#FFFFEE; 
	letter-spacing:4px;
	line-height:300%;
	}	
.infoColumn{

		font-size:100%;
		text-align:center; 
		padding:10px; 
		margin:10px auto;
		box-sizing:border-box;
		line-height:250%!important;
		background:#4d4d4d;
		width:80%; 
		height:auto;
	}
	
	
article{
	margin:0 10%; 
	width:70%; 
	height:auto; 
	padding:5%;
	background-color:transparent; 
	opacity:1.0;
	} 

/*.twi_timeline{position:fixed; top:30px; right:30px;margin:20px auto;width:20%; height:50%; max-height:600px; overflow:scroll;}*/	
	
	
	
.menuImg{text-align:center;margin:0 auto 10px auto; width:80%; height:auto;}	
.home_smartImg{display:none;}
.vd{text-align:center;margin:0 auto;}	
/*form-fix*/

	.policy{box-sizing:border-box;padding:20px; width:80%; height:auto; margin:250px auto 0px auto; text-align:left; background:#FFFFFF;}	
	.policy p{font-size:100%!important;letter-spacing:1px;line-height:200%;}
	
#fix{
	position:fixed!important;
	width:200px; 
	height:auto; 
	bottom:100px; 
	right:40px;
	padding:10px;
    font-size:170%;
	font-weight:bold;
  display: inline-block;
  text-decoration: none;
  color: #FFF;
  background: rgba(41,114,212,0.9);/*色*/
  border-radius: 4px;/*角の丸み*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);
  border: solid 2px #20789E;/*線色*/
	margin:10px auto;
	overflow:hidden;
	text-align:center;
	border-spacing:3px;
	letter-spacing:0;
   z-index:9999;
	}


/*footer*/
#footer {
	width:100%;
	box-sizing:border-box;
	position: relative;
	min-width:1180px;
	margin-top: 0px;
	color: #666666;
}
#footer a {
	padding:10px;
	text-decoration: none;
	color: #666666;
}
#footer a:hover {
	text-decoration: underline;
}
#footer .primary {
	text-align:center;
    display: flex;
	justify-content: center;
	flex-wrap: wrap;
	padding: 50px 0px;
	background:#f7f7f7; 
	}
	
#footer .primary > .imgBox{
height:100px;}	
	

#footer .secondary{
	text-align:center;
	display: flex;
	padding: 0px 0px;
	background:#f7f7f7; 
}
	
	
#footer .tertiary > p{
	text-align:center;
	justify-content: center;
	padding: 30px 0px;
	background:#f7f7f7; line-height:150%;
	}
#footer .tertiary > p{
letter-spacing:0.2rem;	}	
	
/* footer-logo */
#footer .logo {
  position: relative;
  padding: 0;
  margin: 80px 0 0px 20px;
  font-size:1.4rem;
  font-weight: normal;
}
/*
#footer .logo::before {
  position: absolute;
  top: 5px;
  left: 0;
  content: url(../img/logo_002.png);
 display: inline-block;
  width: auto!important;
  height: 5px!important;
}*/
/* address */

.address {
  margin: 10px 0 0;
  padding: 0;
}



/* navi */

.navi-row {
  display: flex;width:100%;
  margin: 40px auto 0 auto;
	text-align:center;
}
#footer .navi {width:100%;box-sizing:border-box;
  position: relative;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .navi li {
  display: inline-block;
  margin: 0 0px 0 0;
  padding: 0;
}
#footer .navi li:first-child {
  margin-left: 0;
}



/* sns-navi */

#footer .sns-navi {
  margin: 0 0 0 auto;
  padding: 0;
}
#footer .sns-navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
  font-size: 20px;
}
#footer .sns-navi li:last-child {
  margin-right: 0;
}


/* sitenavi */

#footer .sitenavi {
  width: 50%;
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .sitenavi li {
  display: inline-block;
  margin: 0 0 0 20px;
  padding: 0;
}
#footer .sitenavi li:first-child {
  margin-left: 0;
}


/* copyright */

#footer .copyright {color:#280000;
  width:100%;
  margin: 0 auto;
  padding: 20px 0;
  text-align:center; 	background:#f7f7f7; 

}



}

@media all and (-ms-high-contrast: none) {
}
