@charset "utf-8";

.width_pc{
	display: block;
	background-color: #900;
	color: #fff;
	margin-top: 200px;
}
.width_sp{
	background-color: #009;
	display: none;
	margin-top: 200px;
	color: #fff;
}
.width_tablet{
	background-color: #990;
	display: none;
	margin-top: 200px;
	color: #fff;
}

@media all and (max-width: 767px) {
	.width_pc{
		display: none;
	}
	.width_sp{
		display: block;
	}
	.width_tablet{
		display: none;
	}
}
@media all and (min-width: 768px)  and (max-width: 1024px) {
	.width_pc{
		display: none;
	}
	.width_sp{
		display: none;
	}
	.width_tablet{
		display: block;
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
	padding: 25px 0 0px;
	background: url(img/common/h_line.jpg) repeat-x left top 7px;
	border-bottom:#E4E5DF 5px solid;
}

#gHeader .hBox {
	margin: 0 auto 0;
	width: 1200px;
	/* overflow: hidden;*/
	display: flex;
	justify-content: space-between;
}

#gHeader .hBox .logo {
	padding-top: 23px;
}
#gHeader .hBox .logo img{
	width: 200px;
}

#gHeader .hBox .search {
	margin-top: 9px;
	width: 220px;
	text-align: right;
}
#gHeader .hBox .search .gnav_text_link{
	padding-top: 5px;
	padding-bottom: 5px;
}
#gHeader .hBox .search .gnav_text_link a{
	color:#aaa;
	font-size: 12px;
}

#gHeader .hBox .search input {
	padding: 5px;
	width: 187px;
	height: 24px;
	font-size: 12px;
	border: 1px solid #D8D9DB;
	border-radius: 0px;
	box-sizing: border-box;
	margin-top: 0;
}

#gHeader .hBox .search .searchBtn {
	margin-top: 0px;
	margin-left: -5px;
	padding: 0;
	width: 24px;
	height: 24px;
	border: none;
	vertical-align: top;
	cursor: pointer;
	border-radius: 0;
	background: url(img/common/gnav/gnav_search_img.png) no-repeat center center #aaa;
	background-size: cover;
}

#gHeader .hBox .search .searchBtn:hover {
	opacity: 0.7;
}

#gHeader .hBox .search a:hover img {
	opacity: 0.7;
}

@media all and (min-width: 0) and (min-width: 1025px) {
	.menuBox {
		display: none !important;
	}
}


@media screen and (max-width: 1024px) {
	#gHeader {
		width: 100%;
		height: 60px;
		height: 80px;/* tablet */
		border-bottom: none;
		padding: 24px 18px 4px;
		left: 0;
		top: 0;
		position: relative;
		background: url(img/common/sp_h_line.jpg) repeat-x left top 5px #fff;
		background-size: 7px auto;
		box-sizing: border-box;
		z-index: 1000;
	}
	#gHeader .sp{
		display: block !important;
	}
	#gHeader .pc{
		display: none !important;
	}

	#gHeader .hBox {
		margin: 0 auto;
		width: auto;
	}
	#gHeader .hBox .logo{
		padding-top: 0;
	}
	#gHeader .hBox .logo img {
		/* width: 125px; */
		width: 175px;/* tablet */
	}

	#gHeader .hBox .search {
		margin-top: 0;
		width: 206px;/* tablet */
		height: 28px;/* tablet */
		position: absolute;
		right: 80px;
		top: 27px;
		float: none;
		text-align: left;
		font-size: 0;
		border: 1px solid #C9C9C9;
		border-right: none;
		border-radius: 3px;
		box-sizing: border-box;
	}

	#gHeader .hBox .search input {
		padding: 1px;
		width: 171px;/* tablet */
		height: 24px;/* tablet */
		display: inline-block;
		font-size: 14px;/* tablet */
		vertical-align: top;
		border: none;
	}

	#gHeader .hBox .search .searchBtn {
		width: 34px;
		height: 26px;
		background: url(img/common/sp_search_img.jpg) no-repeat left top;
		background-size: 34px auto;
		margin-left: 0;
	}

	#gHeader .hBox .search .searchBtn:hover {
		opacity: 1;
	}

	#gHeader .hBox .search a .sp {
		display: inline-block !important;
	}

	#gHeader .hBox .search a img {
		width: 16px;
	}
	
	#gHeader .hBox01 .search {
		display: none;
	}
	
	#gHeader .hBox01 ul {
		width: 135px;
		position: absolute;
		right: 50px;
		top: 20px;
		text-align: right;
	}
	
	#gHeader .hBox01 ul li {
		margin: 0;
		float: left;
	}
	
	#gHeader .hBox01 ul li img {
		height: 30px;
	}

	.menu {
		position: absolute;
		right: 18px;
		top: 25px;
		
	}
	.menu img {
		width: 23px;
		/* tablet */
		width: 46px;
	}

	.menuBox {
		width: 100%;
		position: fixed;
		left: 0;
		top: 80px;/* tablet */
		display: none;
		z-index: 999;
		border-top: 1px solid #000;
		background-color: #fff;
		max-height: calc(100% - 80px);
		overflow-y: scroll;
	}
	
	.menuBox li {
		position: relative;
	}

	.menuBox li a,
	.menuBox li span {
		padding: 15px 25px;
		display: block;
		color: #000;
		font-size: 14px;
		border-bottom: 1px solid #000;
	}
	
	.menuBox li li a,
	.menuBox li li span {
		padding: 15px 30px 15px 35px;
	}
	
	.menuBox li li li a,
	.menuBox li li li span {
		padding: 15px 30px 15px 45px;
	}
	
	.menuBox li ul {
		display: none;
	}
	
	.menuBox li .accordion {
		padding: 0;
		border: none;
		width: 51px;
		height: 51px;
		position: absolute;
		right: 0px;
		top: 0px;
		background: url(img/common/sp_icon02.png) no-repeat center center;
		background-size: 20px auto;
	}
	
	.menuBox li .accordion.on {
		background: url(img/common/sp_icon01.png) no-repeat center center;
		background-size: 20px auto;
	}

}

@media screen and (max-width: 767px) {
	#gHeader {
		width: 100%;
		height: 60px;
		border-bottom: none;
		padding: 24px 18px 4px;
		position: fixed;
		left: 0;
		top: 0;
		background: url(img/common/sp_h_line.jpg) repeat-x left top 5px #fff;
		background-size: 7px auto;
		box-sizing: border-box;
		z-index: 99;
	}
	.menuBox {
		top: 60px;
		max-height: calc(100% - 60px);
	}
	.menu img {
		width: 23px;
	}
	#gHeader .hBox .logo img {
		/* width: 125px; */
		width: 85px;
	}
	
	#gHeader .hBox .search {
		margin-top: 0;
		width: 105px;
		height: 14px;
		position: absolute;
		right: 50px;
		top: 27px;
		float: none;
		text-align: left;
		font-size: 0;
		border: 1px solid #C9C9C9;
		border-right: none;
		border-radius: 3px;
		box-sizing: border-box;
	}

	#gHeader .hBox .search input {
		padding: 1px;
		width: 88px;
		height: 10px;
		display: inline-block;
		font-size: 9px;
		vertical-align: top;
		border: none;
	}
	#gHeader .hBox .search .searchBtn {
		width: 16px;
		height: 12px;
		background: url(img/common/sp_search_img.jpg) no-repeat left top;
		background-size: 16px auto;
		margin-left: 0;
	}

}


/* header_tel_box */

@media screen and (max-width: 1024px) {
	.header_consumer_tel_box{
		width: 300px;
		margin-right: 64px;
    	margin-top: -5px;
	}
	.header_consumer_tel_box img{
		width: 100%;
	}
}
@media screen and (max-width: 767px) {
	.header_consumer_tel_box{
		width: 200px;
		margin-right: 32px;
    	margin-top: -5px;
	}
	.header_consumer_tel_box img{
		width: 100%;
	}
}
/*------------------------------------------------------------
	gNavi
------------------------------------------------------------*/
#hBox{
	position: relative;
	overflow: inherit;
}
#gNavi ul {
	text-align: center;
	display: flex;
	width: 660px; /* 672px */
	margin-left: 15px;
}

#gNavi ul li {
	margin: 0 auto;
	display: inline-block;
}

#gNavi ul li a {
	color: #000;
	font-size: 12px;
	font-weight: 400;
	display: block;
}
#gNavi>ul>li{
	width: 110px;
}
/*　ロールオーバー時のアンダーライン　*/
.megamenu_on{
	width: 110px;
	height: 5px;
	background-color: #333;
	position: absolute;
	top:101px;
	display: none;
}
.megamenu_on--menu1{
	background-color:#f688a4;
}
.megamenu_on--menu2{
	background-color:#e98776;
}
.megamenu_on--menu3{
	background-color:#3fbbeb;
}
.megamenu_on--menu4{
	background-color:#4fc9ac;
}
.megamenu_on--menu5{
	background-color:#afa7d9;
}
.megamenu_on--menu6{
	background-color:#edd664;
}

@media screen and (max-width: 1024px) {
	#gNavi {
		display: none;
	}

}
/*
megaメニュー
*/
.megamenu_childbox{
	display: block;
	visibility: hidden;
	position: absolute;
	width: 100%;
	min-width: 1340px;/* */
	left: 0;
	top:106px;
	background: rgb(60,60,60);
	background: rgba(0,0,0,0.8);
	padding: 0px;
	text-align: left;
	z-index: 1000;
	opacity: 0;
	transition: 0.5s ease;
}
.megamenu_active{
	display: block;
	visibility: visible;
	opacity: 1;
}
.megamenu_content{
	width: 1095px;
	margin: 0 auto;
	padding: 0 0 0 50px;
	display: flex;
	justify-content: space-between;
}
.megamenu_text{
	padding: 40px 0;
}
/*　メガメニュー内のタイトル*/
.megamenu_title{
	font-size: 24px;
	font-weight: 700;
	color:#fff;
	padding-bottom: 20px;
	padding-left: 10px;
}
/*　メガメニュー内タイトルの四角　*/
.megamenu_title span{
	margin-right: 10px;
}
.megamenu_childbox--menu1 .megamenu_title span{
	color:#f688a4;
}
.megamenu_childbox--menu2 .megamenu_title span{
	color:#e98776;
}
.megamenu_childbox--menu3 .megamenu_title span{
	color:#3fbbeb;
}
.megamenu_childbox--menu4 .megamenu_title span{
	color:#4fc9ac;
}
.megamenu_childbox--menu5 .megamenu_title span{
	color:#afa7d9;
}
.megamenu_childbox--menu6 .megamenu_title span{
	color:#edd664;
}
/*　メガメニュー内のリスト　*/
#gNavi ul ul{
	width: inherit;
	margin-left: inherit;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#gNavi ul ul li{
	margin-bottom: 8px;
}
#gNavi .megamenu_text li a{
	display: block;
	background: url(./img/common/gnav/gnav_arrow1.png) no-repeat;
	background-position: right 15px center;
	background-color: #fff;
	text-align: left;
	padding: 14px 21px;
	font-size: 12px;
	font-weight: 700;
}
#gNavi .megamenu_text li a:hover{
	opacity: 0.9;
}
/*　矢印の色　*/
#gNavi .megamenu_childbox--menu1 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow1.png);
}
#gNavi .megamenu_childbox--menu2 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow2.png);
}
#gNavi .megamenu_childbox--menu3 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow3.png);
}
#gNavi .megamenu_childbox--menu4 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow4.png);
}
#gNavi .megamenu_childbox--menu5 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow5.png);
}
#gNavi .megamenu_childbox--menu6 .megamenu_text li a{
	background-image: url(./img/common/gnav/gnav_arrow6.png);
}
/* 一時停止中のリンク  */
#gNavi .megamenu_text li a.nonelink{
	background-image:none;
	background-color: #979797;
	color: #fff;
	line-height: 100%;
	padding-top: 11px;
	padding-bottom: 11px;
}
#gNavi .megamenu_text li a.nonelink:hover{
	opacity: 1;
}


/*　メニュー1番目だけレイアウトが違う　*/
.megamenu_childbox--menu1 .megamenu_text{
	width: 274px;
}
.megamenu_childbox--menu1 .megamenu_text li{
	width: 250px;
}
/*　メニュー２番目以降のレイアウト　*/
.megamenu_childbox--menu2 .megamenu_text,
.megamenu_childbox--menu3 .megamenu_text,
.megamenu_childbox--menu4 .megamenu_text,
.megamenu_childbox--menu5 .megamenu_text,
.megamenu_childbox--menu6 .megamenu_text
{
	width: 694px;/*682px*/
}
.megamenu_childbox--menu2 .megamenu_text li,
.megamenu_childbox--menu3 .megamenu_text li,
.megamenu_childbox--menu4 .megamenu_text li,
.megamenu_childbox--menu5 .megamenu_text li,
.megamenu_childbox--menu6 .megamenu_text li
{
	width: 320px;
}
/*　メガメニュー内のピックアップされた画像リンク　*/
.megamenu_img{
	width: 383px;
	display: flex;
	flex-direction: column;
}
#gNavi .megamenu_img a{
	height: 100%;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
}
.megamenu_img_btn{
	display: block;
	width: 100%;
	padding: 30px;
	background: url(./img/common/gnav/gnav_arrow_white.png) no-repeat;
	background-position: right 15px center;
	color: #fff;
	font-weight: 700;
	font-size: 13px;
}
/*　メニューによって表示画像を切り替え　*/
#gNavi .megamenu_childbox--menu2 .megamenu_img a{
	background-image: url(./img/common/gnav/gnav_img_menu2.png);
}
#gNavi .megamenu_childbox--menu3 .megamenu_img a{
	background-image: url(./img/common/gnav/gnav_img_menu3.png);
}
#gNavi .megamenu_childbox--menu4 .megamenu_img a{
	background-image: url(./img/common/gnav/gnav_img_menu4.png);
	cursor: default;
}
#gNavi .megamenu_childbox--menu5 .megamenu_img a{
	background-image: url(./img/common/gnav/gnav_img_menu5.png);
	cursor: default;
}
#gNavi .megamenu_childbox--menu6 .megamenu_img a{
	background-image: url(./img/common/gnav/gnav_img_menu6.png);
	cursor: default;
}
/*　メニューによってボタンの色を変更　*/
.megamenu_childbox--menu1 .megamenu_img_btn{
	background-color:#f688a4;
}
.megamenu_childbox--menu2 .megamenu_img_btn{
	background-color:#e98776;
}
.megamenu_childbox--menu3 .megamenu_img_btn{
	background-color:#3fbbeb;
}
.megamenu_childbox--menu4 .megamenu_img_btn{
	background-color:#4fc9ac;
}
.megamenu_childbox--menu5 .megamenu_img_btn{
	background-color:#afa7d9;
}
.megamenu_childbox--menu6 .megamenu_img_btn{
	background-color:#edd664;
}
/*　ひとつめのメニューのバナー用　レイアウト　*/
.megamenu_bnr{
	padding-top: 25px;
	padding-bottom: 20px;
	padding-left: 20px;
	width: 821px;
}
.megamenu_bnr ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#gNavi .megamenu_bnr li{
	width: 23.5%;
}
.megamenu_bnr li a{
	display: block;
}
.megamenu_bnr li a img{
	width: 100%;
	max-width: 190px;
}
.megamenu_bnr_title{
	color:#fff;
	font-size: 13px;
	font-weight: 700;
	padding-left: 5px;
	padding-bottom: 10px;
	padding-top: 25px;
}

/*------------------------------------------------------------
	パンクズ
------------------------------------------------------------*/
.breadcrumb_box{
	padding: 10px;
	background-color: #f8f8f8;
	line-height: 100%;
}
.breadcrumb_box ul{
	display: flex;
	flex-wrap: wrap;
	width:100%;
	max-width: 1200px;
	margin: 0 auto;
}
.breadcrumb_box li{
	list-style: none;
	color: #666;
}
.breadcrumb_box li a{
	color: #1f53b4;
}
.breadcrumb_box li span{
	padding-left: 10px;
	padding-right: 10px;
}
@media screen and (max-width: 767px) {
	.breadcrumb_box{
		padding: 5px;
	}
	.breadcrumb_box li{
		margin-top: 3px;
		margin-bottom: 3px;
		font-size: 11px;
	}
	.breadcrumb_box li span{
		padding-left: 3px;
		padding-right: 3px;
	}
}

/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
	margin-top: 64px;
	background-color: #000;
}

#gFooter .fInner {
	padding: 40px 0 40px;
	background-color: #EDECEA;
}

#gFooter .fInner .fBox {
	margin: 0 auto;
	width: 1010px;
	position: relative;
}

#gFooter .fInner .fBox .fLogo {
	position: absolute;
	right: -21px;
	bottom: 12px;
}

#gFooter .fInner .fBox .fLogo img {
	width: 90px;
}

#gFooter .fInner .fBox .fNavi {
	color: #000;
	font-size: 12px;
	padding-bottom: 10px;
	text-align: center;
}
#gFooter .fInner .fBox .fNavi .footerlink{
	font-size: 14px;
	padding-bottom: 36px;
	line-height: 100%;
}
#gFooter .fInner .fBox .fNavi .copyright{
	font-size: 14px;
	line-height: 100%;
	padding-bottom: 18px;
}
#gFooter .fInner .fBox .fNavi .name{
	font-size: 14px;
	line-height: 100%;
	font-weight: 300;
}

@media screen and (max-width: 767px) {
	#gFooter .fInner {
		/*padding: 40px 38px 69px;　*/
		padding: 40px 38px 119px;
	}

	#gFooter .fInner .fBox {
		width: auto;
	}

	#gFooter .fInner .fBox .fLogo {
		right: -1px;
		bottom: 4px;
	}

	#gFooter .fInner .fBox .fLogo img {
		width: 28px;
	}

	#gFooter .fInner .fBox .fNavi {
		font-size: 12px;
	}
	#gFooter .fInner .fBox .fNavi .footerlink{
		line-height: 135%;
		font-size: 11px;
	}
	#gFooter .fInner .fBox .fNavi .copyright{
		font-size: 11px;
	}
	#gFooter .fInner .fBox .fNavi .name{
		font-size: 13px;
	}
	#gFooter .fInner .fBox .fNavi a:hover {
		text-decoration: none;
	}

}

/*------------------------------------------------------------
	sideBar
------------------------------------------------------------*/
#sideBarNew {
	padding-top: 42px;
	width: 220px;
	box-sizing: border-box;
	/* margin-left: 780px;*/
	float: right;
	display: none;
}
#sideBarNew li{
	margin-bottom: 5px;
}
#sideBarNew a:hover img {
	opacity: 0.8;
}

@media screen and (max-width: 767px) {
	#sideBarNew {
		display: none;
	}

}


/* ついてくるヘッダー プランページ */
/* 〜2021/10/01 */
/*
#headerBtnArea{
	background: url(img/common/btn_bg.png) repeat-x;
	height: 101px;
}
.headerBtnBox{
	width: 1002px;
	margin: 0 auto;
	padding-top: 20px;
	display: flex;
	justify-content: space-between;
}
#headerBtnArea a:hover img {
	opacity: 0.9;
}
@media screen and (max-width: 767px) {
	#headerBtnArea{
		display: none;
	}
}
*/

/* 2021/10/01〜 */
#headerBtnArea{
	background: #fff;
	height: 100px;
}
.headerBtnBox{
	width: 1200px;
	margin: 0 auto;
	padding-top: 20px;
	display: flex;
	justify-content: space-between;
}
.headerBtnBox_pmark{
	width: 285px;
}
.headerBtnBox_btn1{
	width: 300px;
	margin-right: 30px;
}
.headerBtnBox_btn2{
	width: 300px;
}
.headerBtnBox_tel{
	width: 265px;
	padding-left: 20px;
}

#headerBtnArea a:hover {
	opacity: 0.9;
}
/*ボタン箇所*/
.headerBtnBox_btn1 a{
	background-color: #f6921e;
	color: #fff;
	display: flex;
	align-items:center;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	border-radius: 3px;
}
.headerBtnBox_btn1 .headerBtnBox_btnicon{
	padding-left: 48px;
	padding-right: 10px;
}
.headerBtnBox_btn2 a{
	background-color: #2887c8;
	color: #fff;
	display: flex;
	align-items:center;
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	border-radius: 3px;
}
.headerBtnBox_btn2 .headerBtnBox_btnicon{
	padding-left: 12px;
	padding-right: 10px;
}

/*電話箇所*/
.header_tel_box{
	width: 265px;
	display: flex;
	flex-wrap: wrap;
	font-feature-settings: "palt";
}
.header_tel_box_left{
	color:#00356d;
	padding-right: 8px;
}
.header_tel_box_right{
	width: 85px;
}
.header_tel_box_center{
	width: 100%;
	padding-top: 5px;
}
.header_tel_box p{
	padding: 0;
	line-height: 100%;
}
p.header_tel_text_1{
	font-size: 10px;
}
p.header_tel_text_2{
	font-size: 22px;
	font-weight: 700;
	letter-spacing: -0.02em;
	padding-top: 1px;
}
p.header_tel_text_3{
	font-size: 11px;
	background: #e0e0e0;
	text-align: center;
	width: 65px;
	padding: 3px;
}
p.header_tel_text_4{
	font-size: 11px;
	font-weight: 700;
	padding-top: 3px;
}
p.header_tel_text_5{
	font-size: 10px;
	line-height: 110%;
}

@media screen and (max-width: 767px) {
	#headerBtnArea{
		display: none;
	}
}


/*スクロールしたら、このCSSを適用し、ナビゲーションバーの位置を固定する*/
.is-fixed {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 100;
	width: 100%;
}
.is-spaced:before{
	content:"";
	height: 101px;
	width: 100%;
	display: block;
}
@media screen and (max-width: 767px) {
	/* スマホ表示の時はこの処理を行わない ハンバーガーメニューのピクセルずれ調整。 */
	/*
	.is-spaced:before{
		height: 0;
	}
	*/
}
