﻿@charset "utf-8";

/*===============================================
  デフォルト
===============================================*/

#global-nav {
	display:none;
}

#header .navbtn {
	display:none;
}

#header .contract {
	display:none;
}

.pcv {
}

.spv {
	display:none;
}

br.sp {
	display:none;
}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],
input[type="button"] {
	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 {
	display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
	outline-offset: -2px;
}


/*===============================================
  画面の横幅が1280px以下に適用
===============================================*/
@media screen and (max-width: 1280px){
	
	
	
	.mincho {
		letter-spacing:0;
	}
	



}

/*===============================================
  画面の横幅が1024px以下に適用
===============================================*/
@media screen and (max-width: 1024px){
	
	img {
		max-width:100%;
	}
	
	#wrap {
		padding:60px 0 0;
		overflow-x: hidden;
	}
	
	#header {
		height:auto;
	}
	
	#header .header {
		padding:20px 3%;
		height: auto;
	}
	
	#header .header .logo {
		margin:0;
		padding: 0;
	}

	#header .header .logo img {
		max-height:30px;
	}
	
	#header .header .contract img {
		max-height:38px;
	}
	
	#header .contract {
		display:block;
		position:absolute;
		top:50%;
		right:15%;
		transform:translateY(-50%);
		text-align:right;
	}
	
	#header .header .hdnav,
	#header .header .indnav,
	#header #menu-header01,
	#header #menu-header02 {
		display:none;
	}
	
	#header .login {
		display: none;
	}
	
	#header .navbtn {
		display:block;
		position:absolute;
		top:25px;
		right:3%;
		width:30px;
		cursor: pointer;
	}
	
	#header .navbtn span {
		display: block;
		position: absolute;
		height: 3px;
		width: 100%;
		background: #e30b20;
		left: 0;
		-webkit-transition: .35s ease-in-out;
		-moz-transition: .35s ease-in-out;
		transition: .35s ease-in-out;
	}
	
	#header .navbtn span:nth-child(1) {
		top: 0;
	}
	
	#header .navbtn span:nth-child(2) {
		top: 10px;
	}
	
	#header .navbtn span:nth-child(3) {
		top: 20px;
	}
	
	/* global-nav */
	
	#global-nav.open {
		display:block;
	}
	
	#global-nav ul {
		line-height:1.0;
	}
	
	#global-nav ul li {
		border-bottom:1px solid #FFF;
	}
	/*
	#global-nav ul li:last-child {
		border-bottom:none;
	}
	*/
	#global-nav ul li span a {
		display:block;
		color: #fff;
		text-align:left;
		padding:15px 5%;
		text-decoration:none;
		font-size:1.4em;
		background: url(../image/common/glnav_icon.png) 95% center no-repeat rgba(227,11,32,0.8);
		background-size:auto 20%;
	}
	
		#global-nav ul.menu li a {
		display:block;
		color: #fff;
		text-align:left;
		padding:15px 5%;
		text-decoration:none;
		font-size:1.4em;
		background: url(../image/common/glnav_icon.png) 95% center no-repeat rgba(227,11,32,0.8);
		background-size:auto 20%;
	}
	
	#global-nav ul li dl dt {
		display:block;
		color: #fff;
		text-align:left;
		padding:15px 5%;
		text-decoration:none;
		font-size:1.4em;
		background: url(../image/common/glnav_plus.png) 95% center no-repeat rgba(227,11,32,0.8);
		background-size:auto 50%;
		cursor:pointer;
	}
	
	#global-nav ul li dl dd {
		color:#FFF;
		display:none;
		border-top:1px solid #fff;
		background:rgba(227,11,32,0.8);
		padding:0 3% 5%;
	}
	
	#global-nav ul li dl dd ul li {
		background:none;
		border-bottom:none;
	}
	
	#global-nav ul li dl dd ul li a {
		display:block;
		font-size:1.4em;
		padding:3% 0 3% 20px;
		color:#FFF;
		position:relative;
		background:none !mportant;
	}
	
	#global-nav ul li dl dd ul.menu li a {
		background:none;
	}
	
	
	#global-nav ul li dl dd ul li a:before {
		position:absolute;
		top:50%;
		left:0;
		width: 5px;
  	height: 5px;
  	border-top: solid 1px #fff;
  	border-right: solid 1px #fff;
  	-webkit-transform: rotate(45deg) translateY(-50%);
  	transform: rotate(45deg) translateY(-50%);
		content:'';
	}
	
	
	#global-nav ul li.tel a {
		text-decoration:none;
		background: rgba(255,255,255,0.8);
		text-align: center;
		display: block;
		padding: 10px 0;
		font-size: 3.0em;
		color: #e30b20;
	}
	
	/* 切り替えアニメーション */
	#header .navbtn.move span:nth-child(1) {
		top: 12px;
		-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: 12px;
		-webkit-transform: rotate(-315deg);
		-moz-transform: rotate(-315deg);
		transform: rotate(-315deg);
	}
	
	#glnav {
		display:none;
	}
	
	#bread ul li {
		font-size:1.2em;
	}
	
	/* container */
	#container {
		padding:50px 0;
		font-size:1.2em;
		line-height:1.6;
	}

	#container .inner {
		width: 94%;
	}
	
	/* footer */


	#footer {
		width: 94%;
		margin: 0 auto;
		padding: 0 0 20px;
	}	

	#footer .telbox {
		padding: 30px 0;
		margin: 0 0 20px;
		border-bottom: none;
	}

	#footer .telbox dl,
	#footer .telbox .link {
		display: block;
		vertical-align: middle;
		line-height: 1.0;
	}
	
	#footer .telbox dl dt span {
		display:block;
		margin:7px 0 0;
		padding:0;
	}	
	
	#footer .telbox dl dt span a {
		color:#fc0100;
	}

	#footer .telbox .link {
		margin: 20px 0 0;
	}

	#footer .telbox .link a {
		width: 60%;
		padding: 15px 0;
		font-size: 1.4em;
	}

	#footer .telbox dl dt {
		margin: 0 0 20px;
		font-size: 1.6em;	
	}

	#footer .telbox dl dd {
		font-size: 1.4em;
		line-height:1.4;
	}

	#footer .footer {
		/*display: none;*/
		margin: 0 0 30px;
	}


	#footer .footer .same {
		display: block;
		border-left: none;
		border-bottom: none;
		padding:0;
		margin:0;
	}

	#footer .footer .same.last {
		margin: 0;
		border-bottom: 1px solid #fc0100;
	}

	#footer .footer .same dl dt {
		font-size: 1.6em;
		font-weight: 500;
		margin: 0;
		cursor: pointer;
		position: relative;
		border-top: 1px solid #fc0100;
		padding: 20px 0;
		pointer-events: all;
	}
	
	#footer .footer .same dl dt:after {
		position: absolute;
		top: 50%;
		right: 0;
		content: '+';
		color: #fc0100;
		font-size: 2.0em;
		line-height: 1.0;
		font-weight: 200;
		transform: translateY(-50%);
	}
	
	#footer .footer .same dl dt.test:after {
		content: '-'
	}
	
	
	#footer .footer .same dl dd {
		overflow: visible;
		display: none;
		padding: 20px 0;
		/*border-bottom: 1px solid #fc0100;*/
		border-top: 1px dotted #fc0100;
	}


	#footer .footer .same dl dd ul {
		float: none;
	}

	#footer .footer .same dl dd ul.sec {
		margin:20px 0 0;
	}
	
	#footer .footer .same dl dd .menu-ftmenu04-container {
		margin:20px 0 0;
	}

	#footer .footer .same dl dd .menu-ftmenu03-container,
	#footer .footer .same dl dd .menu-ftmenu04-container {
		display:block;
		float:none;
	}


	#footer .footer .same ul li {
		font-size: 1.4em;
		margin: 0 0 20px;
	}

	#footer .footer .same ul li:last-child {
		margin: 0;
		padding-bottom: 0;
	}

	#footer .footer .same ul li a {
		position: relative;
		padding-left: 20px;
		color: #1a1a1a;
	}

	#footer .footer .same ul li a:before {
		position: absolute;
		top: 4px;
		left: 0;
		content: url("../image/common/ft_icon.png");
	}

	#footer .footer .same ul li a:hover {
		text-decoration: underline;
	}

	#footer .logos {
		text-align: center;
		margin: 0 0 20px;
	}

	#footer .logo dl dt {
		font-size: 2.0em;
		padding: 0 0 15px;
		margin: 0 0 20px;
	}

	#footer .share {
		text-align: center;
		font-size: 1.2em;
		margin: 0 0 20px;
	}

	#footer address {
		font-size:1.2em;
		line-height:1.0;
		text-align:center;
	}




}

/*===============================================
  画面の横幅が768px以下に適用
===============================================*/
@media screen and (max-width: 768px){
	


}


/*===============================================
  画面の横幅が640px以下に適用
===============================================*/
@media screen and (max-width: 640px){
	
	.pcv {
		display:none;
	}

	.spv {
		display:block;
	}
	
	br.sp {
		display:block;
	}
	
	.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;
	}
	
	
	#main02 .title {
		font-size: 4.0em;
	}
	
	#main02 .title02 {
		max-width: inherit;
		width: 90%;
		position: static;
		transform: none;
		margin: 0 auto;
	}
	
}


/* globalnav 高さ設定 */
@media screen and (max-width: 1024px) {
	#global-nav {
		height:500px;
		overflow-y:auto;
	}
}
@media screen and (max-width: 414px) {
	#global-nav {
		height:400px;
		overflow-y:auto;
	}
}
@media screen and (max-width: 320px) {
	#global-nav {
		height:350px;
		overflow-y:auto;
	}
}