@charset "utf-8";



#wrap{
	position: relative;
	overflow: hidden
}
#container{
	position: relative
}
#contents{
	margin: 50px 0 75px
}


#gnb{
	display: none;
	position: fixed;
	top: 0;
	right: 0;
	background-color: #fff;
	z-index: 9999;
	width: 20%;
	height: 100%;
	border-left: 1px solid #dddddd;
	overflow-y:scroll;
}
::-webkit-scrollbar {
display:none;
} 
#gnb .tnb ul{
	text-align: left;
	padding-left: 40px;
}

#gnb .tnb ul li{
	color: #333333;
}
#gnb .tnb ul li a span{
	color: #333333;
	font-size: 0.75rem;
}
#gnb .gnb_menu{
	margin: 0 15px;
	border-bottom: 1px solid #ececec
}
#gnb .gnb_menu > li a{
	position: relative;
	display: block;
	margin: 0 25px;
	font-weight: 900;
	
}
#gnb .gnb_menu > li > strong{
	display: block;
	margin-bottom: 7px;
	border-bottom: 1px solid #ececec;
	box-sizing: border-box
}
#gnb .gnb_menu > li > strong > a{
	padding: 15px 0;
	font-size: 1.188rem
}
#gnb .gnb_menu > li > ul{
	margin-bottom: 11px
}
#gnb .gnb_menu > li > ul > li > a{
	font-size: 0.875rem
}
#gnb .gnb_menu > li > ul > li > a span{
	display: inline-block;
	padding: 6px 0;
	box-sizing: border-box
}
#gnb .gnb_menu > li.active > strong > a,
#gnb .gnb_menu > li > ul > li.active > a{
	color: #ff613e
}
#gnb .gnb_menu > li.active > strong > a{
	border-bottom: 2px solid #ff613e
}
#gnb .gnb_menu > li > ul > li.active > a span{
	border-bottom: 1px solid #ff613e
}
#gnb .m_btm_wrap{
	padding: 22px 15px;
	text-align: center;
	font-size: 0.75rem
}
#gnb #gnbMenuClose{
	display: block;
	position: absolute;
	width: 45px;
	height: 45px;
	top: 0;
	right: 0;
	overflow: hidden;
	z-index: 3
}
#gnb #gnbMenuClose img{
	width: 50%;
}

.header_gnbwrap{
	position: relative;
}




/* mobile */
@media all and (max-width: 767px){

	#gnb{
		width: 100%;
	}
	
	#gnb .tnb{
		display: block;
	}
	#gnb .tnb ul li a{
		padding: 0;
	}	
	

	
	.footersect{
		padding: 10px 0;
	}
	#footer .footmenu li a{
		font-size: 0.875rem;
	}
	#footer .ft_orginfo{
		font-size: 0.75rem;
	}
	#footer .ft_orginfo a{
		display: none;
	}
	#footer .ft_orginfo a.mo_tel{
		display: block;
		text-align: center;
		color: #ff5c36;
		font-weight: 900;
		font-size: 1rem;
		margin-bottom: 15px;
	}	
	#footer .ft_orginfo span{
		font-size: 0.75rem;
	}	
	
	.display_PC{
		display: none;
	}
}


/* tablet */
@media all and (min-width: 768px){



}

/* only tablet */
@media all and (min-width: 768px) and (max-width: 1200px){

	#gnb{
		width: 40%;
	}
	
}
/* web */
@media all and (min-width: 1120px){

	.only_m{
		display: none
	}
	.only_l{
		display: block
	}
	.only_l_dib{
		display: inline-block !important
	}
	.only_mt_dib{
		display: none !important
	}
	.pc_width1,
	.gnb_pcwidth{
		position: relative;
		/* min-width: 1120px; */
		max-width: 1130px;
		height: auto;
		margin: 0 auto;
		box-sizing: border-box
	}
	.pc_width2{
		max-width: 1176px;
		margin-left: auto;
		margin-right: auto
	}
	.subvisual{
		max-width: 1600px;
		height: 280px;
		margin: 132px auto 20px
	}
	.subvisual.subvis_bg01,
	.subvisual.subvis_bg03,
	.subvisual.subvis_bg04{
		background-position: center
	}
	#contents{
		margin: 100px 0 150px
	}

}

@media all and (min-width: 1400px){

}

@media all and (min-width: 1600px){
	.pc_width1,
	.gnb_pcwidth{
		width: 100%;
		padding-left: 0;
		padding-right: 0
	}
}





#header{
	position: fixed !important;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 10;
	border-bottom: 1px solid #ebebeb;
}
.mobilemenu-open #header{
	position: absolute
}
.head_wrap{
	height: 156px;
	background-color: #ffffff;
}

#header h1 > a{
	display: block;
	margin-left: 15px;
	text-indent: -9999em;
	background-image: url('../img/logo.png');
	background-repeat: no-repeat;
	background-position: right center;
	background-size: contain
}
#header .head_gnbmenu{
	position: absolute;
	width: 37px;
	height: 55px;
	top: 0;
	right: 5px;
	z-index: 3
}

#header .main_gnbpc .gnbsubmenu li ul.gnb_submn3 >li{
	float: left;
	margin-right: 15px;
	color: #666666;
}
#header .main_gnbpc .gnbsubmenu li ul.gnb_submn3 >li:nth-child(3){
	clear: both;
	float: left;
}
#header .main_gnbpc .gnbsubmenu li ul.gnb_submn3 >li a{
	color: #666666;
}



#header .head_gnbmenu button,
#header .head_search button{
	display: block;
	width: 100%;
	height: 100%
}
#header .head_gnbmenu button .isico,
#header .head_search button .isico,
#gnb #gnbMenuClose .isico{
	margin: auto
}
#header .head_search{
	position: absolute;
	width: 36px;
	height: 55px;
	top: 0;
	right: 42px;
	z-index: 6
}

.tnb{
	width: 100%;
	height: 45px;
	margin-right: 0;
}
.tnb > ul {
	max-width: 1060px;
	margin: 0 auto;
	text-align: right;
	height: 45px;
	line-height: 45px;
}
.tnb > ul > li{
	display: inline-block;
	vertical-align: middle;
	margin: 0 2px;
	color: #ffffff;
  position: relative;
}
.tnb > ul > li > a{
	display: block;
	padding: 20px 8px;
	font-size: 0.75rem;
	font-weight: 500;
	color: #ffffff;
}
.tnb > ul > li > a > span{
	display: inline-block;
	position: relative;
	font-size: 0.875rem;
}
.tnb > ul > li > ul {
  position: absolute;
  left: -20px;
  top: calc(100% - 2px);
  width:130px;
  background-color:#fff;
  max-height:0;
  padding: 6px 0;
  overflow:hidden;
  border: 1px solid #ececec;
  box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
  z-index: 3;
  visibility: hidden;
  opacity:0;
  transition: all 0.3s;
}
.tnb > ul > li:hover > ul {
  max-height: 182px;
  visibility: visible;
  opacity:1;
}
.tnb > ul > li > ul > li {
  text-align: left;
  line-height: normal;
}
.tnb > ul > li > ul > li > a {
  display: block;
  height: 28px;
  padding:0 15px;
  line-height: 28px;
  font-size: 13px;
  color: #000;
}
.tnb > ul > li > ul > li > a:hover {
  color: #ff553e;
}






#footer{
	position: relative;
	width: 100%;
	border-top: 1px solid #dddddd;
	background-color: #ffffff;
}
.footersect{
	position: relative;
	padding: 24px 0 40px;
	margin: 0 15px 
}
#footer .footmenu{
	margin-bottom: 23px;
	text-align: left;
}
#footer .footmenu > li{
	display: inline-block;
	vertical-align: middle;
	margin-left: 30px
}
#footer .footmenu > li:first-of-type{
	margin-left: 0
}
#footer .footmenu > li > a{
	display: block;
	font-size: 0.75rem;
	color: #3d3d3d;
	text-align: center
}

#footer .ftfamily_wrap{
	width: 170px;
	margin-bottom: 25px;
	z-index: 1;	
}
#footer .familysite{
	height: 40px;
	background-color: #ffffff;
	border: 1px solid #a1a1a1;

}

.familysite .family_site_btn {
    font-size: 14px;
    padding-left: 15px;
    cursor: pointer;
	color: #444444;
	display: block;
	text-align: left;
	line-height: 40px;
}
.familysite .family_site_btn img{
	margin-left: 50px;
}

.familysite .family_site_list {
    position: absolute;
    bottom: 30px;
    left: 0;
    display: none;
}
.familysite .family_site_list ul {
    display: block;
	
}
.familysite .family_site_list ul li {
    background: #fff;
    width: 170px;
    height: 40px;
    border: 1px solid #ebebeb;
    border-bottom: 0;
    box-sizing: border-box;
}
.familysite .family_site_list ul li a {
	display: block;
    color: #111111;
    font-size: 0.75rem;
    padding-left: 15px;
	text-align: left;
	line-height: 40px;
}



#footer .ft_orginfo,
#footer .copyright{
	font-size: 0.75rem;
	text-align: center;
}
#footer .ft_orginfo{
	/* margin-bottom: 23px; */
	word-break: keep-all;
}
#footer .ft_orginfo a{
	color: #ff5c36;
}



.footersect{
	width: 100%;
	max-width: 1060px;
	padding: 25px 0 45px;
	margin-left: auto;
	margin-right: auto
}
#footer .footmenu_wrap{
	width: 100%;
	border-bottom: 1px solid #dddddd;
}	
#footer .footmenu{
	max-width: 1060px;
	margin: 0 auto;
	padding: 33px 0px;
	position: relative;
}
#footer .footmenu > li{
	margin-left: 18px;
}
#footer .footmenu > li > a{
	font-size: 1rem;
	font-weight: 700;
}
#footer .footmenu > li > a:hover{
	text-decoration: underline
}
#footer .ftfamily_wrap{
	position: absolute;
	top: 25px;
	right: 18%;
	height: 30px;
	/* margin-bottom: 30px; */
}
#footer .familysite{
	height: 40px;
	border: 1px solid #dddddd;
	background-color: #ffffff;
	width: 170px;
}

#footer .footlogo{
	float: left;
	margin-right: 55px;
}

#footer .ft_orginfo{
	float: left;
	/* padding: 22px 0; */
	font-size: 1rem;
	font-weight: 700;
	color: #444444;
	text-align: left;
}
#footer .copyright{
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: #888888;
	text-align: left;
}

#footer .wamark{
	display: block;
	position: absolute;
	top: 28px;
	right: 0;
	z-index: 3
}



#gnbPc{
	display: none
}



/* mobile */
@media all and (max-width: 767px){

	.head_wrap{
		height: 60px;
		
	}
	
	.tnb{
		display: none;
	}
	
	.main_gnbpc{
		display: none;
	}
	
	#header h1{
		width: 230px;
		height: 60px !important;
	}	

	#header .head_gnbmenu{
		width: 35px;
		height: 60px;
		top: 0;
		right: 15px;
	}
	.isico.isi_menu{
		width: 35px;
		height: 35px;
	}

	
	#container_main{
		margin-top: 0 !important;
	}

	.section2{
		display: none;
	}

	#footer .footmenu_wrap{
		width: 100%;
		border-bottom: 1px solid #dddddd;
		text-align: center;
	}
	#footer .footmenu{
		display: block;
		text-align: center;
		margin-bottom: 0;
		padding: 25px 0;
	}
	#footer .footmenu li{
		display: inline-block;
		margin-left: 0;
	}	
	#footer .footmenu li:nth-child(2){
		width: 3%;
	}
	#footer .footmenu li:nth-child(3){
		display: none;
	}	
	#footer .footmenu li:nth-child(4){
		display: none;
	}	
	#footer .footmenu li a{
		font-size: 1rem;
		font-weight: 700;
	}
	
	#footer .ftfamily_wrap{
		display: none;
	}	
	#footer .footlogo{
		display: none;
	}
	#footer .wamark{
		display: none;
	}
	#footer .ft_orginfo{
		text-align: center;
	}
	#footer .copyright {
		text-align: center;
	}	
	
	#footer .ft_orginfo a.mo_tel{
		display: block;
		text-align: center;
		color: #ff5c36;
		font-weight: 900;
		font-size: 1rem;
		margin-bottom: 15px;
	}	
	
}

/* tablet */
@media all and (min-width: 768px){

	.head_wrap{
		height: 156px;
		background-color: #ffffff;
	}
	
	.tnb > ul > li > a{
		padding: 0;
	}

	#header h1{
		width: 238px;
		padding-top: 35px;
	}
	#header h1 > a{
    height: 45px;
		margin-left: 0;
		background-image: url('../img/logo.png');
		background-position: left center;
		background-size: 100%;
	}

	.tnb > ul > li{
		margin: 0 0 0 24px
	}
	.tnb > ul > li:first-of-type{
		margin-left: 0
	}
	.tnb > ul > li > a{
		padding: 0
	}
	.tnb .fb a{
		width: 18px;
		height: 18px
	}
	.tnb .fb a .isico{
		margin: 3px auto
	}
	
	.head_gnbmenu{
		display: none;
	}
	
	.pc_width1,
	.gnb_pcwidth{
		position: relative;
		/* min-width: 1120px; */
		max-width: 1130px;
		height: auto;
		margin: 0 auto;
		box-sizing: border-box
	}
	
	#gnbPc{
		display: block;
		position: absolute;
		width: 100%;
		top: 90px;
	}
	
	
	
	.gnb_menupc{
		position: absolute;
		right: 40px;
		z-index: 3
	}
	.gnb_menupc > li{
		display: inline-block;
		margin-left: 56px
	}
	.gnb_menupc > li:first-of-type{
		margin-left: 0
	}
	.gnb_menupc > li > strong > a{
		font-size: 1.125rem;
		font-weight: 500;
	}
	.gnb_menupc > li > strong > a > span{
		display: inline-block;
		position: relative
	}
	.gnb_menupc > li > strong > a > span:after{
		content: '';
		display: block;
		width: 0;
		height: 2px;
		bottom: 0;
		margin: auto;
		background-color: #153386;
		transition: .3s cubic-bezier(.33,0,.2,1);
		z-index: 3
	}

	
	
	.main_mgnb{
		display: none
	}
	.mainpage .head_wrap{
		height: 140px
	}
	#header.sticky_header .head_wrap{
		height: 101px;
	}
	.mainpage #header h1{
		position: absolute;
		width: 360px;
		height: 60px;
		top: 40px;
		left: 0%;
		left: 16%;
		padding-top: 0;
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		-o-transform: translateX(-50%);
		transform: translateX(-50%);
		z-index: 6
	}
	.mainpage #header h1 > a{
		background-image: url('../images/common/logo.png');
	}
	.mainpage #header .head_search{
		width: 22px;
		height: 22px;
		top: 65px;
		right: 40px
	}
	.mainpage #header .head_search .isico.isi_search{
		background-position: 0 0
	}
	.mainpage #searchMobileFrm .frmsrc{
		top: 107px
	}
	.main_gnbpc{
		display: block;
		position: absolute;
		width: 100%;
		top: 0;
		overflow: hidden;
		z-index: 3;
		width:516px;
		right:0;
	}
	#header.sticky_header .main_gnbpc{
		border-bottom: 1px solid #ebebeb;
	}	
	.maingnb_menu{
		/* width: 100%; */
		max-width: 1060px;
		margin: 40px auto 0;
		box-sizing: border-box;
		text-align: right;
	}
	.maingnb_menu > li{
		display: inline-block;
		vertical-align: top;
		margin-left: 40px;
	}

	.maingnb_menu > li > a{
		position: relative;
		display: inline-block;
		/* padding: 14px 14px 50px 14px; */
	}
	.maingnb_menu > li > a > strong{
		font-size: 1.125rem;
		font-weight: 700;
	}

	.main_gnbpc .main_gnbclose{
		display: block;
		position: absolute;
		width: 21px;
		height: 21px;
		top: 542px;
		left: 50%;
		margin-left: 779px;
		z-index: 3
	}
	#containerMain{
		margin-top: 140px
	}	
	
	
	#footer .ft_orginfo a.mo_tel{
		display: none;
	}

	
	.display_PC{
		display: block;
	}
		
	
}

/* only tablet */
@media all and (min-width: 768px) and (max-width: 1120px){

	
}


@media all and (max-width: 1120px){

	#header h1{
		width: 230px;
    height: 45px;
	}

	.maingnb_menu{
		max-width: 1060px;
		margin: 40px auto 0;
		box-sizing: border-box;
		text-align: right;
	}
	.maingnb_menu > li{
		display: inline-block;
		vertical-align: top;
		margin-left: 20px;
	}

	.maingnb_menu .gnbm4{
		display: none;
	}
	.maingnb_menu > li > a > strong{
		font-size: 1.1rem;
		font-weight: 700;
	}
	
	
	
	
	.section2{
		display: none;
	}

	#footer .footmenu_wrap{
		width: 100%;
		border-bottom: 1px solid #dddddd;
		text-align: center;
	}
	#footer .footmenu{
		display: block;
		text-align: center;
		margin-bottom: 0;
		padding: 25px 0;
	}
	#footer .footmenu li{
		display: inline-block;
		margin-left: 0;
	}	
	#footer .footmenu li:nth-child(2){
		width: 3%;
	}
	#footer .footmenu li:nth-child(4){
		width: 3%;
	}	
	#footer .footmenu li a{
		font-size: 1rem;
		font-weight: 700;
	}
	
	#footer .ftfamily_wrap{
		display: none;
	}	
	#footer .ft_orginfo{
		float: none;
	}

	#footer .wamark{
		display: none;
	}
	
	
}

/* web */
@media all and (min-width: 1120px){
	#header{
		position: absolute
	}
	.main_gnbpc{
		display: block;
		position: absolute;
		width: 100%;
		top: 0;
		overflow: hidden;
		z-index: 3;
		max-width:720px;
		right:0;
		
	}

	#header h1{
		width: 313px;
		height: 45px;
		padding-top: 35px;
	}
	#header h1 > a{
		display: block;
		height: 45px;
	}
	
	#header .head_gnbmenu,

	#footer .copyright{
		text-align: left;
	}	
	
	.display_PC{
		display: block;
	}
	
}
@media all and (min-width: 1600px){
	.tnb, .gnb_menupc{
		right: 0
	}
}
