@charset "utf-8";
/************************************************************************************************/
@media only screen and (max-width:1000px) {	
#mainv header #h1_logo{
	width: 25%;
	min-width: 200px;
	margin-left: 3%;
}

/*-----------------------------
   Section01 BUSINESS
-------------------------------*/
section.cont_box01{
	margin: 0 3%;
	padding: 70px 0 70px 0;
	position: relative;
	width: 94%;
	max-width: 1000px;
	z-index: 10;
}
}



/************************************************************************************************/
@media only screen and (max-width:640px) {
#mainv_areaB > #mainv > .bg_head_smt{
	display: block;
}
.bg_head_pc{
	display: none;
}
#mainv_area #h1_logo{
	width: 60% !important;
	position: absolute;
	top: 30%;
	left: 20%;
}

#gnavi{
	display: none;
}
#menu_trigger_box{
	position: absolute;
	top: 32px;
	right: 5%;
	display: block;
	z-index: 1001;
}
.menu-trigger,
.menu-trigger span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.menu-trigger {
	position: relative;
	width: 40px;
	height: 34px;
}
.menu-trigger span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #fff;
	border-radius: 4px;
}
.menu-trigger span:nth-of-type(1) {
  top: 0;
}
.menu-trigger span:nth-of-type(2) {
  top: 15px;
}
.menu-trigger span:nth-of-type(3) {
  bottom: 0;
}

.menu-trigger.active span:nth-of-type(1) {
  -webkit-transform: translateY(15px) rotate(-45deg);
  transform: translateY(15px) rotate(-45deg);
}
.menu-trigger.active span:nth-of-type(2) {
  left: 50%;
  opacity: 0;
  -webkit-animation: active-menu-bar02 .8s forwards;
  animation: active-menu-bar02 .8s forwards;
}
@-webkit-keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}
@keyframes active-menu-bar02 {
  100% {
    height: 0;
  }
}
.menu-trigger.active span:nth-of-type(3) {
  -webkit-transform: translateY(-15px) rotate(45deg);
  transform: translateY(-15px) rotate(45deg);
}
#smtnav{
	display: block;
}
#smtnav {
	position: fixed;
	top: 0;
	right: 0;
	width: 300px;
	height: 100%;
    background: rgb(207,247,95);
    background: linear-gradient(0deg, rgba(207,247,95,1) 0%, rgba(73,231,245,1) 100%); 
	transition: all 0.2s;
	transform: translate(300px);
	z-index: 1000;
}
#smtnav.open {
	transform: translate(0); 
}
#smtnav > ul {
	margin: 0;
	padding: 1em;
	list-style-type: none;
	width: 100%;
}
#smtnav > ul li {
	padding: 1em 0;
	border-bottom: 1px solid #000;
	width: 100%;
}
#smtnav > ul li.has-child2 ul{
	width: 85% !important;
	display: inline-block !important;
	position: relative !important;
	margin: 10px 0 0;
	padding: 0 0 0 15%;
}
#smtnav > ul li.has-child2 ul li{
	font-size: 1em;
	line-height: 1.5em;
	position: relative;
	width: 100% !important;
	text-align: left !important;
	border-bottom: none;
	font-weight: bold;
	margin: 0;
	padding: 0;
}
#smtnav > ul li.has-child2 ul li:first-child{
	text-indent: -4em;
}
#smtnav > ul li.has-child2 ul li:first-child::before{
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	top: 8px;
	left: 10px;
	background-image: url("../images/icon_gnavi_k_A.png");
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
}
#smtnav > ul li.has-child2 ul li:last-child::before{
	content: "";
	position: absolute;
	width: 8px;
	height: 8px;
	top: 5px;
	left: 10px;
	background-image: url("../images/icon_gnavi_k_B.png");
	background-size: contain;
	background-position: left top;
	background-repeat: no-repeat;
}
#smtnav > ul li a {
	display: block;
	text-align: center;
	text-decoration: none;
	color: #000;
	font-family: 'Open Sans', sans-serif;
}	

#smtnav .icon_sns_smt{
	width: 120px !important;
	height: 40px;
	position: absolute;
	margin:30px auto 0;
	right: 0;
	left: 0;
}
#smtnav .icon_sns_smt img{
	width: 40px !important;
	height: 40px !important;
	margin: 0 10px;
	float: left;
}

	
/*-----------------------------
   Section01 BUSINESS
-------------------------------*/
section.cont_box01{
	margin: 0 auto;
	padding: 40px 3% 40px 3%;
	position: relative;
	width: 94%;
	max-width: 1000px;
	z-index: 10;
}
section.cont_box01 .cont_box01inn{
	width: 100%;
	max-width: 1000px;
	margin: 0 0 0;
	clear: both;
}

article.cont_base2 section.cont_box01 .cont_box01inn{
	width: 100% !important;
	max-width: 1000px;
	margin: 0 0 0;
	clear: both;
}
	
br.br_only_pc{
	display: none;
}
br.br_only_smt{
	display: inherit;
}
h2.title_A{
	margin: 0 auto 0;
	font-size: 3em;
	line-height: 1.5em;
}
h3.title_A_sub{
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-size: 1.35em;
	font-weight: 700;
	line-height: 1.5em;
	margin: 10px 0 0 0;
}
section.cont_box01 p{
	text-align: justify;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 400;
	font-size: 0.95em;
	color: #000;
	margin: 20px 0 0 0;
	line-height: 1.6em;
}
section.cont_box01 .cont_box01innB{
	width: 100%;
	clear: both;
	margin: 30px 0 0 0;
}

	
/*-----------------------------
   Section03 NEWS
-------------------------------*/
#top_info{
	width: 90%;
	margin: 60px auto 0;
}
#top_info h2{
	font-family: 'Open Sans', sans-serif;
	font-size: 2em;
	color: #aaa;
	text-align: center;
	margin: 0 0 20px 0;
}
#top_info dl{
	border-top: solid 1px #ccc;
	padding: 20px 0;
}
#top_info dl dt{
	clear: both;
	font-family: 'Oswald', sans-serif;
	font-weight: 400;
	font-size: 1em;
	margin: 0 0 0 3%;
	width: 94%;
}
#top_info dl dd{
	clear: both;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-size: 0.9em;
	font-weight: 400;
	line-height: 1.8em;
	text-align: justify;
	margin: 10px 3% 0 3%;
	width: 94%;
}

	
/*-----------------------------
   Section04 gallery
-------------------------------*/
#bl_ph{
	width: 100%;
	max-width: 1500px;
	margin: 50px auto 0;
}
	
	
	

.totop{
  position: fixed;
  right: 3%;
  bottom: 5%;
	width: 40px;
	height: 51px;
	background-image: url("../images/icon_totop.png");
	background-position: center top;
	background-size: 100% auto;
	background-repeat: no-repeat;
  cursor: pointer;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
	z-index: 800;
}
.active{
  opacity: 1;
  visibility: visible;
}
/*-----------------------------
   Footer
-------------------------------*/
footer{
	width: 100%;
	background-color: #cdfbfe;
	padding: 10px 0 5px 0;
	margin: 0 0 0 0;
}
footer #footer-inner{
	width: 90%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
footer #footer-inner h2{
	width: 50px;
	margin: 10px 0 -10px 5%;
	display: block;
}
footer #footer-inner .icon_sns{
	width: 112px;
	height: 40px;
	position: absolute;
	top: 5px;
	right: 18%;
}
	

/*-----------------------------
   Button
-------------------------------*/
.btn_A{
	font-size: 1.1em;
	text-align: center;
	width: 60%;
	height: 40px;
	display: block;
	position: relative;
	z-index: 10;
	margin: 20px 20% 0;
}
	
.smt_br{
	display: block;
}
	
.btn_B{
	font-family: 'Open Sans', sans-serif;
	font-size: 1.1em;
	text-align: center;
	width: 80%;
	height: 40px;
	background-color: #02b1e3;
	display: block;
	position: relative;
	z-index: 10;
	margin: 20px 10% 0 10% ;
	border-radius: 20px;
}
.btn_B a span::after{
	content: "";
	position: absolute;
	top: 7px;
	right: 5%;
    width: 4px;
    height: 4px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}	
	
/*-----------------------------
  下層ページ
-------------------------------*/
.page_title{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, 0);
	font-family: 'Open Sans', sans-serif;
	font-size: 1.8em;
}
article.cont_base_uA section.cont_box01,
article.cont_base_uB section.cont_box01{
	width: 90%;
	margin: 0 5%;
}
article.cont_base_uA section.cont_box01 .cont_box01inn,
article.cont_base_uB section.cont_box01 .cont_box01inn{
	width: 100%;
	position: relative;
	z-index: 20;
	margin: 0 0 0 0;
	clear: both;
}
article.cont_base_uA section.cont_box01 .cont_box01innB{
	width: 100%;
	clear: both;
	margin: 20px 0 0 0;
}
.cont_box01inn40{
	width: 100%;
	position: relative;
	z-index: 20;
	margin: 0 0;
	clear: both;
}
.cont_box01inn60{
	width: 90%;
	clear: both;
	margin: -10px 5% 0 5%;
}	

.pos_smt_01{
	position: absolute;
	bottom: 0;
	right: 10%;
}

.sentence_B{
	text-align: left;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 400;
	font-size: 1em;
	color: #000;
	padding: 0 0 0 0;
	line-height: 1.6em;
	width: 100%;
}
	
.ph_B{
	padding: 0 15%;
}
.ph_C{
	padding: 20px 0 0 0;
	margin: 20px 0 0 0;
}
.ph_D{
	padding: 0 15% 0 15%;
}
	
/*-----------------------------
  EVENT
-------------------------------*/
section.cont_box02{
	margin: 0 auto;
	padding: 0 0 50px 0;
	position: relative;
	width: 94%;
	max-width: 1000px;
	z-index: 10;
}
.img_list li{
	width: 90%;
	clear: both;
	margin: 15px 5% 0;
}
.img_list li:first-child{
	margin: 0 5% 0;	
}	
	
	
h2.title_B{
	margin: 0 auto 0;
	text-align: center;
	color: #000;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.8em;
	line-height: 1.1em;
}

h3.title_C{
	margin: 0 auto 0;
	text-align: center;
	color: #000;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.8em;
	line-height: 1.1em;
}
	
/*-----------------------------
  COMPANY
-------------------------------*/
h2.title_E{
	margin: 0 auto 0;
	text-align: center;
	color: #000;
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 700;
	font-size: 1.5em;
	line-height: 1.1em;
}
.title_D_sub{
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 400;
	font-size: 2em;
	text-align: center;
	line-height: 1.2em;
	margin: 40px 0 40px 0;
}

.table_A{
	margin: 30px 0 0 0;
}
.table_A tr{
	
}
.table_A tr th{
	font-family: 'IBM Plex Sans JP', sans-serif;
	font-weight: 700;
	text-align: right;
	width: 25%;
	padding: 10px 15px 10px 0;
	border-right: 1px solid #aaa;
}
.table_A tr td{
	font-family: 'IBM Plex Sans JP', sans-serif;
	width: 75%;
	padding: 10px 0 10px 15px;
}
	
/*-----------------------------
  CONTACT
-------------------------------*/
.table_B tr th{
	text-align: right;
	padding: 15px 2% 15px 0;
	width: 25%;
	border-bottom: 1px solid #aaa;
	vertical-align: middle;
}
.table_B tr td{
	width: 75%;
	padding: 15px 0 15px 2%;
	border-bottom: 1px solid #aaa;
}
	
	
input{
	width: 98%;
	height:30px;
	margin: 0 2% 0 0;
}	

.form_button{
	width:100% !important;
	height:50px;
	display:block;
	margin:20px auto 0;
}

input[type=reset],
input[type=submit],
input[type=hidden],
input[type=button]{
	width:43%;
	height:50px;
	background:#b3b3b3;
	float:left;
	margin:15px 1% 80px;
	font: 1.1em YuGothic, 'Hiragino Kaku Gothic Pro', 'ヒラギノ角ゴ Pro W3', Meiryo, メイリオ, sans-serif;
	color:#fff;
	cursor:pointer;
	border:none;
	border-radius:0;
	border-radius: 5px ;
}
input[type=reset]{
	width: 48% !important;
	margin: 0 2% 0 0 !important;
}
input[type=submit]{
	width: 48% !important;
	margin: 0 0 0 2% !important;
}	
input[type=button]{
	width: 48% !important;
	margin: 0 0 0 2% !important;
}

.marginreset01{
	margin-top: 0;
	display: none;
}

.table_C tr th{
	text-align: right;
	padding: 15px 2% 15px 0;
	width: 25%;
	border-right: 1px solid #aaa;
	border-bottom: 1px solid #aaa;
	vertical-align: middle;
}
.table_C tr td{
	width: 75%;
	padding: 15px 0 15px 2%;
	border-bottom: 1px solid #aaa;
}
	
}

