@charset "UTF-8";
/* CSS Document */

html{
	margin:0;
	padding:0;
	font-size:62.5%;
	}
body{
	margin:0 auto;
	padding:0;
	font-size:1.4em;
	font-family:'Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
}
/* iPad背景切れ対策 */
@media screen and (min-width:668px){
	body{
		min-width:1200px;
	}
}
*{
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	-o-box-sizing:border-box;
	-ms-box-sizing:border-box;
	box-sizing:border-box;
}
header,footer,section,aside,nav,article,main {
	display:block;
}
h1, h2, h3, h4, h5, h6 {
	margin:0;
	padding:0;
}
p{
	margin:0;
	padding:0;
	font-size:100%;
	line-height:160%;
}
img {
	border:none;
	vertical-align:top;
	margin:0;
	padding:0;
}
figure,ul,ol,li,dl,dt,dd{
	margin:0;
	padding:0;
}
ul li,ol li{
	list-style:none;
}
a{
	color:#000000;
	text-decoration:none;
}
a:link{
	color:#000000;
}
a:visited{
	color:#000000;
}
a:hover{
	text-decoration:none;
}

/* clearfix */
.clearfix::after {
	content:' ';
	display:block;
	height:0;
	font-size:0;
	clear: both;
	visibility:hidden;
}

/* 表示切替 */
.switch {
	visibility:hidden;
}
.sp{
	display:none;
}

/* pagetop */
#pagetop{
	display:none;
	cursor: pointer;
	position:fixed;
	bottom:80px;
	right:20px;
	z-index: 1000;
}
@media screen and (min-width:668px){
	#pagetop:hover{
		opacity:0.7;
	}
}

/* fixInquiry */
#fixInquiryBox{
	display:none;
	width:100%;
	background-color:rgba(0,0,0,0.2);
	position:fixed;
	bottom:0;
	left:0;
}
#listFixInquiry{
	padding:10px 30px;
	text-align:center;
}
#listFixInquiry li{
	display:inline-block;
	margin:0 0 0 5px;
}
#listFixInquiry li a.btn{
	display:block;
	min-width:220px;
	padding:8px;
	font-size:1.2rem;
	font-weight:bold;
	color:#0096DF;
	background-color:#FFFFFF;
	border-radius:10px;
	transition:color 0.15s,background-color 0.15s;
}
#listFixInquiry li a.btn:hover{
	color:#FFFFFF;
	background-color:#333333;
}

.fixInquiryNone #fixInquiryBox{
	display:none !important;
}

/* wrapper */
#wrapper{
	position:relative;
}


/* テキスト */
.ffEn{
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
}
.fwB{
	font-weight:bold;
}
.fsL{
	font-size:1.8rem;
}
.nowrap{
	white-space:nowrap;
}
a.txtLink{
	text-decoration:underline;
}
a.txtLink:hover{
	text-decoration:none;
}
@media screen and (min-width:668px){
	p.honbun{
		line-height:180%;
	}
}

/* 画像テキスト */
.txtPic{
 text-indent:100%;
	white-space:nowrap;
	line-height:100%;
	overflow:hidden;
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#headerOut{
	width:100%;
	padding:20px 30px;
	position:absolute;
	left:0;
	top:0;
	z-index:999;
}
#logo{
	padding:30px 0 0 0;
	float:left;
}
#logo img{
	transition:opacity 0.15s;
}
#logo a:hover img{
	opacity:0.7;
}
#gNavArea{
	float:right;
}
#headTelBox{
	padding:0 0 5px 0;
}
#headTelBox a{
	display:block;
	float:right;
}
a#headContact{
	width:176px;
	height:24px;
	font-size:1.2rem;
	font-weight:bold;
	color:#FFFFFF;
	line-height:24px;
	text-align:center;
	background-color:#000000;
	border-radius:12px;
	transition:color 0.15s,background-color 0.15s;
}
a#headContact:hover{
	color:#000000;
	background-color:#FFD800;
}
#headTel{
	padding:0 10px 0 0;
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
	font-size:2.6rem;
	font-weight:400;
	line-height:100%;
	color:#FFFFFF;
	letter-spacing:0.05em;
}
#headTel span{
	font-size:1.4rem;
}
#listGnav{
	display:-ms-flexbox;
	display:flex;
	width:400px;
	padding:10px 10px;
	background:url(../images/bg_gnav_l_pc.png) left 3px top 3px no-repeat,url(../images/bg_gnav_r_pc.png) right 3px bottom 3px no-repeat,#FFFFFF;
	border-radius:15px;
	box-shadow:0 8px 0 0 rgba(0,0,0,0.15);
}
#listGnav li{
	width:95px;
	border-right:1px dotted #C8C8C8;
}
#listGnav li:last-of-type{
	border-right:none;
}
#listGnav li a{
	display:block;
	padding:40px 0 5px 0;
	font-size:1.0rem;
	text-align:center;
	transition:background-color 0.15s;
}
#listGnav li a span{
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
	font-size:1.2rem;
	font-weight:700;
	letter-spacing:0.05em;
}
#listGnav li#gNavVision a{
	background:url(../images/gnav_vision_pc.png) center top 13px no-repeat;
	border-radius:10px 0 0 10px;
}
#listGnav li#gNavVision a span{
	color:#DB2B4A;
}
#listGnav li#gNavCreative a{
	background:url(../images/gnav_creative_pc.png) center top 13px no-repeat;
}
#listGnav li#gNavCreative a span{
	color:#AC48DC;
}
#listGnav li#gNavTheatre a{
	background:url(../images/gnav_theatre_pc.png) center top 13px no-repeat;
}
#listGnav li#gNavTheatre a span{
	color:#56C809;
}
#listGnav li#gNavCompany a{
	background:url(../images/gnav_company_pc.png) center top 13px no-repeat;
	border-radius:0 10px 10px 0;
}
#listGnav li#gNavCompany a span{
	color:#17B1E1;
}
#listGnav li a:hover{
	background-color:#EEFAFF !important;
}


/* パンくず */
#dlistPan{
	padding:10px 30px 0 30px;
	position:absolute;
	top:110px;
	left:0;
	z-index:1000;
}
#dlistPan li{
	padding:0 5px 0 0;
	font-size:1.2rem;
	color:rgba(0,0,0,0.8);
	float:left;
}
#dlistPan li span{
	display:block;
	height:24px;
	padding:0 10px;
	line-height:20px;
	vertical-align:middle;
	color:rgba(0,0,0,0.4);
	background-color:#FFFFFF;
	border:1px solid #888888;
	border-radius:12px;
}
#dlistPan li a{
	display:inline-block;
	text-decoration:none;
}
#dlistPan li a span{
	color:rgba(0,0,0,1);
	border:1px solid #0097E0;
	transition:color 0.15s,background-color 0.15s;
}
#dlistPan li a:hover span{
	color:#FFFFFF;
	background-color:#0097E0;
}
#dlistPan li::after{
	content:' ';
	display:inline-block;
	width:0;
	height:0;
	border:3px solid transparent;
	border-top:3px solid #FFD900;
	border-right:3px solid #FFD900;
	transform:rotate(45deg);
}
#dlistPan li:last-of-type::after{
	display:none;
}


/*
	KV_青空
-----------------------------------------------------------------------------------------------*/
#kvOut{
	padding:150px 0 0 0;
	background:
		url(../images/bg_cloud01.png) left 450px top 70px no-repeat,
		url(../images/bg_cloud02.png) left 40px top 410px no-repeat,
		url(../images/bg_cloud03.png) right 150px top 230px no-repeat,
		url(../images/bg_cloud04.png) right -20px top 530px no-repeat,
		url(../images/bg_logo.png) left top no-repeat,
		url(../images/bg_kv_dots_pc.png) left top repeat #009BE4;
}
#kvIn{
	text-align:center;
	padding:30px 0 0 0;
}

/*
	コンテンツ_レイアウト
-----------------------------------------------------------------------------------------------*/
.ctsArea{
	width:1060px;
	padding:40px 30px;
	margin:0 auto;
}

/*
	ボタン
-----------------------------------------------------------------------------------------------*/
a.btnBlue,a.btnGray,a.btnWhite{
	display:inline-block;
	min-width:200px;
	padding:12px 10px;
	font-size:1.6rem;
	font-weight:bold;
	color:#FFFFFF;
	text-align:center;
	border-radius:10px;
	box-shadow:0 4px 0 0 rgba(0,0,0,0.15);
	transition:transform 0.15s,box-shadow 0.15s,background-color 0.15s,color 0.15s;
}
a.btnWindow{
	padding:12px 30px 12px 10px;
	background:url(../images/ico_window.png) right 10px center no-repeat;
	background-size:17px 12px;
}
a.btnBlue{
	background-color:#0096DF;
}
a.btnBlue:hover{
	background-color:#0076C4;
	box-shadow:0 0 0 0 rgba(0,0,0,0.15);
	transform:translateY(2px);
}
a.btnGray{
	background-color:#666666;
}
a.btnGray:hover{
	background-color:#333333;
	box-shadow:0 0 0 0 rgba(0,0,0,0.15);
	transform:translateY(2px);
}
a.btnWhite{
	color:#0096DF;
	background-color:#FFFFFF;
}
a.btnWhite.bd{
	border:2px solid #0096DF;
}
a.btnWhite:hover{
	background-color:#DDF4FF;
	box-shadow:0 0 0 0 rgba(0,0,0,0.15);
	transform:translateY(2px);
}
a.btnArrowBtm{
	padding:12px 30px;
	color:#000000;
	position:relative;
}
.btnArrowBtm::after{
	content:' ';
	display:block;
	width:6px;
	height:6px;
	border-top:2px solid #0096DF;
	border-right:2px solid #0096DF;
	transform:translateY(-50%) rotate(135deg);
	position:absolute;
	top:50%;
	right:10px;
}

/*
	見出し
-----------------------------------------------------------------------------------------------*/
/* 大見出し_黄色マーカー */
.titCts1st{
	padding:0 0 20px 0;
	font-size:3.2rem;
	font-weight:bold;
	line-height:125%;
	text-align:center;
}
.titCts1st > span{
	display:inline-block;
	padding:0 5px 3px 5px;
	background:linear-gradient(to top, rgba(255,217,0,0.7) 14px, rgba(255,217,0,0) 14px);
}
.titCts1st.catch{
	padding:0 0 25px 0;
	font-size:2.4rem;
}

/* 中見出し_下ボーダー */
.titCts2nd{
	margin:0 0 15px 0;
	font-size:2.2rem;
	font-weight:bold;
	border-bottom:3px solid #DFDFDF;
}
.titCts2nd span{
	display:inline-block;
	padding:0 0 5px 0;
	margin:0 0 -3px 0;
	letter-spacing:0.05em;
	border-bottom:3px solid #17B3E3;
}
.titCts2nd span:first-letter{
	color:#17B3E3;
}

/* 小見出し_グレー帯 */
.titCts3rd{
	padding:8px 10px;
	margin:0 0	12px 0;
	font-size:1.6rem;
	font-weight:bold;
	background-color:#F7F7F7;
}
.titThird:first-of-type{
	margin:0 0 12px 0;
}

/*
	 table
-----------------------------------------------------------------------------------------------*/
.tblBase{
	width:100%;
	border-collapse:collapse;
	border-top:1px solid rgba(0,0,0,0.8);
}
.tblBase th,.tblBase td{
	line-height:160%;
	border-bottom:1px solid rgba(0,0,0,0.8);
}
.tblBase th{
	width:300px;
	padding:20px;
	color:#17B3E3;
	background-color:#F7F7F7;
	border-right:1px dotted rgba(0,0,0,0.8);
}
.tblBase th.wAuto{
	width:auto;
}
.tblBase td{
	padding:20px 0 20px 20px;
	word-break:break-all;
}
.tblBase th.cellSub,.tblBase td.cellSub{
	background-color:#FFFFFF;
	border-bottom:1px dotted rgba(0,0,0,0.8);
}
.tblBase th.cellSubLast,.tblBase th.cellSubLast{
	background-color:#FFFFFF;
}
.tblBase th.cellSub,.tblBase th.cellSubLast{
	width:200px;
	text-align:left;
}

/* 2col用 */
.tblBase.tblBase2col th,.tblBase.tblBase2col td{
	padding:10px;
}
.tblBase.tblBase2col th{
	width:auto;
	font-size:1.2rem;
}

/* list */
.tblList{
	width:100%;
	table-layout:fixed;
	border-collapse:collapse;
	border-top:1px solid rgba(0,0,0,0.8);
}
.tblList.wAuto{
	table-layout:auto;
}
.tblList th,.tblList td{
	line-height:160%;
	border-bottom:1px solid rgba(0,0,0,0.8);
}
.tblList th{
	padding:15px 10px;
	color:#17B3E3;
	background-color:#F7F7F7;
	border-right:1px dotted rgba(0,0,0,0.8);
}
.tblList td{
	padding:20px;
	border-right:1px dotted rgba(0,0,0,0.8);
	text-align:center;
}
.tblList th:last-of-type,.tblList td:last-of-type{
	border-right:none;
}
.tblList.tblListTitRow td:first-of-type{
	border-left:1px dotted rgba(0,0,0,0.8);
}
/* 2col用 */
.tblList.tblList2col th,.tblList.tblList2col td{
	padding:10px 5px;
}


/*
	フォーム
-----------------------------------------------------------------------------------------------*/
/* form部品 */
button, input, select, textarea {
	font-family : inherit;
	font-size:100%;
}
input[type="text"]{
	padding:5px;
	line-height:160%;
	border:1px solid #BBBBBB;
	border-radius: 3px;
}
.ittS{
	width:150px;
}
.ittM{
	width:400px;
}
.ittL{
	width:100%;
}
input[type="checkbox"]{
	opacity: 0;
	position: absolute;
	cursor: pointer;
}
input[type="checkbox"] + label {
	display:inline-block;
	padding:0 0 0 28px;
	line-height:24px;
	vertical-align:middle;
	background: url(../images/checkbox.svg) left top no-repeat;
	background-size:22px 106px;
	cursor:pointer;
}
input[type="checkbox"]:checked + label{
	background-position:left -42px;
	cursor:pointer;
}
input[type="checkbox"]:disabled{
	cursor:default;
}
input[type="checkbox"]:disabled + label{
	background-position:left -84px;
	color:#CCCCCC;
	cursor:default;
}
textarea{
	width:100%;
	padding:5px;
	line-height:160%;
	border:1px solid #BBBBBB;
	border-radius: 3px;
}
select{
	border-radius: 3px;
	border: 1px solid #BBBBBB;
	font-size:14px;
	padding: 7px 25px 7px 7px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: url(../images/select_arrow.png) right center no-repeat #FFFFFF;
	background-size: 16px 8px;
	box-shadow: inset 0 -2px 0 rgba(0,0,0,0.1)
}
select::-ms-expand{
	display:none;/*IE10以降*/
}
select:disabled{
	border:1px solid #DDDDDD;
	color:#CCCCCC;
	box-shadow:none;
}
input[type="radio"]{
	opacity: 0;
	position: absolute;
	cursor:pointer;
}
input[type="radio"] + label{
	display:inline-block;
	padding:0 0 0 28px;
	line-height:24px;
	vertical-align:middle;
	background:url(../images/radiobutton.svg) left top no-repeat;
	background-size:22px 106px;
	cursor:pointer;
}
input[type="radio"]:checked + label{
	background-position:left -42px;
}
input[type="radio"]:disabled{
	cursor:default;
}
input[type="radio"]:disabled + label{
	background-position:left -84px;
	color:#CCCCCC;
	cursor:default;
}
input[type="button"]{
	padding:5px 10px;
	background-color:#000000;
	border:none;
	color:#FFFFFF;
	border-radius:4px;
	transition:background-color 0.15s;
}
input[type="button"]:hover{
	background-color:#0096DF;
	cursor:pointer;
}
.ittArea input[type="text"]{
	display:block;
	margin:8px 0 0 0;
}
.txtAttentionInput{
	display:inline-block;
	padding:0 0 0 5px;
	font-size:1.2rem;
	color:#666666;
}

/* 入力注意事項 */
.txtFormAttention{
	padding:10px 0 0 0;
	font-size:1.2rem;
}

/* リンク */
.tblBase a{
	text-decoration:underline;
}
.tblBase a:hover{
	text-decoration:none;
}

/* 説明文 */
.txtFormInfo{
	padding:0 0 20px 0;
}
/* 必須 */
.require{
	font-weight:bold;
	color:#FF0000;
}

/* プライバシー */
.formPrivacyBox{
	margin:15px 0 0 0;
	padding:15px 10px;
	text-align:center;
	background-color:rgba(0,150,223,0.10);
}
.formPrivacyBox a{
	text-decoration:underline;
}

/* エラー */
.errorBox{
	padding:20px 0 0 0;
	color:#FF0000;
}

/* ボタン */
.btnArea{
	padding:30px 0 0 0;
	text-align:center;
}
.btnArea a{
	min-width:200px;
	margin:0 5px;
	font-size:1.8rem;
	letter-spacing:0.1em;
}
.btnArea a.ls0{
	letter-spacing:0;
}
.btnArea a.wAuto{
	width:auto;
}

/* TEL */
.formTelArea{
	width:600px;
	padding:10px 10px 15px 10px;
	margin:50px auto 0 auto;
	text-align:center;
	border:2px solid #17B3E3;
	border-radius:10px;
}
.formTelArea .titTel{
	margin:0 0 20px 0;
	padding:10px 0;
	font-size:1.6rem;
	font-weight:bold;
	background-color:rgba(255,216,0,0.2);
	border-radius:5px;
}
.formTelArea .txt{
	display:inline-block;
	padding:5px 10px;
	margin:0 5px 0 0;
	font-size:1.2rem;
	color:#FFFFFF;
	vertical-align:top;
	background-color:#000000;
	border-radius:4px;
}
.formTelArea .tel{
	display:inline-block;
	padding:5px 0 0 36px;
	background:url(../images/ico_tel_blue.svg) left top no-repeat;
	background-size:30px 33px;
}
.formTelArea .tel span{
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
	font-size:4.0rem;
	color:#17B3E3;
}

/* TEL_お問い合わせ */
.formTelArea.information{
	width:auto;
}
.formTelArea .smallTel{
	padding:10px 0 0 0;
}
.formTelArea .smallTel .tel{
	padding:0 0 0 24px;
	margin:0 10px 0 0;
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
	font-size:2.4rem;
	background:url(../images/ico_tel.svg) left top no-repeat;
	background-size:20px 22px;
	background-position:left center;
	vertical-align:top;
	line-height:140%;
}

.formTelArea .smallTel p.tel:last-of-type{
	margin:0;
}
.smallTel .btnBlue{
	position:relative;
	top:-8px;
}

/* Thanks */
.titThanks{
	padding:20px 0 10px 0;
	font-family:'Roboto','Hiragino Kaku Gothic ProN', 'Hiragino Sans', Meiryo, 'Yu Gothic', YuGothic, sans-serif;
	font-size:6.0rem;
	font-weight:700;
	line-height:140%;
	text-align:center;
}
.txtThanks{
	font-size:1.6rem;
	text-align:center;
}
.thanksBox{
	width:400px;
	padding:20px;
	margin:30px auto 0 auto;
	border:4px solid #000000;
}
.thanksL{
	font-size:1.6rem;
	font-weight:bold;
	float:left;
}
.thanksBox a{
	padding:10px 20px;
	font-size:1.8rem;
	float:right;
}

/* お問い合わせ注意事項 */
.formNotes{
	margin:30px 0 0 0;
}
.formNotes p{
	margin:0 0 15px 0;
}
.formNotes .tit{
	border-bottom:2px dotted #17B3E3;
	font-size:1.6rem;
	font-weight:bold;
	padding:0 0 5px 0;
	margin:0 0 15px 0;
}
.formNotes li{
	padding:0 0 0 18px;
	margin:0 0 10px 0;
	position:relative;
}
.formNotes li::before{
	content:"●";
	display:inline-block;
	color:#17B3E3;
	font-size:10px;
	position:absolute;
	left:2px;
	top:3px;
}


/*
	動画
-----------------------------------------------------------------------------------------------*/
.modalMvWindow{
	display: none;
	width: 650px;
	height: 366px;
}
.modalMvWindow .btnModalClose{
	top: auto;
	bottom: -60px;
}
.btnModalClose{
	width: 50px;
	height: 50px;
	position: absolute;
	right: 0;
	top: -50px;
	cursor: pointer;
}
.btnModalClose::before,.btnModalClose::after{
	content: ' ';
	display: block;
	width: 50px;
	height: 1px;
	background-color: #FFFFFF;
	position: absolute;
	bottom: 30px;
}
.btnModalClose::before{
	transform: rotate(45deg);
}
.btnModalClose::after{
	transform:rotate(-45deg);
}
.thumbVideo{
	position:relative;
}
.thumbVideo::after{
	content:' ';
	display:block;
	width:34px;
	height:34px;
	background:url(../images/ico_mv_play.png) left top no-repeat;
	position:absolute;
	top:50%;
	left:50%;
	margin:-17px 0 0 -17px;
}
.thumbVideo:hover{
	cursor:pointer;
}
.mvIn{
	width:100%;
	padding-bottom:56.25%;
	position:relative;
	overflow:hidden;
}
.mvIn iframe {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	left:0;
}


/*
	扉ページ
-----------------------------------------------------------------------------------------------*/
#titIdx{
	min-height:105px;
	padding:47px 0 0 0;
	font-size:5.8rem;
	font-weight:bold;
	text-align:center;
	line-height:100%;
	vertical-align:baseline;
	text-shadow:
		0px 3px 1px #FFFFFF,0px 2px 1px #FFFFFF,1px 2px 1px #FFFFFF,
		2px 2px 1px #FFFFFF,2px 1px 1px #FFFFFF,2px 0px 1px #FFFFFF,3px 0px 1px #FFFFFF,
		2px -1px 1px #FFFFFF,2px -2px 1px #FFFFFF,2px -3px 1px #FFFFFF,1px -3px 1px #FFFFFF,
		0px -3px 1px #FFFFFF,-1px -3px 1px #FFFFFF,-2px -3px 1px #FFFFFF,-3px -3px 1px #FFFFFF,
		-3px -2px 1px #FFFFFF,-3px -1px 1px #FFFFFF,-3px 0px 1px #FFFFFF,-3px 1px 1px #FFFFFF,
		-3px 2px 1px #FFFFFF,-2px 2px 1px #FFFFFF,-1px 2px 1px #FFFFFF;
}
#leadIdx{
	padding:30px 30px 0 30px;
	font-size:1.6rem;
	font-weight:bold;
	color:#FFFFFF;
}

/* メニューリスト共通 */
#kvIn .ctsArea{
	padding:40px 30px 11px 30px;
}
.listIdx{
	display:-ms-flexbox;
	display:flex;
	-ms-justify-content:left;
	justify-content:left;
	-ms-flex-wrap:wrap;
	flex-wrap:wrap;
}
.listIdx li{
	width:314px;
	margin:0 29px 29px 0;
	font-weight:bold;
	line-height:140%;
	background-color:#FFFFFF;
	border:4px solid #FFFFFF;
	border-radius:15px;
	box-shadow:0 8px 0 0 rgba(0,0,0,0.15);
}
.listIdx li:last-of-type,.listIdx li:nth-child(3n){
	margin:0 0 29px 0;
}
.listIdx li a{
	display:block;
	height:100%;
}
.listIdx li figure img{
	border-radius:15px 15px 0 0;
}
@media screen and (min-width:668px){
	.listIdx li img{
		transition:opacity 0.15s;
	}
	.listIdx li a:hover img{
		opacity:0.7;
	}
}
.listIdx li .tit{
	padding:20px 0 18px 0;
	font-size:1.8rem;
}



/*
	下層ページ
-----------------------------------------------------------------------------------------------*/
#titPage{
	padding:20px 0 8px 0;
	font-size:5.8rem;
	font-weight:bold;
	text-align:center;
	line-height:125%;
	vertical-align:baseline;
	color:#17B3E3;
	text-shadow:
		0px 3px 1px #FFFFFF,0px 2px 1px #FFFFFF,1px 2px 1px #FFFFFF,
		2px 2px 1px #FFFFFF,2px 1px 1px #FFFFFF,2px 0px 1px #FFFFFF,3px 0px 1px #FFFFFF,
		2px -1px 1px #FFFFFF,2px -2px 1px #FFFFFF,2px -3px 1px #FFFFFF,1px -3px 1px #FFFFFF,
		0px -3px 1px #FFFFFF,-1px -3px 1px #FFFFFF,-2px -3px 1px #FFFFFF,-3px -3px 1px #FFFFFF,
		-3px -2px 1px #FFFFFF,-3px -1px 1px #FFFFFF,-3px 0px 1px #FFFFFF,-3px 1px 1px #FFFFFF,
		-3px 2px 1px #FFFFFF,-2px 2px 1px #FFFFFF,-1px 2px 1px #FFFFFF;
}
#titPage span{
	display:inline-block;
	color:#FFDA00;
}
#titPage span:first-of-type{
	padding:0 8px 0 0;
}
#titPage span:last-of-type{
	padding:0 0 0 8px;
}
#leadPage{
	padding:0 30px 50px 30px;
	font-size:1.6rem;
	font-weight:bold;
	text-shadow:
		0px 3px 1px #FFFFFF,0px 2px 1px #FFFFFF,1px 2px 1px #FFFFFF,
		2px 2px 1px #FFFFFF,2px 1px 1px #FFFFFF,2px 0px 1px #FFFFFF,3px 0px 1px #FFFFFF,
		2px -1px 1px #FFFFFF,2px -2px 1px #FFFFFF,2px -3px 1px #FFFFFF,1px -3px 1px #FFFFFF,
		0px -3px 1px #FFFFFF,-1px -3px 1px #FFFFFF,-2px -3px 1px #FFFFFF,-3px -3px 1px #FFFFFF,
		-3px -2px 1px #FFFFFF,-3px -1px 1px #FFFFFF,-3px 0px 1px #FFFFFF,-3px 1px 1px #FFFFFF,
		-3px 2px 1px #FFFFFF,-2px 2px 1px #FFFFFF,-1px 2px 1px #FFFFFF;
}


/* コンテンツ */
.item{
	margin:0px 0px 60px 0px;
}

.cts2col > *{
	width:485px;
	float:left;
	margin:0 30px 0 0;
}
.cts2col > *:last-child{
	margin:0;
}


/* 本文_アキ */
.ctsLead{
	margin:0 0 30px 0;
}


/* リスト_● */
.listCircle li{
	padding:0 0 5px 11px;
	text-indent:-11px;
}
.listCircle li:last-of-type{
	padding:0 0 0 11px;
}
.listCircle li::before{
	content:' ';
	display:inline-block;
	width:6px;
	height:6px;
	margin:0 5px 0 0;
	border-radius:3px;
	background-color:#000000;
	position:relative;
	top:-2px;
}


/* 注釈 */
.txtSmall{
	display:block;
	font-size:1.2rem;
}
.txtSmall.top{
	padding:0 0 10px 0;
}
.txtSmall.btm{
	padding:10px 0 0 0;
}
.listSmall{
	padding:5px 0 0 0;
}
.listSmall li{
	padding:5px 0 0 0;
	font-size:1.2rem;
}

/*
	aside
-----------------------------------------------------------------------------------------------*/
#asideInquiryOut{
	background-color:#F5CB00;
}
#asideInquiryIn{
	display:-ms-flexbox;
	display:flex;
	width:1200px;
	padding:20px 0;
	margin:0 auto;
	border-left:30px solid #F5CB00;
	border-right:30px solid #F5CB00;
	background-color:#FFD800;
}
.asideInquiryBox{
	width:570px;
	padding:10px 20px;
	text-align:center;
}
.asideInquiryBox#download{
	background:url(../images/bg_download_pc.png) right 20px bottom 0 no-repeat;
}
.asideInquiryBox#contact{
	background:url(../images/bg_mail_pc.png) right 20px bottom 0 no-repeat;
}
.asideInquiryBox:last-of-type{
	border-left:1px dashed rgba(255,255,255,0.8);
}
.asideInquiryBox .tit{
	padding:0 0 12px 0;
	font-size:2.0rem;
	font-weight:bold;
	background:url(../images/bd_slash.png) left bottom no-repeat;
	background-size:813px 5px;
	text-shadow:
		0px 3px 1px #FFFFFF,0px 2px 1px #FFFFFF,1px 2px 1px #FFFFFF,
		2px 2px 1px #FFFFFF,2px 1px 1px #FFFFFF,2px 0px 1px #FFFFFF,3px 0px 1px #FFFFFF,
		2px -1px 1px #FFFFFF,2px -2px 1px #FFFFFF,2px -3px 1px #FFFFFF,1px -3px 1px #FFFFFF,
		0px -3px 1px #FFFFFF,-1px -3px 1px #FFFFFF,-2px -3px 1px #FFFFFF,-3px -3px 1px #FFFFFF,
		-3px -2px 1px #FFFFFF,-3px -1px 1px #FFFFFF,-3px 0px 1px #FFFFFF,-3px 1px 1px #FFFFFF,
		-3px 2px 1px #FFFFFF,-2px 2px 1px #FFFFFF,-1px 2px 1px #FFFFFF;
}
.asideInquiryBox p{
	padding:12px 0 10px 0;
	font-size:1.2rem;
}

@media screen and (min-width:678px){
	/* お問い合わせのみ */
	#asideInquiryIn.contactOnly{
		display:block;
		text-align:center;
		background:url(../images/bg_mail_pc.png) right 180px bottom 15px no-repeat #FFD800;
	}
	.contactOnly .asideInquiryBox#contact{
		display:inline-block;
		width:auto;
		float:none;
		border-left:none;
		background:none;
	}
	.contactOnly .asideInquiryBox > div > *{
		display:inline-block;
		vertical-align:middle;
	}
	.contactOnly .asideInquiryBox .tit{
		font-size:2.4rem;
		margin:0 0 15px 0;
	}
	.contactOnly .asideInquiryBox p{
		padding:0 15px 0 0;
		font-size:1.4rem;
		text-align:left;
	}
}

/* 非表示 */
.asideNone #asideInquiryOut{
	display:none;
}
.asideNone #footOut{
	border-top:3px solid #FFD800;
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footOut{
	background-color:#FFFFFF;
}
#footIn{
	width:1200px;
	padding:30px 30px 20px 30px;
	margin:0 auto;
}
#footInL{
	float:left;
}
#footInR{
	padding:0 0 0 30px;
	border-left:1px solid #E9E9E9;
	float:right;
}
.listFootMain{
	width:210px;
	margin:0 30px 0 0;
	font-size:1.2rem;
	float:left;
}
.listFootMain > li:first-child{
	padding:0 0 10px 0;
	margin:0 0 10px 0;
	position:relative;
}
.listFootMain > li:first-child a{
	color:#000000;
}
.listFootMain > li:first-child a:visited{
	color:#000000;
}
.listFootMain > li:first-child::after{
	content:' ';
	display:block;
	width:15px;
	height:4px;
	position:absolute;
	bottom:0;
	left:0;
}
.listFootMain li a,.listFootSub li a{
	color:#666666;
	transition:color 0.15s;
}
.listFootMain li a:visited,.listFootSub li a:visited{
	color:#666666;
}
.listFootMain li a:hover,.listFootSub li a:hover{
	text-decoration:underline;
}
.listFootMain > li:first-child a:hover{
	text-decoration:none;
}
.listFootMain li#footTheatre::after{
	background-color:#56C809;
}
.listFootMain li#footTheatre a:hover{
	color:#56C809;
}
.listFootMain li#footVision::after{
	background-color:#DB2B4A;
}
.listFootMain li#footVision a:hover{
	color:#DB2B4A;
}
.listFootMain li#footCreative::after{
	background-color:#AC48DC;
}
.listFootMain li#footCreative a:hover{
	color:#AC48DC;
}
.listFootMain li#footCompany::after{
	background-color:#17B1E1;
}
.listFootMain li#footCompany a:hover{
	color:#17B1E1;
}
.listFootIn li{
	padding:0 0 8px 0;
}
.listFootMain{
	font-weight:bold;
}
.listFootIn{
	font-size:1.2rem;
	font-weight:normal;
}

/* SNS */
.listSNS li{
	padding:10px 0 0 0;
}
/* 非表示 */
.snsNone .listSNS{
	display:none;
}

#footB{
	padding:0 0 70px 0;
	text-align:center;
}
#footLogo img{
	transition:opacity 0.15s;
}
#footLogo a:hover img{
	opacity:0.7;
}
.copyright{
	padding:8px 0 0 0;
	font-size:1.2rem;
	color:#666666;
}


/*
	404 500
-----------------------------------------------------------------------------------------------*/
.errorPage{
	padding:0 0 30px 0;
	text-align:center;
}

@media screen and (max-width:667px){
	body{
		-webkit-text-size-adjust:100%;
	}
	img{
		width:100%;
	}
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}

	/* 動画 */
	.thumbVideo{
		width:100%;
	}
	.thumbVideo::after{
		content:' ';
		display:block;
		width:40px;
		height:40px;
		background:url(../images/sp_ico_mv_play.png) left top no-repeat;
		background-size:40px 40px;
		margin:-20px 0 0 -20px;
	}
	.modalMvWindow{
		display: none;
		width: 100%;
		height: auto;
		padding: 0 10px;
	}
	.btnModalClose{
		width:30px;
		height:30px;
		top:-30px;
		right:10px;
	}
	.modalMvWindow .btnModalClose {
		bottom: -35px;
	}
	.btnModalClose::before, .btnModalClose::after {
		width: 30px;
		bottom: 15px;
	}

	/* pagetop */
	#pagetop{
		width:54px;
		bottom:70px;
		right:10px;
		z-index: 1000;
	}

	/* fixInquiry */
	#listFixInquiry{
		padding:10px;
		text-align:center;
	}
	#listFixInquiry li{
		display:inline-block;
		width:46%;
		margin:0 1%;
	}
	#listFixInquiry li a.btn{
		width:100%;
		min-width:auto;
	}
	#listFixInquiry li a.btn.download span{
		display:inline-block;
		width:calc(100%/0.85);
		transform-origin:top left;
		transform:scale(0.85,1);
	}

	/*
		header
	-----------------------------------------------------------------------------------------------*/
	#headerOut{
		padding:10px 15px 0 15px;
		position:relative;
		left:auto;
		top:auto;
	}
	#logo{
		padding:0;
		float:none;
	}
	#logo img{
		width:93px;
	}
	#gNavArea{
		float:none;
	}
	#headTelBox{
		padding:0;
		position:absolute;
		top:10px;
		right:15px;
	}
	#headTelBox a{
		display:block;
		float:right;
		text-indent:100%;
		white-space:nowrap;
		overflow:hidden;
	}
	a#headContact{
		width:30px;
		height:30px;
		margin:0 0 0 5px;
		border-radius:15px;
		background:url(../images/ico_head_mail_sp.png) center center no-repeat #FFD800;
		background-size:16px 11px;
	}
	#headTel{
		padding:0;
		width:30px;
		height:30px;
		border-radius:15px;
		background:url(../images/ico_head_tel_sp.png) center center no-repeat #FFD800;
		background-size:15px 15px;
		transition:background-color 0.15s;
	}
	a#headContact:hover,a#headTel:hover{
		background-color:#000000;
	}
	#gNavArea{
		margin:0 -15px;
	}
	#listGnav{
		width:100%;
		padding:0;
		background:#FFFFFF;
		border-radius:0;
		box-shadow:none;
	}
	#listGnav li{
		width:calc(100%/4);
		border-right:none;
	}
	#listGnav li a{
		display:block;
		padding:28px 0 8px 0;
		font-size:1.0rem;
		text-align:center;
		transition:background-color 0.15s;
	}
	#listGnav li a span{
		display:none;
	}
	#listGnav li#gNavVision a{
		background:url(../images/gnav_vision_sp.png) center top 13px no-repeat;
		background-size:34px 26px;
		border-radius:0;
	}
	#listGnav li#gNavCreative a{
		background:url(../images/gnav_creative_sp.png) center top 13px no-repeat;
		background-size:34px 26px;
	}
	#listGnav li#gNavTheatre a{
		background:url(../images/gnav_theatre_sp.png) center top 13px no-repeat;
		background-size:32px 26px;
	}
	#listGnav li#gNavCompany a{
		background:url(../images/gnav_company_sp.png) center top 13px no-repeat;
		background-size:22px 26px;
		border-radius:0;
	}

	/* パンくず */
	#dlistPan{
		display:none;
	}

	/*
		KV_青空
	-----------------------------------------------------------------------------------------------*/
	#kvOut{
		padding:0 0;
		background:
			url(../images/bg_cloud01.png) left 15px top 50px no-repeat,
			url(../images/bg_cloud02.png) left -20px top 400px no-repeat,
			url(../images/bg_cloud03.png) right 10px top 100px no-repeat,
			url(../images/bg_cloud04.png) right -20px top 550px no-repeat,
			url(../images/bg_kv_dots_sp.png) left top repeat #009BE4;
		background-size:33px 20px,61px 46px,41px 37px,67px 62px,11px 11px;
	}
	#kvIn{
		padding:15px 0;
	}

	/*
		コンテンツ_レイアウト
	-----------------------------------------------------------------------------------------------*/
	.ctsArea{
		width:100%;
		padding:30px 20px;
	}
	.cts2col > *{
		width:100%;
		float:none;
		margin:0 0 30px 0;
	}
	.cts2col > *:last-child{
		margin:0;
	}

	/*
		見出し
	-----------------------------------------------------------------------------------------------*/
	/* 大見出し */
	.titCts1st,.titCts1st.catch{
		font-size:1.8rem;
	}
	.titCts1st.catch{
		padding:0 0 20px 0;
	}
	.titCts1st > span{
		padding:0 5px 3px 5px;
		background:linear-gradient(to top, rgba(255,217,0,0.7) 14px, rgba(255,217,0,0) 14px);
	}

	/* 中見出し_下ボーダー */
	.titCts2nd{
		margin:0 0 15px 0;
		font-size:1.6rem;
	}

	.titCts2nd span{
		letter-spacing:0;
	}

	/* 小見出し_グレー帯 */
	.titCts3rd{
		font-size:1.4rem;
	}

	/*
		ボタン
	-----------------------------------------------------------------------------------------------*/


	/*
		table
	-----------------------------------------------------------------------------------------------*/
	.tblBase{
		border-top:1px solid rgba(0,0,0,0.8);
	}
	.tblBase tr,.tblBase th,.tblBase td{
		display:block;
		width:100%;
	}
	.tblBase th,.tblBase2col th{
		padding:10px 5px;
		font-size:1.2rem;
		text-align:left;
		border:none;
	}
	.tblBase td,.tblBase2col td{
		padding:10px 0 20px 0;
	}
	.tblBase th.cellSub,.tblBase th.cellSubLast{
		width:100%;
	}
	.tblBase th.cellSub,.tblBase th.cellSubLast{
		padding:5px 0;
	}
	.tblBase td.cellSub,.tblBase td.cellSubLast{
		padding:10px 0 20px 0;
	}
	.tblBase th.cellSubLast{
		border-bottom:1px dotted rgba(0,0,0,0.8);
	}
	.tblBase td.cellSub{
		border-bottom:none;
	}

	/* 2col用 */
	.tblBase.tblBase2col th{
		padding:10px 5px;
	}
	.tblBase.tblBase2col td{
		padding:10px 0 20px 0;
	}

	/* list */
	.tblList{
		table-layout:auto;
	}
	.tblList th{
		font-size:1.2rem;
	}
	.tblList th,.tblList td{
		padding:10px 5px;
	}


	/*
		フォーム
	-----------------------------------------------------------------------------------------------*/
	/* form部品 */
	.ittS{
		width:100px;
	}
	.ittM{
		width:70%;
	}
	.ittM.spL,.ittL{
		width:100%;
	}
	.txtAttentionInput.spBr{
		padding:5px 0 0 0;
	}

	/* 説明文 */
	.txtFormInfo{
		padding:0 0 20px 0;
	}

	/* ボタン */
	.btnArea{
		padding:20px 0 0 0;
	}
	.btnArea a{
		min-width:auto;
		width:46%;
		margin:0 1%;
		font-size:1.6rem;
	}

	/* TEL */
	.formTelArea{
		width:100%;
		padding:10px;
		margin:40px auto 0 auto;
	}
	.formTelArea .titTel{
		margin:0 0 10px 0;
		padding:5px;
		font-size:1.4rem;
	}
	.formTelArea .txt{
		min-width:116px;
		padding:5px 10px;
		margin:0 5px 10px 5px;
		font-size:1.2rem;
	}
	.formTelArea .tel{
		padding:0 0 0 22px;
		background-size:20px 22px;
	}
	.formTelArea .tel span{
		font-size:2.8rem;
	}

	/* TEL_お問い合わせ */
	.formTelArea.information{
		width:100%;
	}
	.formTelArea .smallTel{
		text-align:left;
		padding:10px 0 0 0;
		margin:0;
	}
	.formTelArea .smallTel .tel{
		padding:0 0 0 16px;
		margin:0;
		font-size:2.0rem;
		background-size:16px 14px;
	}
	.formTelArea .smallTel p.tel:nth-of-type(2){
		margin:0;
	}
	.formTelArea .smallTel .btnBlue{
		margin:0 0 10px 0;
		position:static;
		top:auto;
	}

	/* Thanks */
	.titThanks{
		padding:0 0 10px 0;
		font-size:5.0rem;
	}
	.txtThanks{
		font-size:1.4rem;
	}
	.txtThanks.inlineL{
		text-align:left;
	}
	.thanksBox{
		width:100%;
		padding:15px;
		margin:20px auto 0 auto;
	}


	/*
		扉ページ
	-----------------------------------------------------------------------------------------------*/
	#titIdx{
		min-height:50px;
		padding:30px 0 0 0;
		font-size:3.0rem;
	}
	#leadIdx{
		padding:15px 20px 0 20px;
		font-size:1.4rem;
	}

	/* リスト共通 */
	#kvIn .ctsArea {
		padding:30px 20px 30px 20px;
	}
	.listIdx{
		display:block;
	}
	.listIdx li,.listIdx li:nth-child(3n){
		width:250px;
		margin:0 auto 15px auto;
	}
	.listIdx li:last-of-type{
		margin:0 auto;
	}
	.listIdx li .tit{
		padding:12px 0 10px 0;
		font-size:1.6rem;
	}


	/*
		下層ページ
	-----------------------------------------------------------------------------------------------*/
	#titPage{
		min-height:auto;
		padding:20px 0 0 0;
		font-size:3.0rem;
	}
	#leadPage{
		padding:15px 20px 10px 20px;
		font-size:1.4rem;
		font-weight:bold;
	}

	/* コンテンツ */
	.item{
		margin:0px 0px 40px 0px;
	}

	/* 帯見出し */
	article > div[class^="sub"]{
		padding:0;
	}
	article > div[class^="sub"] .tit{
		margin:0px 0px 20px 0px;
		padding:0px 0px 0px 18px;
		font-size:2.6rem;
		min-height:30px;
	}
	.item .titSub{
		margin:0px 0px 12px 0px;
		padding:10px;
		font-size:1.6rem;
	}
	.item .titSub.ffEn{
		padding:10px;
	}

	/* 小見出し */
	.catchSub{
		padding:0 0 10px 0;
		font-size:1.6rem;
	}

	/* 本文_アキ */
	.ctsLead{
		margin:0 0 20px 0;
	}

	/*
		aside
	-----------------------------------------------------------------------------------------------*/
	#asideInquiryOut{
		padding:0 20px;
	}
	#asideInquiryIn{
		display:block;
		width:100%;
		padding:0;
		border-left:none;
		border-right:none;
	}
	.asideInquiryBox{
		width:100%;
		padding:20px;
	}
	.asideInquiryBox:last-of-type{
		border-left:none;
		border-top:2px solid #F5CB00;
	}
	.asideInquiryBox#download{
		background:url(../images/bg_download_sp.png) right 20px bottom 10px no-repeat;
		background-size:64px 46px;
	}
	.asideInquiryBox#contact{
		background:url(../images/bg_mail_sp.png) right 20px bottom 10px no-repeat;
		background-size:76px 62px;
	}
	.asideInquiryBox .tit{
		padding:0 0 10px 0;
		font-size:1.6rem;
	}
	.asideInquiryBox p{
		text-align:left;
	}

	/*
		footer
	-----------------------------------------------------------------------------------------------*/
	#footIn{
		width:100%;
		padding:20px 15px;
		margin:0 auto;
	}
	#footInL{
		float:none;
		border-right:none;
	}
	#footInR{
		padding:0;
		border-left:none;
		float:none;
	}
	.listSNS{
		padding:10px 0 0 0;
		text-align:center;
	}
	.listSNS li{
		padding:0 2px;
		display:inline-block;
		vertical-align:top;
	}
	.listFootMain{
		width:auto;
		margin:0 15px 10px 0;
	}
	.listFootMain:last-of-type{
		margin:0 0 10px 0;
	}
	.listFootMain > li:first-child{
		padding:0 0 8px 0;
		margin:0 0 10px 0;
	}
	.listFootMain > li:first-child::after{
		height:3px;
	}
	.listFootIn{
		display:none;
	}
	.listFootIn.listFootSub{
		display:block;
		float:none;
	}
	.listFootSub{
		float:none;
	}
	.listFootSub::after {
		content:' ';
		display:block;
		height:0;
		font-size:0;
		clear: both;
		visibility:hidden;
	}
	.listFootSub li{
		padding:0 10px 10px 0;
		float:left;
	}
	#footB{
		padding:0 0 70px 0;
	}
	#footLogo img{
		width:120px;
	}
	.copyright{
		text-align:center;
	}

	/*
		404 500
	-----------------------------------------------------------------------------------------------*/

}

