@charset "utf-8";
/* CSS Document */



/* ----------------------------------
          　ヘッダー
-------------------------------------*/
.headerTop{
	color:#fff;
    background-color: #2e2c57;
    height: 26px;
    line-height: 26px;
}
.headerTop-list{
	font-size:0.8em;
	padding-right:1em;
    display: flex;
    justify-content: flex-end;
}
/* pc */
@media only screen and (min-width: 1020px) {
.headerTop-list{
	width:1020px;
	margin:0 auto;
    }
}
.headerTop-list li{
	display:inline-block;
}
.headerTop-list li a{
	padding:0 0.8em;
	border-right:1px solid #fff;
    color:#fff;
}
.headerTop-list li a:hover{
    background-color: #6849a4;
}
.headerTop-list li:first-child a{
	border-left:1px solid #fff;
}
/* pc */
@media only screen and (max-width: 1019px) {
.headerTop{
    height: 5px;
}
.headerTop-list{
    display: none;
    }
}	

.fab,.fas{
color: #563b89;
  display: inline-block;
font-family: "Font Awesome 5 Free";
  font-style: normal;
font-weight: bold;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ----------------------------------
          　メニュー
-------------------------------------*/
.openbtn {
    display: none;
}
@media screen and (max-width: 1019px) {
.openbtn {
    display: block;
  position: fixed;
  z-index: 9999;
  background: #49468A;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  cursor: pointer;
  transition: all 0.4s;
}
.openbtn span {
  display: inline-block;
  transition: all 0.3s;
  position: absolute;
  right: 25%;
    top: calc(50% - 1.5px);
  border-radius: 2px;
  background-color: #fff;
  width: 50%;
  height: 3px;
}
.openbtn span::after,.openbtn span::before{
    position: absolute;
    content: "";
    display: inline-block;
    width: 100%;
    height: 3px;
    background: #fff;
  transition: all 0.3s;}
    .openbtn span::after{
        top: 10px;
    }
    .openbtn span::before{
        top: -10px;
    }
    
.openbtn.active span::before {
    background-color: #fff;
  top: 0;
  transform: rotate(45deg);
}

.openbtn.active span {
background-color: transparent;
    }
.openbtn.active span::after {
    background-color: #fff;
  top: 0;
  transform: rotate(-45deg);
}
}
.nav{
    background: #49468A;
}
.nav.fixed{
    position: fixed;
    top: 0;
    width: 100%;
    display: block;
    z-index: 1000;
}
.nav-list{
    display: flex;
    gap: 5%;
    justify-content: center;
    width: 1020px;
    margin-inline: auto;
    text-align: center;
}
.nav li a {
	color:#fff;
	padding:10px 20px;
    transition: 0.3s;
    display: block;
}
.nav li a:hover {
	background:#6849a4;
}
@media screen and (max-width: 1019px){
    .nav{
        display: none;
        position: fixed;
        z-index: 9000;
        width: 100%;
          top: -100%;
        right: -100%;
        padding: 80px 0 50px;
        max-height: 100vh;
        opacity: 0;
        transition: 0.6s all;
    }
    .nav.panelactive {
        display: block;
        top: 0;
        right: 0;
        opacity: 1;
}
    .nav-list{
        flex-direction: column;
        width: 100%;
    }
    .nav li a{
        border-bottom: 1px solid #2e2c57;
    }
}

/* ----------------------------------
        　　　スライダー
-------------------------------------*/
.heroimage{
	text-align:center;
    position: relative;
	}

.heroimage img{
	vertical-align: bottom;
    object-fit: cover;
    height: 100%;
    width: 100%;
}
.heroimage::after{
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    background-color: rgba(46,44,87,0.5);
    z-index: 1;
    top: 0;
    left: 0;
}
.heroimage p{
    font-family: "Poiret One", sans-serif;
    position: absolute;
    top:50%;
    left:50%;
    translate:-50% -50%;
    z-index: 2;
    font-size: 3rem;
    color: #fff;
    white-space: nowrap;
  }
.heroimage .btn-f-contact a{
    font-size: 14px;
    display: inline-block;
    border-radius: 30px;
    font-weight: normal;
    padding: 0.5em 1em;
    box-shadow: 0px 2px 0px #DB9F2F;
}
.heroimage .btn-f-contact a:hover{
    transform: translateY(2px);
}
.heroimage .btn-f-contact a::after{
    display: none;
}
@media screen and (max-width: 767px) {
    .heroimage{
        min-height: 250px;
        height: 45vh
    }
    .heroimage p{
        font-size: 2rem;
    }
    .heroimage .btn-f-contact a{
        font-size: 12px;
    }
}


/* ----------------------------------
        　　　基本枠
-------------------------------------*/

/* pc */
@media only screen and (min-width: 1020px) {
.BaseSec-in,.Kaso,#column{
	width:1020px;
	margin:0 auto;
}}
/* tab-pc */
@media screen and (min-width: 768px) {
.BaseSec-in{
	padding:4em 2em;}

.Kaso .BaseSec-in,#column .BaseSec-in{
	padding:2em;}
}
/* sp */
@media screen and (max-width: 767px) {
.BaseSec-in{
		width:86%;
		padding:2.5em 0;
		margin:0 auto;}
	
.Kaso .BaseSec-in,#column .BaseSec-in{
		width:90%;
		padding:1.5em 0 1em 0;
		margin:0 auto;}
}
	
#pankuzu{
	font-size:0.8em;
	margin:1em;}
	
#pankuzu a{
	color:#563b89;
	}
.BaseSec-in p{
	margin-bottom:1em;}
	
.Kaso .BaseSec-in p{
	padding:0 1em;}


/* ----------------------------------
         TOPコンテンツ
-------------------------------------*/

/* -------------------お知らせ--*/
.info-box table {
    width: 100%;
    border-top:1px solid #c9c9c9;
}
.info-box table th{
	font-weight:normal;
	font-size:0.9em;
	color:#555;}

/* tab-pc */
@media screen and (min-width: 768px) {
.info-box table{
	width:100%;
	border-collapse:collapse;}
.info-box table th,.info-box table td,.info-box table tr{
	border-bottom:1px solid #c9c9c9;
	
	
	}
.info-box table th,.info-box table td{
	padding:1em 0.5em;}


	}
/* sp */
@media screen and (max-width: 767px) {
.info-box table th,.info-box table td{
	display:block;
	text-align:left;}
	.info-box table th{
		padding-top:0.8em;}
	.info-box table td{
	border-bottom:1px solid #c9c9c9;
	padding-bottom:0.8em;}
	

#Blog{
	margin-top:1em;}
.blog-box{
	width:90%;
	margin:0 auto;}
.blog-box li{
	margin-top:1em;}

.blog-box img{
	width:100%;}
	}

/* -------------------制作実績--*/
.WorksTop-box a{
	color:#222;
	width:29.3%;
	margin:2%;
	font-size:0.9em;
	text-decoration:none;
	text-align:center;}

.WorksTop-box img:hover{
	opacity:0.6;}

.WorksTop-box dl{
	background:#fff;
	border-bottom:3px solid #ccc;}

.WorksTop-box a img{
	width:100%;
	height: auto;}
.WorksTop-box dd{
	text-align:left;}
.WorksTop-box dd p{
	padding:0.5em 1em 0 1em;}

.WorksTop-box dd span{
	font-weight:bold;
	}

/* tab-pc */
@media screen and (min-width: 768px) {
.WorksTop-box a{	
	float:left;}
}
/* sp */
@media screen and (max-width: 767px) {
.WorksTop-box a {
	margin-bottom:1.5em;}	
}

/* -------------------サービス内容--*/
.ServiceTop-box a{
	color:#222;
	}
.ServiceTop-box dl{
	margin:1%;
	padding:2%;
}
.ServiceTop-box dl dt i{
	vertical-align:middle;
	font-size:60px;
	text-align:center;}
.ServiceTop-box dl dt i.fa-mobile{
	font-size:90px;
	line-height:0.6em;}

.ServiceTop-ttl{
	font-size:1.1em;
    text-align: center;
    margin-bottom: 0.2em;
	font-weight:bold;}

/* tab-pc */
@media screen and (min-width: 768px) {
.ServiceTop-box{
    display: flex;
    width: 100%;
}
.ServiceTop-box a{
	width:31.333%;
    margin: 1%;}
    .ServiceTop-box dl {
        padding: 0.8em;
    }
.ServiceTop-box dl dt{
	text-align:center;
	vertical-align:middle;
	vertical-align:middle;
	}
.ServiceTop-box dl dd{
    padding: 0.4em;
    }
}
/* sp */
@media screen and (max-width: 767px) {
.ServiceTop-box dl{
	width:100%; 
	}	
.ServiceTop-box dl dt{
	padding:0.5em;
	text-align:center;
}
.ServiceTop-box dd{
	padding:0.5em;}
.ServiceTop-box dl {
	margin-bottom:1em;
}

.ServiceTop-box dl dd h3{
	background:#e1e1e1;
	margin-bottom:0.5em;
	text-align:center;
}
.ServiceTop-box dl dd p{
	margin:0;
	left:0;}
}
/* -------------------サービス--*/
.plan-list{
	margin: 2%;}
.plan-box a{
	color: #333;
	text-decoration: none;
}
.plan-list dl{
	border: 1px solid #ccc;
	padding: 0.3em;}
.plan-list dd{
	text-align: center;
	padding: 0.5em ;
}
.plan-list dd span{
	font-weight: bold;
}

.dtp-list{
    display: flex;
    flex-wrap: wrap;
}
.dtp-list li{
    padding: 1%;
        font-size: 0.9em;
    text-align: center;
    box-sizing: border-box;
    border: 1px solid #ccc;
    margin: 1%;
}
.dtp-list li span{
    display: block;
    background: #EFEFEF;
    padding: 0.2em;
}
/* tab-pc */
@media screen and (min-width: 768px) {
.plan-box{
	display:flex;
}
.plan-list{
	width: 30%;
	}
    
    .dtp-list li{
        width: 31.333%;
    }
}
/* sp */
@media screen and (max-width: 767px) {
.plan-list dt{
text-align: center;
	}
.plan-list dt img{
		width: 100%;
	}
.plan-list dl{
	width: 90%;
	margin: 0 auto;
	padding: 0.3em;
}	
    .dtp-list li{
        width: 48%;
    }
	}

/* -------------------費用--*/
.box_pran{
	padding:1em;
	border: 1px solid #aaa;
	margin-bottom:1em;}
.box_pran h4{
	font-size: 1.1em;
	font-weight: bold;
	padding:0.5em 1em;
	background:#563b89;
	color:#fff;
}
.box_pran h5{
	font-size: 1em;
	border-left:7px solid #563b89;
	padding-left:0.5em;
	margin:1em 0 0.5em 0;}
.box_pran .list_basic02{
	margin:0;
	}
.box_pran table span{
	font-weight: bold;
}
.caution01{
	padding:1em;
	background:#FFF9E2;}
	
.caution02{
	padding:1em;
	border:4px double #FF8A8C;}
.box_web_price {
	padding: 1em;
	margin-bottom: 1em;
	border: 1px solid #aaa;
}
@media screen and (max-width: 767px) {
    .box_web_price {
	padding: 1em 0;
    }
}
.box_web_price div {
	clear: both;
	margin-bottom: 0.5em;
	padding-top: 0.5em;
}
.box_web_price dl {
	margin-bottom: 0.8em;
}
.box_web_price dl:last-of-type {
	margin-bottom: 0;
}
.box_web_price dt {
	font-weight: bold;
	margin-bottom: 1em;
	border-left: 7px solid #aaa;
	text-indent: 0.6em;
}
.box_web_price div h4 {
	text-align: center;
	background-color: #EFEFEF;
	padding: 0.3em;
	margin-bottom: 1em;
}
.box_web_price div p {
	margin-top: 0.5em;
}
@media only screen and (min-width: 768px) {
.box_pran_in{
	padding: 0 1em;
	width:100%;}	

.box_pran_inin{
	width:60%;
	float:left;
	box-sizing:border-box;}

.box_pran_img{
	width:35%;
	margin-top:1.5em;
	box-sizing:border-box;
	float:right}
.box_pran_img img{
	width:100%;}
	}
/* sp */
@media screen and (max-width: 767px) {
	.box_pran_img{
		text-align: center;
		margin-top: 1.5em;
	}	
}


/* -------------------制作の流れ--*/
.sec-flow{position:relative;
	border-top: 1px solid #ccc;
	padding-top: 1em;
}
.sec-flow-in dl,.sec-flow-in div{
	margin-bottom: 1.5em;
}
#flows h4{
	color: #563b89;
	  font-size: 1.2em;
	font-weight: bold;
	margin:0 0 0.8em 0.8em;
}

/* tab-pc */
@media screen and (min-width: 768px) {

#flows h4 span{
		display: none;}
.sec-flow{
	padding: 2em 0;
	display: flex;
	}
.sec-flow-in{
	margin-left: 1.8em;
	}
	
.circle {
	  font-family: Arial, Helvetica, "sans-serif";
      color: #fff;
      background-color:#9a8bb7;
      padding: 0;
      width: 100px;
      height: 100px;
      line-height: 100px;
      text-align: center;
	  font-size: 2em;
	font-weight: bold;
      display: inline-block;
      border-radius: 50%;
    }
.circle02 {
	  font-family: Arial, Helvetica, "sans-serif";
      color: #fff;
      background-color:#dfaa44;
      padding: 0;
      width: 100px;
      height: 100px;
      line-height: 100px;
      text-align: center;
	  font-size: 2em;
	font-weight: bold;
      display: inline-block;
      border-radius: 50%;
    }
}
/* sp */
@media screen and (max-width: 767px) {
.circle,.circle02{
	display: none;
	}
}
/* -------------------- LIME冊子 */
.flxWrap, .flxWrap div{
width: 100%;
}

.btn-lime{
width: 100%;
display: block;
text-align: center;
background:#dfaa44;
text-decoration: none;
color:#fff;
padding: 15px;
font-weight: bold;
border-radius:10px;
position: relative;
box-shadow: 0px 4px 0px #af832f;
transition: color 0.3s ease 0s;
}
.btn-lime span::before{
font-family:"Font Awesome 5 Free";
content:"\f054";
color:#fff;
font-weight: bold;
position: absolute;
left:1em;
top:50%;
transform:translateY(-50%);
}
.btn-lime:hover{background:#f4b234;}

.red-Box{
width: 100%;
margin: 30px auto 0;
box-sizing: border-box;
border:4px #c30 solid;
padding: 20px;
}
.red-Box__tit{
text-align: center;
font-size: 1.4rem;
margin-bottom: 1em;
color:#c30;
font-weight:bold;}

/* tabpc */
@media only screen and (min-width: 768px) {

.flxWrap{
margin: 0 auto;
box-sizing: border-box;
display:flex;justify-content: space-between;}
.flxWrap div{width: 48%;}
.lime-txtB{
width: 80%;
margin: 0 auto 50px;
}
.lime-txtB:after{
content: "";
clear: both;
display: block;
}
.red-Box{width: 80%;}

}

/* ----------------------------------
          　　　フッター
-------------------------------------*/
footer{
	font-size:0.9em;
	background:#563b89;
}
footer,footer a{color:#fff;
text-decoration:none;}
.footer-link{
    display: flex;
    justify-content: center;
}
.cr{
	padding:1em;
	text-align:center;
    border-top: 1px solid #514f87;
}

.f-address dt{
	font-size:1.1em;
	font-weight:bold;
	margin-bottom:1em;}

#btn-f-contact a,.btn-f-contact a{
	text-decoration: none;
	position: relative;
	color: #FFF;
	display: block;
	font-size: 1.1em;
	font-weight: bold;
	border-radius: 5px;
	background: #dfaa44;
	text-align: center;
	padding: 10px 15px;
	-webkit-transition: all 0.1s;
	-moz-transition: all 0.1s;
	transition: color 0.3s ease 0s;
	-webkit-box-shadow: 0px 4px 0px #af832f;
	-moz-box-shadow: 0px 4px 0px #af832f;
	box-shadow: 0px 4px 0px #af832f;
	margin: 0.5em 0;
	}
@media screen and (max-width: 768px) {
    #btn-f-contact a,.btn-f-contact a{
    font-size: 14px;
    }
}

#btn-f-contact a:after,.btn-f-contact a:after{
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 10px;
	height: 10px;
	margin: -4px 15px 0 0;
	border-top: solid 3px #fff;
	border-right: solid 3px #fff;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#btn-f-contact a:hover,.btn-f-contact a:hover{
	background:#f4b234;}
.f-contact p{
	text-align:center;
	font-size:0.9em;
	font-weight:bold;}
/* ----------  ページ上部へ戻る */
#page-top {
    position: fixed;
    bottom: 20px;
    right: 20px;
	z-index: 999;
    font-size: 90%;
}
#page-top a {
    background: #563b89;
    text-decoration: none;
    color: #fff;
    width: 50px;
    padding: 14px 0;
    text-align: center;
    display: block;
    border-radius: 5px;
}
#page-top a:hover {
    text-decoration: none;
    background: #866eb4;
}
/* tab-pc */
@media screen and (min-width: 768px) {
.access-in{display:flex;}
	}

/* sp */
@media screen and (max-width: 767px) {
.footer-info{
	padding:1.5em;
	}
.f-contact{
	margin-top:1em;
	padding-top:1em;
	border-top:1px solid #866eb4;}
    .footer-link{
        flex-direction: column;
    }
.footer-link li a{
	border-top:1px solid #866eb4;
	display:block;
	padding:1em 1.5em;}
	
.footer-link li a:hover{
	background:#6445a0;
}
}


/* tab-pc */
@media screen and (min-width: 768px) {
footer{
	margin-top:2em;}
.footer-info{
	padding:2em;
	border-bottom:1px solid #866eb4;}
.f-address{
	width:60%;
	float:left;}
.f-contact{
	width:36%;
	float:right;}

.footer-link {
	text-align:center;
	padding:1em;
	clear:both;}
.footer-link li{
	font-size:0.9em;
	border-left:1px solid #fff;
	display:inline;
	padding:0 0.3em 0 0.6em;
	}
.footer-link li:first-child{
	border-left:none;}	


.footer-link li a:hover{
	color:#ffeb8e;}

}

/* pc */
@media only screen and (min-width: 1020px) {
.footer-info,.footer-link{
	width:1020px;
	margin:0 auto;}	

	
}
	
	
/* ----------------------------------
          　固定ページ設定
-------------------------------------*/


/* -------------よくある質問--*/
.faq p {
	margin: 0;
	padding: 0;
}
.faq{border: 1px solid #ccc;
	width:100%;
	margin-bottom:1em;}
.faq dt {
	cursor:pointer;
	display:block;
	padding:0.5em 0.5em 0.5em 0.2em;
	background:#F5F5F5;
	font-weight:bold;
}
.faq dd{ border-top: 1px solid #ccc;
	padding:0.5em 0.5em 0.5em 0.2em;
	display:none;}


.question-icon {
	xpadding: 1.5em 0 0.5em 0;
}
.anser-icon {
	xpadding: 0.5em 0 1.5em 0;
}

.question-icon,.question-text {
	display:table-cell;
}
.anser-icon,.anser-text {
	display:table-cell;
}

.question-text,.anser-text{
	padding-left:0.2em;}
.question-icon{
	color: #563b89;
	width: 30px;
	height: 30px;
	font-weight:bold;
	line-height: 30px;
	text-align: center;
}
.anser-icon {
	color:#dfaa44;
	font-weight:bold;
	width: 30px;
	height: 30px;
	line-height: 30px;
	text-align: center;
	margin-right:0.5em;
}

/* ----------------------------------
          　投稿ページ設定
-------------------------------------*/

/* -------------------制作実績一覧 */
.works-list{font-size:0.9em;}
.works-list img{
	border:1px solid #c0c0c0;}
.tab{
	margin-bottom:0.6em;
}

.tab li{
	float:left;
	padding:0 0.2em;}
.tab a{
	color:#333;
	padding:0.2em 0.6em;
	text-decoration:none;
	border-radius:4px;
	background:#e8e8e8;
	}
.tab a:hover{
	color:#fff;
	background:#563b89;}
.works-list dt{
	font-weight:bold;}
.works-list dd a{
	color:#563b89;
	text-decoration:none;}

.works-img:hover{
	opacity:0.6;}
.works-list dd a:hover{
	text-decoration:underline;}

/* sp */
@media screen and (max-width: 767px) {
	.works-list{
		width:90%;
		margin:0 auto;
		border-bottom:2px solid #ccc;
		margin-bottom:0.5em;
		padding:1em;}
	.works-img{
		text-align:center;}
	}
/* tab-pc */
@media screen and (min-width: 768px) {
.works-list{
	width:31%;
	float:left;
	margin:1%;
	padding:2%;
	}
}

/* ページャー */
.pagination a {
	padding: 5px 10px;
	display: inline-block;
	border: solid 1px #cccccc;
	color: #666666;
	background-color: #ffffff;
	font-size: 14px;
	text-decoration: none;
}
.pagination a:hover {
	background-color: #e8e8e8;
}
.pagination span {
	padding: 5px 10px;
	display: inline-block;
}
.pagination span.current {
    color: white;
    background: #563b89;
    border-color: #563b89;
    font-weight:bold;
}
.pagination {
	overflow: hidden;
	margin-top: 40px;
	margin-bottom: 20px;
	text-align: center;
	clear: both;
	background-color: transparent;
}
.screen-reader-text{
	display:none;}
	

/* アコーディオン */
/* tab-pc */
@media screen and (min-width: 768px) {
	.cp_menu {
		width: 100%;
	margin: 0 auto;
	margin-bottom: 4em;}
.cp_menu ul{
	font-size: 0.9em;
	padding: 0.5em;
	margin-bottom: 1em;
	border-radius: 4px;
	background: #e8e8e8;
		display: flex;
		width: 100%;
	text-align: center;
	}
.cp_menu ul li a{
	color:  #563b89;
padding: 12px;}
.cp_menu input{
		display: none;
	}
.cp_menu label{
		font-weight: bold;
	}
}

/* sp */
@media screen and (max-width: 767px) {
.cp_menu {
max-width: 360px;
margin: 0 auto;
padding: 0;
	margin-bottom: 3em;
}
.cp_menu a {
display: block;
padding: 10px;
text-decoration: none;
color: #3d3d3b;
line-height: 1;
}
.cp_menu label {
display: block;
position: relative;
margin: 0 0 2px 0;
padding: 12px;
line-height: 1;
color: #ffffff;
background: #3d3d3b;
cursor: pointer;
}
.cp_menu label::before {
position: absolute;
content: '▼';
color: #ffffff;
right: 0.5em;
top: 25%;
}
.cp_menu input {
display: none;
}
.cp_menu ul {
margin: 0;
padding: 0;
background: #f4f4f4;
list-style: none;
}
.cp_menu li {
overflow-y: hidden;
max-height: 0;
transition: all 0.5s;
}
#cp_menu_bar1:checked ~ #link1 li,
#cp_menu_bar2:checked ~ #link2 li {
max-height: 46px;
opacity: 1;
}
}
.btn-more{
	margin-top:1em;
	text-align:right;
	border-top:1px solid #ccc;
	border-bottom:2px solid #ccc;}
.btn-more a{
	padding:0.5em;
	font-weight:bold;
	text-decoration:none;
	color:#563b89;
	padding-left:1em;
	display:block;
	position:relative;
	top:0;
	left:0;}

.btn-more a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left:0px;
	width: 7px;
	height: 7px;
	margin: -5px 15px 0 0;
	border-top: solid 2px #563b89;
	border-right: solid 2px #563b89;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

.btn-more a:hover{
	background:#FFF2CC;}
