@charset "utf-8";

/*
 * =====================================================
 * タグデフォルト
 * =====================================================
 */
sup {
	font-size: 75.5%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
sub {
	font-size: 75.5%;
	vertical-align: bottom;
	position: relative;
	top: 0.1em;
}
strong{
	font-weight: bold;
}
a{
	text-decoration: none;
	color: #000;
	/*
	-webkit-transition: background-color 0.3s;
	-moz-transition: background-color 0.3s;
	transition: background-color 0.3s;*/
}
a:HOVER{
	/*text-decoration: none;*/
	text-decoration: underline;
	color: #E70008;
}
.outerSite > a:AFTER{
	/*content: url("../img/common/ico_new_window.png");
	display: inline-block;
	padding-left: 1em;
	vertical-align: middle;*/
}
/*
 * =====================================================
 * 非表示
 * =====================================================
 */
.hideContents{display: none !important;}
.pcOnly{display: block;}
.spOnly{display: none;}
.middleOnly{display: none;}
img.pcOnly,br.pcOnly{display: inline;}
/*
 * =====================================================
 * アライン
 * =====================================================
 */
.leftAdjust{text-align: left;}
.centerAdjust{text-align: center;}
.centerAdjustPC{text-align: center;}
.rightAdjust{text-align: right;}
.rightAdjustPC{text-align: right;}

/*
 * =====================================================
 * Image
 * =====================================================
 */
.fullScreen{
	line-height: 0;
	width: 100%;
}
.fullScreen img{
	margin:0 auto;
	width: 100%;
	height: auto;
}

.imgOnly{
	line-height: 0;
}
.imgOnly > span{
	display: block;
	padding-top: 0.5em;
	line-height: 1.3;
}

img.arignRight{
	float: right;
	display: block;
	margin-bottom: 10px;
}

/*
 * =====================================================
 * hoverAct
 * =====================================================
 */
/*
a.hoverActStyle1{
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
}
*/
.hoverActStyle1{
	/* display: block; */
	position: relative;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.hoverActStyle1:hover{
	filter:alpha(opacity=60);
	-moz-opacity: 0.6;
	opacity: 0.6;

}


.hoverActStyle2{
	backface-visibility:hidden;
}
.hoverActStyle2 img:HOVER{
	-webkit-transition: all 0.5s;
	-moz-transition: all 0.5s;
	transition: all 0.5s;
	opacity: 0.6;
}
.hoverActStyle3{transition: all 0.3s;}
.hoverActStyle3:hover{
	background-color: #DD6C75;
}


/*
 * =====================================================
 * 改行
 * =====================================================
 */
br.sp{
	display: none;
}
.pcBr:BEFORE{
	content: "\A";
	white-space: pre;
	display: inline !important;
}
.spBr:BEFORE{
	content: "";
	display: none;
}
.pcBlock{
	display: block !important;
	height: 0 !important;
	width: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
}

/*
 * =====================================================
 * 下部マージン
 * =====================================================
 */
.mb10{margin-bottom: 10px;}
.mb20{margin-bottom: 20px;}
.mb30{margin-bottom: 30px;}
.mb40{margin-bottom: 40px;}
.mb50{margin-bottom: 50px;}
.mb60{margin-bottom: 60px;}
.mb70{margin-bottom: 70px;}
.mb80{margin-bottom: 80px;}
.mb90{margin-bottom: 90px;}
.mb100{margin-bottom: 100px;}
.mb120{margin-bottom: 120px;}
.mb150{margin-bottom: 150px;}
.mb200{margin-bottom: 200px;}
.mb05em{margin-bottom: 0.5em;}
.mb1em{margin-bottom: 1em;}
.mb1hem{margin-bottom: 1.5em;}
.mb2em{margin-bottom: 2em;}
/*
 * =====================================================
 * Layout
 * =====================================================
 */
.containerWrapper,
.containerStyle0,
.containerStyle1,
.containerStyle2,
.containerStyle3,
.containerStyle4,
.containerStyle5,
.containerStyle6,
.containerStyle7{
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.containerWrapper{
	width: 100%;
	max-width: 1200px;
}
.containerWrapper > .containerStyle0{width: 100%;/* max 1200px */}
.containerWrapper > .containerStyle1{width: 96.67%;/* max 1160px */}
.containerWrapper > .containerStyle2{width: 93.33%;/* max 1120px */}
.containerWrapper > .containerStyle3{width: 90%;/* max 1080px */}
.containerWrapper > .containerStyle4{width: 86.67%;/* max 1040px */}
.containerWrapper > .containerStyle5{width: 83.33%;/* max 1000px */}
.containerWrapper > .containerStyle6{width: 80%;/* max 960px */}
.containerWrapper > .containerStyle7{width: 76.67%;/* max 1000px */}

/*
 * =====================================================
 * Grid Set
 * =====================================================
 */
 .gridSet{min-height: 1px;}
 .gridSet::after{
	 content: ".";
	 display: block;
	 clear: both;
	 height: 0;
	 visibility: hidden;
 }

.gridSet > .grid2,
.gridSet > .grid3,
.gridSet > .grid4,
.gridSet > .grid5{ width: 100%;height: 100%;}

.gridSet > .grid2 > div,
.gridSet > .grid2 > li,
.gridSet > .grid2 > dt,
.gridSet > .grid2 > dd,
.gridSet > .grid2 > span{
	display: block;
	width: 50%;
	float: left;
}

.gridSet > .grid3 > div,
.gridSet > .grid3 > li,
.gridSet > .grid3 > dt,
.gridSet > .grid3 > dd,
.gridSet > .grid3 > span,
.gridSet > .grid12 > div,
.gridSet > .grid12 > li,
.gridSet > .grid12 > dt,
.gridSet > .grid12 > dd,
.gridSet > .grid12 > span,
.gridSet > .grid21 > div,
.gridSet > .grid21 > li,
.gridSet > .grid21 > dt,
.gridSet > .grid21 > dd,
.gridSet > .grid21 > span{
	display: block;
	width: 33.33%;
	float: left;
}

.gridSet > .grid4 > div,
.gridSet > .grid4 > li,
.gridSet > .grid4 > dt,
.gridSet > .grid4 > dd,
.gridSet > .grid4 > span,
.gridSet > .grid13 > div,
.gridSet > .grid13 > li,
.gridSet > .grid13 > dt,
.gridSet > .grid13 > dd,
.gridSet > .grid13 > span,
.gridSet > .grid31 > div,
.gridSet > .grid31 > li,
.gridSet > .grid31 > dt,
.gridSet > .grid31 > dd,
.gridSet > .grid31 > span{
	display: block;
	width: 25%;
	float: left;
}

.gridSet > .grid5 > div,
.gridSet > .grid5 > li,
.gridSet > .grid5 > dt,
.gridSet > .grid5 > dd,
.gridSet > .grid5 > span{
	display: block;
	width: 20%;
	float: left;
}

.gridSet > .grid12 > div:nth-child(2),
.gridSet > .grid12 > li:nth-child(2),
.gridSet > .grid12 > dt:nth-child(2),
.gridSet > .grid12 > dd:nth-child(2),
.gridSet > .grid12 > span:nth-child(2),
.gridSet > .grid21 > div:nth-child(1),
.gridSet > .grid21 > li:nth-child(1),
.gridSet > .grid21 > dt:nth-child(1),
.gridSet > .grid21 > dd:nth-child(1),
.gridSet > .grid21 > span:nth-child(1){width: 66.67%;}

.gridSet > .grid13 > div:nth-child(2),
.gridSet > .grid13 > li:nth-child(2),
.gridSet > .grid13 > dt:nth-child(2),
.gridSet > .grid13 > dd:nth-child(2),
.gridSet > .grid13 > span:nth-child(2),
.gridSet > .grid31 > div:nth-child(1),
.gridSet > .grid31 > li:nth-child(1),
.gridSet > .grid31 > dt:nth-child(1),
.gridSet > .grid31 > dd:nth-child(1),
.gridSet > .grid31 > span:nth-child(1){width: 75%;}

/*
 * =====================================================
 * Background Style
 * =====================================================
 */
.bgStyle1{
	background-color: #F2F2F2;
	/* background-color: rgba(0,0,0,0.7);  */
}

/*
 * =====================================================
 * textBox
 * =====================================================
 */
.textBoxStyle1,
.textBoxStyle2,
.textBoxStyle3,
.textBoxStyle4,
.textBoxStyle5,
.textBoxStyle6,
.textBoxStyle7{
	margin-left: auto;
	margin-right: auto;
}
.textBoxStyle1{width: 96%;}
.textBoxStyle2{width: 92%;}
.textBoxStyle3{width: 88%;}
.textBoxStyle4{width: 84%;}
.textBoxStyle5{width: 80%;}
.textBoxStyle6{width: 75%;}
.textBoxStyle7{width: 70%;}


/*
 * =====================================================
 * テキスト
 * =====================================================
 */
.textStyle1,
.textStyle2,
.textStyle3,
.textStyle4,
.textStyle5,
.textStyle6,
.textStyle7{
}


.textStyle1{
	font-size:100%;
	line-height: 1.8;
}
.textStyle2{
	font-size:93%;
	line-height: 1.8;
}
.textStyle3{
	font-size:85%;
	line-height: 1.8;
}
.textStyle4{
	font-size:100%;
	line-height: 1.8;
}
.textStyle5{
	color: #E70008
}


/*
 * =====================================================
 * textShadowStyle
 * =====================================================
 */
 .textShadowStyle1{
	 color: #fff;
	 text-shadow:
	 1px 1px 5px #000,
	 -1px 1px 5px #000,
	 1px -1px 5px #000,
	 -1px -1px 5px #000;
 }

/*
 * =====================================================
 * catchStyle
 * =====================================================
 */
.catchStyle1,
.catchStyle2,
.catchStyle3,
.catchStyle4,
.catchStyle5,
.catchStyle6,
.catchStyle7{
	font-weight: bold;
}
.catchStyle1{
	font-size: 30px;
}
.catchStyle2{
	font-size: 24px;
}
.catchStyle3{
	font-size: 22px;
}
.catchStyle4{
	font-size: 20px;
}
.catchStyle5{
	font-size: 110%;
	line-height: 1.8;
}
.catchStyle6{
	font-size: 100%;
}
.catchStyle7{
	font-size: 85%;
}
/*
 * =====================================================
 * 行間
 * =====================================================
 */
.lh56{line-height: 56px;}
.lh36{line-height: 36px;}




/* 
 * =====================================================
 * title decoration
 * =====================================================
 */
.titleDecoration1{
	position: relative;
	padding-bottom: 0.3em;
}
.titleDecoration1::before{
	content: "";
	display: block;
	height: 2px;
	background-color: #B4D100;
	width: 120px;
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
.titleDecoration2{
	position: relative;
}
.titleDecoration2 span{
	display: inline-block;
	border-bottom: 2px #B4D100 solid;
}
.titleDecoration2::before{
	content: "";
	display: block;
	position: absolute;
	width: 3000px;
	height: 0;
	box-sizing: content-box;
	margin-left: -3000px;
	bottom: 0;
	left: 0;
	border-bottom: 2px #B4D100 solid;
}
/*
 * =====================================================
 * titleStyle
 * =====================================================
 */
.titleStyle1,
.titleStyle2,
.titleStyle3,
.titleStyle4{
	line-height: 1.3;
	font-weight: 600;
}
.titleStyle1{font-size: 30px;}
.titleStyle2{font-size: 24px;}
.titleStyle3{font-size: 20px;}
.titleStyle4{font-size: 18px;}

.titleStyle2 > .h2Title{
	display: block;
	position: relative;
	padding-left: 12px;
	margin-bottom: 1.5em;
}
.titleStyle2 > .h2Title::before{
	content: "";
	display: block;
	width: 6px;
	height: 1em;
	background-color: #E70008;
	position: absolute;
	top:50%;
	left: 0;
	transform: translateY(-50%);
}
.titleStyle2 .sub{
	font-size: 14px;
	font-weight: bold;
}
.titleStyle3 .sub{
	font-size: 14px;
}

.titleStyle3 > .h3Title{
	display: block;
	position: relative;
	padding-bottom: 0.5em;
	margin-bottom: 1em;
}
.titleStyle3 > .h3Title::before{
	content: "";
	width: 100%;
	height: 3px;
	border-left: 140px #E70008 solid;
	background-color: #9E9E9F;
	position: absolute;
	left: 0;
	bottom: 0;
}
.titleStyle3 .underLine{
	display: inline-block;
	border-bottom: 3px #E70008 solid;
	padding-bottom: 0.2em;
}

/*
 * =====================================================
 * additionalStyle
 * =====================================================
 */
.additionalStyle1{
	display: table;
}
.additionalStyle1 > dt,
.additionalStyle1 > dd{
	display: table-cell;
}
/*
 * =====================================================
 * fontStyle
 * =====================================================
 */
.fontStyle1{
	color: #003C8C;
}

/*
 * =====================================================
 * lineListStyle
 * =====================================================
 */
.lineListStyle1,
.lineListStyle2,
.lineListStyle3,
.lineListStyle4{
	display: table;
	table-layout: fixed;
	border-collapse:collapse;
	width: 100% !important;
}
.lineListStyle1 > li,
.lineListStyle2 > li,
.lineListStyle3 > li,
.lineListStyle4 > li,
.lineListStyle1 > dt,
.lineListStyle2 > dt,
.lineListStyle3 > dt,
.lineListStyle4 > dt,
.lineListStyle1 > dd,
.lineListStyle2 > dd,
.lineListStyle3 > dd,
.lineListStyle4 > dd{
	display: table-cell;
	vertical-align: top;
}

.lineListStyle1{
	border-bottom: 1px #ccc solid;
}
.lineListStyle1 > dt,
.lineListStyle1 > dd,
.lineListStyle1 > li{
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 1em;
	padding-right: 1em;
}
/*
 * =====================================================
 * buttonStyle
 * =====================================================
 */
.buttonStyle0,
.buttonStyle1,
.buttonStyle2,
.buttonStyle3,
.buttonStyle4,
.buttonStyle5{
	display: inline-block;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
}
.buttonStyle0:hover,
.buttonStyle1:hover,
.buttonStyle2:hover,
.buttonStyle3:hover,
.buttonStyle4:hover,
.buttonStyle5:hover{
	text-decoration: none;
}

.buttonStyle1{
	display: inline-block;
	position: relative;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	background-color: #666;
	font-size: 14px;
	color: #fff;
	padding-left: 1.8em;
	padding-right: 1.8em;
	padding-top: 1em;
	padding-bottom: 1em;
	min-width: 180px;
	max-width: 100%;
	transition: all 0.5s;
}

.buttonStyle1::after{
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top:50%;
	right: 0.8em;
	z-index: 2;
}
.buttonStyle1:hover{
	background-color: #E70008;
	color: #fff;
}


.buttonStyle2{
	background-color: #000;
	color: #fff;
	font-size: 14px;
	border-radius: 0.7em;
	-webkit-border-radius: 0.7em;
	-moz-border-radius: 0.7em;
	padding-left: 1.5em;
	padding-right: 1.5em;
	padding-bottom: 0.2em;
	padding-top: 0.1em;
	position: relative;
}
.buttonStyle2::after{
	content: "";
	display: block;
	width: 0.3em;
	height: 0.3em;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top:50%;
	right: 0.5em;
	z-index: 2;
}
.buttonStyle2:hover{
	background-color: #E70008;
	color: #fff;
}


.buttonStyle3{
	display: inline-block;
	position: relative;
	text-align: center;
	overflow: hidden;
	white-space: nowrap;
	background-color: #F15A24;
	font-size: 16px;
	color: #fff;
	padding-left: 1.8em;
	padding-right: 1.8em;
	padding-top: 1em;
	padding-bottom: 1em;
	min-width: 180px;
    max-width: 300px;
    width: 60%;
    transition: all 0.5s;
    box-shadow: 0px 2px #ccc;
}

.buttonStyle3::after{
	content: "";
	display: block;
	width: 0.5em;
	height: 0.5em;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-webkit-transform: rotate(45deg) translateY(-50%);
	transform: rotate(45deg) translateY(-50%);
	position: absolute;
	top:50%;
	right: 0.8em;
	z-index: 2;
}
.buttonStyle3.bgType1{
	background-color: #000;
}
.buttonStyle3.outerLink::after{
	transform: rotate(0deg) translateY(-50%);
	border: none;
	width: 12px;
	height: 10px;
	background-image: url("../img/common/ico_outer_link.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;

}
.buttonStyle3:hover{
	background-color: #ccc;
	color: #fff;
}

/*
 * =====================================================
 * boxPaddingStyle
 * =====================================================
 */
.boxPaddingStyle1{
	padding: 0.5em;
}
.boxPaddingStyle2{
	padding: 1em;
}
.boxPaddingStyle3{
	padding: 1.5em;
}
.boxPaddingStyle4{
	padding: 2em;
}
/*
 * =====================================================
 * sectionPadding
 * =====================================================
 */
.sp20{ padding-top: 20px; padding-bottom: 20px;}
.sp30{ padding-top: 30px; padding-bottom: 30px;}
.sp40{ padding-top: 40px; padding-bottom: 40px;}
.sp50{ padding-top: 50px; padding-bottom: 50px;}
.sp60{ padding-top: 60px; padding-bottom: 60px;}
.sp70{ padding-top: 70px; padding-bottom: 70px;}
.sp80{ padding-top: 80px; padding-bottom: 80px;}
.sp90{ padding-top: 90px; padding-bottom: 90px;}
.sp100{ padding-top: 100px; padding-bottom: 100px;}
.sp150{ padding-top: 150px; padding-bottom: 100px;}
/*
 * =====================================================
 * padding top
 * =====================================================
 */
.pt10{ padding-top: 10px;}
.pt20{ padding-top: 20px;}
.pt30{ padding-top: 30px;}
.pt40{ padding-top: 40px;}
.pt50{ padding-top: 50px;}
.pt60{ padding-top: 60px;}
.pt70{ padding-top: 70px;}
.pt80{ padding-top: 80px;}
.pt90{ padding-top: 90px;}
.pt100{ padding-top: 100px;}
.pt150{ padding-top: 150px;}
/*
 * =====================================================
 * padding bottom
 * =====================================================
 */
 .pb10{ padding-bottom: 10px;}
 .pb20{ padding-bottom: 20px;}
 .pb30{ padding-bottom: 30px;}
 .pb40{ padding-bottom: 40px;}
 .pb50{ padding-bottom: 50px;}
 .pb60{ padding-bottom: 60px;}
 .pb70{ padding-bottom: 70px;}
 .pb80{ padding-bottom: 80px;}
 .pb90{ padding-bottom: 90px;}
 .pb100{ padding-bottom: 100px;}
 .pb150{ padding-bottom: 150px;}
/*
 * =====================================================
 * list style
 * =====================================================
 */
.listStyle1,
.listStyle2{
	margin-left: 0.5em;
 }
.listStyle1 > li,
.listStyle2 > li{
	position: relative;
	padding-left: 1.2em;
}
.listStyle1 > li::before,
.listStyle2 > li::before{
	display: block;
	content: "・";
	position: absolute;
	top: 0;
	left: 0;
}


.listStyle1 > li{
	font-size: 1.6rem;
}
.listStyle2 > li{
	font-size: 1.4rem;
}
.listStyle1.orderList,
.listStyle2.orderList{
	list-style-type: decimal;
}
.listStyle1.orderList > li,
.listStyle2.orderList > li{
	padding-left: 0.2em;
	margin-left: 1em;
}
.listStyle1.orderList > li::before,
.listStyle2.orderList > li::before{display: none;}

/*
 * =====================================================
 * link syle
 * =====================================================
 */
.linkStyle1{
	cursor: pointer;
	color: #000;
	text-decoration: underline;
}
.linkStyle1:hover{
	color: #E70008;
}
/*
 * =====================================================
 * flex box
 * =====================================================
 */	
.flexBox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.flexBox.spaceBetween{
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
}
.flexBox.spaceAround{
	-ms-flex-pack: distribute;
	justify-content: space-around;
}
.flexBox.flexStart{
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
}
.flexBox.flexEnd{
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}

.flex-container {
  -webkit-box-pack: end;
     -ms-flex-pack: end;
   justify-content: flex-end;
}

.flexBox.wrap {
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.flexNoItem{
	visibility: hidden;
	height: 0 !important;
	border: 0 !important;
	margin: 0 !important;
}

/*
 * =====================================================
 * toggle button
 * =====================================================
 */
.toggleButton,
.toggleOpen{
	cursor: pointer;
}
.toggleButton > .off,
.toggleOpen > .off,
.toggleButton > .on,
.toggleOpen > .on{
	font-weight: inherit;
}
.toggleButton > .off,
.toggleOpen > .off{
	display: inline;
}
.toggleButton.active > .off,
.toggleOpen.active > .off{
	display: none;
}
.toggleButton > .on,
.toggleOpen > .on{
	display: none;
}
.toggleButton.active > .on,
.toggleOpen.active > .on{
	display: inline;
}
.toggleTarget{
	display: none;
}


 /*
 * =====================================================
 * link Button List
 * =====================================================
 */

/*
 * =====================================================
 * pageTop
 * =====================================================
 */
#top{
	overflow: hidden;
	text-indent: -999px;
	height: 0;
}
#toPageTop{
	width: 100%;
	position: fixed;
	background-color: #E70008;
	width: 38px;
	height: 38px;
	bottom: 30px;
	right: 10px;
	z-index: 999;
}
#toPageTop a{
	display: block;
	text-decoration: none;
	width: 100%;
	height: 100%;
	overflow: hidden;
	text-indent: -9999px;
	position: relative;
}
#toPageTop a::before{
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin-left: auto;
	margin-right: auto;
}
/*
 * =====================================================
 * link list
 * =====================================================
 */
.linkListStyle1 li a{
	display: block;
	text-decoration: underline;
	position: relative;
	padding-left: 1.5em;
	transition: all 0.3s;
	line-height: 1.2;
}
.linkListStyle1 li a::before{
	content: "";
	display: block;
	border-right: 0.3em solid transparent;
	border-bottom: 0.6em solid #ccc;
	border-left: 0.3em solid transparent; 
	transform: rotate(90deg) translateY(-50%);
	position: absolute;
	top: 40%;
	left: 0;
}
.linkListStyle1 li a:hover{
	color: #E70008;
}
.linkListStyle1 li.mail a{padding-left: 30px;}
.linkListStyle1 li.mail a::before{
	border: none;
	transform: none;
	width: 24px;
	height: 14px;
	background-image: url("../img/common/ico_mail_link.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	left: 0;
	top:50%;
	transform: translateY(-40%);
}

.linkListStyle1 li.pdf a{padding-left: 40px;}
.linkListStyle1 li.pdf a::before{
	border: none;
	transform: none;
	width: 30px;
	height: 30px;
	background-image: url("../img/common/ico_pdf.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	left: 0;
	top:50%;
	transform: translateY(-50%);
}

.linkListStyle1 li.web a{padding-left: 40px;}
.linkListStyle1 li.web a::before{
	border: none;
	transform: none;
	width: 30px;
	height: 30px;
	background-image: url("../img/common/ico_official_link.png");
	background-repeat: no-repeat;
	background-size: 100% 100%;
	left: 0;
	top:50%;
	transform: translateY(-50%);
}

.linkListStyle1.linear{
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.linkListStyle1.linear > li{
	/* padding-left: 1em; */
	padding-right: 1.5em;
}
/*
 * =====================================================
 * contents shared
 * =====================================================
 */


/*
 * =====================================================
 * header
 * =====================================================
 */
header{
	position: relative;
	min-height: 104px;
}
header .headerTitle{
	line-height: 0.1;
	background-color: #E70008;
	width: 205px;
	text-align: center;
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	min-height: 104px;
}
header .headerTitle > span,
header .headerTitle > a{
	display: block;
	width: 100%;
	position: relative;
	height: 100%;
}
header .headerTitle > span img,
header .headerTitle > a img{
	display: block;
	position: absolute;
	margin-left: auto;
	margin-right: auto;
	left: 0;
	right: 0;
	top:50%;
	transform: translateY(-50%);
}
header .headerTitle > a{
	transition: all 0.3s;
}
header .headerTitle > a:hover{
	text-decoration: none;
	background-color: #DD6C75;
}
/*
 * =====================================================
 * header gnav
 * =====================================================
 */
header #gnav{
	background-color: #F2F2F2;
	font-weight: 500;
}
header #gnav .spMode{
	display: none;
}
header #gnav .pcMode{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
}
header #gnav .pcMode .gnavLink{
	position: relative;
	padding-left: 0.3em;
	padding-right: 0.3em;
}
header #gnav .pcMode .gnavLink::before{
	content: "";
	display: block;
	background-color: #CBCBCB;
	width: 1px;
	height: 1em;
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
}
header #gnav .pcMode .gnavLink a{
	font-size: 13px;
	list-style: 1.2;
	padding-left: 0.5em;
	padding-right: 0.5em;
	display: block;
}

header #gnav .pcMode .gnavSocial{
	padding-top: 10px;
	padding-bottom: 10px;
	padding-right: 0.5em;
}
header #gnav .pcMode .gnavLink{
	padding-top: 10px;
	padding-bottom: 10px;
}
header #gnav .pcMode .gnavLocale{
	padding-top: 10px;
	padding-bottom: 10px;
	background-color: #E5E5E5;
	padding-left: 0.5em;
	padding-right: 0.5em;
}
header #gnav .pcMode .gnavSocial > ul,
header #gnav .pcMode .gnavLink > ul,
header #gnav .pcMode .gnavLocale > ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
}
header #gnav .pcMode .gnavSocial > ul li{
	padding-left: 5px;
	padding-right: 5px;
}
header #gnav .pcMode .gnavLocale > ul li{
	position: relative;
	padding-left: 4px;
	padding-right: 4px;
}
/* header #gnav .pcMode .gnavLocale > ul li:first-child::after{
	content: "/";
	display: inline-block;
	position:absolute;
	right: 0;
	top:50%;
	transform: translateX(0.2em) translateY(-55%);
	font-size: 13px;
} */
header #gnav .pcMode .gnavLocale > ul li a{
	display: block;
	padding-left: 0.3em;
	padding-right: 0.3em;
	font-size: 15px;
}
header #gnav .pcMode .gnavLocale > ul li a,
header #gnav .pcMode .gnavLink > ul li a{
	position: relative;
	transition: 2s;
	padding-bottom: 2px;
}
header #gnav .pcMode .gnavLink > ul li a{
	padding-bottom: 5px;
}
header #gnav .pcMode .gnavLocale > ul li a:hover,
header #gnav .pcMode .gnavLink > ul li a:hover{text-decoration: none;color: #000;}
header #gnav .pcMode .gnavLocale > ul li a::before,
header #gnav .pcMode .gnavLink > ul li a::before{
	content: "";
	display: block;
	background-color: #E60008;
	width: 100%;
	height: 2px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s
}
header #gnav .pcMode .gnavLocale > ul li a:hover::before,
header #gnav .pcMode .gnavLink > ul li a:hover::before{
	transform: scale(1, 1);
}
header #gnav .pcMode .gnavLocale > ul > li.current > a::before{
	transform: scale(1, 1);
}


header #gnav .pcMode .gnavMain{
	width: 100%;
	background-color: #fff;
	padding-right: 10px;
}
header #gnav .pcMode .gnavMain > ul{
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding-left: 210px;
}
header #gnav .pcMode .gnavMain > ul > li{
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 0.1em;
	padding-right: 0.1em;
}
header #gnav .pcMode .gnavMain > ul > li > a{
	display: block;
	line-height: 1.2;
	padding-left: 0.8em;
	padding-right: 0.8em;
	padding-top: 0.8em;
	padding-bottom: 0.8em;
	font-size: 16px;
	position: relative;
	transition: 2s;
}
header #gnav .pcMode .gnavMain > ul > li > a:hover{text-decoration: none;}

header #gnav .pcMode .gnavMain > ul > li > a::before{
	content: "";
	display: block;
	background-color: #E60008;
	width: 100%;
	height: 5px;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: transform .3s
}
header #gnav .pcMode .gnavMain > ul > li > a:hover::before{
	transform: scale(1, 1);
}
header #gnav .pcMode .gnavMain > ul > li.current > a::before{
	transform: scale(1, 1);
}

 /*
 * =====================================================
 * footer
 * =====================================================
 */
footer{
	background-color: #000;
	color: #fff;
	padding-top: 30px;
	padding-bottom: 30px;
}
footer a{
	color: #fff;
}
footer .footerContainer{
	display: flex;
	justify-content: space-between;
}
footer #footerNav ul{
	margin-bottom: 1em;
	display: flex;
	justify-content: flex-end;
	flex-wrap: wrap;
}
footer #footerNav ul li{
	/* text-align: right; */
	padding-left: 1em;
}
footer #footerNav ul li a{
	display: block;
	position: relative;
	padding-left: 1.3em;
}
footer #footerNav ul li a:hover{
	color: #ddd;
	text-decoration: underline;
}
footer #footerNav ul li a::before{
	content: "";
	display: block;
	border-right: 0.3em solid transparent;
	border-bottom: 0.6em solid #fff;
	border-left: 0.3em solid transparent; 
	transform: rotate(90deg) translateY(-50%);
	position: absolute;
	top: 40%;
	left: 0;
}


footer #footerNav address{
	font-size: 14px;
}
 /*
 * =====================================================
 * breadcrumb
 * =====================================================
 */
 #breadcrumb{
	 padding-top: 1em;
	 padding-bottom: 1em;
 }
#breadcrumb ul li{
	font-size: 1.4rem;
	display: inline-block;
	padding-right: 0.5em;
	position: relative;
	padding-left: 1.5em;
}
#breadcrumb ul li::before{
	content: "";
	display: block;
	border-right: 0.3em solid transparent;
	border-bottom: 0.6em solid #ccc;
	border-left: 0.3em solid transparent; 
	transform: rotate(90deg) translateY(-50%);
	position: absolute;
	top: 40%;
	left: 0;
}
#breadcrumb ul li:first-child{
	padding-left: 0;
}
#breadcrumb ul li:first-child::before{
	display: none;
}
 /*
 * =====================================================
 * case over width 
 * =====================================================
 */

@media screen and (min-width: 1601px){

	/* .bgImgStyle1{
		background-size: cover;
	}
	.bgImgStyle2{
		background-size: 100% auto;
	}
	.bgImgStyle3{
		background-size: cover;
	} */
	/* #mainVisual{
		width: 100%;
		height: auto;
		text-align: center;
	}
	#mainVisual p{
		width: 100%;
		position: static;
		margin-left: 0;
	}
	#mainVisual p img{
		width: 100%;
		height: auto;
	} */
}
/* .weight100   {
    font-weight:100
    }
 
.weight300   {
    font-weight:300
    }
 
.weight400   {
    font-weight:400
    }
 
.weight500   {
    font-weight:500
    }
 
.weight600   {
    font-weight:600
    }
 
.weight700   {
    font-weight:700
    }
 
.weight900   {
    font-weight:900
    } */
