@charset "UTF-8";

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, dialog, figure, footer, header, hgroup, menu, nav, section, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 100%;
	vertical-align: baseline;
	font-family: 'M PLUS 1p', sans-serif;
	font-family: 'Zen Kaku Gothic New', sans-serif;
}

body {
	line-height: 1.3;
	color: #333 ;
	background: #f9f5f2;
  /*background: url(../img/groovepaper.png);*/
}

article, aside, dialog, figure, footer, header, hgroup, nav, section {
	display: block;
}

.bnr {
	padding: 10px;
}

.bnr h2 {
	font-size: 2.2em;
	text-align: center ;
	margin-bottom: 20px ;
}

.bnr p {
	margin-top: 10px ;
	font-size: 1.5em;
}

.bnr_time {
	color: #96514d ;
	font-size: 0.9em;
	letter-spacing: 0.03em;
}

.bnr_text {
	text-align: center;
}

.kkblogo img {
	padding: 10px 10px 10px 14px ;
	width : 120px;
}

/*-----------------------------------------*/

.title_logo {
	display: block;
	position: relative;
	width : 100% ;
	height: 700px;
	background: linear-gradient(#e7e7eb, 70%, #f9f5f2);
}

.title_box{
	position: absolute;
	width : 60% ;
	top: 50%;
	left: 50% ;
	transform: translate(-50%, -50%);
	-webkit-transform: translate (-50%, -50%);
	-ms-transform: translate (-50%, -50%);
	font-size: 2em;
	text-align: center ;
}

.accent {
	font-size: 2em;
}

.pr_box {
	width : 70%;
	margin: 0 auto ;
	display : block ;
}

.pv {
	margin : 80px auto 80px auto;
	width: 640px ;
	height: 360px ;
}

.pr_wrapper {
	display: flex;
	flex-wrap : wrap;
	justyfy-content: center ;
	align-items: center ;
	width: 100%;
	margin: 0 auto ;
	position: relative;
}

.flex_box2 h3 {
		text-align: center;
}

.box_wrapper {
	display: flex;
	flex-wrap : wrap;
	justyfy-content: center ;
	align-items: center ;
	width: 100%;
	margin: 0 auto ;
	position: relative;
}

.flex_box1  {
	display: inline-block;
	width: 33%;
	margin-top: 20px;
	margin-bottom: 20px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box
    align-items: center;
    margin-left: 2px ;
}

.flex_box1:after {
	content: '';
	display: block;
	width: 32%;
	height: 0;
}

.flex_box1 h4 {
	margin-top: 0;
	font-weight: normal;
	text-align: center ;
}

.flex_box2  {
	display: inline-block;
	width: 48%;
	margin-top: 20px;
	margin-bottom: 20px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box
    align-items: center;
    margin-left: 1.5% ;
}

.flex_box3  {
	margin: 20px auto;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box
    align-items: center;
}


.flex_box2:after {
	content: '';
	display: block;
	width: 45%;
	height: 0;
}

.flex_box2 h4 {
	margin-top: 0;
	font-weight: normal;
	text-align: center ;
}

.cast_flexbox img {
	width: 250px;
	margin: 0 auto; 
}

.bnr{
	display: block;
	width: 70% ;
	margin: 120px auto 50px auto;
    position: relative;
}

.cast_box {
	display: block;
	width: 70% ;
	margin: 120px auto 50px auto;
    position: relative;
}

.cast_flexbox {
	display: inline-block;
	width: 25%;
	margin-top: 20px;
	margin-bottom: 20px;
	-moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box
    align-items: center;
    margin-left: 1.5% ;
    text-align: center ;
	margin-left: 5.7% ;
}

.cast_box p {
	font-size: 18pt ;
	margin-top: 50px ;
	text-align: center ;
}

.concept {
	display: block;
	width: 70% ;
	margin: 80px auto 50px auto;
}

.concept p {
	font-size: 14pt;
	margin-top: 50px;
}

.head {
	padding: 20px ;
	border-top: 1px solid #ccc ;
	border-bottom: 1px solid #ccc ;
	font-size:  1.8em ;
	text-align: center ;
	background: rgba(255,255,255,0.1);
	letter-spacing: 0.1em;
}

.line {
	border-top: 1px solid #ccc ;
}

/*-----------------------------------------*/

nav ul, li {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after {
	content: '';
	content: none;
}

q:before, q:after {
	content: '';
	content: none;
}

a {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	vertical-align: baseline;
	background: transparent;
}

ins {
	background-color: #ff9;
	color: #000;
	text-decoration: none;
}

mark {
	background-color: #ff9;
	color: #000;
	font-style: italic;
	font-weight: bold;
}

del {
	text-decoration: line-through;
}

abbr[title], dfn[title] {
	border-bottom: 1px dotted #000;
	cursor: help;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

hr {
	display: block;
	height: 1px;
	border: 0;
	border-top: 1px solid #cccccc;
	margin: 1em 0;
	padding: 0;
}

input, select {
	vertical-align: middle;
}

.mt0 {
	margin-top: 0px !important;
}

.mb0 {
	margin-bottom: 0px !important;
}

.mr0 {
	margin-right: 0px !important;
}

.ml0 {
	margin-left: 0px !important;
}

.pt0 {
	padding-top: 0px !important;
}

.pb0 {
	padding-bottom: 0px !important;
}

.pr0 {
	padding-right: 0px !important;
}

.pl0 {
	padding-left: 0px !important;
}

.mt8 {
	margin-top: 8px !important;
}

.mb8 {
	margin-bottom: 8px !important;
}

.mr8 {
	margin-right: 8px !important;
}

.ml8 {
	margin-left: 8px !important;
}

.pt8 {
	padding-top: 8px !important;
}

.pb8 {
	padding-bottom: 8px !important;
}

.pr8 {
	padding-right: 8px !important;
}

.pl8 {
	padding-left: 8px !important;
}

.mt16 {
	margin-top: 16px !important;
}

.mb16 {
	margin-bottom: 16px !important;
}

.mr16 {
	margin-right: 16px !important;
}

.ml16 {
	margin-left: 16px !important;
}

.pt16 {
	padding-top: 16px !important;
}

.pb16 {
	padding-bottom: 16px !important;
}

.pr16 {
	padding-right: 16px !important;
}

.pl16 {
	padding-left: 16px !important;
}

.mt24 {
	margin-top: 24px !important;
}

.mb24 {
	margin-bottom: 24px !important;
}

.mr24 {
	margin-right: 24px !important;
}

.ml24 {
	margin-left: 24px !important;
}

.pt24 {
	padding-top: 24px !important;
}

.pb24 {
	padding-bottom: 24px !important;
}

.pr24 {
	padding-right: 24px !important;
}

.pl24 {
	padding-left: 24px !important;
}

.mt32 {
	margin-top: 32px !important;
}

.mb32 {
	margin-bottom: 32px !important;
}

.mr32 {
	margin-right: 32px !important;
}

.ml32 {
	margin-left: 32px !important;
}

.pt32 {
	padding-top: 32px !important;
}

.pb32 {
	padding-bottom: 32px !important;
}

.pr32 {
	padding-right: 32px !important;
}

.pl32 {
	padding-left: 32px !important;
}

.mt40 {
	margin-top: 40px !important;
}

.mb40 {
	margin-bottom: 40px !important;
}

.mr40 {
	margin-right: 40px !important;
}

.ml40 {
	margin-left: 40px !important;
}

.pt40 {
	padding-top: 40px !important;
}

.pb40 {
	padding-bottom: 40px !important;
}

.pr40 {
	padding-right: 40px !important;
}

.pl40 {
	padding-left: 40px !important;
}

.mt48 {
	margin-top: 48px !important;
}

.mb48 {
	margin-bottom: 48px !important;
}

.mr48 {
	margin-right: 48px !important;
}

.ml48 {
	margin-left: 48px !important;
}

.pt48 {
	padding-top: 48px !important;
}

.pb48 {
	padding-bottom: 48px !important;
}

.pr48 {
	padding-right: 48px !important;
}

.pl48 {
	padding-left: 48px !important;
}

.mt56 {
	margin-top: 56px !important;
}

.mb56 {
	margin-bottom: 56px !important;
}

.mr56 {
	margin-right: 56px !important;
}

.ml56 {
	margin-left: 56px !important;
}

.pt56 {
	padding-top: 56px !important;
}

.pb56 {
	padding-bottom: 56px !important;
}

.pr56 {
	padding-right: 56px !important;
}

.pl56 {
	padding-left: 56px !important;
}

.mt64 {
	margin-top: 64px !important;
}

.mb64 {
	margin-bottom: 64px !important;
}

.mr64 {
	margin-right: 64px !important;
}

.ml64 {
	margin-left: 64px !important;
}

.pt64 {
	padding-top: 64px !important;
}

.pb64 {
	padding-bottom: 64px !important;
}

.pr64 {
	padding-right: 64px !important;
}

.pl64 {
	padding-left: 64px !important;
}

.mt72 {
	margin-top: 72px !important;
}

.mb72 {
	margin-bottom: 72px !important;
}

.mr72 {
	margin-right: 72px !important;
}

.ml72 {
	margin-left: 72px !important;
}

.pt72 {
	padding-top: 72px !important;
}

.pb72 {
	padding-bottom: 72px !important;
}

.pr72 {
	padding-right: 72px !important;
}

.pl72 {
	padding-left: 72px !important;
}

.mt80 {
	margin-top: 80px !important;
}

.mb80 {
	margin-bottom: 80px !important;
}

.mr80 {
	margin-right: 80px !important;
}

.ml80 {
	margin-left: 80px !important;
}

.pt80 {
	padding-top: 80px !important;
}

.pb80 {
	padding-bottom: 80px !important;
}

.pr80 {
	padding-right: 80px !important;
}

.pl80 {
	padding-left: 80px !important;
}

.row:after {
	content: "";
	display: table;
	clear: both;
}

.row .col-1 {
	width: 74.66667px;
}

.row .col-2 {
	width: 181.33333px;
}

.row .col-3 {
	width: 288px;
}

.row .col-4 {
	width: 394.66667px;
}

.row .col-5 {
	width: 501.33333px;
}

.row .col-6 {
	width: 608px;
}

.row .col-7 {
	width: 714.66667px;
}

.row .col-8 {
	width: 821.33333px;
}

.row .col-9 {
	width: 928px;
}

.row .col-10 {
	width: 1034.66667px;
}

.row .col-11 {
	width: 1141.33333px;
}

.row .col-12 {
	width: 1248px;
}

.row [class*='col-'] {
	float: left;
}

.cf, .wrap, .wrap-main {
	*zoom: 1;
}

.cf:after, .wrap:after, .wrap-main:after {
	content: "";
	display: table;
	clear: both;
}

.width-100 {
	width: 100%;
}

.font-xsmall {
	font-size: 13px;
	font-size: 0.8125rem;
}

.font-small {
	font-size: 15px;
	font-size: 0.9375rem;
}

.font-normal {
	font-size: 18px;
	font-size: 1.125rem;
}

.font-large {
	font-size: 22px;
	font-size: 1.375rem;
}

.font-xlarge {
	font-size: 26px;
	font-size: 1.625rem;
}

@media (max-width: 599px) {

  .font-large {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .font-xlarge {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

.font-bold {
	font-weight: bold;
}

.flL {
	float: left;
}

.flR {
	float: right;
}

.aL {
	text-align: left;
}

.aR {
	text-align: right;
}

.ac, .footer {
	text-align: center;
}

.fotterfixed {
	min-height : 20vh ;
	position: relative ;
	padding-bottom: 60px ;
	box-sizing: border-box ;
}

.back-to-top {
	position: fixed;
    right: 1%;
    bottom: 1%;
	width:55px;
	height: 55px;
	z-index: 2000;
}

.footer {
	position: absolute;
	bottom: 0;
	padding: 30px 10px;
	background: #555 ;
	color: #fefefe ;
	width: 100%;
}

.footer a {
	color: #fff ;
	font-weight: bold ;
	text-decoration: none ;
	transition : all ease 0.5s ;
}

.footer a:hover {
	color: #d4ffd9 ;
}

.color-red {
	color: red;
}

.color-pink {
	color: #ff3366;
}

.color-white {
	color: white;
}

.bg-red {
	background: red;
}

.bg-yellow {
	background: #fbc700;
}

.bg-skyblue {
	background: deepskyblue;
}

.bg-green {
	background: green;
}

.bg-gray {
	background: gray;
}

.bg-ghostwhite {
	background: ghostwhite;
}

.bg-lightgreen {
	background: #b8e6b8;
}

.bg-lightyellow {
	background: #ffffb3;
}

.button {
	background: #ffa500;
	display: inline-block;
	cursor: pointer;
	font-weight: bold;
	padding: 10px 20px;
	text-decoration: none;
	margin: 10px 0;
	border-radius: 5px;
	color: #fff;
}

.button a, .button a:hover {
	color: #ffffff;
	text-decoration: none;
}

.button:hover {
	background: #ff8c00;
}

.button2 a {
	background: deepskyblue;
	border-radius: 3px;
	box-shadow: 0 3px 0 #007299;
	color: #ffffff;
	display: block;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	margin: 10px auto;
	padding: 10px 0;
	font-size: 20px;
	font-size: 1.25rem;
	width: 450px;
}

@media (max-width: 599px) {
  .button2 a {
    font-size: 16px;
    font-size: 1rem;
    width: 270px;
  }
}

.button2 a:hover {
	box-shadow: 0 3px 0 #007299;
	margin: 12px auto 8px;
	text-decoration: none;
}

.line-teal {
	border: 2px solid #006a6c;
}

.line-kogane {
	border: 2px solid #e6b422;
}

html {
	font-family: Verdana,Meiryo,Hiragino Kaku Gothic Pro W3,Hiragino Kaku Gothic Pro,MS PGothic,sans-serif;
	word-wrap: break-word;
}

html a {
	text-decoration: underline;
}

body {
	font-size: 18px;
	font-size: 1.125rem;
	line-height: 1.5;
}

.wrap {
	margin: 0 auto 0 auto;
	width: 980px;
}


@media (min-width: 600px) and (max-width: 1100px) {
 
  .wrap {
    width: 100%;
    margin: 0 auto;
  }
  
  .box_wrapper {
  	width: 90%;
  }
  
  .flex_box1  {
	width: 100%;
	}
	
  .flex_box2  {
	width: 100%;
	}

	.flex_box2 video {
    width: 100%;
     height: auto ;
}


	
	.pv {
		width: 100%;
		height: auto;
		margin-bottom: 0 ;
	}
}

@media (max-width: 599px) {

  .wrap {
    width: 92%;
    margin: 0 auto;
  }
  
.box_wrapper {
  	display: block;
  	width: 80%;
  }
  
.flex_box1 {
    display: block;
  	width: 100%;
  }
  
.flex_box2 {
    display: block;
  	width: 100%;
  }

}

.wrap-main {
	width: 100%;
	margin: 0 auto;
}

@media (min-width: 820px) and (max-width: 958px) {

.fotterfixed  {
    min-height: 20vh;
}

.title_logo {
	height: 400px ;
}

}

@media (min-width: 600px) and (max-width: 819px) {
.wrap-main {
    width: 100%;
  }
  
.title_box{
	position: absolute;
	top: 50%;
	left: 50% ;
	transform: translate(-50%, -50%);
	-webkit-transform: translate (-50%, -50%);
	-ms-transform: translate (-50%, -50%);
	font-size: 1.7em;
	width : 80%;
	text-align: center;
}

.title_logo {
	height: 500px ;
}

.cast_box  {
	margin-top: 0 ;
}

.accent {
	font-size: 1.5em;
}
  
.cast_box p {
	font-size: 1em;
}
.fotterfixed  {
    min-height: 37vh;
}

}

@media (max-width: 599px) {

.wrap-main {
    width: 100%;
  }

.title_box {
	width: 100%;
	text-align: center;
}

.title_logo {
	height: 400px ;
}

.title_box img {
	width: 100% ;
}

.accent {
    font-size: 1.3em;
}

.title_box h1 {
	font-size : 0.8em ;
}

.pr_box {
	width: 95%;
}

  .pv {
	width: 100% ;
	height: auto ;
	margin-bottom: 8px ;
}

.cast_box {
margin-top: 0 ;
    width: 90%;
}

.cast_box p {
	text-align: left ;
	width: 95%;
}

.concept {
    width: 90%;
}

.concept p {
	line-height: 1.5em;
}

.bnr {
	width: 95% ;
}

.bnr h2 {
	font-size: 1.8em;
}

.bnr_time {
	font-size: 0.7em;
	letter-spacing: 0.01em;
}

.bnr_text {
	text-align: left ;
	font-size: 1em;
}

img {
	max-width: 100%;
}

.page-top {
	position: fixed;
	bottom: 2% ;
	right: 2% ;
}

@media (max-width: 599px) {
.page-top {
    position: fixed;
    bottom: 0px;
    right: 10px;
  }
}

@media (max-width: 599px) {
  .page-top img {
    width: 50px;
  }
}

h2 {
	font-size: 28px;
	font-size: 1.75rem;
}

@media (max-width: 599px) {
  h2 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

h3 {
	font-size: 22px;
	font-size: 1.375rem;
}

@media (max-width: 599px) {
  h3 {
    font-size: 20px;
    font-size: 1.25rem;
  }
}

h4 {
	font-size: 18px;
	font-size: 1.125rem;
}

.youtube-video {
	position: relative;
	width: 100%;
	padding-top: 56.25%;
}

.youtube-video iframe {
	position: absolute;
	top: 0;
	right: 0;
	width: 100% !important;
	height: 100% !important;
}

p, ul li, dl, dt, dd {
	font-size: 16px;
	font-size: 1rem;
}

@media (max-width: 599px) {
  p, ul li, dl, dt, dd {
	font-size: 15px;
	font-size: 0.9375rem;
  }
}

@media (max-width: 599px) {

.footer {
    font-size: 14px;
    font-size: 0.875rem;
  }
}

.w50 {
	width: 50%;
}

@media (max-width: 599px) {

.w100 {
		width: 100%;
	}

.w50 {
		width: 100%;
	}
}

@media (max-width: 280px) {

.accent {
    font-size: 1.5em;
}

.title_box h1 {
	font-size : 0.7em ;
}

.bnr_time {
	font-size: 0.6em;
	letter-spacing: 0.01em;
}
	
}

.col {
  border: 0px solid transparent;
  float: left;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -moz-background-clip: padding-box !important;
  -webkit-background-clip: padding-box !important;
  background-clip: padding-box !important;
}

/* 1. 12 Column Grid 0px - Infinity 
----------------------------------------------------------------------------- 

Span 1:    7.41666666667%
Span 2:    15.8333333333%
Span 3:    24.25%
Span 4:    32.6666666667%
Span 5:    41.0833333333%
Span 6:    49.5%
Span 7:    57.9166666667%
Span 8:    66.3333333333%
Span 9:    74.75%
Span 10:    83.1666666667%
Span 11:    91.5833333333%
Span 12:    100%

----------------------------------------------------------------------------- */

@media screen and (min-width: 0px) {
  .col {
    margin-left: 1%;
    padding: 0 0%;
  }

  .row .col:first-child {
    margin-left: 0;
  }

  .span-1 {
    width: 7.41667%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-2 {
    width: 15.83333%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-3 {
    width: 24.25%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }
  .span-4 {
    width: 32.66667%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }
  .span-5 {
    width: 41.08333%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }
  
  .span-6 {
    width: 49.5%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }
  .span-7 {
    width: 57.91667%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }
  .span-8 {
    width: 66.33333%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-9 {
    width: 74.75%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-10 {
    width: 83.16667%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-11 {
    width: 91.58333%;
    border-left-width: 0;
    padding: 0 0%;
    margin-left: 1%;
  }

  .span-12 {
    margin-left: 0;
    width: 100%;
  }
}

@media screen and (min-width: 0px) and (max-width: 599px) {
  .span-4,.span-5,.span-6,.span-7,.span-8,.span-9,.span-10,.span-11,.span-12 {
    margin-left: 0;
    width: 100%;
  }
}