@charset "utf-8";
/* CSS Document */




@-webkit-keyframes pulse {
 from {opacity: 1.0;}
 to {opacity: 0.2;}
}

@media screen and (max-width: 800px)
{/*-----------wrap start--------------*/

html,body{
margin:0;
padding:0;
width:100%;
height:auto;
overflow-x:hidden;
overflow-y:auto;
	font-size:14px;
	/*background:
	-webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#F5E1A7),
        to(#FFFFE1)
        );
	/*firefox*/
	/*	background: -moz-linear-gradient(top, #F5E1A7, #FFFFE1
        );
	/*IE*/
    	/*filter: 
	progid:DXImageTransform.Microsoft.gradient
	(GradientType=0, startColorstr='#F5E1A7', endColorstr='#FFFFE1')
    ;*/
	font-size:16px!important;
	font-family: zen-antique, sans-serif!important;
	font-weight: 400;
	font-style: normal;
	
}
img {
-webkit-touch-callout:none;
  -webkit-user-select:none;
  -moz-touch-callout:none;
  -moz-user-select:none;
  touch-callout:none;
  user-select:none;
}	
h1{ 
	text-align:center;
	font-size:150%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0;
  padding: 1em 1em;
  text-decoration: none;
  border-bottom: solid 8px #5E5E66;
  color: #5E5E66;
  font-weight: bold;
}
	body p{color:#666666;}
	
	
h2 {
	padding: 1.7rem 2rem 1.7rem 2rem;
	color: #fff;
	transform: skew(-15deg);
	font-size:1.2rem;
	font-weight:550;
	background-image: linear-gradient(to right, rgba(21,37,88,0.95), rgba(21,37,150,0.95) 100%);
	box-sizing:border-box;
	width:90%;margin:20px 5% 40px 5%;
}

h3 {
	padding: 1rem 0.3rem 1rem 0.3rem;
	color: #646464;
	font-size:0.8rem;
	font-weight:480;
	box-sizing:border-box;
	width:92%;margin:0px 4% 0px 4%;
	letter-spacing:0.05rem!important;
	line-height:1.4rem;
		text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
margin:0 auto 30px auto;
}
	
h5 {
	padding: 1rem 0.2rem 1rem 0.2rem;
	color: #151515;
	font-size:1.0rem;
	font-weight:600;
	display: inline-block;
	box-sizing:border-box;
	width:100%;min-width:60%;margin:30px 0% 30px 0%;
	letter-spacing:0.05rem!important;
	line-height:1.8rem;
		text-align:center;
	word-wrap: break-word;
	white-space: pre-wrap;
	border-bottom:solid 3px rgba(10,70,119,1.00);

}
	
#page-top {
    position: fixed;
    bottom: 10px;
    right: 10px;
    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;
}

/*-----------toggle setting--------------*/	

/*全体レイアウト*/	
nav{font-size:100%;position:fixed;
 width: 100%;
 height: 80px;
	  background:#F0F0F0;
z-index:9998;
	justify-content: space-between;
}
.drawer{
 display: flex;
 flex-direction: row;
 align-items: center;
 justify-content: space-between;
 position: relative;
	box-sizing:border-box;
 height: 70px;
 padding: 5px 2%;
	font-size:80%;
}

/*トグル部分*/
.navbar_toggle{
 z-index:9999; transform: translateY(30%);

}
.navbar_brand{	
	display:flex; 
	justify-content: space-between;
	box-sizing:border-box;
	width:100%; 
	height:auto;
	text-align:center; 
	margin:0px auto 0px auto;
 transform: translateY(15%);

	color:#FFFFFF;
	}

.smartlogo{width:80px; height:50px;margin:5px 0;}
.smartTellogo{width:180px; height:50px;margin:5px 0;}
	
	.headerLink{display:flex; justify-content: space-between;margin:0;padding:0;
}
.navbar_toggle_icon {
 position: relative;
 display: block;
 height: 2px;
 width: 30px;
 background:#454545;
 -webkit-transition: ease .5s;
 transition: ease .5s;
}
.navbar_toggle_icon:nth-child(1) {
 top: 0px;
}
.navbar_toggle_icon:nth-child(2) {
 margin: 8px 0;
}
.navbar_toggle_icon:nth-child(3) {
 top: 0;
}
/*OPEN時の動き*/
.navbar_toggle.open .navbar_toggle_icon:nth-child(1) {
 top: 10px;
 -webkit-transform: rotate(45deg);
 transform: rotate(45deg);
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(2) {
 -webkit-transform: translateY(-50%);
 transform: translateY(-50%);
 opacity: 0;
}
.navbar_toggle.open .navbar_toggle_icon:nth-child(3) {
 top: -10px;
 -webkit-transform: rotate(-45deg);
 transform: rotate(-45deg);
}

/*ナビゲーション部分*/
.menu{
	margin-top:20px;
 -webkit-transform: translateX(-100%);
 transform: translateX(-100%);
 -webkit-transition:ease .5s;
 transition:ease .5s;
 z-index:9999;
}
.menu ul li{
 padding: 1em 2em 3em 2em;
	line-height:150%;
 border-bottom: 1px solid #CCC;
	 z-index:9999;
	
	box-sizing:border-box;
	width:100%;height:30px;
	background:#FFFFFF;
	opacity:0.9;

}
.menu ul li a > span.Btn-Icon{
 float:right;color:#ACACAC;font-size:60%;
}	
	
.menu ul li a{color:#666666;}
	
	
	
	
	
	
	
/*OPEN時の動き*/
.menu.open {
 -webkit-transform:translateX(0);
 transform:translateX(0);
 overflow-y: auto;
 -webkit-overflow-scrolling: touch;
}
/*-----------toggle setting--------------*/	

body a{
    text-decoration:none;
}
	
.gnav{
	display:none;
	}
	
.header_bar{
	display:none!important;
	}
div.mainanimation_box {
  display:none!important;}
		

.news-list{
  list-style: none outside;
  margin: 0;
  padding: 5%;
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 10px 10px;
}
.news-list .item:first-child a{
  border-top: 1px solid rgba(21,37,88,0.95);
}
.news-list .item .date{
  margin: 0;
  min-width: 120px;
  font-size: 0.5rem;
  color: #151515;
  padding: 0 0px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 120px;
  padding: 0 10px 0 0;
}
.news-list .item .category span{
  background: rgba(21,37,88,0.95);
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 2.5px 5px;
  font-size: 0.45rem;
  line-height: 1.0rem;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  color: #972E2E;
}

@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;
}
	.title{font-size:0.5rem;}	
}
	
.textArea{
	box-sizing:border-box; 
	position:relative;
	text-align:center;
	width:100%;
	height:auto;
	padding:0!important;
	background:#FFFFFF;
	margin:0 auto;
	overflow:hidden;
	}
	
.textAreacompany{
	box-sizing:border-box; 
	position:relative;
	text-align:center;
	width:80%;
	height:auto;
	margin:10px auto;
	padding:2% 2%;
	background:#FFFFFF;
	line-height:200%;
	font-size:80%;
	letter-spacing:0px;
	overflow:hidden;
	}

.imgBox , .eximgbox{position:relative;
	margin:0 auto;
	width:100%;
	height:auto; 
	background:transparent;
	}
	
.imgBox img{
width: 100%;max-width:800px;
  height:auto;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.eximgBox img{
width: 100%;
  height: 200px;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
	
	hr{background-color:#888888;}

.textTitle{
	text-align:center!important;
	font-size:100%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.05rem;
  padding: 0.7em 1em;
  text-decoration: none;
  color: #666666;
	font-weight:bold;
	background:transparent;
margin:10px 0 10px 0;
}
	
.columnBox{margin:0px auto;
	box-sizing:border-box;
	position:relative;
	width:100%;
	min-width:100%;
	padding:0;
	height:auto;
	letter-spacing:0.02rem;
	}
	.columnBox p{	
		-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
		margin:0px auto;
		width:100%; 
		font-size:100%;
}
.subcolumnCase{
		width:80%;
		height:auto;
		margin:0px auto; 
		padding:0; 
		box-sizing:border-box;
		position:relative;
	}
	
.subcaserightText{
		width:100%;
	margin:0 auto;
		height:auto;
		box-sizing:border-box;

}
.subcaserightText p{
	letter-spacing:0.1rem ;
	box-sizing:border-box;	
	width:100%!important;
	font-size:90%;
	margin:0 auto;
}	

p.closeupText{
	text-align:center!important;
	box-sizing:border-box;
	width:auto;
	height:auto; 
	margin:20px auto 15px auto;
	padding:5% auto!important;
	line-height:100%;
	background:#cc6f69;	
	color:#FFFFFF; 
	font-size:80%; 
	letter-spacing:0.2em;
	border-radius:2px;
	box-shadow:1px 1px 1.5px #000000;
	border-bottom: solid 2px #40425F;
	}

	
.columnCase{
		width:100%;
		height:auto;
		margin:10px auto; 
		padding:3%; 
		box-sizing:border-box;
		position:relative;
	}
	
	
.columnCaseSec{
		width:90%;
		height:auto;
		margin:60px auto 0 auto; 
		padding:7%; 
		box-sizing:border-box;
		position:relative;
background:rgba(0, 0, 0, 0.5);
	}
.columnCaseSec p{font-size:75%; letter-spacing:0.05rem;line-height:85%;color:#FFFFFF;text-align:right;}	
	
.subtextTitle{
	text-align:center!important;
	font-size:100%;
	width:100%;
	min-width:100%;line-height:1.3rem; 
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.1rem;
	margin:0 auto 20px auto;
  padding: 1.2em 0.8rem;
  text-decoration: none;
	border-bottom: solid 4px #cc6f69;
  color: #cc6f69;	
	background:transparent;
}
.subtextTitle:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 10px;
    margin-left: 10px;
    border: transparent solid 10px;
    border-left-color:#cc6f69;
    vertical-align: -20%;
}
	
.contact-wrapper .subtextTitle {
	text-align:center!important;
	font-size:100%;
	width:100%;
	min-width:100%;line-height:1.3rem; 
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.1rem;
	margin:0 auto 20px auto;
  padding: 1.2em 0.8rem;
  text-decoration: none;
	border-bottom: solid 2px #4B4B4B;
  color:#4B4B4B;	
	background:transparent;
}	
.contact-wrapper .subtextTitle:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 10px;
    margin-left: 10px;
    border: transparent solid 10px;
    border-left-color:#474747;
    vertical-align: -20%;
}

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

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

}
.oneflexbox {
	position:relative;
	display: -webkit-flex!important;
	width:100%;
	margin:0 0%;
    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;	
}	
.container-001{margin-bottom:100px;box-sizing:border-box;width:100%; height:auto; position:relative; padding:5%; background:rgba(232,232,232,1.00)/*rgba(198,216,229,1.00)*/;}	
	
.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{z-index:9999;font-size:1.1rem;position:absolute; top:10px; left:0px; box-sizing: border-box;width:auto;height:auto;padding:1rem 1rem;background:rgba(31,48,124,1.00);color:#FFFFFF;}	
	.threeitem > figure{z-index:9999;font-size:1.1rem;position:absolute; top:0px; left:0px; box-sizing: border-box;width:auto;height:auto;padding:1rem 1rem;background:rgba(31,48,124,1.00);color:#FFFFFF;}	
	.oneitem > .merit{position:absolute; top:0px; left:0px; box-sizing: border-box; padding:1.0rem 1rem 1.0rem 1rem!important;background:rgba(123,107,38,1.00)!important;color:#F1F1F1;z-index: 9999;}	
		.oneitem > .works{position:absolute; top:0px; left:0px; box-sizing: border-box; padding:1.0rem 1rem 1.0rem 1rem!important;background:rgba(42,231,255,1.00)!important;color:#555555;z-index: 9999;}	
	.oneitem > h4 {color:#151515;font-weight:520;font-size:1.2rem;margin-left:50px;margin-bottom:20px;}
.oneitem .threeitem_Link{
	
	}	
	
.oneitem > p{
	/*text-shadow:1px 1px 0 #FFFFFF;*/
	font-size:100%;
	}
	
.oneitem > .sideText{
	font-size:0.8rem;
	padding:5% 5%;
		width:100%;
	height:auto;
	min-height:70px;
	margin:0px;
	box-sizing: border-box;
	letter-spacing:0.1rem;line-height:200%;
	text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	background:rgba(237,237,237,0.00);transition: all 0.3s;
	}
	
.oneitem > .firstsideText{
	font-size:0.8rem;
	padding:5% 5%;
		width:100%;
	height:auto;
	min-height:70px;
	margin:0px;
	box-sizing: border-box;
	letter-spacing:0.1rem;line-height:200%;
	text-align:center;
	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:0.9rem;
	box-sizing: border-box;
	position: relative;
	padding:5% 10%;/*アイコン分のスペース*/
	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: 3%;/*アイコンの位置*/
  top: 25%;/*アイコンの位置*/
  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:180px;margin:0;padding:0;box-sizing: border-box;
	}		

/*ここからボタンベース*/
.oneitem > .w_button {/*コレ*//*width: fit-content;*/
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.05em;
	height:auto;width:100%;
		margin:0px 0px 0px 0px; 
	padding:10px 2%!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.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 .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;
}
.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 ~ .sideText{	/*opacity: 0.8;*/
	transform: translateY(-4px);-webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -o-transform: scale(1.2);
    -ms-transform: scale(1.2);
    transform: scale(1.2);
	-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;
}	
/*ボタンベースここまで*/
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	.threeboxCase .closeupText{color:#cc6f69; font-size:80%; letter-spacing:0.2em;}
	.threeboxCase{
		width:100%; 
		height:auto; 
		position:relative;
		box-sizing:border-box;
		margin:0 auto;
		padding:0;}
	.threebox{
		width:100%;
		height:auto;
		box-sizing:border-box; 
		margin:0 auto;
		padding:0 10%;
	}	
	.threebox p{
		text-align:center;
		box-sizing:border-box;
		height:auto;
		width:100%!important;
		letter-spacing:0.1rem; 
		padding:5%;
		line-height:150%!important;
		font-size:100%;
		margin:0 auto;
		color:#666666;
	}

	.threeitem{position:relative;}	
	
.threeitem > .sideText{
	font-size:80%;
	padding:10% 10%;
		width:100%;
	margin:0px;
	box-sizing: border-box;
	letter-spacing:0.0rem;line-height:200%;
	text-align:left;
	word-wrap: break-word;
	white-space: pre-wrap;
	background:rgba(245,245,245,1.00);
	}
	
.threeitem > .sideTitle{
	font-size:85%;
	box-sizing: border-box;
	position: relative;
	padding-left: 10%;/*アイコン分のスペース*/
	padding-bottom:20px;
	line-height: 1.2rem;
	margin-bottom:10px;
}	
	
.threeitem > .sideTitle:before {
  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 .imgBox{width: 100%;
box-sizing: border-box;
  
	}		
.threeitem .imgBox img{
 object-fit: cover;
   width: 100%;
   height:180px;margin:0;padding:0;box-sizing: border-box;
	}		

	
/*ここからボタンベース*/
.threeitem > .w_button {/*コレ*//*width: fit-content;*/
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.05em;
	height:auto;width:100%;
		margin:10px 0px 25px 0px; 
	padding:20px 0!important;
	
	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:transparent; 
	border-bottom:solid 2px #151515;
    color: #151515 !important;
	font-size:1.05rem;font-weight:550;
	/*box-shadow: 5px 5px 5px 0px #454545;*/
border-radius: 3px;
}
.threeitem > .w_button:hover {
    background-color:transparent;
	color:#151515!important;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
/*ボタンベースここまで*/
	
	
.quarterBox{
	potision:relative;
	margin:0 auto;
	box-sizing:border-box;
	width:100%;
	height:auto;
	}
.quarterBoxtextTitle{
	margin:0px 0 0px 0;
	text-align:center!important;
	font-size:80%!important;
	width:80%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.2rem;
	border-bottom:2px solid #3a5885;
	padding:20px 0rem;
	text-decoration: none;
	color:#3a5885;
	}
.quarterBox p{
	letter-spacing: 0.15rem; 
	line-height:1.2rem; 
	margin:20px auto; 
	text-align: center;
	}
.quarterColumn{
	width:100%;
	height:auto;
	min-height:auto;
	margin:0;
	padding:1.5%;
	box-sizing:border-box;
	float:left;
	background:#FFFFFF;
	}
.quarterColumn p{
	letter-spacing: 0.2rem; 
	line-height:1.2rem; 
	color:#626262; 
	font-size:80%;
	text-align:left;
	padding:0 10%;
	}
.quarterColumn > .imgBox > img{
	width:100%;
	height:300px;
	object-fit: cover; /* この一行を追加するだけ！ */
	}
	
.quarterColumn{
  overflow:hidden;
}
.quarterColumn{
  position:relative;
}
.quarterColumn:last-child{
  padding-right: 1em;
}
.quarterColumn:last-child:before,
.quarterColumn:last-child:after{
  display:none;
}	
	

	
div.textareaBg{position:relative; box-sizing: border-box; width:100%;padding:0 2.5%;margin:0 auto!important;}
	
	
.columnBox{
	box-sizing:border-box;
	margin:0 auto;
	width:100%;
	line-height:200%;
	padding:20px;
	height:auto;
	background:#FFFFFF;
	}	
	
.textAreaLittle{
	position:relative;
	float:left;
	text-align:center;
	width:40%; 
	height:auto; 
	margin:10px 0 0 0;
	padding:5%; 
	background:#E8EAF6; 
	letter-spacing:0.1rem;
	line-height:300%;
	}	
.infoColumn{
		color:#666666;
		font-size:90%;
		text-align:center; 
		padding:10px; 
		margin:10px auto;
		box-sizing:border-box;
		line-height:220%!important;
		background:#4682B4;
		width:80%; 
		height:auto;
	}
		.infoColumn a{
		color:#666666;
	}
	
	
.header_bar{
	box-sizing:border-box; position:absolute; top:65px; left:0; height:120px; width:120px; background:transparent; opacity:1; z-index:9996; margin:0; padding:0;
	}
.header_bar #navigation{
	display:none;
	}
.smartbar{display:none;
	position:absolute; top:65;left:120px; width:280px; height:auto;
	}
	
	
	
	
.home_smartImg	{
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
	width:100%;
	height:auto;
	margin:10px auto 10px auto;
	padding:5px 0;
	text-align:center;
	}
	.home_smartImg p a{line-height:100%; font-size:100%;
		color:#FFFFFF!important;
	}	
	
	
	
.telNumber{
	display:none;box-sizing:border-box; position:absolute; top:30px; right:30px; height:auto; margin:0 auto;color:#FFFFFF;float:right; background:transparent; font-size:120px;z-index:9997;}

	#nav{display:none;}
	

.slide-container {
	position:absolute;
	top:30px;
	left:0;
	overflow:hidden;
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
text-align:center;
 width:100%;
  height:auto;
  color: #010101;
  background:transparent;
}



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


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





.bt_text{height:auto; width:90%; margin:0 auto;padding:0;}
.bt_img{width:100%; height:auto; object-fit: cover; /* この一行を追加するだけ！ */}
.bt_img img{width:auto;
    height:auto;
    max-width:100%;
	max-height:100%;object-fit: cover; /* この一行を追加するだけ！ */}


	.headcontainer{display:none!important;}
	
	
	
.container {box-sizing:border-box;
  max-width: 801px;
  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 {
  position: relative;
  display: block;
  flex: 1 0 100%;
  width: 100%;
       height: 400px;
  overflow: hidden;
  transition: all 300ms ease-out;
  vertical-align: top;
  box-sizing: border-box;
  white-space: normal; }
	
.carousel__slide figcaption{display:none;}
	
  .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: 400px;
}
  .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{
width:100%;-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
	height:auto;
	margin:0px auto;
display: -webkit-flex;
    display: flex;  
	flex-direction: column;
  min-height: 100vh;
}
	
#contactWrapper	
{
width:100%;-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
	height:auto;
	margin:100px auto 0 auto;
display: -webkit-flex;
    display: flex;  
	flex-direction: column;
  min-height: 100vh;
}	
#subWrapper{
width:100%;-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
	margin-top:20px auto 10px auto;
	padding:40px 5px 10px 5px;
display: -webkit-flex;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
	background:transparent;}
	
	
main{
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	margin:0 auto; 
	width:100%; 
	height:auto; 
	} 
	
article{
	width:100%; 
	height:auto; 
	margin:0 auto;
	background:transparent;
	}
	
article video{
	width:100%; 
	height:auto; 
	margin:0 auto;
	}


.section-header {
  text-align: center;
  margin: 0 auto;
  padding-top:10px;
  margin-bottom:10px;
  font: 300 60px 'Oswald', sans-serif;
  letter-spacing: 6px;
  color: #fff;

}
.checkbox{margin:0;padding:0;}
	
.jumpButton{box-sizing:border-box;display: block;width:100%;height:auto;
position: relative;
padding:5% 1%;
	margin:0 auto;
border-bottom: 1px solid #D9D9D6;
background:#F9F9F9;
color: #3E3E3E;
font-size: 95%;
text-decoration: none;
}
.jumpButton::after {
display: block;
content: "";
position: absolute;
top: 50%;
right: 10px;
width: 0;
height: 0;
margin: -3px 0 0 0;
border-top: 8px solid #3E3E3E;
border-left: 8px solid transparent;
-webkit-transform: rotate(45deg);
        transform: rotate(45deg);
}
	
	/* Begin Left Contact Page */
.form-horizontal {box-sizing: border-box;
	width:100%;
margin:0 auto;
  font-family: 'Lato';
  font-weight: 400;
}


.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;
}

.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:100%;margin:0 auto;
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: #444444;
}

.place {
  margin-left: 62px;
}

.phone {
  margin-left: 56px;
}

.gmail {
  margin-left: 53px;
}

.contact-text a {
  color: #444444;
  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(255,255,255);
  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 {
  color:#C9C9C9;
  letter-spacing: 1px;
  text-align: center;
	height:30px;
}

hr {
  border-color: rgba(255,255,255,.8); ;
}



	

/*斜めBG領域*/
	
	
.contents {
  position: relative;
  overflow: hidden;
  margin: 0;
  padding: 0;
}

.contents:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  margin: 0% 0% 0;
  background:transparent;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(0deg);
  -ms-transform: rotate(0deg);
  transform: rotate(0deg);
  z-index: -1;
	opacity:1.0;
}

.contents_inner {
  box-sizing: border-box;
  width: 100%;
  height:auto;
  margin: 0 auto;
  padding: 0px 10px 0px;
  color: #fff;
	/*background:rgba(255,255,255,0.03);*/
  text-align: center;/*box-shadow: 0px 0px 16px -6px rgba(0,0,0,0.6);*/
}
.contents_inner p{
  line-height:200%;
	text-align:left;
}
	
.contents_inner img{
 width:100%;height:auto;object-fit: cover; /* この一行を追加するだけ！ */
}	
.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;
  color: #fff;
  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;
    margin: 0 auto 20px auto;
    background:#FFFFFF;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}
.contentsbox2 {
    width: 100%;
	height:auto;min-height:100vh;
    margin: 0 auto;
    background:#FFFFFF;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}
.contentsbox3 {
    width: 100%;
	height:auto;min-height:100vh;
    margin: 0 auto;
    background:#FFFDF3;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}
.contentsbox4 {
    width: 100%;
	height:auto;min-height:100vh;
    margin: 0 auto;
    background:#FFFDF3;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}
.contentsbox5 {
    width: 100%;
	height:auto;min-height:100vh;
    margin: 0 auto;
    background:#FFFDF3;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}
.contentsbox6 {
    width: 100%;
	height:auto;min-height:100vh;
    margin: 0 auto;
    background:#FFFDF3;
  overflow: hidden;    position: relative;background-size: cover;
    z-index: 0;
}

.columnTitle{position:absolute; left:0; top:15px; height:auto;width:auto; box-sizing:border-box;background:transparent;}
.columnTitle p{font-size:2rem;margin:15px; color:#FFFFFF;text-shadow:2px 2px 4px #000000;
	-webkit-text-shadow:2px 2px 4px #000000;line-height:2.1rem;}

	
	

/* css */
.passing .passing-box {
	display:none!important;}
	
.s_main_logo{
	position:absolute; left:0%; right:0%;top:40%;margin:0 auto;
}
	.s_main_logo{
	width: 100%;
  max-width: 350px;
  height: auto;
  box-sizing: border-box;
}	
.main_logo{
	display:none!important;
}
 .s_main_imgBox {
	 margin:0 auto;
    height:100vh;
	 width:100%;
    overflow: hidden;
    position: relative;background: url("../img/s_bg_001.png")center center no-repeat;background-size:cover; }
  .s_main_imgBox .main_logo {
    z-index:11;
    position: absolute;
    top:50%;
    left:25%;
    transform:translate(-50%,-50%);
    width:100%;
    height:auto;
}
  .s_main_imgBox .main_img {
    z-index:10;
    opacity: 0;
    width: 100%;
    height: auto;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    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; }*/
	
  
  .main_imgM {
    opacity: 0;
    width:100%;
    height:100%;
    object-fit: cover;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-animation: anime 36s 0s infinite;
    animation: anime 36s 0s infinite; }

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

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

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

    .main_imgM:nth-of-type(5) {
      -webkit-animation-delay: 24s;
      animation-delay: 24s; }

    .main_imgM:nth-of-type(6) {
      -webkit-animation-delay: 30s;
      animation-delay: 30s; }

@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 }
}
	
.mainImg{background:#3a5885; margin:10px;}	
.p_mainImg{display:none;}		
.s_mainImg{background:#293B90; margin-top:10px;}	
	
	
	
	.callNumberimg{display:none;}
	
#contact {
	margin:0px auto;
	box-sizing: border-box;
  width: 100%;
  height: auto; 
	padding:0;
  background-color:#FFFFFF;
	color:#666666;
	font-size:80%!important;
}
#contact p{margin-top:10px; letter-spacing:0.0em;}
#contact p.closeupText{font-size:105%;}
.section-header {
  text-align: center;
  margin: 0 auto;
  padding-top: 50px;
  margin-bottom: 50px;
  font: 300 60px 'Oswald', sans-serif;
  letter-spacing: 6px;
  color: #fff;  
}
.contactimgBox{
	display:none;
	}

.contact-wrapper {
  margin: 0 auto;
  position: relative;
	width:100%;
}


	
.container{position:relative; width:100%; height:auto; padding:2%; box-sizing:border-box;}	

.contact-wrapper .form-group input{background:#F7F7F7!important;width: calc(100% - 2em);padding:10px 2px;border:none;box-sizing:border-box;}	
.contact-wrapper .form-group textarea{background:#F7F7F7!important; width: calc(100% - 2em);padding:10px 2px;border:none;box-sizing:border-box;}	
.contact-wrapper p{letter-spacing: 0.1rem; line-height:180%;}
	
	
.form-control, textarea {box-sizing: border-box;
	border-radius:6px;
	margin:20px 0;
	padding:5%;
	width:100%;
	line-height:3rem;
  background-color:#E8E8E8;
  color: #5E6166;
  letter-spacing:0.1rem;border:none;vertical-align: middle;
}
	
.form-control, input {box-sizing: border-box;
	border-radius:6px;
	margin:20px 0;
	padding:5%;
	width:100%;
	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;line-height:2rem;
}	
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;
}
	
p.error, span.error {
  color: red;
	font-size:80%;
}	


	.contact-wrapper .form-group {display:flex;
  flex-flow: column;text-align:left;width:100%;margin:10px;}
	
.btn-primary{
	padding:10px; 
	border-radius:2px;
	background:#19499c;color:#FFFFFF;}


	
.heading01 {
	position: relative;
	font-size: 1.1rem!important;
	text-align: center;
	box-sizing: border-box;
	margin:30px auto 30px auto;
	letter-spacing:0.0rem;
	color:#FFFFFF;font-weight:570;
	background:rgba(21,37,88,0.95);padding:10% 0.2rem;
	width:100%;
		word-wrap: break-word;
	white-space: pre-wrap;

}

.heading01::before {
	content: attr(data-number);
	display: block;
	margin-bottom: 40px;
	color: #FFFFFF;
	font-size: 50%!important;
}

.heading01::after {
	content: '';
	position: absolute;
	top: 5px;
	left: 50%;
	transform: translateX(-50%);
	width: 2px;
	height: 20px;
	background-color: #FFFFFF;
}	
	
	
	
.maintextTitle {
	text-align:center!important;
	margin:5% 5% -15px 5%;
  position: relative;
	font-size:0.7rem!important;
	width:90%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.1em;
  padding: 1.4rem 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; 
	color:#4B4B4B;background:rgba(239,239,239,1.00);
}

.mt_under{text-align:center; box-sizing: border-box; margin:0 auto;font-size:80%!important;}
	
	
	
.maintextTitle:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -30px;
  border: 30px solid transparent;
  border-top: 30px solid rgba(239,239,239,1.00);
}
.maintextTitle:after {
  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);*/
}	


.flexbox {
	position:relative;
	display: -webkit-flex!important;
	width:100%;
    display: flex!important;
	justify-content: center;
	flex-wrap: wrap;
	margin:0!important;
	}
	
.main {potision:relative;
	box-sizing:border-box;
	background:#FFFFFF;
width:90%; margin:0 5%;height:auto;
}
.side {potision:relative;
	width:80%;
	height:auto;margin:30px 10% 0 10%;
	padding:0 3% 0 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.0);}
.side p{font-size:80%;letter-spacing:0.1rem;}	
	
.topmain {
	width:100%;
	height:auto;
	box-sizing:border-box;
	background:transparent;
	margin-bottom: 10px;
}	
.topside {
	width:100%;
	height:auto;
	padding:0 0 0 0;
	box-sizing:border-box;
	background:rgba(255,255,255,0.0);}
	
.topside > p{
	box-sizing:border-box;
	text-shadow:1px 1px 0 #FFFFFF;
	letter-spacing:0.2px;
	line-height:1.2rem;
	font-size:70%;
	width:90%;
	color:#727272;
	margin:0 5%;
	}	
.topmain,.topside {
	border-radius: 10px;
}
	
.topside > .sideTitle{color:#333333;
	font-size:100%!important;
	margin:30px auto;	letter-spacing:0.1rem;
		line-height:150%;font-weight:550;

	}
	
.topside > .sideTitle:before {
  font-family: "Font Awesome 5 Free";
  content: "\f508";/*アイコンのユニコード*/
  font-weight: 900;
  font-size: 1.0em;/*サイズ*/
  color: #2876A8; /*アイコン色*/
}		
	
.topside > .sideText{
	font-size:80%;
	padding:2% 10% 2% 10%;
	width:100%;
	margin:10px auto;
	box-sizing: border-box;
	letter-spacing:0.1rem;
		line-height:180%;
	text-align:left;
		word-wrap: break-word;
	white-space: pre-wrap;

	}
	
.topside > .subtextTitle {
	box-sizing: border-box;
	position: relative;
	margin:20px auto 20px auto;
	padding:30px 0 30px 50px;
	width:100%!important;
	vertical-align: middle;
	text-align:center;
	border-radius:none!important;
	color: #4F5052!important;
	border-bottom:3px solid #666666;
	font-size:130%!important;
	letter-spacing:0.2em;
	text-shadow:none!important;
/*box-shadow: 5px 2px 10px 2px #060606;*/

	}
.topside > .subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top: -70px;
  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:10px 0 10px 20px!important;
	padding:0px 0 0px 30px;
	width:100%!important;
	line-height:200%;
	vertical-align: middle;
	color: #19499c!important;
	/*border-radius: 25px 0 0 25px;*/
	/*background: #f7f7f7;*/
	font-size:100%!important;
	letter-spacing:0.2em;
	text-shadow:none!important;
box-shadow: 5px 0px 5px -15px #4a5559;
	}
.subsideTitle::before {
	margin-right: 0px;
position: absolute;
  top: 0px;
  left: 0px;
	content: "■";
	transform: scale(1.0);
	color:#19499c;
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	.stt_small{display:none;font-size:0.5em; margin-left:20px;	color: #FFFFFF}	
	
	


.twoitem{
	width:48%;margin:0 1% 30px 1%;
	box-sizing:border-box;
	float:left;
	}
.twoitem_Link:hover{opacity: 0.7;
	transform: translateY(-5px);
	transform: scale(1.2);
	}	
.twoitem > p{
	letter-spacing:0.1em;
	font-size:80%;
	line-height:160%;
	font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
	}
	
.twoitem > .sideTitle{
	box-sizing: border-box;
	position: relative;
	padding-left: 4em;/*アイコン分のスペース*/
	padding-bottom:20px;
	line-height: 1.4;
	margin-bottom:30px;
	border-bottom:1px solid #19499c;
}

.twoitem > .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; /*アイコン色*/
}	
	
	
.twoitem > .twoitem_Link > .imgBox img{
width: 100%; max-width:800px;
  height:200px!important;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}

.flex-container {
	box-sizing:border-box;
	width:80%;
	margin:30px 10% 30px 10%;
	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;
}
/*ここからボタンベース*/
.w_button {
    display: inline-block;
	box-sizing:border-box;
	width:100%;
	height:auto;
	margin:5px auto 50px auto; 
	padding:20px 2px;
	line-height:100%; 
    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-color: #3169d1;
    color: #fff !important;
	font-size:95%;
	letter-spacing:0.2rem;
	font-weight:600;
    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: 1px 1px 1px 0px #454545;
border-radius: 2px;
}
.w_button:hover {
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
/*ボタンベースここまで*/
	
	
/*ここからボタンベース*/
.news_w_button {/*コレ*/width: fit-content;
    display: inline-block;
	box-sizing:border-box;
	letter-spacing:0.0em;
	height:auto;
	max-width:20%;
		margin:10px 45% 50px 45%; 
	padding:5px 10px!important;
	
	line-height:200%; 
    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:75%;
    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:30%;
		margin:10px 35% 60px 35%; 
	padding:7px 3%!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:80%;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: 3px;
}
.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:10px 20% 10px 20%; 
	padding:10px 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:#FFFFFF; 
    color: rgba(21,37,88,0.95) !important;
	font-size:110%;
	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;
	border:2px solid rgba(21,37,88,0.95);
}
.contact_w_button:hover {color:#FFFFFF!important;
    background-color: #202427;
    background-position: -100% 100%;
		opacity: 0.8!important;
	transform: translateY(-2px)!important;
}	
		
	
	
	
	
.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 30px auto;
	padding:50px 0 50px 20px;
	width:100%!important;
	vertical-align: middle;
	color: #19499c!important;
	/*border-radius: 25px 0 0 25px;*/
	/*background: #f7f7f7;*/
	font-size:140%!important;
	letter-spacing:0.0em;
	text-shadow:none!important;
box-shadow: 5px 0px 5px -15px #4a5559;
	text-align:center!important;

	}
/*	
.sv_subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top:-180px;
  left: -170px;
	content: url("../img/icon_003.png");
	transform: scale(0.15);
	color:#19499c;
}
.sv2_subtextTitle::before {
	margin-right: 20px;
position: absolute;
  top:-180px;
  left: -190px;
	content: url("../img/icon_004.png");
	transform: scale(0.15);
	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;}

	
	
	

.sideTitle{font-size:70%; letter-spacing: 0.1rem; line-height:1.2rem;
}	

	
	
.flowTitle {
	text-align:center!important;
	margin:20px auto 20px auto!important;
  position: relative;
	font-size:100%!important;
	width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.4em;
  padding: 2em 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;  
}

.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);*/
}		
	
.side_plan > .sideTitle{text-align:center;font-size:85%; color:#DC0455;letter-spacing: 0.1rem; line-height:1.2rem;
}	
.side_plan > .sideText{font-size:75%; letter-spacing: 0.1rem; line-height:1.2rem;
}	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.contactsubtextTitle{
	margin:0px 0 50px 0;
	color:#5A7064;
	text-align:center!important;
	font-size:130%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	border-bottom:2px solid #FFFFFF;
	-webkit-text-shadow:1px 1px 3px #666666;
  text-decoration: none;
}
	
.contacttextTitle{
	text-align:center!important;
	font-size:80%;
	width:100%;
	min-width:100%;line-height:1.3rem; 
	height:auto;
	box-sizing:border-box;
	letter-spacing:0rem;
	margin:0 auto 20px auto;
  padding: 1.2em 0.3rem;
  text-decoration: none;
	border-bottom: solid 1px #FFFFFF;
  color: #666666;	
	background:transparent;
}	
	
	
.contactStyling	{font-size:80%;padding:2%; background:transparent!important;}
	
/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox{
  width:80%;
  font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
  margin:0 auto; /* ボックス全体の位置調整 */
}

.acbox label{
  width: 80%;
	margin:0 auto 30px auto;
  font-size: 16px; /* ラベルの文字サイズ */
  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: 15px;
  margin-top: -9px;
}

.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: 12px; /* 開いた部分の文字サイズ */
	text-align: left;
  color: #555555; /* 開いた部分の文字色 */
}

	
	

@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}

	
	
	
.kaisha {
width: 100%;box-sizing:border-box; color:#666666;
}

.kaisha th,
.kaisha td {font-size:70%;
border: 1px solid #ccc; background:#FFFFFF;
padding: 20px 10px;line-height:150%;
	text-align:left!important;
}
.th-center{text-align:center!important;}	
.kaisha th {font-size:70%;	width:30%;
font-weight: bold;
background-color: #dedede; 
}
/*
@media screen and (max-width: 767px) {
.kaisha,
.kaisha tr,
.kaisha td,
.kaisha th {display:block;}
.kaisha th {width:auto;}
}		
	
	*/
	

.infoImg {
  position: relative;
  width:100%;
	height:auto;
	margin:0px auto;
	padding:0;
  box-sizing: border-box;
}
.infoImg img {
  width:100%;height:auto;margin:0;padding:0;object-fit: cover; /* この一行を追加するだけ！ */
}	
	
	
	
	
 /*=== 画像の表示エリア ================================= */
.simpleSlide {
  position   : relative;
  overflow   : hidden;
                    /* 画像のサイズに合わせて変更ください */
  width      : 100%;
  height     : 50vh;
  min-height : 50vh;
  margin     : auto;      /* サンプルは中央寄せの背景：白 */
  background : url("../img/logo_004.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%  }
}
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.policy{box-sizing:border-box;padding:20px; width:80%; height:auto; margin:0 auto; text-align:left; background:#FFFFFF;}	
.policy p{font-size:100%!important;letter-spacing:1px;line-height:200%;}
	
	
/*-----------gallery--------------*/	
.galleryBox{
	position:relative;width:100%;margin:20px auto 10px auto;height:auto;
	}
.gallery{
	margin:10px auto;
	}
.gallery li {
	list-style:none;
  float: left;
  position: relative;
  width: 50%;
	height:auto;
  margin: 0 auto
  border: 5px solid #fff;
  background: #fff;
  box-shadow: 2px 2px 2px #222;
  z-index: 1;
  box-sizing: border-box;
}
.gallery img {
  width:100%;height:auto;object-fit: cover; /* この一行を追加するだけ！ */
}
	
.gallery .photo1 {
  transform: rotate(-5deg);
}
.gallery .photo2 {
  transform: rotate(3deg);
}
.gallery .photo3 {
  transform: rotate(5deg);
}	
.gallery .photo4 {
  transform: rotate(-5deg);
}	
.gallery .photo5 {
  transform: rotate(3deg);
}	
.gallery .photo6 {
  transform: rotate(5deg);
}	
.gallery .photo7 {
  transform: rotate(-3deg);
}	
	
.gallery li:hover {
  z-index: 10;
  transform: scale(1.5) rotate(0deg);
}	
	
.gallery li {
  transform: scale(1.0);
  transition: all 0.3s ease-out;
}	
/*-----------gallery--------------*/	
	
/*-----------form--------------*/
#fix{box-sizing: border-box;
	position:fixed!important;
	line-height:140%;
	width:40%!important; 
	height:auto;
	padding:10px 5px;
	top:50px;
	left:0%;right:70%;
	margin:0 auto;
    font-size:90%;
	font-weight:bold;
  text-decoration: none;
  color: #FFF;
  background: #DC143C;/*色*/
  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 #8B0000;/*線色*/
	text-align:center;
	border-spacing: inherit;
	letter-spacing:0.2rem;
opacity:0.9;
	z-index:9000;
	}	

.fade_off {
    opacity: 0;
    -webkit-transition: all 1s;
    -moz-transition: all 1s;
    -o-transition: all 1s;
    -ms-transition: all 1s;
    transition: all 1s;
}

.fade_on {
    opacity: 1;
}

	
	
.fadein {position:relative;
	margin:0px auto;
		opacity : 0.1;
	transform : translate(0, 50px);
	transition : all 500ms;	 box-shadow: 0 32px 26px -40px rgba(53, 47, 47, 0.15);
	}
/* 画面内に入った状態 */
	
.fadein.scrollin {
	opacity : 1;
	transform : translate(0, 0);

	}
.fadeImg{ 
	box-sizing:border-box; 
	width:100%; 
	height:auto;
	margin-top:10px auto;
	padding:30px;
	-webkit-filter: drop-shadow(0px 2px 5px rgba(0,0,0,.4));
    filter: drop-shadow(0px 0px 5px rgba(0,0,0,.4));
	}
.fadeImg p{font-size:100%!important;
	text-align: right!important; 
	letter-spacing:2px; 
	line-height:180%;
	}			

.fadeImg img{ /*border-radius: 50%;*/ /* 角丸半径を50%にする(=円形にする) */
    width:  auto;       /* ※縦横を同値に */
    height: auto;       /* ※縦横を同値に */}

	.fadeText{width:70%;margin:20px auto;text-align:center;color:#FFFFFF;}
	.fadeTextbottom{position:absolute;bottom:20px;right:10px;}	
	
	.fadein img{width:100%; height:auto; object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */}	
	
	
	
#formWrap{box-sizing:border-box;
	width:95%;
	margin:0px auto 0 auto;
	color:#555;
	line-height:130%!important;
	font-size:90%;
	overflow:hidden;
}

/*-----------form tabledesign--------------*/	

#form1:before {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%) translateX(0);
  content: '';
  width: 15px;
  height: 15px;
  background: url(../img/select.png) no-repeat;
  background-size: contain;
}

#form1 select{font-size:110%;
  width: 100%;
  outline:none;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  height: 40px;
  padding: 5px;
  border:1px solid #ccc;
  background-color: #fff;
  border-radius: 5px;
}

#form1 select::-ms-expand {
  display: none;
}
	
	
#formTable{table-layout: fixed;
	align:center;
	margin:0 auto;
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

#formTable th:first-child{
  border-radius: 5px 0 0 0;
}

#formTable th:last-child{vertical-align: middle;
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

#formTable th{ vertical-align: middle; width:30%;box-sizing:border-box;
  text-align: center;
  color:white;
  background: linear-gradient(#829ebc,#225588);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  padding: 20px 0;
}

#formTable td{width:70%;
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px 0;
}

#formTable td:last-child{
  border-right: 1px solid #a8b7c5;
}

#formTable tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

#formTable tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}
/*-----------form tabledesign--------------*/	
#hidden1 , #hidden2 , #hidden3 , #hidden4 {table-layout: fixed;
	align:center;
	margin:0 auto;
  width: 100%;
  border-collapse:separate;
  border-spacing: 0;
}

#hidden1 th:first-child{
  border-radius: 5px 0 0 0;
}

#hidden1 th:last-child{vertical-align: middle;
  border-radius: 0 5px 0 0;
  border-right: 1px solid #3c6690;
}

#hidden1 th , #hidden2 th , #hidden3 th , #hidden4 th{ vertical-align: middle; width:150px;
  text-align: center;
  color:white;
  background: linear-gradient(#DEB887,#DAA520);
  border-left: 1px solid #3c6690;
  border-top: 1px solid #3c6690;
  border-bottom: 1px solid #3c6690;
  box-shadow: 0px 1px 1px rgba(255,255,255,0.3) inset;
  padding: 20px 0;
}

#hidden1 td{
  text-align: center; font-size:10px; font-weight:bold;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px;
}
#hidden2 td{font-size:10px;font-weight:bold;
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px;
}
#hidden3 td{font-size:10px;font-weight:bold;
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px;
}
#hidden4 td{font-size:10px;font-weight:bold;
  text-align: center;
  border-left: 1px solid #a8b7c5;
  border-bottom: 1px solid #a8b7c5;
  border-top:none;
  box-shadow: 0px -3px 5px 1px #eee inset;
  padding: 10px;
}
#hidden1 td:last-child{
  border-right: 1px solid #a8b7c5;
}

#hidden1 tr:last-child td:first-child {
  border-radius: 0 0 0 5px;
}

#hidden1 tr:last-child td:last-child {
  border-radius: 0 0 5px 0;
}

table#formTable td {width:70%;box-sizing:border-box;
  /*word-break: break-all;*/
  overflow-wrap : break-word;
	text-align:left;
	padding:10px;  overflow:scroll;

}	
	
.submitButton{font-size:120%;
	text-align:center;
	margin:10px;
	padding:10px;
	border:1px solid #ccc;
	box-sizing:border-box;
	width:auto;
	height:auto;
	font-weight:bold;
	background:#483D8B;
	color:#FFFFFF;
	text-align:center;
	vertical-align: middle;
	font-size:120%;border-radius:7px;}
	
/*-----form table input,select,textbox markup-----*/	
textarea.textboxSize{font-size:140%!important;
width:auto;
min-width:50%;	
max-width:50%;
padding:10px;	
height:auto;
word-break: break-all;	border-radius:4px;font-size:100%;

}
input.boxSize{
width:auto;
min-width:50%;	
height:auto;
padding:10px;border-radius:4px;font-size:100%;
}
select.boxSize{
width:auto;
min-width:50%;	
padding:10px;
height:auto;border-radius:4px;font-size:100%;
}
input.smartMail{
width:auto;
min-width:50%;	
padding:10px;
height:auto;border-radius:4px;font-size:100%;
}
	
/*-----form table input,select,textbox markup-----*/	

	
	
	
	.map iframe{width:100%; height:300px; margin:0px 0% 0px 0%;}	
	
iframe{
   filter: grayscale(100%);
   transition: all 0.7s ease;
}		
	
	
	
	
	
	
	
	
	
	
	
	
/*-----------form tabledesign　見出し--------------*/		
/*table{
  width: 100%;
  border-collapse: collapse;
}

table tr{
  border-bottom: solid 2px white;
}

table tr:last-child{
  border-bottom: none;
}

table th{
  position: relative;
  text-align: left;
  width: 30%;
  background-color: #52c2d0;
  color: white;
  text-align: center;
  padding: 10px 0;
}

table th:after{
  display: block;
  content: "";
  width: 0px;
  height: 0px;
  position: absolute;
  top:calc(50% - 10px);
  right:-10px;
  border-left: 10px solid #52c2d0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
}

table td{
  text-align: left;
  width: 70%;
  text-align: center;
  background-color: #eee;
  padding: 10px 0;
}*/
/*-----------form tabledesign 見出し--------------*/	
	
	
	
.mail_theme{
	font-size:150%;	
    width:90%;
	margin:0 auto;
	text-align:center;
	height:auto;
	padding:15px;
	background:
		#FCE9C1;
    /*-webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#0066FF),
        to(#003366)
        );
    /*firefox*/
	/*background: -moz-linear-gradient(top, #003366, #0066FF
        );
	/*IE*/
    /*filter: 
	progid:DXImageTransform.Microsoft.gradient
	(GradientType=0, startColorstr='#003366', endColorstr='#0066FF')*/
}
/*-----------form--------------*/			
	#youtube iframe{width:80%; height:auto; margin:0 auto;}	
	.twi_timeline{width:80%; margin:0 auto;height:auto; max-height:400px; overflow:scroll;}		
	.slide__title{font-size:100%;}
#utility-links{
background-color:#4C7229;color:#FFFFFF!important;
}
#utility-links a{
color:#FFFFFF!important;
}
	
/*footer*/
#footer {
  position: relative;
  margin-top: 20px;
  color: #666666;
}
#footer a {
  text-decoration: none;
  color: #040000;
}
#footer a:hover {
  text-decoration: underline;
}
#footer .primary {
  padding: 10px 20px;
	  background:#F0F0F0;

	display: flex;
	flex-wrap: wrap;
	justify-content:center!important;
}
#footer .primary img{
height:50px!important;}
#footer .primary .logo{
	margin:20px 0 0 30px;}
#footer .secondary {
  display: none;
  padding: 10px 20px;
	flex-wrap: wrap;
	justify-content:center!important;
	
	  background:#F0F0F0;
}
#footer .tertiary{box-sizing:border-box;
	text-align:center;
	justify-content: center;
	padding: 30px 3%;width:100%;
	background:#f7f7f7;font-size:75%;
	}
#footer .tertiary > p{
	text-align:center;
font-size:75%;line-height:150%;
	}
#footer .tertiary > p{
letter-spacing:0.2rem;	}	






/* address */

.address {
  margin: 10px 0 0;
  padding: 0;color:#EAFFF3;
}

@media screen and (max-width: 767px) {
  .address {
    font-size: 12px;
  }
}

/* navi */

.navi-row {
  display: flex;
  margin-top: 40px;
}
#footer .navi {
  margin: 0;
  padding: 0;
  list-style: none;
}
#footer .navi li {
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0;
}
#footer .navi li:first-child {
  margin-left: 0;
}

@media screen and (max-width: 767px) {
  .navi-row {
    display: block;
    margin-top: 15px;
  }
  #footer .navi {
    font-size: 12px;
  }
  #footer .navi li {
    margin-top: 5px;
    font-size: 12px;
  }
}

/* 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;
}

@media screen and (max-width: 767px) {
  #footer .sns-navi {
    margin: 20px 0 0;
    padding: 0;
  }
  #footer .sns-navi li {
    margin: 0 20px 0 0;
    padding: 0;
    font-size: 18px;
  }
}

/* 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;
}

@media screen and (max-width: 767px) {
  #footer .sitenavi {
    width: 100%;
    text-align: center;
    font-size: 12px;
  }
}

/* copyright */

#footer .copyright {
  width: 50%;
  margin: 0;
  padding: 0;
  text-align: right; 	  background:#F0F0F0;


}
@media screen and (max-width: 767px) {
  #footer .copyright {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    font-size: 10px;color: #040000; 	  background:#F0F0F0;


;
  }
}
body {
  margin: 0;
  padding: 0;
}}/*-----------wrap end--------------*/



/*only write the 【over 1024px】*/


/*--substitution--
@import url(base.css) screen and (min-width: 769px); 
@import url(tab.css) screen and (max-width: 768px); 
@import url(smart.css) screen and (min-width: 640px);
/* -------------