@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=Oswald:wght@400;700&display=swap');
/*
font-family: 'Noto Sans JP', sans-serif;
font-family: 'Oswald', sans-serif;
*/

/* ===================================================================

 file name  :  common.css

=================================================================== */
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%;}body{margin:0;}body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,button,textarea,select,p,blockquote,th,td{margin:0;padding:0;}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block;}audio,canvas,progress,video{display:inline-block;vertical-align:baseline;}audio:not([controls]){display:none;height:0;}[hidden],template{display:none;}a{background-color:transparent;}a:active,a:hover{outline:0;}h1,h2,h3,h4,h5{font-weight:normal;font-size:100%;}abbr[title]{border-bottom:1px dotted;}b,strong{font-weight:bold;}dfn{font-style:italic;}mark{background:#ff0;color:#000;}small{font-size:80%;}sub,sup{position:relative;vertical-align:baseline;font-size:75%;line-height:0;}sup{top:-0.5em;}sub{bottom:-0.25em;}img{border:0;vertical-align:bottom;}svg:not(:root){overflow:hidden;}figure{margin:0;}hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}pre{overflow:auto;}code,kbd,pre,samp{font-size:1em;font-family:monospace,monospace;}button,input,optgroup,select,textarea{margin:0;color:inherit;font:inherit;}button{overflow:visible;}button,select{text-transform:none;}button,html input[type="button"],input[type="reset"],input[type="submit"]{cursor:pointer;-webkit-appearance:button;}button[disabled],html input[disabled]{cursor:default;}button::-moz-focus-inner,input::-moz-focus-inner{padding:0;border:0;}input{line-height:normal;}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0;}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}input[type="search"]{-webkit-box-sizing:content-box;-moz-box-sizing:content-box;box-sizing:content-box;-webkit-appearance:textfield;}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}fieldset{margin:0 2px;padding:.35em .625em .75em;border:1px solid silver;}legend{padding:0;border:0;}textarea{overflow:auto;}optgroup{font-weight:bold;}table{border-spacing:0;border-collapse:collapse;}td,th{padding:0;}ul{padding:0;}ul li{list-style:none;}

/* --------------------------------------------------
 common
--------------------------------------------------- */
body{
    min-width: 1180px;
    width: 100%;
	background: #f7f3ee;
	color: #241309;
    font-size: 14px;
    font-family: "Helvetica Neue", Helvetica, Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    line-height: 1.8;

	-webkit-text-size-adjust: 100%;
}
a{ color:#241309; text-decoration: none;}
a:hover,a:active{ color:#fe6f28;}

.ctr:before,
.ctr:after{ display: block; overflow: hidden; content: "";}
.ctr:after{ clear: both;}
.ctr{ zoom: 1;}
.ctr-left{ float: left;}
.ctr-right{ float: right;}

.clearfix:before,
.clearfix:after{ display: block; overflow: hidden; content: "";}
.clearfix:after{ clear: both;}
.clearfix{ zoom: 1;}

/* --------------------------------------------------
 header
--------------------------------------------------- */
.header:before,
.header:after{ display: block; overflow: hidden; content: "";}
.header:after{ clear: both;}
.header{ padding: 25px 0; color: #3f2110; zoom: 1;}
.header a{ color: #3f2110;}
.header a:hover,
.header a:active{ color: #fe6f28;}
.header-inner{ margin: 0 auto; width: 1180px;}
.header h1{ float: left; width: 106px;}
.header nav:before,
.header nav:after{ display: block; overflow: hidden; content: "";}
.header nav:after{ clear: both;}
.header nav{ float: right; padding: 27px 0 0; width: 1059px; background: url("../img/bg_header.png") repeat-x 0 45px; zoom: 1;}
.header nav .address{ float: left; width: 250px; line-height: 1;}
.header nav .address .name{ font-weight: bold;}
.header nav .address .contact{ margin: 15px 0 0;}
.header nav .address .contact ul{ overflow: hidden;}
.header nav .address .contact li{ float: left; margin: 0 10px 0 0;}
.header nav .address .access{ margin: 5px 0 0;}
.header nav .gnav:before,
.header nav .gnav:after{ display: block; overflow: hidden; content: "";}
.header nav .gnav:after{ clear: both;}
.header nav .gnav{ zoom: 1;}
.header nav .gnav{ float: right; width: 809px; line-height: 1;}
.header nav .list-gnav{ float: right; overflow: hidden;}
.header nav .list-gnav li{ position: relative; float: left; margin: 0 0 0 50px; letter-spacing: 1px; font-weight: 700; font-size: 16px;}
.header nav .list-gnav li:before{ position: absolute; top: 12px; left: -22px; width: 12px; height: 12px; border: 1px solid #432c16; border-radius: 12px; background: #fff; content: "";}
.header nav .list-gnav li.current:before{ background: #432c16;}
.header nav .list-gnav li ul li:before{ border: none; background: none;}
.header nav .list-gnav li ul li{ position: relative; box-sizing: border-box; padding: 0 0 0 10px; letter-spacing: 0; font-weight: normal; font-size: 14px;}
.header nav .list-gnav li ul li:after{
	position: absolute;
	top: .5em;
	left: 0;
	display: block;
	width: 4px;
	height: 4px;
	border-right: 1px solid #3f2110;
	border-bottom: 1px solid #3f2110;
	content: '';
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.header nav .list-gnav .list-gnav-service{ width: 340px;}
.header nav .list-gnav .list-gnav-service ul:before,
.header nav .list-gnav .list-gnav-service ul:after{ display: block; overflow: hidden; content: "";}
.header nav .list-gnav .list-gnav-service ul:after{ clear: both;}
.header nav .list-gnav .list-gnav-service ul{ margin: 15px 0 0; zoom: 1;}
.header nav .list-gnav .list-gnav-service ul li{ float: left; margin: 0; width: 110px; font-size: 12px; line-height: 1.5;}
.header nav .list-gnav .list-gnav-service ul li.current:before{ background: none;}
.header nav .list-gnav .list-gnav-contact ul{ margin: 15px 0 0; zoom: 1;}
.header nav .list-gnav .list-gnav-contact ul li{ float: none; margin: 0; font-size: 12px; line-height: 1.5;}

.header #menu{ display: none;}
#overlay{ display: none;}

/* --------------------------------------------------
 top
--------------------------------------------------- */
.top{ padding: 0 0 50px;}
.top-inner{ margin: -8px auto 0; width: 1180px;}
.top h1 img{ width: 100%;}

.top .list-service{ overflow: hidden; width: 1188px;}
.top .list-service li{ float: left; margin: 8px 8px 0 0; width: 289px; height: 289px;}
.top .list-service .sp{ display: none;}
.top .list-service .list-music{ background: #F4C95D url(../img/bg_music.gif);}
.top .list-service .list-movie{ background: #BDAA84 url(../img/bg_movie.gif);}
.top .list-service .list-event{ background: #C89FA3 url(../img/bg_event.gif);}
.top .list-service .list-web{ background: #87B6A7 url(../img/bg_web.gif);}
.top .list-service .list-support{ background: #7EB77F url(../img/bg_support.gif);}
.top .list-service .list-svn{ background: #FB9F89 url(../img/bg_svn.gif);}
.top .list-service .list-ebook{ background: #AFBC88 url(../img/bg_ebook.gif);}
.top .list-service .list-iibungaku{ background: #D7BE82 url(../img/bg_iibungaku.gif);}
.top .list-service .list-character{ background: #a4d2df url(../img/bg_character.gif);}
.top .list-service li .box{ position: relative; width: 100%;}
.top .list-service li .box:after{display: block; padding-top: 100%; content: "";}
.top .list-service li .box a{ position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 75px 0 0; color: #241309; text-align: center;}
.top .list-service .list-web .box a{ padding: 55px 0 0;}
.top .list-service .list-svn .box a{ padding: 55px 0 0;}
.top .list-service li img{ width: 100%;}
.top .list-service li h2{ letter-spacing: 2px; font-weight: bold; line-height: 1;}
.top .list-service li .ttl{ margin: 10px 0 0; letter-spacing: 2px; font-weight: 700; font-size: 36px; font-family: 'Oswald', sans-serif; line-height: 1.2;}
.top .list-service .list-iibungaku .ttl{ font-size: 32px;}
.top .list-service .list-character .ttl{ font-size: 32px;}
.top .list-service li .more{ display: inline-block; margin: 30px 0 0; padding: 10px 15px; outline: none; border: 3px double #40301e; font-weight: bold; font-style: italic; font-family: serif; line-height: 1;}

.top .news{ overflow: hidden; margin: 8px 0 0; width: 1188px;}
.top .news li{ position: relative; float: left; margin: 0 8px 0 0; width: 586px; height: 289px; background: #fff;}
.top .news li .box-ttl{ position: absolute; top: 0; left: 0; width: 586px; height: 289px; color: #fff; text-align: center;}
.top .news li .box-ttl h2{ padding: 100px 0 0; letter-spacing: 2px; line-height: 1;}
.top .news li .box-ttl .ttl{ margin: 15px 0 0; letter-spacing: 2px; font-weight: bold; font-size: 42px; font-family: 'Oswald', sans-serif; line-height: 1;}
.top .news li img{ width: 100%;}
.top .news li .entry{ padding: 10px 25px 25px;}
.top .news li .entry article{ padding: 15px 0; border-bottom: 1px solid #eee;}
.top .news li .entry article .date{ margin: 0 0 5px; line-height: 1;}
.top .news li .entry article h1{ line-height: 1.5;}
.top .news li .entry .more{ margin: 15px 0 0; text-align: right; font-style: italic; font-family: serif; line-height: 1;}

/* --------------------------------------------------
 service
--------------------------------------------------- */
.service header{ display: table; width: 100%; height: 175px; background: url("../../img/bg_movie.gif") top center;}
.service header .ttl{ display: table-cell; width: 100%; height: 175px; vertical-align: middle; text-align: center;}
.service header h1{ margin: 0 auto; width: 1180px; letter-spacing: 2px; font-weight: bold; font-size: 34px; line-height: 1;}
.service header h2{ margin: 20px 0 0; font-size: 16px; line-height: 1;}
.service .ctr{ overflow: hidden; margin: 0 auto; padding: 75px 0; width: 1000px;}
.service section{ overflow: hidden; margin: 50px 0 0;}
.service .lead{ font-size: 17px;}
.service section h2{ margin: 0 0 25px; font-weight: bold; font-size: 21px;}

.service .list-feature{ overflow: hidden;}
.service .list-feature li{ display: inline-block; margin: 50px 50px 0 0; width: 475px; vertical-align: top;}
.service .list-feature li:first-child{ margin: 0 50px 0 0;}
.service .list-feature li:nth-child(even){ margin: 50px 0 0;}
.service .list-feature li:nth-child(2){ margin: 0;}

.service .list-feature h2{ position: relative; margin: 0 0 10px; font-size: 20px;}
.service .list-feature p{ margin: 0 0 25px;}
.service .list-feature .exp{ padding: 25px; border-radius: 3px; background: #fff;}
.service .list-feature .exp h3{ display: inline-block; float: left; clear: left; width: 75px;}
.service .list-feature .exp p{ margin: 0 0 0 75px; padding: 0 0 0 20px; border-left: 1px dotted #dbd7d3; text-align: left;}
.service .list-feature .fix{ min-height: 72px;}
.service .list-feature .point{ padding: 25px; border-radius: 3px; background: #fff;}
.service .list-feature .point p{ position: relative; margin: 0; padding: 0 0 0 24px; text-align: left;}
.service .list-feature .point p:before{ position: absolute; top: 4px; left: 0; width: 12px; height: 12px; border: 1px solid #dbd7d3; background: #fff; content: "";}
.service .list-feature .point p:after{
    position: absolute;
    top: 4px;
    left: 4px;
    display: block;
    width: 10px;
    height: 3px;
    border-bottom: 2px solid #fe6f28;
    border-left: 2px solid #fe6f28;
    content: '';
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
}
.service .flow .detail .line{ display: table; padding: 25px 0; border: 1px solid #dbd7d3; border-top: none;}
.service .flow .detail .first{ border-top: 1px solid #dbd7d3;}
.service .flow .detail .line h3{ display: table-cell; padding: 0 0 0 25px; width: 350px; height: 50px; background: #ede9e4; vertical-align: middle; font-weight: bold; font-size: 16px;}
.service .flow .detail .line h3 span{ display: inline-block; margin: 0 25px 0 0;}
.service .flow .detail .line p{ display: table-cell; padding: 0 25px; width: 575px; height: 50px; vertical-align: middle;}
.service dl dt{ margin: 25px 0 0; font-weight: bold;}
.service dl dt:first-child{ margin: 0;}
.service dl dd{ margin: 5px 0 0;}
.price table{ margin: 25px 0 0; width: 100%; border: 1px solid #dbd7d3;}
.price table th{ padding: 10px 0; width: 33%; border: 1px solid #dbd7d3; background: #ede9e4;}
.price .row4 th{ width: 25%;}
.price table th br{ display: none;}
.price table td{ padding: 10px; border: 1px solid #dbd7d3; text-align: center;}
.price h3{ margin: 50px 0 0; font-weight: bold;}
.service .contact{ margin: 75px 0 0; padding: 50px 0; border-top: 3px double #dbd7d3; border-bottom: 3px double #dbd7d3; text-align: center; line-height: 1;}
.service .contact i{ display: inline-block; padding: 0 10px 0 0;}
.service .portfolio{ padding: 75px 0; background: #fff;}
.service .portfolio section{ position: relative; margin: 0 auto; width: 1180px;}
.service .portfolio .more{ position: absolute; top: 8px; left: 120px; line-height: 1;}
.service .portfolio h2{ margin: 0; font-weight: bold; font-size: 20px; line-height: 1;}
.service .portfolio ul{ overflow: hidden; margin: 35px 0 0; width: 1212px;}
.service .portfolio ul li{ float: left; margin: 0 32px 0 0; width: 271px;}
.service .portfolio ul li img{ width: 100%;}
.service .portfolio ul li h3{ margin: 25px 0 0; line-height: 1;}
.service .portfolio ul li h4{ margin: 10px 0 0; font-weight: bold;}
.service .portfolio ul li p{ margin: 15px 0 0;}
.service .innovate{ padding: 75px 0; background: #fefefe;}
.service .innovate section{ position: relative; margin: 0 auto; width: 1180px;}
.service .innovate .more{ position: absolute; top: 14px; left: 120px; line-height: 1;}
.service .innovate .entry{ overflow: hidden; padding: 25px 0; border-bottom: 1px dotted #dbd7d3;}
.service .innovate .first{ border-top: 1px dotted #dbd7d3;}
.service .innovate .entry-ttl{ float: left; width: 220px;}
.service .innovate .entry-ttl h3{ font-weight: bold; line-height: 1;}
.service .innovate .entry-detail{ float: right; width: 880px;}
.service .innovate .entry-detail h4{ margin: 0 0 10px; font-weight: bold; line-height: 1;}
.service .innovate .entry-detail ul{ padding: 6px 0 0; text-align: left;}
.service .innovate .entry-detail li{ display: inline-block; margin: 4px 4px 0 0; padding: 8px 20px; background: #7ec9c3; color: #fff; line-height: 1;}
.service p a{ font-weight: bold;}

/* --------------------------------------------------
 footer
--------------------------------------------------- */
.footer{ position: relative; padding: 25px 0; background: #ede9e4;}
.footer-inner{ position: relative; margin: 0 auto; width: 1180px; line-height: 1;}
.footer nav{ position: absolute; top: 0; right: 0;}
.footer nav li{ display: inline-block; margin: 0 0 0 15px; padding: 0 0 0 15px; border-left: 1px solid;}
.footer nav li:first-child{margin: 0;  padding: 0; border: none;}
.footer address{ font-style: normal;}
.footer address h2{ font-weight: bold;}
.footer address p{ margin: 10px 0 0;}
.footer address p br{ display: none;}
.footer .box-p:after{ display: block; clear: both; content: "";}
.footer .box-p{ position: absolute; top: 0; right: 0; padding: 15px; width: 300px; background: #fff; border-radius: 3px;}
.footer .box-p h3{ float: left; clear: left; font-weight: bold; line-height: 1.5;}
.footer .box-p h3 span{ display: block; font-weight: normal;}
.footer .box-p figure{ float: right;}
.footer .box-p figure img{ vertical-align: middle;}

/* --------------------------------------------------
 spnav
--------------------------------------------------- */
.spnav{ display: none;}