@charset "utf-8";
/* CSS Document */
	
body{
	font-family: 'Noto Sans JP', sans-serif;
}
	
p{
	font-size: 20px;
}
header{
	position: relative;
}
.navbar{
  background-color: rgba(0,0,0,0.05);
}
.subHeader .navbar{
	background-color: rgba(0,0,0,0.7);
	position: fixed;
	width: 100%;
}

@media screen and (max-width:1024px){
	.navbar-menu {
			background-color: rgba(0,0,0,0.6);
	}
	#targetMenu .navbar-item {
			color: #fff;
	}
}
main{
	position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
	height: 100vh;/*高さを全画面にあわせる*/
}
main.sub{
	position: relative;/*h1の中央寄せ配置の起点とするためのrelative*/
	height: 50vh;/*高さを全画面にあわせる*/
} 

.current {
  border-bottom:#C5E0F7 2px solid;
	padding-bottom: 2px;
}

.material-icons{
	padding: 15px;
	font-size: 200%;
}
.ttl-ico .material-icons{
	border: 2px solid ;
	border-radius: 50px;
}
#video-area{
	position: fixed;
	z-index: -2;/*最背面に設定*/
	top: 0;
	right:0;
	left:0;
	bottom:0;
	overflow: hidden;
}
#video-area:before {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(135deg, #020252, #020252)fixed;
	opacity: 0.4;
	content: "";
	width: 100%;
	height: 100%;
	z-index: -1;
}

#video {
	/*天地中央配置*/
	position: absolute;
	z-index: -2;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	/*縦横幅指定*/
	width: 177.77777778vh; /* 16:9 の幅→16 ÷ 9＝ 177.77% */
	height: 56.25vw; /* 16:9の幅 → 9 ÷ 16 = 56.25% */
	min-height: 100%;
	min-width: 100%;
	object-fit: cover;
}
.slider-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0,0,0,0.40) url("../images/overlay-diamond.png");
	margin: auto;
	z-index: 0;
	
}
/*見出し設定*/
.main_container{
	/*要素の配置*/
	position:absolute;
	/*要素を天地中央寄せ*/
	top: 50%;
	left: 50%;
	transform: translateY(-50%) translateX(-50%);
	/*見た目の調整*/
	color:#fff;
	text-shadow: 0 0 15px #666;
	width: 1100px;
}
.main_container h1{
	font-family: 'Zen Antique Soft', serif;
	font-weight: 400;
	font-size: 2.75em;
	letter-spacing: 3px;
}
.main_container p{
	letter-spacing: 3px;
}


#subScreen{
	height: 50vh;/*高さを全画面にあわせる*/
}
#subScreen img{
	height: 100%;
	width: 100%;
	object-fit: cover
}

.sub_container{
	position: absolute;
	bottom: 30%;
	left: 50%;
	width: 95%;
	transform: translateY(-50%) translateX(-50%);
	/*見た目の調整*/
	color:#fff;
}
.sub_container h1{
	filter: drop-shadow(2px 2px 2px rgba(0,0,0,0.6));
	letter-spacing: 2px;
}


#container{
  background:#fff;
  text-align: center;
}

#container section h2{
	letter-spacing: 3px;
	font-weight: 400;
	font-size: 2rem;
	font-family: 'Zen Antique Soft', serif;
}
#container section span{
	letter-spacing: 2px;
}

section.t_feature{
	position: relative;
	z-index: 1;
	background-image: url("../images/section1bg.jpg");
	background-position: center;
	background-size: cover;
}
section.t_feature::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 2;
	bottom:0;
	left:0;
	background: linear-gradient(rgba(255,255,255,1), rgba(255,255,255,0.95), rgba(255,255,255,0.85), rgba(255,255,255,0.65), rgba(255,255,255,0.5));
}
section.t_feature .fil{
	position: relative;
	z-index: 3;
}
section.t_feature .fil p{
	text-shadow: 1px 1px 1px #fff, 1px -1px 1px #fff, -1px 1px 1px #fff, -1px -1px 1px #fff;
}
.t_biz .column a .mask{
    display: block;
    line-height: 0;/*行の高さを0にする*/
    overflow: hidden;/*拡大してはみ出る要素を隠す*/
}
.t_biz .column a img{
  transform: scale(1);
  transition: .3s ease-in-out;
}
.t_biz .column a img:hover{
	opacity: .8;
  transform: scale(1.1);
}
.t_biz .card{
	border-radius: 0;
	position: relative;
}
.t_biz .card img{
	object-fit: cover;
}
.t_biz .card header{
	position: absolute;	
  top: 40%;
  right: 0;
	background:rgba(0,0,0,0.5);
}
.t_biz .card header h3{
	padding: 3px 20px 0 20px;
	font-size: 1.35rem;
	letter-spacing: 3px;
}
.t_biz .mask figure{
	margin-bottom: 0;
}

.t_result{
	position: relative;
	z-index: 0;
	background-image: url("../images/t_resultbg.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
	background-attachment: fixed;
}

.t_result::after{
	content: "";
	position: absolute;
	width: 100%;
	height: 100%;
	z-index: 1;
	bottom:0;
	left:0;
	background: #fff;
	opacity: .85;
}

.t_result .overlapBox{
	margin-bottom: 18em!important;	
}
.t_result .overlapBox:last-child{
	margin-bottom: 4em!important;	
}


@media screen and (min-width:1281px){
	.t_result .overlapBox{
		margin-bottom: 14em!important;	
	}
}
@media screen and (min-width:1500px){
	.t_result .overlapBox{
		margin-bottom: 0em!important;	
	}
}


.t_result .overlapBox:nth-child(odd) .overlapL{
	margin-left: auto;
}
@media screen and (min-width:769px){
	.t_result .overlapBox:nth-child(odd) .overlapL{
		margin-right: 4em;
		right: 2em;
	}
}

.t_result .overlapBox:nth-child(odd) .overlapR{
	left: 2em;
	top:5em;
	background: rgba(255,255,255,0.80);
}


section.t_result .fil{
	position: relative;
	z-index: 3;
}


section.is-large.t_message{
	padding: 18rem 0;
}


	/*+*+**+*+*+*+
	 Footer
	+*+*+*+*+*+*+*/

.footer{
	background-size: auto auto;
	background-color: rgba(155,175,210,1.00);
	background-image: repeating-linear-gradient(125deg, transparent, transparent 15px, rgba(255, 255, 255, .03) 15px, rgba(255, 255, 255, .03) 25px );
}
.footer a{
	color: #FFF;
}
.level{
	align-items: start;
}
.footer .level-item {
	align-items: start;
	vertical-align: top;
}
.footer .level-item dt{
	border-bottom: 2px solid #FFF;
}
.footer .level-item dd{
	margin-top:.25em;
  position: relative;
  padding: 0 0 0 16px;
}
.footer .level-item dd::before{
  content: "";
  position: absolute;
  top: 50%;   /* 縦軸をセンタリングする */ 
  left: 0;
  transform: translateY(-50%);   /* 縦軸をセンタリングする */  
  border: 5px solid transparent;
  border-left: 8px solid #DDD;   /* 好みで色を変えてください */  
}


	/*+*+**+*+*+*+
	 Footer
	+*+*+*+*+*+*+*/


.start {
	background: #FFF;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 100;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: none;
	z-index: 1001;
	width: 500px;
}


	/*+*+**+*+*+*+
	 下層ページ共通
	+*+*+*+*+*+*+*/


.subPage h2 {
  position: relative;
  padding: 1.5rem 1rem;
	margin-bottom: 5rem!important;
	z-index: 1;
}

.subPage .bizPage h2:before {
	position: absolute;
  bottom: -90%;
  left: -4%;
	opacity: .4;
	z-index: -1;
	content: url("../images/ttlBgL.png");
	max-width: 100%;
}
@media screen and (max-width: 768px) {
	.subPage .bizPage h2:before {
		bottom: 100%;
		left: 0;
		content: url("../images/ttlBg.png");
	}
}
.subPage h2:after {
  position: absolute;
  bottom: 0;
  left: 40%;
  width: 20%;
  height: 10px;
  content: '';
  background-image: -webkit-repeating-linear-gradient(135deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-image: repeating-linear-gradient(-45deg, #999, #999 1px, transparent 2px, transparent 5px);
  background-size: 7px 7px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}


/*+* overlap *+*/

.overlapBox{
	position: relative;
	margin-bottom: 2em!important;	
	height: auto;
}
.overlap:before{
	content: "";
	display: block;
	padding-top: 100%; /* 1:1 */
}
.overlapBox h3{
font-family: 'Zen Antique Soft', serif;
}
	
@media screen and (min-width: 1216px) {
.overlap:before{
	padding-top: 20%; /* 1:1 */
}
}
@media screen and (max-width: 1215px) {
.overlap:before{
	padding-top: 30%; /* 1:1 */
}
}
@media screen and (max-width: 1024px) {
.overlap:before{
	padding-top: 70%; /* 1:1 */
}
}
@media screen and (max-width: 768px) {
.overlap:before{
	padding-top: 100%; /* 1:1 */
}
}

.overlapBox .overlapL{
	position: relative;
	left: 2em;
}
.overlapBox .overlapR{
	position: absolute;	
	right: 2em;
	top:5em;
	background: rgba(255,255,255,0.80);
}



	/*+*+**+*+*+*+
	 business-page
	+*+*+*+*+*+*+*/

.bizCts{
  position: relative;
	width: 100%;
	font-size: 1.25rem;
	margin-bottom: 4em;
	padding-bottom: 6em;
}
@media screen and (min-width: 769px) {
.bizCts{
	height: 800px;
}
}

.bizCts .bizBg{
  width: 50%;
}
.bizCts:nth-child(odd) .bizBg{
	margin-left:auto;
}
.bizCts .box {
  position: absolute;
  width: 70%;
  right: 0;
	bottom: 0;
	padding: 2em 4em;
	background: rgba(225,255,245,0.85);
	letter-spacing: 1px;
	line-height: 1.85em;
}
.bizCts:nth-child(odd) .box {
	left: 0;
	padding-left: 3rem;
}
.bizCts .bizBg img{
	width: 100%;
	object-fit: cover;

	max-height: 40em;
}
.bizCts:nth-child(odd) .bizBg img{
}
.bizCts .box hr{
	background-color: #FFF;
}

.bizCts .box figure{
	height: 10em;
}
.bizCts .box figure img{
	height: 100%;
}

.bizCts .box figure:nth-child(1) img{
  border-radius: 60% 40% 60% 40% / 40% 60% 40% 60%;
}
.bizCts .box figure:nth-child(2) img{
  border-radius: 50% 50% 50% 50% / 50% 50% 50% 50%;
}
.bizCts .box figure:nth-child(3) img{
  border-radius: 40% 60% 40% 60% / 60% 40% 60% 40%;
}

.box h3.heading{
	text-align: left;
	font-family: 'Zen Antique Soft', serif;
}
.box h3.heading span {
	display: flex;
	align-items: center;
	color: #498ee0;
	font-size: 18px;
	text-transform: uppercase;
}

.box h3.heading span::before {
	content: '';
	display: inline-block;
	margin-right: 20px;
	width: 40px;
	height: 1px;
	background-color: #498ee0;
}


@media screen and (max-width: 768px) {
.bizCts{
	height: 100%;
}
.bizCts .bizBg{
  width: 100%;
}
.bizCts .box {
  position: inherit;
  width: 95%;
	padding: 2rem 1rem;
	margin: 0 auto;
}
}



	/*+*+**+*+*+*+
	 Company-page
	+*+*+*+*+*+*+*/



.staff .overlapBox{
	margin-bottom: 18em!important;	
}
@media screen and (min-width:1281px){
	.staff .overlapBox{
		margin-bottom: 14em!important;	
	}
}

.staff .overlapBox:nth-child(odd) .overlapL{
	margin-left: auto;
	margin-right: 4em;
	right: 2em;
}

.staff .overlapBox:nth-child(odd) .overlapR{
	left: 2em;
	top:5em;
	background: rgba(255,255,255,0.80);
}


	/*+*+**+*+*+*+
	 Company-page
	+*+*+*+*+*+*+*/



@media screen and (min-width: 1100px) {
	.company #table01{
		width: 1024px;
		margin: 0 auto;
	}
}
.company #table01{
	margin: 0 auto;
}
.company #table01 tr {
  border-bottom: 1px solid #b5b1b1;
}

.company #table01 th,
.company #table01 td {
  padding: 24px 0;
  border: none;
}

.company #table01 th {
  width: 30%;
}

.company #table01 td dl{
	border-bottom: 1px solid #DDDDDD;
	padding-bottom: .5em;
	margin-bottom: .5em;
}
.company #table01 td dl:last-child{
	border-bottom: none;	
}

.company #table01 td dl dt{
	font-weight: 600;
}


@media only screen and (max-width: 768px) {
  .company #table01 th,
  .company #table01 td {
    width: 100%;
    display: block;
  }

  .company #table01 th {
    width: 100%;
  }

  .company #table01 td {
    padding-top: 0;
  }
}


	/*+*+**+*+*+*+
	 Contact-page
	+*+*+*+*+*+*+*/


@media screen and (min-width:1281px){
	.contact{
		width: 1280px;
		margin: 0 auto;
	}
}

@media screen and (max-width:1280px){
	.contact{
		width: 1024px;
		margin: 0 auto;
	}
}

.contact .telBox{
	border:2px solid #977647;
	border-radius: 5px;
	background: #fff;
}

.contact .telBox span{
	padding: 15px;
	vertical-align:middle;
}

@media screen and (max-width:768px){
	.contact .telBox span{
		display: block;
		padding: 5px;
	}
}

#cf-tbl{
	width: 100%;
}

#cf-tbl table{
	width: 100%;
	border-collapse: collapse;
	border: solid #CCC;
	border-width: 1px;
	color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
	padding: 0.5em;
	text-align: left;
	border: solid #CCC;
	border-width: 1px;
	vertical-align: middle;
}
#cf-tbl table tr th{
	width: 35%;
	background: #eee;
}
@media screen and (max-width:1024px){
	.contact{
		width: 100%;
	}
	#cf-tbl{
		width: 100%;
	}

	#cf-tbl table,
	#cf-tbl table tbody,
	#cf-tbl table tr,
	#cf-tbl table tr th,
	#cf-tbl table tr td{
		display: block;
	}

	#cf-tbl table{
		width: 100%;
		border-width: 0 0 1px 0;
	}

	#cf-tbl table tr th,
	#cf-tbl table tr td{
		width: 100%;
		padding: 3% 5%;
	}

	#cf-tbl table tr td{
		border-width: 0px 1px 0px 1px;
	}
}
/*「必須」文字デザイン*/
.required{
	font-size:.8em;
	padding: 5px;
	background: #F57500;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}

/*「任意」文字デザイン*/
.optional{
	font-size:.8em;
	padding: 5px;
	background: #000080;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}

/* 入力項目を見やすく */
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #eff1f5;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
	display: block;
	padding: 15px;
	width: 400px;
	background: #ffaa56;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	border-radius: 2px;
	margin: 15px auto 0
}
@media screen and (max-width:768px){
	input.wpcf7-submit {
		width: 250px;
	}
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}


	/*+*+**+*+*+*+
	 Policy-page
	+*+*+*+*+*+*+*/

.policy h3{
	font-weight: 600;
}
.policy h4{
	background:#E5F1FF;
	padding: 10px 30px;
}

.policy table th {
  background: #eaeaea;
  border: solid 1px #fff;
  color: #000;
  padding: 10px 20px;
	font-weight: 500;
}
.policy table td {
	border: solid 1px #eaeaea;
	padding: 10px 30px;
}
 
@media screen and (max-width: 640px) {
  .last td:last-child {
    border-bottom: solid 1px #eaeaea;
    width: 100%;
  }
  .policy table  {
    width: 100%;
  }
  .policy table th,
  .policy table td {
　　border-bottom: none;
    display: block;
    width: 100%;
  }
}






@media screen and (min-width:769px){
	.main_container h1 br{
		display: none;
	}
}
@media screen and (max-width:768px){
	
	.navbar .navbar-end{
		display: none;
	}
	.section.is-large {
    padding: 10rem 1rem;
	}

	.main_container{
		width: 100%;
	}
	.main_container h1{
		font-size: 1.5em;
		font-weight: 300;
	}
	.main_container p{
		font-size: 1em;
	}
	#container{
		width: 100%;
	}
	.randomBox, .randomScroll{
		display:inline-block;
	}
	.t_biz .card header h3 {
		font-size: 0.65em;
		padding: 3px 0px;
		letter-spacing: 2px;
	}
	.start p {
		width: 300px;
	}
}