@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Serif+JP:wght@200..900&family=Nunito+Sans:ital,opsz,wght@0,6..12,200..1000;1,6..12,200..1000&family=Young+Serif&display=swap');

body
	{
	margin:0;
	padding:0;
	text-align:center;
	font-family: 'Noto Sans JP', sans-serif;
	font-size:16px;
	/* font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka,"ＭＳ Ｐゴシック", sans-serif;
	 */}

body.subpage
	{
	background-image: url("../images/common/bg_pagebottom.png");
	background-size:100%;
	width:100%;
	/*max-width:100%;*/
	background-position:bottom;
	background-repeat:no-repeat;
	}
	
img
	{
	border:0;
	}

h1,h2,h3,h4,h5
	{
	margin:0 0 15px 0;
	padding:0;
	font-weight:900;
	/*font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka,"ＭＳ Ｐゴシック", sans-serif;*/
	}

h3
	{
	font-size:1.25em;
	color:#333333;
	letter-spacing:3px;
	}

section h4
{
	font-size:1.3rem;
	color:#c8161e;
}


section h4 i
{
	margin-right:10px;
}

section h5
{
	font-size:1.2rem;
	border-top:1px solid #ccc;
	border-bottom:1px solid #ccc;
	padding-bottom:.6rem;
	padding-left:1.2rem;
	padding-top:.6rem;
}

p
	{
	line-height:200%;
	}

.works section p
{
	margin-bottom:2rem;
}

header
	{
	width:100%;
	height:100px;
	padding:0;
	margin:0;
	position:fixed;
	top:0px;
	background-color:#fff;
	z-index:10;
	}
	
header nav
	{
	width:100%;
	margin:0px auto;
	padding:24px 15px !important;
	background-color:#fff;
	}

header nav h1
	{
	width:260px;
	float:left;
	}

@media screen and (max-width:350px)
{

	header nav h1
	{
		width:60vw;
	}
	
}


header nav .collapse
	{
	justify-content:flex-end ;
	}
	
header nav ul
	{
	display:flex;
	}

header nav ul li
	{
	font-weight:bold;
	}
	
header nav ul li span
	{
	display:block;
	font-size:0.7rem;
	color:#aaa;
	}
	
@media screen and (min-width:768px)
{
	header
	{
		height:120px;
	}
	header nav
		{
		max-width:990px;
		}
	header nav ul li
	{
		width:150px;
		padding:0 1.25rem 0 1.8rem;
		text-align:right;
		font-size:0.85rem;
		border-left:1px solid #aaa;
	}
	header nav ul li:last-child
	{
		border-right:1px solid #aaa;
	}

.main_upper
	{
	max-width:990px;
	}
}

header .head_box ul li img:hover
	{
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}
	
footer
	{
	width:100%;
	padding:40px 0;
	margin:0;
	overflow:hidden;
	/*background-color:#fff;*/
	position:relative;
	bottom:0px;
	}

/* フッタバナー ----------------------------------- */
#footerbanner
	{
	float:right;
	text-align: left;
	margin: 0;
	padding: 0;
	}

#footerbanner p
	{
	float: left;
	font-size: 0.625em;
	line-height: 26px;
	padding: 20px 0 0 20px;
	margin: 0;
	}

#footerbanner img:hover
	{
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}	
	
/* コピーライト ----------------------------------- */
p.copylight
	{
	clear: both;
	text-align: right;
	font-size: 0.875em;
	padding: 40px 0 0px 0;
	}
	
/*-------- TOP -----------*/

#mainimages
	{
	margin:100px auto 0 auto;
	padding:50px 0px;
	overflow:hidden;
	background-image: url("../images/contents/bg_mainimg.png");
	background-size:cover;
	max-width:100%;
	background-position:bottom;
	/*height:550px;*/
	}

@media screen and (min-width:576px){
#mainimages
	{
		padding:100px 0px;
	}
}

#subimages
	{
	margin:0 auto;
	padding:0;
	/*overflow:hidden;*/
	background-image: url("../images/contents/bg_message.png");
	background-size:cover;
	max-width:100%;
	background-position:bottom;
	/*height:480px;*/
	}

#bottomimages
	{
	margin:0 auto;
	padding:40px 0;
	overflow:hidden;
	background-color:#f0ebe9;
	max-width:100%;
	background-position:bottom;
	/*height:480px;*/
	}

.main_service ul li img:hover
	{
	opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha( opacity=70 )";
	}	
		
	
.main_upper
	{
	width:100%;
	overflow:hidden;
	margin:0 auto;
	padding:0 15px;
	}

.main_bottom
	{
	width:100%;
	max-width:990px;
	overflow:hidden;
	margin:0 auto;
	padding:50px 15px;
	
	}

.main_bottom:hover
	{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	}

@media screen and (min-width:576px){
.main_bottom
	{
	padding:70px 15px;
	}
}

.main_service
	{
		width:100%;
	/*width:960px;
	overflow:hidden;*/
	margin:0 auto;
	padding:0px 0px;
	text-align:left;
	}

.main_service .container
{
	max-width:990px;
}

.main_service .row div
{
	text-align:center;
	font-size:0.85rem;
	line-height:150%;
}

.main_service .row div img
{
	width:100%;
	margin-bottom:15px;
}

.main_service .row div img:hover
	{
	opacity:0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	}

.main_service ul
	{
	margin:20px 0 0 0;
	padding:0;
	}

.main_service h2
	{
	margin:0 0 20px 0;
	padding:0;
	}

.main_service ul li
	{
	list-style-type:none;
	list-style-position: outside;
	display:block;
	float: left;
	text-align:center;
	width:300px;
	}
.main_service ul li.consulting,.main_service ul li.website
	{
	margin:0 30px 0 0;
	}

.main_service ul li p
	{
	margin:0;
	padding:20px 0 0 0;
	font-size:85%;
	line-height:150%;
	}

.main_upper p.subtitle
	{
	width:100%;
	margin:0px 0 0px 0;
	padding:0;
	text-align:left;
	
	/*background-image: url("../images/contents/img_mainimg.png");
	/*background-repeat:no-repeat;
	background-size: cover;*/
	color:#fff;
	font-family: "Noto Serif JP", serif;
	/* font-family: "メイリオ", Meiryo, "ヒラギノ角ゴPro W3", "Hiragino Kaku Gothic Pro", Osaka,"ＭＳ Ｐゴシック", sans-serif;*/
	}

.main_upper p.subtitle span
	{
	display:block;
	}

.main_upper p.subtitle span.service
	{
	line-height:140%;
	font-size:2.5rem;
	margin-bottom:1rem;
	font-family: "Young Serif", serif;
	}
	
.main_upper p.subtitle span.service_jp
	{
	display:inline-block;
	font-size:0.8rem;
	padding:0.8rem;
	border:1px solid #fff;
	}

.main_upper p.subtitle span.catch
	{
	font-size:1.2rem;
	margin-bottom:1.5rem;
	}		
	
@media screen and (min-width:670px)
{
	.main_upper p.subtitle
	{
	/*height:440px;
	white-space:nowrap;*/
	}
}

.main_bottom p.message
	{
	width:100%;
	max-width:600px;
	/*height:220px;*/
	margin:50px 0 20px 0;
	padding:30px 40px;
	font-size:85%;
	line-height:200%;
	background-color: rgb(255 255 255 / 0.5);
	border-radius:10px;
	/*background-image: url("../images/contents/img_message.png");
	background-repeat:no-repeat;*/
	float:right;
	text-align:left;
	color:#000;
	text-decoration:none;
	}

.main_bottom a
	{
	text-decoration:none;
	}

.footer_box
	{
	width:100%;
	max-width:990px;
	text-align:right;
	margin:0 auto;
	padding:0 15px;
	}


.footer_box address,.footer_box p
	{
	font-size:0.75em;
	font-style:normal;
	}

.footer_box address
	{
	margin-top:20px;
	}
	
p.holiday
	{
	margin-bottom:40px;
	}

.main_service h2.info
{
		margin-top:20px;	
		color:#9d9695;
		font-size:2em;
		font-weight:normal;
		border-bottom:1px solid #9d9695;
		}
	
.main_service h3
{
		margin-top:20px;
		border:1px solid #999;
		padding:5px 0px;
		display:block;
		width:298px;
		text-align:center;
		border-radius:5px;	
		color:#666;
		font-size:1em;
		}
	
p.holiday strong
	{
		color:#666;
	}
	
p.holiday strong.t_holliday
	{
		border:1px solid #999;
		padding:2px 0px;
		margin-bottom:-20px;
		display:block;
		width:298px;
		text-align:center;
		border-radius:5px;
	}

	
	
/*------------ sub ------------------*/

#main
	{
	width:100%;
	max-width:990px;
	margin:0 auto;
	padding:150px 15px 0 15px;
	overflow:hidden;
	}

#main h2
	{
	margin:0 0 20px 0;
	}



#content
	{
	width:100%;
	margin:0 auto;
	padding:0;
	overflow:hidden;
	/*float:right;*/
	text-align:left;
	font-size:0.875em;
	}

#content h3
	{
	margin:0 0 40px 0;
	}

#content section
	{
	margin:0 0 80px 0;
	overflow:hidden;
	}

/*------------ about ----------------*/
@media screen and (max-width:575px)
{
	img.keiei
	{
		margin-bottom:15px;
	}
}
.concept_box
	{
	width:760px;
	overflow:hidden;
	}

ul.concept
	{
	margin:0;
	padding:0;
	list-style-position: outside;
	display:block;
	float: left;
	text-align:center;
	list-style-type:none;
	}

section.concept .cont_box
{
	border:15px solid #eee;
	padding:30px 15px;
	margin-bottom:15px;
}

section.concept .cont_box img
{
	margin-bottom:15px;
}

section.concept .cont_box p
{
	margin-bottom:0px;
}

ul.concept li
	{
	margin:0;
	padding:0;
	width:calc((100% - 40px)/3);
	/*width:240px;*/
	height:240px;
	/*background-image: url("../images/contents/bg_concept.png");
	background-repeat:no-repeat;*/
	float:left;
	text-align:center;
	border:15px solid #eee;
	}

ul.concept li img
	{
	margin:30px 30px 40px 30px;
	width:100%;
	border:1px solid #f00;
	}

ul.concept li.cont01,ul.concept li.cont02
	{
	margin:0px 20px 0px 0px;
	}

ul.concept li p
	{
	margin:0px 30px 30px 30px;
	text-align:left;
	font-size:0.875em;
	line-height:180%;
	}

ul.rinen
	{
	margin-bottom:80px;
	}

table.profile
	{
	width:100%;
	}
	
.prof_col01
	{
	width:20%;
	}

table.profile
	{
	border-collapse:collapse;
	border:3px #f0ebe9 solid;
/*	border-collapse:separate;
	border-spacing:5px;*/
	font-size:0.875em;
	}

table.profile th,table.profile td
	{
	border:2px #f0ebe9 solid;
	padding:10px 15px;
	}
	
table.profile th
	{
	white-space:nowrap;
	}
	
/*
service
----------------------------------^^*/

p.cap
	{
	border:3px solid #f0ebe9;
	width:710px;
	padding:20px;
	}

ul.cap
	{
	border:3px solid #f0ebe9;
	width:100%;
	padding:20px;
	display:block;
	overflow:hidden;
	}

ul.cap.site
	{
	padding-top:0px;
	border:0px solid #f0ebe9;
	margin-bottom:2rem;
	}

ul.cap li
	{
	float: left;
	white-space: nowrap;
	margin:0px 0px 10px 0px;
	list-style-type:none;
	width:100%;
	max-width:calc(900px /3 );
	}
	
ul.cap li i
	{
	margin-right:5px;
	}	

ul.cap.event li,ul.cap.site li
	{
	max-width:calc(900px /2 );
	}


#consulting,#web,#graphic
	{
	padding-top:150px;
	margin-top:-150px;
	}
	
p {
    max-height: 100%;
}

span.eng_title
{
	font-size:0.8rem;
	color:#ccc;
	margin-left:20px;
}
