@charset "utf-8";
/* CSS Document */

body{
	/*-webkit-text-size-adjust: 100%;*/
	-webkit-text-size-adjust: none;
	-webkit-font-smoothing: antialiased;
	font-size: 14px;
}
html{
	overflow-y:auto !important;
}

#body,
#header,
#pagetop,
#main,
.section,
.col,
.column2,
.col_multi_2,
#sub,
#snav .nav,
div#footer div.footer_right{
	float: none !important;
	max-width: 100% !important;
}

#body,#pagetop{
	width:94% !important;
	margin-left:3% !important;
}

#pagetop{
	position: static !important;
}

#body.full-width .gbk {
  background-color:#fff !important;
}
#body{
	padding-bottom:30px;
}
#main{
	padding-top: 0;
}
#sub,
#snav .nav{
	width:100% !important;
	padding-bottom:0;
}

#sub .banner_sp{
	width:auto !important;
	margin:1.5em -3.1% 0;
	padding: 25px 3.1% 10px;
	background:#ededed;
}
#sub .banner_sp ul.banner{
	text-align:center;
}

#snav h2.label{
	background-image:none;
}
#snav h2.label a{
	padding-left:1em;
}

#header{
	border-bottom:#999 1px solid;
	
}
#header #pagetop{
	padding-bottom:0;
}

#header h1#logo_sp, #header p#logo_sp {
	padding-bottom:15px;
  /*width: 120px;*/
	width: 140px;
  margin: 0;
}

#sub ul.banner li{
	text-align:center;
}
#header,#footer,
#header #pagetop,
#footer .inner
{
	min-width: auto;
	max-width: auto;
}

/*search_form*/

#search_icon_sp{
	position:absolute;
	top:10px; right: 76px;
	width: 50px; height: 50px;
	background: url("/common/image/icon_header_search_sp.svg") no-repeat 50% 50%;
	border-radius: 6px;
	cursor: pointer;
}
#search_icon_sp.open{
	background-color: #3C4248;
}
.search_sp{
	display: none;
}
.search_sp.block{
	display: block;
}
.search_sp__form_bg{
	position: absolute;
	width: 100%;
	height: calc(100% - 74px);
	background-color: rgba(7,10,13,0.75);
	top:74px; left: 0px;
	z-index: 50;
	opacity: 0;
	transition: opacity 0.3s;
}
.search_sp__form_bg.is-appear{
	opacity: 1;
}
.search_sp__panel{
	position: absolute;
	opacity: 0;
	width: calc(100% - 40px);
	padding: 1.5rem 2rem 2rem;
	background-color: #fff;
	box-shadow: 3px 4px 12px -2px rgba(0,0,0,0.8);
	transition: all 0.3s;
	top: 20px;
	left: 20px;
	z-index: 50;
	text-align: center;
}
.search_sp__panel.is-appear{
	opacity: 1;
	top: 80px;
}
.search_sp__panel h2{
	font-size: 1.125rem;
	margin: 0 0 1.5rem;
}
.search_sp__panel form *{
	font-size: 1rem;
	line-height: 1;
}
.search_sp__panel input[type="text"]{
	padding: 1rem 1.5rem;
	border: #999 1px solid;
	width: 100%;
}
.search_sp__panel input.search_btn {
	border-radius: 4px; border: none;
	padding: 1.0625rem 1.5rem 1.0625rem 3rem;
	margin: 1.5rem auto;
	background: #387FB5 url("/common/image/icon_header_search.svg") no-repeat 4px 50%;
	color: #fff;
	letter-spacing: 0.2rem;
}

/*************
 #gnav_smart 
***************/

#gnav_icon{
	position: absolute;
	top:0px; right: 0px;
	width: 70px; height: 70px;
	text-align:center;
	cursor: pointer;
	transition: background-color 0.3s;
}
#gnav_icon.open{
	background-color: #3C4248;
}
#gnav_icon span {
	display: inline-block;
	box-sizing: border-box;
	position: absolute;
	width: 30px;
	height: 2px;
	background-color: #82888E;
	left: 20px;
	transition: all 0.4s;
}
#gnav_icon span:nth-of-type(1) {
	top: 24px;
}
#gnav_icon span:nth-of-type(2) {
	top: 32px;
}
#gnav_icon span:nth-of-type(3) {
	top: 40px;
}

#gnav_icon.open span:nth-of-type(1) {
	transform: translateY(8px) rotate(-45deg);
}
#gnav_icon.open span:nth-of-type(2) {
	opacity: 0;
  transform: translateX(8px);
}
#gnav_icon.open span:nth-of-type(3) {
	transform: translateY(-8px) rotate(45deg);
}

/*gnav_smart*/

.gnav_smart_bg{
	position: absolute;
	width: 100%;
	height: calc(100% - 74px);
	background-color: rgba(7,10,13,0.75);
	top:74px; left: 0px;
	z-index: 50;
	display: none;
	opacity: 0;
	transition: opacity 0.3s;
}
.gnav_smart_bg.block{
	display: block;
}
.gnav_smart_bg.is-appear{
	opacity: 1;
}

#header #gnav_smart{
	position: absolute;
	top:70px;
	left: 0px;
	width: 100%;
	z-index:50;
	line-height: 1;
	overflow: hidden;
	display: none;
	background-color: #3C4248;
	box-shadow: 0px 6px 6px -2px rgba(0,0,0,0.4);
	opacity: 0;
	transition: opacity 0.3s;
}
#header #gnav_smart.block{
	display: block;
}
#header #gnav_smart.open{
	opacity: 1;
}

#gnav_smart li{
	width: 50%;
	float: left;
}
#gnav_smart li a{
	display: block;
	padding: 1.5em 1em;
	color: #fff;
	text-decoration: none;
	border-bottom: #82888E 1px solid;
}
#gnav_smart li i{
	color:#82888E; margin-right:0.6em;
}
#gnav_smart li:nth-child(2n) a{
	border-left: #82888E 1px solid;
}
#gnav_smart li:nth-child(5){
	width: 100%;
	/*border-bottom: #82888E 1px solid;*/
}
#gnav_smart li:nth-child(5) a{
	/*width: calc(50% + 1px);
	border-right: #82888E 1px solid;
	border-bottom: none;*/
}

#gnav_smart li.language,
#gnav_smart li.view_mode,
#gnav_smart li.close{
	width: 100%;
	text-align: center;
}

#gnav_smart li.language a,
#gnav_smart li.view_mode a,
#gnav_smart li.close p{
	padding: 1.5em 0 1.8em;
	color: #fff;
	border-left:none;
}

#gnav_smart li.utility_sp{
	width: 100%;
	padding: 1.5em 1em;
	text-align: center;
	border-bottom: #82888E 1px solid;
	line-height: 1;
	font-size: 0.75rem;
}
#gnav_smart li.utility_sp a{
	display: inline-block;
	border: #82888E 1px solid;
	padding: 0.8125rem 0.75rem 0.8125rem 0.75rem;
	min-width: 7rem;
	margin: 0 0.5rem;
}

/*.section*/

div.section{
	padding: 0 !important;
	margin: 0 !important;
}

/*snav*/
#snav,
#snav .nav,
#snav .nav li p,
#snav .nav ul{
	background: #f4f4f4 !important;
}
#snav .nav li a{
	width: auto !important;
}

#header h1#logo, #header p#logo,
#header .utility,
#gnav,
p.bread,
#sub .pager,
div.bottom{
	display: none !important;
}

/* heading*/
#main h1,#main h2{
	max-width: 100% !important;
	overflow: hidden;
}
#main h1 img,#main h2 img{
	min-width: 700px !important;
}
#main h1 img,#main h2 img.link_icon{
	min-width: auto !important;
}

/* heading index_title*/

h1.ctg_title{
	padding:0.6em 3.1% 0.7em 3.1% !important;
	margin:0 -3.1% 1em -3.1% !important;
	width:100%;
	background-color:#E9EAEA;
	font-weight:bold;
	line-height:1;
	font-size:20px !important;
}

h1.page_title{
	margin-top:10px;
}

.index_title{
	margin:2.4em -3.1% 1.7em -3.1% !important;
	padding-top:1.6em;
	line-height:1.4;
	border-top:#b9baba 1px solid;
	width:106.2% !important;
}
.index_title.first{
	border-top:#b9baba 1px solid !important;
	margin-top:0;
}
.index_title h2{
	margin:0 0 0 3.1% !important;
	padding:0 0 0 0.7em;
	border-left:#C03 4px solid;
	font-size:17px;
}

.shoulder{
	display:none;
}

/* ul.link */
ul.link.inline li{
	width:auto !important;
	white-space:nowrap !important;
	margin-right:1em !important;
}

/*index_box*/
div.index_box{
	float: none;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

div.index_box,
div.index_box div,
div.dot_box
{
	max-width: 100%;
	float:none !important;
}

div.index_box{
	width: 100% !important;
}
div.index_box p.image,
div.index_box p.image img{
	width:60px;
	height:auto;
	margin:0;
}

.index_box div.text {
	padding:0 10px 0 70px !important;
	width:auto !important;
}
div.index_box h3{
	margin-bottom:0.2em !important;
	line-height:1.4 !important;
}
div.index_box h3 a{
	color:#333;
	text-decoration:none;
}

/*table*/

table{
	max-width: 100% !important;
}
td,th{
	width: auto !important;
	padding: 0.2em 0.4em !important;
	min-width:4em;
	vertical-align:top;
}
table td img,
table th img,
img{
	max-width: 100% !important;
	height:auto !important;
}

dl{
	width:auto !important;
	max-width:100% !important;
}
dt{
	float:none !important;
}
dd{
	padding-left:2em !important;
}

/*more*/

.more{
	text-align:center;
	line-height:1;
	position:relative;
	border-radius:6px;
	overflow:hidden;
}

.more i{
	position:absolute;
	top:0.4em;
	right:0.6em;
	font-size:27px;
	line-height:1;
	color:#777;
}

.more a{
	display:block;
	text-decoration:none;
	color:#333;
	padding:1.3em 0 1.5em;
	background:#ededed;
}

/***************************
 new_format
****************************/

.bn-box,
.wh-box,
.col2,
.col.span-2{
	max-width:100% !important;
}
.col{
	width:100% !important;
}
.col div{
	float:none;
}

.bn-box{
	min-height: inherit !important;
	margin-bottom:1em !important;
	border-radius: 0px;
}

.bn-box.sh, .wh-box.sh {
  box-shadow: none !important;
}

.l{
	margin-right: 0px !important;
}

.bn-box img{
	width:100%;
	height:auto;
}
.bn-box .txt img{
	width:auto !important;
}

.bn-box .img,
.bn-box .txt{
	padding:0 !important;
}

.bn-box .img{
	float:left !important;
	width:40% !important;
}

.bn-box .txt{
	width:54% !important;
	margin-right: 3% !important;
	float:right !important;
}

.bn-box .txt h3.title{
	margin-top:0.5em !important;
	background-position:0 0.25em !important;
}

.col4 .bn-box{
	border-bottom:#ccc 1px solid;
	padding-bottom:0.5em !important;
	margin-bottom:0.5em !important;
	border-radius:0px !important;
}
.col4 .bn-box .img{
	width:30% !important;
	margin-top:4px !important;
}
.col4 .bn-box .txt{
	width:64% !important;
}
.col4 .bn-box .txt h3.title{
	margin-top:0px !important;
}

/*sub-banners*/
.sub-banners .wh-box{
	margin-top: 2em !important;
	overflow:hidden;
}
.sub-banners .col{
	float: left !important;
	width: 32% !important;
	margin-right: 2% !important;
	margin-bottom:1em;
}

.sub-banners .col:nth-child(3n){
	margin-right: 0 !important;
}

.sub-banners .col .img{
	float: none !important;
	padding: 0 !important;
	width:100% !important;
}
.sub-banners .col .img img{
	width:100% !important;
	height: auto !important;
}

.sub-banners .col .txt{
	padding: 0 !important;
	margin-top: 0.5em !important;
	font-size:92.3%;
}
.content .inner{
	max-width:100% !important;
}

#rel_banners,
.movies-index,
.keyword-index{
	display: none;
}

/*special_contents_area*/
#special_contents_area{display:none}

/*information*/

#infomation_box{
	display:none;
}

#information_sp{
	position:relative;
	margin:0 0 2em;
}
#information_sp .info_box dl{
	margin:0;
	padding:4.2em 0 0;
	line-height:1.5;
	border:#b5b5b5 1px solid;
	border-top:none;
}
#information_sp .info_box dt{
	padding:0 0 0.2em 1.3em;
	font-size:78.5%;
}
#information_sp .info_box dd{
	margin:0 0 0.6em;
	padding:0 1em 0.7em 1em !important;
	border-bottom:#ccc 1px solid;
}
#information_sp .info_box dd:last-child{
	margin-bottom:0;
	border:none;
}
#information_sp .info_box dd a{
	text-decoration:none;
}

#information_sp .info_box h3.tab{
	position:absolute;
	top:0px;
	width:50%;
	padding:0;
	margin:0;
	text-align:center;
	line-height:1;
	background:#b5b5b5;
	border-top:#b5b5b5 2px solid;
}
#information_sp .info_box.current h3.tab{
	background:#fff;
	border-top:#C03 2px solid;
}
#information_sp .info_box h3.tab span{
	display:block;
	padding:1em 0 1.3em;
	border:#b5b5b5 1px solid;
	border-top:none;
	border-bottom:none;
}

#info_news_box h3.tab{
	left:0px;
}

#info_press_box h3.tab{
	left:50%;
}
#information_sp .info_box dl{
	display:none;
}
#information_sp .info_box.current dl{
	display:block;
}
#information_sp .more {
	border-top:none;
	display:none;
	border-radius:0px 0px 6px 6px;
}
#information_sp .current .more {
	display:block;
}

/*********************************************************************
 *  Footer
 *********************************************************************/

#footer_sp .inner{
	width:94% !important;
	margin-left:3% !important;
	text-align: left;
	position: relative;
}

#footer_sp {
  padding: 20px 0;
  background: #82888E;
  color: #fff;
	line-height: 1.7;
}
#footer_sp a {
  color: #fff;
  text-decoration: none;
}
#footer_sp a:hover {
  text-decoration: underline;
}
#footer_sp .full-width .col6 .col {
  width: 155px;
}
#footer_sp .full-width .col6 .l {
  margin-right: 6px;
}
#footer_sp ul.link li {
  font-size: 92.3%;
  padding-left: 20px;
  background: url(../images/arrow_white.png) no-repeat 6px 0.4em;
}
#footer_sp .logo {
  position: relative;
  float: left;
  width: 120px;
  height: 40px;
  margin-right: 20px;
}
#footer_sp .fnav_top {
  float: left;
  width: auto;
  color: #FFF;
  margin-top: 3px;
}
#footer_sp .fnav_top li {
  float: left;
  width: auto;
  margin-right: 1em;
}
#footer_sp .fnav {
  clear: both;
	display: inherit;
}
#footer_sp .fnav .ctg {
  padding: 0 0 0 20px;
  margin-bottom: 0.5em;
  background: url(../images/arrow_gray_large_reverse.png) no-repeat 0 0.3em;
  font-weight: bold;
}
#footer_sp .fnav ul.link li {
  font-size: 84.6%;
}
#footer_sp .inner_info {
  clear: both;
  float: right;
  width: 140px;
  /*border-top: #B9BABA 1px solid;
  margin-top: 20px;*/
  padding: 10px 0 0;
  margin-bottom: -1.4em;
}
#footer_sp .utility_bottom {
  clear: both;
  border-bottom: #B9BABA 1px solid;
  padding-bottom: 10px;
  overflow: hidden;
}
#footer_sp .utility_bottom .logo_jp {
  float: left;
  width: 140px;
  margin-top: 0.5em;
	margin-right: 24px;
  letter-spacing: 0.1em;
  font-size: 107%;
  font-weight: bold;
}
#footer_sp .utility_bottom ul {
  float: left;
  width: auto;
  margin-top: 2px;
}
#footer_sp .utility_bottom li {
  font-size: 92.3%;
  float: left;
  width: auto;
  margin-right: 2em;
}
#footer_sp #copyright_sp {
  clear: both;
  font-family: arial;
  font-size: 84.6%;
  padding: 1em 0 2em;
}

/*fnav_smart*/

#footer_sp ul.link{
	position:static;
	float:none !important;
	left:0px;
	margin-bottom:10px;
}
#footer_sp ul.link li{
	/*float:left;*/
	margin:0;
}

#footer_sp .logo,
#footer_sp .fnav .col,
#footer_sp .logo_jp,
#footer_sp .utility_bottom li{
	float:none !important;
}
#footer_sp .fnav .col ul{
	display: none !important;
}

#footer_sp .inner_info{
	/* float: right; */
	margin: 0;
	width: 50%;
	position: absolute;
	bottom: 3em;
	right:2%;
}

#footer_sp #copyright_sp {
	float: none;
	padding: 0;
	margin: 10px 0 20px;
	font-size:64.2%;
	text-align:left;
}
#footer_sp .utility_bottom{
	max-width:100%;
	padding:0 0 1em;
}

/*update: 230718--SNS*/

#footer_sp 	.footer_sns {
	position: static;
	padding: 0 0.125rem 0.25rem;
	margin: 0 0.875rem 1rem;
	max-width: 200px;
}


/*****************************
  lev-3 style >> .sp
******************************/

body.sp #main{
	font-size: 15px;
}

/*--heading--*/
.sp #main h1.title_large{
	margin: 0 -3.1% 1rem;
	max-width: 106.2% !important;
	border-radius: 0;
}

.sp #main h2.heading_line{
	/*font-size: 1rem;*/
}

/*--index_box--*/
.sp #main .index_box h2,
.sp #main .index_box h3 {
	margin-left: 70px;
}

/*--go_pagetop--*/
.sp .go_pagetop{
	display: none;
}
.sp .go_pagetop_frame{
	right: 20px;
	bottom: 20px;
}

/*  link_anchor
---------------------------------------------------------- */
.sp .link_anchor ul li { float: none; display: inline-block; padding-right: 0.5em;}
.sp .link_anchor ul li a { white-space:normal; text-decoration: none;}

/*---snav---*/
.sp #sub{
	border-top: #ccc 1px solid;
	padding-top: 2rem;
}
.sp #sub #snav {
	margin: 2rem -3.1%;
	width: 106.2%;
	border-radius: 0px;
	font-size: 0.9375rem;
}
.sp #snav h2 a{
	padding: 0.8rem 0.75rem 0.9rem 2rem;
	font-size: 1rem;
	background-position-y: 0.9375rem;
}
.sp #snav ul.nav li a{
	padding: 0.5rem 0.5rem 0.6rem 2rem;
	background-position: 1rem 0.875rem;
}
.sp #snav ul.nav li.current p a,
.sp #snav ul.nav li p.current a,
.sp #snav ul.nav li.current a,
.sp #snav ul.nav ul li.current a {
	background-color: #e3e3e3;
	font-weight: bold;
}

.sp #snav ul.nav ul li {
	background:none;
	border-top:#fff 1px solid;
	position: relative;
	padding-left: 2em;
}
.sp #snav ul.nav ul li a{
	background-position: 15px 50%;
	padding-left: 2rem;
}

/*--bnav--*/
.sp #bnav{
	/*border: #ccc 1px solid;*/
	max-width: 106%;
	margin: 3.5rem 0 1.5rem;
	padding: 0 0 0rem;
}
.sp #bnav a{
	color: #212121;
	text-decoration: none;
	display: block;
}
.sp #bnav a.blank{
	display: inline;
}

.sp #bnav dt{
	margin-bottom: 0;
	font-weight: bold;
	font-size: 1rem;
	/*background: #f4f4f4;*/
	padding: 0.75rem 1rem 0rem;
	margin: 0;
}
.sp #bnav dd{
	background: none;
	padding: 1em 0.5em 0.5em 1em !important;
}
.sp #bnav dd ul {
	display: block;
}
.sp #bnav dd ul li{
	float: none;
	margin-bottom: 0.6em;
	white-space:normal;
	/*padding-bottom: 0.6em;*/
	/*border-bottom: #e0e0e0 1px solid;*/
}
.sp #bnav dd ul li.current a{
	color:#212121;
	font-weight: bold;
}

/*pdf_note*/
.sp div.pdf_note {
	/*background: none;*/
	line-height: 1.4;
	margin-top: 1rem;
	padding: 0.75rem 0.9375rem;
	/*text-indent: -1rem;*/
	/*border-top: #e0e0e0 1px solid;*/
	font-size: 0.875rem;
}
.sp div.pdf_note img{
	vertical-align: 0.1em;
}

/*utilities*/
.sp br.u-spNone{
	display: none;
}

br.u-sp{
	display: none !important;
}
.sp br.u-sp{
	display: inline;
}
.sp .u-nowrap{
	display: inline-block;
	white-space: nowrap;
}

