/*
Theme Name: l-d
Description: Link Design 企業サイト
*/

/*------------------
リセット
------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, 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: inherit;
	/* font-size: 100%; */
	vertical-align: baseline;
}
html {
	font-size: 62.5%;/*10px*/
}
body {
	position: relative;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	word-wrap: break-word;
	-webkit-text-size-adjust: 100%;
	color: #707070;
	font-family: 'Zen Kaku Gothic New', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック体", "Yu Gothic", "メイリオ", YuGothic, Meiryo, sans-serif;
	font-style: normal;
	font-feature-settings: 'palt';
	font-weight: bold;
	letter-spacing: 0;
	line-height: 1.3;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, main {
	display: block;
}
a {
	color: inherit;
	text-decoration: none;
}
img {
	display: block;
	max-width: 100%;
	width: 100%;
	height: auto;
	vertical-align: bottom;
}
/* input, textarea, button, select {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
border-radius: 0;
} */
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	border: none;
	background: none;
}
select::-ms-expand {
	display: none;
}
ol, ul {
	list-style: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
*, *:before, *:after {
	box-sizing: border-box;
}
strong, b {
	font-weight: bold;
}

/*------------------
全ページ共通 
------------------*/
body {
	font-size: 10px;
}
.sp {
	display: none;
}
.inner {
	max-width: 1000px;
	margin: 0 auto;
}
.inner-s {
	max-width: 860px;
	margin: 0 auto;
}
.red {
	color: #dc3232;
}

/* header */
header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
}
header.scroll {
	background: rgba(255, 255, 255, .9);
	color: #707070;
}
header .inner {
	display: flex;
	justify-content: space-between;
	max-width: 1300px;
	margin: 0 auto;
	position: relative;
}
header .logo {
	margin: 4em 0 0;
	width: 6.5em;
}
header.scroll .logo {
	margin: 2em 0;
	width: 4em;
}
header .logo .default {
	display: none;
}
.home header .logo .default,
header.scroll .logo .default {
	display: block;
}
.home header .logo .white,
header.scroll .logo .white {
	display: none;
}
.header__text {
	margin-top: 3em;
  color: #0E6EB8;
  font-size: 16px;
  position: absolute;
	left: 7%;
  z-index: 2;
}
header.scroll .header__text {
	margin-top: 1.2em;
	color: #0E6EB8 !important;
}
.tel-button {
  width: 343px;
  padding: 12px;
  background: #fffef1;
  box-shadow: 0px 3px 6px #00000052;
  border-radius: 15px;
  color: #0f0f0f;
  position: fixed;
	top: 8%;
	right: 10%;
  z-index: 5;
}
.tel-button:hover {
  opacity: 0.5;
}
.tel-button a {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tel-number {
  font-family: "Oswald", sans-serif;
  font-weight: 700;
  font-size: 32px;
}
.tel-info {
	font-size: 16px;
  font-weight: bold;
}

/* menu */
.menu_wrap {
	padding: 4em 0 0;
}
.scroll .menu_wrap {
	padding: 3em 0;
}
.menu_nav ul {
	display: flex;
}
.menu_nav li + li { 
	margin: 0 0 0 3em;
}
.menu_nav li a {
	font-size: 16px;
	color: #fff;
}
.scroll .menu_nav li a,
.home .menu_nav li a {
	color: #707070;
}
.open .menu_nav li a { 
	color: #fff;
}

/* section */
.section_ttl {
	font-size: 32px;
	text-align: center;
}
.section_btn a {
	display: block;
	font-size: 18px;
	padding: 1em;
	border: .14em solid #2D2D2D;
	background: #fff;
	border-radius: .56em;
	width: 15em;
	font-weight: bold;
	color: #707070;
}
.section_btn a:hover { 
	background: #01C9EA;
	color: #000;
}

/* contact */
.contact.section {
	padding: 12em 0;
	background: #FFFEF0;
	border-top: .25em solid #2D2D2D;
}
.contact_txt {
	font-size: 16px;
	text-align: center;
	margin: 4em 0 0;
	line-height: 2;
}
.contact_links {
	margin: 6em 0 0;
	display: flex;
	justify-content: space-between;
}
.contact_link {
	padding: 0;
	width: 49%;
}
.contact_link + .contact_link {
	margin: 0 0 0 3em;
}
.contact_link a:hover {
	background: #01C9EA; 
	color: #000;
}
.contact_link a, .contact_link > span {
	display: flex;
	align-items: center;
	justify-content: center;
	border: .25em solid #2D2D2D;
	background: #fff;
	border-radius: 1.5em;
	padding: 3em .5em;
	color: #707070;
}
.contact_link a > span, .contact_link > span > span {
	font-size: 32px;
	font-weight: bold;
	/* 	color: #707070; */
}
.contact_link a > span:first-child, .contact_link > span > span:first-child {
	border-right: 1px solid #707070;
	padding: 0 .8em 0 0;
	margin: 0 .8em 0 0;
}
.contact_link .small {
	display: block;
	font-size: 13px;
	font-weight: 500;
	margin: 1em 0 0;
}
.contact_link .middle {
	font-size: 20px;
}

/* footer */
footer {
	background: #0E6EB8;
}
footer .inner {
	padding: 12em 0 3em;
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	flex-wrap: wrap;
	max-width: 1000px;
	margin: 0 auto;
}
footer .inner:after {
	content: "";
	position: absolute;
	bottom: 0;
	right: 0%;
	background: url('assets/img/company_img.png') no-repeat center top / contain;
	width: 48.5em;
	height: 14.7em;
}
.footer_info {
	width: 21em;
	font-size: 16px;
	color: #fff;
	line-height: 2;
}
footer .menu_nav li a {
	color: #fff !important;
}
footer .copyright {
	width: 100%;
	margin: 6em 0 0;
	font-size: 12px;
	color: #D9D7D7;
}

/*------------------
トップページ 
------------------*/
/* fv */
.fv {
	position: relative;
	z-index: 1;
}
.fv .inner {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 14em 0 0;
	max-width: 1220px;
}
.fv_bg {
	position: absolute;
	top: 20%;
	right: 3%;
	transform: translate(17em);
	width: 68.6em;
	z-index: -1;
}
.fv_main {
	max-width: 100%;
	height: 100%;
	display: block;
}
.slider {
	max-width: 100%;
}
.slide {
	width: 100%;
}
.slide img {
	width: 100%;
	height: 100%;
	display: block;
}
.fv_ttl {
	font-size: 42px;
	line-height: 1.5;
	margin: 6.5em 0 0 .5em;
}
.fv_ttl span {
	white-space: nowrap;
	position: relative;
}
.fv_ttl span:after {
	content: "";
	position: absolute;
	bottom: -.15em;
	left: 0;
	width: 100%;
	height: .22em;
	background-color: #01C9EA;
	background-image: repeating-linear-gradient(45deg,#fff, #fff .1em,transparent 0, transparent .2em);
	border-radius: 1em;
}

/* about */
.about {
	position: relative;
	text-align: center;
	padding: 23em 0 11em;
	margin: -12.5em 0 0;
	background: #0E6EB8;
}
.about .section_ttl {
	color: #fff;
}
.about_txt {
	display: inline-block;
	font-size: 18px;
	color: #fff;
	line-height: 2;
	margin: 3em 0 0;
	text-align: left;
}
.about .section_btn a {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, 50%);
}

/* intro */
.intro {
	padding: 15em 0 12em;
	text-align: center;
}
.intro_items {
	display: flex;
	justify-content: space-between;
	margin: 4.7em 0 0;
}
.intro_item {
	width: calc((100% - 10em) / 3);
}
.intro_item figure {
	width: 18em;
	height: 19em;
	margin: 0 auto;
	display: flex;
	align-items: flex-end;
}
.intro_item:nth-child(1) figure {
	width: 20em;
}
.intro_item-ttl {
	font-size: 24px;
	margin: 1.5em 0;
}
.intro_item-list li {
	position: relative;
	font-size: 16px;
	padding: 0 0 0 2em;
	line-height: 1.5;
	text-align: left;
}
.intro_item-list li:before {
	content: "";
	position: absolute;
	top: .2em;
	left: 0;
	width: 1.25em;
	height: 1.2em;
	background: url('assets/img/intro_check.png') no-repeat center top / contain;
}
.intro_item-list li + li {
	margin: 1em 0 0;
}

/* strength */
.strength {
	background: #F2F9FB;
	padding: 12em 0;
	border-top: .25em solid #2D2D2D;
}
.strength_items {
	margin: 7em 0 0;
}
.strength_item {
	position: relative;
	border: .25em solid #2D2D2D;
	background: #FFFEF0;
	border-radius: 2em;
	padding: 5em 10em 5em 7em;
	width: 86%;
}
.strength_item + .strength_item {
	margin: 6em 0 0;
}
.strength_item:nth-child(2) {
	margin: 6em 0 0 auto;
	padding: 5em 7em 5em 10em;
}
.strength_item-subttl {
	font-size: 16px;
}
.strength_item-ttl {
	font-size: 28px;
	margin: 1em 0 0;
}
.strength_item-txt {
	margin: 3em 0 0;
	font-size: 16px;
	line-height: 2;
}
.strength_item figure {
	position: absolute;
	bottom: -.25em;
	width: 21em;
}
.strength_item:nth-child(1) figure {
	right: -12em;
}
.strength_item:nth-child(2) figure {
	left: -12em;
	width: 18em;
}
.strength_item:nth-child(3) figure {
	right: -12em;
}
.strength_bottom {
	margin: 6em 0 0;
	text-align: center;
}
.strength_bottom-subttl {
	display: inline-block;
	position: relative;
	font-size: 32px;
}
.strength_bottom-subttl:after {
	content: "";
	position: absolute;
	bottom: -.15em;
	left: 0;
	width: 100%;
	height: .22em;
	background-color: #01C9EA;
	background-image: repeating-linear-gradient(45deg,#fff, #fff .1em,transparent 0, transparent .2em);
	border-radius: 1em;
}
.strength_bottom-flex {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin: 0 4em 0 0;
}
.strength_bottom figure {
	width: 25.4em;
}
.strength_bottom-txts {
	margin: 0 0 0 2em;
	text-align: left;
}
.strength_bottom .strength_item-ttl {
	margin: 2em 0 0;
}

/* links */
.links {
	padding: 12em 0;
	border-top: .25em solid #2D2D2D;
}
.links figure {
	width: 50.3em;
	margin: 0 auto;
}
.links_items {
	display: flex;
	justify-content: space-between;
	text-align: center;
	margin: -11em 0 0;
}
.links_item {
	width: calc((100% - 3em) / 2);
	background: #0E6EB8;
	color: #fff;
	padding: 9.2em 0 6em;
	border-radius: 2em;
}
.links_item-ttl {
	font-size: 32px;
}
.links .section_btn a {
	margin: 3em auto 0;
}

/*------------------
下層ページ 
------------------*/
/* page */
.page_header {
	background: #0E6EB8;
}
.page_header .inner {
	height: 45em;
	padding: 29.5em 0 0;
	position: relative;
}
.page_header-ttl {
	color: #fff;
	font-size: 38px;
	letter-spacing: .1em;
}
.page_header figure {
	position: absolute;
	bottom: -5.3em;
	right: 0;
}
.page_content {
	padding: 12em 0;
}

/* company */
.company .page_header {
	position: relative;
}
.company .page_header .inner {
	position: initial;
}
.company .page_header figure {
	width: 85em;
	bottom: -.2em;
}
.company_item + .company_item {
	margin: 12em 0 0;
}
.company_item-ttl { 
	font-size: 28px;
	text-align: center;
}
.company_item-txt {  
	font-size: 16px;
	line-height: 2;
	margin: 3.75em 0 0;
}
.company_item figure {
	width: 22.8em;
	margin: 2em 0 0 auto;
}
.company_item-table {
	display: block;
	position: relative;
	margin: 6em 0 0;
	padding: 6em 8em;
	border: .25em solid #2D2D2D;
	border-radius: 2.2em;
	width: 100%;
	background: #F3FAFC;
}
.company_item-table:before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	background: url('assets/img/company_list.png') no-repeat center top / contain;
	width: 7.7em;
	height: 7.7em;
}
.company_item-table tbody { 
	display: block;
}
.company_item-table tr {
	display: flex;
	border-bottom: .25em dotted #707070;
}
.company_item-table tr:last-child {
	border: none;
}
.company_item-table th,
.company_item-table td {
	font-size: 16px;
	text-align: left;
	padding: 1.5em;
	line-height: 2;
}
.company_item-table th {
	width: 25%;
}
.company_item-table td {
	width: 75%;
}

/* product */
.product .page_header figure {
	width: 53.8em;
}
.product_txt {
	font-size: 16px;
	line-height: 2;
	margin: 0 auto;
	max-width: 53.8em;
}
.product_items {
	display: flex;
	flex-wrap: wrap;
}
.product_item {
	width: calc((100% - 4em) / 3);
	margin: 6em 0 0 2em;
}
.product_item:nth-child(3n+1) {
	margin: 6em 0 0;
}
.product_item a {
	display: block;
}
.product_item figure {
	height: 23em;
	background: #F3FAFC;
	border: .25em solid #2D2D2D;
	border-radius: 2em;
	display: flex;
	align-items: center;
}
.product_item figure img { 
	width: 9em;
	margin: 0 auto;
}
.product_item.phone figure img { 
	width: 8em;
}
.product_item.copy figure img { 
	width: 11em;
	transform: translateX(2em);
}
.product_item.wifi figure img { 
	width: 11em;
}
.product_item.cloud figure img { 
	width: 13em;
}
.product_item.support figure img { 
	width: 10em;
}
.product_item.homepage figure img { 
	width: 13em;
}
.product_item-txts {
	padding: 3em .5em 0;
}
.product_item-ttl {
	display: inline-block;
	font-size: 25px;
	padding: 0 0 .2em;
	border-bottom: .15em dotted #707070;
}
.product_item-txt {
	font-size: 16px;
	line-height: 2;
	margin: 1em 0 0;
}

/* flow */
.flow .page_header figure {
	width: 48.4em;
}
.flow_item {
	position: relative;
	border: .25em solid #2D2D2D;
	background: #FFFEF0;
	border-radius: 2em;
	padding: 3em 3.8em 3em 10em;
	width: 80em;
}
.flow_item + .flow_item {
	margin: 6em 0 0;
}
.flow_item:nth-child(2n) {
	margin: 6em auto 0;
}
.flow_item:nth-child(3), .flow_item:nth-child(7) {
	margin: 6em 0 0 auto;
}
.flow_item figure {
	position: absolute;
	top: 0;
	left: 2em;
	transform: translateY(-50%); 
	width: 6em;
	height: 10em;
}
.flow_item:after {
	content: "";
	position: absolute;
}
.flow_item:nth-child(3):after {
	background: url('assets/img/flow_img2.png') no-repeat center top / contain;
	width: 22.5em;
	height: 28.2em;
	bottom: -5.5em;
	left: -21.4em;
}
.flow_item:nth-child(7):after {
	background: url('assets/img/flow_img3.png') no-repeat center top / contain;
	width: 25em;
	height: 25em;
	bottom: -.5em;
	right: -6em;
}
.flow_item-ttl {
	font-size: 28px;
}
.flow_item-txt {
	font-size: 16px;
	margin: .5em 0 0;
	line-height: 2;
}

/* page-contact */
.p-contact .page_header figure {
	width: 49em;
	bottom: -2.3em;
}
.p-contact_txt {
	font-size: 16px;
	line-height: 2;
	text-align: left;
}
.p-contact_form {
	margin: 6em 0 0;
	text-align: center;
}
.p-contact_form-item {
	text-align: left;
}
.p-contact_form-item + .p-contact_form-item {
	margin: 2em 0 0;
}
.p-contact_form label,
.p-contact_form .form_item-ttl {
	display: inline-block;
	font-size: 18px;
	width: 27%;
	vertical-align: top;
	padding: 1.2em 0 0;
}
.p-contact_form input[type="text"],
.p-contact_form input[type="email"],
.p-contact_form input[type="tel"],
.p-contact_form textarea,
.p-contact_form .form_item-txt {
	display: inline-block;
	font-size: 16px;
	border: .16em solid #2D2D2D;
	border-radius: .5em;
	padding: 1.2em;
	background: #F3FAFC;
	width: 70%;
}
.p-contact_form textarea {
	height: 25em;
}
.p-contact_form .form_item-txt {
	height: 25em;
	overflow-y: scroll;
	line-height: 1.6;
}
.p-contact_form .privacy .form_item-txt {
	font-weight: 500;
	padding: 2em 1.5em;
}
.p-contact_form .privacy .form_item-txt h3 {
	margin: 3em 0 1em;
	font-weight: bold;
}
.p-contact_form .privacy .form_item-txt ul {
	margin: 1em 0 0;
}
.p-contact_form .privacy .form_item-txt li {
	position: relative;
	padding: 0 0 0 1em;
}
.p-contact_form .privacy .form_item-txt ul li:before {
	position: absolute;
	top: .5em;
	left: 0;
	content: "";
	width: .3em;
	height: .3em;
	background: #707070;
	border-radius: 50%;
}
.p-contact_form .privacy .form_item-txt li + li {
	margin: .5em 0 0;
}
.p-contact_form .checkbox {
	margin: 3em 0 0 26%;
}
.p-contact_form .privacy-check label {
	width: 100%;
	padding: 0;
}
.p-contact_form .checkbox + p {
	text-align: center;
}
.p-contact_form input[type="submit"] {
	width: 14em;
	background: #fff;
	font-size: 18px;
	border: .17em solid #2D2D2D;
	border-radius: .5em;
	line-height: 3.5;
	margin: 4em 0 0;
	font-weight: bold;
	cursor: pointer;
	color: #2d2d2d;
}
.p-contact_form input[type="submit"] + .wpcf7-spinner {
	display: none;
}
.p-contact_form input[type="submit"]:hover { 
	background: #01C9EA;
	color: #000;
}
.wpcf7-not-valid-tip, .wpcf7-response-output {
	font-size: 16px;
}
.wpcf7-not-valid-tip {
	margin: .3em 0 0;
}
.wpcf7-response-output {
	display: inline-block;
	text-align: left;
	margin: 2em 0 0 !important;
	padding: 0 !important;
	color: #0E6EB8;
	border: none !important;
}

/*=================================================================
レスポンシブ対応 (PC小)
=================================================================*/

@media (max-width: 1440px) {
	/*------------------
	全ページ共通 
	------------------*/
	body, button {
		font-size: calc(10vw / 15);
	}
	.inner {
		max-width: 100em;
	}
	.inner-s {
		max-width: 86em;
	}

	/* header */
	header .inner {
		max-width: 130em;
	}
	.header__text {
		font-size: calc(15vw / 15);
	}
	.tel-button {
		top: 70px;
		right: 5%;
	}
	/* menu */
	.menu_nav li a {
		font-size: calc(15vw / 15);
	}

	/* section */
	.section_ttl {
		font-size: calc(30vw / 15);
	}
	.section_btn a {
		font-size: calc(16vw / 15);
	}

	/* contact */
	.contact .inner-s {
		max-width: 100em;
	}
	.contact_txt {
		font-size: calc(16vw / 15);
	}
	.contact_link a, .contact_link > span  {
		padding: 4em 1em;
	}
	.contact_link a > span, .contact_link > span > span {
		font-size: calc(30vw / 15);
	}
	.contact_link .small {
		font-size: calc(12vw / 15);
	}
	.contact_link .middle {
		font-size: calc(18vw / 15);
	}

	/* footer */
	footer .inner {
		max-width: 100em;
	}
	.footer_info {
		font-size: calc(15vw / 15);
	}
	footer .copyright {
		font-size: calc(11vw / 15);
	}

	/*------------------
	トップページ 
	------------------*/
	/* fv */
	.fv .inner {
		max-width: 122em;
	}
	.fv_ttl {
		font-size: calc(40vw / 15);
	}

	/* about */
	.about_txt {
		font-size: calc(16vw / 15);
	}

	/* intro */
	.intro_item-ttl {
		font-size: calc(24vw / 15);
	}
	.intro_item-list li {
		font-size: calc(16vw / 15);
	}

	/* strength */
	.strength_item-subttl {
		font-size: calc(16vw / 15);
	}
	.strength_item-ttl {
		font-size: calc(28vw / 15);
	}
	.strength_item-txt {
		font-size: calc(16vw / 15);
	}
	.strength_bottom-subttl {
		font-size: calc(32vw / 15);
	}

	/* links */
	.links_item-ttl {
		font-size: calc(32vw / 15);
	}

	/*------------------
	下層ページ 
	------------------*/
	/* page */
	.page_header-ttl {
		font-size: calc(38vw / 15);
	}

	/* company */
	.company_item-ttl { 
		font-size: calc(28vw / 15);
	}
	.company_item-txt {  
		font-size: calc(16vw / 15);
	}
	.company_item-table th,
	.company_item-table td {
		font-size: calc(16vw / 15);
	}

	/* product */
	.product_txt {
		font-size: calc(16vw / 15);
	}
	.product_item-ttl {
		font-size: calc(25vw / 15);
	}
	.product_item-txt {
		font-size: calc(16vw / 15);
	}

	/* flow */
	.flow_item-ttl {
		font-size: calc(28vw / 15);
	}
	.flow_item-txt {
		font-size: calc(16vw / 15);
	}

	/* page-contact */
	.p-contact_txt {
		font-size: calc(16vw / 15);
	}
	.p-contact_form label,
	.p-contact_form .form_item-ttl {
		font-size: calc(18vw / 15);
	}
	.p-contact_form input[type="text"],
	.p-contact_form input[type="email"],
	.p-contact_form input[type="tel"],
	.p-contact_form textarea,
	.p-contact_form .form_item-txt {
		font-size: calc(16vw / 15);
	}
	.p-contact_form input[type="submit"] {
		font-size: calc(18vw / 15);
	}
	.wpcf7-not-valid-tip, .wpcf7-response-output {
		font-size: calc(16vw / 15);
	}
}
@media(min-width: 768px){
	a[href^="tel:"]{
		pointer-events: none;
	}
}

/*=================================================================
レスポンシブ対応 (スマホ)
=================================================================*/
@media (max-width: 767px) {
	body, button {
		font-size: calc(10vw / 3.75);
	}
	.sp {
		display: block;
	}
	.pc {
		display: none;
	}
	.inner, .inner-s {
		max-width: 100%;
		padding: 0 2em;
	}

	/* header */
	header .inner {
		height: 5.5em;
	}
	header.open .logo .default {
		display: none;
	}
	header.open .logo .white {
		display: block;
	}
	header .logo {
		position: absolute;
		top: 0;
		left: 0;
		margin: 2em;
		width: 4em;
		z-index: 1;
	}
	header.scroll .logo {
		margin: 1.2em 2em;
		width: 3em;
	}
	header.scroll .header__text {
		margin-top: 1em;
	}
	.header__text {
		margin-top: 1.5em;
		font-size: 13px;
		position: absolute;
		top: 0;
		left: 25%;
	}
	.tel-button {
		position: fixed;
		top: 88%;
		left: 50%;
		transform: translate(-50%);
	}

	/* menu */
	.open.menu_wrap {
		display: flex;
		justify-content: center;
		align-items: center;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		min-height: 100vh;
		background: #0E6EB8;
	}
	.menu_trigger {
		position: absolute;
		top: 1em;
		right: .6em;
		width: 5.5em;
		height: 5.5em;
		cursor: pointer;
		z-index: 1000;
	}
	.scroll .menu_trigger {
		top: 0;
	}
	.menu_trigger span {
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
		width: 2.5em;
		height: .2em;
		background: #fff;
		border-radius: 1em;
	}
	.home .menu_trigger span,
	.scroll .menu_trigger span {
		background: #707070;
	}
	.open .menu_trigger span {
		background: #fff;
	}
	.menu_trigger span:nth-child(1) {
		top: calc(50% - .8em);
	}
	.menu_trigger span:nth-child(3) {
		top: calc(50% + .8em);
	}
	.open .menu_trigger span:nth-child(1) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(-45deg);
	}
	.open .menu_trigger span:nth-child(2) {
		display: none;
	}
	.open .menu_trigger span:nth-child(3) {
		top: 50%;
		transform: translate(-50%, -50%) rotate(45deg);
	}
	.menu_nav ul {
		display: block;
	}
	header .menu_nav ul {
		display: none;
	}
	.open .menu_nav ul {
		display: block;
	}
	.menu_nav li + li { 
		margin: 1.5em 0 0;
	}
	.menu_nav li a {
		font-size: calc(13vw / 3.75);
		color: #fff;
	}

	/* section */
	.section_ttl {
		font-size: calc(20vw / 3.75);
	}
	.section_btn a {
		font-size: calc(14vw / 3.75);
		border: .14em solid #2D2D2D;
		width: 13.4em;
	}

	/* contact */
	.contact.section {
		padding: 6em 0;
		border-top: .2em solid #2D2D2D;
	}
	.contact .inner-s {
		max-width: 100%;
	}
	.contact_txt {
		font-size: calc(13vw / 3.75);
		text-align: left;
		margin: 3em 0 0;
	}
	.contact_links {
		margin: 4em 0 0;
		display: block;
	}
	.contact_link {
		width: 100%;
	}
	.contact_link + .contact_link {
		margin: 3em 0 0;
	}
	.contact_link a, .contact_link > span {
		border: .2em solid #2D2D2D;
		padding: 4em 1em;
	}
	.contact_link a > span, .contact_link > span > span {
		font-size: calc(20vw / 3.75);
	}
	.contact_link .small {
		font-size: calc(10vw / 3.75);
	}
	.contact_link .middle {
		font-size: calc(18vw / 3.75);
	}

	/* footer */
	footer .inner {
		max-width: 100%;
		padding: 6em 2em 13em;
		display: block;
		text-align: center;
	}
	footer .inner:after {
		right: 0;
		width: 28em;
		height: 8.5em;
	}
	footer .menu_nav {
		display: inline-block;
		text-align: left;
	}
	.footer_info {
		font-size: calc(13vw / 3.75);
		text-align: left;
		margin: 4.6em 0 0 1.5em;
	}
	footer .copyright {
		text-align: left;
		font-size: calc(10vw / 3.75);
		margin: 3em 0 0 1.5em;
	}

	/*------------------
	トップページ 
	------------------*/
	/* fv */
	.fv .inner {
		max-width: 100%;
		padding: 10em 0 0;
		text-align: center;
		display: block;
		overflow: hidden;
	}
	.slide img {
		width: 100%;
		height: 100%;
		margin: auto 0;
		position: relative;
		left: 0.5rem;
	}
	.slide:nth-child(2) img {
    width: 81%;
	}
	.fv_ttl {
		display: inline-block;
		text-align: left;
		font-size: calc(30vw / 3.75);
		margin: 0;
	}

	/* about */
	.about {
		margin: -19.3em 0 0;
		padding: 22em 0 8em;
	}
	.about_txt {
		font-size: calc(13vw / 3.75);
	}

	/* intro */
	.intro {
		padding: 8.8em 0 6em;
	}
	.intro_items {
		display: block;
		margin: 4em 0 0;
	}
	.intro_item {
		width: 100%;
	}
	.intro_item + .intro_item {
		margin: 5em 0 0;
	}
	.intro_item figure {
		width: 8.9em;
		height: auto;
		display: block;
	}
	.intro_item:nth-child(1) figure {
		width: 10.2em;
	}
	.intro_item-ttl {
		font-size: calc(16vw / 3.75);
		margin: 1.5em 0 1.3em;
	}
	.intro_item-list {
		display: inline-block;
	}
	.intro_item-list li {
		font-size: calc(13vw / 3.75);
		padding: 0 0 0 2em;
	}
	.intro_item-list li + li {
		margin: .6em 0 0;
	}

	/* strength */
	.strength {
		padding: 6em 0;
		border-top: .2em solid #2D2D2D;
	}
	.strength_items {
		margin: 4.5em 0 0;
	}
	.strength_item {
		overflow: hidden;
		border: .2em solid #2D2D2D;
		padding: 4em 2em 8em;
		width: 100%;
	}
	.strength_item + .strength_item {
		margin: 4em 0 0;
	}
	.strength_item:nth-child(2) {
		margin: 4em 0 0 auto;
		padding: 4em 2em 9em;
	}
	.strength_item-subttl {
		font-size: calc(12vw / 3.75);
	}
	.strength_item-ttl {
		font-size: calc(16vw / 3.75);
	}
	.strength_item-txt {
		margin: 2.5em 0 0;
		font-size: calc(13vw / 3.75);
	}
	.strength_item figure {
		width: 10.3em;
	}
	.strength_item:nth-child(1) figure {
		right: 0;
	}
	.strength_item:nth-child(2) figure {
		left: 0;
		width: 8.7em;
	}
	.strength_item:nth-child(3) figure {
		right: 0;
	}
	.strength_bottom {
		margin: 6em 0 0;
	}
	.strength_bottom-subttl {
		font-size: calc(20vw / 3.75);
	}
	.strength_bottom-flex {
		display: block;
		margin: -2em 0 0;
	}
	.strength_bottom figure {
		width: 11.6em;
	}
	.strength_bottom-txts {
		width: 100%;
		margin: -4em 0 0;
	}
	.strength_bottom .strength_item-ttl {
		margin: 0 0 0 8em;
	}
	.strength_bottom .strength_item-txt .flex {
		display: flex;
		flex-wrap: wrap;
	}
	.strength_bottom .strength_item-txt .ttl {
		display: block;
		width: 25%;
	}
	.strength_bottom .strength_item-txt .txt {
		display: block;
		width: 75%;
	}

	/* links */
	.links {
		padding: 6em 0;
		border-top: .2em solid #2D2D2D;
	}
	.links figure {
		width: 25.7em;
	}
	.links_items {
		position: relative;
		display: block;
		margin: -4em 0 0;
	}
	.links_item {
		width: 100%;
		padding: 6em 0 4em;
	}
	.links_item + .links_item {
		margin: 3em 0 0;
	}
	.links_item-ttl {
		font-size: calc(20vw / 3.75);
	}
	.links .section_btn a {
		margin: 2em auto 0;
	}

	/*------------------
	下層ページ 
	------------------*/
	/* page */
	.page_header .inner { 
		height: 21em;
		padding: 12em 0 0 2em;
	}
	.page_header-ttl {
		font-size: calc(20vw / 3.75);
	}
	.page_header figure {
		overflow-x: hidden;
		bottom: -1.3em;
		right: 0;
	}
	.page_header figure img {
		transform: translateX(1em);
	}
	.page_content {
		padding: 6em 0;
		overflow-y: hidden;
	}

	/* company */
	.company .page_header figure {
		width: 24.6em;
	}
	.company_item + .company_item {
		margin: 6em 0 0;
	}
	.company_item-ttl { 
		font-size: calc(20vw / 3.75);
	}
	.company_item-txt {  
		font-size: calc(13vw / 3.75);
		margin: 3em 0 0;
	}
	.company_item figure {
		width: 17em;
		margin: 2.5em 0 0 auto;
	}
	.company_item-table {
		margin: 3em 0 0;
		padding: 2em;
		border: .2em solid #2D2D2D;
		border-radius: 1.5em;
	}
	.company_item-table:before {
		width: 5em;
		height: 5em;
	}
	.company_item-table tr:after {
		border-top: .2em dotted #707070;
	}
	.company_item-table th,
	.company_item-table td {
		font-size: calc(13vw / 3.75);
		padding: 1.5em 0;
	}
	.company_item-table th {
		width: 30%;
	}
	.company_item-table td {
		width: 70%;
	}

	/* product */
	.product .page_header figure {
		width: 20em;
	}
	.product_txt {
		max-width: 100%;
		font-size: calc(13vw / 3.75);
	}
	.product_items {
		display: block;
	}
	.product_item {
		width: 100%;
		margin: 4em 0 0;
	}
	.product_item:nth-child(3n+1) {
		margin: 4em 0 0;
	}
	.product_item figure {
		border: .2em solid #2D2D2D;
	}
	.product_item-txts {
		padding: 1.8em .5em 0;
	}
	.product_item-ttl {
		font-size: calc(20vw / 3.75);
		/* 		border-bottom: .15em dotted #707070; */
	}
	.product_item-txt {
		font-size: calc(13vw / 3.75);
	}

	/* flow */
	.flow {
		overflow-x: hidden;
	}
	.flow .page_header figure {
		width: 20em;
	}
	.flow_item {
		border: .2em solid #2D2D2D;
		width: 100%;
		/* 		padding: 3.5em 2.5em 3em 5em; */
		padding: 3em 2em 2.5em 2.8em;
	}
	.flow_item + .flow_item,
	.flow_item:nth-child(2n),
	.flow_item:nth-child(3),
	.flow_item:nth-child(7) {
		margin: 4em 0 0;
	}
	.flow_item figure {
		transform: translateY(-55%); 
		width: 3.6em;
		height: auto;
	}
	.flow_item:nth-child(3):after {
		width: 10.8em;
		height: 12.5em;
		bottom: -6em;
		left: -3.5em;
	}
	.flow_item:nth-child(7):after {
		width: 11.7em;
		height: 10.7em;
		bottom: -7em;
		right: -2em;
	}
	.flow_item-ttl {
		font-size: calc(20vw / 3.75);
	}
	.flow_item-txt {
		font-size: calc(13vw / 3.75);
	}

	/* page-contact */
	.p-contact .page_header figure {
		width: 21em;
		bottom: -.5em;
	}
	.p-contact_txt {
		font-size: calc(13vw / 3.75);
	}
	.p-contact_form {
		margin: 4em 0 0;
	}
	.p-contact_form-item + .p-contact_form-item {
		margin: 1.5em 0 0;
	}
	.p-contact_form label,
	.p-contact_form .form_item-ttl {
		display: block;
		font-size: calc(14vw / 3.75);
		width: 100%;
		padding: 0 0 .5em;
	}
	.p-contact_form input[type="text"],
	.p-contact_form input[type="email"],
	.p-contact_form input[type="tel"],
	.p-contact_form textarea,
	.p-contact_form .form_item-txt {
		display: inline-block;
		font-size: calc(13vw / 3.75);
		border: .13em solid #2D2D2D;
		padding: 1em;
		width: 100%;
	}
	.p-contact_form .checkbox {
		margin: 2em 0 0;
	}
	.p-contact_form input[type="submit"] {
		font-size: calc(14vw / 3.75);
		border: .13em solid #2D2D2D;
		margin: 3em 0 0;
	}
	.wpcf7-not-valid-tip, .wpcf7-response-output {
		font-size: calc(14vw / 3.75);
	}
}