@charset "utf-8";
/*-------------------------------------------*/
/* 　Share Style
/*-------------------------------------------*/
* {
	margin: 0;
	padding: 0;
}
body {
	background: #FFF;
	font-size: 80%;
	font-family: "Sawarabi Mincho", "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 Pr6 W6", "Hiragino Mincho Pro", "HGS明朝E", "メイリオ", "ＭＳ Ｐ明朝", "MS PMincho", "Meiryo", serif;
}
body::before {
	background: url('img/background.png') no-repeat 0 0;
	background-size: 20%;
	background-position: 50% 50%;
	display: block;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	padding-bottom: 0;
	content: "";
	z-index: -1;
}
html {
	overflow-y: scroll;
}
h1, h2, h3, h4, h5, h6 {
}
p, li, dt, dl {
	line-height: 2.7;
}
li {
	list-style-type: none;
}
address {
	font-style: normal;
}
.clear {
	clear: both;
}
/*mini icon*/
#loopslider ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
#loopslider ul {
	display: inline-block;
	overflow: hidden;
}
.clearfix:after {
	content: ".";
	display: block;
	height: 0;
	font-size: 0;
	clear: both;
	visibility: hidden;
}
.clearfix {
	display: inline-block;
}
.topbutton {
	margin: 0;
	padding: 0;
	position: fixed;
	right: 16px;
	bottom: 16px;
	z-index: 100;
}
.topbutton a {
	display: block;
	background: #424343;
	width: 60px;
	height: 60px;
	border-radius: 5px;
	color: #fff;
	line-height: 60px;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	margin: 0 40px 20px 0;
}
.topbutton a:hover {
	opacity: 0.7;
}
/* font */

h2 {
	font-size: 33px;
	padding: 0.5em;
	width: 700px;
	color: #333;
	border-bottom: solid 1px #424343;
	text-align: center;
	letter-spacing: 3px;
	margin: 0 auto 40px;
}
h3 {
	color: #333;
	font-size: 37px;
	padding: 10px 0px 60px;
	text-align: center;
	margin: 0 auto;
	line-height: 1.7em;
	letter-spacing: 3px;
}
/* menu */
div#menu-box {
    display: flex;
	flex-wrap: wrap;
}
ul#menu {
	width: 80%;
	max-width: 1300px;
	margin: 0 auto;
	z-index: 999;
	padding: 0 0 0 8%;
    display: flex;
    flex-wrap: wrap;
	justify-content: center;
}
#menu li {
	display: block;
	float: left;
	width: 33%;
	margin: 0;
	background-color: #FFF;
}
#menu li a {
	border-bottom: 1px solid #d4d4d4;
	display: block;
	padding: 10px 0 10px;
	margin: 3px 5px;
	font-size: 14px;
	color: #000;
	text-align: center;
	text-decoration: none;
	background-color: #fff;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#menu li a:hover {
	background: #2B2B2B;
	color: #FFF;
}
#menu li iframe {
	padding: 10px 0 0 0;
}
#menu-box .sharebutton-pc {
    padding: 25px 10px 0 0;
}
#toggle {
	display: none;
}

@media only screen and (max-width: 768px) {
div#menu-box {
	display: block;
}
ul#menu {
	width: 100%;
	display: none;
	padding:0;
}
#menu li {
	width: 100%;
}
#toggle {
	display: block;
	position: relative;
	width: 100%;
	background: #222;
}
#toggle a {
	display: block;
	position: relative;
	padding: 11px 0 10px;
	color: #fff;
	text-align: center;
	text-decoration: none;
}
#toggle:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	background: #fff;
}
#toggle a:before, #toggle a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 10px;
	width: 20px;
	height: 4px;
	background: #222;
}
#toggle a:before {
	margin-top: -6px;
}
#toggle a:after {
	margin-top: 2px;
}
}
/*-------------------------------------------*/
/* 　desktop
/*-------------------------------------------*/

#contaner {
	max-width: 1920px;
	text-align: center;
	margin: 0 auto;
}
.main-v {
	max-width: 1920px;
	margin: 0 auto;
	text-align: center;
	padding: 210px;
	z-index: 1;
	background-color: #fff;
}
.main-v img {
	width: 100%;
}
#contents-information {
	width: 100%;
	background-color: #FFF;
	padding: 0 0 30px;
}
#contents-information p {
	font-size: 16px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}
#contents-information a {
	color: #000;
	text-decoration: none;
	background-color: #fff;
	-webkit-transition: all 0.5s ease;
	-moz-transition: all 0.5s ease;
	-o-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
#contents-information a hover {
	background: #FFF;
	color: #FFF;
}
#contents-information img {
	padding: 60px 0 50px 0;
}
#contents-mirai {
	width: 100%;
}
#contents-mirai p {
	font-size: 18px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}
.textbox {
	padding: 0 0 50px;
}
#contents-mirai img {
	padding: 0 0 25px;
}
#contents-solution {
	width: 100%;
}

/* facebookウィジェット */
.fb-container {
	width: 100%;
	max-width: 500px;
	padding: 0 0 50px;
	margin: auto;
}
/* わたしたちのソリューション*/
#contents-solution p {
	font-size: 18px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}
#contents-solution span {
	font-size: 20px;
	color: #000;
	text-decoration: underline;
}
#contents-solution img {
	padding: 0px 0 60px;
}

/* 提供価値 */
#contents-brandvalue {
	width: 100%;
}
#contents-brandvalue p {
	font-size: 18px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}
#contents-brandvalue span {
	font-size: 25px;
	font-weight: bold;
	color: #333;
	margin: 10px 0 10px;
	text-align: center;
}


/* 事例一覧 */
#contents-case{
	width:100%;;
	padding-bottom: 5%;
}
#contents-case .caticon {
	width:100%;
	padding:5% 0;
}
#contents-case .caticon ul.caticon-inner {
	width:80%;
	margin: auto;
	display:flex;
	flex-wrap: wrap;
	justify-content: center;
}
#contents-case .caticon ul.caticon-inner li{
	width:16.5%;
	height:16.5%;
	width: 130px;
	height:130px;
	margin: 10px 10px;
	border:solid 1px;
}
#contents-case .caticon ul.caticon-inner li .icon{
	width: 70%;
	height: 70px;
	padding:10% 13.5%;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
#contents-case .caticon ul.caticon-inner li figcaption{
	width:100%;
	height: 24%;
}
#contents-case ul li .icon img{
	width: 70%;
	display:inline-block;
}
#contents-case ul li .icon img.newitem{
	width: 25%;
}
#contents-case ul li .icon img.experience{
	width: 45%;
}

#contents-case .businesslogo-inner {
    width: 80%;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
#contents-case .businesslogo-inner .item{
	width:27.8%;
	min-width: 226px;
	margin: 20px 20px;
	border:solid 1px;
}
#contents-case .businesslogo-inner .item a {
    display: block;
    opacity: 1;
    color: #333333;
    text-decoration: none;
    transition: opacity 0.4s;
}
#contents-case .businesslogo-inner .item a:hover {
    opacity: 0.7;
}
#contents-case .businesslogo-inner .item p.cat{
	height:60px;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	text-align: left;
	background-color: black;
	color: white;
}
#contents-case .businesslogo-inner .item p.cat img{
	padding: 5px 15px;
}
#contents-case .businesslogo-inner .item .img{
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
}
#contents-case .businesslogo-inner .item .img img{
    width: 97%;
	height: 187px;
	padding: 20px 0 10px 0;
    object-fit: contain;
}

#contents-case .businesslogo-inner .item figcaption.text-block p.description{
	width: 90%;
	height: 60px;
    padding: 10px 10px 0 10px;
	display: flex;
	align-items: center;
	text-align: left;
	font-size: 14px;
	font-weight: bold;
    line-height: 1.7;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.detail {
    text-align: right;
	padding: 2px 10px 10px 10px;
	font-size: 14px;
	text-decoration: underline;
	line-height: 1em;
}
/* object-fit-images */
img.object-fit{
    object-fit: contain;
    font-family: 'object-fit: contain;'
}

/* 先行事例 */

#contents-senkou {
	width: 100%;
}
#contents-senkou p {
	font-size: 18px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}
#contents-senkou span {
	font-size: 25px;
	font-weight: bold;
	color: #333;
	margin: 10px 0 10px;
	text-align: center;
}
#contents-senkou .textbox img {
	padding: 0 5px 60px;
}
#contents-senkou .imgbox img {
	width: 300px;
	padding: 0 5px 80px;
}
#contents-contact {
	width: 100%;
}
#contents-contact .imgbox img {
	width: 244px;
}
#contents-contact p {
	font-size: 18px;
	color: #000;
	text-align: center;
	letter-spacing: 3px;
}

/* 問い合わせ */

#contents-contact p>a  {
    display: block;
    opacity: 1;
    color: #333333;
    text-decoration: none;
    transition: opacity 0.4s;
}
#contents-contact img {
	padding: 50px 0 25px;
}
/* フッター */
.footer {
	background-color: #2B2B2B;
	width: 100%;
	height: 150px;
}
.footer .copyri {
	text-align: center;
	font-size: 13px;
	padding: 30px 0 0 30px;
	color: #FFF;
}
.footer .right {
	float: right;
	text-align: right;
	font-size: 13px;
	padding: 0 30px 0 0;
	color: #c0c0c0;
}

/* 改行などpc tab sp で出し分け */
.only-pc {
	display: block; }
.only-pc-tab {
	display: block; }
.only-pc-tab-smalltab {
	display: block; }
.only-tab {
	display: none; }
.only-tab-smalltab-sp {
	display: none; }
.only-smalltab {
	display: none; }
.only-smalltab-sp {
	display: none; }
.only-sp {
	display: none; }

/*-------------------------------------------*/
/* 　note
/*-------------------------------------------*/

@media screen and (max-width: 1279px) {
h2 {
	font-size: 30px;
}
h3 {
	color: #000;
	font-size: 40px;
}
#menu {
	max-width: 82%;
}
.main-v {
	padding: 160px 40px;
}
#contents-mirai {
	width: 100%;
}
#contents-mirai img {
	width: 60%;
}
#contents-solution img {
	width: 65%;
}
}

/*-------------------------------------------*/
/* 　tablet 
/*-------------------------------------------*/
@media screen and (max-width: 1024px) {
body::before {
	background-size: 40%;
}
#menu li a {
	font-size: 12px;
}
.topbutton a {
	margin: 0 20px 10px 0;
}
/* 事例一覧 */
#contents-case{
}
#contents-case .caticon {
}
#contents-case .caticon ul.caticon-inner {
	width: 85%;
}
#contents-case .caticon ul.caticon-inner li{
	width: 100px;
    height: 100px;
}
#contents-case .caticon ul.caticon-inner li .icon{
	width: 61%;
	height: 52px;
	padding: 7% 18.5%;
}
#contents-case .caticon ul.caticon-inner li figcaption{
	font-size: 10px
}

#contents-case .businesslogo-inner {
	width: 90%;
	padding-bottom: 50px;
}
#contents-case .businesslogo-inner .item{
	width:27.8%;
	min-width: 169px;
	margin: 20px 13px;
}
#contents-case .businesslogo-inner .item .img img{
	height: 105px;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.description{
	height: 45px;
	font-size: 12px;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.detail {
    font-size: 12px;
}


/* 改行などpc tab sp で出し分け */
.only-pc {
	display: none; }
.only-pc-tab {
	display: block; }
.only-pc-tab-smalltab {
	display: block; }
.only-tab {
	display: block; }
.only-tab-smalltab-sp {
	display: block }
.only-smalltab {
	display: none; }
.only-smalltab-sp {
	display: none; }
.only-sp {
	display: none; }
}
/*-------------------------------------------*/
/* 　tablet-s 
/*-------------------------------------------*/
@media screen and (max-width: 768px) {
#contaner {
	max-width: 100%;
}
h2 {
	font-size: 23px;
	width: 400px;
}
h3 {
	font-size: 25px;
}
#contents-mirai img {
	width: 70%;
}
#contents-mirai p {
	font-size: 14px;
}
/* facebookウィジェット */
.fb-container {
	width: 100%;
	max-width: 400px;
}

/* 提供価値 */
#contents-brandvalue span {
	font-size: 16px;
}
#contents-brandvalue {
	width: 87%;
	margin: 0 auto;
}
#contents-brandvalue p {
	font-size: 14px;
}
/* わたしたちのソリューション */
#contents-solution p {
	font-size: 14px;
}
#contents-solution span {
	font-size: 15px;
}
#contents-solution .imgbox img {
	width: 60%;
}
/* 先行事例 */
#contents-senkou p {
	font-size: 14px;
}
#contents-senkou .textbox img {
	width: 25%;
	padding: 0px 0px 45px;
}
#contents-senkou .imgbox img {
	width: 200px;
	padding: 0 5px 40px;
}
/* 問い合わせ */
#contents-contact p {
	font-size: 14px;
}
#contents-contact .imgbox img {
	width: 26%;
}

/* 事例一覧 */
#contents-case{
}
#contents-case .caticon {
}
#contents-case .caticon ul.caticon-inner {
	width: 100%;
}
#contents-case .caticon ul.caticon-inner li {
    width: 79px;
    height: 79px;
}
#contents-case .caticon ul.caticon-inner li .icon {
    width: 54%;
    height: 37px;
    padding: 9% 22.5% 5% 22.5%;
}
#contents-case .caticon ul.caticon-inner li figcaption {
    font-size: 8px;
    line-height: 1.5;
    height: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
}

#contents-case .businesslogo-inner {
    width: 95%;
}
#contents-case .businesslogo-inner .item{
	width:27.8%;
	min-width: 150px;
	margin: 20px 13px;
}
#contents-case .businesslogo-inner .item p.cat{
	height:40px;
}
#contents-case .businesslogo-inner .item p.cat img {
    padding: 10px 8px;
    max-height: 26px;
}
#contents-case .businesslogo-inner .item .img img{
	height: 105px;
	padding: 8px 0 0 0;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.description{
	width: 90%;
	height: 58px;
    padding: 0 10px;
	font-size: 11px;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.detail {
    padding: 2px 10px 5px 10px;
    font-size: 11px;
}


/* 改行などpc tab sp で出し分け */
.only-pc {
	display: none; }
.only-pc-tab {
	display: none; }
.only-pc-tab-smalltab {
	display: block; }
.only-tab {
	display: none; }
.only-tab-smalltab-sp {
	display: block }
.only-smalltab {
	display: block; }
.only-smalltab-sp {
	display: block; }
.only-sp {
	display: none; }
}
/*-------------------------------------------*/
/* 　smartphon
/*-------------------------------------------*/
@media screen and (max-width: 414px) {
#contaner {
	width: 100%;
}
.topbutton a {
	width: 40px;
	height: 40px;
	line-height: 40px;
}
.topbutton a {
	margin: 0 0 0 0;
}
h2 {
	font-size: 15px;
	width: 280px;
}
h3 {
	font-size: 13px;
}
.main-v {
	padding: 150px 0px 80px;
}
#contents-information p {
	font-size: 12px;
}
#contents-mirai {
	width: 87%;
	margin: 0 auto;
}
#contents-mirai p {
	font-size: 12px;
}
#contents-mirai img {
	width: 95%;
}
/* facebookウィジェット */
.fb-container {
	width: 100%;
	max-width: 300px;
}
/* 提供価値 */
#contents-brandvalue span {
	font-size: 13px;
}
#contents-brandvalue {
	width: 87%;
	margin: 0 auto;
}
#contents-brandvalue p {
	font-size: 12px;
}
/* わたしたちのソリューション */
#contents-solution {
	width: 87%;
	margin: 0 auto;
}
#contents-solution p {
	font-size: 12px;
}
#contents-solution span {
	font-size: 13px;
}
#contents-solution img {
	padding: 0px 0 35px;
}
#contents-solution .imgbox img {
	width: 90%;
}
/* 先行事例 */
#contents-senkou span {
	font-size: 13px;
}
#contents-senkou {
	width: 87%;
	margin: 0 auto;
}
#contents-senkou p {
	font-size: 12px;
}
#contents-senkou .imgbox img {
	width: 250px;
	padding: 0 5px 30px;
}
/* 問い合わせ */
#contents-contact {
	width: 87%;
	margin: 0 auto;
}
#contents-contact p {
	font-size: 12px;
}
#contents-senkou .textbox img {
	width: 35%;
}
#contents-contact .imgbox img {
	width: 29%;
}
#contents-contact .textbox {
	padding: 0 0 50px;
}
/* フッター */
.footer {
	height: 100px;
}
.footer .copyri {
	font-size: 9px;
	padding: 30px 0 0 0px;
}
/* 事例一覧 */
#contents-case .businesslogo-inner {
    width: 95%;
}
#contents-case .businesslogo-inner .item{
	width:40.8%;
	min-width: 122px;
	margin: 20px 5px;
	font-size: 10px;
}
#contents-case .businesslogo-inner .item p.cat img {
    padding: 5px 6px;
    max-height: 23px;
}
#contents-case .businesslogo-inner .item .img img{
	height: 80px;
	padding: 5px 0 0 0;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.description{
	font-size: 10px;
}
#contents-case .businesslogo-inner .item figcaption.text-block p.detail {
    font-size: 11px;
}


/* 改行などpc tab sp で出し分け */
.only-pc {
	display: none; }
.only-pc-tab {
	display: none; }
.only-pc-tab-smalltab {
	display: none; }
.only-tab {
	display: none; }
.only-tab-smalltab-sp {
	display: block }
.only-smalltab {
	display: none; }
.only-smalltab-sp {
	display: block; }
.only-sp {
	display: block; }
}