/*
Theme Name: バンダイナムコテクニカ英語版
Theme URI: 
Author: 
Author URI: 
Description: bnt
Version: 1.0
Tags: blog, one-column, two-columns, left-sidebar, right-sidebar, custom-background, custom-colors, custom-header, custom-menu, editor-style, featured-image-header, featured-images, flexible-header, footer-widgets, full-width-template, microformats, post-formats, rtl-language-support, sticky-post, theme-options, translation-ready
*/

@charset "UTF-8";
@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

html {
	font-size: 62.5%;
}

body {
	font: 10px/1.2 sans-serif;
	font-size: 1rem;
	word-wrap: break-word;
	overflow-wrap: break-word;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
}

div,h1,h2,h3,h4,h5,h6,p,dl,dt,dd,ol,ul,li,form,input,textarea,button,select,table,tr,th,td,article,aside,footer,header,hgroup,nav,section {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	-o-box-sizing: border-box;
}

h1,h2,h3,h4,h5,h6,p {
	margin: 0;
}

h4 {
	font-weight: bold;
}

img {
	vertical-align: bottom;
	width: 100%;
	height: auto;
	max-width: 100%;
}

.nobr {
	white-space: nowrap;
}

html,
body {
	height: 100%;
}

body {
	color: #000000;
	background-color: #ffffff;
	font-family: "Noto Sans Japanese", serif;
	font-feature-settings: "pkna";
}

a:link {
	color: #cc3300;
	text-decoration: none;
}

/* #page */
#page {
	background: #cccccc url(assets/img/common-page-glaze.png) left top repeat-y;
	background-size: 266.67vw;
}

#page .viewport-wrap {
	margin: 0;
	padding: 10px 0;
	position: relative;
}

/* header */
header {
	background: #000;
}

.p-groupHeader-01,
#site-head {
	max-width: 1000px;
	margin: 0 auto;
}

#group-head {
	color: #ffffff;
	background: url(../img/common-group-bar.png) center/cover no-repeat;
	background-color: #fb6b00;
	text-align: center;
	font-size: 0;
}

#group-head .tag {
	margin: 0 auto;
	width: 100%;
	min-width: 192px;
}

#group-head .tag img {
	font-size: 1rem;
}

#site-head {
	padding: 0 16px;
	display: block;
	width: 100%;
	line-height: 1;
	color: #ffffff;
	background-color: #000000;
	padding: 10px 0;
}

#site-head a {
	color: #ffffff;
}

#site-head .logo {
	padding: 2.19vw 0;
	display: table-cell;
	vertical-align: middle;
	width: 16.25vw;
	min-width: 52px;
}

#site-head .logo a {
	display: block;
}

#site-head .menu {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	font-size: 0;
}

#site-head .menu .main {
	display: none;
	margin: 0 -16px;
	position: absolute;
	z-index: 10000;
	top: 100%;
	left: 0;
	right: 0;
	background-color: #000000;
}

#site-head .menu .main ul {
	margin: 0;
	padding: 5vw 0;
	list-style: none;
	text-align: center;
}

#site-head .menu .main ul li {
	font-size: 5vw;
}

#site-head .menu .main ul li .bu {
	display: block;
	padding: 5vw;
}

#site-head .menu .main ul li .bu-na {
	color: #666666;
}

#site-head .menu .main ul li a {
	transition: color .25s;
}

#site-head .menu .main ul li a:hover {
	color: #999999;
}

#site-head .menu .main ul li.active a {
	color: #ff6600;
}

#site-head .menu .lang {
	display: inline-block;
	vertical-align: middle;
}

#site-head .menu .lang ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

#site-head .menu .lang ul li {
	display: inline-block;
	font-size: 2.5vw;
}

#site-head .menu .lang ul li a {
	padding: 1.09vw 2.34vw;
	display: block;
	border-width: 1px;
	border-style: solid none;
	border-color: #ff6600;
	color: #ff6600;
	transition: color .25s;
}

#site-head .menu .lang ul li a:hover {
	color: #803300;
}

#site-head .menu .lang ul li:first-child a {
	border-left-style: solid;
}

#site-head .menu .lang ul li:last-child a {
	border-right-style: solid;
}

#site-head .menu .lang ul li.active a {
	border-color: #ff6600;
	color: #000000;
	background-color: #ff6600;
}

#site-head .menu .switch {
	margin-left: 5vw;
	display: inline-block;
	vertical-align: middle;
}

#site-head .menu .switch button {
	padding: 0;
	border: none;
	color: #ffffff;
	background: none;
	outline: none;
	font-size: 7.5vw;
	transition: color .25s;
}

#site-head .menu .switch button:hover {
	color: #cccccc;
}

#site-head .menu .switch button.active {
	color: #ff6600;
}

#content {
	min-height: 100vw;
}

[lang="ja"] #content {
	text-align: justify;
	text-justify: inter-ideograph;
}

#site-foot {
	color: #ffffff;
}

#site-foot .links {
	margin: 0;
	padding: 2.5vw 0;
	list-style: none;
	background: #333333 url(assets/img/common-heading-glaze.png) center top no-repeat;
	text-align: center;
	font-size: 0;
}

#site-foot .links li {
	margin: 1.25vw auto;
	display: block;
	width: 48.75vw;
	max-width: 312px;
	min-width: 117px;
	font-size: 1rem;
}

#site-foot .links li a {
	display: block;
	padding: 1px;
	background-color: #000000;
	border: 1px solid #333333;
}

#site-foot .rights {
	padding: 3.75vw 0;
	background-color: #000000;
	text-align: center;
	font-size: 2.5vw;
}

#group-foot {
	background-color: transparent;
}

.pagetop {
	display: none;
	position: fixed;
	bottom: 30px;
	right: 55px;
}

.pagetop a {
	display: block;
	width: 50px;
	height: 50px;
	background-color: #ff6600;
	text-align: center;
	color: #fff;
	font-size: 2.4rem;
	text-decoration: none;
	line-height: 50px;
}

.f_sitemap {
	background: #000;
	border-bottom: 1px solid #fff;
}

.f_sitemap ul {
	margin: 0 auto;
	text-align: center;
	padding: 30px 0;
}

.f_sitemap li {
	display: block;
	padding: 20px 0;
}

.f_sitemap li a {
	font-size: 1.2rem;
	color: #fff;
}

section.product_list .grid-item {
	float: left;
	width: 33%;
	height: 350px;
	padding-right: 10px;
}

section.product_list .grid-itemp.image {
	margin: 1em auto 0;
	height: 200px;
	text-align: center;
}

section.product_list .grid-item img {
	width: auto;
	height: 200px;
	max-width: 100%;
}

section.product_list .grid-item p.caption {
	margin-top: 0 !important;
	text-align: left;
}

div.grid {
	clear: both;
}

footer {
	clear: both;
}

.product-list {
	max-width: 960px;
	margin: 0 auto;
	position: relative;
	z-index: 9999;
	top: -50px;
	line-height: 1;
}

.product-list ul li div {
	border-top: 6px solid #ff6601;
}

.product-list ul li {
	display: inline-block;
	width: 48%;
	border: 1px solid #000;
	background-color: #fff;
}

.product-list ul {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.product-list ul li a {
	padding-left: 165px;
	display: block;
	font-size: 1.4rem;
	line-height: 1.5;
}

.product-list ul li a span {
	font-size: 2.0rem;
	font-weight: 800;
	border-bottom: 1px solid #999;
	display: block;
}

.bx-wrapper {
	background: rgba(0, 0, 0, 0);
	border: none;
	box-shadow: none;
	margin-bottom: 0;
}

ul.bxslider {
	margin-top: 0 !important;
}

.bx-wrapper .bx-next {
	right: -20px;
}

.bx-wrapper .bx-prev {
	left: -20px;
}

body.en .viewport-wrap img {
	width: 130px;
}

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

	#site-head .menu .main ul {
		padding: 32px 0;
	}

	#site-head .menu .main ul li {
		font-size: 3.2rem;
	}

	#site-head .menu .main ul li .bu {
		padding: 32px;
	}

	#site-head .menu .lang ul li {
		font-size: 1.6rem;
	}

	#site-head .menu .lang ul li a {
		padding: 8px 16px;
	}

	#site-head .menu .switch {
		margin-left: 32px;
	}

	#site-head .menu .switch button {
		font-size: 4.8rem;
	}

	#content {
		min-height: 560px;
	}

	.f_sitemap li {
		margin: 0 20px;
		list-style: none;
		display: inline-block;
	}
}

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

	#group-head .tag {
		width: 53.33vw;
	}

	#site-head .logo {
		padding: 1.25vw 0;
		width: 10.83vw;
	}

	#site-head .menu .main {
		margin: 0;
		display: inline-block !important;
		position: relative;
		vertical-align: middle;
		background-color: transparent;
	}

	#site-head .menu .main ul {
		padding: 0;
	}

	#site-head .menu .main ul li {
		display: inline-block;
		font-size: 1.35vw;
	}

	#site-head .menu .main ul li .bu {
		padding: 0.83vw 2.08vw;
	}

	#site-head .menu .lang ul li {
		font-size: 1.35vw;
	}

	#site-head .menu .lang ul li a {
		padding: 0.73vw 1.56vw;
	}

	#site-head .menu .switch {
		display: none;
	}

	#site-foot .links {
		padding: 3.33vw 0;
	}

	#site-foot .links li {
		margin: 0.83vw;
		display: inline-block;
		width: 24.38vw;
	}

	#site-foot .rights {
		padding: 1.67vw 0;
		font-size: 1.35vw;
	}
}

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

	#page {
		background-size: auto;
	}

	#group-head .tag {
		width: 352px;
	}

	#site-head .logo {
		padding: 12px 0;
		width: 104px;
	}

	#site-head .menu {}

	#site-head .menu .main ul li {
		font-size: 1.3rem;
	}

	#site-head .menu .main ul li .bu {
		display: block;
		padding: 8px 20px 8px 0;
	}

	#site-head .menu .lang {}

	#site-head .menu .lang ul li {
		font-size: 1.3rem;
	}

	#site-head .menu .lang ul li a {
		padding: 7px 15px;
	}

	#site-foot .links {
		padding: 32px 0;
	}

	#site-foot .links li {
		margin: 8px;
		width: 234px;
	}

	#site-foot .rights {
		padding: 16px 0;
		font-size: 1.3rem;
	}
}

#content a:link {
	color: #333;
	text-decoration: none;
}

#content a:hover {
	color: #333;
	text-decoration: underline;
}

#content a:visited {
	color: #333;
}

#content a:visited:hover {
	color: #333;
}

#content p,
#content ul,
#content ol,
#content table {
	margin: 1em 0 0;
}

#content p.message_txt {
	margin: 0;!
}

#content p.mt0 {
	margin: 0em 0 0;
}

#content table {
	border-collapse: collapse;
	border-spacing: 0;
	text-align: left;
}

#content table tr th {
	text-align: left;
}

#content .primary-heading {
	line-height: 1.5;
	color: #ffffff;
	background: #333333 url(assets/img/common-heading-glaze.png) center top no-repeat;
	background-size: 200vw auto;
}

#content .primary-heading .wrap {
	margin: 0 auto;
	position: relative;
	display: table;
	width: 100%;
	max-width: 960px;
	height: 26.25vw;
	max-height: 168px;
}

#content .primary-heading .title {
	padding: 2.5vw;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.5);
	font-size: 6.25vw;
	font-weight: 200;
	letter-spacing: .15em;
}

#content .secondary-heading {
	line-height: 1.25;
	color: #ffffff;
	background: #333333 url(assets/img/common-heading-glaze.png) center top no-repeat;
	background-size: 200vw auto;
}

#content .secondary-heading .wrap {
	margin: 0 auto;
	position: relative;
	display: table;
	width: 100%;
	max-width: 960px;
	height: 15vw;
	max-height: 96px;
}

#content .secondary-heading .wrap:after {
	content: "";
	position: absolute;
	top: 100%;
	left: 50%;
	margin: -1.25vw 0 0 -25vw;
	width: 50vw;
	height: 2.5vw;
	background-color: #ff6600;
}

#content .secondary-heading .title {
	padding: 2.5vw;
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	text-shadow: 0px 2px 0px rgba(0, 0, 0, 0.5);
	font-size: 5vw;
	font-weight: 200;
}

#content .tertiary-heading {
	padding: 2.5vw 0;
	border-bottom: 1.25vw solid #333333;
	position: relative;
	line-height: 1.25;
	text-align: center;
	font-size: 4.38vw;
	font-weight: normal;
}

#content .tertiary-heading:after {
	margin-left: -15vw;
	content: "";
	position: absolute;
	background-color: #ff6600;
	top: 100%;
	left: 50%;
	z-index: 80;
	width: 30vw;
	height: 1.25vw;
}

#content .section {
	padding: 0 0 5vw;
	line-height: 2;
}

#content .section-body {
	margin: 7.5vw auto;
	padding: 0 5vw;
	max-width: 704px;
	font-size: 3.75vw;
}

#content .single-table {
	border-top: 1px solid #999999;
	width: 100%;
}

#content .single-table th,
#content .single-table td {
	vertical-align: top;
}

#content .single-table th {
	width: 5%;
	white-space: nowrap;
	text-align: left;
	font-weight: normal;
}

#content .single-table th:nth-child(n+2),
#content .single-table td:nth-child(n+2) {
	padding-left: 1em;
}

#content .single-table>tbody>tr>th,
#content .single-table>tbody>tr>td {
	border-bottom: 1px solid #999999;
	padding: 3.75vw 2.5vw;
}

#content .single-table>tbody>tr>th {
	padding-right: 0;
	width: 20%;
}

#content .single-table p:first-child,
#content .single-table ol:first-child,
#content .single-table ul:first-child,
#content .single-table table:first-child {
	margin-top: 0;
}

#content .single-table ol,
#content .single-table ul {
	padding-left: 1.5em;
}

#content .single-list {
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid #999999;
}

#content .single-list>.item,
#content .single-list>li {
	border-bottom: 1px solid #999999;
}

#content .single-list .item {
	display: block;
	position: relative;
	padding: 3.75vw 6vw;
}

#content .single-list a.item {
	color: #000000;
	text-decoration: none;
}

#content .single-list a.item:hover {
	color: gray;
}

#content .single-list a.item:after {
	margin-top: -3.13vw;
	content: "\f105";
	position: absolute;
	right: 2.5vw;
	top: 50%;
	color: #ff6600;
	line-height: 1;
	font-size: 6.25vw;
	font-family: FontAwesome;
}

#content .single-button a,
#content .single-button button {
	padding: 5vw;
	display: block;
	border: none;
	outline: none;
	border-radius: 6px;
	background-color: #ffffff;
	box-shadow: 0px 4px 0px 0px rgba(0, 0, 0, 0.1);
	color: #333;
	font-size: 3.75vw;
	text-align: center;
	text-decoration: none;
}

#content .single-button a:hover,
#content .single-button button:hover {
	background-color: #f6f6f6;
}

@media only screen and (min-width: 640px) {
	#content .primary-heading {
		background-size: auto;
	}

	#content .primary-heading .title {
		padding: 16px;
		font-size: 4.0rem;
	}

	#content .secondary-heading {
		background-size: auto;
	}

	#content .secondary-heading .wrap:after {
		margin: -8px 0 0 -160px;
		width: 320px;
		height: 16px;
	}

	#content .secondary-heading .title {
		padding: 16px;
		font-size: 3.2rem;
	}

	#content .tertiary-heading {
		padding: 16px 0;
		border-bottom-width: 8px;
		font-size: 2.8rem;
	}

	#content .tertiary-heading:after {
		margin-left: -96px;
		width: 192px;
		height: 8px;
	}

	#content .single-table>tbody>tr>th,
	#content .single-table>tbody>tr>td {
		padding: 24px 16px;
	}

	#content .section-body {
		font-size: 2.4rem;
	}

	#content .single-list .item {
		padding: 24px 50px;
	}

	#content .single-button a,
	#content .single-button button {
		padding: 32px;
		font-size: 2.4rem;
	}

	#content .single-button.button-topiclist button {
		padding: 16px;
		font-size: 1.8rem;
	}
}

@media only screen and (min-width: 768px) {
	#content .section {
		padding: 0 0 32px;
	}

	#content .section-body {
		margin: 48px auto;
		padding: 0;
		font-size: 1.6rem;
	}

	#content .single-button a.product-button {
		padding: 0;
		line-height: 1.3em;
	}

	#content .single-button a.product-button:hover {
		background-color: #f6f6f6;
	}

	#content .single-list .item {
		padding: 24px 50px;
	}

	#content .single-list a.item:after {
		margin-top: -20px;
		right: 16px;
		font-size: 4.0rem;
	}

	#content .single-list-timeline .item {
		padding: 0;
		display: table;
		width: 100%;
	}

	#content .single-list-timeline .item .date {
		padding: 24px 0 24px 16px;
		display: table-cell;
		vertical-align: top;
		width: 5%;
		white-space: nowrap;
	}

	#content .single-list-timeline .item .text {
		padding: 24px 16px;
		display: table-cell;
		vertical-align: top;
	}
}

/*
.lt480 {}	// 幅480px未満で表示 (=幅480px以上で非表示)
.lt640 {}	// 幅640px未満で表示 (=幅640px以上で非表示)
.lt768 {}	// 幅768px未満で表示 (=幅768px以上で非表示)
.lt960 {}	// 幅960px未満で表示 (=幅960px以上で非表示)
*/
@media only screen and (min-width: 480px) {
	.lt480 {
		display: none;
	}
}

@media only screen and (min-width: 640px) {
	.lt640 {
		display: none;
	}
}

@media only screen and (min-width: 768px) {
	.lt768 {
		display: none;
	}
}

@media only screen and (min-width: 960px) {
	.lt960 {
		display: none;
	}
}

/*
.gte480 {}	// 幅480px以上で表示 (=幅480px未満で非表示)
.gte640 {}	// 幅640px以上で表示 (=幅640px未満で非表示)
.gte768 {}	// 幅768px以上で表示 (=幅768px未満で非表示)
.gte960 {}	// 幅960px以上で表示 (=幅960px未満で非表示)
*/
@media only screen and (max-width: 479px) {
	.gte480 {
		display: none;
	}
}

@media only screen and (max-width: 639px) {
	.gte640 {
		display: none;
	}
}

@media only screen and (max-width: 767px) {
	.gte768 {
		display: none;
	}
}

@media only screen and (max-width: 959px) {
	.gte960 {
		display: none;
	}
}

body.home #content .cover {
	position: relative;
	background-color: #282828;
	text-align: center;
	overflow: hidden;
}

body.home #content .cover .slide {
	margin: auto -25%;
}

body.home #content .cover .slide img {
	width: auto;
	max-height: 100vw;
}

body.home #content .cover .mark {
	margin: 0 auto;
	display: none;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	width: 100%;
	max-width: 1280px;
	background: url(assets/img/home-cover-logo.png) center/cover no-repeat;
}

@media only screen and (min-width: 640px) {
	body.home #content .cover img {
		max-height: 640px;
	}

	body.home #content .cover .slide {
		margin: 0 auto;
		max-width: 1000px;
	}
}

@media only screen and (min-width: 768px) {
	body.home #content .cover img {
		max-height: 640px;
	}
}

body.access #content .section-before-map {
	padding-bottom: 1em;
}

body.access #content .ways {
	margin: 1em 0 0 0;
	padding: 0;
	list-style: none;
}

body.access #content .ways li {
	padding-left: 1.5em;
	position: relative;
}

body.access #content .ways li i {
	position: absolute;
	left: 0;
	line-height: 1.6;
}

body.access #content .notice {
	margin: .5em 0 0 0;
	font-size: 2.6vw;
}

body.access #content .button-print a {
	padding: 2.08vw;
	width: 50%;
}

body.access #content .button-topiclist a {
	padding: 1vw;
	width: 30%;
}

body.access #content .map {
	background-color: #282828;
}

body.post-type-archive-access #content .iframe-wrapper,
body.access #content .iframe-wrapper {
	position: relative;
	padding-bottom: 500px;
	height: 0;
	overflow: hidden;
}

body.post-type-archive-access #content .iframe-wrapper iframe,
body.access #content .iframe-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 500px;
}

@media only screen and (min-width: 768px) {
	body.access #content .notice {
		font-size: 1.4rem;
	}

	body.access #content .button-print a {
		padding: 16px;
	}

	body.access #content .button-topiclist a {
		padding: 8px;
	}

	body.access #content .map-gmap {
		padding-bottom: 40%;
	}
}

body.finance #content .section-holding .pane {
	padding: 2em;
	background: #ffffff;
}

body.finance #content .section-holding .pane p:first-child {
	margin-top: 0;
}

body.finance #content .section-holding .pane .link {
	text-align: center;
}

body.finance #content .section-holding .pane .link .but {
	margin-bottom: .5em;
	width: 371px;
	height: 40px;
}

body.privacy #content .section .paper-pane {
	margin-top: 1em;
	padding: 2em;
	background-color: #ffffff;
}

body.privacy #content .section .paper-pane-centered {
	text-align: center;
}

body.privacy #content .section .paper-pane ol {
	margin-top: 0;
	padding-left: 1.5em;
}

body.privacy #content .section .eom {
	text-align: right;
}

body.privacy #content .section .subheading {
	margin: 2em 0 .5em;
	font-size: 3.13vw;
}

@media only screen and (min-width: 640px) {
	body.privacy #content .section .subheading {
		font-size: 2.0rem;
	}
}

@media only screen and (max-width: 960px) {
	.product-list {
		top: 20px;
	}

	.product-list ul li {
		background-size: auto 50% !important;
		background-position: center 2vw !important;
	}

	.product-list ul li div {
		padding: 5%;
	}

	.product-list ul li a {
		padding-left: 0;
		padding-top: 16vw;
		font-size: 1.2rem;
	}

	.bx-wrapper .bx-next {
		right: 5px;
		top: 35% !important;
	}

	.bx-wrapper .bx-prev {
		left: 5px;
		top: 35% !important;
	}

	.bx-wrapper {
		margin-bottom: 60px;
	}

	.product-list ul li a span {
		font-size: 1.6rem;
	}
}

@media only screen and (max-width: 639px) {
	.product_list div.grid div.grid-item {
		height: 200px;
	}

	.product_list div.grid div.grid-item p.image {
		margin: 1em auto 0;
		height: 100px;
		text-align: center;
	}

	.product_list div.grid div.grid-item p.image img {
		width: auto;
		height: 100px;
		max-width: 100%;
	}

	.product_list div.grid div.grid-item p.caption {
		line-height: 1.2;
		text-arign: left;
	}

}