@charset "utf-8";
/*
ロゴカラー

メインカラー　ブルー
rgb(38,31,135)

アクセントカラー　黄色
rgb(255,220,0)
*/

/********************
基本設定： フォントサイズ
*********************/

@media (max-width: 375px) {
	#main {
		font-size: 16px;
	}
}

@media (min-width: 375px) and (max-width: 800px) {
	#main {
		font-size: 16px;
	}
}

@media (min-width: 801px) {/*PC*/
	#main {
		font-size: 16px;
	}
}

#main {font-size: 16px;}


/********************
基本設定： ページ全体 
*********************/
body {
	margin: 0;
	font-family:'游ゴシック体', '游ゴシック Medium', 'YuGothic', 'Yu Gothic Medium', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', serif,'メイリオ','Hiragino Kaku Gothic Pro';
  font-size: 1rem;
  color: black;
  line-height: 1.6;
  background-color: #fff;
  text-align: center;
}

h1, h2, h3, h4, h5, h6 {
  display:inline-block;
  position: relative;
  font-size:2rem;
	font-family:Montserrat, '游ゴシック体', '游ゴシック Medium', 'YuGothic', 'Yu Gothic Medium', 'メイリオ', 'Meiryo', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', 'Osaka', 'ＭＳ Ｐゴシック', 'MS PGothic', serif,'メイリオ','Hiragino Kaku Gothic Pro';
  letter-spacing: 0.05em;
  line-height: 1.2;
  color: rgb(38,31,135);
  font-weight: bold;
  margin: 0 auto .2em auto;
}

a{
text-decoration: none;
}


.con{
 margin-bottom:40px
}

@media (min-width: 801px) {/*PC*/
  .con{
   margin-bottom:70px
	}
}

/*フォント*/
.gf01{
font-family: 'Spartan', sans-serif;
letter-spacing:0.04em;
}

/*アイコン*/
.fas{
margin-right: 10px;
}

/*ボタン白枠ボタン　hoverで背景白に変わる**/
a.btn{
display: block;
color: white;
font-size: 0.9em;
font-weight: bold;
border: 1px solid;
padding: 5px;
width: 90%;
margin: 0 auto;
}

a.btn:hover{
color: rgb(38,31,135);
background-color: white;
border: 1px solid white;
opacity: 1
}

/*ボタン__青枠白背景ボタン　hoverで背景青に変わる*/
a.btn1{
display: block;
color: rgb(38,31,135);
font-size: 0.9em;
font-weight: bold;
border: 2px solid;
padding: 5px;
text-align: center;
margin-top: 20px;
}

a.btn1:hover{
color: white;
background-color: rgb(38,31,135);
border: 2px solid rgb(38,31,135);
opacity: 1;
}

/*ボタン__青背景ボタン　hoverで背景白に変わる*/
a.btn2{
display: block;
color: white;
background-color: rgb(38,31,135);
font-weight: bold;
border: 2px solid;
padding: 5px;
text-align: center;
margin-top: 20px;
}

a.btn2:hover{
color: rgb(38,31,135);
background-color: white;
border: 2px solid rgb(38,31,135);
opacity: 1;
}

/*左右の空白設定*/

  .mainwidth{
  width: 94%;
  margin-left: auto;
  margin-right: auto;
	}

@media (min-width: 801px) {/*PC*/
  .mainwidth{
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;}
}

/*****************
header
******************/

/*header(ヘッダー)_main*/
/*
#header img {
  margin: 15px 0px 0 8px;
	width: 170px;
  top: 0;
	left: 0;
}
*/

/********************
main
*********************/

/* コンテンツA： ヒーローイメージ */
.conA {
  clear: both;
	display: flex;
  align-items: center;
	justify-content: center;
	height: 60vh;
	min-height: 450px;
	background-position: center center;
	background-size: cover;
	color: #fff;
	text-align: center;
}

.conA h1{
	margin-bottom: 10px;
	font-size: 12vw;
	letter-spacing: 0.1em;
	margin-left: 0.2em;
  color:#fff;
}

.conA span{
  display: block;
  text-align: center;
	color: #fff;
  font-size: 5vw;
  margin: 0;
  border: solid 1px ;
  padding: 0.5em 0.1em;
}

@media (min-width: 801px) {/*PC*/
	.conA h1 {
		font-size: 80px;
	}
  
  .conA span{
  font-size: 25px;
  }
}

/* コンテンツB　*/
.conB .container{
  display: flex;
  align-items: center;
	justify-content: center;
}

.conB .boxA{
  width:120px;
  background-color: rgb(38,31,135);
  padding: 20px 15px 5px 15px;
}

.conB .boxA:first-child{
margin-right: 20px;
}

.conB .boxA .title,
.conB .boxA .title2{
  height: 80px;
}

.conB .boxA .title2 h3{
  padding-top:15px;
}

.conB .boxA h3{
  font-size: 22px;
  color:rgb(255,220,0)
}

.conB .boxA p{
color: white;
font-size: 14px;
}

/* 共通タイトル　吹き出し　*/

.titleA{
  position: relative;
  padding: 30px 10px;  
  background-color: rgb(38,31,135);
}

.titleA:before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid rgb(38,31,135);
}

.titleA h2{
  position: relative;
  display: inline-block;
  padding: 0 60px;
  font-size: 20px;
  letter-spacing:0.1em;
  font-weight: bold;  
  color: white;
}

.titleA .color{
  color:rgb(255,220,0)
}

/*斜めの線*/
.titleA h2:before, .titleA h2:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: white;
  -webkit-transform: rotate(-60deg);
  transform: rotate(-60deg);
}
.titleA h2:before {
  left:0;
}
.titleA h2:after {
  right: 0;
}

/* コンテンツC　*/
.conC{
  background-color: rgb(230,230,230);
}

.conC .container{
  display: flex;
  justify-content: center;
  flex-wrap:wrap;
  width: 90%; 
  margin:50px auto;
}

.conC article{
  flex:1 1 150px;
  display:flex;
  justify-content: center;
}

.conC a{
  display:block;
  color: inherit;
  text-decoration:none;
  margin-bottom:30px;
}

.conC .photo{
  border:solid 5px rgb(38,31,135);
  width:130px;
  height:130px;
  background-position:center;
  background-size:cover;
  position: relative;
}

.ribbon {
  display: inline-block;
  position: absolute;
  top: 5%;
  left: -8%;
  box-sizing: border-box;
  padding: 5px;
  margin: 0 0 0 0px;
  font-size: 12px;
  color: black;
  font-weight: bold;
  background: rgb(255,220,0);
}

.conC .text{
  text-align: center;
  width:130px;
}

.conC .works-client{
 margin: 10px 0 0 0;
}

.conC .works-title{
 margin: -2px 0 0 0;
 font-size: 1.2em;
 font-weight: bold;
}

@media (min-width: 801px) {/*PC*/
	.conC .container{
  width: 80%; 
  }

  .conC article{
    flex:1 1 200px;
  }

}

/*conD*/

.conD .container{
margin-top: 30px;
}

.conD .box{
margin-bottom: 30px;
}

.conD .gf01{
font-size: 4em;
font-weight: bold;
letter-spacing: 0.1em;
color: rgb(255,220,0);
margin-bottom: -60px;
}

.conD .text{
margin:0 0 20px;
}

.conD .title{
margin-bottom: 15px;
}


/* conE　*/
.conE{
  background-color: rgb(230,230,230);
}

.conE .container{
margin-top: 30px;
padding-top:30px;
}

.conE h3{
font-size: 1.2em;
margin-bottom: 30px;
}

.conE h3 .sq{
font-size: 0.8em;
border: solid 1px;
padding: 2px 6px 1px;
margin: 0px 5px;
vertical-align: 2px;
}

.conE .fa-plus-circle {
margin-left: 10px;
}

.conE .wrapperA{
	display: flex;
  justify-content: center;
  flex-wrap:wrap;
  padding-bottom: 20px;
}

@media (min-width: 801px) {/*PC*/
  .conE .wrapperB{
  margin-right:10px;
  }

  .conE .wrapperC{
  margin-left:10px;
  }
}

.conE .box{
background-color:white;
width:300px;
padding: 20px 0;
font-size: 18px;
font-weight:bold;
color: rgb(38,31,135);
margin-bottom: 20px;
}

.conE .box .title{
border-bottom: solid 1px;
width: 80%;
padding: 0 0 15px;
margin: 0 auto 20px;
}

.conE .box .price{
width: 80%;
text-align: left;
margin: 0 auto 5px;
}

.conE .box .sq{
display: inline-block;
height: 20px;
background-color: rgb(38,31,135);
margin: 0px 20px 15px 0;
font-size: 0.7em;
padding: 10px 20px;
color: white;
}

.conE .box .nm{
display: inline-block;
font-size: 1.4em;
vertical-align: -5px; 
}

.conE .box .yen{
display: inline-block;
font-size: 0.8em;
vertical-align: -5px;
margin-left:3px;
}

.conE .box .size{
letter-spacing: 0.1em;
background-color:rgb(255,220,0);
border-radius: 10px;
font-size: 0.8em;
width: 50%;
margin: 0 auto 20px;
}

.conE .box .size2{
margin-top: 43px;
}

/*デザイン料・印刷料金*/
.conE .wrapperB,
.conE .wrapperC{
background-color:white;
}

.conE .titleB{
  color: white;
  padding: 20px 10px;  
  background-color: rgb(38,31,135);
}

.conE .box2{
display:flex;
flex-wrap: wrap;
width:300px;
padding: 20px 0;
font-size: 18px;
font-weight:bold;
color: rgb(38,31,135);
margin-bottom: 10px;
border-bottom: solid 1px;
}

.conE .box2:last-child{
border-bottom:none;
}

.conE .box2 .title{
font-size: 0.9em;
width: 40%;
vertical-align: middle;
margin-top: 30px;
}

.conE .box2 .price{
text-align: left;
margin: 0 auto 5px;
}

.conE .box2 .sq{
display: inline-block;
height: 20px;
background-color: rgb(38,31,135);
margin: 0px 10px 10px 0;
font-size: 0.6em;
padding: 5px 10px;
color: rgb(255,220,0);
border-radius: 5px;
letter-spacing: 0.1em;
}

.conE .box2 .nm{
display: inline-block;
font-size: 1.2em;
vertical-align: -7px; 
}

.conE .box2 .yen{
display: inline-block;
font-size: 0.8em;
vertical-align: -7px;
margin-left:1px;
}

.conE .box2 .text{
width: 100%
}

.conE .box2 .text2{
margin: 0;
padding: 0 1em;
font-size: 0.8em;
text-align: left;
}


.conE .box3{
display: block;
}

.conE .box3 .title{
margin:0 auto 10px;
}

.conE .box3 .price{
width: 70%;
margin:0 auto;
}

.conE .box2 .text,
.conE .box3 .text{
flex-grow: 100;
font-size: 0.75em;
margin:0;
}

.conE .btn{
margin: 30px auto;
}

/*conF*/

.conF .container{
width: 300px;
margin:30px auto 0;
}

@media (min-width: 801px) {/*PC*/
  .conF .container{
  width: 400px;
  margin:30px auto 0;}
}

.conF .num{
	width: 70px;/*幅*/
	height: 70px;/*高さ*/
	border-radius: 50%;/*角丸*/
  line-height: 70px;  
  background-color: rgb(255,220,0);
  margin: 50px auto 0;
  font-weight: bold;
  margin-bottom: -15px;
}

.conF h3.title{
font-size:1.5em;
}

.conF .box1{
border: dotted 2px rgb(38,31,135);
color: rgb(38,31,135);
background-color: rgba(38,31,135,0.1);
padding: 1em;
margin: 10px 0;
}

.conF .box1 .title,
.conF .box1 .text{
display: inline-block;
}

.conF .box1 .text{
border-left: solid 1px ;
padding-left: 15px;
margin-left: 15px;
font-weight: bold;
}

.conF .box1 .fas{
margin-left:5px;
}

.conF .box2 .box3,
.conF .box2 .text{
display: inline-block;
vertical-align: middle;
margin-top: 10px;
}

.conF .box2 .box3{
width: 50px;
background-color: rgba(38,31,135,1.00);
padding: 0.8em;
color: white;
font-size: 0.85em;
font-weight: bold;
letter-spacing: 0.1em;
}

.conF .box2 .text{
font-size: 0.85em;
width: 200px;
text-align: left;
margin-left:10px;
}

.conF .box4{
background-color: white;
margin-top: 1em;
padding: 0.8em;
font-size:0.9em;
} 

.conF .box4 .title{
display:block;
padding-bottom: 1em;
border-bottom: 1px solid;
font-weight: bold;
}

/*conG*/

.conG .container{
  background-color: rgb(230,230,230);
  padding: 60px 0 60px;
}

.conG table{
background-color:white;
border:solid 3px;
margin: 0 auto;
border-collapse:  collapse;
}

.conG th,
.conG td{
border:solid 1px;
padding: 1em;
}

.conG td{
font-weight: bold;
}

.conG .red{
color: red;
}

.conG .box{
position: relative;
z-index: 2;
background-color: rgb(38,31,135);
color: white;
width: 150px;
padding: 0.5em;
margin: 40px auto 0px;

}

.conG .box2{
background-color: white;
}

@media (min-width: 801px) {/*PC*/
  .conG .box2{
  padding: 40px 20px 20px;
  width: 80%;
  margin : -20px auto;
  }
}

@media (max-width: 800px){/*スマホ*/

  .conG .text{
  padding: 0 10px;
  }

  .conG .box2{
  padding: 30px 10px 20px;
  width: 85%;
  margin : -20px auto;
  }  
  
  .conG img{
  width: 100%;
  }
}


/*******************
制作実例
********************/
.width_600{
width: 90%;
margin: 20px auto 0;
}

@media (max-width: 800px){/*スマホ*/
  .works .sp_img{
  width: 100%;
  }
}

@media (min-width: 801px) {/*PC*/
  .width_600{
  width: 600px;
  margin: 50px auto 0;
  }
}

/*パンくず*/
.breadcrumb {
  text-align: left;
  padding-left:0;
  margin-left:0;
  font-size: 0.8rem;
}


.breadcrumb li{
  display:inline;
  list-style: none;
}

.breadcrumb li:after {
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f105';
  padding: 0 5px;
}

.breadcrumb li:last-child:after {
  content: '';
}

.breadcrumb li a:hover {
  text-decoration: underline;
}

/*見出し*/
.works .cliant{
border-top: 1px solid rgb(38,31,135);
color: rgb(38,31,135);
padding: 10px 0;
}

.works .title{
background-color:rgb(38,31,135);
color:#fff; 
padding: 10px 0;
margin-bottom: 30px;
}

.works .box{
background-color:rgba(38,31,135,0.1);
padding: 10px 30px;
margin-bottom: 20px;
}

.works .boxtitle{
font-weight: bold;
color: rgb(38,31,135);
}

.works .square {
display: inline-block;
width: 20px;
height: 20px;
margin: 0 5px;
}

.works .title2{
background-color:rgb(38,31,135);
color:#fff; 
padding: 10px 0;
margin: 50px auto 10px;
width: 100px;
}

.works a {
  text-decoration: none;
}

.works .btn2{
margin: 30px auto 0;
border: 2px solid rgb(38,31,135);
color: rgb(38,31,135);
padding: 10px;
width: 100px;
}

.works .p_left{
  text-align: left;
}

/*ボタン*/
  .width_800{
  width: 94%;
  margin-left: auto;
  margin-right: auto;
	}

@media (min-width: 801px) {/*PC*/
  .width_800{
  width: 800px;
  margin: 50px auto 0;
  }
  
}

a.btn2{
font-size: 1.5em;
padding: 20px;
}

.btn3{
  display: block;
  margin-bottom: 20px;
}
