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

/* ==========================================================
 max-width: 959px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 959px) {
	
	body {
		font-size: 1.4rem;
	}
	.btn-cmn-01 {
		width: 100%;
		max-width: 300px;
	}

/* header
---------------------------------------------------------- */
	.header {
		position: fixed;
		top: 0;
		left: 0;
		max-width: none;
		height: 50px;
		transform: none;
	}
	.header-logo,
	.header-nav-btn {
		position: relative;
		height: 100%;
		z-index: 20;
	}
	.header-logo {
		padding: 16px 15px;
		;letter-spacing: -0.4px;
		font-size: 20px;
	}
	.header .cwi-logo {
		display: none;
	}
	.header-logo {
		width: calc(100% - 50px);
	}
	.header-nav-btn {
		overflow: hidden;
		float: right;
		width: 50px;
		background: #fff;
		text-indent: -9999px;
	}
	.header-nav-btn:before,
	.header-nav-btn:after,
	.header-nav-btn span {
		display: block;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		width: 30px;
		height: 4px;
		margin: auto;
		background: #000;
		-webkit-transition: all 0.2s;
    transition: all 0.2s;
	}
	.header-nav-btn:before,
	.header-nav-btn:after {
		content: "";
		z-index: 2;
	}
	.header-nav-btn:before {
		transform: translate(0, -12px);
	}
	.header-nav-btn:after {
		transform: translate(0, 12px);
	}
	.header-nav-btn span {
		overflow: hidden;
		color: #000;
		z-index: 1;
	}
	.open .header-nav-btn span {
		opacity: 0;
	}
	.open .header-nav-btn:before {
		transform: rotate(45deg);
	}
	.open .header-nav-btn:after {
		transform: rotate(-45deg);
	}
	.header-nav {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
		background: #fff;
		visibility: hidden;
		opacity: 0;
		-webkit-transition: all 0.2s;
    transition: all 0.2s;
	}
	.header .nav-item-01 {
		position: absolute;
		top: calc(50% + 25px);
		left: 0;
		width: 100%;
		height: auto;
		transform: translateY(-50%);
	}
	.header-nav .nav-item-01 > li {
		display: block;
	}
	.header-nav .nav-item-01 > li > a,
	.header-nav .nav-item-01 > li > span {
		line-height: 1;
		font-size: 16px;
	}
	.header .nav-item-01 > li > a:before,
	.header .nav-item-01 .nav-drop span:before {
		display: none;
	}
	.header-nav .nav-item-01 > li > a {
		padding: 20px;
	}
	.header-nav .nav-item-01 > li > span {
		padding: 20px 10px 0;
	}
	.header .nav-drop {
		margin-bottom: 10px;
	}
	.header .nav-item-02 {
		position: static;
		top: auto;
		left: auto;
		width: auto;
		visibility: visible;
		opacity: 1;
		text-align: center;
	}
	.header .nav-item-02 li {
		display: inline-block;
	}
	.header .nav-drop.active,
	.header .nav-item-02 a:hover {
		background: none;
	}
	.open .header-nav {
		visibility: visible;
		opacity: 1;
	}

/* footer
---------------------------------------------------------- */
	.footer {
		margin-top: 80px;
	}
	.footer p {
		font-size: 10px;
	}
	
/* ttl
---------------------------------------------------------- */
	.ttl-cmn-01 {
		font-size: 54px;
	}
	.ttl-cmn-02-1,
	.ttl-cmn-02-2 {
		font-size: 42px;
	}
	.ttl-cmn-03 {
		margin-bottom: 30px;
		font-size: 36px;
	}
	.ttl-cmn-04 {
		font-size: 30px;
	}
	.ttl-cmn-03 .txt-sub,
	.ttl-hero .txt-sub {
		margin-top: 5px;
	}
	.ttl-hero {
		height: auto;
		margin-bottom: 30px;
		padding: 100px 0 50px;
	}
	.ttl-hero h2 {
		position: relative;
		bottom: auto;
		left: auto;
		font-size: 48px;
		transform: none;
	}

/* list
---------------------------------------------------------- */
	dl.list-cmn-01 dt {
		float: none;
		margin-top: 15px;
		padding: 0;
		color: #000;
		font-weight: 700;
	}
	dl.list-cmn-01 dd,
	dl.list-cmn-01 .day-time + dd {
		margin-top: 0;
		padding: 0 0 8px;
	}
	.sec-cmn-in .list-cmn-01 {
		margin-bottom: 30px;
	}
	.sec-cmn-02 .btn-cmn-01 {
		margin-top: 50px;
	}
	
/* sec
---------------------------------------------------------- */
	.sec-cmn-in > *:first-of-type,
	.sec-cmn-in > *:first-of-type + * {
		float: none;
		width: auto;
	}
/* event.html */
	.list-event li {
		max-width: none;
	}
	.list-event li h5 {
		font-size: 18px;
	}
	.list-event li h4 img {
		margin-left: auto;
		margin-right: auto;
	}
/* exhibitors.html */
	.exhibitors .sec-cmn-01:first-of-type > p {
		margin-left: 30px;
		margin-right: 30px;
	}
	.list-exhibitors li {
		padding: 30px;
	}
	.list-exhibitors .exhibitors-name {
		position: relative;
		float: right;
		width: calc(100% - 120px);
		height: 100px;
	}
	.list-exhibitors .exhibitors-name h3 {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.list-exhibitors .exhibitors-detail {
		position: static;
		right: auto;
		bottom: auto;
		clear: both;
		display: block;
		width: 100%;
	}
	.list-exhibitors .exhibitors-logo {
		margin-bottom: 20px;
	}
	.list-exhibitors .exhibitors-detail a,
	.list-exhibitors .exhibitors-detail span {
		width: 100%;
		margin: 0;
		font-size: 12px;
	}
	.list-exhibitors .exhibitors-detail a + a,
	.list-exhibitors .exhibitors-detail span + a {
		margin-top: 10px;
	}
/* registration.html */
	.registration-box .btn-cmn-01 {
		margin-top: 10px;
	}
}

/* ==========================================================
 width: 600 - 959px
========================================================== */
@media screen and (min-width: 600px) and (max-width: 959px) {

	.sec-cmn-02,
	.list-exhibitors {
		margin: 0 30px;
	}
	.sec-cmn-02 {
		padding: 50px 30px;
	}
	.sec-registration > p {
		width: 80%;
	}
	.list-event li {
		width: calc(50% - 10px);
		max-width: none;
	}
	.list-exhibitors li {
		width: calc(50% - 10px);
	}
	.list-exhibitors .exhibitors-logo {
		width: 80px;
	}
	.list-exhibitors .exhibitors-name {
		width: calc(100% - 100px);
		height: 80px;
	}
}

/* ==========================================================
 width: 1 - 599px
========================================================== */
@media screen and (min-width: 1px) and (max-width: 599px) {
	
/* sec
---------------------------------------------------------- */
	.sec-cmn-02,
	.sec-registration {
		padding: 50px 30px;
	}
/* sec-registration */
	.sec-registration > p {
		text-align: justify;
	}
	.sec-registration > p:before {
		top: -70px;
		width: 65px;
		height: 65px;
	}
	
/* btn
---------------------------------------------------------- */
	.btn-cmn-01,
	.sec-registration .btn-cmn-01 {
		max-width: 230px;
	}
		
/* box
---------------------------------------------------------- */
	.box-cmn-01,
	.box-cmn-02 {
		display: block;
	}
	.box-cmn-01-in {
		width: 100%;
	}
		
	/* 各ページ
---------------------------------------------------------- */
	.event iframe,
	.venue iframe {
		height: 300px;
	}
/* event.html */
	.list-event {
		display: block;
	}
	.list-event li {
		width: 100%;
	}
	.list-event li + li {
		margin-top: 30px;
	}
	.list-event li h5,
	.list-event li h5 + p {
		margin: 0;
	}
	.list-event li h4 img,
	.list-event li p:last-of-type {
		margin-top: 10px;
	}
	.list-exhibitors {
		display: block;
	}
	.list-exhibitors li {
		width: auto;
	}
	.registration-box {
		display: block;
	}
	.registration-box .btn-cmn-01 {
		width: 100%;
		margin: 20px 0 0;
	}
	
	/* /privacy/
---------------------------------------------------------- */
	.privacy-all .ttl-hero {
		padding-top: 50px;
	}
	.privacy-all .ttl-hero h2 {
		top: auto;
		transform: none;
	}
	
}