﻿@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:14px;
-webkit-animation: fadeIn 2s ease 0s 1 normal;
    animation: fadeIn 2s ease 0s 1 normal;	
	margin:0;
	padding:0;/*
font-family: dnp-shuei-nmincho-std, sans-serif;
font-weight: 400;
font-style: normal;*/
	/* 画像ファイルの指定 */
  /*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 {
	/*box-shadow: 0 0 3px 0 rgba(0,0,0,.12), 0 2px 3px 0 rgba(0,0,0,.22);*/
	transition: .3s;
}
a:hover {opacity: 0.8;
	/*box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);*/
	transform: translateY(-4px);
}
html{
  /*scroll-behavior: smooth;*/
}
#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;margin-left:50px;padding-top:100px;
  padding:0;
  text-decoration: none;
	}
h2,h3,h4,h5{ 
	font-weight:normal;
    font-size:200%;
	width:100%;
	height:auto;
	position: relative;
  display: inline-block;
  padding:7% 0%;
  text-decoration: none;
  background:/*#011931*/transparent;/*色*/
  border-radius: 0px;/*角の丸み*/
  /*box-shadow: inset 0 2px 0 rgba(255,255,255,0.2), inset 0 -2px 0 rgba(0, 0, 0, 0.05);*/
	margin:0 auto;
	text-align:center;
	border-spacing: inherit;
	letter-spacing:0.0rem;
	box-sizing:border-box;
}
	
	
#page-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    font-size:150%;Z-index:9999;opacity:0.9;
}
#page-top a {
    background: #FFFFFF;
    text-decoration: none;
    color: #011931;
    width: 100px;
    padding: 30px 0;
    text-align: center;
    display: block;
    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);
}
#page-top a:hover {
    text-decoration: none;color:#FFFFFF!important;
    background:#2352A4;
}
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:absolute; top:0; left:0;height:120px; width:100%; min-width:1080px;background:transparent!important; opacity:1; z-index:9996;padding:10px;}
.header_bar a{color:#666666;}
.logo img{box-sizing:border-box; float:left; width:auto; height:80px; margin:10px 0px 10px 20px;}
	.siteTheme{font-weight:bold;}
	.logo p{margin-left:20px;}
	
.cp_navi {position:absolute; top:25vh; left:5%;
	background-color: transparent;
	border-radius:0;
	/*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);*/
	color: #666666;
	display: block;
	margin: 1em 0;
	width:auto;font-size:110%;
}
.cp_navi ul {
	margin: 0;
	padding: 0;display: flex;
  flex-direction: column;
}
.cp_navi ul li {
	display: inline-block;
	list-style-type: none;
	-webkit-transition: all 0.7s;
	        transition: all 0.7s;
}
.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;
	line-height: 56px;letter-spacing:0.2rem;
	padding: 0 10px;text-align:center;
	text-decoration: none;width:150px;
}
.cp_navi > ul > li:hover {
	background-color:#175C94;
}
.cp_navi > ul > li:hover > a {
	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:#175C94;
	border-top: 0;
	border-radius: 0 0 4px 4px;
	/*box-shadow: 0 2px 2px -1px rgba(0, 0, 0, 0.055);*/
	display: none;
	margin: 0;
	padding:5px 0;
	opacity: 0;
	position: absolute;
	width: 150px;
	visibility: hidden;
	-webkit-transiton: opacity 0.7s;
	       transition: opacity 0.7s;
}
.cp_navi > ul > li:hover > div {
	display: block;
	opacity: 1;
	visibility: visible;
}
.cp_navi > ul > li > div ul > li {
	display: block;
}
.cp_navi > ul > li > div ul > li > a {
	color: #ffffff;
	display: block;
	padding: 12px 24px;
	text-decoration: none;
}
.cp_navi > ul > li > div ul > li:hover > a {
	background-color: rgba( 255, 255, 255, 0.1);
}

.cp_navi a::after {
  border-bottom: solid 1px #FFF;
  bottom: 0px;
  content: "";
  display: block;
  transition: all .7s ease;
  -webkit-transition: all .7s ease;
  width: 0;
}
.cp_navi a:hover::after {
  width: 100%;
	}
	
.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%;height:auto;margin:0;padding:0;object-fit: cover; /* この一行を追加するだけ！ */
}
.s_mainImg {
  display:none;
}
	
.infoImg {
  position: relative;
  width:100%;
	height:500px;
	margin:0px auto;
	padding:0;
  box-sizing: border-box;
}
.infoImg img {
  width:100%;height:auto;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;
}
/*
.contents:before {
  content: '';
  position: absolute;
  top: 0;
  left: -100px;
  width: 170%;	
  height: 80%;
  margin: 3% -20% 0;
  background:transparent;
  -webkit-transform-origin: left center;
  -ms-transform-origin: left center;
  transform-origin: left center;
  -webkit-transform: rotate(8deg);
  -ms-transform: rotate(8deg);
  transform: rotate(8deg);
  z-index: -1;
	opacity:1.0;
}
*/
.contents_inner {
  box-sizing: border-box;
  width: 55%;
  min-width: 1080px;
	height:100vh;min-height:700px;
  margin: 0 auto;
  padding:0;
background:rgba(255,255,255,0.2);
  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: 60px 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);
  img{
    position: absolute;
    top: 50%;
    left: 50%;
    width: 500px;
    transform: translate(-50%, -50%) skew(20deg);
  }
}	
	
/*画像マスク*/		
	
.contentsbox {
    width: 100%;
	height:100vh;
    margin: 0 auto;
    background:url("../img/bg_001.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox2 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_002.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox3 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_004.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox4 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_006.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox5 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_011.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox6 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_010.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}	
.contentsbox7 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/bg_015.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
.contentsbox8 {
    width: 100%;
	height:100vh;
	min-height:700px;
    margin: 0 auto;
    background:url("../img/slide_013.png")center center no-repeat;object-fit: cover; /* この一行を追加するだけ！ */
  overflow: hidden;    position: relative;background-size: cover;
}
	
	
	
.columnTitle{word-wrap: break-word;
	white-space: pre-wrap;positon:absolute!important;left:0;top:0;height:auto;min-height:700px;width:100%; box-sizing:border-box;background:transparent;}
.columnTitle p{font-size:3rem;line-height:4rem; margin:0 auto; color:#2D2D2D; font-weight:540;
}

	
.main {width:40%;box-sizing:border-box;
  background: transparent;
  margin-bottom: 10px;
}
.side {width:60%;box-sizing:border-box;
background:rgba(255,255,255,0.2);}
.main,
.side {
  padding: 2%;
  border-radius: 10px
}

@media ( min-width : 600px ){
  .flexbox {
    display: -webkit-flex;width:100%;min-width:1080px;
    display: flex;
  }
  .main {
    margin: 0 10px 0 0;
  }
}
	
	
.main_img_wrapper{position:relative;height:auto;margin-top:0px;}
	
.main_imgBox {
    height:100vh;min-width:1200px;
    overflow: hidden;
    position: relative;background: url("../img/slide_020.png")center center no-repeat;background-size:cover;
}
.main_img_wrapper .s_main_imgBox{display:none;}	

.main_logo {
    z-index:11;
    position: absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    width:30%;
    height:auto;
}
	
 /*.main_logo {
    -webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink {
    0% {opacity: 0.95;}
    100% {opacity: 1;}
}
@-moz-keyframes blink {
    0% {opacity: 0.95;}
    100% {opacity: 1;}
}
@keyframes blink {
    0% {opacity: 0.8;}
    100% {opacity: 1;}
}*/	

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

  .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 }
}
	
.jumpButton{margin:0 auto 0px auto;
  display: inline-block;
  padding: 16px 32px;
  background:#E5F0FF;
  border-bottom: solid 4px #003300;
  border-radius: 8px;
  color: #ffffff!important;
  text-decoration: none;
  font-size: 18px;
  font-weight: bold;
  line-heigt: 1.2em;
  -webkit-transition: .100s;
  transition: .100s;
}
.jumpButton:hover {
  border-bottom: none;
  /*-webkit-transform: translateY(4px);
  transform: translateY(4px);*/
}	
	
	
	.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;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: 0.4em 0em;
  text-decoration: none;
  color:#3a5885;

}

		.quarterBox p{letter-spacing: 0.15rem; line-height:160%; margin:20px 10%; text-align: center;}	
	.quarterColumn{
		width:50%;height:auto;
		min-height:650px;
		margin:0;
		padding:1.5%;
		box-sizing:border-box;
		float:left;
		background:#FFFFFF;
		border-radius:none;}
	
	.quarterColumn p{letter-spacing: 0.15rem; line-height:160%; color:#626262;}
		.quarterColumn img{width:100%;height:300px;object-fit: cover; /* この一行を追加するだけ！ */}
	.worksText{text-align:left!important;}
.quarterColumn{
  overflow:hidden;
}
.quarterColumn{
  position:relative;
}
.quarterColumn:last-child{
  padding-right: 1em;
}
.quarterColumn:last-child:before,
.quarterColumn:last-child:after{
  display:none;
}
/*	
.quarterColumn:before,
.quarterColumn:after{
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  margin: auto;
}
.quarterColumn:before{
  top:-15px;
  right:-5em;
  border-style: solid;
  border-color: transparent transparent transparent #fff;
  border-width: 300px 0 150px 1em;
  z-index: 9999;
}
.quarterColumn:after{
  top:-15px;
  right:-.8em;
  border-style: solid;
  border-color: transparent transparent transparent #c6bc9b;
  border-width: 300px 0 150px 1em;
  z-index: 9999;
}
*/
	
/*左からフェードイン*/	
	
/* 画面外にいる状態 */
.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; /* この一行を追加するだけ！ */}		
/*もともとのフェードインＣＳＳ*/	
	

	
	
/* animation */
@-webkit-keyframes passing-bar{
	0% {
		left: 0;
		right: auto;
		width: 0;
	}
	50% {
		left: 0;
		right: auto;
		width: 100%;
	}
	51% {
		left: auto;
		right: 0;
		width: 100%;
	}
	100% {
		left: auto;
		right: 0;
		width: 0;
	}
}
@keyframes passing-bar{
	0% {
		left: 0;
		width: 0;
	}
	50% {
		left: 0;
		width: 100%;
	}
	51% {
		left: 0;
		width: 100%;
	}
	100% {
		left: 100%;
		width: 0;
	}
}
@-webkit-keyframes passing-txt{
	0% { opacity: 0; }
	50% { opacity: 0; }
	100% { opacity: 1; }
}
@keyframes passing-txt{
	0% { opacity:0; }
	50% { opacity:0; }
	100% { opacity:1; }
}
/* css */
.passing .passing-box {
	display: block;
	text-align: center;	position: absolute;
	left: 25%;
	top: 200px;

}
.passing .passing-bar {
	position: relative;
	display: inline-block;
	/*　後ほど解説　*/
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
.passing .passing-bar:before {
	content: '';
	display: inline-block;
	width: 0;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	/* 任意の値 */
	background:transparent;
}
.passing .passing-txt {color:#FFFFFF!important; letter-spacing:0.5rem;
	opacity: 0;
	/* 後ほど解説 */
	-webkit-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	/* 任意の値 */
	font-size: 4.0rem;
	font-weight: normal;
	line-height: 1.5;
}
.passing.move .passing-bar:before {
	-webkit-animation: passing-bar 2s ease 0s 1 normal forwards;
	animation: passing-bar 2s ease 0s 1 normal forwards;
}
.passing.move .passing-txt {color:#FFFFFF!important; letter-spacing:0.5rem;
	-webkit-animation: passing-txt 0s ease .5s 1 normal forwards;
	animation:passing-txt 0s ease .5s 1 normal forwards;
}	
	
-webkit-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
	
.kaisha {
width:auto;margin:auto;box-sizing:border-box;
	  box-shadow: 0 32px 30px -30px rgba(53, 47, 47, 0.15);
}
div table{width:100%!important;}	

.kaisha th,
.kaisha td {border:0px solid #FFFFFF;
padding: 40px;
	text-indent:1rem;
}
.kaisha td {
background-color: #FFFFFF;color:#666666; border:0px solid #666666!important;
}
.kaisha th {color:#FFFFFF;font-weight:normal;box-sizing:border-box;
letter-spacing: 0.25rem;
  background:#415CA7;
 
}
.kaisha tr:nth-child(odd) th{color:#FFFFFF;font-weight:normal;box-sizing:border-box;
letter-spacing: 0.25rem;
  background:#2F90F5;
 
}	
	

@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:50px auto 30px auto; /* ボックス全体の位置調整 */
}

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

.acbox label:hover{
  background: #142DA0; /* ラベルにマウスを乗せた時の背景色 */
	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	{font-size:150%;padding-bottom:0px;}
.contactStyling p a{color:#3A4542!important;}	
	
	
.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;}
	
	
#wrapper{
	width:100%;	
	min-width:1200px;
	margin:0px;
	padding-top:0px;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  /* 画像ファイルの指定 */
  background-image: url("../img/slide_020.png");
   
  /* 画像を常に天地左右の中央に配置 */
  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;
	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{position:absolute; top:170px; left:50px; height:auto; width:400px;background:#FFFFFF;opacity:0.92;z-index: 9999;}
	
.newsTextbox{float:left;box-sizing:border-box; width:100%; margin:10px auto 10px auto;height:auto;border-bottom:1px dotted #666666; padding:0 15px; line-height:150%;}
.newsTitle{	margin:20px auto;
	text-align:center;
	font-size:120%;
	width:100%; 
	height:auto;
	box-sizing:border-box;
  padding: 1em 1em;
  text-decoration: none;
  color: #252525;/*文字色*/
  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
	letter-spacing:2px;
}

	.newsDate{margin:0 20px;float:left; box-sizing:border-box; color:#494646; width:80px; height:60px;}
	.newsMark{box-sizing:border-box;height:56px;width:56px; padding:2px;vertical-align: middle;}
	.newsText{margin:0 20px;box-sizing:border-box; width:auto; height:60px;}
	
	
.textareaBg{
	min-width:1080px;
  /* 画像ファイルの指定 */
  background-image: url("../img/slide_020.png");
   
  /* 画像を常に天地左右の中央に配置 */
  background-position: center center;
   
  /* 画像をタイル状に繰り返し表示しない */
  background-repeat: no-repeat;
   
  /* コンテンツの高さが画像の高さより大きい時、動かないように固定 */
  background-attachment: fixed;
   
  /* 表示するコンテナの大きさに基づいて、背景画像を調整 */
  background-size: cover;
   
  /* 背景画像が読み込まれる前に表示される背景のカラー */
  background-color: #FFFFFF;
	
	padding-bottom:80px;
	}
	
.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;
}
	
/* Begin Left Contact Page */
.form-horizontal {box-sizing: border-box;
	width:60%;  min-width: 800px;
margin:0 auto;
  font-family: 'Lato';
  font-weight: 400;
}

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

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:#2B6DBC;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 {
  font: 200 14px 'Oswald', sans-serif;
  color: #555;
  letter-spacing: 1px;
  text-align: center;
}

hr {
  border-color: #D8D8D8; 
}

/* Begin Media Queries*/
	

	
@media screen and (max-width: 760px) {
	
    /*#contact {
        height: 1000px;
    }
  .section-header {
    font-size: 65px;
  }
  .direct-contact-container, .form-horizontal {
    float: none;
    margin: 10px auto;
  }  
  .direct-contact-container {
    margin-top: 60px;
    max-width: 300px;
  }    
  .social-media-list li {
    height: 60px;
    width: 60px;
    line-height: 60px;
  }
  .social-media-list li:after {
    width: 60px;
    height: 60px;
    line-height: 60px;
  }*/
}

	
/*---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;}
	
	
.map {margin:0; padding:0;
position: relative;
padding-bottom: 25%; /*これが縦横比*/
height: 0;
overflow: hidden;
}
.map iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height:100% !important;
}

.imgBox{
	padding:0;
	width:100%;
	height:auto;
	margin:0 auto;
	}
.imgBox img{
width: 100%;
  height: auto;
  object-fit: cover;	/*object-fit: cover; /* この一行を追加するだけ！ */
	}
.contactimgBox{
	padding:0;
	width:100%;
	height:auto;
	margin:0 auto;
	}
.contactimgBox img{
width: 100%;
  height:300px;
  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;

}
/*
.subtextTitle:before {
    content: '';
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 10px;
    margin-left: 10px;
    border: transparent solid 16px;
    border-left-color:#666666;
    vertical-align: 0px;
}*/
	
.subtextTitle{
	margin:0 0 20px 0;
	color:#FFFFFF!important;
	text-align:center!important;
	font-size:1.4em!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;
	
}
.contactsubtextTitle{
	margin:0px 0 0px 0;
	color:#5A7064;
	text-align:center!important;
	font-size:130%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0.2rem;
	border-bottom:5px solid #FFFFFF;
	text-shadow:1px 1px 0px #666666;
	-webkit-text-shadow:1px 1px 3px #666666;
  padding: 1em 0em;
  text-decoration: none;background:#F3F5F4;
	
}
	
	
.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 {
	margin:0 auto!important;
  position: relative;
	text-align:center;
	font-size:2.2rem;
	width:100%;
	min-width:100%;
	height:200px;
	box-sizing:border-box;
	letter-spacing:1em;
  padding: 4em 0;  
	text-decoration: none;
	background:transparent;
	color:#FFFFFF;
/*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;  box-shadow: 0px 2px 2px rgba(0, 0, 0, 0.29);
}

	
.maintextTitle:before {display:none;
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -60px;
  border: 60px solid transparent;
  border-top: 60px solid #004400; 
}
.maintextTitle:after {display:none;
  content: "";
  display: block;
  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);*/
}	
/*	
.maintextTitle{
	text-align:center;
	font-size:230%;
	width:100%;
	min-width:100%;
	height:auto;
	box-sizing:border-box;
	letter-spacing:0;
  padding: 2em 2em;
  text-decoration: none;
  border-bottom: solid 8px #5E5E66;
  color: #5E5E66;
  font-weight: bold;
}
	*/
.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:1.2rem!important;
	font-weight:550;
	text-align:center;
	box-sizing:border-box;
	width:100%;letter-spacing:0.05rem;
	height:auto; 
	margin:0 auto; 
	padding:20px 0!important; 
	line-height:200%; 
	/*background:#c6bc9b;*/
	background:transparent;color:#454451;
	border-collapse: inherit;
	}	
span.closeupTitletext{
	color:#666666;
	}
.columnCaseSec{
		width:80%;
		height:auto;
		margin:50px auto 0 auto; 
		padding:12%; 
		box-sizing:border-box;
		position:relative;
background:rgba(0, 0, 0, 0.75);
	word-wrap: break-word;
	white-space: pre-wrap;
	}
	.columnCaseSec p{font-size:95%; letter-spacing:0.08rem;color:#FFFFFF;text-align:left;}	
	
.columnCase{
		width:100%;
		height:auto;
		margin:0px auto; 
		padding:0; 
		box-sizing:border-box;
		position:relative;
	overflow:hidden;
	}
.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;
  margin-top: 0px;
  color: #fff;
}
#footer a {padding:10px;
  text-decoration: none;
  color: #fff;
}
#footer a:hover {
  text-decoration: underline;
}
#footer .primary {text-align:center;
  padding: 40px 20px;
  background:#415CA7;
}
#footer .secondary {text-align:center;
  display: flex;
  padding: 40px 20px;
  background:#415CA7;
}



/* footer-logo */

#footer .logo {
  position: relative;
  padding: 0;
  margin: 0 0 50px 0;
  font-size: 26px;
  font-weight: bold;
}

/*
#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:#E5F5FF;
  width: 50%;
  margin: 0;
  padding: 0;
  text-align: right;
}



}

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