@charset "UTF-8";

/* FLOCSSでCSS設計を行なっています。 */
/* 命名規則はMindBEMdingを採用しています。 */
/* Blockは各オブジェクト、Componentを指し、 */
/* Element(Blockと親子関係の要素)は .○○○__○○○ */
/* Modifier(Blockを装飾する対等の要素)は .○○○--○○○と命名します。 */
/* javascriptによって操作される要素は .is〜 と書きます。 */

/* ========================================
	Foundation
========================================= */

/*---------------	リセットcss	---------------*/

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}
html{overflow-y: scroll;}
blockquote, q {quotes: none;}
blockquote:before, blockquote:after,q:before, q:after {content: ''; content: none;}
input, textarea {margin: 0; padding: 0;}
ol, ul{list-style:none;}
table{border-collapse: collapse; border-spacing:0;}
caption, th{text-align: left;}
a:focus {outline:none;}


/*---------------	フロート解除	---------------*/

.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}


/*---------------	フォント指定	---------------*/

html {
	font-size: 100%;
}

body {
	font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',
	'メイリオ', Meiryo,'Meiryo UI',sans-serif;
	color: #040000;
}

/* ========================================
	Layout (id推奨)
	命名規則: #id-
========================================= */

header {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	margin-top: 79px;
	background-color: #fff;
}

#l-about {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	padding: 110px 0 100px;
	background-color: #F5F4F4;
	text-align: center;
}

#l-signtype {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #fff;
	padding: 100px 0;
	text-align: center;
}

#l-gallery {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #080304;
	padding: 100px 0;
	text-align: center;
}

#l-flow {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #F5F4F4;
	padding: 100px 0;
	text-align: center;
}

#l-company {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #080304;
	padding: 100px 0;
	text-align: center;
}

#l-contact {
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #fff;
	padding: 100px 0 65px 0;
	text-align: center;
}

footer {
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

/*------TOPへ戻るボタン------*/

#btn-guide {
	position: fixed;
	bottom: -180px;
	right: 20px;
	width: 25%;
	min-width: 150px;
}

#page_top {
	width: 50px;
	height: 50px;
	margin-left: auto;
	margin-bottom: 10px;
	background: #fff;
	opacity: 0.8;
	border-radius: 50%;
	filter: drop-shadow(0 0 3px rgba(0,0,0,0.5));
}

.btn-top {
	position: relative;
	display: block;
	width: 50px;
	height: 50px;
	text-decoration: none;
}

.btn-top::before {
	font-family: FontAwesome;
	content: '\f077';
	font-size: 30px;
	color: #080304;
	position: absolute;
	width: 50px;
	height: 50px;
	top: 14px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

.guide_contact {
	display: flex;
	align-items: flex-start;
	width: 100%;
	max-width: 224px;
	min-width: 150px;
	margin-left: auto;
}

.guide_contact a:hover {
	opacity: 0.7;
}

.guide_contact img {
	width: 100%;
	max-width: 112px;
	min-width: 75px;
	height: auto;
}

/* ========================================
	Component(共通利用の部品。幅とか色は持たせない)
	命名規則: .c-
========================================= */

.c-wrapper {
	width: 100%;
	max-width: 1024px;
	height: auto;
	margin: 0 auto;
	box-sizing: border-box;
}

.c-flex {
	display: flex;
}

.c-j--center {
	justify-content: center;
}

.c-j--between {
	justify-content: space-between;
}

.c-a--center {
	align-items: center;
}

.c-phoneonly {
	display: none;
}

.c-smallphoneonlydisplay {
	display: none;
}

/* ========================================
	Project(コンテンツを構成する具体的な要素)
	命名規則: .p-
========================================= */

/*---------------	ヘッダー   ---------------*/

.p-topnavbar {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	box-sizing: border-box;
	background-color: #fff;
	z-index: 100;
}

.p-topnavbar__glayzone {
	width: 100%;
	height: 25px;
	background-color: #444344;
}

.p-topnavbar_inner {
	height: 54px;
	box-sizing: border-box;
}

.p-toplogo {
	width: 25%;
	min-width: 140px;
	height: auto;
	box-sizing: border-box;
}

.p-toplogo h1 img {
	width: 100%;
	height: auto;
	padding-left: 30px;
}

.p-topnav {
	margin-right: 30px;
}

.p-topnav>ul>li {
	margin-right: 35px;
}

.p-topnav>ul>li:last-child {
	margin-right: 0;
}

.p-topnav>ul>li>a {
	font-size: 0.875rem;
	text-decoration: none;
	color: #040000;
}

.p-topnav>ul>li>a:hover {
	padding-bottom: 3px;
	border-bottom: 2px solid;
	opacity: 0.7;
}

.p-topnav>ul>li:last-child>a {
	color: #AC1657;
}

.p-topnav__contacticon {
	width: 16px;
	margin-right: 5px;
}

.p-topslider {
	width: 100%;
	height: auto;
	box-sizing: border-box;
}

.p-topslider__slider1 {
	display: block;
	width: 100%;
	height: 556px;
	box-sizing: border-box;
	background-color: #080304;
	color: #fff;
}

.p-topslider__slider1 img {
	width: 100%;
	height: auto;
	margin: 0 auto;
}

.p-topslider__slider2 {
	display: block;
	width: 100%;
	height: 556px;
	box-sizing: border-box;
	background: url(../images/bg-slide2.png) 50% 50% repeat;
}

.p-topslider__slider2 img {
	width: 80%;
	height: auto;
	margin: 0 auto;
	padding-top: 58px;
}

.p-topslider__slider3 {
	display: block;
	width: 100%;
	height: 556px;
	box-sizing: border-box;
	background: url(../images/bg-slide3.png) 50% 50% repeat;
}

.p-topslider__slider3 img {
	width: 75%;
	height: auto;
	margin: 0 auto;
	padding-top: 30px;
}

.p-top__pagelink {
	padding: 60px 0 80px;
}

.p-top__pagelinkboxes {
	display: flex;
	justify-content: center;
}

.p-top__pagelink ul li {
	width : -webkit-calc(30% - 20px) ;
	width: calc(30% - 20px);
	margin-right: 20px;
}

.p-top__pagelink ul li:last-child {
	margin-right: 0;
}

.p-top__pagelink ul li a:hover {
	opacity: 0.7;
}

.p-top__pagelink ul li a img {
	width: 100%;
	height: auto;
}


/*---------------	aboutセクション   ---------------*/

#p-about__title {
	margin-bottom: 85px;
}

#p-about__title img {
	width: 25%;
	min-width: 170px;
	height: auto;
}

.p-about__catch {
	margin-bottom: 30px;
}

.p-about__catch img {
	width: 60%;
	height: auto;
}

.p-about__introduction {
	margin-bottom: 35px;
	font-size: 1.125rem;
	line-height: 2.5;
}

.p-about__businessimage {
	width: 96%;
	margin: 0 auto 45px auto;
}

.p-about__businessimage>img {
	width: 100%;
	height: auto;
}

.p-about__ourbusinesstitle {
	margin-bottom: 50px;
}

.p-about__ourbusinesstitle>h3 {
	font-size: 1.25rem;
}

.p-about__ourbusinesstitle>p>img {
	width: 96%;
	height: auto;
}

.p-about__ourbusinessboxes {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 96%;
	margin: 0 auto;
}

.p-about__ourbusinessboxes>li:nth-child(-n+3) {
	margin-bottom: 40px;
}

.p-about__ourbusinessbox {
	display: block;
	width: 31%;
	height: auto;
	background-color: #fff;
}

.p-about__ourbusinessimage {
	width: 100%;
	height: 180px;
}

.p-about__ourbusinessimage>img {
	width: 100%;
	height: 180px;
}

.p-about__ourbusinessname {
	font-size: 1rem;
	line-height: 3.75;
}


/*---------------	signtypeセクション   ---------------*/

#p-signtype__title {
	margin-bottom: 45px;
}

#p-signtype__title img {
	width: 25%;
	min-width: 170px;
	height: auto;
}

.p-signtype__introduction {
	margin-bottom: 40px;
	font-size: 1.125rem;
}

.p-signtypeimage__pc {
	width: 96%;
	height: auto;
	margin: 0 auto;
}

.p-signtypeimage__pc>img {
	width: 100%;
	height: auto;
}


/*---------------	galleryセクション   ---------------*/

#p-gallery__title {
	margin-bottom: 45px;
}

#p-gallery__title img {
	width: 22%;
	min-width: 170px;
	height: auto;
}

.p-gallery__boxes {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	flex-wrap: wrap;
	width: 96%;
	margin: 0 auto;
}

.p-gallery__box {
	width: 31%;
	max-width: 296px;
	height: auto;
	margin-right: 3.5%;
	margin-bottom: 40px;
	color: #fff;
	text-align: left;
}

.p-gallery__box:nth-child(3n) {
	margin-right: 0;
}

.p-gallery__box:nth-last-child(-n+2) {
	margin-bottom: 0;
}

.p-gallery__img {
	overflow: hidden;
	width: 100%;
	height: 240px;
	margin-bottom: 20px;
}

.p-gallery__img>img {
	width: 100%;
	height: auto;
}

.p-gallery__workname {
	margin-bottom: 12px;
	padding-bottom: 8px;
	border-bottom: 1px dotted #fff;
	font-size: 1rem;
	line-height: 1.8;
}

.p-gallery__clientname {
	font-size: 0.875rem;
	line-height: 1.6;
}


/*---------------	flowセクション   ---------------*/

#p-flow__title {
	margin-bottom: 50px;
}

#p-flow__title img {
	width: 14%;
	min-width: 120px;
	height: auto;
}

.p-flow__flowimages {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 96%;
	height: auto;
	margin: 0 auto 40px auto;
}

.p-flow__flowimage {
	width: 10.5%;
	height: auto;
}

.p-flow__flowimage>img {
	width: 100%;
	height: auto;
}

.p-flow__arrow {
	width: 1.5%;
	height: auto;
}

.p-flow__arrow>img {
	width: 100%;
	height: auto;
}

.p-flow__flowboxes {
	width: calc(96% - 60px);
	width : -webkit-calc(96% - 60px);
	height: auto;
	margin: 0 auto;
	padding: 50px 30px;
	background-color: #fff;
}

.p-flow__flowbox {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 100%;
	height: auto;
	margin: 0 auto;
	padding: 20px 0;
	border-top: 1px dotted #080304;
}

.p-flow__flowbox:last-child {
	border-bottom: 1px dotted #080304;
}

.p-flow__flownumber {
	width: 5.5%;
	height: auto;
	margin-top: 1%;
	margin-right: 5%;
}

.p-flow__flownumber>img {
	width: 100%;
	height: auto;
}

.p-flow__flowdescription {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 89.5%;
	height: auto;
	text-align: left;
}

.p-flow__flowdescription>dt {
	width: 36%;
	font-size: 1.125rem;
	font-weight: 400;
}

.p-flow__flowdescription>dd {
	width: 60.5%;
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 1.65;
}


/*---------------	companyセクション   ---------------*/

#p-company__title {
	margin-bottom: 50px;
}

#p-company__title img {
	width: 25%;
	min-width: 170px;
	height: auto;
}

.p-company__descriptionboxes {
	width: 96%;
	height: auto;
	background-color: #fff;
	margin: 0 auto 70px;
}

.p-company__descriptionbox {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 96%;
	margin: 0 auto;
	padding: 50px 0;
	border-bottom: 1px solid #CACACA;
}

.p-company__predidentimage {
	width: 35%;
	height: auto;
}

.p-company__predidentimage>img {
	width: 100%;
	height: auto;
}

.p-company__descriptionimage {
	width: 35%;
	height: auto;
	margin: 0 auto;
}

.p-company__descriptionimage>img {
	width: 50%;
	height: auto;
	margin: 0 auto;
}

.p-company__ourcompany{
	width: 35%;
	height: auto;
}

.p-company__ourcompany>img {
	width: 95%;
	height: auto;
}

.p-company__description {
	width: 62%;
	height: auto;
	text-align: left;
}

.p-company__description>h3 {
	margin-bottom: 20px;
	padding-left: 20px;
	background-color: #666767;
	font-size: 1.125rem;
	color: #fff;
	line-height: 1.75;
}

.p-company__description>p {
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 2;
}

.p-company__signature {
	position: absolute;
	bottom: 50px;
	right: 40px;
}

.p-company__signature>img {
	width: 190px;
	height: auto;
}

.p-company__functionlists {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start
}

.p-company__functionlists>ul {
	width: 40%;
	margin-right: 1%;
	padding-left: 4%;
	list-style-type: disc;
}

.p-company__functionlists>ul>li {
	font-size: 0.875rem;
	font-weight: 300;
	line-height: 2;
}

.p-company__companyinfo {
	width: 100%;
	font-size: 0.875rem;
}

.p-company__companyinfo p {
	padding: 4px 0;
	font-weight: 300;
	line-height: 2;
}

.p-company__companyinfo a {
	text-decoration: none;
	font-weight: 300;
	color: #080304;
}

.p-company__stufflists {
	width: 96%;
	height: auto;
	margin: 0 auto 40px;
}

.p-company__balloon {
	position: relative;
	display: inline-block;
	margin-bottom: 30px;
	padding: 15px 0;
	min-width: 120px;
	width: 35%;
	background-color: #666767;
	box-sizing: border-box;
}

.p-company__balloon:before {
	content: "";
	position: absolute;
	bottom: -20px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #666767;
	z-index: 2;
}

.p-company__balloon:after {
	content: "";
	position: absolute;
	bottom: -28px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #666767;
	z-index: 1;
}

.p-company__balloon h3 {
	font-size: 1.125rem;
	color: #fff;
	margin: 0;
	padding: 0;
}

.p-company__stufflists {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.p-company__stufflistbox {
	width: 32%;
	height: auto;
	background-color: #fff;
}

.p-company__stuffimage {
	overflow: hidden;
	width: 100%;
	height: 220px;
}

.p-company__stuffimage>img {
	width: 100%;
	height: auto;
}

.p-company__stuffname {
	width: 90%;
	height: 50px;
	margin: 0 auto;
	border-bottom: 1px dotted;
	font-size: 1rem;
	line-height: 50px;
	text-align: left;
}

.p-company__stuffdescription {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	width: 94%;
	height: 50px;
	margin: 0 auto;
	border-bottom: 1px dotted;
}

.p-company__stuffdescription>dt {
	display: block;
	width: 25%;
	background-color: #CACACA;
	margin-right: 10px;
	font-size: 0.875rem;
	line-height: 1.7;
	text-align: center;
}

.p-company__stuffdescription>dd {
	font-size: 0.875rem;
	line-height: 1.3;
	text-align: left;
}

.p-company__fb {
	width: 94%;
	margin: 0 auto;
	padding: 10px 0;
	text-align: right;
}

.p-company__fb>a>img {
	width: 24px;
	height: auto;
}

.p-company__blog>a {
	display: inline-block;
	width: 25%;
	min-width: 150px;
	height: 40px;
	margin: 0 auto;
	border: 1px solid #fff;
	background-color: #080304;
	font-size: 0.875rem;
	text-decoration: none;
	color: #fff;
	line-height: 40px;
}

.p-company__blog>a:hover {
	opacity: 0.7;
}

.p-company__blog>a>img {
	width: 20px;
	height: auto;
	margin-left: 10px;
}

/*---------------	contactセクション   ---------------*/

#p-contact__title {
	margin-bottom: 10px;
}

#p-contact__title img {
	width: 17%;
	min-width: 170px;
	height: auto;
}

.p-contact__linksheader {
	margin-bottom: 10px;
}

.p-contact__linksheader>img {
	width: 30%;
	height: auto;
	text-align: center;
}

.p-contact__links {
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-contact__link {
	width: 40%;
	margin-right: 3%;
}

.p-contact__link>h4 {
	margin-bottom: 10px;
	font-size: 1rem;
	font-weight: 400;
	text-align: center;
}

.p-contact__link>a>img {
	width: 100%;
	height: auto;
}

.p-contact__link:hover {
	opacity: 0.7;
}

/*---------------	フッター	---------------*/

.p-footermenu {
	width: 100%;
	height: auto;
	background-color: #444344;
}

.p-footernav>ul {
	display: flex;
	justify-content: center;
	align-items: center;
}

.p-footernav>ul>li {
	margin-right: 50px;
}

.p-footernav>ul>li:last-child {
	margin-right: 0;
}

.p-footernav>ul>li>a {
	font-size: 0.825rem;
	text-decoration: none;
	color: #fff;
	line-height: 43px;
}

.p-footernav>ul>li>a:hover {
	opacity: 0.7;
}

.p-footerlogo {
	width: 100%;
	height: auto;
	padding: 40px 0;
	background-color: #F5F4F4;
	color: #231815;
	text-align: center;
}

.p-footerlogo__img {
	margin-bottom: 15px;
}

.p-footerlogo__img>img {
	width: 35%;
	min-width: 175px;
	height: auto;
}

.p-copyright {
	width: 100%;
	height: auto;
	background-color: #fff;
	text-align: center;
}

.p-footerlogo>address {
	margin-bottom: 10px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
}

.p-footerlogo__tel {
	font-family: 'Helvetica Neue','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', Meiryo,'Meiryo UI',sans-serif;
	font-size: 16px;
	font-weight: bold;
	line-height: 1;
}

.p-copyright>small {
	font-size: 12px;
	font-weight: 400;
	color: #231815;
	line-height: 28px;
}

/* ========================================
	Utility(わずかな調整などを行うための便利要素)
	命名規則: .u-
========================================= */

.u-mr0 {
	margin-right: 0;
}

.u-pt0 {
	padding-top: 30px;
}

.u-por {
	position: relative;
}

.u-bb0 {
	border-bottom: 0;
}