@charset "utf-8";

/* ****************************************************
Title: common.css
***************************************************** */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@400;500;700&display=swap');

/* --------------------------------------------------------------------
 body
-------------------------------------------------------------------- */

body {
	color: #333333;
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px !important;
	text-size-adjust: 100%;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	max-height: 999999px;
	/*overflow-x: hidden;*/
	-ms-overflow-style: none;
	scrollbar-width: none;
}

.webFontPoppins {
	font-family: 'Poppins', sans-serif;
}

.webFontOswald {
	font-family: 'Oswald', sans-serif;
}
body{
   /* background: url("../img/common/topbg.png") no-repeat top center;
    background-size: 100% auto;*/

}
#wrap {
	position: relative;
	margin: 0 auto;
	padding: 0px;
	min-width: 1380px;
}


img {
	display: block;
	max-inline-size: 100%;
	block-size: auto;
	margin: 0 auto;
}

.relative-wrap {
	position: relative;
}

.contDispN {
	display: none;
}



/*-----------------------*/

.anc {
	position: relative;
}

.ancIn {
	position: absolute;
}

/*-----------------------*/

.pc {
	display: block !important;
}

.sp {
	display: none !important;
}

.sp_menu {
	display: none !important;
}

.pcBr {
	display: inline !important;
}

.spBr {
	display: none !important;
}

.pcTable {
	display: table !important;
}

.spTable {
	display: none !important;
}

.flex {
	display: flex;
	flex-direction: row-reverse;
}

.contIn1000 {
	width: 1000px;
	margin: 0px auto;
	position: relative;
}

.contIn1430 {
	max-width: 1430px;
	width: auto;
	margin: 0px auto;
	position: relative;
}
.contIn1380 {
	max-width: 1430px;
	width: auto;
	margin: 0px auto;
	position: relative;
}

.contIn1340 {
	max-width: 1390px;
	width: auto;
	margin: 0px auto;
	position: relative;
}
.contIn1320{
	max-width: 1380px;
	width: auto;
	margin: 0px auto;
	position: relative;
}
.bg_white{
    background: #FFF
}
@media screen and (max-width: 767px) {
	.bg_white{
		background: none
	}
	.bg_white #VcArea-MainColum{
		background: #FFF;
		margin-top: 10px;
		padding-top: 0;
	}
}
.contInner {
    padding-left: 25px;
    padding-right: 25px;
}
.contIn1320 .contInner {
    padding-left: 30px;
    padding-right: 30px;
}

.radius200 {
	-moz-border-radius: 200px;
	-webkit-border-radius: 200px;
	-o-border-radius: 200px;
	-ms-border-radius: 200px;
	border-radius: 200px;
}


@media screen and (min-width: 768px) and (max-width: 1198.98px) {

	.contIn1430 {
		width: auto;
		padding: 0 20px !important;
	}
	.contIn1380 {
		width: auto;
		padding: 0 20px !important;
	}
	.contIn1340 {
		width: auto;
		padding: 0 20px !important;
	}
}

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

	body {
		font-size: 14px !important;
	}
    
    .contIn1320 .contInner,.contInnersp{
    padding-left: 10px;
    padding-right: 10px;
}
	#wrap {
		overflow: hidden;
		width: auto;
		margin-top: 0px;
		margin-right: auto;
		margin-bottom: 0px;
		margin-left: auto;
		padding: 60px 0 0 0;
		min-width: 200px;
	}
    .sp_menu{
        display: block!important;
    }
	
	.contIn1320 {
		width: 100%;
	}

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

	/*-----------------------*/

	.anc {
		position: relative;
	}

	.ancIn {
		position: absolute;
	}

	/*-----------------------*/

	.pc {
		display: none !important;
	}

	.sp {
		display: block !important;
	}

	.pcBr {
		display: none !important;
	}

	.spBr {
		display: inline !important;
	}

	.pcTable {
		display: none !important;
	}

	.spTable {
		display: table !important;
	}

	.flex {
		display: none !important;
	}

	.contIn1000 {
		width: auto;
	}

	.contIn1430,.contIn1380,.contIn1340 {
		width: auto;
		padding: 0;
	}

	img {
		display: block;
		margin: 0 auto;
	}

}



/* --------------------------------------------------------------------
 header
-------------------------------------------------------------------- */
header {
	position: sticky;
	top: 0;
	left: 0;
	z-index: 9999;
	height: 100px;
  background: #FFF;
}
header * ul,header * ol{
    list-style-type: none
}
.headerWrap01 {
	padding: 25px 0px 0px 0px;
	/*background-color: #ffffff;*/
	box-sizing: border-box;
    background: url("../img/common/header.png") repeat-x top
}
.headerWrap01 .contIn1430{
    padding-left: 0;
    padding-right: 0;
}

.headerLogo01 {
	float: left;
}

.headerLogo01 img {
	width: 133px;
}


@media screen and (min-width: 980px) {
	
.headerLogo01 {
    margin-left: 25px;
	height: 53px;
    display: flex;
    justify-content: center;
    align-items: center;
}
.headerRight01 {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}
	
    .slideNaviWrap01nav{
        display: flex;
        justify-content: center;
        align-items: center;
    }
    .gnav{
        position: relative
    }
    .gnav ol.headerNavi01{
        background: #fff;
        width: 100%;
        box-shadow: 0px 1px 6px #00000029;
        border-radius: 9px;
        margin-top: 20px;
    }   
    .gnav > ol > li{
        border-left: 1px solid rgba(32,69,80,0.14);
        text-align: center;
    }
.headerNavi01 {
    display: flex;
}

.headerNavi01 li {
    flex-grow: 1;
}

.headerNavi01 li.home {
    flex-grow: 0;
    width: 115px;
}
       .gnav > ol > li > a{
    color: #2C9FC3;
    }
    
	


 
}




.slideNaviWrap01nav{
    margin-right: 15px;
    font-size: 16px;
}
.slideNaviWrap01nav li{
    margin-left: 24px;
	position: relative;
  display: inline-block;
}
.slideNaviWrap01nav li a{
    display: flex;
    justify-content: center;
    align-items: center;
	color: #8B8B8B;
	font-weight: bold;
}

.slideNaviWrap01nav li a:hover{
	color: #EF8820;
}

.slideNaviWrap01nav li a:hover:before {
  content: '';
  position: absolute;
	left: 50%;
  bottom: -15px;/*線の上下位置*/
  display: inline-block;
  width: 42px;/*線の長さ*/
  height: 2px;/*線の太さ*/
  height: 2px;/*線の太さ*/
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);/*位置調整*/
  background-color: #EF8820;/*線の色*/
  border-radius: 1px;/*線の丸み*/
}

.slideNaviWrap02nav{
        display: flex;
        justify-content: center;
        align-items: center;
    }

.slideNaviWrap02nav{
    margin-right: 15px;
    font-size: 16px;
}
.slideNaviWrap02nav li{
    margin-left: 15px;
}
.slideNaviWrap02nav li a{
    display: flex;
    justify-content: center;
    align-items: center;
}


.headerRight01 form div {
    align-items: center;
    background-color: rgb(246 246 246);
    border-color: rgb(95 191 82);
    border-radius: 9999px;
    border-width: 3px;
    display: inline-flex;
    overflow: hidden;
    padding: 0 1rem;
    width: 271px;
}
.headerRight01 form div .header-site-search-input {
    background-color: transparent;
    display: block;
    width: 100%;
    border: none;
    line-height: 34px;
}
.header-site-search-submit img{
    width: 20px;
}
button.header-site-search-submit {
    border: none;
    background: none;
}
    

.headerNavi01 li {
	float: left;
    /*height: 32px;*/
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 10px;
    margin-bottom: 10px;
}


.headerNavi01 li:first-child {
	border-left: none;
}

.headerNavi01 li>a {
	display: inline-block;
	    font-size: 18px;
	line-height: 1.4em;
	padding: 4px 15px 4px 15px;
	position: relative;

}


.headerBtn01 {
	float: left;
	margin: 0px 15px 0px 15px;
}

.headerBtn01 a {
	display: block;
	background-color: #111;
	color: #ffffff;
	font-size: 16px !important;
	line-height: 1.0em;
	box-sizing: border-box;
	padding: 10px;
	width: 100px;
	border-radius: 100px;
}

.headerBtn01 a:link {
	color: #ffffff;
	text-decoration: none;
}

.headerBtn01 a:visited {
	color: #ffffff;
	text-decoration: none;
}

.headerBtn01 a:hover {
	color: #ffffff;
	text-decoration: none;
}

.headerBtn01 a:active {
	color: #ffffff;
	text-decoration: none;
}





.headerLangWrap01 a {
	font-size: 12px !important;
	line-height: 1.8em;
	color: #666666;
	display: inline-block;
}

.headerLangWrap01 a:link {
	color: #666666;
	text-decoration: none;
}

.headerLangWrap01 a:visited {
	color: #666666;
	text-decoration: none;
}

.headerLangWrap01 a:hover {
	color: #000000;
	text-decoration: none;
	border-bottom: 1px solid #000000;
}

.headerLangWrap01 a:active {
	color: #666666;
	text-decoration: none;
}

.headerLangWrap01 .active a {
	color: #000000;
	border-bottom: 1px solid #000000;
}



/*------------------*/

.headerLang01 {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: none;
	outline: none;
	background: transparent;
	box-sizing: border-box;
	height: 30px;
	padding: 0 20px 0 20px;
	position: relative;
}

.headerLangWrap01 {
	position: relative;
	padding-inline-end: 40px;
}

.headerLangWrap01::after {
	content: "";
	background-image: url("../img/common/header_lang_icon01.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 14px auto;
	width: 14px;
	height: 14px;
	position: absolute;
	left: -7px;
	top: 50%;
	margin-top: -7px;
}

.headerLangWrap01::before {
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 4px 0 4px;
	border-color: #999999 transparent transparent transparent;
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -4px;
}


/*------------------------*/

.pcHeaderMegaNavi01 {
	box-sizing: border-box;
	width: 100%;
	padding: 0px 0px 0px 0px;
	position: absolute;
	top: 52px;
	left: 0px;
	text-align: center;
	visibility: hidden;
	opacity: 0;
	transition-duration: 0.2s;
	z-index: 1000;
}

.headerNavi01 li:hover .pcHeaderMegaNavi01 {
	visibility: visible;
	opacity: 1;
	transition-duration: 0.2s;
}

.headerNavi01 li>p {
	display: inline-block;
	font-size: 16px !important;
	line-height: 1.4em;
	padding: 4px 15px 4px 15px;
	position: relative;
	cursor: pointer;
    margin-bottom: 0px;
	font-family: "M PLUS Rounded 1c", sans-serif;
}
.gnav a{
    color: #2C9FC3;
}
.gnav > .megaNaviIn01 a{
    color: #2C9FC3;
	text-decoration: none;
}



.megaNaviIn01 {
	background-color: rgba(44,159,195,0.93);
	color: #FFF;
	padding: 30px 45px 30px 45px;
}
.megaNaviIn01 a{
    color: #FFF;
}
.megaNaviIn01>.contIn1430>a {
	display: block;
	text-align: left;
	font-size: 18px !important;
	line-height: 1.2em;
	font-weight: bold;
	margin-bottom: 28px;
}

.megaNaviIn01>.contIn1430>a::after {
	content: "";
	display: inline-block;
	background-image: url("../img/common/cont_btn_ar02.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 14px auto;
	width: 14px;
	height: 10px;
	margin-left: 10px;
	vertical-align: middle;
}

.megaNavi01 li {
/*	width: 24.9%;*/
	border-left: none;
    margin-top: 0;
    margin-bottom: 0;
}
/*
.megaNavi01 li:nth-child(4n) {
	margin-right: 0px;
}
*/
.megaNavi01 li a {
	position: relative;
	display: flex;
	align-items: center;
	text-align: left;
	box-sizing: border-box;
	width: 100%;
	height: 60px;
	padding: 10px 50px 10px 40px;
    color: #FFF;
    font-size: 16px;
}

.megaNavi01 li a:hover {
	text-decoration: none;
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
	transition-duration: 0.3s;
}

.megaNavi01 li a::after {
	content: "";
	background-image: url("../img/common/cont_btn_ar01.svg");
	background-repeat: no-repeat;
	background-position: center center;
	width: 11px;
	height: 15px;
	position: absolute;
	left: 10px;
	top: 50%;
	margin-top: -6px;
}

@media screen and (max-width: 980px) {
	
	header {
  height: 10px;
}

.gnav a {
    color: #FFF;
}
    .slideNaviWrap01Insp{
        display: flex;
        flex-direction: column-reverse
    }
    .headerNavi01 li{
        display: block;
    }
	
		.slideNaviWrap01nav li{
    margin-left: 24px;
	position: relative;
	width: 100%;
	padding: 10px;
	text-align: center;
	border-bottom: #999999 soli 1px;
}
.slideNaviWrap01nav li a{
    display: flex;
    justify-content: center;
    align-items: center;
	font-weight: bold;
}
	
	
	
}
    
/* --------------------------------------------------------------------
 header content
-------------------------------------------------------------------- */
.headerCont01 {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0px;
	right: 30px;
}


@media screen and (min-width: 980px) {
	.slideNaviBg01 {
		display: none;
	}

	.closeBtn01 {
		display: none;
	}

	.pcHeaderMegaNavi01 {
		display: block !important;
	}

	.footerSpAcCont01 {
		display: block !important;
	}
	

}

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

	.headerRight01 {
		float: left;
		margin-top: 20px;
	}

	.headerNavi01 {
		float: left;
	}

	.headerNavi01 li {
		float: left;
        margin-top: 0;
        margin-bottom: 0;
	}

	.headerNavi01 li>a {
		display: inline-block;
		font-size: 15px !important;
		line-height: 1.4em;
		padding: 4px 7px 4px 7px;
		position: relative;
	}

	.headerNavi01 li>p {
		display: inline-block;
		font-size: 15px !important;
		line-height: 1.4em;
		padding: 4px 7px 4px 7px;
		position: relative;
		cursor: pointer;
	}

	.pcHeaderMegaNavi01 {
		padding: 34px 0px 0px 0px;
		top: 115px;
	}

	.megaNavi01 li a {
		position: relative;
		display: flex;
		align-items: center;
		text-align: left;
		box-sizing: border-box;
		width: 100%;
		padding: 10px ;
	}

}

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

	.headerWrap01 {
		padding: 0px 0px 0px 0px;
		box-sizing: border-box;
		width: 100%;
		position: fixed;
		top: 0px;
		left: 0px;
		z-index: 1000;
	}

	.headerLogo01 {
		float: left;
		padding-left: 20px;
		display: flex;
		align-items: center;
		height: 60px;
	}

		.headerLogo01 img {
    width: auto;
    height: 50px;
  }

	.headerRight01 {
		float: none;
	}

	.headerNavi01 {
		float: none;
		margin-bottom: 20px;
	}

	.headerNavi01 li {
		float: left;
	}

	.headerNavi01>li {
		width: 100%;
		border-left: none;
	}

	.headerNavi01 li>a {
		display: block;
		font-size: 14px !important;
		line-height: 1.0em;
		padding: 15px 15px 15px 0px;
		position: relative;
		border-bottom: 1px solid #FFF;
        height: auto;
	}

	.headerNavi01 .megaNavi01 li>a {
        border-bottom: none;
        padding: 10px 0 5px 10px
    }


	.headerNavi01 li>a:hover {
		text-decoration: underline;
	}

	.headerBtn01 {
		float: left;
		margin: 0px 30px 0px 0px;
	}

	.headerBtn01 a {
		display: block;
		background-color: #111;
		color: #ffffff;
		font-size: 14px !important;
		line-height: 1.0em;
		box-sizing: border-box;
		padding: 10px;
		width: 165px;
		border-radius: 100px;
		text-align: center;
	}

	.headerBtn01 a:link {
		color: #ffffff;
		text-decoration: none;
	}

	.headerBtn01 a:visited {
		color: #ffffff;
		text-decoration: none;
	}

	.headerBtn01 a:hover {
		color: #ffffff;
		text-decoration: none;
	}

	.headerBtn01 a:active {
		color: #ffffff;
		text-decoration: none;
	}

	.headerLangWrap01 {
		float: none;
		padding: 0px 0px 0px 0px;
	}

	.headerLangWrap01 a {
		font-size: 12px !important;
		line-height: 1.8em;
		color: #666666;
		display: inline-block;
	}

	.headerLangWrap01 a:link {
		color: #666666;
		text-decoration: none;
	}

	.headerLangWrap01 a:visited {
		color: #666666;
		text-decoration: none;
	}

	.headerLangWrap01 a:hover {
		color: #000000;
		text-decoration: none;
		border-bottom: 1px solid #000000;
	}

	.headerLangWrap01 a:active {
		color: #666666;
		text-decoration: none;
	}

	.headerLangWrap01 .active a {
		color: #000000;
		border-bottom: 1px solid #000000;
	}

	.headerSearchWrap01 {
		float: none;
		margin-left: 0px;
		padding-top: 0px;
		padding-right: 20px;
		clear: both;
	}

	/*------------------*/

	.headerLang01 {
		position: relative;
		display: inline-block;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		border: none;
		outline: none;
		background: transparent;
		box-sizing: border-box;
		height: 30px;
		padding: 0px 30px 0px 20px;
	}

	.headerLangWrap01 {
		position: relative;
		display: inline-block;
	}

	.headerLangWrap01::after {
		content: "";
		background-image: url("../img/common/header_lang_icon01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 14px auto;
		width: 14px;
		height: 14px;
		position: absolute;
		left: 0px;
		top: 50%;
		margin-top: -7px;
	}

	.headerLangWrap01::before {
		content: "";
		width: 0;
		height: 0;
		border-style: solid;
		border-width: 10px 4px 0 4px;
		border-color: #999999 transparent transparent transparent;
		position: absolute;
		right: 0px;
		top: 50%;
		margin-top: -5px;
	}

	/*--------------*/

	.headerCont01 {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		top: 0px;
		right: 0px;
		margin-inline-end: 20px;
		margin-block-start: 15px;
	}

	/*------------------------*/

	.pcHeaderMegaNavi01 {
		box-sizing: border-box;
		width: 100%;
		padding: 0px 0px 0px 0px;
		position: relative;
		top: 0px;
		left: 0px;
		text-align: center;
		visibility: visible;
		opacity: 1;
		transition-duration: 0.2s;
		z-index: 1000;
		display: none;
	}

	.headerNavi01 li:hover .pcHeaderMegaNavi01 {
		visibility: visible;
		opacity: 1;
		transition-duration: 0.2s;
	}

	.headerNavi01 li>p {
		display: block;
		font-size: 14px !important;
		line-height: 1.0em;
		position: relative;
		border-bottom: 1px solid #FFF;
		padding: 0px;
	}

	.headerNavi01 li>p>a {
		display: block;
		padding: 15px 15px 15px 0px;
	}


	.headerNavi01 li {
		position: relative;
	}
	.headerNavi01 li.home {
		display: none
	}
	.headerNavi01 li>p.ac {
		display: block;
		width: 45px;
		height: 45px;
		position: absolute;
		top: 0px;
		right: 0px;
		border-bottom: none;
	}

	.headerNavi01 li>p.ac::after {
		content: "";
		width: 1px;
		height: 30px;
		background-color: #FFF;
		position: absolute;
		left: 0px;
		top: 50%;
		margin-top: -15px;
	}

	.headerNavi01 li>p.ac::before {
		content: "＋";
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -8px;
		color: #FFF;
		font-size: 14px !important;
		line-height: 1.0em;
	}

	.headerNavi01 li>p.ac.open::before {
		content: "ー";
	}

	.megaNaviIn01 {
		padding: 0px;
	}

	.megaNaviIn01>.contIn1430>a {
		display: none;
	}

	.megaNavi01 li {
		width: 100%;
		margin: 0px 0px 0px 0px;
	}

	.megaNavi01 li:nth-child(4n) {
		margin-right: 0px;
	}

	.megaNavi01 li:nth-child(2n) {
		margin-right: 0px;
	}
    .megaNavi01 li a::after{
        content: none
    }
	.megaNavi01 li a:hover {
		text-decoration: none;
		filter: alpha(opacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
		transition-duration: 0.3s;
	}

    .megaNaviIn01{
        background: none
    }


	/*--------------------------*/

	.headerMenu01Wrap {
		width: 60px;
	}

	.headerMenu01 {
		display: flex;
		justify-content: center;
		align-items: center;
		width: 60px;
		height: 60px;
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 9999;
	}

	.headerMenu01 img {
		width: 100%;
		height: auto;
	}

	.slideNaviWrap01 {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 9999;
		visibility: hidden;
		opacity: 0;
		transition-duration: 0.2s;
	}

	.slideNaviWrap01.open {
		width: 100%;
		height: 100%;
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 9999;
		visibility: visible;
		opacity: 1;
		transition-duration: 0.2s;
	}

	  .slideNaviWrap01In {
		background-color: #FBFBFB;
		box-sizing: border-box;
		text-align: left;
		padding: 0px 20px 20px 20px;
		width: 100%;
		max-width: 100%;
		height: 100vh;
		position: absolute;
		top: 60px;
		right: -600px;
		transition-duration: 0.4s;
		overflow: auto;
  }
	.open .slideNaviWrap01In {
		right: 0px;
	}

	.slideNaviBg01 {
		background-color: #000000;
		opacity: 0.7;
		width: 120vw;
		height: 120vh;
		position: fixed;
		top: 60px;
		left: 0px;
	}

	.closeBtn01 {
		position: fixed;
		top: 0px;
		right: 0px;
		z-index: 10000;
	}

	.closeBtn01 img {
		width: 60px;
		height: auto;
	}

	/*-----------------*/

	.spNaviSeachWrap01 {
		position: relative;
	}

	.spNaviSeachWrap01 .icon01 {
		inline-size: 100% !important;
		block-size: auto;
	}

	.spSearchInput01 {
		border: none;
		background-color: #ffffff;
		box-sizing: border-box;
		inline-size: 100%;
		block-size: 40px;
		padding: 10px 40px 10px 20px;
		border-radius: 0px;
	}

	.spSearchButton01 {
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
		padding: 0;
		border: none;
		outline: none;
		background: transparent;
		width: 40px;
		height: 40px;
		position: absolute;
		top: 0px;
		right: 0px;
		cursor: pointer;
	}
    .headerRight01{
        display: flex;
        flex-direction: column;
    }
    .slideNaviWrap01nav{
        order: 1;
		padding-bottom: 20px;
    }
	.slideNaviWrap02nav{
        order: 2
    }

	
	
    .headerRight01 a{
        order: 2
    }
    .headerRight01 form{
        order: 3;
        margin-top: 20px;
    }
    .headerRight01 a:visited {
    color: #FFF;
}
	
    .slideNaviWrap01nav li a {
    justify-content: left;
}
	
    .slideNaviWrap01nav li {
    margin-left: 0px;
        margin-bottom: 10px;
		border-bottom: #CCCCCC solid 1px;
}
    .headerRight01 a img {
        width: 100%;
        margin-top: 20px;
    }
    
}


/* --------------------------------------------------------------------
 footer
-------------------------------------------------------------------- */
#VcArea-Footer{
	background: linear-gradient(to top left, #96BB41,#718442);
	color: #FFF;
}
#VcArea-Footer * ul,#VcArea-Footer * ol{
    list-style-type: none;
	margin-bottom: 20px;
}

#VcArea-Footer img{ display: inherit;}

.footerLeft{ 
	width:35%;
	float: left;
}
.footerRight{
		width:63%;
	float: right;
}
.footerRight-inner{width: 30%; margin-left: 3%; float: left;}
.footerLogo{width: 138px; float: left; margin-top: 15px;}
.footerLogo img{width: 100%; height: auto; margin: 0;}
.footerLogo_2{width: 138px; float: left;}
.footerLogo_2 img{width: 100%!important; height: auto!important; margin: 0;}
.corpProf {width: 68%; float: right;}
.corpProf h2 {font-size: 20px; font-weight: bold;}
.corpProf p {font-size: 12px;}

.footerBottom{
    padding-top: 20px;
	background: #FFF;
	height: 100px;
}
.pagetopButton {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 30px;
}

.footerWrap01 {
	padding: 52px 0px 52px 0px;
}

.footerBox01 {
	width: 25%;
	float: left;
	color: #111;
	text-align: left;
}

.footerWrap01 a:link {
	color: #111;
	text-decoration: none;
}

.footerWrap01 a:visited {
	color: #111;
	text-decoration: none;
}

.footerWrap01 a:hover {
	color: #111;
	text-decoration: underline;
}

.footerWrap01 a:active {
	color: #111;
	text-decoration: none;
}

.footerBox01 .logo01 img {
	width: 160px;
	height: auto;
}

.footerBox01 .link01 {
	font-size: 16px !important;
	line-height: 1.8em;
	margin-bottom: 10px;
}

.footerBox01 .link02 {
	margin-bottom: 30px;
}

.footerBox01 .link02 li {
	font-size: 14px !important;
	line-height: 2.0em;
}

/*--------------------*/

ul.footer-SNS-Area{ margin-top: 35px;}
ul.footer-SNS-Area li{display: inline; margin-right: 50px;}

.footerNavi01 {
	float: left;
}

.footerNavi01 li {
	float: left;
	padding: 0px 20px 0px 20px;
	border-left: 1px solid #ffffff;
	font-size: 14px !important;
	line-height: 1.4em;
}

.footerNavi01 li:first-child {
	padding-left: 0px;
	border-left: none;
}
.footerNavi01 a{
    color: #111
}
.footerCopy01 {
	font-size: 12px !important;
	line-height: 1.4em;
	margin-top: 20px;
}

/*-------------------*/

.footerNavi01Wrap01 {
	float: right;
}



.footerLogoWrap01 .logo02 img {
	max-width: 200px;
	height: auto;
}

.footerLogoWrap01 .logo02 {
	float: left;
}

.footerLogoWrap01 .cont01 {
	float: left;
	text-align: left;
	padding-left: 25px;
	font-size: 12px !important;
	line-height: 1.8em;
}

.footerSpAcCont01 a:before{
    content: "└";
    position: absolute;
    left: 0;
    font-size: 8px;
}
.footerSpAcCont01 a{
    padding-left: 12px;
    position: relative
}

@media screen and (max-width: 980px) {
	
	.footerLeft{ 
	width:100%;
	float: left;
}

	.footerBlock01 {
		margin-bottom: 60px;
	}

	.footerBox01 {
		box-sizing: border-box;
		width: 33%;
		padding-right: 0px;
	}

	.footerNavi01Wrap01 {
		float: none;
		margin-bottom: 30px;
	}

	.footerLogoWrap01 {
		float: none;
	}


}



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

	.pagetopButton {
		display: none;
		position: fixed;
		bottom: 20px;
		right: 20px;
	}

	.pagetopButton img {
		width: 40px;
		height: auto;
	}

	.footerWrap01 {
		padding: 20px 20px 30px 20px;
	}

	.footerWrap01 .contIn1430 {
		padding: 0 !important;
	}

	.footerBlock01 {
		margin-bottom: 25px;
	}

	.footerBox01 {
		width: auto;
		float: none;
		text-align: left;
		position: relative;
	}

	.spFooterBox {
		width: auto;
		float: none;
	}


	.footerBox01 .logo01 {
		text-align: center;
		margin-bottom: 20px;
	}

	.footerBox01 .logo01 img {
		width: 102px;
		height: auto;
	}

	.footerBox01 .link01 {
		font-size: 12px !important;
		line-height: 1.0em;
		font-weight: bold;
		margin-bottom: 0px;
		border-bottom: 1px solid #cdcbc8;
	}

	.footerBox01 .link01 a {
		display: block;
		padding: 15px 15px 15px 0px;
	}

	.footerBox01 .link01 a::after {
		content: "";
		background-image: url("../img/common/cont_btn_ar02.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 10px auto;
		width: 10px;
		height: 8px;
		display: block;
		float: right;
		margin-right: 0px;
		margin-top: 3px;
	}

	.footerBox01 .link01.link0102 a::after {
		margin-right: 55px;
	}

	.footerBox01 .ac {
		display: block;
		width: 45px;
		height: 45px;
		position: absolute;
		top: 0px;
		right: 0px;
		border-bottom: none;
	}

	.footerBox01 .ac::after {
		content: "";
		width: 1px;
		height: 30px;
		background-color: #cdcbc8;
		position: absolute;
		left: 0px;
		top: 50%;
		margin-top: -15px;
	}

	.footerBox01 .ac::before {
		content: "＋";
		position: absolute;
		right: 15px;
		top: 50%;
		margin-top: -8px;
		color: #9b9792;
		font-size: 14px !important;
		line-height: 1.0em;
	}

	.footerBox01 .ac.open::before {
		content: "ー";
	}

	.footerSpAcCont01 {
		display: none;
	}

	.footerBox01 .link02 {
		margin-bottom: 0px;
	}

	.footerBox01 .link02 li {
		font-size: 12px !important;
		line-height: 2.0em;
	}

	.footerBox01 .link02 li a {
		position: relative;
		display: block;
		box-sizing: border-box;
		padding: 7px 20px 7px 15px;
		background-color: #ffffff;
		border-bottom: 1px solid #cdcbc8;
		border-left: 1px solid #cdcbc8;
		border-right: 1px solid #cdcbc8;
	}

	.footerBox01 .link02 li a::after {
		content: "";
		background-image: url("../img/common/cont_btn_ar01.png");
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 16px auto;
		width: 16px;
		height: 16px;
		position: absolute;
		right: 10px;
		top: 50%;
		margin-top: -8px;
	}

	/*--------------------*/
    .footerBottom{
		padding: 20px 20px 30px 20px;
    }
	.footerNavi01 {
		float: none;
		text-align: left;
		margin-bottom: 38px;
	}

	.footerNavi01 li {
		float: none;
		padding: 0px 0px 0px 0px;
		border-left: none;
		font-size: 12px !important;
		line-height: 2.0em;
	}

	.footerNavi01 li:first-child {
		padding-left: 0px;
		border-left: none;
	}

	.footerCopy01 {
		text-align: left;
		font-size: 10px !important;
		line-height: 1.4em;
		float: none;
	}

	/*-------------------*/

	.footerNavi01Wrap01 {
		float: none;
	}

	.footerLogoWrap01 {
		float: left;
	}

	.footerLogoWrap01 .logo02 img {
		width: 150px;
		height: auto;
	}

	.footerLogoWrap01 .logo02 {
		padding-top: 5px;
	}

	.footerLogoWrap01 .cont01 {
		text-align: left;
		padding-left: 25px;
		font-size: 10px;
		line-height: 1.8em;
	}



}

/* --------------------------------------------------------------------
 parts
-------------------------------------------------------------------- */
.contMainColumn_01 {
	width: 100%;
	padding-bottom: 75px;
	float: left;
	text-align: left;
	font-size: 16px !important;
	line-height: 1.8em;
}

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

	.contMainColumn_01 {
		width: auto;
		padding: 30px 10px 40px 10px;
		border-right: none;
		float: none;
		text-align: left;
		font-size: 14px !important;
		line-height: 1.8em;
	}

}




.partsWrap01 {
	padding-top: 0px;
    background-size: 1920px 426px;
    margin-top: -27px;
    padding-top: 27px;
	padding-bottom: 40px;
}
@media screen and (max-width: 767px) {
	.partsWrap01 {
		margin-top: 0;
	}
}

.contMainColumn_02 {
	box-sizing: border-box;
	inline-size: calc(100% - 270px - 30px);
	padding-top: 50px;
	padding-bottom: 75px;
	float: left;
	text-align: left;
	font-size: 16px !important;
	line-height: 1.8em;
}

.contSideColumn {
	box-sizing: border-box;
	inline-size: 270px;
	padding-top: 50px;
	padding-bottom: 75px;
	float: right;
	text-align: left;
}
.contSideColumn * ul,.contSideColumn * ol{
    list-style-type: none;
}

/*----------------------*/

.parts1column .contMainColumn {
	width: auto;
	border-right: none;
}

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

	.partsWrap01 {
		padding-top: 0px;
	}

	.contMainColumn_02 {
		width: auto;
		padding: 30px 20px 40px 20px;
		border-right: none;
		float: none;
		text-align: left;
		font-size: 14px !important;
		line-height: 1.8em;
	}

	.contSideColumn {
		width: auto;
		padding: 0px 20px 40px 20px;
		float: none;
		text-align: left;
	}

}

@media screen and (min-width: 768px) and (max-width: 1199.98px) {
	.contMainColumn_02 {
		width: 100%;
		padding: 30px 0 40px 0;
		border-right: none;
		float: none;
		text-align: left;
		font-size: 14px !important;
		line-height: 1.8em;
	}

	.contSideColumn {
		width: 100%;
		padding: 0px 0 40px 0;
		float: none;
		text-align: left;
	}
}

/*pagetop*/
.pagetop {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 30px;
    bottom: 30px;
    background: #fff;
    border: solid 1px #9b9792;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}

.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #9b9792;
    border-right: 3px solid #9b9792;
    transform: translateY(20%) rotate(-45deg);
}
.footer{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.footersitemap{
}

.footersitemap{
    font-size: 12px;
	color: #FFF;
}
.footersitemap li{
    margin-right: 40px;
	padding-left: 15px;
}

.footersitemap li.parent{
    margin-right: 40px;
	font-size: 18px;
	font-weight: bold;
	background-image: url("../img/common/arrow_list_wht_01.png");
	background-position: 0 10px;
	background-repeat: no-repeat;
}

.footersitemap li a{
    display: flex;
	color: #FFF!important;

}

.footersitemap li a:before {
  flex-shrink: 0;
  height: 20px;
  width: 20px;
  margin-right: 15px;
}

.footer img{
    height: 40px;
    width: auto;
}
.tar{
    text-align: right;
	color: #111;
	font-size: 13px;
	font-weight: bold;
	letter-spacing: 0px;
}

.footer .tar{
    font-size: 14px;
    margin-bottom: 0
}

.footer .footerLogo img{
    height: 64px
}
.snssp{
    display: none
}


.close {
  opacity:inherit!important;
}


@media screen and (max-width: 980px) {
    .snssp{
        display: block;
        float: right
    }
.footersitemap li a:before {
    margin-right: 10px;
}
    .footer .tar {
    font-size: 8px;
        text-align: left!important
}
.corpProf {
  width: 60%;
  float: right;
}
    .footerBottom .contInner{
        padding-left: 0;
        padding-right: 0;
    }
	.footerRight {display: none;}
	.footerBottom {
  padding-top: 20px;
  background: #FFF;
  height: 60px;
}
	
}
@media screen and (max-width: 980px) {
    .snspc{
        display: none;
    }
	.footersitemap li {
		width: 50%;
	}
		.footerWrap01 .contInner {
		padding-left: 0px;
		padding-right: 0px;
	}
	.footersitemap li {
		margin-right: 0px;
		margin-bottom: 10px;
	}
		.footersitemap li a {
		justify-content: flex-start;
	}
	.footersitemap{
        flex-wrap: wrap;
    } 
}