﻿@charset "utf-8";


/************* reset **************/

* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: none;
	font-weight: normal;
}

.clearfix:after {
	content: "";
	clear: both;
	display: block;
}

html{
	width: 100%;
	height: 100%;
	font-size: 95%;
}

@media screen and (max-width: 1600px){
	html{font-size: 90%;}
}

@media screen and (max-width: 1200px){
	html{font-size: 85%;}
}

@media screen and (max-width: 640px){
	html{font-size: 90%;}
}

@font-face {
  font-family: "boston";
  src: url("boston.eot?")  format('eot'),
       url("boston.woff2") format('woff2'),
       url("boston.woff")  format('woff');
}

/************* common **************/

body {
	width: 100%;
	height: 100%;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
	color: #000;
	line-height: 1.6;
	position: relative;
	background-color: #f3f3f3;
	word-wrap: break-word;
	overflow-wrap: break-word;
}

a {
	text-decoration: none;
	color: #404349;
}

h2 {
	display: none;
}

h3 {
	font-size: 160%;
	margin-bottom: 0.5em;
}


.boston	{font-family: 'boston', sans-serif;}

.blk	{color: #404349;}
.blue	{background-color: #47959a;}
.yellow	{background-color: #f3f141;}
.gray	{background-color: #3e3f3f;}
.indigo {background-color: #475668;}
.brown	{background-color: #685547;}
.light	{background-color: #dddddd;}
.pink	{background-color: #e04672;}
.orange	{background-color: #f27a2b;}
.red	{background-color: #9f3d52;}
.green	{background-color: #4da44d;}

.txtleft {text-align: left;}
.txtcenter {text-align: center;}
.txtright {text-align: right;}

.fl {float: left;}
.fr {float: right;}


@media screen and (min-width: 641px){
	.sponly {display: none;}
	.pconly {display: block;}
}

@media screen and (max-width: 640px){

	body {
		font-size: 86%;
	}

	.fl {clear: both;}
	.fr {clear: both;}

	.sponly {display: block;}
	.pconly {display: none;}

	h3 {
		font-size: 140%;
		margin-bottom: 0.25em;
	}
}


/************* header **************/

#header {
	position: absolute;
	display: table;
	width: 97%;
	padding: 1.5%;
	margin: 0 auto;
	top: 0;
	left: 0;
	text-align: left;
	overflow: hidden;
}

#logo {
	float: left;
	width: 7%;
	min-width: 90px;
}

#language {
	float: right;
	color: #FFF;
	font-size: 110%;
	text-align: right;
	margin-top: 0.2em;
}

h1 img {
	width: 100%;
}


@media screen and (max-width: 640px){

	#header {
		width: 92%;
		padding: 4%;
	}

	#logo {
		float: left;
		width: 7.5%;
		min-width: 60px;
	}

}


/************* footer **************/

#footer {
	clear: both;
	background-color: #fff;
	width: 100%;
	padding: 2em 0;
	color: #404349;
	text-align: center;
}

ul.sns {
	margin-bottom: 2em;
}

ul.sns li {
	display: inline;
	font-size: 240%;
	margin: 0 0.5em;
}

p.phone {
	font-size: 120%;
	letter-spacing: 0.05em;
	line-height: 1;
	margin-bottom: 0.5em;
}

p.time {
	margin-bottom: 2em;
}

ul.footmenu {
	margin-bottom: 2em;
}

ul.footmenu li {
	display: inline;
	margin: 0 0.5em;
}

p.copy {
	font-size: 80%;
	letter-spacing: 0.05em;
}


@media screen and (max-width: 640px){

	#footer {
		padding: 2em 0 7em 0;
	}

	ul.sns {
		margin-bottom: 1em;
	}

	ul.sns li {
		font-size: 200%;
		margin: 0 0.5em;
	}

}


/************* cover **************/


#base {
	width: 100%;
	position: relative;
	padding: 45% 0 0;
	overflow: hidden;
}

#video {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	overflow: hidden;
}

#bgslide {
	display: none;
}

div.fb-share-button {
	position: absolute;
	right: 1.5%;
	bottom: 5%;
}

.bgslideshow {
	position: relative;
	left:0; top:0;
	z-index: -1;
	height: 100%;
	width: 100%;
}

.bgslideshow div {
	position: absolute;
	width: 100%;
	height: 100%;
	background-size: cover;
	background-position: center;
	left: 0;
	top: 0;
}

#cover {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	z-index: 5;
	background-image: url("../img/gray.png");
	overflow: hidden;
}

#cover_inner {
	position: absolute;
	width: 100%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
	color: #fff;
	overflow: hidden;
}

img.img365 {
	max-width: 270px;
	width: 16%;
}

#cover .arrow {
	font-size: 300%;
}

#cover .arrow a {
	color: #FFF;
}

#key {
	position: relative;
	width: 100%;
	padding: 25% 0 0;
	background-size: cover;
	background-position: center bottom;
	margin-bottom: 5em;
}

#key_inner {
	position: absolute;
	width: 100%;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	text-align: center;
	color: #fff;
	overflow: hidden;
}

img.craftech {
	max-width: 360px;
	width: 30%;
}

@media screen and (max-width: 640px){
	#base {
		width: 100%;
		position: relative;
		padding: 100% 0 0;
		overflow: hidden;
	}

	#video {
		display: none;
	}

	#bgslide {
		display: block;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		overflow: hidden;
	}

	div.fb-share-button {
		position: absolute;
		right: 4%;
		bottom: 4%;
	}

	#cover {
		background-image: none;
	}

	img.img365 {
		max-width: 500px;
		width: 36%;
	}

	#cover_inner {
		top: 55%;
	}

	img.craftech {
		max-width: 500px;
		width: 50%;
	}
}


/************* map **************/


#access {
	position: relative;
	width: 100%;
	padding: 30% 0 0;
	background-color: #333;
}

#mapnew {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}

#mapnew iframe {
	width: 100%;
	height: 100%;
}

@media screen and (max-width: 640px){

	#key {
		padding: 60% 0 0;
		margin-bottom: 3em;
	}

	#access {
		padding: 80% 0 0;
	}

}


/************* main **************/

.container {
	width: 100%;
	overflow: hidden;
}

a.btn {
	margin-right: 1.5em;
	color: #fff;
	font-size: 110%;
	font-family: 'boston', sans-serif;
}

a.btnblk {
	margin-right: 1.5em;
	color: #404349;
	font-size: 110%;
	font-family: 'boston', sans-serif;
}

a.btn i {
	margin-right: 0.25em;
}

a.btnblk i {
	margin-right: 0.25em;
}

span.btn {
	margin-right: 1.5em;
	color: #fff;
	font-size: 110%;
	font-family: 'boston', sans-serif;
}

span.btnblk {
	margin-right: 1.5em;
	color: #404349;
	font-size: 110%;
	font-family: 'boston', sans-serif;
}

span.btn i {
	margin-right: 0.25em;
}

span.btnblk i {
	margin-right: 0.25em;
}

.box {
	position: relative;
	width: 50%;
	height: 50%;
	padding: 50% 0 0;
	text-align: center;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

.boxt {
	position: relative;
	width: 50%;
	height: 50%;
	padding: 50% 0 0;
	text-align: center;
	overflow: hidden;
	background-size: cover;
	background-position: center;
}

#upbtn {
	text-align: center;
	font-size: 300%;
	padding: 0;
}

@media screen and (min-width: 641px){


	a.btn {
		font-size: 110%;
	}

	a.btnblk {
		font-size: 110%;
	}

	span.btn {
		font-size: 110%;
	}

	span.btnblk {
		font-size: 110%;
	}


	.box_inner {
		position: absolute;
		width: 70%;
		top: 50%;
		left: 15%;
		text-align: left;
		color: #fff;
		-webkit-transform: translateY(-50%);
		-ms-transform: translateY(-50%);
		transform: translateY(-50%);
	}

	.box_inner p {
		margin-bottom: 1em;
	}

}

@media screen and (max-width: 640px){

	a.btn {
		font-size: 100%;
	}

	a.btnblk {
		font-size: 100%;
	}

	span.btn {
		font-size: 100%;
	}

	span.btnblk {
		font-size: 100%;
	}

	.box {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 66% 0 0;
		text-align: center;
		overflow: hidden;
		background-size: cover;
		background-position: center;
	}

	.boxt {
		position: relative;
		width: 100%;
		height: 100%;
		padding: 0;
		text-align: center;
		overflow: hidden;
		background-size: cover;
		background-position: center;
	}

	.box_inner {
		position: relative;
		width: 84%;
		text-align: left;
		margin: 8%;
		margin-bottom: 10%;
		color: #fff;
	}

	.box_inner p {
		margin-bottom: 1em;

	}

}


/************* eventlist **************/

ul.eventlist {
	width: 95%;
	overflow: hidden;
	margin: 0 auto;
	letter-spacing: -.40em;
	background-color: #eeeeee;
	padding: 3% 2.5%;
}

ul.eventlist li {
	display: inline-block;
	letter-spacing: normal;
	width: 19%;
	margin: 0;
	padding: 0 0.5% 2%;
	vertical-align: top;
}

ul.eventlist li h3 {
	font-size: 100%;
	line-height: 1.3;
}

.thumb {
	position: relative;
	width: 100%;
	margin-bottom: 0.3em;
}

.thumb img {
	width: 100%;
}

.thumb_inner {
    position: absolute;
	display: block;
	top: 50%;
    width: 100%;
	font-size: 130%;
	letter-spacing: 0.05em;
	text-align: center;
	color: #FFF;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	font-family: 'boston', sans-serif;
}

@media screen and (max-width: 1600px){
	ul.eventlist li {width: 24%;}
}

@media screen and (max-width: 1200px){
	ul.eventlist li {width: 32.3%;}
}

@media screen and (max-width: 640px){

	ul.eventlist {width: 96%;}

	ul.eventlist li {
		padding: 0 2% 2%;
		width: 46%;
	}

	.thumb {
		margin-bottom: 0.1em;
	}

	.thumb_inner {
		font-size: 110%;
	}
}



/************* event **************/

.event001 {background-image: url("../event/img/001/key.jpg");}
.event002 {background-image: url("../event/img/002/key.jpg");}
.event003 {background-image: url("../event/img/003/key.jpg");}
.event004 {background-image: url("../event/img/004/key.jpg");}
.event005 {background-image: url("../event/img/005/key.jpg");}
.event006 {background-image: url("../event/img/006/key.jpg");}
.event007 {background-image: url("../event/img/007/key.jpg");}
.event008 {background-image: url("../event/img/008/key.jpg");}
.event009 {background-image: url("../event/img/009/key.jpg");}
.event010 {background-image: url("../event/img/010/key.jpg");}
.event011 {background-image: url("../event/img/011/key.jpg");}
.event012 {background-image: url("../event/img/012/key.jpg");}
.event013 {background-image: url("../event/img/013/key.jpg");}
.event014 {background-image: url("../event/img/014/key.jpg");}
.event015 {background-image: url("../event/img/015/key.jpg");}
.event016 {background-image: url("../event/img/016/key.jpg");}
.event017 {background-image: url("../event/img/017/key.jpg");}
.event018 {background-image: url("../event/img/018/key.jpg");}
.event019 {background-image: url("../event/img/019/key.jpg");}
.event020 {background-image: url("../event/img/020/key.jpg");}
.corp01 {background-image: url("../img/co01.jpg");}
.corp02 {background-image: url("../img/co02.jpg");}
.corp03 {background-image: url("../img/co03.jpg");}
.mtg {background-image: url("../img/mtg.jpg");}


.eventc {
	max-width: 1240px;
	width: 80%;
	overflow: hidden;
	margin: 0 auto 10em auto;
}

.block {
	width: 75%;
	overflow: hidden;
	float: left;
}

.block h3 {
	display: inline;
	font-size: 160%;
	margin-bottom: 1em;
	vertical-align: middle;
}

.block p.icon {
	display: inline;
	font-size: 100%;
	background-color: #3e3f3f;
	color: #fff;
	vertical-align: middle;
	padding: 0.5em 1em 0.3em;
	margin-right: 1em;
	font-family: 'boston', sans-serif;
}

.sublist {
	width: 20%;
	float: left;
	overflow: hidden;
	margin-left: 5%;
}

.sublist ul {
	border-top: 1px #ddd solid;
}


.sublist li {
	padding: 1.5em 0;
	border-bottom: 1px #ddd solid;
	line-height: 1.5;
}

.detail {
	margin-bottom: 3em;
}

.topic h4 {
	font-size: 140%;
	margin-bottom: 1em;
}

.detail p {
	margin-bottom: 2em;
}

.topic {
	width: 100%;
	overflow: hidden;
	margin-bottom: 3em;
}

.topic p {
	margin-bottom: 2em;
}

.topicttl {
	display: table;
	width: 100%;
	overflow: hidden;
	margin-bottom: 2em;
}

.topicttl h4 {
	display: table-cell;
	width: 50%;
	color: #ffffff;
	text-align: center;
	vertical-align: middle;
	font-size: 110%;
}

.topicimg {
	display: table-cell;
	width: 100%;
}

.profile {
	clear: both;
	overflow: hidden;
	margin-bottom: 3em;
}

.profile dl {
	display: block;
	width: 83%;
	float: left;
	overflow: hidden;
}

.profile dt {
	font-size: 115%;
	margin-bottom: 0.5em;
}

.people {
	display: block;
	float: left;
	width: 11%;
	border-radius: 100%;
	-webkit-border-radius: 100%;
	-moz-border-radius: 100%;
	margin-right: 5%;
}

.iframe-content {
    position: relative;
    width: 100%;
    padding: 56% 0 0 0;
	margin-top: 2em;
}

.iframe-content iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.eventinfo {
	font-size: 105%;
}

ul.note {
	font-size: 85%;
	list-style-type: disc;
	margin: 2em 0;
}

ul.note li {
	margin: 0 0 0.25em 1em;
}

dl.timetable {
	margin: 2em 0;
}

dl.timetable dt {
	font-size: 120%;
}

.reportpic img {
	width: 49.8%;
	float: left;
	margin: 0.1%;
}

.h3btm {
	margin-top: 2em;
}

img.eventfr {
	width: 40%;
	margin-bottom: 1em;
	margin-left: 2em;
	float: right;
}

img.eventfl {
	width: 40%;
	margin-bottom: 1em;
	margin-right: 2em;
	float: left;
}


img.full {
	width: 100%;
	margin-bottom: 2em;
}

.join {
	padding: 1em 0 2em;
}

.join p {
	margin: 0;
}

.joinbtn {
	width: 25%;
	display: block;
	text-align: center;
	padding: 0.75em 0;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	background-color: #333333;
	color: #fff;
	margin-bottom: 1em;
}

@media screen and (max-width: 640px){

	.block h3 {
		display: inline;
		font-size: 140%;
		margin-bottom: 1em;
		vertical-align: middle;
	}

	.block p.icon {
		display: inline;
		font-size: 85%;
		background-color: #3e3f3f;
		color: #fff;
		vertical-align: middle;
		padding: 0.4em 1em 0.2em;
		margin-right: 1em;
		font-family: 'boston', sans-serif;
	}

	.eventc {
		width: 86%;
		overflow: hidden;
		margin: 0 auto 5em auto;
	}

	.block {
		width: 100%;
		overflow: hidden;
		clear: both;
	}

	.sublist {
		width: 100%;
		clear: both;
		overflow: hidden;
		margin-left: 0;
		margin-top: 3em;
	}

	.sublist li {
		padding: 1em 0;
		border-bottom: 1px #ddd solid;
		line-height: 1.5;
	}

	.topic {
		width: 100%;
		overflow: hidden;
		margin-bottom: 2em;
	}

	.topic p {
		margin-bottom: 1em;
	}

	.topicttl h4 {
		display: table-cell;
		width: 50%;
		color: #ffffff;
		text-align: center;
		vertical-align: middle;
		font-size: 100%;
	}

	.h3btm {
		margin-top: 1em;
	}

	.profile {
		margin-bottom: 2em;
	}

	img.eventfr {
		width: 100%;
		margin-bottom: 1em;
		margin-left: 0;
		clear: both;
	}

	img.eventfl {
		width: 100%;
		margin-bottom: 1em;
		margin-right: 0;
		clear: both;
	}
}


/************* corporate **************/

.corpinfo {
	max-width: 1240px;
	width: 80%;
	margin: 0 auto 10em auto;
}

.corpinfo h2 {
	text-align: center;
}

.corpinfo table {
	width: 100%;
	margin: 2em 0;
}

.corpinfo table th {
	padding: 1%;
	text-align: right;
	vertical-align: top;
}

.corpinfo table td {
	padding: 1%;
	text-align: left;
	vertical-align: top;
}

.corpinfo h2 {
	margin-bottom: 2em;
}

dl.privacy {
	margin: 2em 0;
}

dl.privacy dt {
	margin-bottom: 1em;
}

dl.privacy dd {
	margin-bottom: 2em;
}

dl.privacy dd li {
	margin-left: 1em;
}

@media screen and (max-width: 640px){
	.corpinfo {
		max-width: 1240px;
		width: 84%;
		margin: 0 auto 5em auto;
	}
}


/************* contact **************/


@media screen and (min-width: 641px){

	#page-top {
	    position: fixed;
	    bottom: 0;
	    right: 5em;
	}

	#page-top a {
		text-align: center;
		font-size: 100%;
		line-height: 3em;
		padding: 1em 3em 2em 3em;
		color: #FFF;
		background-color: #404349;
		border-top-left-radius: 4px;
		-webkit-border-top-left-radius: 4px;
		-moz-border-top-left-radius: 4px;
		border-top-right-radius: 4px;
		-webkit-border-top-right-radius: 4px;
		-moz-border-top-right-radius: 4px;
	}

	#page-top a:hover {
	    text-decoration: none;
	    background: #444;
	}

}

@media screen and (max-width: 640px){

	#page-top {
		display: block;
		width: 100%;
	    position: fixed;
	    bottom: 0;
	    left: 0;
	}

	#page-top a {
		display: block;
		width: 100%;
		text-align: center;
		font-size: 120%;
		line-height: 3em;
		padding: 0.5em 0;
		color: #FFF;
		background-color: #404349;
	}

}


/************* modal **************/


table.fee {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.5;
	margin-bottom: 1em;
}

table.fee th {
	padding: 1em;
	font-weight: normal;
	vertical-align: top;
	text-align: left;
	border: 1px solid #ddd;
}

table.fee td {
	padding: 1em;
	vertical-align: top;
	text-align: left;
	border: 1px solid #ddd;
}


ul.tools {
	width: 100%;
	overflow: hidden;
	margin: 0 auto;
	letter-spacing: -.40em;
	text-align: left;
}

ul.tools li {
	display: inline-block;
	letter-spacing: normal;
	width: 20%;
	margin: 0;
	padding-bottom: 1em;
	vertical-align: top;
	text-align: center;
}

ul.tools li img {
	width: 50%;
}

img.floormap {
	width: 65%;
	margin-bottom: 2em;
}

p.note {
	text-align: left;
}

@media screen and (max-width: 1600px){
	ul.tools li {width: 25%;}
}

@media screen and (max-width: 1000px){
	ul.tools li {width: 33.3%;}
}

@media screen and (max-width: 640px){
	ul.tools li {width: 50%;}

	img.floormap {
		width: 100%;
		margin-bottom: 2em;
	}

	table.fee th {
		padding: 0.5em 1em;
	}

	table.fee td {
		padding: 0.5em 1em;
	}

}


.url {
	margin-top: 0.5em;
}