@charset "utf-8";

/* =================================================

	common
	 
----------------------------------------------------
*

	Base 

	Parts
	Overall
	header
	info_area
	footer

*
================================================= */







/* =================================================

	Base

================================================= */

html {
	font-size: 62.5%;
}
body {
	font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro", "メイリオ",Meiryo, "MS PGothic","MS Pゴシック", "Lucida Grande", sans-serif;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	font-size: 14px;
	line-height:1.4;
	color: #333;
}
html,
body {
	height: 100%;
}
.displaySp{
	display: none !important;
}
.displayPc{
	display: inherit !important;	
}
@media screen and (max-width: 768px){
	.wrap p {
		font-size:12px;
		line-height:1.5;
	}
	.displaySp{
		display: inherit !important;
	}
	.displayPc{
		display: none !important;
	}
}


/* =================================================

	Parts

================================================= */

/* ----------------------------------------------
	a
---------------------------------------------- */

a {
	color:#0072ff;
}
a:hover {
	opacity:0.6;
	text-decoration:none;
}
a:hover img {
	opacity:0.6;
}
a.n_link {
	pointer-events: none;
}

a.n_link:hover {
	opacity:1;
}
.main_visual ul li a:hover,
.main_visual ul li a:hover img {
	opacity:1;
}
.btn:hover{
	opacity:0.6;
}
.ios a {
	-webkit-transition: none;
	transition: none;
}
.ios a:hover {
 opacity: 1;
 filter: alpha(opacity=100);
}
.ios a:hover img {
	opacity:1;
}


@media screen and (max-width: 768px){
	a {
		-webkit-transition: none;
		transition: none;
	}

	a:hover {
		opacity:1;
		text-decoration:underline;
	}

	a:hover img {
		opacity: 1;
	}
	a.n_link {
		pointer-events:auto;
	}
	.btn:hover{
		opacity:1;
	}


}

/* ----------------------------------------------
	arr
---------------------------------------------- */
.arr12 {
	background: rgba(0, 0, 0, 0) url("../images/arr_b.png") no-repeat scroll left top;
	background-size:10px;
	background-position:0 6px;
	padding-left:13px;
	display:inline-block;
}
.arr14 {
	background: rgba(0, 0, 0, 0) url("../images/arr_b.png") no-repeat scroll left top;
	background-size:12px;
	background-position:0 5px;
	padding-left:16px;
	display:inline-block;
}
.arrw14 {
	background: rgba(0, 0, 0, 0) url("../images/arr_w.png") no-repeat scroll left top;
	background-size:12px;
	background-position:0 5px;
	padding-left:16px;
	display:inline-block;
}

/* ----------------------------------------------
	arr sp
---------------------------------------------- */
@media screen and (max-width: 768px){

	.arr_d {
		position:relative;
	}
	.arr_d:after {
		background:url("../images/sp_arr-d.png") no-repeat scroll left top;
		content: "";
		display: block;
		height:15px;
		right:29px;
		top:50%;
		position: absolute;
		width:27px;
		margin-top:-7px;
	}
	.arr_u {
		position:relative;
	}
	.arr_u:after {
		background:url("../images/sp_arr-u.png") no-repeat scroll left top;
		content: "";
		display: block;
		height:15px;
		right:29px;
		top:50%;
		position: absolute;
		width:27px;
		margin-top:-7px;
	}
}

/* ----------------------------------------------
	img
---------------------------------------------- */
@media screen and (max-width: 768px){
    .wrap img:not(.footer__logo) {
		width:100%;
	}
}
/* ----------------------------------------------
	btn
---------------------------------------------- */
.btn {
	background-color:#de0c00;
}
.btn a {
	color:#fff;
	text-decoration:none;
	height:50px;
	display:block;
}

/* ----------------------------------------------
	fall
---------------------------------------------- */
.pc_fall {
	display:block;
}
@media screen and (max-width: 768px){
	.pc_fall {
		display:inline;
	}

}

/* ----------------------------------------------
	inner
---------------------------------------------- */
.wrap .inner {
	width: 980px;
	margin-left: auto;
	margin-right: auto;
}
.wrap .cont_inner {
	width: 920px;
	margin-left: auto;
	margin-right: auto;
}
.wrap .m_inner {
	width:930px;
	margin-left: auto;
	margin-right: auto;
}

@media screen and (max-width: 768px){
	.wrap .inner,
	.wrap .cont_inner,
	.wrap .m_inner {
		width:auto;
		margin-left:3.12%;
		margin-right:3.12%;
	}
	.wrap .sp_s_inner{
		width:auto;
		margin-left:4.68%;
		margin-right:4.68%;
	}


}

/* ----------------------------------------------
	block
---------------------------------------------- */
.wrap .block {
	padding-top:42px;
}
.wrap .block_m {
	padding-top:16px;
}
.wrap .block h2{
	margin-bottom:42px;
}
@media screen and (max-width: 768px){
	.wrap .block,
	.wrap .block_m {
		padding-bottom:50px;
	}
}
/* ----------------------------------------------
	h2
---------------------------------------------- */
.wrap h2 {
	font-size:24px;
	text-align:center;
}

/* ----------------------------------------------
	pagetop
---------------------------------------------- */
#pagetotop {
	position: fixed;
	right: 20px;
	bottom: 20px;
	width: 52px;
	height: 52px;
	z-index: 200;
}
/* ----------------------------------------------
	s_none(スマホビューのみ非表示)
---------------------------------------------- */
@media screen and (max-width: 768px){
	.s_none {
		display:none;
	}
}

/* ----------------------------------------------
	color parts
---------------------------------------------- */
.ct01 {color:#e664ba;}
.ct02 {color:#f1b203;}
.ct03 {color:#35c549;}
.ct04 {color:#2ba5f0;}
.ct05 {color:#2c3f77;}


	


/* =================================================

	Overall

================================================= */

.wrap {
	position: relative;
	width: 100%;
	min-width: 980px;
	overflow: hidden;
	margin:0 auto;
}
@media screen and (max-width: 768px){
	.wrap {
		position: relative;
		width: 100%;
		min-width:inherit;
		box-shadow:rgba(9, 2, 4, 0.2) 3px 0px 4px 0px;
		-webkit-box-shadow:rgba(9, 2, 4, 0.2) 3px 0px 4px 0px;
		-moz-box-shadow:rgba(9, 2, 4, 0.2) 3px 0px 4px 0px;
		z-index:100;
	}
}

/* =================================================

	header

================================================= */
header .head_logo a{
	background: rgba(0, 0, 0, 0) url("../images/sp_logo.png") no-repeat scroll left top;
	float:left;
	height:72px;
	margin:15px 0 0 10px;
	overflow: hidden;
	text-indent:100%;
	white-space:nowrap;
	width:240px;
}
header .head_right {
	float:right;
	padding:19px 0 0 421px;
	margin-right:5px;
}
header .head_right ul {
	text-align:left;
	margin-bottom:4px;
}
header .head_right ul li {
	display:inline-block;
	text-align: left;
	padding-right: 8px;
	margin-right: 3px;
	text-align: center;
	line-height: 1em;
	border-right:1px solid #000;
}

header .head_right ul li a {
	line-height: 1em;
	text-decoration:none;
}

header .head_right ul li a span{
	line-height: 1em;
	display: inline-block;
}

header .head_right .btn {
	width:100%;
	height:50px;
	text-align:center;
	font-size:20px;
}
header .head_right .btn a{
	padding-top:5px;
}

header .head_right .btn span{
	background: url(../images/icon_grass.png) left top no-repeat;
	background-size:14px;
	background-position:52px 3px;
	display:block;
	font-size:12px;
	margin-top:-3px;
	padding-left:14px;
	
}
header .sp_menu {
	display:none;
}

@media screen and (max-width: 768px){
	header {
		position:relative;
	}
	.wrap header.inner{
		margin:0;
	}
		
	header .head_logo a{
		background: rgba(0, 0, 0, 0) url("../images/sp_logo.png") no-repeat scroll left top;
		background-size:contain;
		height:0;
		width:37.5%;
		padding-bottom:11.25%;
		margin:2.5% 0 0 2.5%;
	}
	header .head_right {
		float:left;
		padding:2.5% 0 0 4.68%;
		margin-right:0;
		width:34.68%;
		height:auto;
	}
	header .head_right ul {
		display:none;
	}

	header .head_right .btn {
		background: url(../images/sp_head_btn.png) left top no-repeat;
		background-size:contain;
		width:100%;
		padding-bottom:34.52%;
		height:0;
	}
	header .head_right .btn a{
		overflow: hidden;
		text-indent:100%;
		white-space:nowrap;
		padding:0;
	}

	header .head_right .btn span{
		display:none;
	}
	header .sp_menu {
		display:block;
		width:16.87%;
		float:right;
		/* position:absolute;
		top:0;
		right:0; */
	}



}


/* ----------------------------------------------
	g_nav
---------------------------------------------- */
.g_nav {
	background-color:#71b8ee;
	width:100%;
	margin:10px 0 0;
	height:44px;
}
.g_nav .sp_nav_head,
.g_nav .sp_nav_btm {
	display:none;
}

.g_nav .navi li{
	float: left;
	height: 44px;
	text-align: center;
	line-height:44px;
}
.g_nav .navi li a {
	color: #fff;
	text-decoration:none;
	font-size:12px;
	font-weight:bold;
	height:44px;
	padding-right:52px;
	display:block;
}
.g_nav .navi li:first-child a {
	padding-left:28px;
}
.g_nav .navi li:last-child a {
	padding-right:28px;
}

@media screen and (max-width: 768px){
	.g_nav {
		background-color:#FFF;
		width:83.12%;
		margin:0;
		height:100%;
		position:absolute;
		top:0;
		right:0;
		z-index:100;
		display:none;
	}
	.g_nav img {
		width:100%;
	}
	.g_nav .sp_nav_head {
		display:block;
		position:relative;
	}
	.wrap .g_nav .navi {margin:0;}
	.g_nav .sp_nav_head p:first-child a {
		background: rgba(0, 0, 0, 0) url("../images/sp_logo.png") no-repeat scroll left top;
		background-size:contain;
		float: left;
		overflow: hidden;
		text-indent: 100%;
		white-space: nowrap;
		height: 0;
		margin:3.38% 0 3.38% 6.57%;
		padding-bottom:13.53%;
		width:45.11%;
		
	}

	.g_nav .sp_nav_head .sp_nav_right {
		/* float:right; */
		position:absolute;
		top:50%;
		right:0;
		margin-top:-15px;
		margin-right:0px;
	}
	.g_nav .sp_nav_head .sp_nav_right ul{
		width: 120px;
		letter-spacing: -0.4em;
	}
	.g_nav .sp_nav_head .sp_nav_right ul li{
		display: inline-block;
		vertical-align: top;
		font-size:10px;
		border-right:1px solid #000;
		padding-right: 6px;
		padding-left: 5px;
		margin-right: 3px;
		letter-spacing: normal;
	}
	.g_nav .sp_nav_head .sp_nav_right ul li a{
		display:inline;
		text-decoration:none;
	}

	.g_nav .navi li {
		background-color:#4ca9ee;
		width:100%;
		height:55px;
		text-align:left;

	}
	.g_nav .navi li:nth-child(even) {
		background-color:#74b9ec;
	}
	.g_nav .navi li:first-child a {
		padding-left:7.89%;
	}

	.g_nav .navi li a {
		font-size:16px;
		font-weight:bold;
		height:55px;
		line-height:55px;
		display:block;
		padding-right:52px;
		padding-left:7.89%;
	}

	.g_nav .sp_nav_btm {
		display:block;
		padding-bottom:20px;
		border-bottom:1px solid #c1c1c1;
	}


}

/* =================================================

	info_area

================================================= */

.info_area {
	width:535px;
	margin:47px auto 0;
}
.info_area > p:first-child {
	margin:0 0 6px 85px;
	font-weight:bold;
}
footer .info_desc_wrap p:first-child img {
	width:70px;
	float:left;
}
.info_area .info_desc {
	float:left;
	margin-left:15px;
	width:450px;
}
.info_area .info_desc ul li {
	float:left;
	font-size:20px;
	line-height:20px;
	margin-bottom:8px;
}
.info_area .info_desc ul li a{
	color:#333;
	text-decoration:none;
}

.info_area .info_desc ul li:nth-child(odd) {
	margin-right:22px;
}

.info_area .info_desc ul li span {
	background-color:#666;
	color:#FFF;
	text-align:center;
	width:60px;
	display:inline-block;
	height:21px;
	line-height:21px;
	font-size:12px;
	vertical-align:top;
	margin-right:7px;
}
.franchise_footer .info_area {
	width:690px;
	margin:40px auto 0;
}
.franchise_footer .info_area .info_desc {
	width:600px;
}
.franchise_footer .info_area .info_desc ul li {
	float:none;
	margin-bottom: 15px;
}
.franchise_footer .info_area .info_desc ul li:nth-child(odd) {
	position: absolute;
}
.franchise_footer .info_area .info_desc ul li:nth-child(even) {
	padding-left: 280px;
}
.franchise_footer .info_area > p:first-child {
  margin: 0 0 20px 85px;
}
.info_desc_address {
	font-size: 11px;
	margin-top: 5px;
}
.info_area_recept{
	font-size:12px;
	margin-left:85px;
}
@media screen and (max-width: 768px){
	.info_area {
		width:auto;
		margin:6.01% auto 0;
		padding:0 10px;
	}
	.info_area > p:first-child {
		margin:0;
		text-align:center;
		font-size:12px;
	}
	/*.info_area > p:last-child {
		text-align:center;
		font-size:10px;
		margin-top:10px;
	}
	*/
	.info_desc_wrap > p {
		width:45px;
	}
	.info_desc_wrap > p {
		float:left;
	}
	/*.info_area .info_desc_wrap {
		width:232px;
		margin:3.05% auto 0;
	}*/
	footer .info_desc_wrap p:first-child img {
		width:inherit;
	}

	.info_area .info_desc {
		margin-left:2.44%;
		width:auto;
		float:left;
	}
	.info_area .info_desc ul li {
		float:none;
		font-size:16px;
		line-height:21px;
		/*margin-bottom:8px;*/
		margin-bottom: 1em;
	}
	.info_area .info_desc ul li a{
		color:#0072ff;
		text-decoration:underline;
		font-size: 18px;
	}

	.info_area .info_desc ul li:nth-child(odd) {
		margin-right:0;
	}
	.info_area .info_desc ul li span {
		text-align:center;
		/*width:49px;*/
		width: 70px;
		height:21px;
		line-height:21px;
		font-size:10px;
	}
	.info_area .info_desc p{
		font-size:12px;
	}
	.info_area p:last-child{
		margin-left:0;
	}

/* ----------------------------------------------
	footer
---------------------------------------------- */
	footer .foot_top .info_area {
		margin:70px auto 0;
	}


}

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


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


/* =================================================

	footer

================================================= */
/* ----------------------------------------------
	foot_top
---------------------------------------------- */
footer {
	margin-top:80px;
}
footer .foot_top .btn_serch a{
	background: #de0c00 url("../images/icon_grass.png") no-repeat scroll;
	background-size:53px 51px;
	background-position:53px 19px;
	font-size:32px;
	height:90px;
	letter-spacing:0em;
	line-height:90px;
	padding-left:120px;
	width:580px; /*700px*/
	display:block;
	color: #fff;
	text-decoration:none;
	margin:0 auto;
}
footer .btn_serch_multi{
	display: -ms-flexbox;
	display: -webkit-box;
	display: flex;
	-ms-flex-pack: center;
	-webkit-box-pack: center;
	justify-content: center;
}
footer .btn_serch_multi .btn_serch{
	margin: 0 20px;
	width: 270px;
}
footer .btn_serch_multi .btn_serch a{
	font-size: 22px;
	height: 70px;
	line-height: 70px;
	padding-left: 100px;
	width: auto;
}
footer .foot_top .btn_serch_contact a{
	background: #71b8ee url("../images/icon_contact.png") no-repeat scroll;
	background-position:50px 15px;
}
footer .foot_top .btn_serch_document a{
	background: #84b967 url("../images/icon_document.png") no-repeat scroll;
	background-position:50px 15px;
}
footer .foot_top .btn_serch a span{
	font-size:24px;
	margin-left:70px;	
}

/*20171106追記*/
footer .btn_serch_multi .btn_serch_02 {
	margin: 0 20px;
	width: 690px;
}
footer .foot_top .btn_serch_02 a {
	background: #fa87b0 url("../images/icon_contact.png") no-repeat scroll;
	background-position: 220px 25px;
  height: 85px;
  line-height: 85px;
	text-align: center;
	font-size: 20px;
	padding-left: 0px;
}
/*20171106追記ここまで*/
@media screen and (max-width: 768px){
	footer {
		margin-top:70px;
	}
	footer .foot_top .btn_serch a{
		background-size:26px 25px;
		background-position:33% 12px;
		font-size:16px;
		height:46px /*60px*/;
		line-height:inherit;
		padding-left:0;
		padding-top:12px;
		padding-bottom:2px;
		width:100%; /*700px*/
		text-align:center;
	}
	footer .foot_top .btn_serch a span{
		font-size:12px;
		display:block;
		margin-left:0;
	}
	footer .foot_top .btn_serch a{
		background-position:30% 12px;
	}
	.franchise_footer .foot_top .info_area {
		margin-top: 40px;
    width: auto;
	}
	.franchise_footer .btn_serch_multi{
		display: block;
	}
	.franchise_footer .btn_serch_multi .btn_serch{
    margin:0 0 15px;
    width: auto;
	}
	.franchise_footer .btn_serch_multi .btn_serch a{
		height: 60px;
    line-height: 60px;
    padding-top: 0;
	}
	.franchise_footer .foot_top .btn_serch_contact a{
		background-position:50px 18px;
	}
	.franchise_footer .foot_top .btn_serch_document a{
		background-position:50px 18px;
	}
	/*20171106追記*/
.franchise_footer .foot_top .btn_serch_02 a{
		background-size:26px 25px;
		background-position: 5% 23px;
		font-size:18px;
		height:70px;
		line-height: 70px;
		padding-bottom: 0;
	}
	
@media screen and (max-width: 480px){
	footer .foot_top .btn_serch_02 a{
		background-position:24% 12px;
	}
}

@media screen and (max-width: 380px){
	footer .foot_top .btn_serch_02 a{
		background-position:19% 12px;
	}
}
	/*20171106追記ここまで*/
	.franchise_footer .info_area .info_desc{
		width: 80%;
	}
	.franchise_footer .info_area .info_desc ul li{
    margin-bottom: 10px;
	}
	.franchise_footer .info_area .info_desc ul li:nth-child(odd){
    position: static;
	}
	.franchise_footer .info_area .info_desc ul li:nth-child(even){
    padding-left: 0;
	}
	.franchise_footer .info_area > p:first-child{
	    margin: 0 0 20px 0;
	}
	.info_desc_address{
		margin-top: 0;
	}
}

@media screen and (max-width: 480px){
	footer .foot_top .btn_serch a{
		background-position:24% 12px;
	}
}

@media screen and (max-width: 380px){
	footer .foot_top .btn_serch a{
		background-position:19% 12px;
	}
}


/* ----------------------------------------------
	foot_mid
---------------------------------------------- */
footer .foot_mid {
	background-color:#2b5f8e;
	background:url("../images/foot_img01.jpg") no-repeat scroll left top #2b5f8e;
	background-position:0 -28px;
	height:430px;
	margin-top:77px;
}
footer .foot_mid  > div {
	padding-top:27px;
}
footer .foot_mid .f_nav02 {
	margin-left:56px;
}
footer .foot_mid a {
	color:#FFF;
}
footer .foot_mid div > div{
	float:left;
}
footer .foot_mid div > div:last-child{
	float:right;
}
footer .foot_mid ul li {
	display:block;
	margin-bottom:11px;
}
footer .foot_mid .f_bnr01 ul li {
	margin-bottom:5px;
}
footer .foot_mid .f_bnr01 img {
	width: 270px;
}
footer .foot_mid .f_nav02 ul li:last-child {
	margin-top:40px;
}

@media screen and (max-width: 768px){
	footer .foot_mid {
		background-size:299px 272px;
		background-position:-54px 158px;
		height:auto;
		margin-top:8.43%;
	}
	footer .foot_mid ul li {
		font-size:12px;
		margin-bottom:14px;
	}
	footer .foot_mid .f_bnr01 img {
		width: 100%;
	}
	footer .foot_mid .f_nav01 {
		margin-left:22.16%;
	}

	footer .foot_mid div > div:last-child {
		float:none;
		clear:both;
	}
	footer .foot_mid .f_bnr01 {
		padding:8.66% 0 8.66%;
	}

	footer .foot_mid .f_bnr01 ul li {
		margin-bottom:3%;
	}


}

@media screen and (max-width: 520px){
	footer .foot_mid .f_nav02 {
		margin-left:10px;
	}


}
@media screen and (max-width: 420px){
	footer .foot_mid .f_nav01 {
		margin-left:14.16%;
	}

}
@media screen and (max-width: 360px){
	footer .foot_mid .f_nav01 {
		margin-left:0;
	}

}


/* ----------------------------------------------
	foot_btm
---------------------------------------------- */
footer .foot_btm .f_bnr01 {
	margin-top:30px;
}
footer .foot_btm ul li {
	float:left;
	margin-right:10px;
}
footer .foot_btm ul li:last-child {
	margin-right:0;
}
footer .foot_btm ul li a img{
	width:225px;
}
footer .foot_btm .copy_wrap {
	border-top:1px solid #ccc;
	margin-top:30px;
	padding:6px 0 10px;
}

footer .foot_btm .copy_wrap .logo_sby {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	width: auto;
	height: 89px;
}
footer .foot_btm .copy_wrap .copyright {
	font-family: "メイリオ",Meiryo, "MS PGothic","MS Pゴシック", "Lucida Grande", sans-serif;
	text-align: center;
}

footer .foot_btm .foot_link{
	margin-top:30px;
}
footer .foot_btm .foot_link ul {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
}
footer .foot_btm .foot_link ul li{
	font-size:12px;
}



@media screen and (max-width: 768px){
	footer .foot_btm .copy_wrap .logo_sby {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		width: 165px;
		margin: 0 auto -40px;
	}
	
	footer .foot_btm .foot_link ul {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		width: auto;
		height: 45px;
	}
	footer .foot_btm ul li {
		float:none;
		margin-right:0;
		margin-bottom:3.33%;
	}
	footer .foot_btm ul li a{
		display:block;
	}
	footer .foot_btm ul li a img{
		width:100%;
	}
	footer .foot_btm .copy_wrap {
		text-align:center;
	}


}




