@charset "UTF-8";

/* ------------------------------------------------------- */
/* --- base style ---------------------------------------- */
/* ------------------------------------------------------- */
@font-face {
	font-family: 'Noto Sans Japanese';
	font-style: normal;
	font-weight: 300;
	src: local("Noto Sans CJK JP"),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff2) format('woff2'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.woff) format('woff'),
		url(//fonts.gstatic.com/ea/notosansjp/v5/NotoSansJP-Regular.otf) format('opentype');
}
/*@font-face{
	font-family: 'mplus-1c-heavy';
	src: url('http://mplus-webfonts.sourceforge.jp/mplus-1c-heavy.eot');
	src: url('http://mplus-webfonts.sourceforge.jp/mplus-1c-heavy.eot?#iefix') format('embedded-opentype'),
		url('http://mplus-webfonts.sourceforge.jp/mplus-1c-heavy.woff') format('woff'),
		url('http://mplus-webfonts.sourceforge.jp/mplus-1c-heavy.ttf') format('truetype');
}*/
.wf01{font-family: 'mplus-1c-regular';}
.wf02{font-family: 'mplus-1c-heavy';}

html,body{
	font-family: 'mplus-1c-regular', 'Noto Sans Japanese', sans-serif;
	font-weight: 200;
	line-height:2;
	color:#111;
	margin: 0;
	padding: 0;
}
@media screen and (max-width: 767px) {
	html,body{ line-height:1.6;}
}

div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font-weight: inherit;
	line-height: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section { display: block;}
ol, ul { list-style: none;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,
q:before, q:after {content: '';content: none;}
table {border-collapse: collapse;border-spacing: 0;}

img{ max-width:100%; height:auto; vertical-align:top; margin:auto; display:block;}
.cf:before,
.cf:after,
.clearfix:before,
.clearfix:after {content:"";display:table;}
.cf:after,
.clearfix:after {clear:both;}
.cf,
.clearfix {zoom:1;}

a{color:#69c;text-decoration:none;}
a:active,
a:focus,
a:visited{text-decoration:none;}
@media screen and (min-width: 768px) {
	a:hover{text-decoration:underline;}
}


/* ------------------------------------------------------- */
/* --- template style ------------------------------------ */
/* ------------------------------------------------------- */
#loader-bg {
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0px;
	left: 0px;
	bottom:100%;
	background: #000;
	z-index: 1001;
}
#loader{
	top:50%;
	left:50%;
	margin-top:-25px;
	margin-left:-25px;
	font-size:6px;
	position:absolute;
	text-indent:-9999em;
	border-top:1px solid rgba(250,220,0,.3);
	border-right:1px solid rgba(250,220,0,.1);
	border-bottom:1px solid rgba(250,220,0,.3);
	border-left:1px solid rgba(250,220,0,1);
	-webkit-animation:load .8s infinite linear;
	animation:load .8s infinite linear
}
#loader,
#loader:after{border-radius:50%;width:50px;height:50px !important}
@-webkit-keyframes load {
	0%{-webkit-transform:rotate(0);transform:rotate(0)}
	100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}
@keyframes load {
	0%{-webkit-transform:rotate(0);transform:rotate(0)}
	100%{-webkit-transform:rotate(360deg);transform:rotate(360deg)}
}


header:before,
header:after {content:"";display:table;}
header:after {clear:both;}
header { zoom:1; position:fixed; top:0; left:0; right:0; background:rgba(255,255,255,.95); z-index:999;}
header h1{ float:left; margin:11px 0 11px 5%;}
header h1 a{ display:block; width:200px; height:60px; background:url(../images/logo.png); background-size:contain; text-indent:-999em;}
header li{ float:right;}
header li a{ display:block; padding:26px 28px; color:#111; font-size:1.125em; font-weight:bold; line-height:30px; transition:.4s;}
header li:first-child a{ background:#fd0; font-size:1em;}
header li a:before{ content:""; display:inline-block; width:30px; height:22px; background:url(../images/ico_tel.png); background-size:contain; vertical-align:text-bottom; margin-right:4px;}
header li:first-child a:before{ background-image:url(../images/ico_mail.png); }
header li a:hover{ background:#fe9; text-decoration:none;}
@media screen and (max-width: 767px) {
	header h1{ margin:6px 0 0 3%;}
	header h1 a{ width:100px; height:30px;}
	header li a{ padding:13px 10px; line-height:12px; font-size:1em;}
	header li:first-child a{ padding:13px 14px;}
	header li a:before { width:15px; height:11px; margin-right:2px; vertical-align:middle;}
	header li:first-child a:before{ margin-right:0; }
	header li:first-child b{ display:none;}
}

footer{ background:#000; color:#fff; padding:0 0 20px; text-align:center;}
footer .pagetop a{ display:block; background:#f4f3ec; color:#111; padding:16px; margin-bottom:20px; transition:.4s;}
footer .pagetop a:before{ content:""; display:block; width:16px; height:16px; transform:rotate(45deg); margin:0 auto -10px; border-left:3px solid #000; border-top:3px solid #000;}
footer .pagetop a b{ display:none;}
footer .pagetop a:hover{ background:#fd0;}
@media screen and (max-width: 767px) {
	footer{ font-size:.75em;}
	footer .pagetop a:before{ width:8px; height:8px; border-width:2px; margin-bottom:-5px;}
}

main{margin-top:82px;}
article{text-align:center; letter-spacing:-.4em;}
section:before,
section:after {content:"";display:table;}
section:after {clear:both;}
section{ zoom:1; letter-spacing:0;}
@media screen and (max-width: 767px) {
	main{margin-top:40px;}
}


/* ------------------------------------------------------- */
/* --- unique style -------------------------------------- */
/* ------------------------------------------------------- */
section{ padding:60px 5%;}
section h2{ font-size:2.125em;}
section .pc{ display:block;}
section .sp{ display:none;}
@media screen and (max-width: 767px) {
	section{ padding:30px 5%;}
	section h2{ font-size:1.375em;}
	section .pc{ display:none;}
	section .sp{ display:block;}
}
.mainBlock{
	margin-top: 82px;
	padding:0;
	max-height:640px;
	position:relative;
	background: #000;
}
.mainBlock .slides li{ height:640px; text-indent:-999em;}
.mainBlock .slides li#slideMain01 {
	background:url(../images/main01.jpg) no-repeat center center;
	background-size:cover;
}
.mainBlock .slides li#slideMain02 {
	background:url(../images/main02.jpg) no-repeat bottom center;
	background-size:cover;
}
.mainBlock .slides li#slideMain02 .main02BtnBlock,
.mainBlock .slides li#slideMain02_clone .main02BtnBlock {
	width: 1200px;
	margin: 0 auto;
	text-align: center;
	position: relative;
	z-index: 0;
}
.mainBlock .slides li#slideMain02 .main02Btn,
.mainBlock .slides li#slideMain02_clone .main02Btn {
	height: 640px;
	display: table-cell;
	vertical-align: middle;
}
.mainBlock .slides li#slideMain02 .main02Btn figure.pc,
.mainBlock .slides li#slideMain02_clone .main02Btn figure.pc {
	background: #fff;
}
.mainBlock .slides li#slideMain02 .main02Btn a:hover img,
.mainBlock .slides li#slideMain02_clone .main02Btn a:hover img {
	-ms-filter: alpha(opacity = 60);
	filter: alpha(opacity = 60);
	opacity: 0.6;
}

@media screen and (min-width: 1424px) {
	.mainBlock .slides li,
	.mainBlock .slides li.slideMainImg,
	.mainBlock .slides li#slideMain01{ background-size:1424px auto;}
}
@media screen and (max-width: 1180px) {
	.mainBlock{ max-height:500px;}
	.mainBlock .slides li,
	.mainBlock .slides li.slideMainImg{ height:500px;}
	.mainBlock .slides li#slideMain02 .main02Btn,
	.mainBlock .slides li#slideMain02_clone .main02Btn { height:500px; }
	.mainBlock .slides li#slideMain02 .main02BtnBlock,
	.mainBlock .slides li#slideMain02_clone .main02BtnBlock { width: auto; padding: 0 8%; }
}
@media screen and (max-width: 920px) {
	.mainBlock{ max-height:420px;}
	.mainBlock .slides li,
	.mainBlock .slides li.slideMainImg{ height:420px;}
	.mainBlock .slides li#slideMain02 .main02Btn,
	.mainBlock .slides li#slideMain02_clone .main02Btn { height:420px; }
}
@media screen and (max-width: 767px) {
	.mainBlock{ max-height:100%; margin-top: 0;}
	.mainBlock .slides li{ background-size:auto auto; height:auto; padding-bottom: 12px;}
	.mainBlock .slides li#slideMain01 {
		background:url(../images/main01_sp.jpg) no-repeat top center;
		background-size: cover;
	}
	.mainBlock .slides li#slideMain02 {
		background:url(../images/main02_sp.jpg) no-repeat top center;
		background-size:cover;
	}
	.mainBlock .slides li#slideMain02 .main02BtnBlock,
	.mainBlock .slides li#slideMain02_clone .main02BtnBlock {
		padding: 4%;
	}
	.mainBlock .slides li#slideMain02 .main02Btn,
	.mainBlock .slides li#slideMain02_clone .main02Btn {
		height: auto;
		display: block;
	}
}
.flexslider .flex-control-nav{ position:absolute; bottom:0; left:0; right:0; z-index: 10;}
.flexslider .flex-control-nav li{ display:inline-block;}
.flexslider .flex-control-nav li a{ display:block; width:16px; height:16px; margin:7px 12px; border-radius:50%; text-indent:-999em; background:rgba(255,255,255,1); box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.26) inset; -webkit-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.26) inset; -moz-box-shadow: 2px 2px 2px 0 rgba(0,0,0,0.26) inset;}
.flexslider .flex-control-nav li a.flex-active{ background:#fff000;}
@media screen and (min-width: 768px) {
	.flexslider .flex-direction-nav li {
		width:52px;
		height:52px;
		margin-top:-26px;
		position: absolute;
		top:50%;
		display:block;
		z-index: 10;
	}
	.flexslider .flex-direction-nav li.flex-nav-prev {
		left: 0;
	}
	.flexslider .flex-direction-nav li.flex-nav-next {
		right: 0;
	}
	.flexslider .flex-direction-nav a {
		width:52px;
		height:52px;
		position: relative;
		display:block;
		text-indent:-999em;
	}
	.flexslider .flex-direction-nav a.flex-prev {
		background: #000 url(../images/slider_btn_prev.png) no-repeat left top;
		background-size: 52px;
	}
	.flexslider .flex-direction-nav a.flex-next {
		background: #000 url(../images/slider_btn_next.png) no-repeat left top;
		background-size: 52px;
	}
	.flexslider .flex-direction-nav a:hover {
		-ms-filter: alpha(opacity = 60);
		filter: alpha(opacity = 60);
		opacity: 0.6;
	}
}
@media screen and (max-width: 767px) {
	.flexslider .flex-control-nav li a{
		width:12px;
		height:12px;
		margin:7px 6px;
	}
	.flexslider .flex-direction-nav {
		display: none;
	}
}

.simBlock .lead{ margin-top:10px; margin-bottom:40px;}
.simBlock dl{ letter-spacing:-.4em; max-width:1200px; margin:0 auto 20px; background:#111 url(../images/bg_sim.jpg) no-repeat left top; background-size:1200px auto; color:#fff; position:relative;}
.simBlock dt,
.simBlock dd{ letter-spacing:0; display:inline-block; vertical-align:top; box-sizing:border-box; padding:20px 40px;}
.simBlock dt{ width:25%; text-align:right; padding:20px 20px;}
.simBlock .n-caseBlock dt{ width:25%; text-align:right; padding: 40px 0 30px 40px;}
.simBlock dd{ width:75%; text-align:left;}
.simBlock .n-caseBlock dd{ padding: 20px 40px 35px;}
.simBlock h3{ font-size:1.75em; color:#fd0; font-weight:900; line-height:1; font-family:"M+ 1c heavy",'mplus-1c-heavy';}
.simBlock h3 b{ font-size:3em;}
.simBlock .n-caseBlock h3 {font-size:2.4em; padding-top: 5px;}
.simBlock .n-caseBlock#entertainer h3 {font-size:2.0em;}
.simBlock dt p{ font-size:1.125em; line-height:1.4; margin-top:20px;}
.simBlock .n-caseBlock dt p{ margin-top:30px;}
.simBlock h4{ font-size:1.25em; margin-bottom:50px;}
.simBlock h4 b{ background:#fd0; color:#222; display:inline-block; line-height:1; padding:2px;}
.simBlock h4 span { color:#fd0; }
.simBlock .n-caseBlock h4 { font-size:1.5em; margin-bottom: 30px; padding-top: 20px;}
.simBlock figure{ margin-top:20px;}

.simBlock label{ cursor:pointer;}
.simBlock label:before{ content:""; display:block; position:absolute; top:30px; right:30px; width:40px; height:40px; background:url(../images/ico_btm.png); background-size:contain;}
.simBlock .n-caseBlock label:before{ top:20px; right:20px;}
.simBlock input:checked + dl label:before{ background-image:url(../images/ico_top.png);}
.simBlock input{-moz-appearance:none;-webkit-appearance:none;opacity:0;border:0;width:0;height:0;margin:;0;position:absolute;}
.simBlock input + dl dd { height:240px; overflow:hidden; transition:.5s;}
.simBlock input + dl dd img{ opacity:.5; transition:.5s;}
.simBlock input:checked + dl dd {height:auto;}
.simBlock input:checked + dl dd img{opacity:1;}
.simBlock input + dl input{ display:none;}
.simBlock input:checked + dl input{  display:block; position:absolute; top:16px; right:7px; width:40px; height:40px;}
.simBlock dl#president {
	background:#000 url(../images/bg_sim_president.jpg) no-repeat left top;
	background-size: 1200px;
}
.simBlock dl#athlete {
	background:#000 url(../images/bg_sim_athlete.jpg) no-repeat left top;
	background-size: 1200px;
}
.simBlock dl#financial {
	background:#000 url(../images/bg_sim_financial.jpg) no-repeat left top;
	background-size: 1200px;
}
.simBlock dl#entertainer {
	background:#000 url(../images/bg_sim_entertainer.jpg) no-repeat left top;
	background-size: 1200px;
}
.simBlock dl#doctor {
	background:#000 url(../images/bg_sim_doctor.jpg) no-repeat left top;
	background-size: 1200px;
}

@media screen and (max-width: 1160px) {
	.simBlock dt{ padding:20px;}
	.simBlock dt p{ font-size:1em;}
}
@media screen and (max-width: 1060px) {
	.simBlock .n-caseBlock h3 {font-size:1.5em;}
	.simBlock .n-caseBlock#entertainer h3 {font-size:1.5em;}
	.simBlock .n-caseBlock h4 { font-size:1.2em;}
	.simBlock dt p{ font-size:.9375em;}
}
@media screen and (max-width: 960px) {
	.simBlock dt,
	.simBlock dd{ display:block; width:auto; text-align:left; padding:15px;}
	.simBlock h3,
	.simBlock dt p{ display:inline-block; vertical-align:top;}
	.simBlock dt p{ margin-top:8px;}

	.simBlock dl#president {
		background:#000 url(../images/bg_sim_president_sp.jpg) no-repeat left top;
		background-size:100%;
	}
	.simBlock dl#athlete {
		background:#000 url(../images/bg_sim_athlete_sp.jpg) no-repeat left top;
		background-size:100%;
	}
	.simBlock dl#financial {
		background:#000 url(../images/bg_sim_financial_sp.jpg) no-repeat left top;
		background-size:100%;
	}
	.simBlock dl#entertainer {
		background:#000 url(../images/bg_sim_entertainer_sp.jpg) no-repeat left top;
		background-size:100%;
	}
	.simBlock dl#doctor {
		background:#000 url(../images/bg_sim_doctor_sp.jpg) no-repeat left top;
		background-size:100%;
	}

	.simBlock .n-caseBlock label:before{ top:20px; right:10px;}
	.simBlock .n-caseBlock dt{ width:auto; text-align:left; padding: 20px 20px 0;}
	.simBlock .n-caseBlock h3 {font-size:1.5em;}
	.simBlock .n-caseBlock#entertainer h3 {font-size:1.5em;}
	.simBlock .n-caseBlock dt p{ margin: 0 0 10px; display: block;}
	.simBlock .n-caseBlock h4 { font-size:0.8em; margin-bottom: 20px; padding-top: 20px;}
	.simBlock .n-caseBlock dd{ padding:10px 20px;}
	.simBlock .n-caseBlock figure { margin-top: 0; margin-bottom: 40px;}
}
@media screen and (max-width: 768px) {
	.simBlock .lead br{ display:none;}
	.simBlock dl { margin:0 -5.556% 10px; background-size:768px auto; }
	.simBlock h3{ font-size:1em; }
	.simBlock h3 span{ vertical-align:baseline; display:inline-block;}
	.simBlock h3 b{ font-size:2em; vertical-align:baseline; display:inline-block;}
	.simBlock dt p{ font-size:.875em; line-height:1.4; margin:0 0 0 10px; }
	.simBlock label:before{ top:10px; right:10px; width:40px; height:40px;}
	.simBlock input:checked + dl input{  top:10px; right:10px; width:40px; height:40px;}
	.simBlock input + dl dd { height:120px;}
}


.voiceBlock{ background:#111 url(../images/bg_voice.jpg) no-repeat left top; background-size:cover; color:#fff;}
.voiceBox:before,
.voiceBox:after {content:"";display:table;}
.voiceBox:after {clear:both;}
.voiceBox {zoom:1; max-width:1200px; margin:50px auto 0; text-align:left;}
.voiceBox figure{float:left; width:31.667%; margin-right:5%; border-top:1px solid #fd0; margin-top:10px;}
.voiceBox figcaption{ margin:16px 0 8px; font-size:1.0625em;}
.voiceBox h3{ font-size:1.125em; font-weight:bold;}
.voiceBox p{ overflow:hidden; margin:20px 0; font-size:.9375em;}
@media screen and (max-width: 767px) {
	.voiceBlock{ background-size:768px auto;}
	.voiceBox figure { float:inherit; width:auto; margin:0 0 10%;}
}


.reasonBlock ul{letter-spacing:-.4em; max-width:1248px; margin:auto; }
.reasonBlock li{ letter-spacing:0; display:inline-block; vertical-align:top; padding:5% 1% 0; box-sizing:border-box; width:33.33%;}
.reasonBlock h3{ font-size:1.125em; margin:8px 0; font-weight:bold;}
.reasonBlock p { font-size:.9375em;}
.reasonBlock figure{ width:150px; margin:0 auto 16px;}
@media screen and (max-width: 767px) {
	.reasonBlock li { display:block; padding:10% 0 0; width:auto;}
	.reasonBlock figure{ width:120px; }
}


.investBlock{ background:#f4f3ec;}
.investBlock .lead{ margin:10px auto 30px;}
.investBlock figure{ margin:20px auto 10px;}
.investBlock .caption{ font-size:.875em; margin:auto; max-width:710px; text-align:right;}
@media screen and (max-width: 767px) {
	.investBlock .lead br{ display:none;}
	.investBlock .caption{ font-size:.625em;}
}


.aboutBlock{ background:#000 url(../images/bg_about.jpg) no-repeat left top; background-size:contain; color:#fff;}
.aboutBlock .list01{letter-spacing:-.4em; max-width:1200px; margin:40px auto 50px; padding:17.5% 0; background:url(../images/bg_about02.png) no-repeat center; background-size:contain;}
.aboutBlock .list01 li{ letter-spacing:0; display:inline-block; vertical-align:middle; padding:0 2em; font-size:1.25em; position:relative; font-weight:bold;}
.aboutBlock .list01 li:before{ content:""; display:block; width:28px; height:28px; transform:rotate(45deg); position:absolute; left:-26px; top:50%; margin-top:-16px; border-right:3px solid #fff; border-top:3px solid #fff;}
.aboutBlock .list01 li:first-child:before{ display:none;}
.aboutBlock .list02{letter-spacing:-.4em; max-width:1224px; margin:30px auto 0; }
.aboutBlock .list02 li{ letter-spacing:0; display:inline-block; vertical-align:top; padding:1%; box-sizing:border-box; width:33.33%; text-align:left; margin-top:20px;}
.aboutBlock .list02 h3{ font-size:1.125em; margin:10px 0;}
@media screen and (max-width: 1160px) {
	.aboutBlock .list01 li{ padding:0 1em;}
}
@media screen and (max-width: 900px) {
	.aboutBlock .list01 { padding:0; background-size:400px auto;}
	.aboutBlock .list01 li { display:block; width:auto; font-size:1em; padding:20px 0; }
	.aboutBlock .list01 li:before{ width:14px; height:14px; transform:rotate(135deg); left:50%; top:-13px; margin-top:0; margin-left:-8px; border-width:1px;}
}
@media screen and (max-width: 767px) {
	.aboutBlock{ background-size:768px auto;}
	.aboutBlock .list02 li{ width:50%;}
}
@media screen and (max-width: 599px) {
	.aboutBlock .list02 { margin:0;}
	.aboutBlock .list02 li { display:block; width:auto;}
}


.profileBlock h2 figure{ display:inline-block; margin-right:10px; vertical-align:middle;}
.profileBlock dl{letter-spacing:-.4em; max-width:800px; margin:auto; }
.profileBlock dt,
.profileBlock dd{ letter-spacing:0; display:inline-block; vertical-align:top; text-align:left; padding:25px 0 5px;}
.profileBlock dt{ width:25%; margin-right:10%; border-bottom:1px solid #333;}
.profileBlock dd{ width:65%;}
@media screen and (max-width: 767px) {
	.profileBlock h2 figure{ width:100px; margin-right:5px;}
	.profileBlock dt{ width:23%; margin-right:5%;}
	.profileBlock dd{ width:72%;}
}


.contactBlock{ background:#000; color:#fff;}
.contactBlock h2{ font-size:1.375em; margin-bottom:20px;}
.contactBlock ul{letter-spacing:-.4em; max-width:680px; margin:auto; }
.contactBlock li{ letter-spacing:0; display:inline-block; vertical-align:top; padding:1.5%; width:47%;}
.contactBlock a { display:block; border:1px solid #fd0; padding:10px 0; font-size:1.375em; color:#fd0; transition:.4s;}
.contactBlock li:last-child a { background:#fd0; color:#000;}
.contactBlock a:hover { background:#870; color:#000; text-decoration:none;}
.contactBlock li:last-child a:hover { background:#870; color:#fd0;}
.contactBlock a:before{ content:""; display:inline-block; width:30px; height:22px; background:url(../images/ico_tel02.png); background-size:contain; vertical-align:text-bottom; margin-right:4px; margin-bottom:4px;}
.contactBlock li:last-child a:before{ background-image:url(../images/ico_mail.png); }
@media screen and (max-width: 767px) {
	.contactBlock li{ display:block; width:auto; max-width:250px; margin:auto;}
	.contactBlock a { padding:10px 0; font-size:1.125em;}
	.contactBlock a:before{ width:30px; height:22px; vertical-align:middle; margin-bottom:0;}
}



header li:first-child a::before {
  background-image: url(../images/ico_tel.png);
  margin-right: 4px;
}
@media screen and (max-width: 767px) {
  header li:first-child a::before { margin-right: 2px; }
}

.contactBlock li:last-child a::before {
  background-image: url(../images/ico_tel02.png);
}
.contactBlock li:last-child a {
  background: none;
  color: #ffdd00;
}
.contactBlock li:last-child a:hover {
  background: #887700;
  color: #000;
}