@charset "UTF-8";
/*
Theme Name: 白紙とロック
Template: twentyfifteen
Author: 白紙とロック
Description:
Version: 1.0
Updated: 2018-09-02
*/

/* Color Scheme
-----------------------------------------------------

	=Theme Color = #101010

-----------------------------------------------------
*/

@import url(reset.css);
@import url(wordpress.css);

/*
-----------------------------------------------------

 	=Global Layout

-----------------------------------------------------
*/

* {
	margin: 0; padding: 0;
}

/* 2026 renewal: revised service and company profile content */
.service-intro { margin-bottom: 60px; }
.service-intro p { max-width: 900px; }
.service-item-title { font-size: 20px; line-height: 1.6; margin: 0 0 16px; font-weight: 700; }
.ipmarket-heading .brand-row { display: flex; align-items: baseline; flex-wrap: wrap; gap: 4px 20px; margin-bottom: 16px; }
.ipmarket-heading .brand-name { display: inline-block; font-size: 36px; letter-spacing: .06em; }
.ipmarket-heading .brand-site-link { display: inline-flex; align-items: center; gap: 7px; font-size: 14px; font-weight: 400; letter-spacing: .03em; line-height: 1.8; white-space: nowrap; text-decoration: none; }
.brand-site-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.brand-site-link svg { flex: none; }
.content-illustrations { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0 0 48px; }
.content-illustrations figure,
.analysis-figure { margin: 0; }
.content-illustrations img { width: 100%; height: auto; aspect-ratio: 1.24 / 1; object-fit: cover; display: block; }
.content-illustrations figcaption,
.analysis-figure figcaption { font-size: 12px; letter-spacing: .04em; margin-top: 10px; color: #555; line-height: 1.7; }
.analysis-figure { margin: 0 0 48px; padding: 18px; border: 1px solid #ddd; background: #fff; }
.analysis-figure img { display: block; max-width: 100%; width: 100%; height: auto; max-height: 440px; object-fit: contain; margin: 0 auto; }
.analysis-figure figcaption { text-align: center; }
.beta-label { display: table; margin-top: 20px; padding: 4px 12px; border: 1px solid #777; font-size: 14px; letter-spacing: .08em; }
.pricing-comparison { display: grid; grid-template-columns: 1fr 28px 1fr; gap: 14px; margin: 0 0 32px; border-top: 1px solid #222; border-bottom: 1px solid #222; padding: 24px 0; }
.small-label { display: block; font-size: 12px; margin-bottom: 16px; letter-spacing: .04em; }
.pricing-comparison strong { display: block; font-size: 18px; line-height: 1.7; margin-bottom: 14px; }
#service .pricing-comparison p { font-size: 14px; letter-spacing: .04em; margin: 0; }
.comparison-arrow { align-self: center; text-align: center; font-size: 24px; }
#service .price-note { font-size: 13px; letter-spacing: .04em; color: #666; }
.engine-demo { margin: 40px 0; }
.engine-demo video { display: block; width: 100%; max-width: 100%; height: auto; aspect-ratio: 16 / 9; background: #080d10; border: 1px solid #d6d6d6; }
.engine-demo figcaption { margin-top: 12px; font-size: 13px; line-height: 1.9; letter-spacing: .03em; color: #555; }
.next-update { margin-top: 48px; letter-spacing: .1em; }
.company-intro { max-width: 960px; margin-bottom: 80px; }
.company-activities { margin-bottom: 80px; }
.history-table th { width: 180px; white-space: nowrap; }
.history-table th,
.history-table td { padding: 22px 12px; border-bottom: 1px solid #ddd; }
.history-table a { text-decoration: none; }
.history-table a:hover { text-decoration: underline; }
.support-flow { margin: 64px 0 80px; }
.support-steps { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; list-style: none; padding: 0; margin: 36px 0 24px; }
.support-steps li { position: relative; background: #eee; padding: 22px 16px; border-top: 3px solid #111; }
.support-steps li::before { display: none; }
.support-steps li:not(:last-child)::after { content: "→"; position: absolute; right: -15px; top: 58px; font-size: 17px; z-index: 1; }
.step-number { display: block; font-family: "Roboto Condensed", sans-serif; font-size: 13px; letter-spacing: .12em; margin-bottom: 20px; }
.support-steps h5 { font-size: 17px; line-height: 1.6; margin-bottom: 12px; letter-spacing: .04em; font-weight: 700; }
#profile .support-steps p { font-size: 13px; line-height: 1.8; letter-spacing: .04em; margin: 0; }
.partner-lanes { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px 16px; }
.partner-lane { min-width: 0; padding: 15px 18px; border: 1px solid #bbb; background: #fff; }
.partner-lane strong { display: block; font-size: 15px; line-height: 1.6; letter-spacing: .06em; }
.partner-lane span { display: block; font-size: 12px; letter-spacing: .05em; line-height: 1.8; margin-top: 4px; }
.lead-partner,
.finance-partner { grid-column: 1 / -1; }
.lead-partner { background: #111; color: #fff; border-color: #111; }
.strategy-partner,
.development-partner,
.capital-partner { grid-column: auto; }
#service p,
#profile p,
#profile td { font-size: 16px; letter-spacing: .12em; }
#profile iframe { width: 100%; max-width: 100%; }
a:focus-visible { outline: 2px solid #555; outline-offset: 5px; }

@media (min-width: 600px) and (max-width: 1119px) {
	body { min-width: 0; }
	.wrapper { width: auto; max-width: 100%; padding-left: 6.25vw; padding-right: 6.25vw; }
	#concept .tagline .title { font-size: 5.5vw; }
	.service-summary .frame { padding: 28px; }
	.service-summary .picture .title-main { font-size: 20px; letter-spacing: .1em; }
	.service-summary .content,
	.service-summary .picture { min-width: 0; }
	.content-illustrations { grid-template-columns: 1fr; }
	.content-illustrations img { max-width: 380px; margin: auto; }
	.content-illustrations figcaption { text-align: center; }
	.support-steps { gap: 10px; }
	.support-steps li { padding: 18px 10px; }
	.support-steps li:not(:last-child)::after { right: -11px; font-size: 13px; }
	.support-steps h5 { font-size: 14px; }
	.partner-lanes { gap: 10px; }
}

@media (max-width: 599px) {
	.service-intro,
	.company-intro,
	.company-activities { margin-bottom: 48px; }
	.service-item-title { font-size: 18px; }
	#service p,
	#profile p,
	#profile td { font-size: 16px; letter-spacing: .03em; }
	.history-table th { width: 100px; font-size: 14px; padding-left: 0; }
	.history-table td { padding-right: 0; }
	.history-table th,
	.history-table td { padding-top: 20px; padding-bottom: 20px; }
	.ipmarket-heading .brand-name { font-size: 30px; }
	.ipmarket-heading .brand-row { column-gap: 12px; }
	.content-illustrations { grid-template-columns: 1fr; gap: 28px; margin-bottom: 36px; }
	.content-illustrations img { max-width: 380px; margin: auto; }
	.content-illustrations figcaption { text-align: center; }
	.analysis-figure { padding: 10px; margin-bottom: 36px; }
	.pricing-comparison { grid-template-columns: 1fr; gap: 16px; }
	.comparison-arrow { transform: rotate(90deg); }
	.pricing-comparison strong br { display: none; }
	.next-update { font-size: 16px; }
	.support-flow { margin: 48px 0; }
	.support-steps { grid-template-columns: 1fr; gap: 18px; margin-top: 28px; }
	.support-steps li { padding: 18px 20px 18px 98px; }
	.step-number { position: absolute; top: 21px; left: 16px; margin: 0; font-size: 12px; }
	.support-steps h5 { margin-bottom: 4px; }
	.support-steps li:not(:last-child)::after { content: "↓"; left: 50%; right: auto; top: auto; bottom: -21px; }
	.partner-lanes { grid-template-columns: 1fr; }
	.partner-lane { grid-column: 1; }
	#profile .map { height: auto; }
	#profile iframe { height: 320px; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; }
}

*, *:before, *:after {
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	     -o-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	        box-sizing: border-box;
}

html {
	font-family: 'Roboto Condensed', "source-han-sans-japanese", 'SourceHanSans-Regular', 'Source Han Sans Regular', '源ノ角ゴシック Regular', '源ノ角ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif, serif;
	-webkit-font-smoothing: antialiased !important;
	-webkit-text-stroke: 1px transparent;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	color: #222;
	font-size: 10px;
	font-weight: normal;
	line-height: 2.57;
	word-wrap: break-word;
	letter-spacing: 0.25em;
}

body{
	background-color: #fff;
	font-size: 1.4rem;
}

h1, h2, h3, h4, h5, h6, p, pre, dt, dd, li {
	line-height: 2.28;
}
p, ul, ol, dl, table {
	margin-bottom: 3.2rem;
}
p:last-child, ul:last-child, ol:last-child, dl:last-child, table:last-child {
	margin-bottom: 0;
}
table {
	width: 100%;
	border-collapse: collapse;
	line-height: 1.75;
	text-align: left;
}
th, td {
	padding: 0.5em;
	vertical-align: top;
	border: none;
}
th {
	font-weight: bold;
	min-width: 80px;
}
tr {}
hr {
	clear: both;
	border: none;
}
img {
	display: inline-block;
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
a img {
	border: none;
}
a {
	color: #101010;
	text-decoration: underline;
}
a,
a img {
	cursor: pointer;
	-webkit-transition: all ease-out 0.2s;
	   -moz-transition: all ease-out 0.2s;
	    -ms-transition: all ease-out 0.2s;
	        transition: all ease-out 0.2s;
}
a:focus, a:active, a:hover {
	text-decoration: none;
}
em {}
ol{
	counter-reset: number;
	list-style: none;
	margin: 0;
	padding: 0;
	}
ol li{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: solid 1px #dcdcdc;
}
ol li:before{
	counter-increment: number;
	content: counter(number);
	color: #101010;
	font-weight: bold;
	margin-right: 0.5em;
}

strong { font-weight: bold; }
iframe { display: block; max-width: 100%;}
form {}
input[type=text],
input[type=email],
input[type=password],
textarea {
	padding: 5px;
	font-size: 16px;
	font-weight: inherit;
	color: inherit;
	-webkit-appearance: none;
	border-radius: 0;
}
input[type=text],
input[type=email],
input[type=password],
textarea,
select {
	background-color: #fff;
	color: #999;
	border: 1px solid #ccc;
	line-height: 1;
	vertical-align: middle;
	max-width: 100%;
}
input[type=text] { margin-bottom: 0.5em; }
input[type=text]:last-child { margin-bottom: 0; }
input[type=email] {}
input[type=submit] { cursor: pointer;}
input[type="text"],
input[type="submit"],
textarea {
	-webkit-appearance: none;
	-webkit-border-radius: 0;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
input[type=text]:focus,
textarea:focus {
	color: #555;
}
textarea {
}
form em {
	margin-left: 1em;
	background: #101010;
	color: #fff;
	font-weight: bold;
	font-size: 10px;
	padding: 0.25em 0.5em;
	border-radius: 0;
}
form ul { margin: 0 !important; padding: 0 !important; border: none !important;}
form ul li { display: inline-block !important;}
form label { margin-right: 1.4em;}
form input[type="radio"] { margin-right: 0.7em;}
form input[type*="submit"] {
	display: block;
	margin: auto;
	width: 100%;
	max-width: 480px;
	padding: 20px 20px;
	line-height: 1;
	border: none;
	background-color: #101010;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
form input[type*="submit"]:hover { opacity: 0.5;}

/*
-----------------------------------------------------

 	=Global Style

-----------------------------------------------------
*/

#container {
	position: relative;
	z-index: 2;
	overflow: inherit;
}

.wrapper {
	width: 1080px;
	margin: auto;
}

.wrapper-min {
	max-width: 720px;
}

/* =Preloader
-----------------------------------------------------

html,
html body,
* html,
* html body {
	height: 100%;
}

#loader {
	display: none;
	display: block;
	position: fixed;
	z-index: 999999999;
	width: 100%;
	height: 100%;
	left: 0;
	text-align:
	center;
	background-color: #fff;
}

#loader img {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	text-align: center;
}

* html #loader,
* html #loader p {
	position: absolute;
}
 */

/* objectFitImages.js
----------------------------------------------------- */
/* objectFitImages.js */
img.js-object-fit {
	object-fit: cover;
	width: 100%;
	height: 100%;

	/* objectFitImages for ie11 */
	object-position: center center;
	font-family: 'object-fit: cover; object-position: center center;'
}


/* Animation
-----------------------------------------------------*/
.fade_in {
  -webkit-animation: fade_in_animation 2s;
          animation: fade_in_animation 2s;
}

.fade_in_two {
  -webkit-animation: fade_in_animation 4s;
          animation: fade_in_animation 4s;
}

.fade_in_three {
  -webkit-animation: fade_in_animation 6s;
          animation: fade_in_animation 6s;
}

.fade_in_four {
  -webkit-animation: fade_in_animation 8s;
          animation: fade_in_animation 8s;
}

@-webkit-keyframes fade_in_animation {
	0% { opacity: 0;}
	50% { opacity: 0;}
	100% { opacity: 1;}
}

.slide_down {
  -webkit-animation: slide_down_animation 1s cubic-bezier(.13,.49,.55,.81)0s 1 normal;
          animation: slide_down_animation 1s cubic-bezier(.13,.49,.55,.81)0s 1 normal;
}

@-webkit-keyframes slide_down_animation {
	0% { margin-top: -10px; opacity: 0}
	100% { margin-right: top; opacity: 1;}
}

/*
-----------------------------------------------------

	=Header

-----------------------------------------------------
*/


#cont {}

#header {
	position: absolute;
	z-index: -1;
	width: 100vw;
	max-width: 100%;
	height: 100vh;
	overflow: hidden;
}
#header #header-in {}

	/* =parallax
	----------------------------------------------------- */
	.parallax {
		height:100vh;
		overflow-x:hidden;
		overflow-y:auto;
		-webkit-overflow-scrolling:touch;
		-webkit-perspective: 300px;
		   -moz-perspective: 300px;
		    -ms-perspective: 300px;
		     -o-perspective: 300px;
		        perspective: 300px;
	}

	.layer-foreside {
		-webkit-transform:translateZ(60px) scale(0.9);
		   -moz-transform:translateZ(60px) scale(0.9);
		    -ms-transform:translateZ(60px) scale(0.9);
		     -o-transform:translateZ(60px) scale(0.9);
		        transform:translateZ(60px) scale(0.9);
		z-index: 2;
	}

	.layer-base {
		-webkit-transform:translateZ(0);
		   -moz-transform:translateZ(0);
		    -ms-transform:translateZ(0);
		     -o-transform:translateZ(0);
		        transform:translateZ(0);
		z-index: 1;
	}
	.layer-depth01 {
		-webkit-transform:translateZ(-50px) scale(1.25);
		   -moz-transform:translateZ(-50px) scale(1.25);
		    -ms-transform:translateZ(-50px) scale(1.25);
		     -o-transform:translateZ(-50px) scale(1.25);
		        transform:translateZ(-50px) scale(1.25);
		z-index: -1;
	}

	.layer-depth02 {
		-webkit-transform:translateZ(-100px) scale(1.5);
		   -moz-transform:translateZ(-100px) scale(1.5);
		    -ms-transform:translateZ(-100px) scale(1.5);
		     -o-transform:translateZ(-100px) scale(1.5);
		        transform:translateZ(-100px) scale(1.5);
		z-index: -3;
	}

	.layer-depth03 {
		-webkit-transform:translateZ(-300px) scale(2.0);
		   -moz-transform:translateZ(-300px) scale(2.0);
		    -ms-transform:translateZ(-300px) scale(2.0);
		     -o-transform:translateZ(-300px) scale(2.0);
		        transform:translateZ(-300px) scale(2.0);
		z-index: -3;
	}
	.layer-depth04 {
		-webkit-transform:translateZ(-600px) scale(3.5);
		   -moz-transform:translateZ(-600px) scale(3.5);
		    -ms-transform:translateZ(-600px) scale(3.5);
		     -o-transform:translateZ(-600px) scale(3.5);
		        transform:translateZ(-600px) scale(3.5);
		z-index: -4;
	}

#header #logo {
	position: absolute;
	z-index: -2;
	top: 10vh;
	right: 12vw;
	width: 80px;
}
#header #pieces {
	position: fixed;
	z-index: -3;
  top: -4vh;
  right: 20vw;
	width: 37vw;
	height: 100vh;
}
#header #slash {
	position: fixed;
	z-index: -1;
	top: -80px;
	left: 6vw;
	width: 50vw;
	height: 100vh;
}


#concept {
	min-height: 100vh;
	position: relative;
}
#concept .wrapper {}
#concept .box {}
#concept .tagline {
	max-width: 920px;
}
#concept .tagline .title {
	font-size: 68px;
	letter-spacing: 0.35em;
}
#concept .tagline .title span {
	font-family: 'Roboto Condensed', "source-han-sans-japanese", 'SourceHanSans-Regular', 'Source Han Sans Regular', '源ノ角ゴシック Regular', '源ノ角ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif, serif;
}
#concept .tagline .text {
	padding: 0 40px 0 0;
	text-align: right;
	line-height: 3.2;
	letter-spacing: 0.35em;
}


/*
-----------------------------------------------------

	=Navigation

-----------------------------------------------------
*/
#nav {
	padding-top: 300px;
	height: 100vh;
}
#nav ul.nav-main {
	display: inline-block;
	font-size: 0;
	letter-spacing: 0;
	background-color: #fff;
}
#nav ul.nav-main li {
	display: inline-block;
	margin: 0 4em 20px 0;
	font-size: 16px;
	letter-spacing: 0.25em;
}
#nav ul.nav-main li:last-child { margin: 0; }
#nav ul.nav-main li a {
	display: block;
	text-decoration: none;
	margin-top: -0.15em;
	color: inherit;
	font-weight: normal;
	line-height: 1;
}
#nav ul.nav-main li a:hover { opacity: 0.5; }

/* Subpage only */
#nav {
	padding-top: 6.25vw;
	height: auto;
}


/*
-----------------------------------------------------

	=Common Parts

-----------------------------------------------------
*/


/* =Section
----------------------------------------------------- */

.section { padding: 120px 0; position: relative;}
.section-header { text-align: center;}
.section-header img { margin: auto; }

.block { margin-bottom: 120px;}
.block:last-child { margin-bottom: 0;}

.border-top-black { border-top: solid 3px #000; }


.picture-content .picture { width: 300px; }
.picture-content .content { width: 780px; max-width: 100%; }

.font24.bold {
	font-size: 16px;
	font-weight:bold;
	margin-bottom: 10px;
}
/* =Heading
----------------------------------------------------- */

.title-section {
	display: block;
	width: 300px;
	height: 75px;
	margin: 0 0 60px auto;
	background-color: #000;
	color: #fff;
	font-size: 32px;
	font-weight: normal;
	letter-spacing: 0.25em;
	position: relative;
}
.title-section span {
	display: inline-block;
	vertical-align: top;
	line-height: 1;
	margin-top: -0.15em;
}
.title-section.absolute {
	margin-top: -120px;
}

.title-main {
	margin-bottom: 60px;
	padding-bottom: 20px;
	font-size: 24px;
	font-weight: bold;
	position: relative;
	line-height: 2;
}
.title-main::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 60px;
	height: 3px;
	background-color: #000;
}
.title-main:last-child { margin-bottom: 0; }
.title-main.ta-r::after { left: inherit; right: 0; }


.title-simple {
	margin-bottom: 1em;
	font-size: 24px;
	font-weight: bold;
	line-height: 1.6;
}
.title-simple:last-child { margin-bottom: 0; }

.title-simple em {
	display: inline-block;
	vertical-align: middle;
	margin: -0.15em 0 0 2em;
	font-size: 14px;
	font-weight: normal;
}

.ploco_title {
	font-size: 36px;
	line-height: 1.2;
}



/* =Button
----------------------------------------------------- */

.button-more {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	margin: auto;
	padding: 0 40px;
	min-width: 240px;
	height: 60px;
	line-height: 54px;
	border: solid 3px #000;
	background-color: #fff;
	color: #000;
	font-size: 16px;
	font-weight: bold;
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
}
.button-more span {
	display: inline-block;
}
.button-more i {
	position: absolute;
	top: 0;
	right: 20px;
	font-size: 16px;
	line-height: 56px;
		-webkit-transition: all ease-out 0.2s;
			 -moz-transition: all ease-out 0.2s;
				-ms-transition: all ease-out 0.2s;
						transition: all ease-out 0.2s;
}
.button-more:hover { background-color: #000; color: #fff;}
.button-more:hover i { right: 15px;}

	.button-more.size-small,
	.button-more.size-small span,
	.button-more.size-small i {
		line-height: 40px;
	}
	.button-more.size-small span {
		line-height: 43px;
	}
	.button-more.size-small {
		padding: 0 30px;
		min-width: 160px;
		height: 40px;
		font-size: 14px;
		font-weight: normal;
	}
	.button-more.size-small i { right: 12px; }
	.button-more.size-small:hover i { right: 8px; }

	.button-more.back {}
	.button-more.back i { left: 20px; right: inherit;}
	.button-more.back:hover i { left: 15px; right: inherit;}

	.button-more.black { background-color: #000; color: #fff; }
	.button-more.black:hover { background-color: #fff; color: #000; }


/* =Decoration
----------------------------------------------------- */
hr {
	clear: both;
	border: none;
	height: 80px;
}

.text-note { font-size: 11px; }

.text-serif {
	font-family: 'source-han-serif-japanese', '源ノ明朝', "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro W3", Hiragino Mincho Pro, serif;
}


.frame {
	margin-bottom: 2em;
	padding: 2em;
}
.frame:last-child { margin-bottom: 0; }




/* =loop
----------------------------------------------------- */
.loop {}
.loop .row {}
.loop .row .col {}
.loop .row .col:last-child { margin-bottom: 0; }

.more-link { display: none;}



/*
-----------------------------------------------------

	=Home

-----------------------------------------------------
*/

/* =concept
----------------------------------------------------- */


/* =service
----------------------------------------------------- */
.top-service {
	background-color: rgba(241, 241, 241, 0.95);
	background-color: #f1f1f1;
}

.service-lineup {}
.service-lineup .box {}
.service-lineup .service-summary {}
.service-lineup .service-detail {}

.service-summary { margin-bottom: 80px; }
.service-summary .frame { padding: 40px; }
.service-summary .picture .frame { background-color: #000; color: #fff; }
.service-summary .content .frame { background-color: #fff; }

.service-summary .picture {}
.title-main .numbering {
	display: block;
	font-size: 96px;
	font-weight: 200;
	line-height: 1;
}
.title-main .numbering::after {
	content: "";
	display: inline-block;
	margin: 0 0 0 30px;
	background: url(assets/images/ico-slash-white.png) no-repeat;
	background-size: contain;
	width: 37px;
	height: 50px;
}

/* A // サービス */
.service-detail {}
.service-detail .flex-row .col:nth-child(even) {
	margin-top: 40px;
}

.service-a .patent_number {
	font-size: 24px;
}

/* B // プロダクト */
.loop .type-product .col {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
.loop .type-product .col:last-child { margin-bottom: 0; }
/*.loop .type-product .image { width: 22%;}
.loop .type-product .content { width: 66%;}*/

.loop .type-product .content {
	font-size: 24px;
}
.loop .type-product .content .meta {
	margin-bottom: 0.5em;
	font-weight: bold;
}
.loop .type-product .content .title {
	font-weight: normal;
}
.loop .type-product .content .title em {
	display: inline-block;
	margin-left: 2em;
	font-size: 14px;
}

.loop .type-product .content .description {
	font-size: 14px;
}

/* C // 特許コンサル */
.service-c .title { font-size: 20px;}

.base_flex {
	display: flex;
	justify-content:space-between;
	flex-wrap: wrap;
}

.base_flex .box {
	width: 30%;
}

/* =profile
----------------------------------------------------- */
.top-profile {
	background: url(assets/images/shape-pieces-gray.png) no-repeat right 40% top 20%;
	background-size: 40%;
}

.profile_all {
	margin-bottom: 40px;
}

.loop .type-profile .header {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-bottom: 80px;
}
.loop .type-profile .header .image { width: 30%; margin: 0 8% 0 0; }
.loop .type-profile .header .content { width: 62%; }
.loop .type-profile .header .content .job {
	margin-bottom: 0.25em;
	font-size: 12px;
}
.loop .type-profile .header .content .title {
	margin-bottom: 0.25em;
	font-size: 24px;
	line-height: 1.8;
	letter-spacing: 0.35em;
}
.loop .type-profile .header .content .title em {
	font-family: 'Roboto Condensed', "source-han-sans-japanese", 'SourceHanSans-Regular', 'Source Han Sans Regular', '源ノ角ゴシック Regular', '源ノ角ゴシック', "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo", "メイリオ", "游ゴシック体", "Yu Gothic", YuGothic, sans-serif, serif;
	font-weight: bold;
}
.loop .type-profile .header .content .english {}
.loop .type-profile .header .content .english em { font-weight: bold; }
.loop .type-profile .text {}

.map { height: 400px; }

#profile .type-profile.column-2 .flex-item {
	width: calc(25% - 40px);
}

/* =news
----------------------------------------------------- */

/* =information
----------------------------------------------------- */
.loop .type-information .col {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;

	margin-bottom: 60px;
}
.loop .type-information .col:last-child { margin-bottom: 0; }
.loop .type-information .image { width: 18%; }
.loop .type-information .content { width: 76%; }

.loop .type-information .image img {}
.loop .type-information .image a:hover img { opacity: 0.5; }
.loop .type-information .content > * { margin-bottom: 15px;}
.loop .type-information .content .meta { font-size: 12px; }
.loop .type-information .content .meta > * {
	display: inline-block;
	vertical-align: middle;
	margin: 0 1em 0 0;
	line-height: 1;
}
.loop .type-information .content .meta .date {
	font-size: 16px;
	font-weight: 200;
	letter-spacing: 0;
	opacity: 0.5;
}
.loop .type-information .content .meta .category {
	padding: 0 1em;
	background-color: #000;
	color: #fff;
	font-size: 9px;
	line-height: 2;
}
.loop .type-information .content .meta .category a {
	color: inherit;
	text-decoration: none;
}
.loop .type-information .content .meta .map {
	background: url(assets/images/ico-marker.png) no-repeat left center;
	background-size: 9px auto;
	padding-left: 15px;
	opacity: 0.5;
}
.loop .type-information .content .meta .map a {
	color: inherit;
	text-decoration: none;
}
.loop .type-information .content .title {
	font-size: 18px;
	font-weight: normal;
	line-height: 1.6;
}
.loop .type-information .content .title a {
	display: inline-block;
	text-decoration: none;
}
.loop .type-information .content .title a:hover { text-decoration: underline; }
.loop .type-information .text {
	margin-bottom: 5px;
	font-size: 12px;
	line-height: 2;
}
.loop .type-information .content .text { font-size: 12px; opacity: .5; letter-spacing: 0.25;}
.loop .type-information .content .text p { line-height: 2;}


.back_list {
	display: flex;
	justify-content: space-between;
}

.back_list li {
	width: 30%;
	font-size: 1.2rem;
	line-height: 1.5;
}

.back_list li span {
	color: #DCDCDC;
	font-size: 2.4rem;
	display: block;
	line-height: 1.25;
	margin-top: 10px;
	letter-spacing: 0.1px;
}

.sns_icon {
	max-width: 40px;
}

/* =contact
----------------------------------------------------- */
#contact {
	background: url(assets/images/shape-pieces-black.png) no-repeat right 40% top 20%;
	background-size: 30%;
	background-color: #222;
	color: #fff;
}
#contact,
#contact a { color: #fff; }

	/* MW WP Form */
	.mw_wp_form th,
	.mw_wp_form td {
		vertical-align: middle;
	}
	.mw_wp_form input[type=text],
	.mw_wp_form input[type=email],
	.mw_wp_form input[type=password],
	.mw_wp_form textarea {
		display: inline-block;
		vertical-align: middle;
		padding: 15px;
		border: solid 1px #fff;
		border-radius: 3px;
		background-color: rgba(255, 255, 255, 0.5);
		color: #fff;
	}

	.mw_wp_form textarea { width: auto; }

	.mw_wp_form .button-more {
		text-align: left;
	}
	.mw_wp_form input[type="submit"] {
		display: inline-block;
		background-color: transparent;
		color: inherit;
		font-size: inherit;
		font-weight: inherit;
		font-weight: inherit;
		-webkit-transition: all ease-out 0.2s;
		   -moz-transition: all ease-out 0.2s;
		    -ms-transition: all ease-out 0.2s;
		        transition: all ease-out 0.2s;
		text-align: left;
		letter-spacing: 0.25em;
	}
	.mw_wp_form input[type="submit"]:hover {
		color: inherit;
		opacity: inherit;
	}


/*
-----------------------------------------------------

	=Footer

-----------------------------------------------------
*/

#action {}
#action a.tel {
	display: block;
	padding: 50px 6.25vw;
	background-color: #ff6c00;
	font-size: 32px;
	line-height: 40px;
	text-align: center;
	text-decoration: none;
	letter-spacing: 0.35em;
}
#action a.tel span {
	opacity: 0.25;
}
#action a.tel:hover {
	background-color: #fff;
	color: #ff6c00;
}

/* Pagetop
#button-pagetop {
	position: absolute;
	right: 0;
	top: 0;
	padding-top: 60px;
} */

#footer {}
#footer,
#footer a {}

/* Copyright */
#footer #copyright {
	padding: 30px 0;
	font-size: 12px;
	line-height: 20px;
}
#footer #copyright ul li {
	display: inline-block;
	vertical-align: middle;
	margin: 0 30px 0 0;
	line-height: 0;
}
#footer #copyright ul li:last-child { margin: 0;}
#footer #copyright ul li img { vertical-align: middle; }



/*
-----------------------------------------------------

	=Article

-----------------------------------------------------
*/

.article {}
.frame-white {
	background-color: #fff;
}
.article-content {}

.patent-lists {
	display:flex;
	justify-content: space-between;
}

.patent-lists .item {
	width: calc(33.333% - 20px);
    margin-bottom: 25px;
    background: #FFF;
    padding: 20px;
    box-sizing: border-box;
    padding-bottom: 40px;
    position: relative;
    border-radius: 5px;
    box-shadow: 0 0 5px 1px rgba(14, 33, 64, .14);
    box-sizing: border-box;
}

.patent-lists .item .img-box {
    padding-top: 75%;
    width: 100%;
    position: relative;
    margin-bottom: 30px;
}

.patent-lists .item .img-box img {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
	    height: 100%;
    width: 100%;
	object-fit: cover;
}

.patent-lists .item .content-area {
    padding-bottom: 15px;
    border-bottom: 1px solid #DCDCDC;
    margin-bottom: 15px;
}

.patent-lists .info-area {
    margin-bottom: 20px;
    width: 100%;
}

.patent-lists .item .info-area .company {
    font-size: 14px;
}

.patent-lists .item .viewmore {
    position: absolute;
    bottom: 15px;
    right: 20px;
}

.patent-lists .item .content-area h3 {
	line-height: 1.5;
	font-weight:bold;
	font-size: 14px;
	margin-bottom: 10px;
}
.patent-lists .item .content-area p {
	line-height:1.5;
	font-size: 12px;
}

.viewmore {
	text-decoration: none;
	font-style: italic;
}

.viewmore em:after {
    content: " ";
    width: 42px;
    height: 11px;
    background-image: url("https://ipmarket.jp/assets/images/ico-link-right_b.png");
    background-repeat: no-repeat;
    background-size: contain;
    background-position: bottom;
    display: inline-block;
    margin-left: 20px;
}

/*
-----------------------------------------------------

	=Media Queries Responsive Structure

-----------------------------------------------------
*/

/* Desktop
----------------------------------------------------- */
@media screen and (min-width: 600px) {
	.sp { display: none !important; }

	body {
		min-width: 1120px;
	}
}


/* Smartphone
----------------------------------------------------- */
@media screen and (min-width: 0px) and (max-width: 599px) {
	html { font-size: 10px; }
	body { font-size: 1.3rem; letter-spacing: 0;}

	.pc { display: none !important;}

	p {}
	iframe { width: 100%;}


	/* Apperance
	--------------------------------------------------*/
	input[type="button"],
	input[type="text"],
	input[type="submit"] {-webkit-appearance: none;border-radius: 0;}

	/* Reset
	--------------------------------------------------*/

	iframe { max-height: 240px;}


	/* =Global Style
	-------------------------------------------------- */
	.wrapper {
		width: auto;
		padding: 0 6.25vw;
		margin: auto;
	}

	/* =Header
	-------------------------------------------------- */
	#header {}
	#header #header-in {
		padding: 15px 6.25vw !important;
	}
	#header #logo {
		top: 12vh;
		right: 6vw;
		width: auto;
		height: 96vh;
	}
	#header #logo img { max-height: 80vh; width: auto; }
	#header #pieces {
		position: fixed;
		z-index: -3;
	  top: 15vh;
	  right: 12vw;
		width: 40vw;
		height: 100vw;
	}
	#header #slash {
		position: fixed;
		z-index: -1;
		top: -80px;
		left: -15vw;
		width: 100vw;
		height: 100vh;
	}
		.layer-foreside {
			-webkit-transform:translateZ(60px) scale(0.9);
			   -moz-transform:translateZ(60px) scale(0.9);
			    -ms-transform:translateZ(60px) scale(0.9);
			     -o-transform:translateZ(60px) scale(0.9);
			        transform:translateZ(60px) scale(0.9);
			z-index: 2;
		}

		.layer-base {
			-webkit-transform:translateZ(0);
			   -moz-transform:translateZ(0);
			    -ms-transform:translateZ(0);
			     -o-transform:translateZ(0);
			        transform:translateZ(0);
		}
		.layer-depth01 {
			-webkit-transform:translateZ(-20px) scale(1.05);
			   -moz-transform:translateZ(-20px) scale(1.05);
			    -ms-transform:translateZ(-20px) scale(1.05);
			     -o-transform:translateZ(-20px) scale(1.05);
			        transform:translateZ(-20px) scale(1.05);
		}

		.layer-depth02 {
			-webkit-transform:translateZ(-100px) scale(1.5);
			   -moz-transform:translateZ(-100px) scale(1.5);
			    -ms-transform:translateZ(-100px) scale(1.5);
			     -o-transform:translateZ(-100px) scale(1.5);
			        transform:translateZ(-100px) scale(1.5);
		}

		.layer-depth03 {
			-webkit-transform:translateZ(-300px) scale(2.0);
			   -moz-transform:translateZ(-300px) scale(2.0);
			    -ms-transform:translateZ(-300px) scale(2.0);
			     -o-transform:translateZ(-300px) scale(2.0);
			        transform:translateZ(-300px) scale(2.0);
		}
		.layer-depth04 {
			-webkit-transform:translateZ(-40px) scale(1.15);
			   -moz-transform:translateZ(-40px) scale(1.15);
			    -ms-transform:translateZ(-40px) scale(1.15);
			     -o-transform:translateZ(-40px) scale(1.15);
			        transform:translateZ(-40px) scale(1.15);
		}


	/* concept */
	#concept { min-height: auto; }
	#concept .tagline { text-align: center; }
	#concept .tagline .title { font-size: 26px; }
	#concept .tagline .text { text-align: inherit; padding: 0;}


	/* =Navigation
	-------------------------------------------------- */
	#nav {}
	.top #nav {
		padding-top: 35vh;
		height: 100vh;
	}
	#nav ul.nav-main { background-color: transparent;}
	#nav ul.nav-main li {
		display: block;
		margin: 0 0 20px 0;
	}
	#nav ul.nav-main li a {
		background-color: #fff;
		margin-top: 0;
	}
	#nav ul.nav-main li a:hover { opacity: 0.5; }

	/* Subpage Only */
	.sub #nav ul.nav-main { display: none; }

	/* =Navigation
	--------------------------------------------------
	.toggler {
		position: fixed;
		z-index: 9998;
		top: 0;
		right: 0;
	}
	.trigger-bars,
	.trigger-bars span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.trigger-bars {
		position: relative;
		z-index: 9999;
		width: 30px;
		height: 19px;
	}
	.trigger-bars span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 1px;
		background-color: #000;
		border-radius: 0;
	}
	.trigger-bars span:nth-of-type(1) { top: 0;}
	.trigger-bars span:nth-of-type(2) { top: 9px;}
	.trigger-bars span:nth-of-type(3) {	bottom: 0;}
	.trigger-bars.active span:nth-of-type(1) {
		-webkit-transform: translateY(9px) rotate(-45deg);
		        transform: translateY(9px) rotate(-45deg);
	}
	.trigger-bars.active span:nth-of-type(2) {
		opacity: 0;
	}
	.trigger-bars.active span:nth-of-type(3) {
		-webkit-transform: translateY(-9px) rotate(45deg);
		        transform: translateY(-9px) rotate(45deg);
	}

	#nav {
		position: fixed;
		z-index: 9996;
		top: 0;
		right: 0;
		bottom: auto;
		width: 100vw;
		height: 100vh;
		padding: 0;
		background-color: #fff;
		overflow-y:scroll;
		-webkit-overflow-scrolling:touch;
		-webkit-transform:translate3d(100%,0,0);
			 -moz-transform:translate3d(100%,0,0);
				-ms-transform:translate3d(100%,0,0);
						transform:translate3d(100%,0,0);
	}

	#nav.on {
		-webkit-transform:translate3d(0,0,0);
		-moz-transform:translate3d(0,0,0);
		-ms-transform:translate3d(0,0,0);
		transform:translate3d(0,0,0);
	}
	#nav #nav-in {
		padding: 6.25vw;
		padding-top: 95px;
		height: 100vh;
		opacity: 0;
		-webkit-transition: all ease-out 0.2s;
			 -moz-transition: all ease-out 0.2s;
				-ms-transition: all ease-out 0.2s;
						transition: all ease-out 0.2s;
	}
	#nav.on #nav-in {
		opacity: 1;
	}

	ul.nav-main {
		margin-bottom: 20px;
		flex-direction: column;
	}
	ul.nav-main li {
		display: block;
		margin-bottom: 1em;
		width: 100%;
		display: block;
	}
	#nav ul.nav-main li {
		opacity: 0;
		margin-left: -2em;
		-webkit-transition: all ease-out 0.4s;
			 -moz-transition: all ease-out 0.4s;
				-ms-transition: all ease-out 0.4s;
						transition: all ease-out 0.4s;
	}
	#nav.on ul.nav-main li {
		opacity: 1;
		margin-left: 0;
	}
	ul.nav-main li a {
		display: block;
		width: auto;
		padding: 10px 0;
		font-size: 14px;
		border: none;
		border-left: 0;
		border-right: 0 !important;
		letter-spacing: 0.1em;
		text-transform: uppercase;
		text-decoration: none;
		text-align: left;
		color: #000;

	}
	ul.nav-main > li > a {
		border-bottom: solid 1px #dcdcdc;
		line-height: 1.5;
		height: auto;
	}
	ul.nav-main li a:hover {}
	ul.nav-main ul {
		margin-bottom: 20px;
		display: block;
		position: static;
		border: none !important;
	}
	ul.nav-main li {
		margin-bottom: 0;
	}
	ul.nav-main ul li a {
		border: none;
		font-size: 12px;
		height: auto;
	} */

	/* =Common Parts
	--------------------------------------------------*/
	/* Section */
	.block { margin-bottom: 12.5vw;}
	.section { padding: 12.5vw 0;}
	/*.section-header { margin-bottom: 6.25vw;}*/
	
	.base_flex .box {
	width: 100%;
}

	hr { height: 12.5vw}
	table th,
	table td{ font-size: 10px !important; padding: 0.5em !important;}

	.title-section {
		width: 240px; height: 60px; font-size: 28px;
	}
	.wrapper .title-section { margin-right: -6.25vw;}
	.title-section.absolute { margin-top: -12.5vw;}
	.title-main { font-size: 20px; }
	.title-simple em { display: block; margin: 0 0 0 0; }
	.title-simple { font-size: 18px; }


	.button-more {
		display: block;
		font-size: 16px;
		letter-spacing: 0.05em
	}
	.button-more.size-small {
		display: inline-block;
	}

	.ploco_title {
		font-size: 20px;
		line-height: 1.5;
	}

	/* =Main
	-------------------------------------------------- */

	/* service */
	.service-summary { margin-bottom: 12.5vw; }
	.service-summary .picture { margin-bottom: 0; }
	.service-summary .frame { padding: 20px; }
	.service-detail .flex-row .col:nth-child(even) { margin-top: 0; }
	.loop .type-product .content { font-size: 14px; }
	.service-c .title { font-size: 16px; }

	/* profile */
	.loop .type-profile .header {
		display: block;
		margin-bottom: 6.25vw;
		text-align: center;
	}
	.loop .type-profile .header .image,
	.loop .type-profile .header .content { width: 100%; margin: 0 auto; }
	.loop .type-profile .header .image { margin-bottom: 6.25vw; }
	.loop .type-profile .header .image img {}

	.map { height: 300px; }

	/* news */
	.loop .type-information .col { margin-bottom: 3.125vw; }
	.loop .type-information .image { width: 28%; }
	.loop .type-information .content { width: 66%; }
	.loop .type-information .content > * { margin-bottom: 10px; }
	.loop .type-information .content .meta > * { font-size: 12px; }
	.loop .type-information .content .meta .date { font-size: 12px; }
	.loop .type-information .content .title { font-size: 12px; }
	.loop .type-information .content .text { display: none; }

	/* MW WP Form */
	.mw_wp_form tr,
	.mw_wp_form th,
	.mw_wp_form td,
	.mw_wp_form span { display: block !important; text-align: left; max-width: 100%;}
	.mw_wp_form tr { padding: 10px 0; margin: 0; border-bottom: none;}
	.mw_wp_form th,
	.mw_wp_form td { width: 100% !important; padding: 5px 0 !important; font-size: 1em !important; background-color: transparent; border: none !important;}

	.mw_wp_form input,
	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="radio"],
	.mw_wp_form input[type="email"],
	.mw_wp_form textarea,
	.mw_wp_form select,
	.mw_wp_form input[type*="submit"] { font-size: 16px !important;}
	.mw_wp_form input[type="text"],
	.mw_wp_form input[type="email"],
	.mw_wp_form textarea { padding: 0.5em;width: 100%;}
	.mw_wp_form textarea { width: 100%; }
	.mw_wp_form select { padding: 0.5em; width: auto;}
	.mw_wp_form input[type="radio"] { padding: 0 !important;}
	.mw_wp_form input[type*="submit"] { width: 100% !important;}
	.mw_wp_form em { font-size: 0.8365rem;}

	/* =Footer
	-------------------------------------------------- */
	#action a.tel {
		padding: 6.25vw;
		font-size: 17px;
	}
	#footer #copyright {
		font-size: 10px;
		text-align: center;
	}
	#footer #copyright ul li { margin-bottom: 10px; }
	#footer #copyright ul li:last-child { margin-bottom: 0; }

	#footer #copyright ul {
		justify-content: center!important;
	}
	#footer #copyright ul li {
		margin: auto;
		margin-bottom: 25px;
	}
	
	.patent-lists,
	.back_list {
		flex-wrap: wrap;
	}
	
	.patent-lists .item,
	.back_list li {
		width: 100%;
	}
	
	.back_list li {
		margin-bottom: 20px;
	}
	
	.patent-lists .item {
		padding: 15px;
	}

}

/* Keep the existing desktop-only minimum width from affecting the renewal tablet layout. */
@media (min-width: 600px) and (max-width: 1119px) {
	body { min-width: 0; }
	.wrapper { width: auto; max-width: 100%; padding-left: 6.25vw; padding-right: 6.25vw; }
	.service-summary .frame { padding: 28px; }
}
