@charset "utf-8";

/*=====================================

en_parts.css

=====================================*/

/*-------------------------------------
 snsLink
-------------------------------------*/
.snsLink {
	min-height: 30px;
	margin: 0 -15px;
	overflow: hidden;
}
.snsLink ul {
	float: right;
}
.snsLink ul li {
	float: left;
	padding: 0 0 0 22px;
	line-height: 1;
}
/*.snsLink .tweetBtn {
	padding-top: 2px;
}*/


/*-------------------------------------
 category
-------------------------------------*/
.categoryLead {
	margin: 0 -10px;
	padding: 0 0 15px 0;
	font-size: 1.12rem;
}
.categoryNav {
	margin: 0 -20px 20px -10px;
	letter-spacing: -0.4em;
}
.categoryNav ul li {
	display: inline-block;
	padding: 0 10px 10px 0;
	box-sizing: border-box;
	letter-spacing: normal;
	text-align: left;
	vertical-align: top;
}
.categoryNav ul li a {
	display: block;
	color: #000;
	text-decoration: none;
	transition: opacity 0.2s ease 0s;
}
.categoryNav ul li a:hover {
	opacity: 0.7;
	filter: alpha(opacity=70);
}
.categoryNav ul li p {
	margin: 0 !important;
	text-align: center;
}
.categoryNav ul li dl {
	padding: 10px 15px 15px 19px;
	border-left: 1px solid #d7d7d7;
	border-right: 1px solid #d7d7d7;
	border-bottom: 1px solid #d7d7d7;
	background: #f9f9f9;
}
.categoryNav ul li dl dt {
	padding: 0 0 0 12px;
	font-size: 1.12rem;
	font-weight: bold;
	/*word-break: break-all;*/
	background: url(/content/400002143.png) no-repeat 0 11px;
}
.categoryNav ul li dl dd {
	padding-top: 8px;
}
.categoryNav01,
.categoryNav04 {
	text-align: center;
}
.categoryNav02 {
	text-align: left;
}
.categoryNav01 ul li,
.categoryNav04 ul li {
	width: 290px;
}
.categoryNav01 ul li img,
.categoryNav04 ul li img {
	max-width: 280px;
}
.categoryNav01 ul li a {
	border: 1px solid #d7d7d7;
	background: #fff;
}
.categoryNav01 ul li p {
	height: 186px;
	overflow: hidden;
}
.categoryNav01 ul li dl {
	padding: 10px 15px 25px 19px;
	border: none;
}
.categoryNav01 ul li dl dt {
	display: table-cell;
}
.categoryNav02 ul li {
	width: 240px;
}
.categoryNav02 ul li a {
	border: 1px solid #d7d7d7;
	background: #fff;
}
.categoryNav02 ul li p {
	height: 152px;
	overflow: hidden;
	/*border-left: 1px solid #d7d7d7;
	border-right: 1px solid #d7d7d7;
	border-top: 1px solid #d7d7d7;*/
}
.categoryNav02 ul li dl {
	padding: 10px 15px 25px 19px;
	border: none;
}
.categoryNav02 ul li dl dt {
	display: table-cell;
}
.categoryNav04 ul li p {
	height: 186px;
	overflow: hidden;
	border-left: 1px solid #d7d7d7;
	border-right: 1px solid #d7d7d7;
	border-top: 1px solid #d7d7d7;
}
.categoryNav03 {
	margin: 0 -20px 30px -10px;
}
.categoryNav03 ul li {
	clear: both;
	display: block;
	margin: 0 0 10px 0;
	padding: 0;
	border: 1px solid #d7d7d7;
	background: #f9f9f9;
	overflow: hidden;
}
.categoryNav03 ul li p {
	float: left;
	margin: 0 20px 0 0;
}
.categoryNav03 ul li dl {
	padding: 15px 20px;
	border: none;
	background: none;
	overflow: hidden;
}

.categoryNav05 {
	overflow: hidden;
}
.categoryNav05 ul li {
	width: 595px;
	margin: 0 10px 10px 0;
	padding: 10px;
	border: 1px solid #d7d7d7;
	background: #f9f9f9;
}
.categoryNav05 ul li p {
	float: left;
	width: 232px;
	text-align: center;
}
.categoryNav05 ul li dl {
	float: left;
	width: 301px;
	padding: 15px 0 0 25px;
	border: none;
	background: none;
}
.categoryNav05 dl a {
	display: inline;
}
.categoryNav05 ul li dl dt {
	padding: 0 0 15px 12px;
	border-bottom: 1px solid #d7d7d7;
}
.categoryNav05 ul li dl dd {
	padding: 10px 0 0 0;
}
.categoryNav05 ul li dl dd ul li {
	display: block;
	width: auto;
	margin: 0 0 8px 0;
	padding: 0 0 0 12px;
	border: none;
	background: url(/content/400002143.png) no-repeat 0 8px;
}
.categoryNav05 ul li dl dd ul li a {
	color: #14388d;
}


/*-------------------------------------
 header search
-------------------------------------*/
.headerSearchText input {
	color: #fff;
}


/*-------------------------------------
 search
-------------------------------------*/
/* searchBlock */
.searchBlock {
	clear: both;
	padding: 5px 0 30px 0;
}
.searchTbl {
	width: 100%;
	margin: 0 0 30px 0;
	border: none;
}
.searchTbl th {
	width: 160px;
	padding: 5px 15px;
	color: #fff;
	font-weight:bold;
	text-align: left;
	vertical-align: middle;
	border: none;
	border-top: 1px solid #d0d0d0;
	background: #4593d1;
}
.searchTbl td {
	padding: 19px 18px;
	border: none;
	border-top: 1px solid #d0d0d0;
	background: #fff;
}
.searchTbl tr:first-of-type th,
.searchTbl tr:first-of-type td {
	border-top: none;
}
.searchTbl td input {
	width: 220px;
}
.searchTbl td select {
	width: 425px;
}
.searchSubmit {
	text-align: center;
}
.searchSubmit input {
	padding: 15px 50px;
	color: #fff;
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-weight: bold;
	border-radius: 7px;
	border: none;
	background: url(/content/400019309.png) repeat-x 0 bottom #66b4f2;
}
/* searchResults */
.searchResultsTitle {
	margin: 0 0 20px 0;
	padding: 0 0 15px 0;
	border-bottom: 1px solid #d0d0d0;
	overflow: hidden;
}
#contents .searchResultsTitle h2 {
	float: left;
	margin: 0;
	padding: 0;
	color: #000;
	font-weight: normal;
	background: none;
}
#contents .searchResultsTitle h2 em {
	padding: 0 0 0 25px;
	background: url(/content/400019324.png) no-repeat 0 7px;
}
.searchResultsTitle ul {
	float: right;
	padding: 5px 0 0 0;
}
.searchResultsTitle ul li {
	float: left;
	padding: 0 0 0 20px;
}
.searchResultsTitle ul li select {
	margin: 0 0 0 7px;
}
.searchResultsPaginate {
	padding: 0 0 20px 0;
	text-align: center;
}
.searchResultsPaginate em,
.searchResultsPaginate a {
	padding: 0 5px;
}
.searchResultsBlock {
	clear: both;
}
.searchResultsBlock table {
	width: 100%;
	margin: 0 0 30px 0;
	/*word-break: break-all;*/
	border: none;
	background: #fff;
}
.searchResultsBlock table .head {
	padding: 8px 17px;
	border: none;
	background: #dedede;
}
.searchResultsBlock table th {
	width: 150px;
	padding: 5px 0 5px 17px;
	color: #000;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
	border: none;
	border-top: 1px solid #d0d0d0;
	background: none;
}
.searchResultsBlock table td {
	padding: 8px 0 8px 17px;
	border: none;
	border-top: 1px solid #d0d0d0;
}


/*-------------------------------------
 form
-------------------------------------*/
#form header {
	height: 128px;
}
#form #headerLogo {
	max-width: 980px;
}
#form .headerLanguage {
	max-width: 980px;
	top: 56px;
}
#form #container {
	max-width: 980px;
}
#form footer {
	height: 100px;
	background: none;
	background: #000;
}
#form .footerInner {
	max-width: 980px;
}
#form .footerCopy {
	padding: 35px 0 0 0;
	text-align: center;
}
/* formStep */
#formStep {
	height: 60px;
	background: #424242;
}
#formStep ol {
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}
#formStep ol li {
	float: left;
	width: 114px;
	height: 45px;
	margin: 0 0 0 -23px;
	padding: 15px 23px 0 23px;
	color: #fff;
	font-size: 1rem;
	text-align: center;
	background: url(/content/400019312.png) no-repeat right top;
}
#formStep ol li.current {
	color: #000;
}
#formStep ol li.formStep01 {
	margin: 0;
	border-left: 1px solid #686868;
}
#formStep ol li.formStep01.current {
	background: url(/content/400019314.png) no-repeat right top;
}
#formStep ol li.formStep01.error {
	background: url(/content/400019323.png) no-repeat right top;
}
#formStep ol li.formStep02.current,
#formStep ol li.formStep03.current {
	background: url(/content/400019314.png) no-repeat right top;
}
#formStep ol li.formStep03.error {
	background: url(/content/400031771.png) no-repeat right top;
}
/* formBlock */
.formBlock {
	clear: both;
	padding: 5px 0 30px 0;
}
.formTbl {
	width: 100%;
	margin: 0;
	border: none;
}
.formTbl th {
	width: 160px;
	padding: 5px 15px;
	color: #fff;
	font-weight:bold;
	text-align: left;
	vertical-align: middle;
	border: none;
	border-top: 1px solid #d0d0d0;
	background: #2b76bc;
}
.formTbl td {
	padding: 19px 18px;
	border: none;
	border-top: 1px solid #d0d0d0;
	background: #fff;
}
.formTbl tr:first-of-type th,
.formTbl tr:first-of-type td {
	border-top: none;
}
.formTbl td p {
	margin: 0 !important;
	padding: 0 0 5px 0;
}
.formBtn {
	text-align: center;
}
.formBtn li {
	display: inline;
	padding: 0 12px;
}
.formBtn li:hover {
	opacity: 0.8;
	filter: alpha(opacity=80);
}
.formBtn01,
.formBtn02,
.formBtn03,
.formBtn04 {
	padding: 15px 50px;
	color: #fff;
	font-family: Verdana, Helvetica, Arial, sans-serif;
	font-weight: bold;
	border-radius: 7px;
	border: none;
	/*background: url(/content/400019309.png) repeat-x 0 bottom #66b4f2;*/
	background-color: #2b76bc;
	font-size: .9rem;
}
.formBtn02 {
	padding: 15px 70px;
}
.formBtn03 {
	background: url(/content/400019310.png) repeat-x 0 bottom #656565;
}
.formBtn04 em {
	display: inline-block;
	padding: 0 0 0 16px;
	background: url(/content/400019311.png) no-repeat 0 center;
}
.form01 {
	width: 145px;
}
.formTbl .form01 {
	width: 98%;
}
.formTbl tr:first-child .form01 {
	width: 70%;
}
.form02 {
	width: 220px;
}
.form03 {
	width: 98%;
	height: 180px;
}
.form04 {
	width: 70px;
}
select.form04 {
	width: 110px;
}

.form01,
.form02,
.form03,
.form04 {
	font-size: .9rem;
}
.form03 {
	font-size: 1.2rem;
}
.formThanks {
	margin: 0 0 30px 0;
	padding: 80px;
	font-weight: bold;
	text-align: center;
	background: #fff;
}
.formErrorBox {
	margin: 0 0 30px;
	padding: 30px;
	color: #972626;
	font-weight: bold;
	text-align: center;
	border: 2px solid #972626;
	background: #f3e2e2;
}
.formErrorTxt01,
.formErrorTxt02 {
	display: block;
	color: #972626;
	font-weight: bold;
}
.formErrorTxt01 {
	padding: 0 0 0 20px;
}
.formErrorTxt02 {
	padding: 0 0 10px 0;
}



/* 
==========================================================================*/
@media screen and (min-width: 1381px) {
.categoryNav ul li p img {
	max-width: 100%;
	max-height: 100%;
}
.categoryNav05 ul li p img { /* 表示画像が大きいため高さのサイズ調整 20150421 */
	max-height: 150px !important;
}
}


/* 
==========================================================================*/
@media screen and (max-width: 1380px) {

/*-------------------------------------
 category
-------------------------------------*/
.categoryNav02 ul li {
	width: 20%;
}
.categoryNav01 ul li,
.categoryNav04 ul li {
	width: 25%;
}
.categoryNav ul li p img {
	max-width: 100%;
	max-height: 100%;
}
.categoryNav05 ul li p img { /* 表示画像が大きいため高さのサイズ調整 20150421 */
	max-height: 150px !important;
}
.categoryNav05 ul li {
	width: 49%;
	margin: 0 1% 1% 0;
}
.categoryNav05 ul li p {
	width: 40%;
	height: auto;
}
.categoryNav05 ul li dl {
	width: 50%;
}


}
@media print and (max-width: 1250px) {

/*-------------------------------------
 category
-------------------------------------*/
.categoryNav02 ul li {
	width: 20%;
}
.categoryNav01 ul li,
.categoryNav04 ul li {
	width: 25%;
}
.categoryNav ul li p img {
	max-width: 100%;
	max-height: 100%;
}
.categoryNav05 ul li p img { /* 表示画像が大きいため高さのサイズ調整 20150421 */
	max-height: 150px !important;
}
.categoryNav05 ul li {
	width: 49%;
	margin: 0 1% 1% 0;
}
.categoryNav05 ul li p {
	width: 40%;
	height: auto;
}
.categoryNav05 ul li dl {
	width: 50%;
}


}



/* 
==========================================================================*/
@media screen and (max-width: 1024px) {
.categoryNav ul li dl dt {
	font-size: .87rem;
	background: url(/content/400002143.png) no-repeat 0 8px;
}
.categoryNav ul li dl {
	padding: 10px 12px 15px 12px;
}
.categoryNav01 ul li dl,
.categoryNav02 ul li dl {
	padding: 10px 12px 45px 12px;
}

}




/* 
==========================================================================*/
@media screen and (max-width: 680px) {

/*-------------------------------------
 snsLink
-------------------------------------*/
.snsLink {
	margin: 0;
}
.snsLink ul {
	float: none;
	letter-spacing: -0.4em;
	text-align: center;
}
.snsLink ul li {
	float: none;
	display: inline-block;
	padding: 0 3px;
	letter-spacing: normal;
	vertical-align: top;
}


/*-------------------------------------
 category
-------------------------------------*/
.categoryLead {
	margin: 0;
	padding: 0 0 15px 0;
	font-size: 1rem;
}
.categoryNav {
	margin: 0 0 10px 0;
	text-align: left;
}
.categoryNav ul li dl dd {
	display: none;
}

.categoryNav01 ul,
.categoryNav02 ul,
.categoryNav04 ul {
	margin: 0;
}
.categoryNav01 ul li,
.categoryNav02 ul li,
.categoryNav04 ul li {
	display: block;
	width: 300px;
	margin: 0 auto;
	padding: 0 0 15px 0;
	text-align: center;
}
.categoryNav ul li p img {
	max-width: 100%;
}
.categoryNav01 ul li a,
.categoryNav02 ul li a,
.categoryNav04 ul li a {
	display: block;
}
.categoryNav01 ul li dl,
.categoryNav02 ul li dl,
.categoryNav04 ul li dl {
	display: block;
	padding: 5px 9px;
	text-align: left;
}
.categoryNav01 ul li dl dt,
.categoryNav02 ul li dl dt,
.categoryNav04 ul li dl dt {
	padding: 0 0 0 12px;
	font-size: .87rem;
	line-height: 1.2;
	background: url(/content/400002144.png) no-repeat 0 5px;
	background-size: 4px 7px;
}

.categoryNav03 {
	margin: 0 0 25px 0;
}
.categoryNav03 ul {
}
.categoryNav03 ul li {
	display: block;
	clear: both;
	width: auto;
	margin: 0 0 20px 0;
	box-sizing: content-box;
	letter-spacing: normal;
	vertical-align: top;
	border: none;
	border-top: 1px solid #d7d7d7;
	border-left: 1px solid #d7d7d7;
	border-right: 1px solid #d7d7d7;
	border-bottom: 1px solid #d7d7d7;
	background: #f9f9f9;
}
.categoryNav03 ul li a {
	display: table;
	width: 100%;
}
.categoryNav03 ul li p {
	float: none;
	display: table-cell;
	width: 30%;
	vertical-align: middle;
}
.categoryNav03 ul li p img {
	width: 100%;
}
.categoryNav03 ul li dl {
	display: table-cell;
	width: 70%;
	padding: 0;
	vertical-align: middle;
	border: none;
	overflow: hidden;
}
.categoryNav03 ul li dl dt {
	padding: 0 10px 0 22px;
	font-size: .87rem;
	line-height: 1.2;
	background: url(/content/400002144.png) no-repeat 10px 5px;
	background-size: 4px 7px;
}
.categoryNav05 ul li {
	width: 100%;
	margin: 0 0 10px 0;
}
.categoryNav05 ul li p {
	/*position: absolute;
	width: 65px;
	height: 43px !important;
	overflow: hidden;
	background-color: transparent !important;*/
	float: none;
	width: auto;
}
.categoryNav05 ul li p img { /* 表示画像が大きいため高さのサイズ調整 20150427 */
	max-height: 100% !important;
}
.categoryNav05 ul li dl {
	float: none;
	width: auto;
	padding: 0;
}
.categoryNav05 ul li dl dt {
	padding: 10px 0 25px 11px;
	font-size: .87rem;
	background: url(/content/400002144.png) no-repeat left 1.3em;
	background-size: 4px 7px;
}
.categoryNav05 ul li dl dd {
	display: block;
	height: auto !important;
}
.categoryNav05 ul li dl dd ul {
	margin: 0 0 -8px 0;
}
.categoryNav05 ul li dl dd ul li {
	background: url(/content/400002144.png) no-repeat 0 8px;
	background-size: 4px 7px;
}


/*-------------------------------------
 search
-------------------------------------*/
/* searchBlock */
.searchBlock {
}
.searchTbl {
	margin: 0 auto 30px auto;
}
.searchTbl th {
	display: block;
	width: 100%;
	padding: 5px 0;
	text-indent: 10px;
	border: none;
}
.searchTbl td {
	display: block;
	width: auto;
	padding: 15px;
	border: none;
}
.searchTbl td input,
.searchTbl td select {
	width: 95%;
}
.searchResultsTitle ul {
	clear: both;
}
.searchResultsBlock table {
	width: 100%;
	margin: 0 0 30px 0;
	/*word-break: break-all;*/
	background: #fff;
}
.searchResultsBlock table .head {
	display: block;
	width: auto;
	padding: 8px 10px;
	text-indent: 0;
	border: none;
	background: #dedede;
}
.searchResultsBlock table th {
	display: block;
	width: 100%;
	padding: 5px 0;
	text-indent: 10px;
	border-top: 1px solid #d0d0d0;
}
.searchResultsBlock table td {
	display: block;
	width: auto;
	padding: 8px 15px;
	border-top: none;
}


/*-------------------------------------
 form
-------------------------------------*/
#form header {
	height: auto;
}
#form #headerLogo {
	max-width: inherit;
}
#form .headerLanguage {
	max-width: inherit;
	top: 20px;
}
#form #container {
	max-width: inherit;
}
#form footer {
	height: auto;
}
#form .footerInner {
	max-width: inherit;
}
#form .footerCopy {
	padding: 20px 0 0 0;
	text-align: center;
}
/* formStep */
#formStep {
	height: auto;
}
#formStep ol {
	display: table;
	width: 100%;
}
#formStep ol li {
	float: none;
	width: auto;
	height: auto;
	min-height: 35px;
	padding: 10px 23px 12px 15px;
	font-size: .8rem;
	background: url(/content/400019312.png) no-repeat right 50%;
	display: table-cell;
}
#formStep ol li.current {
	color: #000;
}
#formStep ol li.formStep01 {
	margin: 0;
	border-left: 1px solid #686868;
}
#formStep ol li.formStep01.current {
	background: url(/content/400019313.png) no-repeat right 50%;
}
#formStep ol li.formStep01.error {
	background: url(/content/400019323.png) no-repeat right 50%;
}
#formStep ol li.formStep02.current,
#formStep ol li.formStep03.current {
	background: url(/content/400033942.png) no-repeat right 50%;
}
/* formBlock */
.formBlock p {
	padding: 2px 5px;
}
.formTbl th {
	display: block;
	width: 100%;
	padding: 5px 0;
	text-indent: 10px;
	border: none;
}
.formTbl td {
	display: block;
	width: auto;
	padding: 15px;
	border: none;
}
.formBtn li {
	display: inline-block;
	padding: 0 12px 12px 12px;
}
.formBtn01,
.formBtn02,
.formBtn03,
.formBtn04 {
	box-shadow: inset -1px -1px 0 rgba(0,0,0,0.1);
	background: linear-gradient(to bottom, #66b4f2 0%, #4695d2 100%);
}
.formBtn02 {
	padding: 15px 35px;
}
.formBtn03 {
	padding: 15px 35px;
	box-shadow: inset -1px -1px 0 rgba(0,0,0,0.1);
	background: linear-gradient(to bottom, #656565 0%, #010101 100%);
}
.formBtn04 em {
	display: inline-block;
	padding: 0 0 0 16px;
	background: url(/content/400019311.png) no-repeat 0 center;
}
.formTbl tr:first-child .form01 {
	width: 55%;
}
.form01 {
	width: 95%;
}
.form02 {
	width: 95%;
}
.form03 {
	width: 95%;
	height: 100px;
}
.form04 {
	width: 70px;
}
select.form04 {
	width: 110px;
}

.formErrorTxt01,
.formErrorTxt02 {
	display: block;
	color: #972626;
	font-weight: bold;
}
.formErrorTxt01 {
	padding: 5px 0 0 0;
}
.formErrorTxt02 {
	padding: 0 0 5px 0;
}

/* 20150228 */
td img {
	max-width: 100%;
}

/* 20160613 */
table.scrollTable {
	display: block;
	border: none;
	overflow-x: auto;
}

}



/* 
==========================================================================*/
@media screen and (max-width: 350px) {
.categoryNav01 ul li,
.categoryNav02 ul li,
.categoryNav04 ul li {
	width: auto;
}

}



/* フォームスキップナビ */
#form #content {
  padding-top: 20px; }

#form .l-header__link {
  position: absolute;
  left: 0;
  right: 0;
  top: 15px;
  width: 980px;
  margin: 0 auto; }
  @media only screen and (max-width: 680px) {
    #form .l-header__link {
      display: none; } }

#form .l-header__link-item {
  margin-left: 25px; }

#form .l-header__link-item a::before {
  width: 4px;
  height: 11px;
  background: url(/content/100074621.svg) 50% no-repeat;
  background-size: 100%;
  left: 10px;
  top: 4px;
  content: "";
  position: absolute;
  vertical-align: middle; }



/* GDPR対応 2020 */
.gdpr {
    border: 2px solid #4593d1;
    padding: 15px;
    margin: 0 auto;
    font-size: .9rem;
    box-sizing: border-box;
    width: 100%;
    text-align: center;
}
.gdpr .gdpr-msg {
    display: block;
    margin-bottom: 3px;
}
.gdpr .gdpr-msg img {
    vertical-align: text-top;
    margin: 0 2px 0 5px;
}
.gdpr .gdpr-check input {
    vertical-align: middle;
    margin: 0 10px 0 5px;
    transform: scale(1.4);
}
.formBtn {
    margin-top: 30px; }
.formBtn li.no-check .formBtn01 {
    cursor: default;
    background-color:#ccc;
}
.formBtn li.no-check:hover {
    opacity: 1;
}
.form-msg h2 {
    margin: 0 0 15px 0;
    padding: 0 0 5px 0;
    font-size: 1.2rem;
    border-bottom: 1px solid #999;
}
.form-msg ul {
    padding-left: 25px;
    margin-bottom: 15px;
}
.form-msg li {
    list-style: disc;
}
.form-msg p {
    text-align: right;
    margin-bottom: 30px;
}
@media screen and (max-width: 680px) {
    .gdpr {
        padding: 12px;
        margin: 0!important;
        font-size: .87rem;
        width: 100%;
    }
    .gdpr .gdpr-msg img {
        width: 13px;
    }
    .gdpr .gdpr-check input {
        transform: scale(1.25);
    }
    .gdpr,
    .form-msg h2,
    .form-msg ul {
        margin-left: 10px;
        margin-right: 10px;
    }
}