﻿@charset "utf-8";

/*===============================================
  デフォルト
===============================================*/

#global-nav {
	width: 100%;
	height: 100%;
	background: #fff;
	color: #000;
	z-index: 9999;
	position: fixed;
	top: 0;
	right: -100%;
	transition: all 0.5s;
}

#header .navbtn {
	display:none;
}

.pcv {
}

.spv {
	display:none;
}

br.sp {
	display:none;
}

br.pc {
	display:inline;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"],
input[type="reset"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="reset"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus,
input[type="reset"]::focus {
	outline-offset: -2px;
}




/*===============================================
  画面の横幅が1024px以下に適用
===============================================*/
@media screen and (max-width: 1024px){
	
	
	
	
	img {
		max-width:100%;
	}
	
	#wrap {
	}
	
	#header {
	}
	
	#header .header {
		padding: 10px 5%;
		overflow: hidden;
		zoom:1;
		position: relative;
	}

	#header .header .logo {
		float: left;
	}

	#header .header .hdnav {
		display: none;
	}
	
	
	#header .navbtn {
		display:block;
		position:fixed;
		top:0;
		right:0;
		width:50px;
		height: 47px;
		cursor: pointer;
		z-index: 99999999;
		background: #53488f;
	}
	
	#header .navbtn span {
		display: block;
		position: absolute;
		height: 3px;
		width: 60%;
		background: #fff;
		left: 20%;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	
	#header .navbtn span:nth-child(1) {
		top: 12px;
	}
	
	#header .navbtn span:nth-child(2) {
		top: 22px;
	}
	
	#header .navbtn span:nth-child(3) {
		top: 32px;
	}
	
	/* global-nav */
	
	#global-nav.open {
		right: 0;
	}
	
	#global-nav .inwrap {
		width: 100%;
		height: 100%;
		position: relative;
		overflow-y: auto;
	}
	
	#global-nav .inwrap .glhead {
		background: url("../image/common/sp_header.jpg") center center no-repeat;
		padding: 10px 5%;
	}
	
	#global-nav .inwrap .glhead .logo img {
		max-height: 30px;
	}
	
	#global-nav .inwrap .spcont {
		padding: 20px 5%;
	}
	
	#global-nav .seach_wrap {
		background: #fff;
		border: 1px solid #9fa0a0;
		margin: 0 0 30px;
		overflow: hidden;
		zoom:1;
	}

	#global-nav .seach_wrap input[type="text"] {
		border: none;
		width: 80%;
		height: 38px;
		font-family: inherit;
		outline: none;
		float: left;
	}

	#global-nav .seach_wrap input[type="submit"] {
		width: 50px;
		height: 40px;
		background: url("../image/common/search_spicon.png") center center no-repeat #9fa0a0;
		float: right;
		
	}
	
	
	
	#global-nav a {
		text-decoration: none;
	}
	
	#global-nav a:hover {
		text-decoration:none;
	}
	
	#global-nav .fst {
		overflow: hidden;
		zoom:1;
		padding: 0 0 10px;
		font-size: 1.2em;
	}
	
	#global-nav .fst li {
		width: 50%;
		float: left;
		margin: 0 0 15px;
	}
	
	
	#global-nav .fst li a {
		display: inline-block;
		padding-left: 15px;
		color: #9fa0a0;
		position: relative;
	}
	
	#global-nav .fst li a:before {
		width: 5px;
  	height: 5px;
  	border: 1px solid;
  	border-color: #9fa0a0 #9fa0a0 transparent transparent;
  	transform: rotate(45deg) translateY(-50%);
		position: absolute;
		top: 50%;
		left: 0;
		content: '';
	}
	
	#global-nav .sec.last {
		border-bottom: 1px solid #c9caca;
	}
	
	
	#global-nav .sec dt {
		display:block;
		color: #595757;
		text-align:left;
		padding:15px 5% 15px 25px;
		text-decoration:none;
		font-size:1.6em;
		background: url(../image/common/glnav_plus.png) 95% center no-repeat;
		background-size:auto 30%;
		cursor:pointer;
		border-top: 1px solid #c9caca;
		position: relative;
	}
	
	#global-nav .sec dt.open {
		background: url(../image/common/glnav_minus.png) 95% center no-repeat;
		background-size:15px auto;
	}
	
	
	#global-nav .sec dt:before {
		background: url("../image/common/spdt_btn.png") center center no-repeat;
		width: 17px;
		height: 17px;
		position: absolute;
		top: 50%;
		left: 0;
		transform: translateY(-50%);
		content: '';
	}
	
	
	#global-nav .sec dd {
		border-top: 1px solid #c9caca;
		background: #f9f8f8;
		display: none;
		padding: 0 5%;
	}
	 
	
	#global-nav .sec dd ul li {
		border-bottom: 1px solid #c9caca;
	}
	
	#global-nav .sec dd ul li:last-child {
		border-bottom: none;
	}
	
	#global-nav .sec dd ul li a {
		display: block;
		position: relative;
		font-size: 1.4em;
		padding: 10px 3% 10px 15px;
		color: #898989;
	}
	#global-nav .sec dd ul li a.note {
		padding: 0px 3% 10px 15px;
		text-indent: -1.1em;
		padding-left: 1.1em;
		font-size: 1.2em;
	}
	
	#global-nav .sec dd ul li a:before {
		width: 5px;
  	height: 5px;
  	border: 1px solid;
  	border-color: #9fa0a0 #9fa0a0 transparent transparent;
  	transform: rotate(45deg) translateY(-50%);
		position: absolute;
		top: 50%;
		left: 0;
		content: '';
	}
		
	#global-nav .sec dd ul li a.note:before {
  	border: 0px solid;
	}
	
	#global-nav .endbox {
		overflow: hidden;
		zoom:1;
		margin: 25px 0 0;
	}

	#global-nav .endbox .trd {
		float: left;
	}
	
	#global-nav .endbox .trd li {
		margin: 0 0 10px;
	}
	
	#global-nav .endbox .trd li:last-child {
		margin: 0;
	}
	
	#global-nav .endbox .trd li a {
		color: #9fa0a0;
		font-size: 1.3em;
		padding-left: 20px;
	}
	
	#global-nav .endbox .trd li:nth-child(1) a {
		background: url("../image/common/sp_subicon01.png") left center no-repeat;
	}
	#global-nav .endbox .trd li:nth-child(2) a {
		background: url("../image/common/sp_subicon02.png") left center no-repeat;
	}
	#global-nav .endbox .trd li:nth-child(3) a {
		background: url("../image/common/sp_subicon03.png") left center no-repeat;
	}
	#global-nav .endbox .trd li:nth-child(4) a {
		background: url("../image/common/sp_subicon04.png") left center no-repeat;
	}
	#global-nav .endbox .trd li:nth-child(5) a {
		background: url("../image/common/sp_subicon05.png") left center no-repeat;
	}
	
	#global-nav .endbox .fth {
		float: right;
		text-align: right;
	}
	
	#global-nav .endbox .fth li {
		display: inline-block;
		vertical-align: top;
		margin-right: 5px;
	}
	
	#global-nav .endbox .fth li:last-child {
		margin-right: 0;
	}
	
	
	
	
	/* 切り替えアニメーション */
	#header .navbtn.move span:nth-child(1) {
		top: 20px;
		-webkit-transform: rotate(315deg);
		-moz-transform: rotate(315deg);
		transform: rotate(315deg);
	}
	#header .navbtn.move span:nth-child(2) {
		width: 0;
		left: 50%;
	}
	#header .navbtn.move span:nth-child(3) {
		top: 20px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	
	/* mainimg */
	
	#mainimg .inner {
		width: 90%;
		margin: 0 auto;
		padding: 0 0 100px;
	}
	
	#mainimg .inner h1 {
		background: #fff;
		display: inline-block;
		line-height: 1.0;
		padding: 20px 30px;
		text-align: center;
	}

	#mainimg .inner h1 span {
		position: relative;
		padding: 0 0 10px;
		display: inline-block;
		font-size: 1.6em;
		font-weight: 400;
		letter-spacing: 0.05em;
	}
	
	
	#fixnav {
		display: none;
	}
	
	
	/* bread */
	#bread {
		width: auto;
		margin: 0 auto;
		line-height: 1.0;
		padding: 20px 3%;
		overflow-x: auto;
	}
	#bread ul {
		width: 1000px;
	}
	
	#container {
		padding:0 0 50px;
		font-size:1.4em;
		line-height:1.8;
	}
	
	#container .inner {
		width: 90%;
		margin: 0 auto;
	}
	
	
	#container .p_title {
		padding: 30px 0 0;
		margin: 0 0 30px;
	}


	#container .p_title h2 {
		font-size: 1.8em;
		padding: 0 0 20px;
	}

	#container .topback {
		margin: 50px 0 0;
	}
	
	#container .subbox li {
		width: 32%;
		float: left;
		margin: 0 2% 30px 0;
	}
	
	#container .subbox.two {
		width: auto;
	}
	
	#container .subbox.two li {
		width: 48%;
		float: left;
		margin: 0 0 30px;
	}

	
	
	/* footer */

	#footer {
		background: url("../image/common/ft_spbg.jpg") right bottom no-repeat;
		background-size: 100% auto;
		padding: 0 0 20px;
		position: relative;
	}

	#footer .footer {
		width: auto;
		margin: 0 auto;
	}


	#footer .snsbox {
		overflow: hidden;
		zoom:1;
		margin: 0;
		background: #fff;
		padding: 20px 5%;
	}

	#footer .snsbox li {
		float: left;
		width: 48%;
		margin:0 0 10px;
	}
	
	#footer .snsbox li:nth-child(even) {
		float: right;
	}

	#footer .snsbox li:last-child {
		margin-right: 0;
		width: 100%;
		clear: both;
	}


	#footer .ftnav {
		display: none;
	}

	#footer .ftbox {
		border-top: none;
		padding: 30px 5% 0;
		position: relative;
	}

	#footer .ftbox .ftlink {
		line-height: 1.0;
		margin: 0 0 20px;
		border-top: 1px solid #595757;
		border-bottom: 1px solid #595757;
		padding: 15px 0;
	}


	#footer .ftbox table {
		margin: 0 0 30px;
		border-bottom: 1px solid #595757;
		overflow: hidden;
		zoom:1;
	}	

	#footer .ftbox table td {
		display: block;
		padding: 0 0 20px;
		border: none;
		text-align: left;
		vertical-align: middle;
		width: 50%;
		float: left;
	}
	
	#footer .ftbox table td img {
		max-width: 90%;
	}
	

	#footer .ftbox .icon {
		position: static;
		text-align: left;
		width: auto;
		overflow: hidden;
		zoom:1;
		margin: 0 0 30px;
	}
	
	#footer .ftbox .icon dt {
		float: left;
	}

	#footer .ftbox .icon dd {
		font-size: 1.2em;
		line-height: 1.6;
		margin: 0 0 0 80px;
		padding: 15px 0 0;
	}
	

	#pagetop {
		position: absolute;
		top: auto;
		right: 3%;
		bottom: 61.5%
	}


}

/*===============================================
  画面の横幅が768px以下に適用
===============================================*/
@media screen and (max-width: 768px){
	.pointflex .pointSame .pointTitle p .pc{
		display: none;
	}

}


/*===============================================
  画面の横幅が640px以下に適用
===============================================*/
@media screen and (max-width: 640px){
	
	.pcv {
		display:none;
	}

	.spv {
		display:block;
	}
	
	br.sp {
		display:block;
	}
	
	br.pc {
		display:none;
	}
	
	
	.mb20 {
		margin-bottom:10px !important;
	}

	.mb30 {
		margin-bottom:15px !important;
	}
	
	.mb40 {
		margin-bottom:20px !important;
	}
	
	.mb50 {
		margin-bottom:25px !important;
	}
	
	.mb100 {
		margin-bottom:50px !important;
	}
	
	
	#container .secondbox dl {
		width: 48%;
		margin: 0 0 20px;
	}

	#container .secondbox dl:nth-child(even) {
		margin-left: 4%;
	}
	
	
	

	#container .secondbox dl img {
		max-width: 100%;
	}


	#container .secondbox dl dd {
		text-align: center;
		line-height: 1.4;
		margin: 10px 0 0;
	}

	
	#container .subbox li {
		width: auto;
		float: none;
		margin: 0 0 10px;
	}
	
	#container .subbox.two li {
		width: auto;
		float: none;
		margin: 0 0 10px;
	}


	#container .subbox li:nth-child(3n),
	#container .subbox.two li:nth-child(3n){
		margin: 0 0 10px;
	}
	
	
	#container .subbox.two li:nth-child(even) {
		float: none;
	}
	
	#container .subbox li a {
		display: block;
		width: auto;
		height: auto;
		text-align: center;
		vertical-align: middle;
		background: #9fa0a0;
		text-decoration: none;
		color: #fff;
		position: relative;
		line-height: 1.2;
		padding: 12px 0;
	}
	
	
	/* ページ内リンク */

	#lnk01,
	#lnk02,
	#lnk03,
	#lnk04,
	#lnk05 {
		margin-top: -20px;
		padding-top: 20px;
	}
	
}


@media screen and (max-width: 414px) {
	#global-nav {
	}
	
}

@media screen and (max-width: 320px) {
	#global-nav {
	}
	
	
	
}