@charset "utf-8";

/* reset css */
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, canvas, details, figcaption, figure,  footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0; padding:0; border:0; outline:0; font-size:100%; vertical-align:baseline; background:transparent; box-sizing:border-box;}
body {line-height:1;}
span, p, img, strong, dl, dt, dd, ol, ul, li, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block;}
nav ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after,q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; font-size:100%; vertical-align:baseline; background:transparent; box-sizing:border-box;}
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; 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;}
a {box-sizing:border-box;}
/* /reset css */



/* common */

body {font-size:14px;line-height:160%; background-color:#FFF; color:#333; -webkit-text-size-adjust: 100%;}
body {
    font-family: "メイリオ","Hiragino Kaku Gothic Pro",Meiryo,"ヒラギノ角ゴ Pro W3","MS PGothic","MS UI Gothic",Helvetica,Arial,sans-serif;
}

.font_mincho {font-family: 游明朝, "Yu Mincho",YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HGS明朝E, HG明朝E, "MS P明朝", "MS 明朝", Georgia, "Times New Roman", Times, メイリオ, Meiryo, serif;}

a {transition: all 0.2s 0s ease;}

.pc_only {display:block;}
.sp_only {display:none;}
.pcin_only {display:inline;}
.spin_only {display:none;}

.clearfix {width:100%; clear:both;}

.cont {display:block; width:100%; margin:0px;}

.cw970 {display:block; margin:0px auto; width:970px;}
.cw864 {display:block; margin:0px auto; width:864px;}
.cw748 {display:block; margin:0px auto; width:748px;}
/* /common */



/* content */
#page_title {padding:18% 0px 50px 0px; }
#page_title h2 {font-size:24px; line-height:140%; letter-spacing:0.25em; font-weight:normal; text-align:center; }

#page-top {position: fixed; bottom: 40px; right: 40px; z-index:9000;}
#page-top a {padding: 0px; display: block; background-position:center center; background-repeat:no-repeat; background-size:cover; display:block; width:40px; height:40px; opacity:0.7;}
#page-top a:hover {text-decoration: none; opacity:0.5;}
/* /content */



/* header */
div#header {background-color:#FFF; position:fixed; top:0px; left:0px; border-bottom:1px #DDD solid; z-index:9980; }
div#header.top_title_border {border-bottom:none; }
div#header:after {content:""; display:block; width:100%; height:0; clear:both;}
div#header a.title_logo {display:block; width:210px; margin:0px auto; padding:20px 60px; float:left; }
div#header a.title_logo:hover {opacity:0.65;}
div#header a.top_title_logo {opacity:0; cursor:default; }
div#header a.top_title_logo:hover {opacity:0;}
div#header a.title_logo img {width:100%;}
div#header ul {float:right; padding:0px 20px 0px 0px; }
div#header ul li {display:inline-block;}
div#header ul li a {display:block; padding:26px 24px 26px 24px; font-family: 'Open Sans', sans-serif; color:#333; font-size:14px; line-height:100%; letter-spacing:0.25em; font-weight:bold; text-decoration:none;}
div#header ul li a span {position:relative;}
div#header ul li a:hover {}
div#header ul li a span:after {content:""; display:block; width:0%; height:1px; margin:auto; position:absolute; bottom:-14px; left:0; right:0; background-color:#333; transition: all 0.25s 0s ease-in-out;}
div#header ul li a#current span:after {width:100%;}
div#header ul li a:hover span:after {width:100%;}

div#sp_menu {display:none;}
#spnavibtn {display:none; width:35px; height:20px; position:fixed; top:25px; right:20px; cursor:pointer; z-index:9998; }
#spnavibtn:hover {opacity:0.8; }
#spnavibtn span, #spnavibtn:after, #spnavibtn:before {width:35px; height:2px; position:absolute; left:0; background-color:#888; transition:all .3s ease; }
#spnavibtn span{top:9px; opacity:1.0; }
#spnavibtn.active span {opacity:0.0; }
#spnavibtn.active:before{transform:rotate(135deg); top:9px}
#spnavibtn.active:after{transform:rotate(-135deg); top:9px}
#spnavibtn:after, #spnavibtn:before{content:""}
#spnavibtn:before{top:0}
#spnavibtn:after{bottom:0}

ul#sp_navi {display:none; width:100%; margin:0px; padding:0px; background-color:rgba(255,255,255,1.0);position:fixed; top:0px; right:0px; border-top:1px #BBBBBB solid; z-index:9900;}
ul#sp_navi li {display:table; width:100%; margin:0px; padding:0px; border-bottom:1px #BBBBBB solid;}
ul#sp_navi li a {display:table-cell; width:100%; margin:0px; padding:0px 20px; color:#222222; font-size:18px; text-decoration:none; vertical-align:middle;}
ul#sp_navi li a:hover {background-color:rgba(51,124,187,0.2);}
ul#sp_navi li a img {display:inline-block; width:20px; height:20px; margin:0px 4px 0px 0px; padding:0px; background-color:#000;
	border-radius:10px;
	-webkit-border-radius:10px;
	-moz-border-radius:10px;}
ul#sp_navi li a span {display:inline-block; padding:2px 0px 2px 0px; vertical-align:4px;}
/* /header */



/* footer */
div#footer_cap {border-top:1px #DDD solid; padding:56px 0px 56px 0px; }
div#footer_cap h5 {}
div#footer_cap h5 strong {display:block; padding:0px 0px 15px 0px; font-size:12px; line-height:180%; letter-spacing:0.15em; font-weight:normal; text-align:left; }
div#footer_cap h5 span {display:block; font-size:12px; line-height:180%; letter-spacing:0.15em; font-weight:normal; text-align:left; }

div#footer {padding:0px 0px 0px 0px; background-color:#222; position:relative; }
div#footer dl {display:table; width:100%; }
div#footer dl dt {display:table-cell; vertical-align:middle; width:33.3%; padding:0px 40px 0px 40px; }
div#footer dl dt h5 {color:#FFF; font-size:14px; line-height:140%; letter-spacing:0.05em; font-weight:normal; text-align:left; }
div#footer dl dd {display:table-cell; vertical-align:middle; width:33.3%; }
div#footer dl dd ul {display:table; width:100%; }
div#footer dl dd ul li {display:table-cell; vertical-align:middle; width:33.3%; }
div#footer dl dd ul li a {display:block; width:100%; padding:26px 0px 26px 0px; }
div#footer dl dd ul li a.footer_fb {background-color:#3B5998; }
div#footer dl dd ul li a.footer_insta {background-color:#965A66; }
div#footer dl dd ul li a.footer_mail {background-color:#C4C5BE; }
div#footer dl dd ul li a:hover {opacity:0.75; }
div#footer dl dd ul li img {width:30px; margin:0px auto; }
/* /footer */



/* top */
div#top_title {padding:510px 0px 0px 0px; background-color:#FFF; }
div#top_title dl {display:table; width:100%; }
div#top_title dl dd {display:table-cell; vertical-align:bottom; padding:0px 0px 60px 60px; }
div#top_title dl dd h1 {width:292px; }
div#top_title dl dd h1 img {width:100%; }
div#top_title dl dt {display:table-cell; vertical-align:bottom; padding:0px 60px 60px 0px; }
div#top_title dl dt h3 {display:table; margin:0px 0px 0px auto; }
div#top_title dl dt h3 a {display:table-row; color:#333; text-decoration:none; }
div#top_title dl dt h3 a:hover strong {text-decoration:underline; }
div#top_title dl dt h3 a span {display:table-cell; vertical-align:top; padding:8px 30px 0px 0px; font-size:14px; line-height:140%; letter-spacing:1px; font-weight:normal; text-align:left; }
div#top_title dl dt h3 a strong {display:table-cell; vertical-align:top; padding:8px 0px 0px 0px; font-size:14px; line-height:140%; letter-spacing:1px; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }

div#top_title .bnr img {padding: 0 0 40px 60px; }
div#top_title .bnr a {transition: .3s; }
div#top_title .bnr a:hover {opacity: .7; }

div#top_blank {padding:680px 0px 0px 0px; }

div#top_contents {padding:8vw 0px 110px 0px; background-color:#FFF; }
div#top_contents h2 {padding:24px 0px 24px 0px; font-family: 'Open Sans', sans-serif; font-size:21px; line-height:140%; letter-spacing:0.25em; font-weight:normal; text-align:center; }
div#top_contents ul {display:table; width:100%; }
div#top_contents ul li {display:table-cell; vertical-align:middle; width:33.3%; background-position:center center; background-repeat:no-repeat; background-size:cover; border-left:1px #FFF solid; }
div#top_contents ul li:first-child {border-left:none; }
div#top_contents ul li a {display:block; color:#FFF; text-decoration:none; }
div#top_contents ul li a h3 {display:table; width:100%; background-color:rgba(0,0,0,0.6); transition:all .3s ease; opacity:0; }
div#top_contents ul li a h3 span {display:table-cell; vertical-align:middle; padding:8.5vw 0px 8.5vw 0px; font-size:18px; line-height:140%; letter-spacing:0.25em; font-weight:normal; text-align:center; }
div#top_contents ul li a:hover h3 {opacity:1.0; }
/* /top */



/* about */
div#about_cap {padding:0px 0px 60px 0px; }
div#about_cap img {width:200px; margin-bottom:10%; }
div#about_cap h1 {margin-bottom:2%; font-size:24px; line-height:150%; letter-spacing:3px; font-weight:normal; text-align:left; }
div#about_cap h3 {}
div#about_cap h3 strong {padding:0px 0px 10px 0px; font-size:14px; line-height:180%; letter-spacing:0.05em; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }
div#about_cap h3 span {padding:0px 0px 60px 0px; font-size:14px; line-height:180%; letter-spacing:0.05em; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }
div#about_cap table {width:100%; border-top:1px #DDD solid; }
div#about_cap table tr {border-bottom:1px #DDD solid; }
div#about_cap table th {vertical-align:top; width:20%; padding:10px 5px; font-size:14px; line-height:150%; letter-spacing:1px; font-weight:normal; text-align:left; }
div#about_cap table td {vertical-align:top; padding:10px 5px; font-size:14px; line-height:150%; letter-spacing:1px; font-weight:normal; text-align:left; }
div#about_cap iframe {width:100%; height:480px; margin-top:40px; }
/* /about */



/* works */
div#works_cap {padding:0px 0px 80px 0px; }

ul#works_list {display:block; width:100%; }
ul#works_list:after {content:""; display:block; width:100%; clear:both; }
ul#works_list li {display:block; float:left; width:25%; padding:10px 10px 30px 10px; }
ul#works_list li:nth-child(4n+1) {clear:both; }
ul#works_list li a {text-decoration:none; }
ul#works_list li a:hover {opacity:0.75;}
ul#works_list li p {width:100%; padding:66.7% 0px 0px 0px; background-position:center center; background-repeat:no-repeat; background-size:cover;}
ul#works_list li h5 {width:100%; height:30px; padding:8px 0px 0px 0px; color:#333; font-size:14px; line-height:140%; letter-spacing:0px; font-weight:normal; text-align:center; }

div#works_pager {padding:40px 0px 0px 0px; text-align:center; }
div#works_pager a {display:inline-block; margin:0px 2px 0px 2px; padding:6px 10px 6px 10px; color:#333; font-size:15px; line-height:120%; font-weight:normal; text-align:center; border:1px #CCC solid; text-decoration:none; }
div#works_pager a:hover {background-color:#BBB; }
div#works_pager a#currentpage {color:#333; background-color:#BBB; }
div#works_pager a#currentpage:hover {background-color:#BBB; }

div#works_details {padding:0px 0px 80px 0px; }
div#works_details h3 {padding:0px 0px 40px 0px; font-size:24px; line-height:140%; letter-spacing:0.15em; font-weight:normal; text-align:center; }
div#works_details section {width:100%; padding:66.7% 0px 0px 0px; background-position:center center; background-repeat:no-repeat; background-size:contain;}
div#works_details h4 {padding:40px 0px 40px 0px; font-size:16px; line-height:160%; letter-spacing:0.05em; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }
div#works_details img {width:100%; }
div#works_details a.backworks {display:block; width:200px; margin:0px auto; padding:10px; color:#FFF; font-size:16px; line-height:140%; letter-spacing:0.25em; font-weight:normal; text-align:center; background-color:#666; text-decoration:none; }
div#works_details a.backworks:hover {opacity:0.75; }
/* /works */



/* movie */
div#movie_cap {padding:0px 0px 80px 0px; }
ul#movie_list {display:block; width:100%; }
ul#movie_list:after {content:""; display:block; width:100%; clear:both; }
ul#movie_list li {display:block; float:left; width:33.3%; padding:10px 10px 30px 10px; }
ul#movie_list li:nth-child(3n+1) {clear:both; }
.youtube {width:100%; padding-top:56.25%; position:relative; }
.youtube iframe {width:100% !important; height:100% !important; position:absolute; top:0; right:0; }
ul#movie_list li h4 strong {padding:8px 0px 0px 0px; font-size:14px; line-height:150%; letter-spacing:1px; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }
ul#movie_list li h4 span {color:#666; font-size:14px; line-height:150%; letter-spacing:1px; font-weight:normal; text-align:left; }
/* movie */



/* contact */
div#contact_cap {padding:0px 0px 80px 0px; }
div#contact_cap h2 {margin-bottom:2%; font-size:24px; line-height:150%; letter-spacing:3px; font-weight:normal; text-align:center; }
div#contact_cap h3 {font-size:18px; line-height:150%; letter-spacing:0.15em; font-weight:normal; text-align:center; }
div#contact_cap h3 span {display:inline-block; padding:0px 10px 0px 0px; }
div#contact_cap h3 strong {display:inline-block; font-size:24px; line-height:150%; }
div#contact_cap h4 {margin:40px auto 2% auto; font-size:24px; line-height:150%; letter-spacing:3px; font-weight:normal; text-align:center; }
div#contact_cap h5 {margin-bottom:2%; font-size:16px; line-height:150%; letter-spacing:0.15em; font-weight:normal; text-align:center; }
div#contact_cap span.kome {display:inline-block; font-style:italic; }
div#contact_cap table {width:100%; }
div#contact_cap table th {vertical-align:top; width:30%; padding:30px 10px 10px 0px; font-size:16px; line-height:140%; letter-spacing:0.05em; font-weight:normal; text-align:right; }
div#contact_cap table td {vertical-align:top; padding:30px 0px 10px 0px; font-size:14px; line-height:140%; letter-spacing:0.05em; font-weight:normal; text-align:left; border-bottom:1px solid #B1B0B4; }
div#contact_cap table tr:last-child td {border-bottom:none; }
div#contact_cap input[type="text"] {width:100%; border:0px #FFF solid; font-size:16px; }
div#contact_cap textarea {width:100%; height:240px; font-size:16px; border:1px solid #B1B0B4; }
div#contact_cap a.form_btn {display:table; width:240px; height:46px; margin:40px auto 0px auto; padding:10px 20px; color:#333; font-size:14px; line-height:140%; letter-spacing:0px; font-weight:normal; text-align:left; border:1px #B1B0B4 solid; text-decoration:none; }
div#contact_cap a.form_btn span {display:table-cell; vertical-align:middle; position:relative; }
div#contact_cap a.form_btn span:after {content:""; display:block; width:7px; height:7px; border-top:1px #333 solid; border-right:1px #333 solid; transform:rotate(45deg);  position:absolute; right:7px; top:5px; transition: all 0.2s 0s ease; }
div#contact_cap a.form_btn:hover {color:#FFF; background-color:#333; }
div#contact_cap a.form_btn:hover span:after {border-top:1px #FFF solid; border-right:1px #FFF solid; }
/* /contact */



/* blog */
div#news_cap {padding:0px 0px 80px 0px; }
div#news_cap .news_list {display:table; margin:0px auto; }
div#news_cap .news_list dl {display:table-row; }
div#news_cap .news_list dl dt {display:table-cell; vertical-align:top; padding:10px 0px 10px 0px; }
div#news_cap .news_list dl dt span {padding:0px 30px 0px 0px; font-size:14px; line-height:180%; letter-spacing:1px; font-weight:normal; text-align:left; border-right:1px #BBB solid; }
div#news_cap .news_list dl dd {display:table-cell; vertical-align:top; padding:10px 0px 10px 30px; }
div#news_cap .news_list dl dd h5.news_title {font-size:14px; line-height:180%; letter-spacing:1px; font-weight:normal; text-align:left; }
div#news_cap .news_list dl dd a {color:#333; text-decoration:none; }
div#news_cap .news_list dl dd a:hover {text-decoration:underline; }

div#news_cap .news_single {}
div#news_cap .news_single dl {display:table; margin:0px auto; }
div#news_cap .news_single dl dt {display:table-cell; vertical-align:top; padding:10px 0px 10px 0px; }
div#news_cap .news_single dl dt span {padding:0px 30px 0px 0px; font-size:14px; line-height:180%; letter-spacing:1px; font-weight:normal; text-align:left; border-right:1px #BBB solid; }
div#news_cap .news_single dl dd {display:table-cell; vertical-align:top; padding:10px 0px 10px 30px; }
div#news_cap .news_single dl dd h5.news_title {font-size:25px; line-height:180%; letter-spacing:1px; font-weight:normal; text-align:left; }
div#news_cap .news_single dl dd p {font-size:14px; line-height:160%; letter-spacing:1px; font-weight:normal; text-align:justify; text-justify:inter-ideograph; }
div#news_cap ul.news_navi_single {display:table; width:100%; margin:40px auto 40px auto; }
div#news_cap ul.news_navi_single li {display:table-cell; vertical-align:top; width:50%; }
div#news_cap ul.news_navi_single li:first-child {text-align:left; }
div#news_cap ul.news_navi_single li:last-child {text-align:right; }
div#news_cap ul.news_navi_single li a {color:#333; font-size:14px; line-height:140%; letter-spacing:0px; font-weight:normal; text-decoration:none; }
div#news_cap ul.news_navi_single li a:hover {text-decoration:underline; }
div#news_cap a.blogback {display:table; width:240px; height:46px; margin:40px auto 0px auto; padding:10px 20px; color:#333; font-size:14px; line-height:140%; letter-spacing:0px; font-weight:normal; text-align:center; border:1px #B1B0B4 solid; text-decoration:none; }
div#news_cap a.blogback span {display:table-cell; vertical-align:middle; position:relative; }
div#news_cap a.blogback:hover {color:#FFF; background-color:#333; }

div#news_cap .pagination .nav-links {display:block; margin-top:40px; margin-left:0px; text-align:center; }
div#news_cap .pagination .nav-links span {display:inline-block; }
div#news_cap .pagination .nav-links span.nav-prev-text {display:none; }
div#news_cap .pagination .nav-links span.nav-next-text {display:none; }
div#news_cap .pagination .nav-links a {color:#333; text-decoration:none; }
div#news_cap .pagination .nav-links a:hover {text-decoration:underline; }
div#news_cap .news_single nav {display:none; }
/* /blog */