@charset "UTF-8";
@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);
@import url('https://fonts.googleapis.com/css?family=Source+Serif+Pro:400,600');

body{
	-webkit-text-size-adjust: 100%;
	/*padding:160px 0 0 0;*/
	padding:137px 0 0 0;
	margin: 0;
	font-family: "Noto Sans CJK JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro","メイリオ","Meiryo","ＭＳ Ｐゴシック",sans-serif;
	color: #222;
}

/* iconfont */

@font-face {
  font-family: 'shareicon';
  src:  url('../fonts/shareicon.eot?zbkhpj');
  src:  url('../fonts/shareicon.eot?zbkhpj#iefix') format('embedded-opentype'),
    url('../fonts/shareicon.ttf?zbkhpj') format('truetype'),
    url('../fonts/shareicon.woff?zbkhpj') format('woff'),
    url('../fonts/shareicon.svg?zbkhpj#shareicon') format('svg');
  font-weight: normal;
  font-style: normal;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'shareicon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-location:before {content: "\e947";}
.icon-location2:before {content: "\e948";}
.icon-share:before {content: "\ea7d";}
.icon-share2:before {content: "\ea82";}
.icon-amazon:before {content: "\ea87";}
.icon-google:before {content: "\ea88";}
.icon-google2:before {content: "\ea89";}
.icon-google3:before {content: "\ea8a";}
.icon-google-plus:before {content: "\ea8b";}
.icon-google-plus2:before {content: "\ea8c";}
.icon-google-plus3:before {content: "\ea8d";}
.icon-hangouts:before {content: "\ea8e";}
.icon-google-drive:before {content: "\ea8f";}
.icon-facebook:before {content: "\ea90";}
.icon-facebook2:before {content: "\ea91";}
.icon-instagram:before {content: "\ea92";}
.icon-whatsapp:before {content: "\ea93";}
.icon-spotify:before {content: "\ea94";}
.icon-telegram:before {content: "\ea95";}
.icon-twitter:before {content: "\ea96";}
.icon-vine:before {content: "\ea97";}
.icon-vk:before {content: "\ea98";}
.icon-renren:before {content: "\ea99";}
.icon-sina-weibo:before {content: "\ea9a";}
.icon-rss:before {content: "\ea9b";}
.icon-rss2:before {content: "\ea9c";}
.icon-youtube:before {content: "\ea9d";}
.icon-youtube2:before {content: "\ea9e";}
.icon-vimeo:before {content: "\eaa0";}
.icon-vimeo2:before {content: "\eaa1";}
.icon-flickr:before {content: "\eaa3";}
.icon-flickr2:before {content: "\eaa4";}
.icon-flickr3:before {content: "\eaa5";}
.icon-flickr4:before {content: "\eaa6";}
.icon-dropbox:before {content: "\eaae";}
.icon-onedrive:before {content: "\eaaf";}
.icon-github:before {content: "\eab0";}
.icon-wordpress:before {content: "\eab4";}
.icon-blogger:before {content: "\eab7";}
.icon-blogger2:before {content: "\eab8";}
.icon-tumblr:before {content: "\eab9";}
.icon-tumblr2:before {content: "\eaba";}

/* default */

div,dl,dt,dd,ul,ol,
li,h1,h2,h3,h4,h5,
h6,pre,code,form,fieldset,legend,
input,textarea,p,blockquote,
th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;word-break: break-all;font-size:inherit;width:100%;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
input,textarea,select{*font-size:100%;}
legend{color:#000;}
select,input,button,textarea{font:99% arial,helvetica,clean,sans-serif;}
pre,code,kbd,samp,tt{font-family:monospace;*font-size:108%;line-height:100%;}
.aligncenter{text-align:center;}
img{vertical-align: bottom;line-height: 1;}

a,
a:after{
	color:#222;
	text-decoration: none;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}

a#top{
	content:'';
	width:0px;
	top:0px;
	position: absolute;
	left:0px;
	top:0px;
}

p{line-height: 1.8;}

.mincho{font-family:'Source Serif Pro';}

/* common item ---------------------------------------*/

.clearfix:after,
.inner:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

.sp{display: none !important;}
.spbr{display: none !important;}


/* layout ---------------------------------------*/

.wrapper{
	width:980px;
	margin:0 auto 100px auto;
}

.inner{
	max-width:1180px;
	min-width:980px;
	margin:0 auto;
	position: relative;
}

.pageInner{
	width:880px;
	margin: 0 auto;
	padding:0 50px 0;
}
.pageInner .bxslider li img{
  width: 100%;
}
.pageInner .SingleContent h4{
  font-size: 1.4rem;
  font-weight: bold;
  border-left: solid 6px #A7061D;
  padding-left: 10px;
  margin-bottom: 10px;
}
.pageInner .SingleContent h5{
  font-size: 1.4rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.pageInner .SingleContent h6{
  font-size: 1.2rem;
  font-weight: bold;
  margin-bottom: 10px;
}
.pageInner .SingleContent p img{
  margin: 0 auto;
  display: inline-block;
}
.pageInner .SingleContent p img:nth-child(n + 2){
  margin-left: 20px;
}
.pageInner .SingleContent p img.alignleft{
  float: left;
}
.pageInner .SingleContent p img.alignright{
  float: right;
}
.pageInner .SingleContent p strong{
  font-weight: bold;
}

.pageInner100{
	width:100%;
	margin: 0 auto;
	padding:0;
}

.overlay{
	display: none;
}

.bgGray{
	background: #F4F4F4;
}


/* header ---------------------------------------*/

header{
	position:relative;
	height:137px;
	z-index:100;
	position:fixed;
	width:100%;
	min-width:980px;
	left:0px;
	top:0px;
	background: rgba(255,255,255,0.9);
	transition: all .25s ease;
}

.headerInner{}

header .headerLogo{
	display: block;
	background: url(../img/common/logo.png) 0 0 no-repeat;
	width:615px;
	height:34px;
	text-indent: -999em;
	overflow: hidden;
	margin:0 auto;
	position: absolute;
	left:50%;
	top:35px;
	margin:0 0 0 -308px;
}
header .headerLogo.headerLogo-en{
	background: url(../img/common/en_logo.png) center center no-repeat;
}
header .headerLogoS{
	background: url(../img/common/logo_fixed.png) 0 0 no-repeat;
	width:35px;
	height:33px;
	text-indent: -999em;
	overflow: hidden;
	margin:0 auto;
	display: block;
	position: absolute;
	left:50%;
	top:20px;
	margin:0 0 0 18px;
}

header .headerLogoS{opacity:0;}

.headerLogoInMenu{display: none;}

.headerLanguage{
	position: absolute;
	right:40px;
	top:37px;
	font-size: 0;
}

.headerLanguage .fb{
	display: inline-block;
	width:27px;
	height:27px;
	line-height: 27px;
	border:1px solid #A6A6A6;
	color:#A6A6A6;
	font-weight: bold;
	text-align: center;
	font-size: 13px;
	overflow: hidden;
	margin-left: 10px;
}
.headerLanguage .fb:hover{
	border-color:#cf001c;
	color:#cf001c;
}

.headerLanguage ul{
	overflow:hidden;
	font-size: 0;
	display: inline-block;
}

.headerLanguage ul li{
	display: inline-block;
	width:70px;
	font-size: 13px;
	font-weight: bold;
	border:1px solid #A6A6A6;
	text-align: center;
}

.headerLanguage ul li:first-child{
	border-right:none;
}
.headerLanguage ul li:nth-child(2){
	border-left:1px solid #cf001c;
}
.headerLanguage ul li a{
	color:#A6A6A6;
	display: block;
	height:27px;
	line-height: 27px;
}
.headerLanguage ul li.on,
.headerLanguage ul li:hover
{border-color:#cf001c !important;}
.headerLanguage ul li.on a,
.headerLanguage ul li:hover a
{color:#cf001c;}


/* gnav ---------------------------------------*/

#gnav{
	position: absolute;
	left:0px;
	bottom: 5px;
	width:100%;
	min-width:980px;
}

#gnav > ul{
	text-align: center;
	font-size: 0px;
}

#gnav > ul > li{
	display: inline-block;
	line-height: 1.0;
	position: relative;
	font-size: 15px;
}

#gnav > ul > li > a{
	display: block;
	font-size: 15px;
	font-weight: bold;
	/*padding-bottom:5px;*/
	padding-bottom:8px;
	color:#111;
	text-decoration: none;
	position: relative;
}

#gnav > ul > li:after{
	content:'';
	width:0%;
	height:3px;
	left:50%;
	bottom:0px;
	display: block;
	position: absolute;
	background: #cf001c;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}

#gnav > ul > li:hover:after{
	width:100%;
	left:0;
}

#gnav > ul > li > a > span{
	display: block;
	/*padding:10px 27px;*/
	padding:6px 18px;
	border-left:1px solid #BFBFBF;
	position: relative;
}

#gnav > ul > li:first-child > a > span{
	border-left:none;
	padding-left:0;
}

#gnav > ul > li:last-child > a > span{
	padding-right: 0;
}

#gnav > ul > li.hasSubmenu > a > span:after{
	display: inline-block;
	content:'';
	background:url(../img/common/icon_under.png) no-repeat left top;
	width:16px;
	height:16px;
	margin-left: 8px;
	/*margin-left: 12px;*/
	/*transition: all .75s ease;*/
}

#gnav > ul > li.hasSubmenu > a:hover > span:after{
	transform: rotate(180deg);
}

#gnav > ul > li.hasSubmenu ul{
	display: none;
	position: absolute;
	left:0px;
	/*top:40px;*/
	top:35px;
	width:295px;
	background: rgba(0,0,0,0.8);
	box-sizing:border-box;
	/*padding:0 15px;*/
	border-top:4px solid #cf001c;
}
#gnav > ul > li.hasSubmenu ul:after{}

#gnav > ul > li.hasSubmenu ul.submenu1{width:250px;}
#gnav > ul > li.hasSubmenu ul.submenu2{width:360px;}
#gnav > ul > li.hasSubmenu ul.submenu3{width:340px;left:-25px;}
#gnav > ul > li.hasSubmenu ul.submenu4{width:220px;left:-15px;}

#gnav > ul > li.hasSubmenu ul li{
	text-align: left;
	padding: 0 15px;
	line-height: 1.5;
}
#gnav > ul > li.hasSubmenu ul li:hover{
	background-color: rgba(111,111,111,0.8);
}
#gnav > ul > li.hasSubmenu ul li:last-child a{border-bottom:none;}

#gnav > ul > li.hasSubmenu ul li a{
	box-sizing:border-box;
	border-bottom:1px solid #4B4B4B;
	padding:20px 0 20px 30px;
	display: block;
	color:#fff;
	font-weight: normal;
	background: url(../img/common/icon_footermenu.png) 10px 25px no-repeat;
}

/*#gnav > ul > li.hasSubmenu ul li{
	text-align: left;
	box-sizing:border-box;
	border-bottom:1px solid #999;
}
#gnav > ul > li.hasSubmenu ul li:last-child{border-bottom:none;}

#gnav > ul > li.hasSubmenu ul li a{
	padding:20px 0 20px 30px;
	display: block;
	color:#fff;
	font-weight: normal;
	background: url(../img/common/icon_footermenu.png) 10px 25px no-repeat;
}

#gnav > ul > li.hasSubmenu ul li a:hover{
	opacity:0.7;
	background-position:12px 25px;
}
*/
#gnav .headerLanguageNav{display: none;}

#openMenu,
#closeMenu{display:none;}


/* fixed header and nav ---------------------------------------*/


.fixed header{
	background: rgba(255,255,255,0.9);
	height:110px;
	min-width:0;
}

.fixed .headerInner{}

.fixed header .headerLogo{opacity:0;}
.fixed header .headerLogoS{opacity:1;}

.fixed .headerLanguage{top:30px;}


/* footer ---------------------------------------*/

#footBnrArea{}
.footBnrList{
	text-align: center;
	font-size: 0;
}

.footBnrList li{
	display: inline-block;
	margin-left: 2%;
	width:32%;
}

.footBnrList li a{}


.footBnrList li img{width:100%; max-width: 373px;}

.footBnrList li a:hover{
	opacity:0.7;
}

.footBnrList li:first-child{margin-left: 0;}

footer{padding:120px 0 10px 0;}

.footerInner{
	max-width:1180px;
	min-width:980px;
	margin:0 auto 20px;
	position:relative;
	border-bottom:1px solid #E10000;
	overflow: hidden;
}

.footerLogo a{
	display: block;
	background: url(../img/common/logo_footer.png) 0 0 no-repeat;
	width:523px;
	height:33px;
	text-indent: -999em;
	overflow: hidden;
	margin-bottom: 40px;
}
.footerLogo.footerLogo-en a{
	background: url(../img/common/en_logo_footer.png) 0 0 no-repeat;
}
.footerLogo a:hover{opacity:0.7;}

#footerNav{
	overflow: hidden;
	padding-bottom: 15px;
	float: left;
	width: 71%;
	max-width:900px;
	min-width:600px;
}

#footerNav > ul{
	display: inline-block;
	margin-left: 60px;
	vertical-align: top;
}

#footerNav > ul:first-child{
	margin-left: 0;
	width:32%;
}
#footerNav > ul:nth-child(2){width:31%;}
#footerNav > ul:nth-child(3){width:20%;}

#footerNav > ul > li{font-size: 14px;}

#footerNav > ul > li > a{
	font-weight: bold;
	line-height: 1.0;
	margin-bottom: 27px;
	margin-left: 20px;
	padding:2px 0 4px 0;
	display: inline-block;
	border-bottom:1px solid #fff;
	position: relative;
}
#footerNav > ul:nth-child(3) > li > a{
	margin-bottom: 32px;
}

#footerNav > ul > li > a:hover{
	color:#D00015;
	border-color:#D00015;
}

#footerNav > ul > li > a:before{
	content:'';
	display: block;
	position: absolute;
	left:-20px;
	top:2px;
	background: url(../img/common/icon_right.png) 0 0 no-repeat;
	width:16px;
	height:16px;
}

#footerNav > ul > li.hasSubmenu ul{margin-bottom: 20px;}

#footerNav > ul > li.hasSubmenu ul li{
	margin-bottom: 30px;
	font-size: 14px;
	padding: 0 0 0 20px;
	background: url(../img/common/icon_footermenu.png) 0.5em 0.5em no-repeat;
	line-height: 1.6;
}

#footerNav > ul > li.hasSubmenu ul li a{
	border-bottom:1px solid #fff;
	position: relative;
}

#footerNav > ul > li.hasSubmenu ul li a:hover{border-color:#666;}

.goTop{
	background: url(../img/common/btn_pagetop.png) 0 0 no-repeat;
	background-size: 100%;
	width:40px;
	height:40px;
	position: absolute;
	right:0px;
	top:0px;
	text-indent: -99em;
	overflow: hidden;
}

.goTop:hover{opacity:0.7;}

.footerFacebook{
	float: right;
	width:275px;
}

footer .copyright{
	display: block;
	line-height: 1.0;
	padding:30px 0 30px 0;
	font-size: 15px;
	text-align: center;
	font-family:'Source Serif Pro';
}


/* title ---------------------------------------*/

.pageTitleWrapper{
	background: url(../img/common/bg_pagetitle.png) no-repeat center top;
	height:200px;
	position: relative;
	min-width:980px;
	margin-bottom: 80px;
}
.pageTitleWrapper.talkRoom{
	background: url(../img/common/bg_pagetitle_talkRoom.png) no-repeat center top;
}

.pageTitle{
	text-align: center;
	font-size: 36px;
	font-weight: 500;
	line-height: 1.3;
	padding-top: 30px;
	letter-spacing: 3px;
	color: #111;
}
.talkRoom .pageTitle{
	color: #fff;
  font-family: 'Source Serif Pro';
}

.pageTitle span{
	display: block;
	line-height: 1.0;
	font-weight: bold;
	color:#E00000;
	font-family:'Source Serif Pro';
	font-size: 18px;
	padding-top: 10px;
	letter-spacing: 1px;
}
.talkRoom .pageTitle span{
	color: #fff;
}

.pageTitleWrapperHasKv {
	background: none;
	height: auto;
	margin-bottom: 0;
	position: relative;
}
.pageTitleWrapperHasKv .pankuzu a,
.pageTitleWrapperHasKv .pankuzu a:after,
.pageTitleWrapperHasKv .pankuzu span{
	color: #fff;
	border-color: #fff;
	font-weight: lighter;
}

.articleTitleWrapper{
	margin-bottom: 70px;
	padding-bottom: 60px;
	position: relative;
	text-align: center;
}

.articleTitleWrapper:after{
    display:block;
    content:'';
    width:40px;
    height:2px;
    background: #CE0820;
    position:absolute;
    left:50%;
    bottom:0;
    margin:0 0 0 -20px;
}
.articleTitleWrapper-noUnderline{
	padding-bottom: 0;
}
.articleTitleWrapper-noUnderline:after{
	display: none;
}

.articleTitle{
	font-size: 22px;
	line-height: 1.0;
}

/* text ---------------------------------------*/

.red{color:#CE0820;}

/* icon ---------------------------------------*/

.icon__arrow{
	display: inline-block;
	background: url(../img/common/icon_arrow_red.png) no-repeat left center;
	background-size: 4px;
	padding-left: 6px;
}

.icon__blank:after{
	display: inline-block;
    content:'';
	background: url(../img/common/icon_blank.png) no-repeat right center;
	background-size: 16px;
	width:16px;
	height:16px;
	margin-right: 6px;
}
.icon__blank:hover:after{
	background-image: url(../img/common/icon_blank_on.png);
}

/* pankuzu ---------------------------------------*/

.pankuzu{
	max-width:1300px;
	padding-top: 20px;
	line-height: 1.0;
}

.pankuzu ul{padding-left: 30px;}
.pankuzu ul li{
	display: inline-block;
	font-size: 14px;
	margin-right: 25px;
}
.pankuzu ul li a{
	padding-bottom: 7px;
	display: inline-block;
	position: relative;
	line-height: 1;
	color: #333;
	border-bottom:1px solid #333;
}

.pankuzu ul li a:after{
    display:block;
    content:'';
    width:10px;
    height:14px;
    position:absolute;
    right:-15px;
    top:-3px;
    border-right:1px solid #333;
    transform:rotate(30deg);
}
.talkRoom .pankuzu ul li,
.talkRoom .pankuzu ul li a,
.talkRoom .pankuzu ul li a:after{
  color: #fff;
  border-bottom-color: #fff;
  border-right-color: #fff;
}

.pankuzu ul li a:hover{
	color: #CE0820;
	border-bottom:1px solid #CE0820;
}

.pankuzu ul li span{
	padding-bottom: 7px;
	display: inline-block;
	color: #333;
	/*border-bottom:1px solid #434343;*/
}

.pankuzu ul li span:hover{
	/*color: #CE0820;*/
	/*border-bottom:1px solid #CE0820;*/
}

/* pager ---------------------------------------*/


.pager{}
.pager ul{
	overflow:hidden;
	text-align:center;
	font-size: 0;
}
.pager ul li{
	display:inline-block;
	margin:0 0px;
	font-size: 14px;
	vertical-align: top;
}
.pager ul li.pagerDot{
	width:80px;
	height:48px;
	line-height:46px;
	font-size: 17px;
	border-right:1px solid #bfbfbf;
}
.pager ul li a,
.pager ul li span{
	display:block;
	border:1px solid #bfbfbf;
	border-left:none;
	height:46px;
	width:46px;
	line-height:46px;
	text-align:center;
	font-size:14px;
	font-weight: bold;
	color:#333;
}
.pager ul li a:hover,
.pager ul li span{
	background-color:#A7061D;
	color:#fff;
	text-decoration:none;
}
.pager ul li a:hover{
	background-color:#666666;
}

.pager ul li.pagerPrev a,
.pager ul li.pagerNext a{
	background-color:#A6A6A6;
	color:#fff;
	font-weight:bold;
	position: relative;
	text-indent: -999em;
	overflow: hidden;
}
.pager ul li.pagerPrev a:hover,
.pager ul li.pagerNext a:hover{
	background-color:#666666;
}

.pager ul li.pagerNext a{
	background: url(../img/common/arrow_white.png) no-repeat center center #A6A6A6;
}

.pager ul li.pagerPrev a{
	background: url(../img/common/arrow_white_left.png) no-repeat center center #A6A6A6;
}


/* form ---------------------------------------*/

input[type="text"]:focus,
textarea:focus,
select:focus {
	outline: 0;
	border: 1px solid #cf0010;
}

.formArea .submit{
	text-align: center;
}

.formSelectWrapper {
	display: inline-block;
	position: relative;
	width:100%;
}

.formSelectWrapper:before {
	content: '';
	position: absolute;
	top: 0;
	right: 0px;
	width: 40px;
	height: 40px;
	background-color: #999999;
	pointer-events : none;
}

.formSelectWrapper:after {
	content: '▼';
	position: absolute;
	width: 10px;
	height: 10px;
	top: 15px;
	right: 15px;
	color: #fff;
	font-size: 10px;
	line-height: 1;	
	pointer-events : none;
}
.mw_wp_form_confirm .formSelectWrapper:before,
.mw_wp_form_confirm .formSelectWrapper:after,
.mw_wp_form_preview .formSelectWrapper:before,
.mw_wp_form_preview .formSelectWrapper:after{
  display: none;
}

.formSelectWrapper .formSelect {
	-moz-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	-webkit-appearance: none;
	appearance: none;
	border-radius: 0;
	border: 0;
	border: 1px solid #999999;
	padding: 0 45px 0 15px;
	height: 40px;
	background-color: #fff;
	width:100%;
}
.formSelectWrapper .formSelect::-ms-expand {
 	display: none;
}
.formSelectWrapper .formSelect:focus {border: 1px solid #cf0010;}
.formSelectWrapper.active:before {background-color: #cf0010;}

.formText[type="text"]{
	padding:11px 5px;
	border:1px solid #aaa;
	width:100%;
	box-sizing:border-box;
}

.formText[type="text"].sizeS{
	width:130px;
}

.formRadio {
	display: inline-block;
	line-height: 1;
	margin-right: 5px;
	font-size: 12px;
}

.formRadio label {
	background: url(../img/radio.png) left 1px no-repeat;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 3px 0 0 28px;
	position: relative;
	vertical-align: top;
}

.formRadio input[type="radio"] {display: none;}
.formRadio input:checked + label {background-image: url(../img/radio_on.png);}
.formRadio input:disabled + label {opacity: 0.7;}

.formCheckbox {
	display: inline-block;
	line-height: 1;
	margin-right: 5px;
	font-size: 12px;
}

.formCheckbox label {
	background: url(../img/common/form_check.png) left 3px no-repeat;
	box-sizing: border-box;
	cursor: pointer;
	display: inline-block;
	line-height: 1.4;
	min-height: 23px;
	margin: 0px 0;
	padding: 3px 0 0 28px;
	position: relative;
	vertical-align: top;
}
.formCheckbox input[type="checkbox"] {display: none;}
.formCheckbox input:checked + label {background-image: url(../img/common/form_check_on.png);}
.formCheckbox input:disabled + label {opacity: 0.7;}
.formCheckbox label:hover{background-image: url(../img/common/form_check_focus.png);}
.formCheckbox input:checked + label:hover {background-image: url(../img/common/form_check_focus_on.png);}

.formTextarea{
	padding:13px 5px;
	border:1px solid #aaa;
	width:100%;
	box-sizing:border-box;
	height:150px;
}

.formLine{
	margin-bottom: 1em;
}

.btn{
	display: inline-block;
	background: #000;
	text-align: center;
	line-height: 1.0;
	color:#fff;
	font-size: 16px;
	letter-spacing: 2px;
	padding:12px 0;
	position: relative;
	font-weight:500;
	border:none;
	cursor: pointer;
	-webkit-transition: all .25s ease;
	   -moz-transition: all .25s ease;
	    -ms-transition: all .25s ease;
	     -o-transition: all .25s ease;
	        transition: all .25s ease;
}
.btn.back{
  background: #666;
}

.btn:hover{
	background: #999999;
}

.btn:after{
    display:block;
    content:'';
    background:url(../img/common/icon_btn.png) no-repeat left top;
    width:10px;
    height:10px;
    position:absolute;
    right:10px;
    bottom:10px;
}
.btn.back:after{
  display: none;
}
.mw_wp_form_input .input_only{
  display: block;
}
.mw_wp_form_confirm .input_only{
  display: none;
}

.mw_wp_form_input .confirm_only{
  display: none;
}
.mw_wp_form_confirm .confirm_only{
  display: block;
}

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

	/* default */
	body{padding:0;}
	img{max-width:100%;}
	*{box-sizing:border-box;}

	/* common item */
	.sp{display: block !important;}
	.pc{display: none !important;}
	.spbr{display: block !important;}
	.pcbr{display: none !important;}

	header,
	.headerInner,
	.footerInner,
	.inner,
	.pageInner,
	.wrapper{
		min-width:0;
		width:100%;
	}

	.wrapper{margin:0;}
	.pageInner{
		padding:30px calc(50vw / 7.5);
	}
	.pageInner100{
		padding: 30px 0;
	}
	.overlay{
		content:'';
		display: block;
		position:fixed;
		width:100%;
		height:300px;
		background: rgba(255,255,255,0.9);
		left:0;
		top:0;
		z-index:6;
	}

	#openMenu,
	#closeMenu{
		display:block;
		text-indent: -99em;
		overflow: hidden;
		right:25px;
		top:25px;
	}

	#openMenu{
		background: url(../img/common/sp_menu.png) no-repeat left top;
		background-size:25px;
		width:25px;
		height:18px;
		position:absolute;
	}

	#closeMenu{
		background: url(../img/common/sp_menu_close.png) no-repeat left top;
		background-size:20px;
		width:20px;
		height:20px;
		z-index:15;
		position:fixed;
		display: none;
		opacity:0;
	}

	header{
		width:100%;
		background: none;
		left:0px;
		top:0px;
		z-index: 1000;
		padding:0px 0 0 0;
		height:65px;
	}

	.headerLanguage{display: none;}

	.spfixed header,
	.fixed header{
		background: rgba(255,255,255,0.8);
		box-shadow:0 1px 1px rgba(0,0,0,0.15);
		height:65px;
	}



	/* header ---------------------------------------*/

	.headerInner{padding-top: 0px;}

	header .headerLogo,
	.fixed header .headerLogo{
		display: block;
		background: url(../img/common/logo_sp.png) 0 0 /contain no-repeat;
		/*background-size: 276px;*/
		width: calc(552vw / 7.5);
		max-width:276px;
		height:25px;
		position: absolute;
		left:20px;
		top:20px;
		opacity:1;
		margin:0;
		z-index:2;
	}
  header .headerLogo.headerLogo-en{
    background: url(../img/common/en_logo.png) center center no-repeat;
    background-size: 100%;
  }

	.headerLogoInMenu{
		display: block;
		background: url(../img/common/logo_sp_inmenu.png) 0 0 no-repeat;
		text-indent: -999em;
		overflow: hidden;
		background-size: 100%;
		width:76%;
		height:57px;
		position: absolute;
		left:20px;
		top:20px;
		opacity:1;
		margin:0;
		z-index:2;
	}

	header .headerLogoS{display: none;}

	.headerLanguage .fb{
		display: inline-block;
		width:27px;
		height:27px;
		line-height: 27px;
		border:1px solid #A6A6A6;
		color:#A6A6A6;
		font-weight: bold;
		text-align: center;
		font-size: 13px;
		overflow: hidden;
		margin-left: 10px;
	}

	.headerLanguage ul{
		overflow:hidden;
		font-size: 0;
		display: inline-block;
	}

	.headerLanguage ul li{
		display: inline-block;
		width:70px;
		font-size: 13px;
		font-weight: bold;
		border:1px solid #A6A6A6;
		text-align: center;
	}

	.headerLanguage ul li:first-child{
		border-right:none;
	}
	.headerLanguage ul li:nth-child(2){
		border-left:1px solid #E10000;
	}
	.headerLanguage ul li a{
		color:#A6A6A6;
		display: block;
		height:27px;
		line-height: 27px;
	}

	/* gnav ---------------------------------------*/

	#gnav{
		position: absolute;
		left:0px;
		bottom:none;
		top:-1000px;
		width:100%;
		height:700px;
		min-width:0;
		padding:70px 25px 30px;
		background: rgba(0,0,0,0.95);
		z-index:10;
		box-sizing:border-box;
		overflow:auto;
	}

	#gnav > ul{
		text-align:left;
		margin-bottom: 10px;
	}

	#gnav > ul > li{
		display: block;
		line-height: 1.0;
		position: relative;
		font-size: 12px;
		border-bottom:1px solid #333;
	}

	#gnav > ul > li:last-child{border-bottom:none;}

	#gnav > ul > li > a{
		display: block;
		font-size: 12px;
		font-weight: normal;
		padding-bottom:0px;
		color:#fff;
		text-decoration: none;
		position: relative;
	}

	#gnav > ul > li:after{display: none;}
	#gnav > ul > li:hover:after{display: none;}

	#gnav > ul > li > a > span{
		display: block;
		padding:18px 0px;
		border-left:none;
		position: relative;
	}

	#gnav > ul > li:first-child > a > span{
		border-left:none;
	}

	#gnav > ul > li > a > span:before{
	    display: inline-block;
	    content:'';
	    background:url(../img/common/icon_right.png) no-repeat left top;
	    background-size: 100%;
	    width:12px;
	    height:12px;
	    margin-left: 0px;
	    margin-right: 5px;
		transition: none;
	}

	#gnav > ul > li.hasSubmenu{
	}

	#gnav > ul > li.hasSubmenu > a > span:before{
		background:url(../img/common/icon_under.png) no-repeat left top;
	    background-size: 100%;
		transition: all .25s ease;
	}
	#gnav > ul > li.hasSubmenu > a.open > span:before{transform:rotate(180deg);}
	#gnav > ul > li.hasSubmenu > a > span:after{display: none;}

	#gnav > ul > li.hasSubmenu ul{
		display: none;
		position: static;
		width:auto;
		background: none;
		box-sizing:border-box;
		padding:0px 0 15px 0;
		border-top:none;
	}

	#gnav > ul > li.hasSubmenu ul:after{display: none;}

	#gnav > ul > li.hasSubmenu ul.submenu1{width:100%;}
	#gnav > ul > li.hasSubmenu ul.submenu2{width:100%;}
	#gnav > ul > li.hasSubmenu ul.submenu3{width:100%;}

	#gnav > ul > li.hasSubmenu ul li{
		text-align: left;
		box-sizing:border-box;
		border:none;
	}
	#gnav > ul > li.hasSubmenu ul li:last-child{border-bottom:none;}

	#gnav > ul > li.hasSubmenu ul li:hover{background: #000;}

	#gnav > ul > li.hasSubmenu ul li a,
	#gnav > ul > li.hasSubmenu ul li a:hover{
		padding:10px 0 10px 18px;
		display: block;
		color:#fff;
		font-weight: normal;
		background: url(../img/common/icon_footermenu.png) 2px 13px no-repeat;
		border-bottom:none;
	}

	#gnav > ul > li.hasSubmenu ul li a:hover{
		opacity:1.0;
		background-color: #000;
	}

	#gnav .headerLanguageNav{
		display: block;
	}

	#gnav .headerLanguageNav ul{
		float: left;
		width:83%;
		font-size: 0px;
	}

	#gnav .headerLanguageNav ul li{
		display: inline-block;
		width:50%;
	}

	#gnav .headerLanguageNav ul li a{
		border:1px solid #999999;
		color:#999999;
		line-height: 1.0;
		height:30px;
		line-height: 30px;
		font-size: 12px;
		letter-spacing: 1px;
		text-align: center;
		display: block;
	}

	#gnav .headerLanguageNav ul li:first-child a{border-right:none;}

	#gnav .headerLanguageNav ul li.on a{
		background: #999;
		color:#fff;
	}

	#gnav .headerLanguageNav .fb{
		width:30px;
		height:30px;
		line-height: 30px;
		font-size: 13px;
		border:1px solid #999999;
		color:#999999;
		font-weight: bold;
		text-align: center;
		display: block;
		float: right;
	}


	/* footer ---------------------------------------*/

	.footBnrList{
		text-align: center;
		font-size: 0;
		margin:0 20px;
	}

	.footBnrList li{
		width:50%;
		display: inline-block;
		margin-left: 0px;
		margin-bottom: 10px;
	}

	.footBnrList li:first-child{width:100%;}
	.footBnrList li:nth-child(2){padding-right: 5px;}
	.footBnrList li:nth-child(3){padding-left: 5px;}
	.footBnrList li a:hover{opacity:1;}

	footer{
		padding: 30px 0 10px 0;
		margin:0 20px;
	}

	.footerInner{
		width:auto;
		margin:0 auto 10px;
		position:relative;
		border-bottom:1px solid #E10000;
		padding-top: 5px;
	}
	.footerLogo{margin-bottom: 15px;}

	.footerLogo a{
		display: block;
		background: url(../img/common/logo_footer_sp.png) 0 0 no-repeat;
		background-size: 100%;
		width:250px;
		height:22.5px;
		margin-bottom: 10px;
	}
	.footerLogo.footerLogo-en a{
    background: url(../img/common/en_logo_footer.png) 0 0 no-repeat;
		background-size: 100%;
  }

	.footerLogo a:hover{opacity:1.0;}

	#footerNav{
		padding-bottom: 0px;
		float:none;
		width:100%;
	}

	#footerNav > ul{
		display: block;
		margin-left: 0px;
		width:100%;
	}
	#footerNav > ul:first-child,
	#footerNav > ul:nth-child(2),
	#footerNav > ul:nth-child(3){width:100%}

	#footerNav > ul > li{
		font-size: 13px;
		border-top:1px solid #ccc;
	}

	#footerNav > ul > li > a{
		font-weight: bold;
		line-height: 1.0;
		margin-bottom: 0px;
		margin-left: 0px;
		padding:15px 0;
		border-bottom:none;
		display: block;
	}
  
  #footerNav > ul:nth-child(3) > li > a{
    margin-bottom: 0;
  }

	#footerNav > ul > li > a:before{
		content:'';
		display: inline-block;
		position: static;
		background: url(../img/common/icon_right.png) 0 0 no-repeat;
		background-size: 100%;
		width:12px;
		height:12px;
		margin-right: 5px;
	}

	#footerNav > ul > li.hasSubmenu > a:before{
		transform:rotate(90deg);
		transition: all .25s ease;
	}
	#footerNav > ul > li.hasSubmenu > a.open:before{
		transform:rotate(270deg);
	}

	#footerNav > ul > li.hasSubmenu ul{
		margin-bottom: 0px;
		padding:15px 0 5px;
		border-top:1px solid #ccc;
		display: none;
	}

	#footerNav > ul > li.hasSubmenu ul li{
		margin-bottom: 8px;
		font-size: 12px;
		padding:0;
		background: none;
	}

	#footerNav > ul > li.hasSubmenu ul li a{
		padding:0 0 0 0px;
		margin:0 0 0 20px;
		display: block;
		border-bottom:none;
		position: relative;
	}

	#footerNav > ul > li.hasSubmenu ul li a:before{
		content:'';
		display: block;
		position: absolute;
		left:-15px;
		top:7px;
		background: url(../img/common/icon_footermenu.png) 0px 0px no-repeat;
		background-size: 100%;
		width:5px;
		height:7px;
	}

	.goTop{
		background: url(../img/common/btn_pagetop.png) 0 0 no-repeat;
		background-size: 100%;
		width:35px;
		height:35px;
	}

	.footerFacebook{display: none;}


	footer .copyright{
		padding:10px 0 20px 0;
		font-size: 10px;
	}


	/* title ---------------------------------------*/

	.pageTitleWrapper{
		background: url(../img/common/bg_pagetitle_sp.png) no-repeat center top;
		background-size: 100%;
		height:100px;
		position: relative;
		min-width:0px;
		margin-top: 65px;
		margin-bottom: 0;
	}
	.pageTitleWrapper.talkRoom{
		background: url(../img/common/bg_pagetitle_talkRoom_sp.png) no-repeat center;
    background-size: cover;
  }
	.pageTitle{
		font-size: 5vw;
		padding-top: 7%;
		letter-spacing: 1px;
	}

	.pageTitle span{
		font-size: 12px;
		padding-top: 8px;
		letter-spacing: 0.5px;
	}

	.articleTitleWrapper{
		margin-bottom: 35px;
		padding-bottom: 30px;
	}

	.articleTitleWrapper:after{
		width:20px;
		height:2px;
		margin:0 0 0 -10px;
	}

	.articleTitleWrapper-noUnderline{
		margin-top: 2.5em;
		padding-bottom: 0;
		margin-bottom: 0.75em;
	}
	.articleTitleWrapper-noUnderline:after{
		display: none;
	}

	.articleTitle{
		font-size: 17px;
	}


	/* text ---------------------------------------*/

	.leadText{
		font-size: 13px;
		line-height: 1.6;
	}

	/* icon ---------------------------------------*/

	.icon__blank:after{
		background: url(../img/common/icon_blank.png) no-repeat right center;
		background-size: 14px;
		width:14px;
		height:14px;
		margin-right: 3px;
		vertical-align: middle;
	}

	/* pankuzu ---------------------------------------*/

	.pankuzu{display: none;}


	/* pager ---------------------------------------*/

	.pager ul li{font-size: 11px;	}

	.pager ul li.pagerDot{
		width:50px;
		height:38px;
		line-height:38px;
		border-width: 1px;
		border-color: #a6a6a6;
	}
	.pager ul li a,
	.pager ul li span{
		border-width: 1px;
		border-color: #a6a6a6;
		height:38px;
		width:38px;
		line-height:38px;
		font-size:11px;
	}

	.pager ul li.pagerNext a{
		background: url(../img/common/arrow_white.png) no-repeat center center #A6A6A6;
		background-size: 5px;
	}

	.pager ul li.pagerPrev a{
		background: url(../img/common/arrow_white_left.png) no-repeat center center #A6A6A6;
		background-size: 5px;
	}


	/* form ---------------------------------------*/

	.formSelectWrapper {
	}

	.formSelectWrapper:before {
		width: 35px;
		height: 35px;
	}

	.formSelectWrapper:after {
		top: 15px;
		right: 11px;
		font-size: 6px;
	}

	.formSelectWrapper .formSelect {
		padding: 0 45px 0 15px;
		height: 35px;
		font-size: 13px;
	}

	.formText[type="text"]{padding:8px 5px;}

	.btn,
	.btn:hover{
		font-size: 13px;
		letter-spacing: 2px;
		padding:10px 0;
		margin:0px;
	}

	.btn:after{
	    background:url(../img/common/icon_btn.png) no-repeat left top;
	    background-size: 100%;
	    width:6px;
	    height:6px;
	    right:5px;
	    bottom:5px;
	}

	.formText[type="text"].sizeS{
		width:60px;
	}


}
@media screen and (max-width: 768px) and (min-width: 426px){
  .pageTitle{
    font-size: 21.25px;
    padding-top: 4%
  }
}
