@charset "utf-8";

@media (max-width:640px){
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
}
html,body {
	margin:0;
	padding:0;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img { 
	border:0;
}
input{
	border:1px solid #b0b0b0;
	padding:3px 5px 4px;
	color:#979797;
	width:190px;
}
address,caption,cite,code,dfn,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
a{
	text-decoration: none; 
	color: #000;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym { border:0;
}
figure{
	margin: 0px;
}
/*===============ここまで==================*/
	body{
		font-family: MS Serif, "Times New Roman", Times, "serif";
	}
	header{
		background-color: rgba(88,62,119,1.00);
	}
	
	.space{
		height: 60px;
	}
	
	.contact{
		display: block;
		position: fixed;
		width: 80%;
		top:5px;
		left: 20%;
		color: rgba(208,178,207,1.00);
		z-index: 5;
		padding-left: 20%;
	}
	.contact h1{
		display: none;
	}
	.contact h2{
		font-size: 20px;
		font-weight: bold;
	}
	
	.logo img{
		width: 100%;
		height: auto;
	}
	
	.sticky{
		display: none;
	}
	
	/* ▽▽ハンバーガーメニュー▽▽
------------------------------------------------------- */
.hm_menu_check {/* チェックボックスを隠す */
  display: none;
}
.hm_wrap {
	display: inline-block;
	position :fixed;
	top :0;
	left :0;
	width :100%;
	padding :15px;
	background :rgba(0,0,0,0.60);
}

.hm_title {/* ハンバーガーメニューオープン時の見出し */
	position: relative;
	color: #999;
	display: inline-block;
	float: left;
	font-weight: 100;
	line-height: 30px;
	margin: 0 0 0 15px;
	opacity: 0;
	-webkit-transform: translate3d(0, -15px, 0);
	transform: translate3d(0, -15px, 0);
	-webkit-transition: -webkit-transform 0.6s, opacity 0.5s;
	transition: transform 0.6s, opacity 0.5s;
	z-index: 2;
}

/* ▽▽メニューボタン▽▽ */
.hm_btn {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	display: block;
	float: left;
	z-index: 2;
}
.hm_btn::before {
	-webkit-box-shadow: rgba(208,178,207,1.00) 0 12px 0;
	box-shadow: rgba(208,178,207,1.00) 0 12px 0;
}
.hm_btn::after {
	bottom: 0;
}
.hm_btn::before,
.hm_btn::after {
	width: 30px;
	height: 6px;
	background: rgba(208,178,207,1.00);
	display: block;
	content: '';
	position: absolute;
	-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
	transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
}
/* △△メニューボタン△△ */

.hm_menu_wrap {
	width :50%;
	height :10000px;
	background: rgba(0,0,0,0.60);
	position: absolute;
	left: -50%;
	top: 0;
	-webkit-transition: left 0.4s;
	transition: left 0.4s;
}
#menu-background {
	width: 100%;
    display: block;
    height: 100%;
    opacity: 0;
    position: fixed;
	left: -100%;
    top: 0;
    -webkit-transition: left 0.4s;
	transition: left 0.4s;
    z-index: -1;
}

/* ▽▽開閉時のアニメーション▽▽ */
.hm_menu_check:checked ~ .hm_title {
	opacity: 1;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.hm_menu_check:checked ~ .hm_btn::before {
	-webkit-box-shadow: transparent 0 0 0;
	box-shadow: transparent 0 0 0;
	-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
	transform: rotate(45deg) translate3d(6px, 11px, 0);
}
.hm_menu_check:checked ~ .hm_btn::after {
	-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
	transform: rotate(-45deg) translate3d(6px, -11px, 0);
}
.hm_menu_check:checked ~ .hm_menu_wrap {
	left: 0;
}
.hm_menu_check:checked ~ #menu-background {
	left: 0;
}

/* △△開閉時のアニメーション△△ */

/* ▽▽メニュー内のリストスタイル▽▽ */
.hm_list {
	list-style-type: none;
	margin: 50px 0 0;
	padding: 0;
}
.hm_list li a {
	font-size: 20px;
	color: rgba(208,178,207,1.00);
	display: block;
	overflow: hidden;
	padding: 8px 22px;
	position: relative;
	text-decoration: none;
	z-index: 1;
}
.hm_list li a::before {/* aタグマウスオーバー時の背景 */
	background: #eee;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 100%;
	left: 0;
	-webkit-transition: bottom 0.4s;
	transition: bottom 0.4s;
	z-index: -1;
}

.hm_list li a:hover::before {
	bottom: 0;
}
.hm_list li a:hover::after {
	opacity: 0.5;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
/* メニュー内のリストスタイル△△ */
/* △△ハンバーガーメニュー△△
------------------------------------------------------- */
	
	.twlogo img{
		width: 15%;
		height: auto;
		float: left;
		margin-left: 5%;
	}
	.fblogo img{
		width: 14%;
		height: auto;
		float: right;
		margin-right: 60%;
	}
	.clearfix{
		clear: both;
	}
	
	.mainbox{
		line-height: 300px;
		position: relative;
		z-index: -1;
	}
	.mainbox img{
		width: 100%;
		height: auto;
	}
	.mainbox_text{
		display: none;
	}
	.spbox_text{
		display: block;
		width: 80%;
		background-color: rgba(88,62,119,0.60);
		padding: 10px;
		position: absolute;
		top:250px;
		left: 10%;
		box-shadow: 2px 2px 2px 0 rgba(0,0,0,1.00);
	}
	.spbox_text h1,.spbox_text p{
		color: rgba(255,255,255,1.00);
		line-height: 25px;
	}
	.spbox_text h1{
		font-size: 30px;
		margin-bottom: 15px;
	}
	.spbox_text p{
		padding-left: 10px;
		font-size: 20px;
	}
	.more p{
		text-align: right;
	}
	
	.mp_box h1{
		font-size: 30px;
		color: rgba(255,255,255,1.00);
		background-color: rgba(88,62,119,1.00);
		padding-left: 10px;
	}
	.mp_box p{
		padding: 10px;
	}
	.gmp{
		width: 80%;
		margin-left: 5%;
	}
	
	footer{
		background-color: rgba(39,0,111,1.00);
		padding: 10px;
	}
	footer h1{
		text-align: center;
		color: rgba(168,168,168,1.00);
	}
}










@media (min-width:641px){
/*===============CSSリセット=================*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
}
html,body {
	margin:0;
	padding:0;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset,img { 
	border:0;
}
input{
	border:1px solid #b0b0b0;
	padding:3px 5px 4px;
	color:#979797;
	width:190px;
}
address,caption,cite,code,dfn,th,var {
	font-style:normal;
	font-weight:normal;
}
ol,ul {
	list-style:none;
}
a{
	text-decoration: none; 
	color: #000;
}
caption,th {
	text-align:left;
}
h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}
q:before,q:after {
	content:'';
}
abbr,acronym { border:0;
}
figure{
	margin: 0px;
}
/*===============ここまで==================*/
	body{
		background-color: rgba(88,62,119,1.00);
		font-family: MS Serif, "Times New Roman", Times, "serif";
	}
	
	.contact{
		width: 30%;
		display: block;
		margin-right:5%;
		margin-left: auto;
		margin-top: 10px;
		color: rgba(208,178,207,1.00);
	}
	.contact h2{
		font-size: 25px;
	}
	.logo img{
		width: 100%;
		height: auto;
	}
	.twlogo img{
		display: none;
	}
	.fblogo img{
		display: none;
	}
	.sticky{
		display: none;
	}
	
		/* ▽▽ハンバーガーメニュー▽▽
------------------------------------------------------- */
.hm_menu_check {/* チェックボックスを隠す */
  display: none;
}
.hm_wrap {
	display: inline-block;
	position :absolute;
	top :0;
	left :0;
	width :100%;
	padding :15px;
}

.hm_title {/* ハンバーガーメニューオープン時の見出し */
	position: relative;
	color: #999;
	display: inline-block;
	float: left;
	font-weight: 100;
	line-height: 30px;
	margin: 0 0 0 15px;
	opacity: 0;
	-webkit-transform: translate3d(0, -15px, 0);
	transform: translate3d(0, -15px, 0);
	-webkit-transition: -webkit-transform 0.6s, opacity 0.5s;
	transition: transform 0.6s, opacity 0.5s;
	z-index: 2;
}

/* ▽▽メニューボタン▽▽ */
.hm_btn {
	position: relative;
	width: 30px;
	height: 30px;
	cursor: pointer;
	display: block;
	float: left;
	z-index: 2;
}
.hm_btn::before {
	-webkit-box-shadow: rgba(208,178,207,1.00) 0 12px 0;
	box-shadow: rgba(208,178,207,1.00) 0 12px 0;
}
.hm_btn::after {
	bottom: 0;
}
.hm_btn::before,
.hm_btn::after {
	width: 30px;
	height: 6px;
	background: rgba(208,178,207,1.00);
	display: block;
	content: '';
	position: absolute;
	-webkit-transition: -webkit-box-shadow 0.2s linear, -webkit-transform 0.2s 0.2s;
	transition: box-shadow 0.2s linear, transform 0.2s 0.2s;
}
/* △△メニューボタン△△ */

.hm_menu_wrap {
	width :100%;
	height :200px;
	background: rgba(0,0,0,0.60);
	position: absolute;
	left: -100%;
	top: 0;
	-webkit-transition: left 0.4s;
	transition: left 0.4s;
}
#menu-background {
	width: 100%;
    display: block;
    height: 100%;
    opacity: 0;
	left: -100%;
    top: 0;
    -webkit-transition: left 0.4s;
	transition: left 0.4s;
    z-index: -1;
}

/* ▽▽開閉時のアニメーション▽▽ */
.hm_menu_check:checked ~ .hm_title {
	opacity: 1;
	-webkit-transform: none;
	-ms-transform: none;
	transform: none;
}
.hm_menu_check:checked ~ .hm_btn::before {
	-webkit-box-shadow: transparent 0 0 0;
	box-shadow: transparent 0 0 0;
	-webkit-transform: rotate(45deg) translate3d(6px, 11px, 0);
	transform: rotate(45deg) translate3d(6px, 11px, 0);
}
.hm_menu_check:checked ~ .hm_btn::after {
	-webkit-transform: rotate(-45deg) translate3d(6px, -11px, 0);
	transform: rotate(-45deg) translate3d(6px, -11px, 0);
}
.hm_menu_check:checked ~ .hm_menu_wrap {
	left: 0;
}
.hm_menu_check:checked ~ #menu-background {
	left: 0;
}

/* △△開閉時のアニメーション△△ */

/* ▽▽メニュー内のリストスタイル▽▽ */
.hm_list {
	list-style-type: none;
	margin: 50px 0 0;
	padding: 0;
}
.hm_list li a {
	font-size: 25px;
	color: rgba(208,178,207,1.00);
	display: block;
	float: left;
	overflow: hidden;
	padding: 8px 22px;
	position: relative;
	text-decoration: none;
	text-shadow: 1px 1px 1px rgba(0,0,255,1.00);
	z-index: 1;
}
.hm_list li a::before {/* aタグマウスオーバー時の背景 */
	background: #eee;
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 100%;
	left: 0;
	-webkit-transition: bottom 0.4s;
	transition: bottom 0.4s;
	z-index: -1;
}

.hm_list li a:hover::before {
	bottom: 0;
}
.hm_list li a:hover::after {
	opacity: 0.5;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}
/* メニュー内のリストスタイル△△ */
/* △△ハンバーガーメニュー△△
------------------------------------------------------- */
	.spbox_text{
		display: none;
	}
	
	.main1{
		width: 100%;
		margin-left: 0.5%;
	}
	.mainbox{
		width: 33%;
		float:left;
		line-height: 0;
		position: relative;
		overflow: hidden;
		
	}
	.mainbox img{
		width: 100%;
		height: auto;
		position: relative;
	}
	
	.mainbox_text{
		background-color: rgba(0,0,0,0.50);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		padding-top: 30%;
	}
	.mainbox_text p{
		color: rgba(255,255,255,1.00);
		font-size: large;
		text-align: center;
		line-height: 50px;
	}
	.mainbox_text{
		z-index: 2;
		-webkit-transform: rotateX(-180deg);
  		transform: rotateX(-180deg);
  		-webkit-transition: .5s;
  		transition: .5s;
  		opacity: 0;
	}
	.mainbox:hover .mainbox_text{
		-webkit-transform: rotateX(0deg);
  		transform: rotateX(0deg);
  		opacity: 1;
	}
	
	.mp_box{
		float:left;
		padding-top: 50px;
		padding-right: 50px;
		padding-left: 5%;
		
	}
	.mp_box h1,.mp_box p{
		color: rgba(255,255,255,1.00);
	}
	.mp_box h1{
		font-size: 35px;
		padding-left: 10px;
	}
	.mp_box p{
		font-size: 20px;
		padding-left: 15px;
	}
	.gmp{
		width: 40%;
		margin-top: 20px;
	}
	footer{
		clear: both;
		background-color: rgba(39,0,111,1.00);
		padding: 10px;
	}
	footer h1{
		text-align: center;
		color: rgba(168,168,168,1.00);
	}
}










@media (min-width:900px){
	.hm_wrap{
		display: none;
	}
	.contact{
		display: block;
		float: right;
		margin-top: 20px;
		margin-right: 0;
		color: rgba(208,178,207,1.00);
	}
	.contact h1{
		font-size: 25px;
	}
	.contact h2{
		color: rgba(208,178,207,1.00);
		font-size: 30px;
	}
	
	.logo img{
		width: 300px;
		height: auto;
		margin-left: 5%;
	}
	

	aside{
		width: 20%;
		float: left;
	}
	.sticky{
		display: block;
	}
	.pc_menu{
		padding-top: 10px;
		padding-bottom: 20px;
	}
	.pc_menu li{
		text-align: right;
	}
	.pc_menu li a {
		font-size: 25px;
		color: rgba(208,178,207,1.00);
		display: block;
		overflow: hidden;
		padding: 8px 22px;
		position: relative;
		text-decoration: none;
		z-index: 1;
	}
	.pc_menu li a::before {/* aタグマウスオーバー時の背景 */
		background: #eee;
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 100%;
		left: 0;
		-webkit-transition: bottom 0.4s;
		transition: bottom 0.4s;
		z-index: -1;
	}

	.pc_menu li a:hover::before {
		bottom: 0;
	}
	.pc_menu li a:hover::after {
		opacity: 0.5;
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
	}
	
	.twlogo img{
		width: 43%;
		height: auto;
		display: block;
		margin-right: 0;
		margin-left: auto;
	}
	.fblogo img{
		width: 40%;
		height: auto;
		display: block;
		margin-right: 3%;
		margin-left: auto;
	}
	
	
	.main1{
		width: 80%;
		margin-left: 20%;
	}
	.mainbox{
		width: 33.3%;
		float:left;
		line-height: 0;
		position: relative;
		overflow: hidden;
		
	}
	.mainbox img{
		width: 100%;
		height: auto;
		
	}
	
	.mainbox_text{
		background-color: rgba(0,0,0,0.50);
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		padding-top: 30%;
	}
	.mainbox_text p{
		color: rgba(255,255,255,1.00);
		font-size: large;
		text-align: center;
		line-height: 50px;
	}
	.mainbox_text{
		z-index: 2;
		-webkit-transform: rotateX(-180deg);
  		transform: rotateX(-180deg);
  		-webkit-transition: .5s;
  		transition: .5s;
  		opacity: 0;
	}
	.mainbox:hover .mainbox_text{
		-webkit-transform: rotateX(0deg);
  		transform: rotateX(0deg);
  		opacity: 1;
	}
	
	.mp_box{
		float:left;
		padding-top: 50px;
		padding-right: 50px;
		padding-left: 20%;
		
	}
	.mp_box h1,.mp_box p{
		color: rgba(255,255,255,1.00);
	}
	.mp_box h1{
		font-size: 35px;
		padding-left: 10px;
	}
	.mp_box p{
		font-size: 20px;
		padding-left: 15px;
	}
	.gmp{
		width: 40%;
		margin-top: 20px;
	}
}





@media (min-width:1280px){
	.logo img{
		margin-left: 15%;
	}
	.contact h2{
		font-size: 40px;
	}
	.contact p{
		font-size: 20px;
	}
	.pc_menu li a{
		font-size: 40px;
	}

}
