@charset "UTF-8";
/********************************************************* reset*/
html, body, p, li, dl, dt, dd, blockquote, td, form {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
  font-size: 100%;
}

ul, ol {
  list-style: none outside none;
  margin: 0;
  padding: 0;
}

address, em, code, cite, dfn, var, optgroup {
  font-style: normal;
}

caption, th {
  font-style: normal;
  font-weight: normal;
  margin: 0;
  padding: 0;
  text-align: left;
}

img {
  border: none;
  vertical-align: bottom;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%;
  line-height: inherit;
}

input, select, textarea {
  font-size: inherit;
  font-family: inherit;
  line-height: inherit;
}

fieldset {
  border: none;
  margin: 0;
  padding: 0;
}

main, article, aside, dialog, figure, footer, header, hgroup, nav, section {
  display: block;
  margin: 0;
  padding: 0;
}

map area {
  outline: none;
}

button{
        background-color: transparent;
        border: none;
        cursor: pointer;
        outline: none;
        padding: 0;
        appearance: none;
}

/*　フロート解除　*/
.clear {
	clear: both;
}
.clearfix {
	overflow: hidden;
	height: 100%;
}

.clearfix::after{
  content: ".";
  display: block;
  height: 0;
  font-size:0;
  clear: both;
  visibility:hidden;
}

/********************************************************* layout*/
.mb30{
	margin-bottom: 30px !important;
}

.dispPc{
	display: block;
}

.dispSp{
	display: none;
}


/********************************************************* base*/
* {
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  transition: all 0.3s;
}

body{
	-webkit-text-size-adjust: 100%;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
	color: #333;
	font-size: 10px;
	line-height: 1.5;
	font-weight: 500;
	background-color: #fff;
	background: url("../img/top_img.jpg")no-repeat center center;
	background-size: cover;
	background-attachment: fixed;
}

header{
	width: 100%;
}

.inner{
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}

.siteLogo{
	display: inline-block;
	float: left;
}

.siteLogo h1{
	display: block;
	width: 92px;
	height: 67px;
	text-indent: -9999px;
	background-image: url("../img/kashologo.png");
	background-size: 92px 67px;
	margin: 15px 0 20px;
}

.hContact{
	display: inline-block;
	float: right;
	/* width: 340px; */
	margin-top: 20px;
	overflow: hidden;
}

.hContact ul li{
	float: left;
	width: 165px;
	margin-right: 10px;
}

.hContact ul li:nth-child(2){
	margin-right: 0;
}

.hContact ul li a{
	display: block;
	font-size: 1.5em;
	font-weight: 700;
	text-align: center;
	line-height: 60px;
	text-decoration: none;
	color: #fff;
	background: linear-gradient(-135deg, #3dcedb, #0089bd);
	border-radius: 5px;
}

.hContact ul li a:hover{
	background: linear-gradient(-135deg, #3dcedb, #3dcedb);
}

.hContact ul li:nth-child(2) a{
	background: linear-gradient(-135deg, #1b1464, #0071bc);
}

.hContact ul li:nth-child(2) a:hover{
	background: linear-gradient(-135deg, #0071bc, #0071bc);
}

.hContact ul li a i{
	margin-right: 0.5em;
}

#nav-input{
    display: none;
}

nav{
	width: 100%;
	height: 56px;
}

nav div.inner ul{
	display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
}

nav div.inner ul li{
	display: inline-block;
	border-left: 1px solid #ccc;
}

nav div.inner ul li:last-child{
	border-right: 1px solid #ccc;
}

nav div.inner ul li a{
	display: block;
	padding: 0 3.793em;
	text-decoration: none;
	font-size: 1.5em;
	font-weight: 700;
	color: #fff;
	line-height: 55px;
}

nav div.inner ul li a:hover{
	color: #333;
	background-color: #e2e2e2;
}

.contentsWrapper .container{
	padding: 70px 0 100px;
	overflow: hidden;
}

#topCover .container{
	padding: 120px 0 100px;
}

/*
#an01 .container{
	padding-top: 100px;
}
*/

#an01 .container,
#an05 .container,
#an07 .container{
	background-color: rgba(255,255,255,0.9);
}

#an03 .container{
	background-color: rgba(255, 187, 128, 0.9);
}

#an04 .container{
	background-color: rgba(104, 196, 242, 0.9);
}

#an06 .container{
	background-color: rgba(250, 117, 143, 0.8);
}

.contentsWrapper .container h2{
	text-align: center;
	font-family: 'Roboto Condensed', '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
	font-size: 2rem;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin-bottom: 60px;
}

#topCover .container h2{
	font-size: 8rem;
}

.contentsWrapper .container h2 span{
	display: block;
	font-size: 1.5rem;
}

#an01 .container h2,
#an05 .container h2,
#an07 .container h2{
	color: #333;
}

#an07 .container h2{
	margin-bottom: 1.2rem;
}

#topCover .container p{
	text-align: center;
	font-size: 1.5em;
	color: #fff;
	margin: 0 auto 180px;
}

#topCover .container a{
	display: block;
	width: 76px;
	height: auto;
	margin: 0 auto;
}

#topCover .container a img{
	width: 100%;
	height: auto;
}

#topCover .container h3{
	text-align: center;
	font-size: 3em;
	margin-bottom: 1.5em;
	color: #fff;
}

.serviceContents{
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}

.serviceContents li{
	float: left;
	width: 310px;
	height: 170px;
	padding: 2.5em;
	margin: 0 25px 40px 0;
	position: relative;
	counter-increment: number 1;
}

.serviceContents li:before{
	content: counter(number);
	display: block;
	font-size: 8rem;
	line-height: 1;
	font-family: 'Roboto Condensed', sans-serif;
	color: rgba(255,255,255,0.15);
	position: absolute;
	bottom: 30px;
	right: 0;
	z-index: -1;
}

.serviceContents li:nth-child(3){
	margin-right: 0;
}

.serviceContents li:nth-child(4){
	margin-left: 167px;
	margin-bottom: 0;
}

.serviceContents li:nth-child(5){
	margin-bottom: 0;
}

.serviceContents li h4{
	display: inline-block;
	font-size: 2em;
	line-height: 1.2;
	font-weight: 700;
	color: #fff;
	border-bottom: 4px solid #29ABE2;
	margin-bottom: 0.5em;
}

.serviceContents li p{
	font-size: 1.5em;
	color: #fff;
}

.serviceImg{
	width: 600px;
	margin: 50px auto 0;
}

.serviceImg img{
	width: 100%;
}

.businessContents{
	width: 980px;
	margin: 30px auto 0;
}

.businessContents li{
	display: table;
	float: left;
	width: 24.5%;
	height: 160px;
	text-align: center;
	margin: 0 0.66% 0.66% 0;
}

.businessContents li:nth-child(4n){
	margin-right: 0;
}

.businessContents li:first-child{
	background-color: rgba(242, 191, 94, .95);
}
.businessContents li:nth-child(2){
	background-color: rgba(255, 187, 128, .95);
}
.businessContents li:nth-child(3){
	background-color: rgba(250, 117, 143, .95);
}
.businessContents li:nth-child(4){
	background-color: rgba(255, 97, 97, .95);
}
.businessContents li:nth-child(5){
	background-color: rgba(180, 117, 203, .95);
}
.businessContents li:nth-child(6){
	background-color: rgba(83, 110, 183, .95);
}
.businessContents li:nth-child(7){
	background-color: rgba(117, 189, 203, .95);
}
.businessContents li:nth-child(8){
	background-color: rgba(104, 176, 77, .95);
}
.businessContents li:nth-child(9){
	background-color: rgba(117, 203, 168, .95);
}
.businessContents li:nth-child(10){
	background-color: rgba(255, 88, 104, .95);
}
.businessContents li:nth-child(11){
	background-color: rgba(255, 203, 61, .95);
}
.businessContents li:nth-child(12){
	background-color: rgba(29, 160, 204, .95);
}

.businessContents li p{
	display: table-cell;
	font-size: 2em;
	line-height: 1.2;
	font-weight: 700;
	color: #fff;
	/*text-shadow: 0 0 4px #333;*/
	vertical-align: middle;
}

.businessContents li p span{
	display: block;
	font-size: 1.2rem;
}

.slider{
	max-width: 980px;
	margin: 0 auto;
}

/*
.worksContents{
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}
*/

.worksContents li{
	float: left;
	width: 32%;
	margin: 0 2% 2% 0;
}

.worksContents li:nth-child(3n){
	margin-right: 0;
}

.worksContents li img{
	width: 100%;
	margin-bottom: 1em;
}

.worksContents li p{
	font-size: 1.4em;
	font-weight: 700;
	color: #fff;
	text-shadow: 0 0 3px rgba(0,0,0,.8);
	margin-bottom: .5em;
}

.worksContents li span{
	display: inline-block;
	padding: .25em .75em;
	margin-right: .5em;
	text-shadow: none;
}

.worksContents li span.catWeb{
	background: #0071BC;
}

.worksContents li span.catVideo{
	background: #C22B58;
}

.worksContents li span.catInterview{
	background: #8C6252;
}

.messeageContainer{
	max-width: 840px;
	border-top: 2px solid #fff;
	color: #fff;
	margin: 0 auto 60px;
}

.messeageContainer h3{
	text-align: center;
	font-size: 3em;
	margin: 1.8em 0;
}

.messeageContainer p{
	text-align: center;
	font-size: 1.6em;
}

#an04 .container dl{
	overflow: hidden;
	max-width: 840px;
	font-size: 1.5em;
	color: #fff;
	margin: 0 auto;
	padding: 1.5em;
	border-top: 1px dotted #fff;
}

#an04 .container dl:last-child{
	border-bottom: 1px dotted #fff;
}

#an04 .container dl dt{
	float: left;
	width: 15%;
	font-weight: 700;
}

#an04 .container dl dd{
	float: left;
	width: 85%;
	padding-left: 1em;
}

.accessInner{
	max-width: 980px;
	margin: 0 auto;
	overflow: hidden;
}

.accessContent{
	float: left;
	width: 470px;
	margin-right: 40px;
}

.accessContent:nth-of-type(2){
	margin-right: 0;
}

.accessContent p{
	text-align: center;
	font-size: 1.5em;
	font-weight: 700;
	color: #fff;
	margin-bottom: 1em;
}

.accessContent p span{
	display: block;
	font-size: 1.5em;
}

.formSubTxt{
	text-align: center;
	font-size: 1.5em;
}

form{
	max-width: 720px;
	padding: 2em 0;
	margin: 0 auto;
}

form div + div {
  margin-top: 1.5em;
}

label{
	display: block;
	font-size: 1.5em;
	font-weight: 700;
	margin-bottom: 0.25em;
}

input, textarea{
	font-size: 1.5em;
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #999;
	padding: 0.5em;
	border-radius: 0.5em;
}

textarea#message{
	min-height: 200px;
}

button{
	display: block;
	width: 300px;
	height: 50px;
	border-radius: 25px;
	font-family: '游ゴシック', YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", Verdana, Arial, Helvetica, sans-serif;
	font-size: 1.8em;
	font-weight: 700;
	color: #fff;
	background: linear-gradient(-135deg, #1b1464, #0071bc);
	margin: 2em auto 0;
	transition: 0.3s;
}

button:hover{
	background: linear-gradient(-135deg, #0071bc, #0071bc);
}

button#mfp_button_cancel{
	margin-top: 0.5em;
	background: linear-gradient(-135deg, #b3b3b3, #333);
}

button#mfp_button_cancel:hover{
	background: linear-gradient(-135deg, #b3b3b3, #b3b3b3);
}

.requiredItem{
	font-size: 1.3em;
}

.requiredItem span{
	color: rgba(255, 88, 104, 1);
}


.featureContents{
	max-width: 1120px;
	margin: 0 auto;
	overflow: hidden;
}

.featureContents li{
	float: left;
	width: 340px;
	height: 445px;
	/*background-color: #fff;*/
	padding: 15px;
	margin-right: 50px;
	/*border-bottom: 2px solid #0071BC;*/
	border-radius: 20px;
}

.featureContents li:nth-child(3){
	margin-right: 0;
}

.featureContents li figure{
	max-width: 200px;
	margin: 0 auto;
}

.featureContents li figure img{
	width: 100%;
}

.featureContents li h4{
	text-align: center;
	font-size: 2em;
	line-height: 1.5;
	font-weight: 700;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 2px dotted #0071BC;
}

.featureContents li p{
	text-align: justify;
	font-size: 1.5em;
	padding: 0 1em;
}





/********************************************************* footer*/
footer .inner{
	max-width: 980px;
	margin: 0 auto;
	padding: 80px 0;
	overflow: hidden;
}

.footerNav{
	float: left;
	width: 290px;
}

.footerNav:nth-child(2){
	float: right;
	width: 520px;
	overflow: hidden;
}

.footerNav img{
    display: block;
	width: 100%;
    padding: 10px;
    background-color: #fff;
    border-radius: 5px;
}

.footerNavBlock{
	float: left;
	width: 240px;
	padding-top: 1em;
	border-top: 4px solid #fff;
	font-size: 1.5em;
	color: #fff;
	font-weight: 700;
}

.footerNavBlock:nth-child(2){
	margin-left: 40px;
}

.footerNavBlock h5{
	margin-bottom: 1.2em;
}

.footerNavBlock p{
	margin-bottom: 0.5em;
}

.footerNavBlock a{
	text-decoration: none;
	color: #fff;
}

.footerNavBlock:nth-child(2) p{
    font-size: .934em;
}

.footerNavBlock a:hover{
	opacity: 0.8;
}

.copyright{
	display: block;
	text-align: center;
	font-size: 1.2em;
	padding: 1em 0;
	background-color: #fff;
}



/********************************************************* sub*/
#sub{
	background-image: none;
}

#sub header{
	background-color: #fff;
    position: relative;
}

#sub .siteLogo h1{

    display: block;
    width: 289px;
    height: 50px;
    text-indent: -9999px;
    background: url(../img/head-logo.png)no-repeat left top;
    background-size: 100% auto;
    margin: 27px 0 0 0px;
}

#sub nav div.inner ul li a{
	color: #333;
}

#sub #topCover .container{
	padding: 100px 0;
}

#sub .contentsWrapper .container h2{
	font-size: 3.4em;
	margin-bottom: 0;
}

.breadCrumb{
	padding-top: 5px;
	margin-bottom: 70px;
}

.breadCrumb:last-of-type{
	margin-bottom: 5px;
}

.breadCrumb li{
	display: inline-block;
	font-size: 1.4em;
}

.breadCrumb li:after{
	font-family: FontAwesome;
	content: '\f105';
	margin: 0 0.5em;
}

.breadCrumb li:last-child:after{
	content: none;
}

.breadCrumb li a{
    color: #333;
}

section .subSection{
	margin-bottom: 70px;
}

section:last-of-type .subSection{
	margin-bottom: 120px;
}

section .subSection h3{
	background: url(../img/ttl_bg.png);
	padding: 0.5em 1em 0.5em 0;
	font-size: 2em;
	font-weight: 700;
	margin-bottom: 1em;
}

section .subSection h3:before{
	content: '';
	display: inline-block;
	background-color: #0089bd;
	background-size: 1em 4px;
	width: 1em;
	height: 4px;
	margin-right: 0.5em;
	vertical-align: middle;
}

section .subSection h4{
	font-size: 1.8em;
	color: #0089bd;
	margin-bottom: 0.75em;
}

section .subSection img{
	display: block;
	margin-bottom: 1.5em;
}

section .subSection p{
	font-size: 1.5em;
	margin-bottom: 1em;
}

section .subSection a{
	display: inline-block;
	font-size: 1.5em;
	margin-bottom: 2em;
}

section .subSection ul li{
	font-size: 1.5em;
	margin-bottom: 0.75em;
}

section .subSection dl{
	font-size: 1.5em;
	margin-bottom: 1em;
}

section .subSection dl dt{
	font-weight: 700;
}

section .subSection dl dd{
	padding-left: 1em;
}

section .subSection dl dd:before{
	font-family: FontAwesome;
	content: '\f105';
	color: #0089bd;
	margin-right: 0.25em;
}

#sub footer{
	background: url("../img/sub_footer_bg.gif");
}






/********************************************************* sp*/
@media screen and (max-width:670px) {
    .dispPc{
    	display: none !important;
    }

    .dispSp{
        display: block;
    }
    
	.inner{
		padding: 0 15px;
	}
    
    #sub header{
        height: 60px;
    }
    
    #nav-drawer {
        width: 30px;
      position: absolute;
        top: 20px;
        right: 15px;
    }

    /*チェックボックス等は非表示に*/
    .nav-unshown {
      display:none;
    }

    /*アイコンのスペース*/
    #nav-open {
      display: inline-block;
      width: 30px;
      height: 22px;
      vertical-align: middle;
    }

    /*ハンバーガーアイコンをCSSだけで表現*/
    #nav-open span, #nav-open span:before, #nav-open span:after {
      position: absolute;
      height: 3px;/*線の太さ*/
      width: 25px;/*長さ*/
      border-radius: 3px;
      background: #555;
      display: block;
      content: '';
      cursor: pointer;
    }
    #nav-open span:before {
      bottom: -8px;
    }
    #nav-open span:after {
      bottom: -16px;
    }

    /*閉じる用の薄黒カバー*/
    #nav-close {
      display: none;/*はじめは隠しておく*/
      position: fixed;
      z-index: 99;
      top: 0;/*全体に広がるように*/
      left: 0;
      width: 100%;
      height: 100%;
      background: black;
      opacity: 0;
      transition: .3s ease-in-out;
    }

    /*中身*/
    #nav-content {
      overflow: auto;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 9999;/*最前面に*/
      width: 90%;/*右側に隙間を作る（閉じるカバーを表示）*/
      max-width: 250px;/*最大幅（調整してください）*/
      height: 100%;
      background: #fff;/*背景色*/
      transition: .3s ease-in-out;/*滑らかに表示*/
      -webkit-transform: translateX(-105%);
      transform: translateX(-105%);/*左に隠しておく*/
    }

    /*チェックが入ったらもろもろ表示*/
    #nav-input:checked ~ #nav-close {
      display: block;/*カバーを表示*/
      opacity: .5;
    }

    #nav-input:checked ~ #nav-content {
      -webkit-transform: translateX(0%);
      transform: translateX(0%);/*中身を表示（右へスライド）*/
      box-shadow: 6px 0 25px rgba(0,0,0,.15);
    }
    
    #nav-content .inner{
        padding: 0;
    }
    
    nav div.inner ul{
        display: block;
    }
    
    nav div.inner ul li{
        display: block;
        width: 100%;
        border-left: none;
        border-bottom: 1px dotted #ccc;
    }
    
    nav div.inner ul li a{
        padding: 1.5em !important;
        line-height: 1;
    }
    
    
    
    
    .siteLogo{
        width: 130px;
    }
    
    #sub .siteLogo h1{
        width: 232px;
        height: 40px;
        margin: 10px 0 0 0;
    }
    
    footer .inner{
        padding: 30px 0;
    }
    
    .footerNav{
        float: none;
        width: 60%;
        margin: 0 auto 30px;
    }
    
    .footerNav:nth-child(2){
        float: none;
        width: 100%;
        padding: 0 15px;
    }
    
    .footerNavBlock{
        float: none;
        width: 100%;
        border-top: 2px solid #fff;
        margin-bottom: 20px;
    }
    
    .footerNavBlock:nth-child(2){
        margin: 0;
    }
    
    .footerNavBlock ul li a:before{
        font-family: 'Font Awesome 5 Free';
        content: '\f054';
        color: #fff;
        font-weight: 900;
        line-height: 1;
        margin-right: .5em;
    }
    
    .footerNavBlock ul li:last-child a:before{
        content: none;
    }
    
    #sub .contentsWrapper .container h2{
        font-size: 2.4em;
    }
    
    .breadCrumb{
        margin-bottom: 40px;
    }
    
    section .subSection{
        margin-bottom: 40px;
    }
    
    section:last-of-type .subSection{
        margin-bottom: 50px;
    }
    
    section .subSection h3{
        font-size: 1.8em;
    }
    
    section .subSection img{
        width: 100%;
    }
    
    
    
    
    
    
}
















