/* constant */ :root {
  --main-color: #014099;
  --sub-color: #1270ab;
  --sub-color2: #b83800;
  --sub-color3: #227563;
  --font-color: #292a2c;
  --border-color: #cccccc;
  --bg-highlight: #f1f4f9;
  --font-family: 'Meiryo','Hiragino Kaku Gothic ProN',sans-serif;
}
a {
  text-decoration: none;
  color: inherit;
}
a:hover {
  opacity: 0.7;
}

.nopc{
	display: none;
}
.nosp{
	display: block;
}
@media screen and (max-width: 767px) {
	.nopc{
		display: block;
	}
	.nosp{
		display: none;
	}
}

/* @group header */
header {
	position: fixed;
	left: 0;
	right: 0;
	top: 0;
	margin: 0 auto;
	padding: 80px 0 60px;
	width: 100%;
	max-width: 990px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	box-sizing: border-box;
	z-index: 998;
}

#main.-top header {
	position: relative;
	justify-content: center;
}
@media screen and (max-width: 767px) {
	header {
		padding: 80px 0 30px;
	}
}


.bg_bg {
    width: 100%;
    max-width: 1000px;
    height: 12vh;
    padding: 1vh;
    margin: 0 auto;
    position: fixed;
    top: 0;
    /*left:0;*/
    z-index: 899;
    overflow: hidden;

    display: flex;
    display: -moz-flex;
    display: -o-flex;
    display: -webkit-flex;
    display: -ms-flex;
    flex-direction: row;
    -moz-flex-direction: row;
    -o-flex-direction: row;
    -webkit-flex-direction: row;
    -ms-flex-direction: row;
    background-color: #fff !important;
}

section {
  padding: 100px 0 0;
  /*height: 150vh;*/
}
body {
  font-family: var(--font-family);
  color: var(--font-color);
  font-size: 13px;
  background: #fff;
  background-image: url(../elements/dg-bg.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 60% auto;
  background-attachment: fixed;
  /*background-size: cover;*/
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
.bg_bg {
    height: 10vh;
}

section {
  padding: 90px 0 0;
}
body {
  font-family: var(--font-family);
  color: var(--font-color);
  font-size: 13px;
  background: #fff;
  background-image: url(../elements/dg-bg.png);
  background-position: left top;
  background-repeat: no-repeat;
  background-size: 80% auto;
  background-attachment: fixed;
  /*background-size: cover;*/
  line-height: 1.8;
  }
}
#main {
  width: 100%;
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}
#main .wrapper{
	flex: 1;
	max-width: 1000px;
	overflow: hidden;
	margin: 0 auto;
	position: relative;
}
@media screen and (max-width: 767px) {
#main .wrapper{
	flex: 1;
	max-width: 100%;
	overflow: hidden;
	margin: 0 auto;
	position: relative;
  }
}
#main .wrapper .full-content{
  /*flex: 1;
  padding: 10px 40px 10px 40px;
  overflow: hidden;*/
  width: 100%;
  height: 95%;
  /*max-width: 960px;
  margin: 5vh auto 0;*/
	margin: 0 auto;
  padding:  0;
  position: relative;
}
table {
  border-collapse: collapse;
}
#main table{
  width: 100%;
  margin: 0 auto;
  border: 1px solid var(--border-color);
}
#main table tr{
  background-color: #fff;
}
#main table tr th{
  padding: 5px 10px;
  border: 1px solid var(--border-color);
  vertical-align: top;
  line-height: 2;
}
#main table tr td{
  padding: 5px 10px;
  line-height: 2;
  border: 1px solid var(--border-color);
}
#main.international table{
  margin-bottom: 40px;
}
#main.international table th{
  text-align: left;
  width: 200px;
}


h2{
  color:var(--main-color);
  text-align:center;
  font-size: 4.0rem;
}
dl, ul {
list-style-type: none;
}

header h1.chambery-title{
  line-height: 1;
  color: #666666;
  font-size: 50px;
  font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
  font-weight: bold;
	padding: 0;
	margin: 0;
}
#main.international table.chambery1{
  border: 0;
  margin-bottom:0px;
  max-width: 100%;
}

#main.international table.chambery1 th,
#main.international table.chambery1 td{
  text-align: center;
  margin: 0 auto;
  border: 0;
  background-color: transparent;
}
#main.international p.p-blue{
  font-weight:bold;
  font-size: 30px;
  font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
  color:#00a1e4;
  margin:-5px;
}
#main.international p.p-red{
  font-weight:bold;
  font-size: 30px;
  font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
  color:#962e33;
  margin:-5px;
}
#main.international p.p-green{
  font-weight:bold;
  font-size: 30px;
  font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
  color:#00a650;
  margin:-5px;
}
#main.international p.p-gray{
  font-weight:bold;
  font-size: 30px;
  font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
  color:#595959;
  margin:-5px;
}
.resizeimage {
   max-width: 300px; /* 最大幅 */
   min-width: 200px; /* 最小幅 */
}
.resizeimage img { width: 100%; }


@media screen and (max-width: 767px) {
  #main.international table th,
  #main.international table td {
		font-size: 12px;
	}
	.resizeimage {
		width: 100%;
		min-width: inherit;
	}

	#main.international h1.chambery-title{
		text-align: center;
		line-height: 1;
		color: #666666;
		font-size: 40px;
		font-family: Trebuchet MS, Lucida Grande, Lucida Sans Unicode, Lucida Sans, Tahoma, sans-serif;
		font-weight: bold;
	}
  #main.international table.chambery1 {
    width: 100%;
  }
  #main.international table.chambery1 th,
  #main.international table.chambery1 td {
　　border-bottom: none;
    display: block;
    width: 100%;
    background-color: transparent;
  }


}


header h1.winter_service{
  max-width: 100%;
  font-size: 40px;
  font-weight: bold;
  color:#00a1e4;
  text-align:left;
	margin: 0;
  padding:20px 0 0 70px;
  background-image: url('../images/icon01.png');
  background-repeat: no-repeat;
  background-position: left 10px;
}
#main.international table.winter_service{
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid var(--border-color);
}
#main.international table.winter_service th.x1{
  background:#00a1e4;
  color:#fff;
  text-align:center;
  width:600px;
}
#main.international table.winter_service th.x2{
  background:#00a1e4;
  color:#fff;
  text-align:center;
  width:400px;
}
#main.international table.winter_service a:link {
  text-decoration: underline;
}
#main.international table.winter_service a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
	header h1.winter_service{
		font-size: 30px;
		margin: 0;
		padding: 20px 0 0 60px;
		background-size: 3rem auto;
		background-position: left 15px;
	}
	#main.international table.winter_service th.x1{
		width:66%;
	}
	#main.international table.winter_service th.x2{
		width:34%;
	}
}


/* @group table */
.contents_block table, .contents_blocks table {
  width: 100%;
  position: relative;
}
.contents_block tr, .contents_blocks tr {
  overflow: hidden;
}
.contents_block th, .contents_blocks th {
  vertical-align: middle;
}
.contents_block td, .contents_blocks td {
  word-break: break-all;
  vertical-align: middle;
}

header h1.resilience{
  max-width: 100%;
  margin: 0;
  font-size: 40px;
  font-weight: bold;
  color:#962e33;
  text-align:left;
  padding:20px 0 0 70px;
  background-image: url('../images/icon02.png');
  background-repeat: no-repeat;
  background-position: left 10px;
}
@media screen and (max-width: 767px) {
	header h1.resilience{
		font-size: 30px;
		padding:20px 0 0 60px;
		background-size: 3rem auto;
		background-position: left 15px;
	}
}

#main.international table.resilience{
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid var(--border-color);
}
#main.international table.resilience th.x1{
  background:#962e33;
  color:#fff;
  text-align:center;
  width:600px;
}
#main.international table.resilience th.x2{
  background:#962e33;
  color:#fff;
  text-align:center;
  width:400px;
}
#main.international table.resilience a:link {
  text-decoration: underline;
}
#main.international table.resilience a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {

  #main.international table.resilience {
    width: 100%;
  }
	#main.international table.resilience th.x1{
		width:66%;
	}
	#main.international table.resilience th.x2{
		width:34%;
	}
}


header h1.decarbonization{
  max-width: 100%;
  margin: 0;
  font-size: 40px;
  font-weight: bold;
  color:#00a650;
  text-align:left;
  padding:20px 0 0 70px;
  background-image: url('../images/icon03.png');
  background-repeat: no-repeat;
  background-position: left 10px;
}
@media screen and (max-width: 767px) {
	header h1.decarbonization{
		font-size: 30px;
		padding:20px 0 0 60px;
		background-size: 3rem auto;
		background-position: left 15px;
	}
}

#main.international table.decarbonization{
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid var(--border-color);
}
#main.international table.decarbonization th.x1{
  background:#00a650;
  color:#fff;
  text-align:center;
  width:600px;
}
#main.international table.decarbonization th.x2{
  background:#00a650;
  color:#fff;
  text-align:center;
  width:400px;
}
#main.international table.decarbonization a:link {
  text-decoration: underline;
}
#main.international table.decarbonization a:hover {
  text-decoration: none;
}
@media screen and (max-width: 767px) {
  #main.international table {
		table-layout: fixed;
  }
  #main.international table.decarbonization {
    width: 100%;
  }
	#main.international table.decarbonization th.x1{
		width:66%;
	}
	#main.international table.decarbonization th.x2{
		width:34%;
	}

}

dl {
  display: flex;
	justify-content: space-between;
	align-items: center;
  width: 100%;
  line-height: 2;
}

.resizelogo {
   max-width: 150px; /* 最大幅 */
   min-width: 100px; /* 最小幅 */
}
.resizelogo img { width: 80%; }


@media screen and (max-width: 767px) {
	dl {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
	}

	dd {
	  margin: .5rem 0 0 0;
	}
	.resizelogo {
		width: 100%;
		min-width: inherit;
	}

}

header h1.exhibitors_list{
  max-width: 100%;
  margin: 0;
  font-size: 40px;
  font-weight: bold;
  color:#595959;
  text-align:left;
  padding:30px 0 0 0;
}
@media screen and (max-width: 767px) {
	header h1.exhibitors_list{
		font-size: 30px;
		padding: 10px 0 0 0;
	}
}

#main.international table.exhibitors_list{
  max-width: 100%;
  margin: 0 auto;
  border: 1px solid var(--border-color);
}
#main.international table.exhibitors_list th.x1{
  background:#95dcf8;
  text-align:center;
  width:900px;
}
#main.international table.exhibitors_list th.x2{
  background:#95dcf8;
  text-align:center;
  width:100px;
}
#main.international table.exhibitors_list th.y1{
  background:#eaeaea;
  text-align:center;
}
#main.international table.exhibitors_list img{
  display: block; 
  margin: 0 auto;
  text-align:center;
}
#main.international table.exhibitors_list a:link {
  color: #467886;
  text-decoration: underline;
}
#main.international table.exhibitors_list a:hover {
  color: #467886;
  text-decoration: none;
}
#main.international table.exhibitors_list.pd{
  display: block; 
  margin: 0 auto;
  width:100px;
}
@media screen and (max-width: 767px) {
	#main.international table.exhibitors_list th.x1{
		width:84%;
	}
	#main.international table.exhibitors_list th.x2{
		width:16%;
	}
  #main.international table.exhibitors_list {
    width: 100%;
  }
	#main.international table.exhibitors_list img{
		width: 100%;
		height: auto;
	}
	#main.international table.exhibitors_list td:nth-of-type(3) img{
		max-width: 2rem;
	}

}



/* global navi */
#nav-drawer {
	position: absolute;
	width: 100%;
	height: 100%;
}
.nav-unshown {
    display: none; /*チェックボックス等は非表示に*/
}
#nav-open {
	position: absolute;
	right: 1vh;
	top: 50%;
	transform: translateY(-50%);
	width: 5vh;
	height: 5vh;
	cursor: pointer;
}
#nav-open span, #nav-open span:before, #nav-open span:after {
    position: absolute;
    height: 5px; /*線の太さ*/
    width: 5vh; /*長さ*/
    background: #666;
		border-bottom: 2px solid #FFF;
    display: block;
    content: '';

}
#nav-open span:before {
    bottom: -1.9vh;
}
#nav-open span:after {
    bottom: -3.6vh;
}
/*閉じる用の薄黒箇所*/
#nav-close {
  display: none;
  position: fixed;
  z-index: 99;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #e4e4e4;
  transition: .3s ease-in-out;
}
/*メニューの中身*/
#nav-content {
    overflow: auto;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    width: 100%;
    max-width: 300px;/*最大幅（お好みで調整を）*/
    height: 100%;
    background: #fff;
    transition: .3s ease-in-out;
    -webkit-transform: translateX(105%);
    transform: translateX(105%);
}
#nav-input:checked ~ #nav-close {
    display: block;
    opacity: .5;
}
#nav-input:checked ~ #nav-content {
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
    box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
#nav-content ul{
  margin: 0;
  border-top: 1px solid #666;
  overflow: hidden;
  padding-left: 0;
}
#nav-content ul li.toji{
    padding: 2vh 2vh;
    border-bottom: 1px solid #666;
}
#nav-content ul li.click {
    display: block; 
    width: 100%;
}
#nav-content ul li.click a {
    display: block; 
    padding: 2vh 2vh;
    border-bottom: 1px solid #666;
}
#nav-content ul li.click a:hover {
    color: #000;
    background-color: #f3f4d5
}
#nav-content ul li.active {
    padding: 2vh 2vh;
    border-bottom: 1px solid #666;
    display: block; 
    width: 100%;
    color: #fff;
    background-color: #666;
}

#nav-content a.btn-c {
  transition: .3s ease-in-out;
  -webkit-transform: translateX(-5%);
  transform: translateX(-5%);
	cursor: pointer;
}
/*#nav-content li.click{
  display: block; 
  width: 100%;
}
.click a:hover{
   background-color: #ccc;
   opacity: 1;
}*/


@media screen and (max-width: 767px) {
	#nav-open {
		position: fixed;
		right: 8px;
		top: 3vh;
		transform: translateY(0);
		width: 5vh;
		height: 5vh;
		cursor: pointer;
	}
	#nav-open span, #nav-open span:before, #nav-open span:after {
		height: 4px;
	}
}

.tx_wt {color: #fff !important;}
.bg_ck {background-color: #666 !important;}

/* footer */
@media screen and (max-width: 767px) {
	#footer{
		padding-bottom: 4rem;
	}
}

#pagetop{
  position: fixed;
  right: 30px;
  bottom: 20px;
  height: 70px;
  z-index: 9999;
}
#pagetop a {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  position: relative;
  width: 34px;
  font-size: 0.8rem;
}
#pagetop a::before {
  content: "";
  width: 24px;
  height: 24px;
  border-top: 6px solid #666666;
  border-right: 6px solid #666666;
  margin: 5px 0;
  transform: rotate(-45deg);
}

#footer .copyright {
  font-size: 0.7rem;
  /*background-color: #fff;*/
  font-family: Arial, Helvetica, sans-serif;
  text-align: center;
  padding: 15px 0;
  letter-spacing: 2px;
}
@media screen and (max-width: 767px) {
  #footer .copyright {
    font-size: 0.9rem;
    letter-spacing: 1px;
  }
}