@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Montserrat:500,600");
* {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
	box-sizing: border-box;
}

*:focus {
	outline: none;
}

html {
	font-size: 16px;
	overflow-y: scroll;
}
html.sp {
	font-size: 16px !important;
}

.accordion {
	position: relative;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.accordion:hover {
	opacity: 0.7;
}
.accordion:before {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	width: 1.2rem;
	height: 2px;
	background-color: #e30000;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-ms-border-radius: 4px;
	-moz-border-radius: 4px;
	-o-border-radius: 4px;
	top: 50%;
	transform: rotate(0deg);
	-webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
	-o-transform: rotate(0deg);
	transition: all .4s;
}
.accordion:after {
	content: "";
	display: block;
	position: absolute;
	right: 10px;
	width: 1.2rem;
	height: 2px;
	background-color: #e30000;
	border-radius: 4px;
	top: 50%;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	transition: all .4s;
}
.accordion.open:before {
	display: none;
}
.accordion.open:after {
	transform: rotate(180deg);
	-webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	-o-transform: rotate(180deg);
}
.accordion + div {
	display: none;
}

body, th, main .contents .format > table td, td, input, select, textarea {
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	font-family: "Montserrat", sans-serif;
}

body {
	margin: 0px auto;
	color: #000000;
	background: #ffffff;
	overflow: hidden;
}

img {
	border: 0px;
}

a {
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
}

dl, ul, ol {
	margin: 0px;
	padding: 0px;
	list-style: none;
}

p {
	margin: 0px;
}

.clear {
	clear: both;
}

.sp .view_pc {
	display: none !important;
}

.tablet .view_pc_only {
	display: none !important;
}

.view_sp {
	display: none !important;
}
.sp .view_sp {
	display: block !important;
}

.view_tablet {
	display: none !important;
}
.tablet .view_tablet {
	display: block !important;
}

.blank:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	top: -3px;
	margin: 0px 8px;
	padding: 0px !important;
	background: url(../images/blank.svg) no-repeat left top;
	background-size: 100%;
	vertical-align: middle;
}

.blank_sp:after {
	display: none;
}
.sp .blank_sp:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	top: -3px;
	margin: 0px 8px;
	padding: 0px !important;
	background: url(../images/blank.svg) no-repeat left top;
	background-size: 100%;
	vertical-align: middle;
}

.blank_w:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 1rem;
	height: 1rem;
	top: -3px;
	margin: 0px 8px;
	padding: 0px !important;
	background: url(../images/blankwhite.svg) no-repeat left top;
	background-size: 100%;
	vertical-align: middle;
}

.loading * {
	-webkit-transition: 0ms !important;
	transition: 0ms !important;
}

.headlock body {
	margin-top: 5px !important;
}

body {
	-webkit-transition: 400ms;
	transition: 400ms;
}

#bodycover {
	position: fixed;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	z-index: 60;
	opacity: 0;
	pointer-events: none;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.searchopen #bodycover, .megamenuopen #bodycover {
	opacity: 1;
	pointer-events: auto;
	-webkit-transition: 200ms;
	transition: 200ms;
}

#headoption {
	position: fixed;
	width: 100%;
	min-height: 200px;
	background: #004295;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	z-index: 1000;
}
#headoption > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 30px 20px;
}
.sp #headoption > div {
	padding: 15px 10px;
}
#headoption > div > div {
	display: table;
	width: 100%;
	margin: auto;
	max-width: 1180px;
}
#headoption > div > div.agree {
	transition: 600ms;
}
#headoption > div > div.agree #usecookie {
	width: 0%;
	padding-right: 0%;
	transition: 600ms;
}
#headoption > div > div.agree #usecookie p, #headoption > div > div.agree #usecookie div, #headoption > div > div.agree #usecookie:before {
	display: none;
}
#headoption > div > div.agree #chooseregion {
	width: 50%;
}
#headoption > div > div.agree #group {
	width: 50%;
	display: table-cell;
}
.sp #headoption > div > div.agree #group {
	display: none;
}
#headoption #usecookie {
	display: table-cell;
	vertical-align: top;
	width: 40.67796610169492%;
	padding-right: 6.77966101694915%;
}
.sp #headoption #usecookie {
	width: 100%;
	padding-right: 0%;
}
#headoption #usecookie:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: calc(100% - 40px);
	top: 20px;
	left: 37.70491803278689%;
	background: #B5B5B5;
}
.sp #headoption #usecookie:before {
	display: none;
}
#headoption #usecookie p {
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	color: #ffffff;
}
.sp #headoption #usecookie p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 18px;
	line-height: 1.125rem;
}
#headoption #usecookie p a {
	color: #ffffff;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	text-decoration: underline;
}
#headoption #usecookie p a:hover {
	opacity: 0.7;
}
#headoption #usecookie .title {
	margin-bottom: 20px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
}
.sp #headoption #usecookie .title {
	margin-bottom: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
#headoption #usecookie .agree {
	margin-top: 40px;
}
.sp #headoption #usecookie .agree {
	margin-top: 20px;
}
#headoption #usecookie .agree a {
	display: inline-block;
	min-width: 200px;
	height: 44px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 44px;
	color: #000000;
	text-align: center;
	background: #ffffff;
	border: 1px solid #DBDBDB;
	border-radius: 5px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#headoption #usecookie .agree a:hover {
	opacity: 0.7;
}
.sp #headoption #usecookie .agree a {
	height: 30px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 30px;
}
#headoption #chooseregion {
	display: table-cell;
	vertical-align: top;
	width: 100%;
}
.sp #headoption #chooseregion {
	display: none;
}
#headoption #chooseregion .title {
	margin-bottom: 12px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
	color: #ffffff;
}
#headoption #chooseregion label {
	position: relative;
	display: inline-block;
	padding: 5px 0px 5px 20px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 12px;
	line-height: 0.75rem;
	color: #ffffff;
	cursor: pointer;
}
#headoption #chooseregion label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
#headoption #chooseregion label input[type="checkbox"]:focus + span:before {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#headoption #chooseregion label input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8.5px;
	background: #ffffff;
	border-radius: 5px;
	-webkit-transition: 200ms;
	transition: 200ms;
}
#headoption #chooseregion label input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 0.9rem;
	left: 0px;
	margin-top: -7.5px;
	background: url(../images/check.svg) no-repeat center center;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
#headoption #chooseregion label input[type="checkbox"]:checked + span:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#headoption #chooseregion .regionmap {
	position: relative;
	max-width: 551px;
	margin: 25px auto 0px;
}
#headoption #chooseregion ul {
	display: block;
	width: 100%;
	padding-top: 46.82395644283122%;
	background: url(../images/chooseregion.png) no-repeat center center;
	background-size: cover;
}
#headoption #chooseregion ul li {
	position: absolute;
	display: block;
	margin: 0px;
	padding: 0px;
	width: 21.05263157894737%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
#headoption #chooseregion ul li a {
	display: block;
	padding: 4px 6px;
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 15px;
	line-height: 0.9375rem;
	color: #000000;
	text-align: center;
	background: #ffffff;
	border: 1px solid #DBDBDB;
	border-radius: 5px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	white-space: nowrap;
}
#headoption #chooseregion ul li a:hover {
	opacity: 0.7;
}
#headoption #chooseregion ul li a.select {
	color: #ffffff;
	background: #004295;
	border: 1px solid #ffffff;
}
#headoption #chooseregion ul li.region1 {
	top: 25.58139534883721%;
	left: 47%;
}
#headoption #chooseregion ul li.region2 {
	top: 25.58139534883721%;
	left: 18.87477313974592%;
}
#headoption #chooseregion ul li.region3 {
	top: 62.7906976744186%;
	left: 18.87477313974592%;
}
#headoption #chooseregion ul li.region4 {
	top: 25.58139534883721%;
	left: 75.31760435571688%;
}
#headoption #chooseregion ul li.region5 {
	top: 43.41085271317829%;
	left: 60.43557168784029%;
}
#headoption #chooseregion ul li.region6 {
	top: 62.7906976744186%;
	left: 45.73502722323049%;
}
#headoption #chooseregion ul li.region7 {
	top: 62.7906976744186%;
	left: 45.73502722323049%;
}
#headoption #chooseregion ul li.region8 {
	top: 7.75193798449612%;
	left: 60.43557168784029%;
}
#headoption #chooseregion ul li.region9 {
	top: 62.7906976744186%;
	left: 75.31760435571688%;
}
#headoption #group {
	display: none;
	width: 0%;
	border-left: 1px solid #fff;
	vertical-align: middle;
}
#headoption #group p {
	color: #fff;
	text-align: center;
	margin-bottom: 20px;
}

header {
	display: block;
	position: fixed;
	width: 100%;
	height: 80px;
	background: #ffffff;
	z-index: 1010;
  /*
  	#logo {
  		position: absolute;
  		top: -5px;
  		left: 20px;
  		width: 210px;
  		height: 130px;
  		background-color: rgba( 255, 255, 255, 1 );
  		box-shadow: 0px 0px 3px 3px rgba(0,0,0,0.2);
  		transition: 0s;
  		z-index: 10;
  		
  		.headermove &{
  			height: 100px;
  			box-shadow: 0px 0px 3px 3px rgba(0,0,0,0);
  			background-color: rgba( 255, 255, 255, 0 );
  		}
  */
}
.sp header {
	height: 60px;
}
header #logo {
	height: 80px;
	display: table;
	box-shadow: 0px 0px 3px 3px transparent;
	background-color: rgba(255, 255, 255, 0);
  /*
  		.pc & {
  			width: 230px;
  		}
  */
}
.sp header #logo {
	left: 10px;
	height: 60px;
}
header #logo a {
	display: table-cell;
	height: 80px;
	padding: 20px 10px 20px 20px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	vertical-align: middle;
	transition: 0s;
}
header #logo a:hover {
	opacity: 0.7;
}
.sp header #logo a {
	height: 60px;
	padding: 10px;
}
header #logo a span {
	margin-left: 11px;
	padding: 0 5px;
	border: 1px solid #000;
	color: #000;
	vertical-align: top;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp header #logo a span {
	font-size: 10px;
}
header #logo a img {
	height: auto;
	width: 17vw;
	max-width: 184px;
	vertical-align: middle;
}
.sp header #logo a img {
	width: 130px;
}
header #logo a.fix {
	opacity: 1;
	padding: 38px 20px 36px 20px;
}
.headermove header #logo a.fix {
	opacity: 0;
	display: none;
}
header #logo a.move {
	opacity: 0;
	top: 10px;
}
.headermove header #logo a.move {
	opacity: 1;
}
header #logo #anniversary {
	display: table-cell;
	vertical-align: middle;
	padding: 0;
	height: 80px;
}
.sp header #logo #anniversary {
	height: 60px;
}
header #logo #anniversary img {
	width: 6vw;
	max-width: 64px;
}
.sp header #logo #anniversary img {
	width: 46px;
}
header #logo2 {
	position: absolute;
	top: 2px;
	left: 372px;
	max-width: calc(100% - 830px - 372px);
	display: table;
	height: 80px;
}
header #logo2 > div {
	display: table-cell;
	vertical-align: middle;
}
header #logo2 > div img {
	width: 100%;
}
.pc header #logo2 {
	display: none;
}
header #tools {
	position: absolute;
	right: 0px;
	top: 0px;
}
header #tools #globalnavi {
	position: relative;
	right: 320px;
	height: 80px;
	border-left: 1px solid #DBDBDB;
}
.spc header #tools #globalnavi {
	display: none;
}
.lpc header #tools #globalnavi {
	right: 280px;
	border-left: none;
}
.sp header #tools #globalnavi {
	display: none;
}
header #tools #globalnavi ul {
	padding-left: 15px;
	padding-right: 15px;
	overflow: hidden;
}
header #tools #globalnavi ul li {
	float: left;
	display: table;
	height: 80px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
header #tools #globalnavi ul li a {
	display: table-cell;
	padding: 10px 20px;
	vertical-align: middle;
	color: #000000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
header #tools #globalnavi ul li a:hover {
	opacity: 0.7;
}
.pc header #tools #globalnavi ul li a {
	padding: 10px 10px;
}
header #tools #contact {
	position: absolute;
	width: 80px;
	height: 80px;
	right: 240px;
	top: 0px;
	border-left: 1px solid #DBDBDB;
}
.lpc header #tools #contact {
	width: 70px;
	right: 210px;
}
.sp header #tools #contact {
	display: none;
}
header #tools #contact a {
	display: block;
	width: 80px;
	height: 80px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
header #tools #contact a:hover {
	opacity: 0.7;
}
.pc header #tools #contact a {
	width: 70px;
}
header #tools #contact a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/contact.svg) no-repeat center center;
}

header #tools #search {
	position: absolute;
	width: 80px;
	height: 80px;
	right: 80px;
	top: 0px;
	border-left: 1px solid #DBDBDB;
}
.lpc header #tools #search {
	width: 70px;
	right: 70px;
}
.sp header #tools #search {
	display: none;
}
header #tools #search a {
	position: relative;
	display: block;
	width: 80px;
	height: 80px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
header #tools #search a:hover {
	opacity: 0.7;
}
.pc header #tools #search a {
	width: 70px;
}
header #tools #search a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/search.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #tools #search a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center #004295;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #tools #search a.open:before {
	top: 100%;
}
header #tools #search a.open:after {
	top: 0%;
}
header #tools #menu {
	position: absolute;
	width: 80px;
	height: 80px;
	right: 0px;
	top: 0px;
	border-left: 1px solid #DBDBDB;
}
.pc header #tools #menu {
	width: 70px;
}
.sp header #tools #menu {
	width: 60px;
	height: 60px;
	border-left: 0;
}
header #tools #menu a {
	position: relative;
	display: block;
	width: 80px;
	height: 80px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
header #tools #menu a:hover {
	opacity: 0.7;
}
.pc header #tools #menu a {
	width: 70px;
}
.sp header #tools #menu a {
	width: 60px;
	height: 60px;
}
header #tools #menu a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/menu.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #tools #menu a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: -100%;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center #004295;
	-webkit-transition: 400ms;
	transition: 400ms;
}
header #tools #menu a.open:before {
	top: 100%;
}
header #tools #menu a.open:after {
	top: 0%;
}

#megamenu {
	position: fixed;
	right: 0px;
	z-index: 1100;
}
#megamenu > div {
	position: absolute;
	display: table;
	top: 80px;
	right: 0px;
	background: #ffffff;
	box-shadow: -3px 4px 5px 3px rgba(0, 0, 0, 0.4);
	-webkit-transform: translateX(20%);
	transform: translateX(20%);
	opacity: 0;
	-webkit-transition: 400ms;
	transition: 400ms;
	pointer-events: none;
  /*
  		&:before {
  			content: "";
  			position: absolute;
  			display: block;
  			width: 100vw;
  			height: 100%;
  			top: 0px;
  			right: 0px;
  		}
  */
}
#megamenu > div.show {
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;
	z-index: 5;
	-webkit-transition: 500ms 200ms;
	transition: 500ms 200ms;
	pointer-events: auto;
}
#megamenu > div > div {
	display: table-cell;
	white-space: nowrap;
	padding: 35px 0px;
}
#megamenu > div .title {
	position: relative;
	padding-left: 30px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	white-space: nowrap;
	vertical-align: top;
}
#megamenu > div .title a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#megamenu > div .title a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#megamenu > div .title a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#megamenu > div .title:after {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	height: calc(100% - 70px);
	top: 35px;
	right: -25px;
	background: #B5B5B5;
}
#megamenu > div .body {
	padding-left: 50px;
	padding-right: 40px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	vertical-align: top;
}
#megamenu > div .body > ul {
	min-width: 19em;
}
#megamenu > div .body li {
	position: relative;
	padding-left: 11px;
}
#megamenu > div .body li:before {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 1px;
	left: 0px;
	top: 0.6em;
	background: #000000;
}
#megamenu > div .body li a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#megamenu > div .body li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.1em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#megamenu > div .body li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#megamenu > div .body li ul {
	margin-top: 10px;
}
#megamenu > div .body li li:before {
	display: none;
}
#megamenu > div .body li + li {
	margin-top: 10px;
}
#megamenu > div .pickup {
	position: relative;
	padding-left: 10px;
	padding-right: 40px;
	vertical-align: top;
}
#megamenu > div .pickup a {
	display: block;
	width: 26.77966101694915vw;
	max-width: 316px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#megamenu > div .pickup a:hover {
	opacity: 0.7;
}
#megamenu > div .pickup a .image {
	display: block;
}
#megamenu > div .pickup a .image img {
	display: block;
	margin: auto;
	width: 100%;
	height: auto;
}
#megamenu > div .pickup a .label {
	display: block;
	margin-top: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
}

#searchpanel {
	position: fixed;
	top: 85px;
	left: 0px;
	width: 100%;
	height: 200px;
	background: #004295;
	z-index: 80;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: 600ms;
	transition: 600ms;
}
.sp #searchpanel {
	display: none;
}
.searchopen #searchpanel {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}
#searchpanel > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px;
	height: 200px;
	-webkit-transition: 400ms;
	transition: 400ms;
}
.sp #searchpanel > div {
	padding: 0px 10px;
}
#searchpanel > div > div {
	position: absolute;
	display: table;
	width: calc(100% - 40px);
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
#searchpanel > div > div > * {
	display: table-cell;
	vertical-align: middle;
}
#searchpanel .title {
	width: calc(5rem + 30px);
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	color: #ffffff;
}
#searchpanel .input {
	background: #ffffff;
}
#searchpanel .input form.gsc-search-box {
	margin: 0;
}
#searchpanel .input .gsc-input-box {
	border: none !important;
}
#searchpanel .input .gsc-input-box .gsib_a {
	padding: 0;
}
#searchpanel .input .gsib_a {
	padding-left: 15px !important;
}
#searchpanel .input .gsib_b {
	display: none;
}
#searchpanel input {
	width: 100%;
	height: 60px;
	padding: 0px 60px 0px 15px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 60px;
	border: 0px;
}
#searchpanel input:focus {
	outline: 0;
}
#searchpanel input::placeholder {
	color: #DBDBDB;
}
#searchpanel input:-ms-input-placeholder {
	color: #DBDBDB;
}
#searchpanel input::-ms-input-placeholder {
	color: #DBDBDB;
}
#searchpanel button {
	position: absolute;
	width: 60px;
	height: 60px;
	right: 0px;
	top: 2px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	border: 0px;
	cursor: pointer;
}
#searchpanel button:focus {
	outline: 0;
}

#fullmenu {
	position: fixed;
	left: 0px;
	width: 100%;
	margin-top: 0px;
	top: 0px;
	height: calc(100vh - 85px);
	background: #004295;
	overflow: auto;
	z-index: 80;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: top 600ms, -webkit-transform 600ms;
	transition: top 600ms, transform 600ms;
}
.sp #fullmenu {
	display: none;
}
.menuopen #fullmenu {
	top: 85px;
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
}
#fullmenu > div {
	padding: 45px 20px 25px;
}
#fullmenu .menu {
	margin: -35px -5px 0px -15px;
	font-size: 0;
}
#fullmenu .menu > div {
	display: inline-block;
	width: calc((100% - 80px) / 5);
	margin-left: 15px;
	margin-top: 35px;
	vertical-align: top;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
#fullmenu .menu > div:nth-of-type(1) {
	width: calc((100% - 80px) / 5 - 90px);
}
#fullmenu .menu > div:nth-of-type(2) {
	width: calc((100% - 80px) / 5 + 90px);
}
#fullmenu .menu .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
#fullmenu .menu .title a {
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#fullmenu .menu .title a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.1em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #ffffff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#fullmenu .menu .title a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#fullmenu .menu .body {
	margin-top: 20px;
}
#fullmenu .menu li {
	position: relative;
	padding-left: 11px;
}
#fullmenu .menu li:before {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 1px;
	left: 0px;
	top: 0.6em;
	background: #ffffff;
}
#fullmenu .menu li a {
	color: #ffffff;
	position: relative;
	display: inline-block;
}
#fullmenu .menu li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.1em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #ffffff;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#fullmenu .menu li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#fullmenu .menu li ul {
	margin-top: 10px;
}
#fullmenu .menu li li:before {
	display: none;
}
#fullmenu .menu li + li {
	margin-top: 10px;
}
#fullmenu .socialmedia {
	padding-top: 40px;
}
#fullmenu .socialmedia .title {
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #ffffff;
	font-weight: bold;
	opacity: 0.8;
}
#fullmenu .socialmedia ul {
	font-size: 0;
}
#fullmenu .socialmedia li {
	display: inline-block;
}
#fullmenu .socialmedia li + li {
	margin-left: 20px;
}
#fullmenu .socialmedia a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #707070;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#fullmenu .socialmedia a:hover {
	opacity: 0.7;
}
#fullmenu .socialmedia a img {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#spmenu {
	display: none;
	position: fixed;
	left: 0px;
	width: 100%;
	padding-top: 60px;
	max-height: 100vh;
	z-index: 80;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
	-webkit-transition: opacity 600ms, -webkit-transform 600ms;
	transition: opacity 600ms, transform 600ms;
	opacity: 0;
	overflow: auto;
}
.sp #spmenu {
	display: block;
}
.menuopen #spmenu {
	-webkit-transform: translateY(0%);
	transform: translateY(0%);
	opacity: 1;
}
#spmenu .region {
	display: none;
	padding: 20px 10px;
	color: #ffffff;
	background: #535353;
}
#spmenu .region dt {
	margin: 0px 0px 15px;
	padding: 0px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
	text-align: center;
}
#spmenu .region dd {
	margin: 0px;
	padding: 0px;
	text-align: center;
}
#spmenu .region select {
	display: none;
	width: 100%;
	max-width: 295px;
	height: 40px;
	margin: auto;
	padding: 0px 40px 0px 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 38px;
	color: #000000;
	border: 1px solid #DBDBDB;
	border-radius: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select.png) no-repeat right center #ffffff;
	cursor: pointer;
}
.sp #spmenu .region select {
	display: block;
}
#spmenu .region select::-ms-expand {
	display: none;
}
#spmenu .region label {
	position: relative;
	display: inline-block;
	margin-top: 15px;
	padding: 5px 0px 5px 20px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 12px;
	line-height: 0.75rem;
	color: #ffffff;
	cursor: pointer;
}
#spmenu .region label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
#spmenu .region label input[type="checkbox"]:focus + span:before {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
#spmenu .region label input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8.5px;
	background: #ffffff;
	border-radius: 5px;
	-webkit-transition: 200ms;
	transition: 200ms;
}
#spmenu .region label input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 15px;
	height: 15px;
	top: 0.9rem;
	left: 0px;
	margin-top: -7.5px;
	background: url(../images/check.svg) no-repeat center center;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
#spmenu .region label input[type="checkbox"]:checked + span:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}
#spmenu .utility {
	height: 60px;
	background: #535353;
	overflow: hidden;
}
#spmenu .utility .regionbutton {
	float: left;
	width: 60px;
	height: 60px;
	background: #ffffff;
}
#spmenu .utility .regionbutton a {
	position: relative;
	display: block;
	width: 60px;
	height: 60px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	overflow: hidden;
}
#spmenu .utility .regionbutton a:hover {
	opacity: 0.7;
}
#spmenu .utility .regionbutton a:before {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: url(../images/region.svg) no-repeat center center;
	-webkit-transition: 400ms;
	transition: 400ms;
}
#spmenu .utility .regionbutton a:after {
	content: "";
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 100%;
	left: 0px;
	background: url(../images/close.svg) no-repeat center center #004295;
	-webkit-transition: 400ms;
	transition: 400ms;
}
#spmenu .utility .regionbutton a.open:before {
	top: -100%;
}
#spmenu .utility .regionbutton a.open:after {
	top: 0%;
}
#spmenu .utility .search {
	position: relative;
	float: left;
	width: calc(100% - 80px);
	height: 40px;
	margin: 10px 0px 0px 10px;
	background: #ffffff;
	overflow: hidden;
}
#spmenu .utility .search form.gsc-search-box {
	margin: 0;
}
#spmenu .utility .search .gsc-input-box {
	border: none !important;
}
#spmenu .utility .search .gsc-input-box .gsib_a {
	padding: 0;
}
#spmenu .utility .search .gsib_a {
	padding-left: 15px !important;
}
#spmenu .utility .search .gsib_b {
	display: none;
}
#spmenu .utility .search input {
	width: 100%;
	height: 40px !important;
	padding: 0px 40px 0px 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 40px;
	border: 0px;
	-webkit-appearance: none;
	border-radius: 0;
}
#spmenu .utility .search input:focus {
	outline: none;
}
#spmenu .utility .search input::placeholder {
	color: #DBDBDB;
}
#spmenu .utility .search input:-ms-input-placeholder {
	color: #DBDBDB;
}
#spmenu .utility .search input::-ms-input-placeholder {
	color: #DBDBDB;
}
#spmenu .utility .search button {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	border: 0px;
	cursor: pointer;
}
#spmenu .menu {
	background: #DBDBDB;
}
#spmenu .menu > ul > li {
	border-bottom: 1px solid #B5B5B5;
}
#spmenu .menu > ul > li > ul {
	display: none;
}
#spmenu .menu > ul > li > ul > li {
	border-top: 1px solid #B5B5B5;
	background: #fff;
}
#spmenu .menu > ul > li > ul > li > a {
	padding: 10px 10px 10px 40px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
#spmenu .menu a {
	display: block;
	padding: 15px 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	color: #000000;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#spmenu .menu a:hover {
	opacity: 0.7;
}
#spmenu .socialmedia {
	padding: 25px 10px 40px;
	background: #DBDBDB;
}
#spmenu .socialmedia .title {
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	font-weight: bold;
	opacity: 0.5;
}
#spmenu .socialmedia ul {
	font-size: 0;
}
#spmenu .socialmedia li {
	display: inline-block;
}
#spmenu .socialmedia li + li {
	margin-left: 20px;
}
#spmenu .socialmedia a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #707070;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
#spmenu .socialmedia a:hover {
	opacity: 0.7;
}
#spmenu .socialmedia a img {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}

#categorylabel {
	padding-top: 80px;
}
.sp #categorylabel {
	padding: 60px 0 100px 0;
}
.sp #categorylabel.story {
	padding: 60px 0 140px 0;
}
#categorylabel.company > div {
	background-image: url(../../about/images/bg_about.jpg);
}
#categorylabel.about > div {
	background-image: url(../../about/images/bg_about.jpg);
}
#categorylabel.support > div {
	background-image: url(../../support/images/bg_support.jpg);
}
#categorylabel.products > div {
	background-image: url(../../businesses/products/images/bg_products.jpg);
}
#categorylabel.businesses > div {
	background-image: url(../../businesses/images/bg_businesses.jpg);
}
#categorylabel.ir > div {
	background-image: url(../../ir/images/bg_investor.jpg);
}
#categorylabel.news > div {
	background-image: url(../../news/images/bg_news.jpg);
}
#categorylabel.story > div {
	background-image: url(../../stories-and-discoveries/images/bg_stories-and-discoveries.jpg);
}
#categorylabel.contact > div {
	background-image: url(../../contact/images/bg_contact.jpg);
}
#categorylabel > div {
	position: relative;
	height: 200px;
	background-repeat: no-repeat;
	background-size: cover;
	background-image: url(../images/bg_other.jpg);
}
.sp #categorylabel > div {
	height: 100px;
	background-position: center center;
}
#categorylabel > div h1 {
	position: absolute;
	bottom: 0;
	left: 0;
	padding-left: calc((100vw - 1240px) / 2);
	padding-top: 15px;
	padding-right: 40px;
	display: inline-block;
	min-width: 40%;
	background: #fff;
	font-weight: normal;
	margin: 0;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 60px;
	line-height: 3.75rem;
}
#categorylabel > div h1 span {
	padding-left: 20px;
}
.sp #categorylabel > div h1 span {
	padding-left: 0;
}
#categorylabel > div h1 span.story {
	display: block;
	margin-top: 10px;
	padding-left: 20px;
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 30px;
	line-height: 1.875rem;
}
.sp #categorylabel > div h1 span.story {
	font-size: 18px;
	margin-top: 5px;
	padding-left: 0;
}
.sp #categorylabel > div h1 {
	position: static;
	padding: 120px 10px 0 10px;
	background: none;
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 38px;
	line-height: 2.375rem;
}

#head_bg {
	margin-top: 80px;
	height: 100px;
	background-size: cover;
	background-position: center center;
}
.sp #head_bg {
	margin-top: 60px;
}
#head_bg.company {
	background-image: url(../../about/images/bg_about.jpg);
}
#head_bg.support {
	background-image: url(../../support/images/bg_support.jpg);
}
#head_bg.about {
	background-image: url(../../about/images/bg_about.jpg);
}
#head_bg.ir {
	background-image: url(../../ir/images/bg_investor.jpg);
}
#head_bg.news {
	background-image: url(../../news/images/bg_news.jpg);
}
#head_bg.story {
	background-image: url(../../stories-and-discoveries/images/bg_stories-and-discoveries.jpg);
}
#head_bg.businesses {
	background-image: url(../../businesses/images/bg_businesses.jpg);
}
#head_bg.privacy {
	background-image: url(../images/bg_other.jpg);
}

#visual {
	height: 720px;
	background: bottom center no-repeat;
}
.sp #visual {
	height: auto;
	background: none !important;
}
#visual > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 0px;
}
.sp #visual > div {
	padding: 20px 10px 0px;
}
#visual > div > * {
	text-shadow: 1px 1px 1px rgba(255, 255, 255, 0.8), -1px 1px 1px rgba(255, 255, 255, 0.8), 1px -1px 1px rgba(255, 255, 255, 0.8), -1px -1px 1px rgba(255, 255, 255, 0.8);
}
.sp #visual > div {
	text-shadow: none;
}
.sp #visual > div {
	padding: 0;
}
#visual > div h1 {
	font-weight: normal;
	margin: 20px 0 0 0;
	padding: 0;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 60px;
	line-height: 3.75rem;
}
.sp #visual > div h1 {
	margin: 20px 0;
	padding: 0 10px;
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 38px;
	line-height: 2.375rem;
}
#visual > div p.title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.sp #visual > div p.title {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 18px;
	line-height: 1.125rem;
	padding: 20px 10px 0 10px;
}
#visual > div .image img {
	display: block;
	max-width: 100%;
}
#visual > div p.lead {
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
	margin: 30px 0 0 0;
	padding: 5px;
	max-width: 80%;
	background: rgba(255, 255, 255, 0.8);
	text-shadow: none;
}
.sp #visual > div p.lead {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
	margin: 10px 0 0 0;
	max-width: none;
	padding: 0 10px;
}

#breadcrumbs {
	border-bottom: 1px solid #DBDBDB;
}
.sp #breadcrumbs {
	display: none;
}
#breadcrumbs > ul {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 20px 20px;
  /*
  	font-size: 0px;
  	line-height: 0px;
  */
}
.sp #breadcrumbs > ul {
	padding: 10px 10px;
}
#breadcrumbs > ul:after {
	content: "";
	display: block;
	clear: both;
}
#breadcrumbs > ul > li {
	display: inline-block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	color: #B5B5B5;
}
.sp #breadcrumbs > ul > li {
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 11px;
	line-height: 0.6875rem;
}
#breadcrumbs > ul > li + li:before {
	content: "";
	position: relative;
	display: inline-block;
	width: 1px;
	height: 0.75em;
	top: 0;
	margin: 0px 8px;
	background: #000000;
	-webkit-transform: skewX(-30deg);
	transform: skewX(-30deg);
}
#breadcrumbs > ul > li a {
	color: #000000;
	position: relative;
	display: inline-block;
}
#breadcrumbs > ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#breadcrumbs > ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

footer {
	display: block;
	margin-top: 60px;
	background: #fff;
}
.sp footer {
	margin-top: 40px;
}
footer > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 20px 20px;
	overflow: hidden;
}
.sp footer > div {
	padding: 10px 10px;
}
footer > div.middle {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 60px;
	overflow: visible;
}
.sp footer > div.middle {
	padding: 20px 10px 30px;
}
.sp footer > div.middle {
	padding-bottom: 20px;
}
footer > div.middle:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	top: 0px;
	left: 50%;
	background: rgba(51, 51, 51, 0.3);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
footer > div.middle:after {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	bottom: 0px;
	left: 50%;
	background: rgba(51, 51, 51, 0.3);
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
}
.sp footer > div.middle:after {
	display: none;
}
.sp footer .logo {
	display: none;
}
footer .logo a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .logo a:hover {
	opacity: 0.7;
}
footer .logo img {
	display: block;
}
footer .socialmedia .title {
	margin-bottom: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	font-weight: bold;
}
footer .socialmedia ul {
	font-size: 0;
}
footer .socialmedia li {
	display: inline-block;
}
footer .socialmedia li + li {
	margin-left: 20px;
}
footer .socialmedia a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #707070;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
footer .socialmedia a:hover {
	opacity: 0.7;
}
footer .socialmedia a img {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
footer .search {
	position: absolute;
	right: 20px;
	top: 40px;
	width: 26.72131147540984%;
	max-width: 326px;
	margin: 10px 0px 0px 10px;
	background: #ffffff;
	border: 1px solid #DBDBDB;
}
.sp footer .search {
	display: none;
}
footer .search input {
	width: 100%;
	height: 40px;
	padding: 0px 40px 0px 15px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 40px;
	border: 0px;
}
footer .search input::placeholder {
	color: #DBDBDB;
}
footer .search input:-ms-input-placeholder {
	color: #DBDBDB;
}
footer .search input::-ms-input-placeholder {
	color: #DBDBDB;
}
footer .search button {
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
	text-indent: -10000px;
	background: url(../images/search.svg) no-repeat center center;
	border: 0px;
	cursor: pointer;
}
footer .search form.gsc-search-box {
	margin: 0;
}
footer .search .gsc-input-box {
	border: none !important;
}
footer .search .gsc-input-box .gsib_a {
	padding: 0;
}
footer .search .gsib_a {
	padding-left: 15px !important;
}
footer .search .gsib_b {
	display: none;
}
footer .search .gsc-search-button-v2:hover {
	background: url(../images/search.svg) no-repeat center center;
}
footer .totop {
	position: absolute;
	right: 20px;
	bottom: 12px;
}
.sp footer .totop {
	display: none;
}
footer .totop a {
	position: relative;
	margin-right: 30px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	position: relative;
	display: inline-block;
}
footer .totop a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
footer .totop a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
footer .totop a:after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: -30px;
	top: 50%;
	margin-top: -10px;
	background: url(../images/totop.svg) no-repeat center center;
}
footer .utility ul {
	float: left;
	font-size: 0;
}
.sp footer .utility ul {
	float: none;
}
footer .utility ul li {
	display: inline-block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp footer .utility ul li {
	display: block;
	margin-bottom: 20px;
}
footer .utility ul li a {
	color: #000000;
	position: relative;
	display: inline-block;
}
footer .utility ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
footer .utility ul li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
footer .utility ul li + li {
	margin-left: 2rem;
}
.sp footer .utility ul li + li {
	margin-left: 0;
}
footer .utility p {
	float: right;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp footer .utility p {
	position: relative;
	float: none;
	margin-top: 30px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp footer .utility p:before {
	content: "";
	display: block;
	position: absolute;
	width: 100vw;
	height: 1px;
	top: -10px;
	left: -10px;
	background: rgba(51, 51, 51, 0.3);
}

main .contents * + .lead, main .contents * + .lead_s, main .contents * + .text, main .contents * + .image, main .contents * + .imagebox, main .contents * + .column, main .contents * + .table, main .contents * + .format, main .contents .form * + table, main .contents .form * + textarea, main .contents .form * + .formbutton, main .contents * + .box, main .contents * + .googlemap, main .contents * + .youtube, * + .button, * + .design, main .contents .form * + .button {
	margin-top: 40px;
}
.sp main .contents * + .lead, main .contents .sp * + .lead, .sp main .contents * + .lead_s, main .contents .sp * + .lead_s, .sp main .contents * + .text, main .contents .sp * + .text, .sp main .contents * + .image, main .contents .sp * + .image, .sp main .contents * + .imagebox, main .contents .sp * + .imagebox, .sp main .contents * + .column, main .contents .sp * + .column, .sp main .contents * + .table, main .contents .sp * + .table, .sp main .contents * + .format, main .contents .sp * + .format, .sp main .contents .form * + table, main .contents .form .sp * + table, .sp main .contents .form * + textarea, main .contents .form .sp * + textarea, .sp main .contents .form * + .formbutton, main .contents .form .sp * + .formbutton, .sp main .contents * + .box, main .contents .sp * + .box, .sp main .contents * + .googlemap, main .contents .sp * + .googlemap, .sp main .contents * + .youtube, main .contents .sp * + .youtube, .sp * + .button, .sp * + .design, .sp main .contents .form * + .button, main .contents .form .sp * + .button {
	margin-top: 30px;
}

main .contents * + .layout, main .contents * + .form {
	margin-top: 80px;
}
.sp main .contents * + .layout, main .contents .sp * + .layout, .sp main .contents * + .form, main .contents .sp * + .form {
	margin-top: 60px;
}

main .contents .lead * + p, main .contents .lead_s * + p, main .contents .text * + p:not(.image), main .contents .text * + hr, main .contents .text * + ul, main .contents .text * + ol, main .contents .text * + dl, main .contents .text dl * + dt, main .contents .text * + .image.floatright, main .contents .text * + .image.floatleft, main .contents .imagebox > .image * + img,
main .contents .imagebox > .image > * + a, main .contents .form * + p, #modal_block > div * + ol {
	margin-top: 20px;
}

main .contents {
	position: relative;
	padding: 0px;
}
main .contents:after {
	content: "";
	display: block;
	clear: both;
}
main .contents > div:not(.background) {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
}
.sp main .contents > div:not(.background) {
	padding: 20px 10px 40px;
}
.sp main .contents > div:not(.background) {
	width: auto;
}
main .contents h1 + *, main .contents h2 + *, main .contents h3 + *, main .contents h4 + *, main .contents h5 + *, main .contents h6 + * {
	margin-top: 0px !important;
}
main .contents h1 {
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	padding: 0px;
	font-size: 60px;
	font-size: 3.75rem;
	line-height: 78px;
	line-height: 4.875rem;
	font-weight: normal;
}
.sp main .contents h1 {
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 49.4px;
	line-height: 3.0875rem;
}
main .contents * + h1 {
	margin-top: 160px;
}
main .contents h2 {
	position: relative;
	clear: both;
	display: block;
	margin: 0px 0px 40px;
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 57px;
	line-height: 3.5625rem;
	font-weight: normal;
	text-align: center;
}
.sp main .contents h2 {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 36.4px;
	line-height: 2.275rem;
}
main .contents h2.left {
	text-align: left;
}
main .contents * + h2 {
	margin-top: 80px;
}
.sp main .contents * + h2 {
	margin-top: 40px;
}
main .contents h3 {
	clear: both;
	position: relative;
	margin: 0px 0px 40px;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 33.8px;
	line-height: 2.1125rem;
	font-weight: normal;
  /*
  		&:before {
  			content: "";
  			display: block;
  			position: absolute;
  			width: 7px;
  			height: calc(100% - 0.2em);
  			top: calc(50% + 0.1em);
  			left: 0px;
  			background: $color_sub;
  			-webkit-transform: translateY(-50%);
  			transform: translateY(-50%);
  		}
  
  		&:after {
  			content: "";
  			display: block;
  			position: absolute;
  			width: 2px;
  			height: calc(100% - 0.2em);
  			top: calc(50% + 0.1em);
  			left: 8px;
  			background: $color_gray;
  			-webkit-transform: translateY(-50%);
  			transform: translateY(-50%);
  		}
  */
}
.sp main .contents h3 {
	margin: 0px 0px 20px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents h3.center {
	text-align: center;
}
main .contents h3 a {
	color: #004295;
	position: relative;
	display: inline-block;
}
main .contents h3 a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents h3 a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents * + h3 {
	margin-top: 60px;
}
.sp main .contents * + h3 {
	margin-top: 20px;
}
main .contents h4 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
}
.sp main .contents h4 {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}
main .contents * + h4 {
	margin-top: 40px;
}
main .contents h5 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
.sp main .contents h5 {
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents * + h5 {
	margin-top: 20px;
}
main .contents h6 {
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	padding: 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
.sp main .contents h6 {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents * + h6 {
	margin-top: 20px;
}
main .contents .lead.center {
	text-align: center;
}
.sp main .contents .lead.center {
	text-align: left;
}
main .contents .lead p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 34px;
	line-height: 2.125rem;
}
.sp main .contents .lead p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
main .contents .lead p span {
	display: inline-block;
}
.sp main .contents .lead p span {
	display: inline;
}
main .contents .lead_s {
	padding-right: 20px;
}
.sp main .contents .lead_s {
	padding-right: 0;
}
main .contents .lead_s.center {
	text-align: center;
}
.sp main .contents .lead_s.center {
	text-align: left;
}
main .contents .lead_s p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.sp main .contents .lead_s p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	text-align: center;
}
main .contents .lead_s p span {
	display: inline-block;
}
.sp main .contents .lead_s p span {
	display: inline;
}
main .contents a {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents a:hover {
	opacity: 0.7;
}
main .contents p.caption {
	margin-top: 10px;
}
main .contents .stack {
	margin-top: 0px !important;
}
main .contents .block {
	margin-top: 40px !important;
}
.sp main .contents .block {
	margin-top: 30px !important;
}
main .contents .section {
	margin-top: 80px !important;
}
.sp main .contents .section {
	margin-top: 60px !important;
}
main .contents .paragraph {
	margin-top: 20px !important;
}
main .contents .halfparagraph {
	margin-top: 7px !important;
}
main .contents .text:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .text p:not(.image) {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text p:not(.image) {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text p:not(.image) .required {
	color: #EF3340;
	margin-left: 4px;
	margin-right: 4px;
}
main .contents .text p:not(.image).error_mes {
	color: #EF3340;
}
main .contents .text p:not(.image) em.s {
	font-style: normal;
	color: #004295;
	font-size: 120%;
}
main .contents .text p:not(.image) a {
	color: #004295;
	position: relative;
	display: inline-block;
}
main .contents .text p:not(.image) a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text p:not(.image) a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text p:not(.image).center {
	text-align: center;
}
main .contents .text p:not(.image).right {
	text-align: right;
}
.sp main .contents .text p:not(.image).spleft {
	text-align: left;
}
main .contents .text p:not(.image).note {
	text-indent: -0.5em;
	margin-left: 0.5em;
}
main .contents .text p:not(.image).small {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
	margin-top: 10px;
}
.sp main .contents .text p:not(.image).small {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 20.4px;
	line-height: 1.275rem;
}
main .contents .text hr {
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
	width: 90%;
	height: 1px;
	border: 0px;
	background: #B5B5B5;
}
main .contents .text ul {
	clear: both;
	margin-left: 20px;
	margin-right: 20px;
}
main .contents .text ul > li {
	margin-left: 14px;
	text-indent: -14px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text ul > li {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text ul > li:before {
	position: relative;
	content: "";
	display: inline-block;
	width: 10px;
	height: 10px;
	vertical-align: middle;
	top: -2px;
	margin-right: 4px;
	background: #00B0D2;
	border-radius: 50%;
}
main .contents .text ul > li + li {
	margin-top: 4px;
}
main .contents .text ul > li *:not(li) {
	text-indent: 0px;
}
main .contents .text ul > li a {
	vertical-align: top;
	color: #004295;
	position: relative;
	display: inline-block;
}
main .contents .text ul > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ul > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.sp main .contents .text ul > li a {
	display: inline;
}
main .contents .text ul > li > * + ul, main .contents .text ul > li > * + ol {
	margin-top: 4px;
}
main .contents .text ul.float {
	margin-right: -40px;
}
main .contents .text ul.float li {
	display: inline-block;
	margin-left: calc(14px - 0.3em);
	margin-right: 40px;
}
main .contents .text ul.ib {
	margin-left: -36px;
	text-indent: 36px;
}
.sp main .contents .text ul.ib {
	margin-left: 0px;
	text-indent: 0px;
}
main .contents .text ul.ib li {
	display: inline-block;
}
.sp main .contents .text ul.ib li {
	display: block;
}
main .contents .text ul.ib li + li {
	margin-left: 50px;
}
.sp main .contents .text ul.ib li + li {
	margin-left: 14px;
}
main .contents .text ul.ib.w240 li {
	min-width: 240px;
}
.sp main .contents .text ul.ib.w240 li {
	min-width: 0;
}
main .contents .text ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
}
.sp main .contents .text ol {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
main .contents .text ol > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	color: #00B0D2;
	font-weight: bold;
}
main .contents .text ol > li + li {
	margin-top: 4px;
}
main .contents .text ol > li *:not(li) {
	text-indent: 0px;
}
main .contents .text ol > li a {
	vertical-align: top;
	color: #004295;
	position: relative;
	display: inline-block;
}
main .contents .text ol > li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.35em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .text ol > li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .text ol > li > * + ul, main .contents .text ol > li > * + ol {
	margin-top: 4px;
}
main .contents .text ol.digit2 > li {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	padding-left: 0.5em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10) {
	margin-left: 1.5em;
	text-indent: -0.93em;
}
main .contents .text ol.digit2 > li:nth-of-type(n+10):before {
	margin-right: 0.4em;
	padding-left: 0;
}
main .contents .text dl dt {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
	font-weight: bold;
}
.sp main .contents .text dl dt {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents .text dl dd {
	margin: 10px 0px 0px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .text dl dd {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .text .image.floatright {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
	max-width: calc(50% - 10px);
}
.sp main .contents .text .image.floatright {
	margin-left: 10px;
	margin-bottom: 10px;
	max-width: none;
}
main .contents .text .image.floatleft {
	float: left;
	margin-right: 20px;
	margin-bottom: 20px;
}
.sp main .contents .text .image.floatleft {
	margin-right: 10px;
	margin-bottom: 10px;
}
.sp main .contents .text .image.spclear {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}
main .contents .image {
	text-align: center;
}
main .contents .image img {
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
}
main .contents .image p {
	margin: auto;
	text-align: left;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp main .contents .image p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
* + main .contents .image p {
	margin-top: 8px;
}
main .contents .image p a {
	color: #004295;
	position: relative;
	display: inline-block;
}
main .contents .image p a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .image p a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .image p.center {
	text-align: center;
}
main .contents .image p.right {
	text-align: right;
}
main .contents .image.left {
	text-align: left;
}
main .contents .image.left img {
	margin-left: 0px;
}
main .contents .image.left p {
	margin-left: 0px;
}
main .contents .image.right {
	text-align: right;
}
main .contents .image.right img {
	margin-right: 0px;
}
main .contents .image.right p {
	margin-right: 0px;
}
main .contents .image > a {
	display: inline-block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .image > a:hover {
	opacity: 0.7;
}
main .contents .image > a p {
	color: #004295;
}
main .contents .imagebox {
	display: table;
	width: 100%;
	table-layout: fixed;
}
main .contents .imagebox > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: top;
}
.sp main .contents .imagebox.spcol1 {
	display: block;
}
.sp main .contents .imagebox.spcol1 > * {
	display: block;
	width: auto !important;
}
.sp main .contents .imagebox.spcol1 > * + * {
	padding-top: 10px;
	padding-left: 0px !important;
	padding-right: 0px !important;
}
main .contents .imagebox > * {
	margin-top: 0px !important;
}
main .contents .imagebox > * + * {
	padding-left: 20px;
}
main .contents .imagebox.reverse {
	direction: rtl;
}
main .contents .imagebox.reverse > * {
	direction: ltr;
}
main .contents .imagebox.reverse > * + * {
	padding-left: 0px;
	padding-right: 20px;
}
main .contents .imagebox > .image.type01 {
	width: 25%;
}
main .contents .imagebox > .image.type02 {
	width: 30%;
}
main .contents .imagebox > .image.type03 {
	width: 40%;
}
main .contents .imagebox > .image.type04 {
	width: 15%;
}
main .contents .imagebox > .image img,
main .contents .imagebox > .image > a {
	display: block;
	max-width: 100%;
}
main .contents .imagebox > .image p {
	width: auto !important;
}
main .contents .imagebox img {
	max-width: 100%;
}
main .contents .imagebox .text {
	max-width: 50%;
}
.sp main .contents .imagebox .text {
	max-width: none;
}
main .contents .column {
	margin-left: -20px;
	margin-right: -4px;
}
.sp main .contents .column {
	margin-left: -10px;
	margin-bottom: -20px;
}
main .contents .column:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .column > * {
	position: relative;
	float: left;
	margin-bottom: 20px;
	margin-left: 20px;
}
.sp main .contents .column > * {
	margin-left: 10px;
	margin-bottom: 20px;
}
main .contents .column > a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000000;
}
main .contents .column > a:hover {
	opacity: 0.7;
}
main .contents .column > a .image img {
	width: 100%;
	max-width: none;
}
main .contents .column.col1 > * {
	width: calc((100% - 20px * 1 - 4px) / 1);
}
main .contents .column.col1 > *.size2 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 2 + 20px * 1);
}
main .contents .column.col1 > *.size1 {
	width: calc(((100% - 20px * 1 - 4px) / 1) * 1 + 20px * 0);
}
.sp main .contents .column.col1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1);
}
.sp main .contents .column.spcol1 > * {
	width: calc((100% - 10px * 1 - 4px) / 1) !important;
}
main .contents .column.col2 > * {
	width: calc((100% - 20px * 2 - 4px) / 2);
}
main .contents .column.col2 > *.size2 {
	width: calc(((100% - 20px * 2 - 4px) / 2) * 2 + 20px * 1);
}
.sp main .contents .column.col2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2);
}
.sp main .contents .column.spcol2 > * {
	width: calc((100% - 10px * 2 - 4px) / 2) !important;
}
main .contents .column.col3 > * {
	width: calc((100% - 20px * 3 - 4px) / 3);
}
main .contents .column.col3 > *.size2 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 2 + 20px * 1);
}
main .contents .column.col3 > *.size3 {
	width: calc(((100% - 20px * 3 - 4px) / 3) * 3 + 20px * 2);
}
.sp main .contents .column.col3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3);
}
.sp main .contents .column.spcol3 > * {
	width: calc((100% - 10px * 3 - 4px) / 3) !important;
}
main .contents .column.col4 > * {
	width: calc((100% - 20px * 4 - 4px) / 4);
}
main .contents .column.col4 > *.size2 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 2 + 20px * 1);
}
main .contents .column.col4 > *.size3 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 3 + 20px * 2);
}
main .contents .column.col4 > *.size4 {
	width: calc(((100% - 20px * 4 - 4px) / 4) * 4 + 20px * 3);
}
.sp main .contents .column.col4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4);
}
.sp main .contents .column.spcol4 > * {
	width: calc((100% - 10px * 4 - 4px) / 4) !important;
}
main .contents .column.col5 > * {
	width: calc((100% - 20px * 5 - 4px) / 5);
}
main .contents .column.col5 > *.size2 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 2 + 20px * 1);
}
main .contents .column.col5 > *.size3 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 3 + 20px * 2);
}
main .contents .column.col5 > *.size4 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 4 + 20px * 3);
}
main .contents .column.col5 > *.size5 {
	width: calc(((100% - 20px * 5 - 4px) / 5) * 5 + 20px * 4);
}
.sp main .contents .column.col5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5);
}
.sp main .contents .column.spcol5 > * {
	width: calc((100% - 10px * 5 - 4px) / 5) !important;
}
main .contents .column.col6 > * {
	width: calc((100% - 20px * 6 - 4px) / 6);
}
main .contents .column.col6 > *.size2 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 2 + 20px * 1);
}
main .contents .column.col6 > *.size3 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 3 + 20px * 2);
}
main .contents .column.col6 > *.size4 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 4 + 20px * 3);
}
main .contents .column.col6 > *.size5 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 5 + 20px * 4);
}
main .contents .column.col6 > *.size6 {
	width: calc(((100% - 20px * 6 - 4px) / 6) * 6 + 20px * 5);
}
.sp main .contents .column.col6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6);
}
.sp main .contents .column.spcol6 > * {
	width: calc((100% - 10px * 6 - 4px) / 6) !important;
}
main .contents .layout {
	display: table;
	width: calc(100% + 40px);
	margin-left: -20px;
	margin-right: -20px;
}
main .contents .layout > * {
	display: table-cell;
	height: 100%;
	text-align: center;
	vertical-align: middle;
}
main .contents .layout:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .layout {
	width: calc(100% + 20px);
	margin-left: -10px;
	margin-right: -10px;
}
main .contents .layout > * {
	padding: 0px 20px;
}
.sp main .contents .layout > * {
	padding: 0px 10px;
}
main .contents .layout > *.left {
	text-align: left;
}
main .contents .layout > *.right {
	text-align: right;
}
main .contents .layout > *.top {
	vertical-align: top;
}
main .contents .layout > *.bottom {
	vertical-align: bottom;
}
.sp main .contents .layout.spcol1 {
	display: block;
	width: auto;
	margin-left: 0px;
	margin-bottom: -40px;
	margin-right: 0px;
}
.sp main .contents .layout.spcol1 > * {
	display: block;
	margin-bottom: 40px;
	padding: 0px;
	width: auto !important;
}
main .contents .table {
	overflow-x: auto;
	overflow-y: hidden;
}
main .contents .table > table {
	width: 100%;
	border-spacing: 0;
	empty-cells: show;
	border-collapse: separate;
}
main .contents .table > table.th_middle tbody > tr > th, main .contents .table > table.th_middle .format > table tbody > tr > td, main .contents .format > table .table > table.th_middle tbody > tr > td {
	vertical-align: middle;
}
main .contents .table > table > thead > tr > th, main .contents .format.table > table > thead > tr > td,
main .contents .table > table > thead > tr > td,
main .contents .table > table > tbody > tr > th,
main .contents .format.table > table > tbody > tr > td,
main .contents .table > table > tr > th,
main .contents .format.table > table > tr > td {
	position: relative;
	padding: 20px 16px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	font-weight: bold;
	color: #ffffff;
	background: #004295;
	overflow: hidden;
}
.sp main .contents .table > table > thead > tr > th, .sp main .contents .format.table > table > thead > tr > td, .sp
main .contents .table > table > thead > tr > td, .sp
main .contents .table > table > tbody > tr > th, .sp
main .contents .format.table > table > tbody > tr > td, .sp
main .contents .table > table > tr > th, .sp
main .contents .format.table > table > tr > td {
	padding: 12px 8px;
	white-space: nowrap;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
.sp main .contents .table > table > thead > tr > th span, .sp main .contents .format.table > table > thead > tr > td span, .sp
main .contents .table > table > thead > tr > td span, .sp
main .contents .table > table > tbody > tr > th span, .sp
main .contents .format.table > table > tbody > tr > td span, .sp
main .contents .table > table > tr > th span, .sp
main .contents .format.table > table > tr > td span {
	display: block;
}
.sp main .contents .table > table > thead > tr > th * + span, .sp main .contents .format.table > table > thead > tr > td * + span, .sp
main .contents .table > table > thead > tr > td * + span, .sp
main .contents .table > table > tbody > tr > th * + span, .sp
main .contents .format.table > table > tbody > tr > td * + span, .sp
main .contents .table > table > tr > th * + span, .sp
main .contents .format.table > table > tr > td * + span {
	margin-top: 4px;
}
main .contents .table > table > thead > tr > th.bg_white, main .contents .format.table > table > thead > tr > td.bg_white,
main .contents .table > table > thead > tr > td.bg_white,
main .contents .table > table > tbody > tr > th.bg_white,
main .contents .format.table > table > tbody > tr > td.bg_white,
main .contents .table > table > tr > th.bg_white,
main .contents .format.table > table > tr > td.bg_white {
	padding-left: 0;
	background: none;
	color: #000;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents .table > table.spec {
	border-top: 1px solid #707070;
}
main .contents .table > table.spec thead th, main .contents .table > table.spec thead .format > table td, main .contents .format > table .table > table.spec thead td {
	border: none;
}
main .contents .table > table.spec thead th:before, main .contents .table > table.spec thead .format > table td:before, main .contents .format > table .table > table.spec thead td:before {
	display: none;
}
main .contents .table > table.spec thead th + th:before, main .contents .table > table.spec thead .format > table td + th:before, main .contents .format > table .table > table.spec thead td + th:before, main .contents .table > table.spec thead .format > table th + td:before, main .contents .format > table .table > table.spec thead th + td:before, main .contents .table > table.spec thead .format > table td + td:before, main .contents .format > table .table > table.spec thead td + td:before {
	display: block;
	left: 0;
}
main .contents .table > table.spec th, main .contents .table > table.spec .format > table td, main .contents .format > table .table > table.spec td {
	position: relative;
	border-right: 1px solid #707070;
	border-bottom: 1px solid #707070;
}
main .contents .table > table.spec th:before, main .contents .table > table.spec .format > table td:before, main .contents .format > table .table > table.spec td:before {
	position: absolute;
	display: block;
	content: "";
	width: 1px;
	height: calc(100% - 20px);
	background: #dbdbdb;
	bottom: 10px;
	right: 0;
}
main .contents .table > table.small > thead > tr > th, main .contents .format.table > table.small > thead > tr > td,
main .contents .table > table.small > thead > tr > td,
main .contents .table > table.small > tbody > tr > th,
main .contents .format.table > table.small > tbody > tr > td,
main .contents .table > table.small > tr > th,
main .contents .format.table > table.small > tr > td {
	padding: 8px;
	font-size: 12.8px;
	font-size: 0.8rem;
	line-height: 16.64px;
	line-height: 1.04rem;
}
.sp main .contents .table > table.small > thead > tr > th, .sp main .contents .format.table > table.small > thead > tr > td, .sp
main .contents .table > table.small > thead > tr > td, .sp
main .contents .table > table.small > tbody > tr > th, .sp
main .contents .format.table > table.small > tbody > tr > td, .sp
main .contents .table > table.small > tr > th, .sp
main .contents .format.table > table.small > tr > td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .table > table > tbody > tr > th, main .contents .format.table > table > tbody > tr > td {
	color: #000000;
	background: #dbdbdb;
	border-left: 1px solid #ffffff;
}
main .contents .table > table > tbody > tr > th:first-child, main .contents .format.table > table > tbody > tr > td:first-child {
	border-left: none;
}
main .contents .table > table > tr > td,
main .contents .table > table > * > tr > td {
	position: relative;
	padding: 16px;
	vertical-align: middle;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: normal;
	color: #000000;
	border-bottom: 1px solid #707070;
}
main .contents .table > table > tr > td:first-child:before,
main .contents .table > table > * > tr > td:first-child:before {
	position: absolute;
	display: block;
	content: "";
	width: 1px;
	height: calc(100% - 20px);
	border-right: 1px dotted #dbdbdb;
	background: none;
	bottom: 10px;
}
main .contents .table > table > tr > td:before,
main .contents .table > table > * > tr > td:before {
	position: absolute;
	display: block;
	content: "";
	width: 1px;
	height: calc(100% - 20px);
	background: #dbdbdb;
	bottom: 10px;
	right: 0;
}
main .contents .table > table > tr > td:last-child:before,
main .contents .table > table > * > tr > td:last-child:before {
	display: none;
}
.sp main .contents .table > table > tr > td, .sp
main .contents .table > table > * > tr > td {
	padding: 8px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .table > table.small > tr > td,
main .contents .table > table.small > * > tr > td {
	padding: 8px;
	font-size: 12.8px;
	font-size: 0.8rem;
	line-height: 21.76px;
	line-height: 1.36rem;
}
.sp main .contents .table > table.small > tr > td, .sp
main .contents .table > table.small > * > tr > td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .table > table .left {
	text-align: left;
}
main .contents .table > table .right {
	text-align: right;
}
main .contents .table > table .center {
	text-align: center;
}
main .contents .table > table .top {
	vertical-align: top;
}
main .contents .table > table .bottom {
	vertical-align: bottom;
}
main .contents .table > table .middle {
	vertical-align: middle;
}
main .contents .table > table .space {
	background: transparent !important;
}
main .contents .table > table .nowrap {
	white-space: nowrap;
}
main .contents .table > table div + div {
	margin-top: 0.5rem !important;
}
main .contents .table > p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.sp main .contents .table > p {
	font-size: 11.9px;
	font-size: 0.74375rem;
	line-height: 20.23px;
	line-height: 1.26438rem;
}
main .contents .table > p.right {
	text-align: right;
}
main .contents .table > * + p {
	margin-top: 8px;
}
main .contents .table > p + table {
	margin-top: 8px;
}
main .contents .format > table {
	width: 100%;
	border-collapse: collapse;
	empty-cells: show;
}
main .contents .format > table th, main .contents .format > table td {
	padding: 0px 0px 10px 0px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	font-weight: bold;
	color: #000000;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .format > table td {
	padding: 0px 0px 10px 20px;
	font-weight: normal;
}
main .contents .format > table tr:last-child th, main .contents .format > table tr:last-child td,
main .contents .format > table tr:last-child td {
	padding-bottom: 0px;
}
.sp main .contents .format > table {
	display: block;
}
.sp main .contents .format > table tbody {
	display: block;
}
.sp main .contents .format > table tr {
	display: block;
}
.sp main .contents .format > table th, .sp main .contents .format > table td {
	display: block;
	padding-bottom: 0px;
}
.sp main .contents .format > table td {
	display: block;
	padding-bottom: 5px;
}
main .contents .form form {
	margin: 0px;
	padding: 0px;
}
main .contents .form p {
	margin-bottom: 4px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #444b52;
}
main .contents .form p.required:after {
	content: "（必須）";
	color: #EF3340;
	margin-left: 8px;
}
main .contents .form table {
	border-collapse: collapse;
	width: 100%;
}
main .contents .form table.confirm th, main .contents .form table.confirm .format > table td, main .contents .format > table .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm th, .sp main .contents .form table.confirm .format > table td, .sp main .contents .format > table .form table.confirm td {
	padding-top: 10px;
}
main .contents .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm td.required {
	display: none;
}
.sp main .contents .form table {
	display: block;
}
.sp main .contents .form table tbody, .sp
main .contents .form table tr {
	position: relative;
	display: block;
}
main .contents .form table th, main .contents .form .format > table td {
	width: 16rem;
	padding: 24px 20px 25px 0px;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .form table th span, main .contents .form .format > table td span {
	margin-left: 3px;
	color: #ff0000;
}
.sp main .contents .form table th, .sp main .contents .form .format > table td {
	display: block;
	width: auto;
	float: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
}
main .contents .form table td {
	padding-top: 16px;
	padding-bottom: 25px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	word-break: break-all;
}
.sp main .contents .form table td {
	clear: both;
	display: block;
	padding-top: 10px;
	padding-bottom: 15px;
}
main .contents .form table td.required {
	width: 5rem;
	padding-top: 18px;
	padding-right: 20px;
	color: #ffffff;
}
main .contents .form table td.required span {
	display: block;
	margin-left: 0px;
	padding: 6px 8px;
	text-align: center;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #EF3340;
	border: 1px solid #EF3340;
}
.sp main .contents .form table td.required {
	clear: none;
	float: right;
	padding: 0px;
	margin-top: 10px;
}
.sp main .contents .form table td.required span {
	margin-top: 0px;
}
main .contents .form table td span {
	display: inline-block;
}
main .contents .form table td span.label {
	position: absolute;
	width: 4em;
	margin-left: 10px;
	padding-top: 10px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #646464;
	pointer-events: none;
}
main .contents .form table tr:last-child > * {
	padding-bottom: 0px;
}
.sp main .contents .form table tr:last-child > th, .sp main .contents .form .format > table tr:last-child > td {
	padding-bottom: 10px;
}
main .contents .form .inputbox {
	margin-top: 5px;
	padding-left: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
main .contents .form textarea {
	width: 100%;
	height: 160px;
	padding: 8px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #707070;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
main .contents .form input[type="text"], main .contents .form input[type="email"], main .contents .form input[type="tel"], main .contents .form input[type="url"] {
	width: 100%;
	height: 34px;
	padding: 0px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	border: 1px solid #707070;
	outline: none;
}
main .contents .form input[type="text"].withlabel, main .contents .form input[type="email"].withlabel, main .contents .form input[type="tel"].withlabel, main .contents .form input[type="url"].withlabel {
	padding-left: 2rem;
}
main .contents .form select {
	width: 100%;
	height: 40px;
	padding: 0px 30px 0px 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 38px;
	border-left: none;
	border-top: none;
	border-right: 1px solid #fff;
	border-bottom: 1px solid #fff;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select.png) no-repeat right center;
	max-width: 420px;
	cursor: pointer;
}
main .contents .form select option {
	display: block;
	background: #fff;
	color: #004295;
	border: 1px solid #00B0D2;
	margin-top: 5px;
	padding: 20px;
}
main .contents .form .side {
	margin: 15px -5px -10px -25px;
}
main .contents .form .side.center {
	text-align: center;
}
main .contents .form .side li {
	display: inline-block;
	margin-left: 25px;
	margin-bottom: 10px;
}
main .contents .form .side + p {
	margin-top: 20px;
}
main .contents .form select::-ms-expand {
	display: none;
}
main .contents .form label {
	position: relative;
	display: inline-block;
	padding: 4px 0px 4px 25px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	cursor: pointer;
	word-break: normal;
}
.sp main .contents .form label {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form label input[type="radio"], main .contents .form label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}
main .contents .form label input[type="radio"]:focus + span:before, main .contents .form label input[type="checkbox"]:focus + span:before {
	-webkit-transform: scale(1.1);
	transform: scale(1.1);
}
main .contents .form label input[type="radio"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8px;
	background: #ffffff;
	border: 1px solid #535353;
	border-radius: 50%;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="radio"]:checked + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 10px;
	height: 10px;
	top: 0.9rem;
	left: 4px;
	margin-top: -4px;
	background: #004295;
	border-radius: 50%;
}
main .contents .form label input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8px;
	background: #ffffff;
	border: 1px solid #535353;
	border-radius: 5px;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"]:checked + span:before {
	border-color: #004295;
}
main .contents .form label input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0.9rem;
	left: 0px;
	margin-top: -7px;
	background: url(../images/check.svg) no-repeat center center;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"]:checked + span:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .form ul.checkbox:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .form ul.checkbox li {
	float: left;
	width: 32%;
}
.sp main .contents .form ul.checkbox li {
	float: none;
	width: 100%;
}
main .contents .form ul.checkbox li.other {
	clear: both;
}
main .contents .form .required_checkbox label input[type="checkbox"] + span:before {
	border: 1px solid #EF3340;
}
main .contents .form .required_checkbox.inputed label input[type="checkbox"] + span:before {
	border: 1px solid #535353;
}
main .contents .form p.otherarea {
	padding-left: 24px;
	margin-top: 5px;
}
main .contents .form .formbutton {
	text-align: center;
}
main .contents .form .formbutton button {
	position: relative;
	display: inline-block;
	width: 80%;
	max-width: 240px;
	height: 48px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 48px;
	color: #ffffff;
	background: #004295;
	border: 0px;
	border-radius: 5px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
main .contents .form .formbutton button:hover {
	opacity: 0.7;
}
.sp main .contents .form .formbutton button {
	display: block;
	margin: auto;
}
main .contents .form .formbutton button + button {
	margin-left: 20px;
}
.sp main .contents .form .formbutton button + button {
	margin-left: auto;
	margin-top: 20px;
}
main .contents .action_area {
	margin-top: 20px;
	padding: 30px 20px;
	background: #dbdbdb;
	text-align: center;
}
main .contents .action_area.story {
	margin-top: 80px;
}
.sp main .contents .action_area {
	padding: 20px 10px;
}
main .contents .action_area > div {
	margin: -20px auto 0;
	max-width: 1000px;
}
.tablet main .contents .action_area > div {
	padding: 0;
}
.sp main .contents .action_area > div {
	margin: -20px 0 0 -10px;
}
main .contents .action_area > div:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .action_area > div > a {
	display: block;
	float: left;
	padding: 10px;
	width: calc((100% - 100px) / 4);
	margin: 20px 0 0 20px;
	background: #004295;
	border-radius: 5px;
}
.sp main .contents .action_area > div > a {
	width: calc((100% - 50px) / 2);
}
.sp main .contents .action_area > div > a:nth-of-type(2n + 1) {
	clear: both;
}
main .contents .action_area > div > a > img {
	width: 24px;
	height: 24px;
}
main .contents .action_area > div > a > img.ProductLineup {
	width: auto;
}
main .contents .action_area > div > a > span {
	display: block;
	margin-top: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #fff;
}
main .contents .action_area > div > a > span.wwn {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 13.2px;
	line-height: 0.825rem;
	line-height: 1.1375rem;
}
main .contents .action_area > div > a > span.tue {
	font-size: 11px;
	font-size: 0.6875rem;
	line-height: 12.1px;
	line-height: 0.75625rem;
	line-height: 1.1375rem;
}
.sp main .contents .action_area > div > a > span {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
.sp main .contents .action_area > div > a > span.tue {
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 11px;
	line-height: 0.6875rem;
	line-height: 0.975rem;
}
main .contents .box {
	padding: 14px;
	border: 1px solid #707070;
}
.sp main .contents .box {
	padding: 7px;
}
main .contents.products_lv3 h1 {
	margin: 0;
}
main .contents.products_lv3 .h1_category {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
main .contents.products_lv3 .area_info > p {
	display: none;
	margin-bottom: 15px;
}
.region2 main .contents.products_lv3 .area_info > p.NorthAmerica {
	display: block;
}
.region3 main .contents.products_lv3 .area_info > p.CentralSouthAmerica {
	display: block;
}
.region7 main .contents.products_lv3 .area_info > p.SouthAfrica {
	display: block;
}
.region8 main .contents.products_lv3 .area_info > p.CIS {
	display: block;
}
main .contents.products_lv3 .promotion {
	position: relative;
	display: inline-block;
	line-height: 20px;
	padding-right: 25px;
}
main .contents.products_lv3 .promotion:after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: 0;
	top: 0;
	background: url(../images/arrow.svg) no-repeat top right;
}
main .contents.products_lv3 > div.background {
	background: url(../images/bg_product.png);
	border-bottom: 1px solid #004295;
}
main .contents.products_lv3 > div.background div.inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
}
.sp main .contents.products_lv3 > div.background div.inner {
	padding: 20px 10px 40px;
}
main .contents.products_lv3 > div.background div.inner:after {
	content: "";
	display: block;
	clear: both;
}
main .contents.products_lv3 > div.background div.inner > div {
	float: right;
	width: 50%;
	padding: 20px;
	background: #fff;
}
.sp main .contents.products_lv3 > div.background div.inner > div {
	float: none;
	width: 100%;
}
main .contents.products_lv3 > div.background div.inner > div + div {
	float: left;
	padding: 0 8% 0 0;
	background: none;
}
.sp main .contents.products_lv3 > div.background div.inner > div + div {
	padding: 20px 0 0 0;
}
main .contents.products_lv3 > div.background div.inner > div h2 {
	margin: 20px 0 0 0;
	padding: 10px 0;
	border-top: 1px dotted #707070;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	text-align: center;
}
main .contents.products_lv3 > div.background div.inner > div .spaclist:after {
	content: "";
	display: block;
	clear: both;
}
main .contents.products_lv3 > div.background div.inner > div .spaclist li {
	float: left;
	width: calc((100% - 14px) / 2);
}
main .contents.products_lv3 > div.background div.inner > div .spaclist li a {
	display: block;
	width: 100%;
	padding: 15px 30px 15px 10px;
	color: #fff;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 13.2px;
	line-height: 0.825rem;
	border-radius: 5px;
	background: url(../images/ico_pdf.svg) no-repeat right 10px center #004295;
}
main .contents.products_lv3 > div.background div.inner > div .spaclist li:nth-of-type(2n) {
	margin-left: 14px;
}
main .contents.products_lv3 > div.background div.inner > div .spaclist li:nth-of-type(n+3) {
	margin-top: 12px;
}
main .contents.products_lv3 > div.background div.inner > div .spaclist li:nth-of-type(2n+1) {
	clear: both;
}
main .contents.products_lv3 > div.background div.inner > div .product_action {
	margin: 10px 0 0 0;
	padding: 20px 0;
	border-top: 1px dotted #707070;
}
main .contents.products_lv3 > div.background div.inner > div .product_action:after {
	content: "";
	display: block;
	clear: both;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a {
	display: block;
	float: left;
	padding: 15px 10px;
	width: calc((100% - 14px) / 2);
	background: #004295;
	border-radius: 5px;
	text-align: center;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a:nth-of-type(2n) {
	margin-left: 14px;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a:nth-of-type(n+3) {
	margin-top: 12px;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a:nth-of-type(2n+1) {
	clear: both;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a > img {
	width: 24px;
	height: 24px;
}
main .contents.products_lv3 > div.background div.inner > div .product_action > a > span {
	display: block;
	margin-top: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
	color: #fff;
}
.sp main .contents.products_lv3 > div.background div.inner > div .product_action > a > span {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img > div {
	position: relative;
	width: 100%;
	height: 100%;
	padding: 100% 0 0;
}
.sp main .contents.products_lv3 > div.background div.inner > div .slide_img > div a {
	pointer-events: none;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img img {
	width: 100%;
	height: auto;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
main .contents.products_lv3 > div.background div.inner > div .slide_img .youtube {
	position: absolute;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	padding-bottom: 56.25%;
	width: 100%;
	height: auto;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img.tatenaga img {
	width: auto;
	height: 100%;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img + .slider .slick-slide {
	cursor: pointer;
}
main .contents.products_lv3 > div.background div.inner > div .slide_img + .slider .slick-slide.ac {
	border: 2px solid #004295;
}
main .contents.products_lv3 h2 {
	margin: 50px 0 25px 0;
	text-align: left;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
.sp main .contents.products_lv3 h2 {
	text-align: center;
}
main .contents.products_lv3 h2:first-child {
	margin-top: 0;
}
main .contents #area_alert {
	text-align: center;
	padding-top: 30px;
}
main .contents #area_alert > * {
	display: inline-block;
	vertical-align: middle;
}
.sp main .contents #area_alert > * {
	display: block;
}
main .contents #area_alert > .button {
	margin: 0 0 0 10px;
}
.sp main .contents #area_alert > .button {
	margin: 10px 0 0 0;
}
main .contents #area_alert > .button a {
	width: auto;
}
main .contents #area_alert > .button a span {
	padding-right: 40px;
}
main .contents #area_alert + #area_alert {
	display: none;
}
main .contents .background > .tab {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
	padding: 0 20px;
}
.sp main .contents .background > .tab {
	padding: 20px 10px 40px;
}
.sp main .contents .background > .tab {
	padding: 0;
}
main .contents .tab ul {
	font-size: 0;
	line-height: 0;
}
main .contents .tab ul li {
	display: inline-block;
	width: 25%;
}
.sp main .contents .tab ul li {
	width: 50%;
}
main .contents .tab ul li + li {
	border-left: 1px solid #fff;
}
.sp main .contents .tab ul li + li {
	border-left: none;
}
main .contents .tab ul li > a {
	display: table;
	width: 100%;
	padding: 0 10px;
	background: #DBDBDB;
	color: #000000;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
main .contents .tab ul li > a.current {
	color: #fff;
	background: #004295;
}
main .contents .tab ul li > a span {
	display: table-cell;
	vertical-align: middle;
	height: 4em;
	overflow: hidden;
}
main .contents .tab ul li > span {
	display: block;
	width: 100%;
	height: 4em;
	padding: 0 10px;
	background: #004295;
	color: #fff;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	line-height: 4em;
}
main .contents .tab_area > div:not(:first-child) {
	display: none;
}
.sp main .contents .content_menu .text {
	display: table;
}
.sp main .contents .content_menu .text > * {
	display: table-cell;
	vertical-align: top;
	padding-right: 5px;
}
.sp main .contents .content_menu .text > * + * {
	padding-left: 5px;
	padding-right: 0;
}
.sp main .contents .content_menu .text .image img {
	height: 70px;
	max-width: none;
	width: auto;
}
.sp main .contents .content_menu .text .small {
	display: none;
}
main .contents .news:after {
	content: "";
	display: block;
	clear: both;
}
.sp main .contents .news {
	padding-bottom: 0px;
}
main .contents .news > ul.tab {
	width: calc(100% + 1.2rem);
	margin-top: -1rem;
	margin-left: -1.2rem;
	text-align: center;
	font-size: 0;
}
.sp main .contents .news > ul.tab {
	width: calc(100% + 5px);
	margin-left: -5px;
	text-align: left;
}
main .contents .news > ul.tab li {
	display: inline-block;
	font-size: 0;
	margin-top: 1rem;
	margin-left: 1.2rem;
	text-align: center;
}
.sp main .contents .news > ul.tab li {
	margin-left: 5px;
	width: calc(33% - 5px);
}
main .contents .news > ul.tab li a {
	display: block;
	padding: 10px;
	min-width: 8rem;
	background: #B5B5B5;
	border-radius: 20px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #fff;
}
.sp main .contents .news > ul.tab li a {
	min-width: 0;
}
main .contents .news > ul.tab li a.current {
	background: #004295;
}
main .contents .news .newslist li {
	display: block;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px dotted #535353;
}
main .contents .news .newslist li div {
	position: relative;
	display: table;
	width: 100%;
}
.sp main .contents .news .newslist li div {
	display: block;
}
main .contents .news .newslist li div .date {
	display: table-cell;
	width: 8.75rem;
	padding-top: 0.85rem;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
	font-weight: bold;
	vertical-align: top;
	-webkit-transform: translateY(-0.5em);
	transform: translateY(-0.5em);
	text-align: left;
}
.sp main .contents .news .newslist li div .date {
	display: inline-block;
	margin-bottom: 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
}
main .contents .news .newslist li div .category {
	position: relative;
	display: table-cell;
	width: 10rem;
	top: 0.85rem;
	vertical-align: top;
	-webkit-transform: translateY(-10px);
	transform: translateY(-10px);
}
.sp main .contents .news .newslist li div .category {
	display: inline-block;
	padding-bottom: 5px;
	width: calc(100% - 8.75rem - 10px);
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 20px;
	text-align: right;
}
main .contents .news .newslist li div .category span {
	display: inline-block;
	width: 7.5rem;
	height: 20px;
	margin-bottom: 5px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 20px;
	color: #ffffff;
	text-align: center;
	background: #535353;
}
.sp main .contents .news .newslist li div .category span {
	margin-right: 5px;
}
main .contents .news .newslist li div .link {
	display: table-cell;
	vertical-align: top;
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
}
.sp main .contents .news .newslist li div .link {
	display: block;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
main .contents .news .newslist li div .link a {
	position: relative;
	display: table;
	width: 100%;
	color: #000000;
}
main .contents .news .newslist li div .link a > div {
	width: auto;
}
main .contents .news .newslist li div .link a * {
	-webkit-transition: opacity 0.2s;
	transition: opacity 0.2s;
}
main .contents .news .newslist li div .link a .size {
	display: block;
}
.sp main .contents .news .newslist li div .link a .size:before {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(../images/pdficon.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .news .newslist li div .link a:hover * {
	opacity: 0.7;
}
main .contents .news .newslist li div .link a > * {
	display: table-cell;
}
.sp main .contents .news .newslist li div .link a > * {
	display: block;
}
main .contents .news .newslist li div .link a .icon {
	position: relative;
	width: 120px;
	background: none no-repeat center center;
}
.sp main .contents .news .newslist li div .link a .icon {
	display: none;
}
main .contents .news .newslist li div .link a .icon:before {
	content: "";
	display: block;
	position: absolute;
	width: 1px;
	height: 80%;
	top: 10%;
	left: 40px;
	background: #535353;
}
.sp main .contents .news .newslist li div .link a .icon:before {
	left: 10px;
}
main .contents .news .newslist li div .link a .icon.pdf {
	background-position: 71.25px center;
	background-image: url(../images/pdficon.svg);
}
main .contents .news .newslist li div .link a .icon.pdf:after {
	display: none;
}
.sp main .contents .news .newslist li div .link a .icon.pdf {
	background-position: 25px center;
}
main .contents .news .newslist li div .link a .icon.blank {
	background-position: 71.25px center;
	background-image: url(../images/blank.svg);
}
.sp main .contents .news .newslist li div .link a .icon.blank {
	background-position: 25px center;
}
main .contents .news .newslist li div .link a .icon.blank:after {
	display: none;
}
main .contents .news .more {
	text-align: right;
	margin-top: 20px;
}
.sp main .contents .news .more {
	display: none;
}
main .contents .news .more.sp {
	display: none;
}
.sp main .contents .news .more.sp {
	display: block;
	margin-bottom: 20px;
	text-align: center;
}
main .contents .news .more a {
	position: relative;
	margin-right: 30px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	position: relative;
	display: inline-block;
}
main .contents .news .more a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
main .contents .news .more a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .news .more a:after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: -30px;
	top: 50%;
	margin-top: -10px;
	background: url(../images/next.svg) no-repeat center center;
}
main .contents .contact h2 {
	padding-bottom: 25px;
	margin-bottom: 25px;
	border-bottom: 1px solid #000;
	text-align: left;
}
main .contents p.notice, main .contents .text p.notice {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	color: #ff0000;
}
main .contents .profilebox {
	border: 1px solid #707070;
}
main .contents .profilebox .image {
	vertical-align: middle;
}
main .contents .profilebox .text {
	position: relative;
	padding: 20px 20px 80px 20px;
}
.sp main .contents .profilebox .text {
	padding: 10px !important;
}
main .contents .profilebox .text .title {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}
main .contents .profilebox .text .lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
main .contents .profilebox .text .button {
	position: absolute;
	bottom: 20px;
	left: 20px;
}
.sp main .contents .profilebox .text .button {
	position: static;
	margin-top: 20px;
}
main .contents .background.about01 {
	background: url(../../about/images/about01.jpg) no-repeat center center;
	background-size: cover;
}
main .contents .background.about01 h2 {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	color: #fff;
	text-align: left;
}
main .contents .background.about01 h2 span {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
main .contents .background.about01 > .inner {
	position: relative;
	width: 100%;
	margin: auto;
	padding: 50px 20px;
	max-width: 740px;
}
main .contents .background.about01 > .inner .colbox {
	display: table;
	width: 100%;
}
main .contents .background.about01 > .inner .colbox > div {
	display: table-cell;
	width: 50%;
	padding: 0 0 0 10px;
	vertical-align: middle;
}
main .contents .background.about01 > .inner .colbox > div:first-child {
	padding: 0 10px 0 0;
}
main .contents .background.about02 {
	background: url(../../about/images/about09.jpg) no-repeat center top;
	background-size: cover;
}
main .contents .background.about02 > .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
}
.sp main .contents .background.about02 > .inner {
	padding: 20px 10px 40px;
}
main .contents .background.about02 > .inner .menu {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin: 40px auto;
}
main .contents .background.about02 > .inner .menu:after {
	content: "";
	display: block;
	clear: both;
}
main .contents .background.about02 > .inner .menu > div {
	padding: 0 1rem;
	width: 25%;
	text-align: center;
}
.sp main .contents .background.about02 > .inner .menu > div {
	width: 50%;
}
main .contents .background.about02 > .inner .menu > div > a {
	display: block;
	position: relative;
	max-width: 280px;
	width: 100%;
	margin: auto;
	border-radius: 50%;
	overflow: hidden;
}
main .contents .background.about02 > .inner .menu > div p {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.sp main .contents .background.about02 > .inner .menu > div p {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .background.about02 > .inner .menu.esgmenu > div > a img {
	border: 2px solid #DBDBDB;
	border-radius: 50%;
}
main .contents .background.about02 > .inner .menu.esgmenu > div > a.hover img, main .contents .background.about02 > .inner .menu.esgmenu > div > a:hover img {
	border: 2px solid #004295;
}
main .contents .background.about02 > .inner .link {
	margin: auto;
	text-align: center;
}
.sp main .contents .background.about02 > .inner .link {
	margin-top: 20px;
}
main .contents .background.about02 > .inner .link > a {
	display: inline-block;
	padding: 10px;
	text-align: left;
	border: 1px solid #004295;
	border-radius: 5px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .background.about02 > .inner .link > a:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(../images/pdficon.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .background.about03 {
	margin-top: -80px;
	background: url(../../about/images/lyd.jpg) no-repeat center center;
	background-size: cover;
}
.sp main .contents .background.about03 {
	margin-top: -40px;
}
main .contents .background.about03 > .inner {
	position: relative;
	width: 100%;
	margin: auto;
	padding: 2.5rem 20px;
	max-width: 1220px;
}
main .contents .background.about03 > .inner .text p {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 37.4px;
	line-height: 2.3375rem;
}
.sp main .contents .background.about03 > .inner .text p {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
main .contents .background.lyd {
	background: url(../../about/images/lyd.jpg) no-repeat center center;
	background-size: cover;
}
main .contents .magazinebox {
	padding: 20px;
	border: 1px solid #707070;
}
main .contents .magazinebox > .imagebox {
	margin-top: 0;
}
.sp main .contents .magazinebox > .imagebox {
	margin-top: 20px;
}
.sp main .contents .magazinebox > .imagebox > .text {
	padding-top: 0;
}
main .contents .magazinebox > .imagebox > .text .title {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 30.8px;
	line-height: 1.925rem;
}
main .contents .magazinebox > .imagebox > .text p + p {
	margin-top: 10px;
}
main .contents .magazinebox > .imagebox > .text .button {
	margin-top: 20px;
}
.sp main .contents .magazinebox .title {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 24.2px;
	line-height: 1.5125rem;
}
main .contents .googlemap {
	position: relative;
	padding-top: 50%;
}
.sp main .contents .googlemap {
	padding-top: 75%;
}
main .contents .googlemap iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
	-webkit-transition: opacity 400ms;
	transition: opacity 400ms;
}
main .contents .googlemap.googlemapview {
	background: url(../images/loading.gif) no-repeat center center;
}
main .contents .googlemap.googlemapview iframe {
	position: fixed;
	top: 90vh;
	opacity: 0;
	-webkit-transition: opacity 0ms;
	transition: opacity 0ms;
}
main .contents .youtube {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}
main .contents .youtube > div {
	position: relative;
	padding-top: 56.25%;
}
main .contents .youtube > div > iframe,
main .contents .youtube > div > video {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0px;
}
main .contents .youtube p {
	margin: auto;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
* + main .contents .youtube p {
	margin-top: 8px;
}
main .contents .pdf:after {
	content: "";
	position: relative;
	display: inline-block;
	width: 18px;
	height: 20px;
	top: -1px;
	margin: 0px 5px;
	padding: 0px !important;
	background: url(../images/pdficon.svg) no-repeat;
	background-size: 18px 20px;
	vertical-align: middle;
	overflow: hidden;
}
main .contents .pdf[href$='.zip']:after {
	width: 20px;
	background: url(../images/download_icon.svg) no-repeat;
	background-size: 20px 20px;
}
main .contents .productslink {
	position: relative;
	width: 100%;
	padding: 40px 20px;
	height: 380px;
	background: url(../../businesses/images/productslink_bg.jpg) no-repeat bottom center;
	color: #fff;
	background-size: cover;
}
.sp main .contents .productslink {
	height: auto;
	padding: 20px 10px;
	background: url(../../businesses/images/productslink_bg_sp.jpg) no-repeat bottom center;
	background-size: cover;
}
.sp main .contents .productslink:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 100%;
	bottom: 0;
	left: 0;
	z-index: 2;
	background: -moz-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
	background: -webkit-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
	background: -ms-linear-gradient(rgba(0, 0, 0, 0.2), rgba(0, 0, 0, 0.6));
}
main .contents .productslink h2 {
	margin-bottom: 20px;
	text-align: left;
}

.slidesw {
	width: 90%;
	margin: 0px auto 40px;
  /*
  	a {
  		position: relative;
  		display: block;
  		width: 100%;
  		padding: 14px 0px 0px;
  		@include fontsize(16, 1.5);
  		color: #000000;
  		@include hover;
  		background: $color_gray;
  
  		&:before {
  			position: absolute;
  			content: "";
  			display: block;
  			width: 100%;
  			height: 6px;
  			top: 0px;
  			left: 0px;
  			background: $color_gray;
  		}
  
  		&:after {
  			position: absolute;
  			content: "";
  			display: block;
  			width: 0%;
  			height: 6px;
  			top: 0px;
  			right: 0px;
  			background: $color_main;
  			-webkit-transition: 600ms;
  			transition: 600ms;
  		}
  	}
  */
}
.sp .slidesw {
	width: 100%;
	margin: 0;
	padding: 20px;
}
.sp .slidesw select {
	background: url(../images/select.png) no-repeat right center #fff;
	max-width: 350px;
	border: 1px solid #B5B5B5;
}
.slidesw ul {
	margin-right: -5px;
	padding: 0.8rem 2px 0;
	overflow: hidden;
}
.sp .slidesw ul {
	display: none;
}
.slidesw li {
	float: left;
	margin: 0 2px -1px 2px;
	width: calc((100% - 32px) / 8);
}
.slidesw li.left a:after {
	left: 0px;
	right: auto;
}
.slidesw.products li {
	width: calc((100% - 5px) / 7);
}
.slidesw a {
	display: table;
	width: 100%;
	padding: 1px;
	height: 3rem;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	text-align: center;
	background: #004295;
	color: #fff;
}
.slidesw a span {
	display: table-cell;
	vertical-align: middle;
}
.slidesw .current a {
	color: #000000;
	height: 3.5rem;
	margin-top: -0.5rem;
	background: #fff;
	box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.2);
	transition: 0.2s;
}
.slidesw .current a:after {
	width: 100%;
}
.slidesw select {
	display: none;
	width: 100%;
	max-width: 295px;
	height: 40px;
	margin: auto;
	padding: 0px 40px 0px 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 38px;
	color: #000000;
	border: 1px solid #DBDBDB;
	border-radius: 5px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select.png) no-repeat right center;
	cursor: pointer;
}
.sp .slidesw select {
	display: block;
}
.slidesw select::-ms-expand {
	display: none;
}

.slider {
	margin-top: 20px;
	padding: 0 40px;
}
.slider.single {
	padding: 0;
}
.slider.single img {
	margin-bottom: 15px;
}
.slider > div {
	width: 100%;
}
.slider > div:after {
	content: "";
	display: block;
	clear: both;
}
.slider > div > div img {
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.slider > div > div img:hover {
	opacity: 0.7;
}
.slider > div .slide-arrow {
	position: absolute;
	width: 30px;
	height: 30px;
	top: 0;
	bottom: 0;
	margin: auto;
	cursor: pointer;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.slider > div .slide-arrow:hover {
	opacity: 0.7;
}
.slider > div .slide-arrow.prev-arrow {
	background: url(../images/slide_left.png) no-repeat;
	background-size: 30px 30px;
	left: -40px;
}
.slider > div .slide-arrow.next-arrow {
	background: url(../images/slide_right.png) no-repeat;
	background-size: 30px 30px;
	right: -40px;
}
.slider > div div.slick-slide {
	margin: 0 8px;
}
.slider > div:not(.slick-slider) div {
	width: calc((100% - 48px) / 4);
	float: left;
}
.slider > div:not(.slick-slider) div + div {
	margin-left: 16px;
}
.slider > div .slick-disabled {
	visibility: hidden;
}
.slider > div a {
	display: block;
}
.slider > div img {
	width: 100%;
	height: auto;
}

.slide {
	position: relative;
	-webkit-transition: height 400ms;
	transition: height 400ms;
}
.slide .image {
	margin: 40px 0 10px 0;
}
.sp .slide .image {
	margin: 0;
}
.slide .image img {
	margin-left: 0 !important;
}
.sp .slide {
	margin-top: 20px;
}
.sp .slide p {
	display: inline-block;
	width: calc((100% - 20px) / 2);
	vertical-align: top;
}
.sp .slide p + p {
	margin-left: 15px;
}
.slide > div {
	position: absolute;
	left: 50%;
	top: 0px;
	width: 100%;
	opacity: 0;
	-webkit-transform: translateX(-160%);
	transform: translateX(-160%);
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms 600ms;
	transition: transform 1200ms, opacity 600ms 600ms;
	pointer-events: none;
}
.slide > div.left {
	-webkit-transform: translateX(60%);
	transform: translateX(60%);
}
.slide > div.show {
	-webkit-transform: translateX(-50%) !important;
	transform: translateX(-50%) !important;
	opacity: 1;
	-webkit-transition: -webkit-transform 1200ms, opacity 600ms;
	transition: transform 1200ms, opacity 600ms;
	pointer-events: auto;
}
.slide > div.show:after {
	content: "";
	display: block;
	clear: both;
}
.slide > div.show > div {
  /*
  float: left;
  */
}
.sp .slide > div.show > div {
	float: none;
}
.slide > div.show > div + div {
	margin-left: 0px;
}
.sp .slide > div.show > div + div {
	margin: 20px 0 0 0;
}
.slide > div .productempty {
	padding: 30px 0;
	text-align: center;
}
.sp .slide > div .productempty p {
	width: 100%;
}

section h2 {
	position: relative;
	clear: both;
	display: block;
	margin: 0px 0px 20px;
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 57px;
	line-height: 3.5625rem;
	font-weight: normal;
	text-align: center;
}
.sp section h2 {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 36.4px;
	line-height: 2.275rem;
}
section .related {
	background: #dbdbdb;
	padding: 30px 0;
}
.sp section .related {
	padding: 15px 0;
}
section .related ul {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
}
section .related ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp section .related ul {
	padding: 0px 10px 0px;
}
section .related ul li {
	width: 22%;
	float: left;
	text-align: center;
}
.sp section .related ul li {
	width: 48%;
}
.sp section .related ul li:nth-of-type(n+3) {
	margin-top: 20px;
}
.sp section .related ul li:nth-of-type(2n+1) {
	margin-left: 0;
}
section .related ul li + li {
	margin-left: 4%;
}
section .related ul li a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000000;
}
section .related ul li a:hover {
	opacity: 0.7;
}
section .related ul li img {
	width: 100%;
	height: auto;
	margin-bottom: 10px;
}
.sp section .related.news {
	padding: 0;
}
section .related.news div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
}
.sp section .related.news div {
	padding: 0px 10px 0px;
}
.sp section .related.news div {
	padding: 0;
	border: none;
}
section .related.news div .title {
	text-align: center;
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.sp section .related.news div .title {
	display: none;
}
section .related.news ul {
	margin: -20px 0 0 -20px;
	text-align: center;
}
section .related.news ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp section .related.news ul {
	margin: 0;
}
section .related.news ul li {
	width: auto;
	padding: 0 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	display: inline-block;
	margin: 20px 0 0 20px;
	float: none;
}
.sp section .related.news ul li {
	display: block;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #ececec;
}
section .related.news ul li a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000000;
}
section .related.news ul li a:hover {
	opacity: 0.7;
}
.sp section .related.news ul li a {
	display: block;
	width: 100%;
	padding: 13px;
	text-align: left;
	text-decoration: none;
}
section .related.news ul li.current a {
	color: #004295;
}
section .related_product {
	background: #dbdbdb;
	padding: 30px 10px;
}
section .related_product > div {
	display: none;
}
section .related_product > div.region1 {
	display: block;
}
.region2 section .related_product > div.region1, .region3 section .related_product > div.region1, .region4 section .related_product > div.region1, .region5 section .related_product > div.region1, .region6 section .related_product > div.region1, .region7 section .related_product > div.region1, .region8 section .related_product > div.region1, .region9 section .related_product > div.region1 {
	display: none;
}
.region2 section .related_product > div.region2, .region3 section .related_product > div.region3, .region4 section .related_product > div.region4, .region5 section .related_product > div.region5, .region6 section .related_product > div.region6, .region7 section .related_product > div.region7, .region8 section .related_product > div.region8, .region9 section .related_product > div.region9 {
	display: block;
}
section .related_product > div .ac {
	border: 2px solid #004295;
}
section .related_product > div.alert {
	text-align: center;
}
section + section {
	margin-top: 80px;
}
.sp section + section {
	margin-top: 40px;
}

main .contents .menu + .menu {
	margin-top: 0;
}
.sp main .contents .menu {
	margin-bottom: -10px !important;
}
.sp main .contents .menu > * {
	margin-bottom: 10px !important;
}

main .contents .menu a > div span {
	position: absolute;
	width: 100%;
	padding: 10px;
	text-align: center;
	bottom: 0;
	left: 0;
	color: #fff;
	font-weight: bold;
	z-index: 10;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 19.8px;
	line-height: 1.2375rem;
}
.sp main .contents .menu a > div span {
	padding-bottom: 5px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 14.4px;
	line-height: 0.9rem;
}
main .contents .menu a > div span.sub {
	position: static;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 28px;
	line-height: 1.75rem;
}
.sp main .contents .menu a > div span.sub {
	font-size: 10px;
	font-size: 0.625rem;
	line-height: 12px;
	line-height: 0.75rem;
}

main .contents .menu a > .image:after {
	content: "";
	display: block;
	position: absolute;
	width: 100%;
	height: 50%;
	bottom: 0;
	left: 0;
	z-index: 2;
	background: -moz-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: -webkit-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
	background: -ms-linear-gradient(transparent, rgba(0, 0, 0, 0.5));
}
.sp main .contents .menu a > .image:after {
	height: 70%;
}

.sp main .contents .table .product a {
	padding: 5px;
}

.alternative_area .region1, .alternative_area .region2, .alternative_area .region3, .alternative_area .region4, .alternative_area .region5, .alternative_area .region6, .alternative_area .region7, .alternative_area .region8, .alternative_area .region9 {
	display: none;
}

.sp main .contents.products_lv3 > div.background .view_sp div.inner {
	padding-bottom: 0;
}

main .contents .tab + div {
	margin-top: 20px;
}

main .contents .table .product img {
	width: 100%;
	max-width: 120px;
	min-width: 100px;
}

main .contents .column > .text {
	margin-top: 0;
}

main .contents .slide > div > ul.anchor li {
	position: relative;
	display: inline-block;
	padding-right: 30px;
	margin: 10px 0 0 30px;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 19.5px;
	line-height: 1.21875rem;
}
.sp main .contents .slide > div > ul.anchor li {
	display: block;
	padding-right: 0;
}
main .contents .slide > div > ul.anchor li:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	left: -30px;
	top: 50%;
	margin-top: -10px;
	background: url(../images/anchor.svg) no-repeat center center;
}

.gotolist {
	margin-top: 20px;
	text-align: right;
}
.gotolist a {
	position: relative;
	margin-right: 30px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #000000;
	position: relative;
	display: inline-block;
}
.gotolist a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.15em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #000000;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.gotolist a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.gotolist a:after {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	right: -30px;
	top: 50%;
	margin-top: -10px;
	background: url(../images/totop.svg) no-repeat center center;
}

main .contents .table > table.product .lineuptitle {
	margin-bottom: 0.5rem;
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 24.2px;
	line-height: 1.5125rem;
}
main .contents .table > table.product .lineuptitle .new {
	vertical-align: super;
	color: #f00;
	padding-left: 7px;
	font-weight: bold;
}
main .contents .table > table.product .lineupimg {
	padding: 0;
}
main .contents .table > table.product .lineupimg img {
	display: block;
	margin: auto;
}

main .contents .column.col2 > *:nth-of-type(2n+1) {
	clear: both;
}

.tablet main .contents .text .image.floatright, .tablet main .contents .text .image.floatleft {
	float: none;
	width: auto !important;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 0px;
}

main .contents .imagebox > .image img.border {
	border: 1px solid #dbdbdb;
}

main .contents .product_free .imagebox > .image img {
	width: 100%;
	max-width: none;
}

.anchor li {
	position: relative;
	display: inline-block;
	padding-right: 30px;
	margin: 10px 0 0 30px;
	font-size: 15px;
	font-size: 0.9375rem;
	line-height: 19.5px;
	line-height: 1.21875rem;
}
.sp .anchor li {
	display: block;
	padding-right: 0;
}
.anchor li:before {
	content: "";
	position: absolute;
	display: block;
	width: 20px;
	height: 20px;
	left: -30px;
	top: 50%;
	margin-top: -10px;
	background: url(../images/anchor.svg) no-repeat center center;
}
.anchor li.ex {
	margin-left: 0;
	padding-left: 30px;
}
.anchor li.ex:before {
	display: none;
}
.anchor li + .ex {
	border-left: 1px solid #707070;
}

main .contents .text ol li > * {
	display: inline-block;
	vertical-align: top;
}

main .contents .update {
	text-align: right;
}

.faq p {
	margin-left: 1.4rem;
	text-indent: -1.4rem;
}

.button {
	font-size: 0px;
}
.sp .button {
	text-align: center;
}
.button > div {
	display: inline-block;
	vertical-align: middle;
}
.sp .button > div {
	display: block;
}
.button > div + div {
	margin-left: 20px;
}
.sp .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
.button a {
	display: table;
	width: 170px;
	max-width: 100%;
	margin: auto;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	color: #ffffff;
	background: #004295;
	border-radius: 5px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.button a:hover {
	opacity: 0.7;
}
.button a > span {
	display: table-cell;
	vertical-align: middle;
	padding: 10px 30px 10px 10px;
	text-align: left;
	background: url(../images/ico_button.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.contact {
	background: url(../images/action_ico04.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.site {
	background: url(../images/blankwhite.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.pdf {
	background: url(../images/pdficon.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.pdf:after {
	display: none;
}
.button a > span.pdf_white {
	background: url(../images/ico_pdf.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.pdf_white:after {
	display: none;
}
.button a > span.blank {
	background: url(../images/blankwhite.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.blank:after {
	display: none;
}
.button a > span.download {
	background: url(../images/download_iconwhite.svg) no-repeat center right 10px;
	background-size: 20px 20px;
}
.button a > span.download:after {
	display: none;
}
.button a.download > span span {
	position: relative;
	display: inline-block;
	padding-left: 30px;
}
.button a.download > span span:before {
	content: url(../images/download.svg);
	display: inline-block;
	position: absolute;
	width: 22.5px;
	height: 30px;
	left: 0px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.button.left {
	text-align: left;
}
.button.left a {
	margin-left: 0;
}
.button.center {
	text-align: center;
}
.button.right {
	text-align: right;
}
.button.right a {
	margin-right: 0;
}
.sp .button.sp_center {
	text-align: center;
}
.sp .button.sp_center a {
	margin: auto;
}
.button.white a {
	color: #004295;
	background: #ffffff;
}
.button.white a > span {
	background: url(../images/ico_button_white.svg) no-repeat center right 10px;
}

h1.level3 {
	font-size: 46px;
	font-size: 2.875rem;
	line-height: 59.8px;
	line-height: 3.7375rem;
	max-width: 1220px;
	padding: 0 20px;
	margin: 60px auto 40px;
}
.sp h1.level3 {
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 49.4px;
	line-height: 3.0875rem;
	padding: 10px;
	margin: 30px auto 20px;
}

#categorylabel + #breadcrumbs {
	border: none;
}

#wwn_map {
	display: table;
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
	table-layout: fixed;
}
.pc #wwn_map {
	display: block;
}
#wwn_map > div {
	display: table-cell;
	width: 50%;
	padding-right: 10px;
}
.pc #wwn_map > div {
	display: block;
}
#wwn_map > div h2 {
	margin-bottom: 20px;
}
.pc #wwn_map > div {
	width: auto;
	padding-right: 0;
}
#wwn_map > div > div {
	position: relative;
	/*
	background: url(../../businesses/wwnetwork/images/bg_map.png) center 70px #004295 no-repeat;
	*/
	height: 430px;
	padding-top: 80px;
}
.tablet #wwn_map > div > div {
	display: none;
}
#wwn_map > div > div p {
	position: absolute;
	left: 20px;
	top: 20px;
	color: #fff;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 26px;
	line-height: 1.625rem;
}
#wwn_map > div > div ul {
	position: relative;
	width: auto;
	height: 343px;
	margin: 0 auto;
}
#wwn_map > div > div ul li {
	position: absolute;
	width: 160px;
}
.pc #wwn_map > div > div ul li {
	width: 180px;
}
#wwn_map > div > div ul li a {
	display: block;
	text-align: center;
	background: #fff;
	color: #004295;
	padding: 10px 5px;
	border: 1px solid #fff;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
}
#wwn_map > div > div ul li a.ac {
	background: #004295;
	color: #fff;
}
#wwn_map > div > div ul li.region1 {
	left: 36%;
	top: 24%;
}
#wwn_map > div > div ul li.region2 {
	left: 14%;
	top: 24%;
}
#wwn_map > div > div ul li.region3 {
	left: 14%;
	top: 58%;
}
#wwn_map > div > div ul li.region4 {
	left: 68%;
	top: 24%;
}
#wwn_map > div > div ul li.region5 {
	left: 54%;
	top: 42%;
}
#wwn_map > div > div ul li.region6 {
	left: 38%;
	top: 58%;
}
#wwn_map > div > div ul li.region7 {
	left: 36%;
	top: 68%;
}
#wwn_map > div > div ul li.region8 {
	left: 53%;
	top: 3%;
}
#wwn_map > div > div ul li.region9 {
	left: 58%;
	top: 65%;
}

#wwn_content {
	padding-top: 40px;
}
#wwn_content > div:not(:first-child) {
	display: none;
}
.tablet #wwn_content > div:not(:first-child) {
	display: block;
}
.tablet #wwn_content > div:not(:first-child) h2 {
	margin-top: 40px;
}
.tablet #wwn_content h2.sp_mb0 {
	margin-bottom: 0px;
}

.button.wide {
	margin: -20px 0 0 -20px;
}
.sp .button.wide {
	margin: 0;
}
.button.wide.back {
	margin-top: 40px;
}
.sp .button.wide.back.w230 a {
	min-width: 230px;
}
.sp .button.wide.back {
	margin-top: 30px;
}
.button.wide.back a span:not(.contact) {
	background: url(../images/ico_button_back.svg) no-repeat center right 10px;
}
.button.wide.back a span.contact {
	margin-right: 20px;
}
.sp .button.wide.back a span.contact {
	margin: 0 20px 0 0;
}
.button.wide.back > div {
	margin: 0;
}
.button.wide.back > div.contact + div {
	margin-left: 20px;
}
.sp .button.wide.back > div.contact + div {
	margin-left: 0;
	margin-top: 20px;
}
.button.wide > div {
	margin: 20px 0 0 20px;
}
.sp .button.wide > div {
	margin-left: 0;
}
.button.wide > div a {
	width: auto;
	min-width: 170px;
}
.button.wide > div a span {
	padding: 10px 40px 10px 10px;
}

main .contents h2.small {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
}

.design {
	overflow-x: auto;
	overflow-y: hidden;
}
.design table {
	width: 100%;
	border-spacing: 0;
	empty-cells: show;
	border-collapse: separate;
}

.design table caption {
	font-size: 10px;
	text-align: right;
}

.design table th, .design main .contents .format > table td, main .contents .design .format > table td {
	background: #004295;
	color: #FFF;
	font-weight: normal;
}

.design table th, .design main .contents .format > table td, main .contents .design .format > table td,
.design table td {
	padding: 3px 5px 3px 5px;
	border: solid 1px #cdcdcd;
	border-collapse: collapse;
	font-size: 12px;
	text-align: left;
}

.design table table {
	width: auto;
	margin: 0 auto;
}

.design table table th, .design main .contents .format > table table td, main .contents .design .format > table table td,
.design table table td {
	border: none;
}

.bgBlue {
	background: #004295;
	color: #FFF;
}

.bgSky {
	background: #00a4cf !important;
	text-shadow: 1px 1px 0px #FFF;
}

.design table .center {
	text-align: center;
}

.design table .right {
	text-align: right;
}

.categorymenu {
	padding: 30px 0;
	background: #dbdbdb;
}
.sp .categorymenu {
	padding: 0;
}
.categorymenu div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 0px 20px 0px;
}
.sp .categorymenu div {
	padding: 0px 10px 0px;
}
.sp .categorymenu div {
	padding: 0;
	border: none;
}
.categorymenu div .title {
	text-align: center;
	margin-bottom: 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 30.6px;
	line-height: 1.9125rem;
}
.sp .categorymenu div .title {
	display: none;
}
.categorymenu a.spmenu {
	display: none;
}
.sp .categorymenu a.spmenu {
	position: relative;
	display: none;
	padding: 10px;
	height: 50px;
	line-height: 25px;
	border: 1px solid #ececec;
	text-decoration: none;
	color: #000000;
}
.sp .categorymenu a.spmenu:before {
	content: "";
	position: absolute;
	background: #004295;
	height: 40px;
	width: 40px;
	right: 5px;
	top: 3px;
	pointer-events: none;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
.sp .categorymenu a.spmenu:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	right: 16px;
	top: 18px;
	border-style: solid;
	border-width: 12px 8px 0 8px;
	border-color: #ffffff transparent transparent transparent;
	pointer-events: none;
}
.sp .categorymenu a.spmenu.open:after {
	border-width: 0 8px 12px 8px;
	border-color: transparent transparent #ffffff transparent;
}
.categorymenu ul {
	margin: -20px 0 0 -20px;
	text-align: center;
}
.categorymenu ul:after {
	content: "";
	display: block;
	clear: both;
}
.sp .categorymenu ul {
	margin: 0;
}
.categorymenu ul li {
	padding: 0 10px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 17.6px;
	line-height: 1.1rem;
	display: inline-block;
	margin: 20px 0 0 20px;
}
.sp .categorymenu ul li {
	display: block;
	padding: 0;
	margin: 0;
	border-bottom: 1px solid #ececec;
}
.categorymenu ul li a {
	display: block;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	color: #000000;
}
.categorymenu ul li a:hover {
	opacity: 0.7;
}
.sp .categorymenu ul li a {
	display: block;
	width: 100%;
	padding: 13px;
	text-align: left;
	text-decoration: none;
}
.categorymenu ul li.current a {
	color: #004295;
}

main .contents .column.col2 > .servicebox {
	width: 50%;
	margin: 0;
}
main .contents .column.col2 > .servicebox > div {
	width: calc((100% - 10px * 3 - 2px) * 2 / 3);
	margin: auto;
}
.sp main .contents .column.col2 > .servicebox > div {
	width: 100%;
}

main .contents .text p.sub_title {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: bold;
}

.used_map {
	width: 100%;
	padding: 0 0 40px 0;
	background: #004295;
}
.tablet .used_map {
	padding: 0;
	background: none;
}
.used_map p {
	padding: 30px 20px;
	color: #fff;
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 26px;
	line-height: 1.625rem;
}
.tablet .used_map p {
	padding: 15px 0;
	color: #000;
}
.used_map ul {
	position: relative;
	padding: 0 20px;
	width: 100%;
	height: 343px;
	background: url(../images/used01.png) no-repeat center center #004295;
	background-size: contain;
}
.tablet .used_map ul {
	display: none;
}
.used_map ul li {
	position: absolute;
	display: table;
	width: 22%;
	max-width: 220px;
	height: 38px;
	table-layout: fixed;
}
.used_map ul li a {
	display: table-cell;
	color: #004295;
	padding: 0 5px;
	border: 1px solid #fff;
	vertical-align: middle;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
	border-radius: 5px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 15.4px;
	line-height: 0.9625rem;
	background: url(../images/blank.svg) no-repeat right 5px center #fff;
}
.used_map ul li a.ac {
	background: #004295;
	color: #fff;
}
.used_map ul li.place_a {
	top: 0;
	left: 20px;
}
.used_map ul li.place_b {
	bottom: 156px;
	left: 20px;
}
.used_map ul li.place_c {
	bottom: 104px;
	left: 20px;
}
.used_map ul li.place_d {
	bottom: 52px;
	left: 20px;
}
.used_map ul li.place_e {
	bottom: 0;
	left: 20px;
}
.used_map ul li.place_f {
	top: 0;
	right: 20px;
}
.used_map ul li.place_g {
	top: 52px;
	right: 20px;
}
.used_map ul li.place_h {
	top: 104px;
	right: 20px;
}
.used_map ul li.place_i {
	top: 156px;
	right: 20px;
}
.used_map ul li.place_j {
	bottom: 0;
	right: 20px;
}

#fullmenu .menu .title.privacy {
	margin-top: 45px;
}

.slide .button.wide {
	padding: 30px 0;
}

.error_mes {
	color: #EF3340;
	margin-top: 20px;
}

main + .button.wide.back {
	position: relative;
	margin-top: -40px;
	z-index: 10;
}
.sp main + .button.wide.back {
	margin-top: 0;
}

#spmenu .menu > ul > li {
	position: relative;
}
#spmenu .menu > ul > li > a {
	z-index: 10;
}
#spmenu .menu > ul > li > a.opensw {
	position: absolute;
	width: 40px;
	height: 40px;
	padding: 0;
	right: 10px;
	top: 7px;
	z-index: 100;
}
#spmenu .menu > ul > li > a.opensw:before {
	content: "";
	position: absolute;
	background: #004295;
	height: 40px;
	width: 40px;
	right: 0;
	top: 0;
	pointer-events: none;
	box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.5);
}
#spmenu .menu > ul > li > a.opensw:after {
	content: "";
	position: absolute;
	width: 0;
	height: 0;
	right: 11px;
	top: 15px;
	border-style: solid;
	border-width: 12px 8px 0 8px;
	border-color: #ffffff transparent transparent transparent;
	pointer-events: none;
}
#spmenu .menu > ul > li > a.opensw.open:after {
	border-width: 0 8px 12px 8px;
	border-color: transparent transparent #ffffff transparent;
}

main .contents .background.about02 > .inner .menu.esgmenu a {
	opacity: 1;
}
main .contents .background.about02 > .inner .menu.esgmenu a .image:after {
	display: none;
}

main .contents .background.about02 > .inner .menu.esgmenu .esg_block p a:before {
	display: none;
}

#spmenu .utility .search .gsc-input-box .gsib_a, .gsc-search-box-tools .gsc-search-box .gsc-input {
	height: 40px;
}

#productresoures_modal {
	display: none;
	position: fixed;
	z-index: 2000;
	top: -5px;
	width: 100%;
	height: calc(100% + 5px);
	background-color: rgba(0, 0, 0, 0.6);
}
#productresoures_modal > div {
	position: absolute;
	width: 90%;
	height: 400px;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	background: #fff;
	padding: 20px;
}
.sp #productresoures_modal > div {
	height: 90%;
	padding: 10px;
}
#productresoures_modal > div .title {
	text-align: center;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
}
.sp #productresoures_modal > div .title {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
#productresoures_modal > div .scroll_area {
	margin-top: 20px;
	border: 1px solid #333;
}
.sp #productresoures_modal > div .scroll_area {
	margin-top: 10px;
	height: 80%;
	height: calc(100% - 200px);
}
#productresoures_modal > div .scroll_area > div {
	overflow-y: scroll;
	height: 250px;
	padding: 20px;
}
.sp #productresoures_modal > div .scroll_area > div {
	height: 100%;
	padding: 10px;
}
#productresoures_modal > div .scroll_area > div p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
}
#productresoures_modal > div .scroll_area > div * + p {
	margin-top: 15px;
	line-height: 1.4;
}
#productresoures_modal > div .button {
	margin-top: 20px;
}
#productresoures_modal > div .button span {
	text-align: center;
}

.sp main .contents .productslink .text {
	position: relative;
	z-index: 10;
}

main .contents .box .text .title {
	font-size: 28px;
	font-size: 1.75rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	font-weight: bold;
}
.sp main .contents .box .text .title {
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
main .contents .box .text .title + p {
	margin-top: 10px;
}

sup {
	white-space: nowrap;
}

main .contents .table > table.spec th:last, main .contents .table > table.spec .format > table td:last, main .contents .format > table .table > table.spec td:last {
	border-right: none;
}

main .contents .table > table.spec th:last-child, main .contents .table > table.spec .format > table td:last-child, main .contents .format > table .table > table.spec td:last-child {
	border-right: none;
}

main .contents .table > table.spec th::before, main .contents .table > table.spec .format > table td::before, main .contents .format > table .table > table.spec td::before {
	display: none;
}

main .contents .table > table.spec > tbody > tr > th, main .contents .format.table > table.spec > tbody > tr > td {
	border-left: none;
}

main .contents .text ul.full {
	margin-left: 0;
	margin-right: 0;
}

main .contents .date {
	text-align: right;
}
main .contents .date + h2 {
	margin-top: 40px;
}

#fullmenu .menu li .blank_w:after {
	margin: 0 0 0 8px;
}

main .contents .table > table.spec > tbody > tr > th.normal, main .contents .format.table > table.spec > tbody > tr > td.normal {
	font-weight: normal;
}

/* IE11 */
_:-ms-lang(x)::-ms-backdrop, main .contents .table > table > * > tr > td {
	border-left: 1px solid #DBDBDB;
}

_:-ms-lang(x)::-ms-backdrop, main .contents .table > table > * > tr > td:first-child {
	border-left: none;
}

_:-ms-lang(x)::-ms-backdrop, main .contents .table > table > * > tr > td:before {
	display: none !important;
}

.mf_finder_searchBox_items {
	padding: 0 !important;
}

.mf_finder_organic_wrapper {
	padding-top: 20px;
}

.mf_finder_organic_pager_wrapper {
	padding-top: 20px;
}

.mf_finder_zubaken_wrapper {
	padding-top: 30px;
}

.region_disp > div {
	display: none;
}
.region_disp > div.region1 {
	display: block;
}
.region2 .region_disp > div.region1, .region3 .region_disp > div.region1, .region4 .region_disp > div.region1, .region5 .region_disp > div.region1, .region6 .region_disp > div.region1, .region7 .region_disp > div.region1, .region8 .region_disp > div.region1, .region9 .region_disp > div.region1 {
	display: none;
}
.region1 .region_disp > div.region1, .region2 .region_disp > div.region2, .region3 .region_disp > div.region3, .region4 .region_disp > div.region4, .region5 .region_disp > div.region5, .region6 .region_disp > div.region6, .region7 .region_disp > div.region7, .region8 .region_disp > div.region8, .region9 .region_disp > div.region9 {
	display: block;
}

main .contents .column.col2.h3_top > div:nth-of-type(n+3) {
	margin-top: 40px;
}
.sp main .contents .column.col2.h3_top > div:nth-of-type(n+3) {
	margin-top: 0;
}

.message_name {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
}
.sp .message_name {
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}

.button.common a {
	width: auto;
	min-width: 12rem;
}
.button.common a span {
	padding: 10px 40px 10px 10px;
	white-space: nowrap;
}
.button.common a span.break {
	white-space: normal;
}
.button.common.back {
	margin: 40px 0 0 0;
}
.sp .button.common.back {
	margin-top: 30px;
}
.button.common.back a span {
	background: url(../images/ico_button_back.svg) no-repeat center right 10px;
}
.button.common.back > div {
	margin: 0;
}

main .contents .background.about03 + div {
	padding: 100px 20px 80px;
}

main .contents .background.lyd .inner {
	padding: 6rem 20px;
	margin-top: -80px;
	max-width: 1100px;
}
.sp main .contents .background.lyd .inner {
	padding: 40px 20px;
	margin-top: 0;
}
main .contents .background.lyd .image {
	vertical-align: middle;
}
main .contents .background.lyd .image img {
	width: 66%;
}
.sp main .contents .background.lyd .image img {
	min-width: 220px;
}
.sp main .contents .background.lyd {
	padding: 0;
}
main .contents .background.lyd .text {
	vertical-align: middle;
	max-width: none;
}
.sp main .contents .background.lyd .text {
	padding-top: 20px;
}
main .contents .background.lyd .text p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 23.8px;
	line-height: 1.4875rem;
}
.sp main .contents .background.lyd .text p {
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 20.4px;
	line-height: 1.275rem;
}

.lyd_block {
	display: table;
	margin-top: -40px;
}
.sp .lyd_block {
	margin-top: 0;
}
.lyd_block > div {
	display: table-cell;
	width: 50%;
}
.lyd_block > div.lyd_block_right {
	background: url(../../about/images/lyd02.jpg) no-repeat center center;
	background-size: cover;
}
.lyd_block .lead_s {
	padding-bottom: 20px;
}
.sp .lyd_block .lead_s {
	padding-bottom: 0;
}

#gallery_scroll {
	position: relative;
	width: 100%;
	max-width: none;
	height: 348px;
	padding: 0;
	overflow: hidden;
}
.tablet #gallery_scroll {
	height: 232px;
}
.sp #gallery_scroll {
	height: 174px;
}
#gallery_scroll > div {
	position: absolute;
}
#gallery_scroll > div > div {
	display: table;
}
#gallery_scroll > div > div > div {
	display: table-cell;
	vertical-align: top;
}
#gallery_scroll > div > div > div > ul:after {
	content: "";
	display: block;
	clear: both;
}
#gallery_scroll > div > div > div > ul > li {
	float: left;
	height: 348px;
	line-height: 0;
}
.tablet #gallery_scroll > div > div > div > ul > li {
	height: 232px;
}
.sp #gallery_scroll > div > div > div > ul > li {
	height: 174px;
}
#gallery_scroll > div > div > div > ul > li img {
	height: 348px;
	width: auto;
}
.tablet #gallery_scroll > div > div > div > ul > li img {
	height: 232px;
}
.sp #gallery_scroll > div > div > div > ul > li img {
	height: 174px;
}

main .contents .background > .inner {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px;
}
.sp main .contents .background > .inner {
	padding: 20px 10px;
}

.bottom_section {
	margin-bottom: 80px !important;
}
.sp .bottom_section {
	margin-bottom: 40px !important;
}

.red {
	color: #EF3340;
}

.inline-block {
	display: inline-block !important;
}

.story_mainvisual {
	position: relative;
	height: 720px;
	background-position: center center;
	background-size: cover;
}
.sp .story_mainvisual {
	background-image: none !important;
	height: auto;
}
.story_mainvisual .img {
	display: none;
}
.sp .story_mainvisual .img {
	display: block;
}
.sp .story_mainvisual .img img {
	width: 100%;
	height: auto;
}
.story_mainvisual .tx {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50%;
}
.sp .story_mainvisual .tx {
	position: static;
	width: auto;
}
.story_mainvisual .tx.reverse {
	left: auto;
	right: 0;
}
.story_mainvisual .tx.reverse > div {
	padding: 30px calc(100% - 590px) 30px 30px;
}
.pc .story_mainvisual .tx.reverse > div {
	padding-left: 10px;
}
.sp .story_mainvisual .tx.reverse > div {
	padding: 10px 10px 20px;
}
.story_mainvisual .tx > a {
	display: block;
	background: #fff;
	padding: 30px 30px 30px calc(100% - 590px);
	color: #004295;
}
.pc .story_mainvisual .tx > a {
	padding-left: 10px;
}
.sp .story_mainvisual .tx > a {
	padding: 10px 10px 20px;
}
.story_mainvisual .tx > a .title {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 42px;
	line-height: 2.625rem;
}
.sp .story_mainvisual .tx > a .title {
	font-size: 20px;
	line-height: 1.5;
}
.story_mainvisual .tx > a .link {
	margin-top: 20px;
	padding-right: 10px;
	text-align: right;
}
.sp .story_mainvisual .tx > a .link {
	margin-top: 10px;
	padding-right: 0px;
	font-size: 16px;
}

.nextarrow {
	position: relative;
	padding-right: 30px;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 22px;
	line-height: 1.375rem;
}
.nextarrow:after {
	content: "";
	position: absolute;
	width: 20px;
	height: 20px;
	background: url(../images/next.svg) no-repeat center center;
	top: 9px;
	right: 0px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

a.nextarrow {
	position: relative;
	display: inline-block;
	color: #004295;
}
a.nextarrow:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
a.nextarrow:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.centerlink {
	text-align: center;
}
.sp .centerlink {
	margin-top: 40px;
}

.story_index .menu {
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
}
.sp .story_index .menu {
	display: block;
	border-bottom: 1px solid #B5B5B5;
}
.story_index .menu a {
	position: relative;
	display: block;
	margin-left: 40px;
	width: calc((100% - 80px) / 3);
}
.story_index .menu a:nth-of-type(3n+1) {
	margin-left: 0;
}
.sp .story_index .menu a {
	width: 100%;
	min-height: 76px;
	margin-left: 0px;
	border-bottom: 0;
}
.sp .story_index .menu a + a {
	margin-top: 40px;
}
.sp .story_index .menu a + a:before {
	position: absolute;
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	top: -20px;
	left: 0px;
	background: #B5B5B5;
}
.story_index .menu a:hover .image span {
	transform: scale(1.1) rotate(0.0001deg);
}
.story_index .menu a:hover .info {
	top: -15px;
}
.sp .story_index .menu a:hover .info {
	top: 0px;
}
.story_index .menu a .image {
	position: relative;
	display: block;
	padding-top: 100%;
	overflow: hidden;
}
.sp .story_index .menu a .image {
	position: absolute;
	width: 76px;
	padding-top: 76px;
	left: 0px;
	top: 0px;
}
.story_index .menu a .image span {
	position: absolute;
	display: block;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	background: none no-repeat center center;
	background-size: cover;
	-webkit-transition: -webkit-transform 0.4s, top 0.6s;
	transition: transform 0.4s, top 0.6s;
	backface-visibility: hidden;
}
.story_index .menu a .info {
	display: block;
	position: relative;
	top: 0px;
	width: calc(100% - 40px);
	margin: -6em auto 30px;
	padding: 25px 10px 50px;
	color: #000000;
	background: #ffffff;
	-webkit-transition: top 0.5s 0.15s;
	transition: top 0.5s 0.15s;
	z-index: 10;
}
.sp .story_index .menu a .info {
	width: calc(100% - 86px);
	margin: 0px 0px 0px 86px;
	padding: 0px;
}
.story_index .menu a .info .title {
	display: block;
	padding: 0px 5px 20px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	font-weight: bold;
	text-align: center;
}
.sp .story_index .menu a .info .title {
	padding: 0 0 5px 0;
	text-align: left;
}
.story_index .menu a .info .date {
	display: block;
	text-align: center;
}
.sp .story_index .menu a .info .date {
	text-align: left;
	margin-top: 10px;
}
.story_index .menu a .info .text {
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 22.4px;
	line-height: 1.4rem;
	margin-top: 10px;
}

#related_topics.story_index .menu a {
	display: none;
}
#related_topics.story_index .menu a .info {
	margin-top: -6em !important;
}
.sp #related_topics.story_index .menu a .info {
	margin-top: 0 !important;
}

.story_list > a {
	display: block;
	color: #000;
	margin-bottom: 20px;
}
.story_list > a + a {
	padding-top: 20px;
	border-top: 1px solid #B5B5B5;
}
.story_list > a > div {
	display: flex;
}
.story_list > a > div .image {
	display: block;
	width: 25%;
}
.sp .story_list > a > div .image {
	width: 70px;
}
.story_list > a > div .info {
	display: block;
	width: 75%;
	padding: 0px 0px 0px 30px;
	margin-top: 0 !important;
}
.sp .story_list > a > div .info {
	width: calc(100% - 70px);
	padding: 0px 0px 0px 20px;
}
.story_list > a > div .info .title {
	display: block;
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 28.6px;
	line-height: 1.7875rem;
	font-weight: bold;
}
.sp .story_list > a > div .info .title {
	padding: 0 0 5px 0;
	text-align: left;
}
.story_list > a > div .info .date {
	display: block;
	text-align: left;
	margin-top: 10px;
}
.sp .story_list > a > div .info .date {
	margin-top: 5px;
}
.story_list > a > div .info .text {
	display: block;
	font-size: 16px;
	font-size: 1rem;
	line-height: 22.4px;
	line-height: 1.4rem;
	margin-top: 15px;
}

.story_category {
	border: 1px solid #B5B5B5;
	padding: 30px 50px;
}
.sp .story_category {
	padding: 20px;
}
.story_category ul {
	display: flex;
	flex-wrap: wrap;
}
.story_category ul li {
	width: 25%;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
.sp .story_category ul li {
	width: 50%;
}
.story_category ul li:nth-of-type(n+5) {
	margin-top: 30px;
}
.sp .story_category ul li:nth-of-type(n+5) {
	margin-top: 0;
}
.sp .story_category ul li:nth-of-type(n+3) {
	margin-top: 20px;
}
.story_category ul li a {
	position: relative;
	display: inline-block;
	color: #004295;
}
.story_category ul li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.story_category ul li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.story_category .centerlink {
	margin-top: 30px;
}

#story_link .bg_gray {
	background: #dbdbdb;
}
#story_link .bg_gray > div {
	position: relative;
	width: 100%;
	max-width: 1220px;
	margin: auto;
	padding: 40px 20px 80px;
	padding-bottom: 40px;
}
.sp #story_link .bg_gray > div {
	padding: 20px 10px 40px;
}
.sp #story_link .bg_gray > div {
	width: auto;
}
#story_link .story_toppick {
	margin-top: 0px;
	padding: 0;
	border: none;
}
#story_link .story_toppick .menu {
	border-bottom: none !important;
}
#story_link .story_toppick .menu a .info {
	margin: -4em auto 0px;
	padding: 25px 10px 25px;
}
.sp #story_link .story_toppick .menu a .info {
	background: transparent !important;
	width: calc(100% - 86px);
	margin: 0px 0px 0px 86px;
	padding: 0px;
}

section + #story_link, .button + #story_link {
	margin-top: 80px;
}

.story_toppick {
	margin-top: 80px;
	display: flex;
	border-top: 1px solid #B5B5B5;
	border-bottom: 1px solid #B5B5B5;
	padding: 40px 0;
}
.spc .story_toppick {
	display: block;
}
.story_toppick > * > .title {
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 33px;
	line-height: 2.0625rem;
	margin-bottom: 40px;
}
.spc .story_toppick > * > .title {
	text-align: center;
	margin-bottom: 20px;
	font-size: 22px;
	font-size: 1.375rem;
	line-height: 24.2px;
	line-height: 1.5125rem;
}
.story_toppick > .facebook {
	width: 400px;
	position: relative;
}
.story_toppick > .facebook iframe {
	width: 100%;
}
.story_toppick > .facebook ._2p3a {
	width: 100% !important;
}
.spc .story_toppick > .facebook {
	width: 100%;
	max-width: 400px;
	margin: 0 auto;
}
.story_toppick > .pickup {
	width: calc(100% - 400px);
	padding-left: 100px;
}
.spc .story_toppick > .pickup {
	margin-top: 40px;
	width: auto;
	padding-left: 0px;
}
.story_toppick > .pickup .col {
	display: flex;
}
.sp .story_toppick > .pickup .col {
	display: block;
}
.story_toppick > .pickup .col > * {
	width: 45%;
	display: block;
}
.sp .story_toppick > .pickup .col > * {
	width: auto;
}
.story_toppick > .pickup .col > * + * {
	margin-left: 10%;
}
.sp .story_toppick > .pickup .col > * + * {
	margin-left: 0;
	margin-top: 30px;
}
.story_toppick > .pickup .col > * .img {
	text-align: center;
}
.story_toppick > .pickup .col > * .img img {
	width: 100%;
	height: auto;
}
.story_toppick > .pickup .col > * .label {
	margin-top: 10px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
}
.story_toppick > .pickup .col > * .lead {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}

.story_col {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
.spc .story_col {
	display: block;
}
.story_col > .left {
	width: calc(100% - 264px);
	padding-right: 70px;
}
.spc .story_col > .left {
	width: auto;
	padding-right: 0;
}
.story_col > .left .visual img {
	max-width: 100%;
}
.story_col > .left .sns {
	margin-top: 80px;
}
.sp .story_col > .left .sns {
	margin-top: 20px;
}
.story_col > .left .sns.right {
	margin-top: 20px;
	text-align: right;
}
.story_col > .left .sns li {
	display: inline-block;
}
.story_col > .left .sns li + li {
	margin-left: 20px;
}
.story_col > .left .sns li a {
	position: relative;
	display: block;
	width: 48px;
	height: 48px;
	background: #ffffff;
	border: 1px solid #707070;
	border-radius: 50%;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.story_col > .left .sns li a:hover {
	opacity: 0.7;
}
.story_col > .left .sns li a img {
	position: absolute;
	display: block;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.story_col > .left .sns li a.print {
	width: 136px;
	height: 48px;
	border: none;
	border-radius: 0;
}
.story_col > .left .keywords li {
	display: inline-block;
	margin-right: 15px;
	margin-bottom: 10px;
}
.story_col > .left .keywords li a {
	position: relative;
	display: inline-block;
	color: #004295;
}
.story_col > .left .keywords li a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.story_col > .left .keywords li a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.story_col > .right {
	width: 264px;
}
.spc .story_col > .right {
	width: auto;
}
.story_col > .right .bnr {
	text-align: center;
}
.spc .story_col > .right .bnr {
	margin-top: 50px;
}
.story_col > .right .bnr img {
	max-width: 100%;
}
.story_col > .right .bnr + .bnr {
	margin-top: 20px;
}
.story_col > .right h3 {
	margin-top: 30px !important;
	margin-bottom: 30px !important;
}
.story_col > .right .category {
	border: 1px solid #B5B5B5;
	margin-top: 30px;
	padding: 20px;
}
.story_col > .right .category ul {
	padding-bottom: 30px;
}
.story_col > .right .category ul li + li {
	margin-top: 15px;
}
.spc .story_col > .right .category ul li + li {
	margin-top: 0;
}
.spc .story_col > .right .category ul {
	display: flex;
	flex-wrap: wrap;
}
.spc .story_col > .right .category ul li {
	width: 33%;
}
.spc .story_col > .right .category ul li:nth-of-type(n+4) {
	margin-top: 15px;
}
.sp .story_col > .right .category ul li {
	width: 50%;
}
.sp .story_col > .right .category ul li:nth-of-type(3) {
	margin-top: 15px;
}
.story_col > .right .category .nextarrow {
	font-size: 16px;
	font-size: 1rem;
	line-height: 24px;
	line-height: 1.5rem;
}
.spc .story_col > .right .category p {
	text-align: center;
}
.story_col > .right .category a {
	position: relative;
	display: inline-block;
	color: #004295;
}
.story_col > .right .category a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.story_col > .right .category a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.story_col .image p {
	color: #989696 !important;
}
.story_col .image + * {
	margin-top: 30px !important;
}

.text + .story_col {
	margin-top: 30px;
}

#news_content a {
	position: relative;
	display: inline-block;
	color: #004295;
}
#news_content a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
#news_content a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}

.pager {
	margin-top: 30px;
}
.spc .pager {
	margin-top: 0;
}
.sp .pager {
	margin-top: 50px;
}
.pager ul {
	text-align: center;
	vertical-align: middle;
}
.pager ul li {
	display: inline-block;
	vertical-align: middle;
	font-size: 20px;
	font-size: 1.25rem;
	line-height: 30px;
	line-height: 1.875rem;
}
.pager ul li + li {
	margin-left: 10px;
}
.pager ul li.prev, .pager ul li.next {
	line-height: 0;
}
.pager ul li.prev img {
	transform: rotateY(180deg);
}

.tag_area {
	display: none;
}
.tag_area .story_list > a {
	display: none;
}

.outer_h2 {
	margin: 0px 0px 40px;
	font-size: 38px;
	font-size: 2.375rem;
	line-height: 57px;
	line-height: 3.5625rem;
	font-weight: normal;
	text-align: center;
}
.sp .outer_h2 {
	font-size: 26px;
	font-size: 1.625rem;
	line-height: 36.4px;
	line-height: 2.275rem;
	margin-bottom: 20px;
	padding-top: 20px;
}

main .contents.bg_gray {
	background: #dbdbdb;
}
main .contents.bg_gray > div {
	padding-bottom: 20px;
}
main .contents.bg_gray .story_toppick {
	margin-top: 0;
	padding: 0;
	border: none;
}
main .contents.bg_gray .story_index .menu {
	border-bottom: none !important;
}
main .contents.bg_gray .story_index .menu .info {
	margin: -4em auto 30px;
	padding: 25px 10px 25px;
}
.sp main .contents.bg_gray .story_index .menu .info {
	background: transparent !important;
}

.auto_slide .sc_left {
	position: absolute;
	width: 30px;
	height: 30px;
	top: calc(50% - 15px);
	left: 10px;
	background: #004295;
	border-radius: 50%;
	cursor: pointer;
	z-index: 100;
}
.auto_slide .sc_left.slick-disabled {
	background: #aaa;
	cursor: auto;
}
.auto_slide .sc_left:before {
	content: '';
	width: 8px;
	height: 8px;
	border: 0px;
	border-top: solid 2px #fff;
	border-right: solid 2px #fff;
	-ms-transform: rotate(215deg);
	-webkit-transform: rotate(225deg);
	transform: rotate(225deg);
	position: absolute;
	top: 50%;
	left: 12px;
	margin-top: -4px;
}
.auto_slide .sc_right {
	position: absolute;
	width: 30px;
	height: 30px;
	top: calc(50% - 15px);
	right: 10px;
	background: #004295;
	border-radius: 50%;
	cursor: pointer;
	z-index: 100;
}
.auto_slide .sc_right.slick-disabled {
	background: #aaa;
	cursor: auto;
}
.auto_slide .sc_right: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%;
	right: 12px;
	margin-top: -4px;
}

.auto_slide .slick-slide {
	height: auto !important;
	border: none;
}
.auto_slide .slick-slide img {
	position: static;
	-webkit-transform: none;
	transform: none;
}

.slide_img.groupimglist > div:not(:first-child) {
	display: none;
}

main .contents .basic {
	margin-top: 10px;
}
main .contents .basic .image > a {
	max-width: 773px;
}

.click_modal {
	position: relative;
}
.lpc .click_modal {
	display: none;
}
.click_modal .img img {
	width: 100%;
	height: auto;
}
.click_modal ul {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
.click_modal ul a {
	position: absolute;
	display: block;
	width: 37px;
	height: 37px;
}
.click_modal ul a img {
	width: 100%;
	height: auto;
}
.click_modal ul a:hover {
	animation: flash 1s linear infinite;
}
.click_modal ul a.pos1 {
	left: 820px;
	top: 216px;
}
.click_modal ul a.pos2 {
	left: 820px;
	top: 172px;
}
.click_modal ul a.pos3 {
	left: 764px;
	top: 172px;
}
.click_modal ul a.pos4 {
	left: 1088px;
	top: 116px;
}
.click_modal ul a.pos5 {
	left: 928px;
	top: 76px;
}
.click_modal ul a.pos6 {
	left: 900px;
	top: 172px;
}
.click_modal ul a.pos7 {
	left: 764px;
	top: 216px;
}
.click_modal ul a.pos8 {
	left: 164px;
	top: 158px;
}

@keyframes flash {
	0%,100% {
		opacity: 1;
	}
	50% {
		opacity: 0.3;
	}
}
.apli_faq.modal_lpc {
	display: none;
}
.lpc .apli_faq.modal_lpc {
	display: block;
}
.apli_faq > .image + .item {
	margin-top: 30px;
}
.apli_faq > .item {
	box-shadow: 0px 10px 10px -5px rgba(0, 0, 0, 0.3);
}
.apli_faq > .item + .item {
	margin-top: 20px;
}
.apli_faq > .item > .label {
	position: relative;
	padding: 0px 15px;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
.apli_faq > .item > .label:hover {
	opacity: 0.7;
}
.apli_faq > .item > .label > .title {
	color: #004295;
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 26.4px;
	line-height: 1.65rem;
	font-weight: bold;
	line-height: 60px;
}
.sp .apli_faq > .item > .label > .title {
	font-size: 16px;
	font-size: 1rem;
	line-height: 60px;
}
.apli_faq > .item > .label > .btn {
	position: absolute;
	width: 60px;
	height: 60px;
	background: #004295;
	right: 0;
	top: 0;
}
.apli_faq > .item > .label > .btn:before, .apli_faq > .item > .label > .btn:after {
	content: "";
	position: absolute;
	left: 15px;
	top: 30px;
	width: 30px;
	height: 2px;
	background-color: #fff;
}
.apli_faq > .item > .label > .btn:after {
	-moz-transform: rotateZ(90deg);
	-webkit-transform: rotateZ(90deg);
	transform: rotateZ(90deg);
}
.apli_faq > .item > .label > .btn.open:after {
	display: none;
}
.apli_faq > .item > .accordion_area {
	display: none;
	padding: 15px;
}
.apli_faq > .item > .accordion_area > div {
	background: #E9EFF5;
	padding: 15px;
}
.apli_faq > .item > .accordion_area > div + div {
	margin-top: 10px;
}
.apli_faq > .item > .accordion_area > div p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}
.apli_faq > .item > .accordion_area > div p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
	font-weight: bold;
}
.apli_faq > .item > .accordion_area > div p.headlead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
.apli_faq > .item > .accordion_area > div p.headlead > span {
	display: block;
}
.apli_faq > .item > .accordion_area > div p.headlead > span:nth-of-type(1) {
	padding-right: 20px;
	line-height: 0;
}
.apli_faq > .item > .accordion_area > div p.headlead > span:nth-of-type(1) img {
	width: 30px;
	height: auto;
}
.apli_faq > .item > .accordion_area > div p.asta {
	text-align: right;
}
.apli_faq > .item > .accordion_area > div h3 {
	display: none;
}
.apli_faq > .item > .accordion_area > div * + p {
	margin-top: 20px;
}
.apli_faq > .item > .accordion_area > div .box {
	background: #fff;
}
.apli_faq > .item > .accordion_area > div .image {
	text-align: center;
}
.apli_faq > .item > .accordion_area > div .image img {
	width: 100%;
	max-width: 580px;
	height: auto;
	border: 1px solid #B5B5B5;
}
.apli_faq > .item > .accordion_area > div .col2.mt {
	margin-top: 20px;
}

.contents .apli_faq .item {
	box-shadow: 0px 3px 8px 2px rgba(0, 0, 0, 0.1) !important;
}

.contents .apli_faq .item .label .title {
	color: #2260d0 !important;
}

#modal_block {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.8);
	z-index: 2000;
}
#modal_block > div {
	background: #fff;
	width: 85%;
	height: calc(100vh - 100px);
	margin: 50px auto 0;
	overflow-y: scroll;
	padding-bottom: 20px;
}
#modal_block > div.short {
	height: auto;
}
#modal_block > div > * {
	padding: 0px 30px;
}
#modal_block > div h3 {
	text-align: center;
	margin-top: 0 !important;
	margin-bottom: 30px !important;
	font-size: 32px;
	font-size: 2rem;
	line-height: 48px;
	line-height: 3rem;
	background: #004295;
	padding: 20px 0;
	text-align: center;
	color: #fff;
	vertical-align: middle;
}
#modal_block > div h3 span {
	display: none;
}
#modal_block > div p {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
}
#modal_block > div p.headlead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
	font-weight: bold;
	display: flex;
	align-items: center;
	justify-content: center;
}
#modal_block > div p.headlead > span {
	display: block;
}
#modal_block > div p.headlead > span:nth-of-type(1) {
	padding-right: 20px;
	line-height: 0;
}
#modal_block > div p.headlead > span:nth-of-type(1) img {
	width: 74px;
	height: auto;
}
#modal_block > div p.lead {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 27px;
	line-height: 1.6875rem;
	font-weight: bold;
	text-align: center;
}
#modal_block > div p.asta {
	text-align: right;
}
#modal_block > div p.center {
	text-align: center;
}
#modal_block > div * + p {
	margin-top: 20px;
}
#modal_block > div * + p.lead, #modal_block > div * + .box {
	margin-top: 30px;
}
#modal_block > div .box {
	width: calc(100% - 60px);
	margin-left: auto;
	margin-right: auto;
	background: #fff;
	padding: 14px;
	border: 1px solid #707070;
}
#modal_block > div .box .col {
	display: flex;
}
#modal_block > div .box .col > * {
	margin-top: 0 !important;
}
#modal_block > div .box .col > *:nth-of-type(1) {
	padding-right: 20px;
	white-space: nowrap;
}
#modal_block > div .ibbox {
	margin-top: 30px;
	text-align: center;
}
#modal_block > div .ibbox > div {
	display: inline-block;
	border: 1px solid #707070;
	padding: 14px;
}
#modal_block > div .ibbox > div .col {
	display: flex;
}
#modal_block > div .ibbox > div .col > * {
	margin-top: 0 !important;
}
#modal_block > div .ibbox > div .col > *:nth-of-type(1) {
	padding-right: 20px;
	white-space: nowrap;
}
#modal_block > div .ibbox > div .col > *:nth-of-type(2) {
	padding-top: 3px;
	text-align: left;
}
#modal_block > div .image {
	text-align: center;
}
#modal_block > div .image img {
	max-width: 100%;
	height: auto;
}
#modal_block > div .col2 {
	display: flex;
	flex-wrap: wrap;
}
#modal_block > div .col2.mt {
	margin-top: 20px;
}
#modal_block > div .col2 > * {
	width: 48%;
	padding-right: 2%;
}
#modal_block > div .col2 * + p.image {
	margin-top: 0px;
}
#modal_block > div .underline {
	text-decoration: underline;
	font-weight: bold;
}
#modal_block > div ol {
	font-size: 16px;
	font-size: 1rem;
	line-height: 27.2px;
	line-height: 1.7rem;
	counter-reset: number;
	margin-top: 20px;
}
#modal_block > div ol > li {
	margin-left: 1.2em;
	text-indent: -0.63em;
}
#modal_block > div ol > li:before {
	counter-increment: number;
	content: " " counter(number) ".";
	display: inline-block;
	margin-right: 0.3em;
	color: #00B0D2;
	font-weight: bold;
}
#modal_block > div ol > li + li {
	margin-top: 4px;
}
#modal_block > span.close {
	position: absolute;
	width: 50px;
	height: 50px;
	cursor: pointer;
	right: 7.5%;
	top: 3px;
}
#modal_block > span.close::before {
	content: "";
	position: absolute;
	width: 35px;
	height: 4px;
	top: 20px;
	left: 0;
	background: #fff;
	transform: rotate(45deg);
}
#modal_block > span.close::after {
	content: "";
	position: absolute;
	width: 35px;
	height: 4px;
	top: 20px;
	left: 0;
	background: #fff;
	transform: rotate(-45deg);
}

h2.bg_lightblue {
	background: #00A4CF;
	color: #fff;
	padding: 10px 0;
}

h4.bg_lightblue {
	text-align: center;
}
h4.bg_lightblue > span {
	display: inline-block;
	background: #00A4CF;
	padding: 10px 20px;
	color: #fff;
}
h4.bg_lightblue.mb {
	margin-bottom: 50px;
}
.sp h4.bg_lightblue.mb {
	margin-bottom: 20px;
}

.WireRope_mt {
	margin-top: 30px !important;
}
.sp .WireRope_mt {
	margin-top: 0 !important;
}

.genuine_logo {
	display: flex;
}
.sp .genuine_logo {
	display: block;
}
.genuine_logo > .tx {
	width: 80%;
	padding-left: 30px;
	line-height: 1.5;
}
.sp .genuine_logo > .tx {
	width: auto;
	padding-left: 0px;
	margin-top: 20px;
}
.genuine_logo > .logo {
	width: 20%;
}
.genuine_logo > .logo img {
	width: 100%;
}
.sp .genuine_logo > .logo {
	width: auto;
	margin-top: 20px;
}

main .contents h1.financialresults {
	margin-top: 80px;
	font-size: 30px;
	font-size: 1.875rem;
	line-height: 39px;
	line-height: 2.4375rem;
}
.sp main .contents h1.financialresults {
	font-size: 24px;
	font-size: 1.5rem;
	line-height: 31.2px;
	line-height: 1.95rem;
}

.financialresults_index {
	display: flex;
}
.sp .financialresults_index {
	display: block;
}
.financialresults_index > .left {
	width: 30%;
	display: flex;
	flex-direction: column;
	gap: 20px 0;
}
.sp .financialresults_index > .left {
	width: auto;
}
.financialresults_index > .right {
	width: 70%;
	padding-left: 30px;
}
.sp .financialresults_index > .right {
	width: auto;
	padding-left: 0;
	margin-top: 30px;
}
.financialresults_index .youtube {
	width: 100%;
	aspect-ratio: 16 / 9;
	flex-shrink: 0;
}
.financialresults_index .youtube iframe {
	width: 100%;
	height: 100%;
}
.financialresults_index .textbox {
	border: 1px solid #666;
	flex-shrink: 0;
}
.financialresults_index .textbox.bottom {
	flex-grow: 1;
}
.financialresults_index .textbox .title {
	color: #fff;
	background: #757575;
	padding: 7px 20px;
}
.financialresults_index .textbox .tx {
	padding: 20px 20px 50px 20px;
}
.sp .financialresults_index .textbox .tx {
	padding: 20px;
}
.financialresults_index .textbox .tx p {
	line-height: 1.4;
}
.financialresults_index .textbox .tx p + p {
	margin-top: 15px;
}
.financialresults_index .textbox a {
	color: #004295;
	position: relative;
	display: inline-block;
}
.financialresults_index .textbox a:before {
	content: "";
	display: block;
	position: absolute;
	bottom: calc(0.05em - 5px);
	left: 0px;
	width: 100%;
	height: 1px;
	background: #004295;
	-webkit-transition: 0.2s;
	transition: 0.2s;
	-webkit-transform: scale(0);
	transform: scale(0);
}
.financialresults_index .textbox a:hover:before {
	-webkit-transform: scale(1);
	transform: scale(1);
}
.financialresults_index .financialresults_img {
	line-height: 0;
}
.financialresults_index .financialresults_img li:not(:first-child) {
	display: none;
}
.financialresults_index .financialresults_img li img {
	width: 100%;
	border: 1px solid #aaa;
}
.financialresults_index .controller {
	margin-top: 30px;
	display: flex;
	justify-content: space-between;
	width: 100%;
}
.sp .financialresults_index .controller {
	flex-direction: column-reverse;
	gap: 20px 0;
}
.financialresults_index .controller .right {
	display: flex;
}
.sp .financialresults_index .controller .right {
	justify-content: center;
}
.financialresults_index .controller .btn {
	position: relative;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
	display: inline-block;
	border: 1px solid #ccc;
	padding: 20px;
	border-radius: 4px;
	background: linear-gradient(0deg, #f0f0f0 0%, white 100%);
	font-size: 16px !important;
}
.financialresults_index .controller .btn:hover {
	opacity: 0.7;
}
.financialresults_index .controller .btn.nonac {
	background: #ddd;
	pointer-events: none;
}
.financialresults_index .controller .btn.nonac:hover {
	opacity: 1;
}
.financialresults_index .controller .btn.expansion {
	padding-left: 52px;
}
.financialresults_index .controller .btn.expansion::before {
	content: "";
	position: absolute;
	width: 18px;
	height: 14px;
	left: 20px;
	top: 50%;
	transform: translateY(-50%);
	/*
	background: url(../../ir/explanatory_video/images/expansion.png) no-repeat;
	*/
	background: url(../images/expansion.png) no-repeat;
	background-size: 18px 14px;
}
.financialresults_index .controller .btn.prev {
	padding-left: 52px;
	border-radius: 4px 0px 0px 4px;
}
.sp .financialresults_index .controller .btn.prev {
	padding: 20px 40px 20px 72px;
}
.financialresults_index .controller .btn.prev::before {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	left: 20px;
	top: 50%;
	transform: translateY(-50%) scale(-1, 1);
	background: url(../images/ico_button_white.svg) no-repeat;
	background-size: 22px 22px;
}
.sp .financialresults_index .controller .btn.prev::before {
	left: 40px;
}
.financialresults_index .controller .btn.next {
	padding-right: 52px;
	border-radius: 0px 4px 4px 0px;
	border-left: none;
}
.sp .financialresults_index .controller .btn.next {
	padding: 20px 72px 20px 40px;
}
.financialresults_index .controller .btn.next::before {
	content: "";
	position: absolute;
	width: 22px;
	height: 22px;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background: url(../images/ico_button_white.svg) no-repeat;
	background-size: 22px 22px;
}
.sp .financialresults_index .controller .btn.next::before {
	right: 40px;
}

html.f_expansion.headlock body {
	margin-top: 0 !important;
}
html.f_expansion header, html.f_expansion footer, html.f_expansion #headoption, html.f_expansion .mf_finder_header, html.f_expansion h1, html.f_expansion .financialresults_index > .left, html.f_expansion .text {
	display: none;
}
html.f_expansion main .contents > div:not(.background) {
	padding: 0;
}
html.f_expansion .financialresults_index > .right {
	padding-left: 0;
}
html.f_expansion .financialresults_img {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	padding-left: 0;
	height: calc(100vh - 100px);
}
html.f_expansion .financialresults_img li {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
html.f_expansion .financialresults_img li img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
}
html.f_expansion .controller {
	position: fixed;
	left: 0;
	bottom: 20px;
	width: 100%;
	margin-top: 0;
	padding: 0 20px;
}

/* Slider */
.slick-slider {
	position: relative;
	display: block;
	box-sizing: border-box;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
	-khtml-user-select: none;
	-ms-touch-action: pan-y;
	touch-action: pan-y;
	-webkit-tap-highlight-color: transparent;
}

.slick-list {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
}

.slick-list:focus {
	outline: none;
}

.slick-list.dragging {
	cursor: pointer;
	cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.slick-track {
	position: relative;
	top: 0;
	left: 0;
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.slick-track:before,
.slick-track:after {
	display: table;
	content: '';
}

.slick-track:after {
	clear: both;
}

.slick-loading .slick-track {
	visibility: hidden;
}

.slick-slide {
	display: none;
	float: left;
	overflow: hidden;
	border: 2px solid #ccc;
	position: relative;
	height: 100px;
}
.tablet .slick-slide {
	height: 150px;
}
.sp .slick-slide {
	height: 150px;
}
.relate .slick-slide {
	height: auto;
	border: none;
}

[dir='rtl'] .slick-slide {
	float: right;
}

.slick-slide img {
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
.relate .slick-slide img {
	position: static;
	-webkit-transform: none;
	transform: none;
	margin-bottom: 10px;
}

.slick-slide.slick-loading img {
	display: none;
}

.slick-slide.dragging img {
	pointer-events: none;
}

.slick-initialized .slick-slide {
	display: block;
}

.slick-loading .slick-slide {
	visibility: hidden;
}

.slick-vertical .slick-slide {
	display: block;
	height: auto;
	border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
	display: none;
}

main .contents .formcol2 {
	display: table;
	width: 100%;
}
main .contents .formcol2 > * {
	display: table-cell;
	height: 100%;
	text-align: left;
	vertical-align: middle;
}
.sp main .contents .formcol2 {
	display: block;
}
.sp main .contents .formcol2 > div {
	display: block;
}
main .contents .formcol2 > div .right {
	ta: r;
}
main .contents .form {
	margin-top: 32px !important;
}
main .contents .form + .form {
	border-top: 1px solid #707070;
	padding-top: 20px;
}
main .contents .form h3 {
	margin-bottom: 20px;
}
main .contents .form form {
	margin: 0px;
	padding: 0px;
}
main .contents .form .required {
	color: #EF3340;
	margin-left: 4px;
}
main .contents .form table {
	border-collapse: collapse;
	width: 100%;
}
main .contents .form table.confirm th, main .contents .form table.confirm .format > table td, main .contents .format > table .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm th, .sp main .contents .form table.confirm .format > table td, .sp main .contents .format > table .form table.confirm td {
	padding-top: 10px;
}
main .contents .form table.confirm td {
	padding-top: 0px;
}
.sp main .contents .form table.confirm td.required {
	display: none;
}
.sp main .contents .form table {
	display: block;
}
.sp main .contents .form table tbody, .sp
main .contents .form table tr {
	position: relative;
	display: block;
}
main .contents .form table th, main .contents .form .format > table td {
	width: 16rem;
	padding: 24px 20px 25px 0px;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
}
main .contents .form table th span, main .contents .form .format > table td span {
	margin-left: 3px;
	color: #ff0000;
}
.sp main .contents .form table th, .sp main .contents .form .format > table td {
	display: block;
	width: auto;
	float: left;
	padding-top: 10px;
	padding-right: 10px;
	padding-bottom: 0px;
}
main .contents .form table td {
	padding-top: 16px;
	padding-bottom: 25px;
	vertical-align: top;
	text-align: left;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	word-break: break-all;
}
.sp main .contents .form table td {
	clear: both;
	display: block;
	padding-top: 10px;
	padding-bottom: 15px;
}
main .contents .form table td.required {
	width: 5rem;
	padding-top: 18px;
	padding-right: 20px;
	color: #ffffff;
}
main .contents .form table td.required span {
	display: block;
	margin-left: 0px;
	padding: 6px 8px;
	text-align: center;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #EF3340;
	border: 1px solid #EF3340;
}
.sp main .contents .form table td.required {
	clear: none;
	float: right;
	padding: 0px;
	margin-top: 10px;
}
.sp main .contents .form table td.required span {
	margin-top: 0px;
}
main .contents .form table td span {
	display: inline-block;
}
main .contents .form table td span.label {
	position: absolute;
	width: 4em;
	margin-left: 10px;
	padding-top: 10px;
	font-size: 12px;
	font-size: 0.75rem;
	line-height: 15.6px;
	line-height: 0.975rem;
	color: #646464;
	pointer-events: none;
}
main .contents .form table tr:last-child > * {
	padding-bottom: 0px;
}
.sp main .contents .form table tr:last-child > th, .sp main .contents .form .format > table tr:last-child > td {
	padding-bottom: 10px;
}
main .contents .form textarea {
	width: 100%;
	height: 160px;
	padding: 8px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #707070;
	outline: none;
}
.sp main .contents .form textarea {
	padding: 0px 8px;
}
.sp main .contents .form textarea::placeholder {
	font-size: 12px;
	word-break: normal;
}
main .contents .form input[type="text"], main .contents .form input[type="email"], main .contents .form input[type="tel"], main .contents .form input[type="url"] {
	width: 100%;
	height: 34px;
	padding: 0px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 32px;
	border: 1px solid #707070;
	outline: none;
}
main .contents .form input[type="text"].withlabel, main .contents .form input[type="email"].withlabel, main .contents .form input[type="tel"].withlabel, main .contents .form input[type="url"].withlabel {
	padding-left: 2rem;
}
.sp main .contents .form input[type="text"], .sp main .contents .form input[type="email"], .sp main .contents .form input[type="tel"], .sp main .contents .form input[type="url"] {
	padding: 0px 8px;
}
.sp main .contents .form input[type="text"]::placeholder, .sp main .contents .form input[type="email"]::placeholder, .sp main .contents .form input[type="tel"]::placeholder, .sp main .contents .form input[type="url"]::placeholder {
	font-size: 12px;
}
main .contents .form br + input[type="text"], main .contents .form br + input[type="email"], main .contents .form br + input[type="tel"], main .contents .form br + input[type="url"] {
	margin-top: 20px;
}
main .contents .form select {
	width: 100%;
	padding: 5px 16px;
	font-size: 16px;
	font-size: 1rem;
	line-height: 20.8px;
	line-height: 1.3rem;
	border: 1px solid #707070;
}
main .contents .form input[required], main .contents .form textarea[required], main .contents .form select[required] {
	border: 1px solid rgba(239, 51, 64, 0.7);
}
main .contents .form input.focus, main .contents .form textarea.focus, main .contents .form select.focus {
	background-color: #fff3b8;
}
main .contents .form input.inputed, main .contents .form textarea.inputed, main .contents .form select.inputed {
	border: 1px solid #707070;
	background-color: #d7e7ff;
}
main .contents .form input.w_fix, main .contents .form textarea.w_fix, main .contents .form select.w_fix {
	width: 200px;
}
main .contents .form input[data-input="zenkaku"], main .contents .form textarea[data-input="zenkaku"], main .contents .form select[data-input="zenkaku"] {
	ime-mode: active;
}
main .contents .form input[data-input="hankaku"], main .contents .form textarea[data-input="hankaku"], main .contents .form select[data-input="hankaku"] {
	ime-mode: disabled;
}
main .contents .form .side {
	margin: 15px -5px -10px -25px;
}
main .contents .form .side.center {
	text-align: center;
}
main .contents .form .side li {
	display: inline-block;
	margin-left: 25px;
	margin-bottom: 10px;
}
main .contents .form .side + p {
	margin-top: 20px;
}
main .contents .form .note {
	margin-top: 8px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form label {
	position: relative;
	display: block;
	padding: 4px 0px 4px 25px;
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 23.4px;
	line-height: 1.4625rem;
	cursor: pointer;
}
.sp main .contents .form label {
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 18.2px;
	line-height: 1.1375rem;
}
main .contents .form label input[type="radio"], main .contents .form label input[type="checkbox"] {
	position: absolute;
	opacity: 0;
	top: 6px;
	left: 0px;
}
main .contents .form label input[type="radio"]:focus + span:before, main .contents .form label input[type="checkbox"]:focus + span:before {
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
}
main .contents .form label input[type="radio"] + span:before {
	content: "";
	display: block;
	position: absolute;
	top: 0.9rem;
	left: 0px;
	margin-top: -8px;
	background: #ffffff;
	border-radius: 50%;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"] + span:before {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8px;
	border-radius: 5px;
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"] + span:after {
	content: "";
	display: block;
	position: absolute;
	width: 16px;
	height: 16px;
	top: 0.9rem;
	left: 0px;
	margin-top: -8px;
	background: url(../images/check.svg) no-repeat center center;
	background-size: 100% auto;
	-webkit-transform: scale(0);
	transform: scale(0);
	-webkit-transition: 200ms;
	transition: 200ms;
}
main .contents .form label input[type="checkbox"]:checked + span:after {
	-webkit-transform: scale(1);
	transform: scale(1);
}
main .contents .form .button {
	font-size: 0px;
}
.sp main .contents .form .button {
	text-align: center;
}
main .contents .form .button > div {
	display: inline-block;
}
.sp main .contents .form .button > div {
	display: block;
}
main .contents .form .button > div + div {
	margin-left: 20px;
}
.sp main .contents .form .button > div + div {
	margin-top: 20px;
	margin-left: 0px;
}
main .contents .form .button button {
	position: relative;
	display: inline-block;
	padding: 0px 40px 0px 10px;
	min-width: 180px;
	height: 40px;
	font-size: 13px;
	font-size: 0.8125rem;
	line-height: 40px;
	color: #000000;
	text-align: left;
	border: 1px solid #C8C8C8;
	background: none;
	-webkit-transition: opacity 0.2s, background 0.2s;
	transition: opacity 0.2s, background 0.2s;
	cursor: pointer;
}
main .contents .form .button button:hover {
	opacity: 0.7;
}
main .contents .form .button button:before {
	content: "";
	display: block;
	position: absolute;
	width: 40px;
	height: 40px;
	right: 0px;
	top: 0px;
	background: url(../images/linkicon2.svg) no-repeat center center;
}
main .contents .form .button button.ng {
	pointer-events: none;
}
main .contents .form .button button.ok {
	display: none;
}
main .contents .form .button button.center {
	text-align: center;
}
main .contents .form .button.center {
	text-align: center;
}
main .contents .form .alert {
	margin-top: 10px;
	font-size: 14px;
	font-size: 0.875rem;
	line-height: 21px;
	line-height: 1.3125rem;
	color: #EF3340;
}
