@charset "utf-8"; 

/* ------------------------------
    reset
------------------------------ */

a{
	color:#000; 
	text-decoration:none;
}
a:hover {
	text-decoration:underline;
} 
html{
	font-size:62.5%;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family : 'Montserrat', sans-serif;
	text-align: left;
	color:#000; 
}

textarea { font-size: 100%; }
img { vertical-align: bottom; }

/* ------------------------------
    base
------------------------------ */

body{
	position: relative;
	min-width: 1100px;
	font-size:1.0rem;
	padding-top: 98px;
}
p,table,dl,ol  {
	font-size: 1.4rem;
	line-height: 1.8;
}
.over{
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
}

/* ------------------------------
    contents
------------------------------ */



header{
	position: relative;
	width: 100%;
	background: #313131;
	position: fixed;
	transition: .3s;
	height: 98px;
	z-index: 999;
	top: 0;
	left: 0;
	width: 100%;
}

header .wrap{
	min-width: 1100px;
	padding: 0 30px;
	box-sizing: border-box;
	margin: 0 auto;
	position: relative;
}
header .menu_wrap{
	float: left;
}
header .logo{
	position: absolute;
	width: 174px;
	top: 50%;
	left: 30px;
	transition: .3s;
	transform: translateY(-65%);
}
header .logo a img{
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	-o-transition: all 0.3s ease;
	transition: all 0.3s ease;
	width: 100%;
}
header .logo a img:hover{
	opacity: 0.7;
}
header nav{
	width: auto;
	padding: 30px 0 30px 260px;
	transition: .3s;
}
header nav .gnavi{
	float: left;
	margin: 13px 40px 0 0;
}
header nav .gnavi li{
	float: left;
	font-size: 1.6rem;
}
header nav .gnavi li a{
	color: #fff;
}
header nav .gnavi li.active a{
	text-decoration: underline;
}
header nav .gnavi li+li{
	margin-left: 40px;
}
header nav .btn{
	float: left;
	width: 124px;
	font-size: 1.6rem;
	text-align: center;
	border: 1px solid #fff;
}
header nav .btn a{
	display: block;
	color: #fff;
	line-height: 1.0;
	padding: 10px 0;
}
header nav .btn a:hover{
	text-decoration:none;
	background: #fff;
	color: #313131;
}
header nav .language{
	position: absolute;
	right: 30px;
	top: 50%;
	transform: translateY(-50%);
}
header nav .language li{
	display: inline-block;
	font-size: 1.4rem;
	color: #fff;
}
header nav .language li+li{
	margin-left: 30px;
}
header nav .language li a{
	display: inline-block;
	color: #fff;
	padding: 3px 0 3px 26px;
}
header nav .language .jpn a{
	background: url(../img/common/icon_jpn_pc.png) 0 center no-repeat;
}
header nav .language .en a{
	background: url(../img/common/icon_en_pc.png) 0 center no-repeat;
}

header .sub{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
	text-align: center;
}
header .toggle,
#overlay,
header .mail{
	display: none;
}


/*fixed*/
header.animaion{
	height: 70px;
}

header.animaion nav {
    width: auto;
    padding: 16px 0 16px 260px;
}

header.animaion .logo{
	width: 150px;
	margin-top: 2px;
}



main{
	display: block;
}

#main-header {
	background: #f6f6f6;
	height: 160px;
	padding: 0 30px;
}
#main-header .wrap {
	max-width: 1100px;
	margin: 0 auto;
}
#main-header .breadcrumbs {
	padding-top: 20px;
	font-size: 12px;
	line-height: 1.0;
}
#main-header .breadcrumbs li {
	display: inline-block;
}
#main-header .breadcrumbs li::before {
	content: '>';
	margin: 0 .5em;
}
#main-header .breadcrumbs li:first-child::before {
	display: none;
}
#main-header h2 {
	color: #333;
	font-size: 4.3rem;
	line-height: 1.0;
	font-weight: bold;
	text-align: center;
	position: relative;
	padding-top: 25px;
}
#main-header h2::before {
	content: '';
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: -20px;
	width: 48px;
	height: 1px;
	background: #e50024;
}

#main-body {
	padding: 0 30px;
}
#main-body > .wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 60px 0;
	color: #333;
}
#main-body main {
	float: right;
	width: calc(100% - 340px);
}

#main-body .sub-menu {
	float: left;
	width: 280px;
	padding-bottom: 307px;
	background: url('../img/whatslist/side.png') no-repeat center bottom;
}
#main-body .sub-menu a {
	color: #333;
}
#main-body .sub-menu section {
	margin-bottom: 40px;
}
#main-body .sub-menu h3 {
	color: #333;
	font-size: 2.0rem;
	line-height: 1.0;
	padding: 20px 0;
	border-top: 2px solid #313131;
	border-bottom: 1px solid #dedede;
	margin-bottom: 20px;
	font-weight: 500;
}
#main-body .sub-menu nav {
	margin-top: -.6em;
}
#main-body .sub-menu nav ul li {
	font-size: 1.4rem;
	line-height: 1.2;
}
#main-body .sub-menu nav ul li:last-child a {
	margin-bottom: 0;
}
#main-body .sub-menu nav ul li a {
	display: block;
	padding: .6em 0;
	/*word-break: break-all;*/
}
#main-body .sub-menu nav ul .active,
#main-body .sub-menu nav ul .active a {
	color: #e50024;
}
#main-body .sub-menu nav ul li ul {
	padding: 5px 0 15px 1em;
}
#main-body .sub-menu nav ul li ul li {
	font-size: 1.2rem;
	line-height: 1.0;
}
#main-body .sub-menu nav ul li ul li a {
	padding: .5em 0;
}
#main-body .sub-menu .pickup .btn a {
	display: block;
	background: #f6f6f6;
	border: 1px solid #f6f6f6;
	text-align: center;
	font-weight: bold;
	font-size: 1.4rem;
	height: 70px;
	line-height: 70px;
	padding-left: 50px;
	position: relative;
}
#main-body .sub-menu .pickup .btn a:hover {
	background: #fff;
	border-color: #dedede;
	text-decoration: none;
}
#main-body .sub-menu .pickup .btn a::before {
	content: url('../img/whatslist/pickup.png');
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translateY(-42%);
	margin-left: -4.5em;
}
#main-body .sub-menu .pickup .btn a::after {
	content: '→';
	color: #e50024;
	font-weight: bold;
	position: absolute;
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
}

footer{
	width: 100%;
	background: #313131;
	padding: 25px 0;
	margin: 80px 0 0 0;
}
footer .wrap{
	width: 1100px;
	margin: 0 auto;
}
footer ul{
	float: left;
	overflow: hidden;
}
footer ul li{
	float: left;
	font-size: 1.2rem;
}
footer ul li+li{
	margin-left: 40px;
}
footer ul li a{
	line-height: 1;
	color: #8b8b8b;
}
footer ul li a:hover{
	text-decoration: underline;
}
footer .copy{
	float: right;
	font-size: 1.2rem;
	line-height: 1;
	color: #8b8b8b;
}


@media screen and (min-width : 769px){
	
	.sp{
		display:none!important;
	}
	.btn a{
	    -webkit-backface-visibility: hidden;
	    backface-visibility: hidden;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all 0.3s ease;
	}
	.btn a img:hover{
		opacity: 0.7;
	}

}

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

	.pc{
		display:none;
	}
	body{
		min-width:inherit; 
		word-wrap : break-word; 
		overflow-wrap : break-word;
		padding-top: 0;
	}
	img{ width:100%; height:auto;}
	p{font-size: 1.3rem;}

	header{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		background-color: transparent;
		padding: 0;
		margin: 0;
		z-index: 999;
		height: auto;
	}
	header .menu_wrap{
		float: none;
		width: 100%;
		height: 50px;
		position: relative;
		background: #313131;
		z-index: 999;
		box-sizing: border-box;
		padding: 10px;
	}
	header nav{
		padding: 0;
	}
	header.fix{
		position: fixed;
	}
	header .wrap{
		position: relative;
		min-width: inherit;
		padding: 0;
	}
	body.fixed header .wrap{
		overflow-y: scroll;
	}
	header .logo{
		display: inline-block;
		float: none;
		width: 93px;
		margin: 0;
		position: static;
		transform: translate(0);
	}
	header nav{
		width: 100%;
	}
	header .toggle, nav .mail{
		display: block;
	}
	header .nav_wrap{
		background: #fff;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
	}
	header .toggle{
		position: fixed;
		top: 5px;
		right: 10px;
		display: block;
		width: 40px;
		height: 40px;
		z-index: 999;
	}
	header .mail{
		display: block;
		position: absolute;
		top: 14px;
		right: 60px;
		width: 29px;
	}
	.fixed header .toggle{
		position: absolute;
	}
	header .toggle span{
		display: inline-block;
		transition: all .5s cubic-bezier(0.645, 0.045, 0.355, 1);
		box-sizing: border-box;
		position: absolute;
		left: 6px;
		width: 28px;
		height: 2px;
		background-color: #fff;
		opacity: 1;
	}
	header .toggle span:nth-of-type(1) {
		top: 10px;
	}
	header .toggle span:nth-of-type(2) {
		top: 19px;
	}
	header .toggle span:nth-of-type(3) {
		bottom: 10px;
	}
	header .toggle.action span:nth-of-type(1) {
		transform: translateY(9px) rotate(135deg);
	}
	header .toggle.action span:nth-of-type(2) {
		opacity: 0;
	}
	header .toggle.action span:nth-of-type(3) {
		transform: translateY(-9px) rotate(-135deg);
	}
	header .nav_wrap{
		position: relative;
	}
	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	header .nav_wrap{
		display: none;
		margin: 0;
	}
	header nav .gnavi li a{
		color: #333;
	}
	header nav .gnavi li.active a{
		text-decoration: none;
	}
	header nav .gnavi{
		float: none;
		margin: 0;
		padding: 11% 5%;
	}
	header nav .gnavi li{
		display: block;
		float: none;
		font-size: 1.6rem;
		font-weight: 500;
		text-align: center;
	}
	header nav .gnavi li+li{
		margin: 11% 0 0 0;
	}
	header nav .btn{
		float: none;
		border: 1px solid #333;
		font-weight: 500;
		margin: 0 auto 15%;
	}
	header nav .btn a{
		color: #333;
	}
	header nav p{
		text-align: center;
		font-size: 1.0rem;
	}
	header nav .language{
		position: static;
		float: none;
		text-align: center;
		padding: 15% 0 0 0;
	}
	header nav .language li{
		display: inline-block;
		font-size: 1.2rem;
	}
	header nav .language li+li{
		margin-left: 10%;
	}
	header nav .language li a{
		color: #333;
	}
	header nav .language .jpn a{
		background: url(../img/common/icon_jpn_sp.png) 0 center no-repeat;
		background-size: auto 100%;
	}
	header nav .language .en a{
		background: url(../img/common/icon_en_sp.png) 0 center no-repeat;
		background-size: auto 100%;
	}

	/*fixed*/
	header.animaion {
	    height: auto;
	}

	header.animaion .logo{
		width: 93px;
		margin-top: 0;
	}

	#main-header {
		height: auto;
		padding: 50px 10px 0;
	}
	#main-header .wrap {
		width: 100%;
	}
	#main-header .breadcrumbs {
		padding-top: 5%;
		font-size: 1.1em;
	}
	#main-header .breadcrumbs li::before {
		margin: 0 .2em;
	}
	#main-header h2 {
		font-size: 2.4rem;
		padding: 5% 0 10%;
	}
	#main-header h2::before {
		content: '';
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		bottom: 30%;
	}

	#main-body {
		padding: 0 10px;
	}
	#main-body > .wrap {
		width: 100%;
		padding: 8% 0;
	}
	#main-body main {
		float: none;
		width: 100%;
		margin-bottom: 10%;
	}


	#main-body .sub-menu {
		float: none;
		width: 100%;
		padding-bottom: 0;
		background: transparent;
	}
	#main-body .sub-menu section {
		margin-bottom: 8%;
	}
	#main-body .sub-menu h3 {
		font-size: 1.6rem;
		padding: 5% 0;
		margin-bottom: 5%;
	}
	#main-body .sub-menu nav {
		margin-top: -6%;
	}
	#main-body .sub-menu nav ul li {
		border-bottom: 1px solid #dedede;
	}
	#main-body .sub-menu nav ul li a {
		padding: 6% 0;
	}
	#main-body .sub-menu nav ul .active a {
		color: #e50024;
	}
	#main-body .sub-menu nav ul li ul {
		padding: 0 0 6% 1em;
	}
	#main-body .sub-menu nav ul li ul li {
		border-bottom: none;
	}
	#main-body .sub-menu nav ul li ul li a {
		padding: 2.5% 0;
	}

	footer{
		padding: 0;
		margin: 0;
	}
	footer .logo{
		background: #fff;
		padding: 6% 30%;
	}
	footer .wrap{
		width: auto;
		padding: 6.25% 0;
	}
	footer ul{
		float: none;
		text-align: center;
		margin: 0 0 6.25%;
	}
	footer ul li{
		display: inline-block;
		float: none;
		font-size: 1.0rem;
	}
	footer ul li+li{
		margin-left: 4%;
	}
	footer .copy{
		float: none;
		text-align: center;
		font-size: 1.0rem;
	}


}


.clear{
	clear:both;
}
/* ------------------------------
    clearfix
------------------------------ */

.cf{
  zoom:1;
}
.cf:after {
  content: " ";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;/* 隙間対応 */
  font-size: 0.1em;/* 隙間対応 */
  line-height: 0;/* 隙間対応 */
}