@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&display=swap');
body, button, input, select, option, textarea {
	font-family: 'Noto Sans JP', serif;
}

/*----------------------------------------------------
	Structure Module
----------------------------------------------------*/
html {
  /* overflow-y: scroll; */
}

body {
  margin: 0;
  padding: 0;
  color: #333333;
  text-align: center;
  line-height: 1.65;
  letter-spacing: 1px;
  word-break: break-all;
  -ms-word-break: break-all;
  word-wrap: break-word;
  -webkit-text-size-adjust: 100%;
}

/*----------------------------------------------------
	Headings Module
----------------------------------------------------*/
h1, h2, h3, h4, h5, h6 {
  margin: 0;
  padding: 0;
}

/*----------------------------------------------------
	Phrasing Module
----------------------------------------------------*/
p {
  margin: 0;
  padding: 0;
}

cite, dfn, address, i, em {
  font-style: normal;
}

strong, em, b {
  font-weight: normal;
}

u {
  text-decoration: none;
}

abbr {
  border: 0 none;
}

mark {
  background-color: transparent;
}

q {
  quotes: none;
}

button {
  text-align: left;
  cursor: pointer;
}

input:focus, button:focus, select:focus, textarea:focus {
  outline: none;
}

/*----------------------------------------------------
	Hypertext Module
----------------------------------------------------*/
a {
  outline: none;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(152, 152, 152, 0.3);
}

a:link,
a:visited {
  color: #ff0000;
}

a:hover {
  text-decoration: underline;
}

a:active,
a:focus {
  background-color: transparent;
}

/*----------------------------------------------------
	Image Module
----------------------------------------------------*/
img {
  border: 0;
  vertical-align: bottom;
}

/*----------------------------------------------------
	Embedded Module
----------------------------------------------------*/
object, embed {
  outline: none;
}

/*----------------------------------------------------
	List Module
----------------------------------------------------*/
ul, ol, dl, dt, dd, li {
  margin: 0;
  padding: 0;
}

ul li {
  list-style: none;
}

ol li {
  list-style: none;
}

/*----------------------------------------------------
	Table Module
----------------------------------------------------*/
table {
  border-collapse: separate;
  border-spacing: 0;
}

th, td {
  font-weight: normal;
  vertical-align: top;
  text-align: left;
}

/*----------------------------------------------------
	Forms Module
----------------------------------------------------*/
form, button, input, select, option, textarea {
  margin: 0;
  padding: 0;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

textarea {
  width: 350px;
}

input {
  border: 0 none;
  border-radius: 0px;
}

button {
  background: none;
  border: 0 none;
  overflow: visible;
}

/*----------------------------------------------------
	HTML5 Reset
----------------------------------------------------*/
article, aside, figure, figcaption, dialog, details,
footer, header, menu, main, nav, section, summary {
  display: block;
}

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
menu, nav, section,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
}

/*
*  DAY ONE 合同会社
*  ---------------------------------------------------
*  BaseFont
*  Optimization
*  BaseColor
*  Animation
*  ---------------------------------------------------
*  Z-Index
*  ---------------------------------------------------
*  layout[ALL]
*    html
*    Body
*    Wrapper
*    Header
*    Container/Content
*    Footer


//PCファースト
*  --------------------------------------------------
*  Media Queries for window size under 768px
*  --------------------------------------------------
*/




/*==================================================

  Optimization

====================================================*/
/*  html
--------------------------*/
html {
  font-size: 62.5%; /* 10px */
}


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

body {
  letter-spacing: 0px;
  font-size: 100%;
	font-size: 1rem; /* 10px */
}


button, input, select, option, textarea {
  border: 0 none;
  letter-spacing: 0px;
  border-radius: 0px;
  background-color: transparent;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
}
button:disabled, input:disabled, select:disabled, option:disabled, textarea:disabled {
  background-color: transparent;
}

select::-ms-expand {
  display: none;
}

textarea {
  resize: none;
  vertical-align: bottom;
}

img {
  -webkit-touch-callout: none;
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

a:hover {
  text-decoration: none;
}

i {
}

h1, h2, h3, h4 {
  font-size: 100%;
  font-weight: 400;
}

table {
  border-collapse: collapse;
}

/*==================================================

  BaseColor

====================================================*/
/* テキスト
--------------------------*/
body {
  color: #000;
  width: 100%;

	text-align: justify;
	text-justify: inter-ideograph;
	text-justify: inter-character;
}

button, input, select, option, textarea {
  color: #000;
}

input:-moz-placeholder {
  color: #bbbbbb;
}
input::-webkit-input-placeholder {
  color: #bbbbbb;
}

textarea:-moz-placeholder {
  color: #bbbbbb;
}
textarea::-webkit-input-placeholder {
  color: #bbbbbb;
}

/* リンク
--------------------------*/
a:link,
a:visited {
  color: #000;
}

/*==================================================

  Animation

====================================================*/
@keyframes catch_pc {
	0% { transform: translateY(-50%) translateX(-120%); }
	100% { transform: translateY(-50%) translateX(0%); }
}
@keyframes catch_sp {
	/* 0% { transform: translateY(0%) translateX(-120%); }
	100% { transform: translateY(0%) translateX(0%); } */
	0% { transform: translateY(-50%) translateX(-120%); }
	100% { transform: translateY(-50%) translateX(0%); }
}
@keyframes catch_2 {
	0% { transform: translateX(-200%); }
	100% { transform: translateX(0%); }
}
@keyframes carousel {
	0% { transform: translateX(0%); }
	100% { transform: translateX(-100%); }
}


/*==================================================

  Z-Index

====================================================*/
#header {
	z-index: 1;
}

/*==================================================

  layout[ALL]

====================================================*/
/*  Html
--------------------------*/
img {
	width: 100%;
}
picture {
	display: inline-block;
	vertical-align: top;
}
a {
	display: block;
	transition: opacity 200ms ease 0s;
}
a:hover {
	opacity: .75;
}
.pc {
	display: inline;
}
.sp {
	display: none;
}
/*  Body
--------------------------*/
body {
	min-width: 320px;
}
/*  Wrapper
--------------------------*/
#wrapper {
  width: 100%;
}

/*  Header
--------------------------*/
#header {
	background-color: #fff;
	width: 100%;
	position: fixed;
	left: 0;
	top: 0;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;

	transition: all 400ms ease 0s;
}

#header_logo {
	line-height: 1;
	padding-top: 25px;
	padding-bottom: 25px;
	padding-left: 50px;
	padding-right: 50px;
}
#header_logo > a {
}
#header_logo .img_hlogo {
	width: 175px;
}
#gnav {
	padding-top: 20px;
	padding-bottom: 20px;
}
#gnav .gnav_logo {
}
#gnav_list {
	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
#gnav_list > li {
	padding-left: 13px;
	padding-right: 13px;
}
#gnav_list > li.nav_btn_top {
}
#gnav_list > li.nav_btn_contact {
	padding-left: 22px;
	padding-right: 22px;
}
#gnav_list > li a {
	display: block;
	line-height: 1;
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 10px;
	padding-right: 10px;
}
#gnav_list > li.nav_btn_contact a {
	padding-top: 15px;
	padding-bottom: 15px;
	padding-left: 30px;
	padding-right: 30px;
	background-color: #1446a0;
}
#gnav_list .img_top {
}
#gnav_list .img_vision {
	width: 60px;
}
#gnav_list .img_service {
	width: 74px;
}
#gnav_list .img_works {
	width: 63px;
}
#gnav_list .img_company {
	width: 85px;
}
#gnav_list .img_download {
	width: 99px;
}
#gnav_list .online {
	background-color: #ed7d31;
	color: #fff;
	font-size: 1.4rem;
  font-weight: 700;
}
#gnav_list .img_contact {
	width: 86px;
}
#gnav_btn {
}
#gnav_btn::before,
#gnav_btn::after {
}
#gnav_btn::before {
}
#gnav_btn::after {
}

/*  Container
--------------------------*/
#container {
	overflow: hidden;
	background-color: #fff;
}

/*  Footer
--------------------------*/
#footer {
	background-color: #000;
	padding-top: 50px;
	padding-bottom: 60px;
	text-align: center;
}
#flogo {
	width: 176px;
	margin: auto;
	padding-bottom: 20px;
}
#fnav {
	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: center;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
}
#fnav > li {
	padding-left: 10px;
	padding-right: 10px;
}
#fnav > li a {
	padding: 10px;
}
#fnav .img_vision {
	width: 62px;
}
#fnav .img_service {
	width: 78px;
}
#fnav .img_works {
	width: 65px;
}
#fnav .img_company {
	width: 89px;
}
#fnav .img_download {
	width: 104px;
}











/*==================================================
  layout[top-page]
====================================================*/
/*  top-page Header
--------------------------*/
#top-page #header {
	background-color: transparent;
}
#top-page #header .black {
	display: none;
}
#top-page #header .white {
	display: block;
}
#top-page #header.change {
	background-color: #fff;
}
#top-page #header.change .black {
	display: block;
}
#top-page #header.change .white {
	display: none;
}

/*  top-page Visual
--------------------------*/
#top-page #visual {
	position: relative;
	width: 100%;
	height: 100vh;
	height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
}
#top-page #visual video {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
}
#top-page #visual .catch {
	position: absolute;
	left: calc(60 / 1400 * (100vw - 17px));
	top: 50%;
	transform: translateY(-50%) translateX(-120%);
	animation: catch_pc 300ms cubic-bezier(.13,.95,.62,1.29) 1000ms forwards;
	margin-top: calc(-40 / 1400 * (100vw - 17px));
}
#top-page #visual .img_catch {
	/* width: 555px; */
	width: calc(555 / 1400 * (100vw - 17px));
}

#top-page #visual .catch_2 {
	position: absolute;
	left: calc(60 / 1400 * (100vw - 17px));
	top: 50%;
	transform: translateY(-50%);
	margin-top: calc(-40 / 1400 * (100vw - 17px));
}
#top-page #visual .catch_2 picture {
	display: block;
}
#top-page #visual .img_catch_1 {
	width: calc(242 / 1400 * (100vw - 17px));
	margin-left: calc(46 / 1400 * (100vw - 17px));
	padding-bottom: calc(36 / 1400 * (100vw - 17px));
	transform: translateX(-200%);
	animation: catch_2 100ms linear 1000ms forwards;
}
#top-page #visual .img_catch_2 {
	width: calc(556 / 1400 * (100vw - 17px));
	padding-bottom: calc(32 / 1400 * (100vw - 17px));
	transform: translateX(-200%);
	animation: catch_2 150ms linear 1040ms forwards;
}
#top-page #visual .img_catch_3 {
	width: calc(541 / 1400 * (100vw - 17px));
	margin-left: calc(14 / 1400 * (100vw - 17px));
	transform: translateX(-200%);
	animation: catch_2 150ms linear 1140ms forwards;
}



/*  top-page carousel
--------------------------*/
#top-page #carousel {
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: #fff;
	width: 3360px; /* 280 * 24 / 2 */
	animation: carousel 20s linear infinite;
}
#top-page #carousel .rail {
	width: 6720px; /* 280 * 24 */
	height: 120px;
	overflow: hidden;

	position: relative;
	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
#top-page #carousel .rail.top {
}
#top-page #carousel .rail.btm {
	left: -140px;
}
#top-page #carousel .rail img {
	width: 280px;
}

/*  top-page sec_vision
--------------------------*/
#top-page #sec_vision {
	background-color: #171c61;
	background-image: url(../img/top/pc_vision_bg-min.png);
	background-repeat: no-repeat;
	background-position: center top;
	background-size: cover;
	text-align: center;
	padding-bottom: 85px;
}
#top-page #sec_vision .sec_header {
	padding-top: 110px;
	padding-bottom: 48px;
}
#top-page #sec_vision .sec_header picture {
	width: 652px;
}
#top-page #sec_vision > p {
	color: #fff;
	font-size: 23px;
	line-height: 2.17;
	letter-spacing: .05em;
	padding-bottom: 28px;
}
#top-page #sec_vision em {
	font-weight: 700;
}

#top-page #sec_vision .fadein {
	animation: fadein-anim 0.7s ease 0s 1 normal;
}

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}



/*  top-page sec_service
--------------------------*/
#top-page #sec_service {
	max-width: 1400px;
	margin:auto;

	padding-top: 170px;
}
#top-page #sec_service .sec_header {
	text-align: center;
	padding-bottom: 105px;
}
#top-page #sec_service .sec_header picture {
	width: 484px;
}
#top-page #sec_service .sec_header .txt_ja {
	display: block;
	font-size: 25px;
	line-height: 1;
	padding-top: 30px;
	letter-spacing: .5em;
}

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}


#top-page #sec_service .art_01 {
	position: relative;
}
#top-page #sec_service .art_01::before {
	content: "";
	display: block;
	width: calc(100vw - 370px);
	height: 96.5%;
	background-color: #f3f6fa;
	position: absolute;
	left: 370px;
	top: 0;
}
#top-page #sec_service .art_01 .art_cont {
	position: relative;
	padding-left: 150px;
}
#top-page #sec_service .art_01 .art_header {
	padding-top: 80px;
	width: 500px;
}
#top-page #sec_service .art_01 .art_header .img_num {
	display: block;
	width: 81px;
	padding-bottom: 40px;
}
#top-page #sec_service .art_01 .art_header .img_ttl {
	display: block;
	width: 326px;
	padding-bottom: 26px;
}
#top-page #sec_service .art_01 .art_header .sup_txt {
	display: block;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.68;
	padding-bottom: 15px;
}
#top-page #sec_service .art_01 .art_header .sup_txt em {
	font-weight: 700;
	color: #1446a0;
}
#top-page #sec_service .art_01 .art_body {
	font-size: 17px;
	line-height: 2;
	padding-bottom: 40px;
	width: 500px;
}
#top-page #sec_service .art_01 .btn_more {
	padding-bottom: 160px;
}
#top-page #sec_service .art_01 .btn_more a {
	background-color: #1446a0;
	width: 310px;
	padding-top: 26px;
	padding-bottom: 24px;
	text-align: center;
	padding-left: 6px;
}
#top-page #sec_service .art_01 .btn_more picture {
	width: 217px;
}
#top-page #sec_service .art_01 .art_shape {
	width: 544px;
	position: absolute;
	right: 132px;
	top: 200px;
}


#top-page #sec_service .art_02 {
	position: relative;
}
#top-page #sec_service .art_02::before {
	content: "";
	display: block;
	width: calc(100vw - 370px);
	height: 96.5%;
	background-color: #f3f6fa;
	position: absolute;
	right: 370px;
	top: 0;
}
#top-page #sec_service .art_02 .art_cont {
	position: relative;
	padding-left: 765px;
}
#top-page #sec_service .art_02 .art_header {
	padding-top: 105px;
	width: 500px;
}
#top-page #sec_service .art_02 .art_header .img_num {
	display: block;
	width: 100px;
	padding-bottom: 40px;
}
#top-page #sec_service .art_02 .art_header .img_ttl {
	display: block;
	width: 471px;
	padding-bottom: 26px;
}
#top-page #sec_service .art_02 .art_header .sup_txt {
	display: block;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.68;
	padding-bottom: 15px;
}
#top-page #sec_service .art_02 .art_header .sup_txt em {
	font-weight: 700;
	color: #1446a0;
}
#top-page #sec_service .art_02 .art_body {
	font-size: 17px;
	line-height: 2;
	padding-bottom: 40px;
	width: 440px;
}
#top-page #sec_service .art_02 .btn_more {
	padding-bottom: 160px;
}
#top-page #sec_service .art_02 .btn_more a {
	background-color: #1446a0;
	width: 310px;
	padding-top: 26px;
	padding-bottom: 24px;
	text-align: center;
	padding-left: 6px;
}
#top-page #sec_service .art_02 .btn_more picture {
	width: 183px;
}
#top-page #sec_service .art_02 .art_shape {
	width: 533px;
	position: absolute;
	left: 125px;
	top: 100px;
}


#top-page #sec_service .art_03 {
	position: relative;
}
#top-page #sec_service .art_03 .art_thumb_pc {
	display: block;
	width: calc(100vw - 700px);
	height: 90%;
	background-image: url(../img/top/pc_service_03_shape-min.png);
	background-position: left top;
	background-repeat: no-repeat;
	background-size: cover;
	position: absolute;
	left: 700px;
	top: 0;
}
#top-page #sec_service .art_03 .art_thumb_sp {
	display: none;
}

#top-page #sec_service .art_03 .art_cont {
	position: relative;
	padding-left: 150px;
}
#top-page #sec_service .art_03 .art_header {
	padding-top: 80px;
	width: 500px;
}
#top-page #sec_service .art_03 .art_header .img_num {
	display: block;
	width: 99px;
	padding-bottom: 40px;
}
#top-page #sec_service .art_03 .art_header .img_ttl {
	display: block;
	width: 473px;
	padding-bottom: 26px;
}
#top-page #sec_service .art_03 .art_header .sup_txt {
	display: block;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.68;
	padding-bottom: 15px;
}
#top-page #sec_service .art_03 .art_header .sup_txt em {
	font-weight: 700;
	color: #1446a0;
}
#top-page #sec_service .art_03 .art_body {
	font-size: 17px;
	line-height: 2;
	padding-bottom: 40px;
	width: 500px;
}
#top-page #sec_service .art_03 .btn_more {
	padding-bottom: 160px;
}
#top-page #sec_service .art_03 .btn_more a {
	background-color: #1446a0;
	width: 310px;
	padding-top: 26px;
	padding-bottom: 24px;
	text-align: center;
	padding-left: 6px;
}
#top-page #sec_service .art_03 .btn_more .soon {
	display: block;
	background-color: #a1b5d9;
	width: 310px;
	padding-top: 26px;
	padding-bottom: 24px;
	text-align: center;
	padding-left: 6px;
}
#top-page #sec_service .art_03 .btn_more picture {
	width: 209px;
}




/*  top-page sec_works
--------------------------*/
#top-page #sec_works {
	position: relative;
	max-width: 1400px;
	margin:auto;

	padding-top: 100px;
	padding-left: 150px;
}
#top-page #sec_works::before {
	content: "";
	display: block;
	width: calc(100vw - 270px);
	/* height: 946px; */
	height: calc(100% - 153px);
	background-color: #1446a0;
	position: absolute;
	right: 320px;
	top: 153px;
}
#top-page #sec_works .sec_header {
	position: relative;
	padding-bottom: 80px;
}
#top-page #sec_works .sec_header picture {
	width: 387px;
}
#top-page #sec_works .sec_header .txt_ja {
	line-height: 1;
	font-size: 25px;
	padding-left: 78px;
	letter-spacing: .5em;
}
#top-page #sec_works .sec_body {
	position: relative;
}
#top-page #sec_works .sec_body .sup_txt {
	color: #fff;
	font-size: 24px;
	font-weight: 500;
	line-height: 2;
	padding-bottom: 65px;
}
#top-page #sec_works .sec_body .image {
	width: 801px;
	padding-bottom: 110px;
}
#top-page #sec_works .sec_body .links {
	position: absolute;
	right: 150px;
	bottom: 100px;
}
#top-page #sec_works .sec_body .links > li {
	padding-bottom: 10px;
}
#top-page #sec_works .sec_body .links > li a {
	position: relative;
	width: 310px;
	padding-left: 50px;
	padding-top: 25px;
	padding-bottom: 27px;
	background-color: #95acd4;
}
#top-page #sec_works .sec_body .links > li a::after {
	content: "";
	display: block;
	background-image: url(../img/common/pc_icon_arw-min.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 17px;
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}
#top-page #sec_works .sec_body .links > li span {
	font-size: 22px;
	font-weight: 700;
	color: #1446a0;
	line-height: 1;
}
#top-page #sec_works .sec_body .links > li .txt_1 {
	letter-spacing: .5em;
}
#top-page #sec_works .sec_body .links > li .txt_2 {
	letter-spacing: .05em;
}

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}


/*  top-page sec_works_comp
--------------------------*/
#top-page #sec_works_comp {
	width: 1200px;
	margin: auto;
	position: relative;
	text-align: center;
	padding-top: 90px;
	padding-bottom: 35px;
}
#top-page #sec_works_comp .sec_header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 75px;
}
#top-page #sec_works_comp .sec_header picture {
	width: 267px;
}
#top-page #sec_works_comp .sec_header .txt_ja {
	display: block;
	line-height: 1;
	font-size: 20px;
	letter-spacing: .5em;
	padding-top: 17px;
}
#top-page #sec_works_comp .sec_body {
	background-color: #f3f6fa;
	padding-top: 105px;
	padding-bottom: 105px;
}
#top-page #sec_works_media .sec_body {
    padding-top: 105px;
    padding-bottom: 105px;
}
#top-page #sec_works_comp .sec_body .comps {
	width: 1000px;
	margin: auto;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
#top-page #sec_works_comp .sec_body .comps > li {
	width: 25%;
}
#top-page #sec_works_comp .comps_link {
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
}
#top-page #sec_works_comp .comps_link a {
	position: relative;
	width: 310px;
	padding-left: 50px;
	padding-top: 25px;
	padding-bottom: 27px;
	background-color: #95acd4;
	font-size: 22px;
	font-weight: 700;
	color: #1446a0;
	line-height: 1;
	letter-spacing: .4em;
	text-align: left;
}
#top-page #sec_works_comp .comps_link a::after {
	content: "";
	display: block;
	background-image: url(../img/common/pc_icon_arw-min.png);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	width: 20px;
	height: 17px;
	position: absolute;
	right: 40px;
	top: 50%;
	transform: translateY(-50%);
}

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}


/*  top-page sec_news
--------------------------*/
#top-page #sec_news {
	max-width: 1400px;
	margin: auto;
	padding-left: 150px;
	padding-right: 150px;
	padding-top: 230px;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#top-page #sec_news .sec_header {
	width: 205px;
}
#top-page #sec_news .sec_header picture {
}
#top-page #sec_news .sec_header .txt_ja {
	display: block;
	line-height: 1;
	font-size: 20px;
	letter-spacing: .5em;
	padding-top: 17px;
}
#top-page #sec_news .sec_body {
	width: 760px;
}
#top-page #sec_news .news_list {
}
#top-page #sec_news .news_list > li {
	border-bottom: 1px solid #cacaca;
	display: table;
	width: 100%;
	padding-top: 30px;
	padding-bottom: 15px;
}
#top-page #sec_news .news_list > li:first-child {
	padding-top: 0;
}
#top-page #sec_news .news_list .date_wrap {
	width: 210px;
	display: table-cell;
	vertical-align: top;
	padding-top: 2px;
}
#top-page #sec_news .news_list .date_wrap .date {
	font-size: 16px;
	letter-spacing: .2em;
}
#top-page #sec_news .news_list .txt_wrap {
	display: table-cell;
	vertical-align: top;
}
#top-page #sec_news .news_list .txt_wrap .txt {
	font-size: 18px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.5;
}

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}


/*  top-page sec_company
--------------------------*/
#top-page #sec_company {
	max-width: 1400px;
	margin: auto;
	padding-top: 205px;
	padding-bottom: 160px;
}
#top-page #sec_company .sec_header {
	text-align: center;
	padding-bottom: 57px;
}
#top-page #sec_company .sec_header picture {
	width: 413px;
}
#top-page #sec_company .sec_header .txt_ja {
	display: block;
	line-height: 1;
	font-size: 20px;
	letter-spacing: .5em;
	padding-top: 17px;
}
#top-page #sec_company .sec_thumb {
	text-align: center;
	padding-bottom: 110px;
}
#top-page #sec_company .sec_thumb picture {
	width: 1301px;
}
#top-page #sec_company .sec_body {
	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: center;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: center;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: center;
	align-items: stretch;
}
#top-page #sec_company .art_info {
	width: 550px;
}
#top-page #sec_company .art_info .art_header {
	padding-bottom: 20px;
}
#top-page #sec_company .art_info .art_header picture {
	width: 213px;
}
#top-page #sec_company .art_info .info_list {
	padding-bottom: 60px;
}
#top-page #sec_company .art_info .info_list > li {
	border-bottom: 1px solid #cacaca;
}
#top-page #sec_company .art_info .info_list > li > dl {
	display: table;
	width :100%;
	padding-bottom: 10px;
	padding-top: 10px;
	min-height: 65px;
}
#top-page #sec_company .art_info .info_list > li > dl > dt {
	width: 55px;
	display: table-cell;
	vertical-align: bottom;
	font-size: 16px;
	font-weight: 700;
	color: #1446a0;
	text-align-last: justify;
	text-justify: inter-ideograph;
}
#top-page #sec_company .art_info .info_list > li > dl > dt .tel {
	letter-spacing: .7em;
}
#top-page #sec_company .art_info .info_list > li > dl > dt .mail {
	letter-spacing: .3em;
}
#top-page #sec_company .art_info .info_list > li > dl > dd {
	display: table-cell;
	vertical-align: bottom;
	font-size: 17px;
	font-weight: 500;
	line-height: 1.37;
	padding-left: 42px;
}
#top-page #sec_company .art_info .recruit_block {
}
#top-page #sec_company .art_info .recruit_block .comment {
	font-size: 18px;
	text-align-last: justify;
	text-justify: inter-ideograph;
	padding-bottom: 20px;
}
#top-page #sec_company .art_info .recruit_block .link {
}
#top-page #sec_company .art_info .recruit_block .link a {
	position: relative;
	background-color: #1446a0;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	padding-top: 25px;
	padding-bottom: 28px;
	/* padding-left: 90px; */
	letter-spacing: .1em;

	text-align: center;
}
/* #top-page #sec_company .art_info .recruit_block .link a::after {
	content: "";
	display: block;
	width: 26px;
	height: 26px;
	background-image: url(../img/common/pc_icon_blank-min.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 90px;
} */
#top-page #sec_company .art_access {
	width: 550px;
	padding-left: 70px;
}
#top-page #sec_company .art_access .art_header {
	padding-bottom: 45px;
}
#top-page #sec_company .art_access .art_header picture {
	width: 121px;
}
#top-page #sec_company .art_access .map {
	width: 480px;
	height: 490px;
}
#top-page #sec_company .art_access .map iframe {
	width: 100%;
	height: 100%;
}

#top-page #sec_company .art_access .map

.fadeup {
  height: auto;
  margin: auto;
  opacity: 0;
  -webkit-transition: .5s;
  -o-transition: .20s;
  transition: .5s;
}
.fadeup.show {
  opacity: 1;
}



/*  top-page sec_contact
--------------------------*/
#top-page #sec_contact {
	max-width: 1400px;
	margin: auto;
	padding-top: 140px;
	padding-bottom: 200px;
	border-top: 1px solid #cacaca;
}
#top-page #sec_contact .sec_header {
	text-align: center;
	padding-bottom: 74px;
}
#top-page #sec_contact .sec_header picture {
	width: 389px;
}
#top-page #sec_contact .sec_header .txt_ja {
	display: block;
	line-height: 1;
	font-size: 20px;
	letter-spacing: .5em;
	padding-top: 17px;
}

#top-page #sec_contact .sec_body {
	width: 914px;
	margin: auto;
}
#top-page #sec_contact .sec_body form {
	display: block;
}
#top-page #sec_contact .form {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #A5A5A5;
	border-bottom: none;
	font-size: 16px;
}
#top-page #sec_contact .form tr {
	border-bottom: 1px solid #A5A5A5;
}
#top-page #sec_contact .form th {
	width: 35%;
	text-align: left;
	background: #F5F5F5;
	white-space: nowrap;
	padding: 20px 28px;
	font-weight: 700;
	vertical-align: middle;
}
#top-page #sec_contact .must {
	float: right;
	padding: 2px 8px;
	background: #FFAADE;
	border-radius: 4px;
	font-size: 13px;
	font-weight: 700;
	color: #FFF;
}
#top-page #sec_contact .form td {
	padding: 20px 28px;
	text-align: left;
	vertical-align: middle;
}

#top-page #sec_contact .form input[type="text"],
#top-page #sec_contact .form input[type="tel"],
#top-page #sec_contact .form input[type="email"],
#top-page #sec_contact .form input[type="date"] {
	display: inline-block;
	width: 100%;
	padding: 8px 16px;
	background: #FFF;
	border: 1px solid #A5A5A5;
	vertical-align: middle;
}
#top-page #sec_contact .form textarea {
	width: 100%;
	min-height: 320px;
	padding: 8px 16px;
	background: #FFF;
	border: 1px solid #A5A5A5;
}
.wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 1em;
	font-weight: normal;
	display: block;
}
#top-page #sec_contact .submit {
	text-align: center;
	padding-top: 65px;
}
#top-page #sec_contact .submit input[type="submit"] {
	width: 350px;
	margin: 0 auto;
	padding-top: 23px;
	padding-bottom: 23px;
	background: #1446a0;
	font-size: 25px;
	font-weight: 700;
	color: #FFF;
	cursor: pointer;
	transition: all 200ms ease 0s;
}
#top-page #sec_contact .submit input[type="submit"]:hover {
	opacity: .5;
}
#top-page #sec_contact .wpcf7-response-output {
	margin: 2em 0.5em 1em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2;
	font-size: 16px;
	border-color: #ffb900;
}










/*==================================================
  layout[down-page]
====================================================*/
/*  down-page visual
--------------------------*/
#down-page #visual {
	padding-top: 253px;
	padding-bottom: 140px;
	text-align: center;
}
#down-page #page_ttl {
}
#down-page #page_ttl picture {
	width: 498px;
}
#down-page #page_ttl .txt {
	display: block;
	font-size: 25px;
	letter-spacing: .3em;
	line-height: 1;
	padding-top: 30px;
}
/*  down-page container
--------------------------*/
#down-page #container {
	padding-bottom: 200px;
}
#down-page #container_in {
	max-width: 1100px;
	margin: auto;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#down-page .art {
	width: 543px;
}
#down-page .art .thumb {
}
#down-page .art .thumb a {
}
#down-page .art .thumb picture {
}
#down-page .art .art_ttl {
	position: relative;
	width: 492px;

	padding-top: 38px;
	padding-bottom: 30px;
}
#down-page .art .art_ttl .txt {
	font-size: 25px;
	line-height: 1.536;
	font-weight: 700;
}
#down-page .art .art_ttl a {
	position: absolute;
	/*
	right: 0;
	bottom: 36px;
	*/
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#down-page .art .art_ttl .icon {
	display: block;
	float: right;
	/*
	width: 36px;
	*/
}
#down-page .art .art_ttl .icon picture {
}
#down-page .art .art_body {
	width: 492px;
	border-top: 1px solid #dadbdb;
	padding-top: 22px;
	padding-bottom: 60px;
}
#down-page .art .art_body .parag {
	font-size: 17px;
	line-height: 1.83;
	padding-bottom: 7px;
}







/*==================================================
  layout[works-page]
====================================================*/
/*  works-page visual
--------------------------*/
#works-page #visual {
	padding-top: 253px;
	padding-bottom: 140px;
	text-align: center;
}
#works-page #page_ttl {
}
#works-page #page_ttl picture {
	width: 312px;
}
#works-page #page_ttl .txt {
	display: block;
	font-size: 25px;
	letter-spacing: .3em;
	line-height: 1;
	padding-top: 30px;
}
/*  works-page works_anchor
--------------------------*/
#works-page #container {
}
#works-page #works_anchor {
	max-width: 1100px;
	margin: auto;
	padding-top: 6px;
	padding-bottom: 6px;
	border-top: 1px solid #1446a0;
	border-bottom: 1px solid #1446a0;


	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#works-page #works_anchor > li {
	width: 50%;
}
#works-page #works_anchor a {
	display: block;
	position: relative;
	padding-left: 100px;
	padding-top: 22px;
	padding-bottom: 21px;
}
#works-page #works_anchor > li:first-child a {
	border-right: 1px solid #1446a0;
}
#works-page #works_anchor .img_case {
	width: 196px;
	vertical-align: middle;
}
#works-page #works_anchor .img_use {
	width: 173px;
	vertical-align: middle;
}
#works-page #works_anchor .txt {
	font-size: 16px;
	padding-left: 34px;
	letter-spacing: .1em;
	vertical-align: middle;
}
#works-page #works_anchor .icon_arw {
	display: block;
	width: 28px;
	position: absolute;
	right: 36px;
	top: 50%;
	transform: translateY(-50%);
}
#works-page #works_anchor .icon_arw > picture {
}




/*  works-page sec_case
--------------------------*/
#works-page #sec_case {
	padding-top: 160px;
	max-width: 1300px;
	margin: auto;
}
#works-page #sec_case .sec_header {
	padding-left: 100px;
	padding-bottom: 10px;
}
#works-page #sec_case .sec_header picture {
	width: 349px;
}
#works-page #sec_case .sec_body > li {
	padding-left: 100px;
	padding-right: 100px;
	border-top: 1px solid #cacaca;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#works-page #sec_case .sec_body > li:first-child {
	border-top: none;
}
#works-page #sec_case .art {
	width: 500px;
	padding-bottom: 70px;
	padding-top: 70px;
}
#works-page #sec_case .art .art_header {
}
#works-page #sec_case .art .art_header .ttl {
	display: block;
	font-size: 30px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .1em;
	padding-bottom: 8px;
}
#works-page #sec_case .art .art_header .comp_name {
	display: block;
	font-size: 20px;
	line-height: 1.4;
	letter-spacing: .1em;
	padding-bottom: 28px;
}
#works-page #sec_case .art .thumb {
	box-shadow: 5px 5px 10px 0px rgb(20,70,160,.3);
	cursor: pointer;

	transition: opacity 200ms ease 0s;
}
#works-page #sec_case .art .thumb:hover {
	opacity: .75;
}
#works-page #sec_case .art .thumb .video_modal {
	display: block;
	position: relative;
}
#works-page #sec_case .art .thumb .video_modal > img {
}
#works-page #sec_case .art .thumb .video_modal .icon_start {
	display: block;
	width: 71px;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
}
#works-page #sec_case .art .info {
	padding-top: 38px;
	padding-bottom: 15px;

	display:-ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: center;

	display:-webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: center;

	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: center;
}
#works-page #sec_case .art .info .cost {
	background-color: #1446a0;
	border-radius: 5px;
	padding-left: 14px;
	padding-right: 14px;
	padding-top: 8px;
	padding-bottom: 8px;
}
#works-page #sec_case .art .info .cost .txt_buffer {
	color: #fff;
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .1em;
}
#works-page #sec_case .art .info .length {
	padding-left: 20px;
}
#works-page #sec_case .art .info .length .icon_play {
	display: inline-block;
	vertical-align: middle;
	width: 24px;
}
#works-page #sec_case .art .info .length .time {
	display: inline-block;
	vertical-align: middle;
	color: #1446a0;
	font-size: 15px;
	font-weight: 500;
	padding-left: 8px;
	letter-spacing: .1em;
}
#works-page #sec_case .art .art_body {
	border-top: 1px solid #dadbdb;
	padding-top: 10px;
}
#works-page #sec_case .art .art_body .parag {
	font-size: 17px;
	line-height: 1.7;
	letter-spacing: .05em;
	padding-bottom: 5px;
}



/*  works-page sec_works_comp
--------------------------*/
#works-page #sec_works_comp {
	width: 1200px;
	margin: auto;
	position: relative;
	text-align: center;
	padding-top: 90px;
	padding-bottom: 35px;
}
#works-page #sec_works_comp .sec_header {
	position: absolute;
	width: 100%;
	left: 0;
	top: 71px;
	padding-left: 80px;
}
#works-page #sec_works_comp .sec_header picture {
	width: 280px;
	vertical-align: middle;
}
#works-page #sec_works_comp .sec_header .txt_ja {
	font-size: 18px;
	color: #1446a0;
	padding-left: 63px;
	letter-spacing: .5em;
	vertical-align: middle;
}
#works-page #sec_works_comp .sec_body {
	background-color: #f3f6fa;
	padding-top: 100px;
	padding-bottom: 100px;
}
#works-page #sec_works_comp .comps {
	width: 1000px;
	margin: auto;
	display: -ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: stretch;
	display: -webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: stretch;
	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
#works-page #sec_works_comp .comps > li {
	width: 25%;
}





/*  works-page sec_use
--------------------------*/
#works-page #sec_use {
	padding-top: 300px;
	padding-bottom: 100px;
	max-width: 1300px;
	margin: auto;
}
#works-page #sec_use .sec_header {
	padding-bottom: 40px;
	padding-left: 100px;
}
#works-page #sec_use .sec_header picture {
	width: 307px;
}
#works-page #sec_use .sup_txt {
	font-size: 20px;
	font-weight: 500;
	letter-spacing: .1em;
	line-height: 1.7;
	padding-bottom: 70px;
	padding-left: 100px;
}
#works-page #sec_use .figure {
	text-align: center;
	border-bottom: 1px solid #cacaca;
	padding-bottom: 70px;
}
#works-page #sec_use .figure picture {
	width: 1117px;
}
#works-page #sec_use .sec_body {
	width: 1100px;
	padding-top: 100px;
	margin: auto;

	display: -ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display: -webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#works-page #sec_use .art {
	width: 500px;
	padding-bottom: 70px;

	display: -ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display: -webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#works-page #sec_use .sentence {
	width: 310px;
	/* min-height: 296px; */
}
#works-page #sec_use .shape_pc {
	width: 170px;
	min-height: 256px;
	position: relative;
}
#works-page #sec_use .shape_pc img {
	width: 170px;
	position: absolute;
	left: 0;
	bottom: 0;
}
#works-page #sec_use .art_header {

}
#works-page #sec_use .art_header .shape_sp {
	display: none;
}
#works-page #sec_use .art_header .ttl {
	display: block;
	padding-bottom: 15px;
}
#works-page #sec_use .art_header .ttl .icon_num {
	display: inline-block;
	vertical-align: middle;
	width: 39px;
}
#works-page #sec_use .art_header .ttl .txt {
	display: inline-block;
	vertical-align: middle;
	font-size: 22px;
	color: #1446a0;
	font-weight: 700;
	letter-spacing: .1em;
	padding-left: 13px;
}
#works-page #sec_use .use_6 .art_header .ttl .txt {
	letter-spacing: -.05em;
	padding-left: 6px;
	font-size: 20px;
}
#works-page #sec_use .art_header .sub_ttl {
	display: block;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.55;
	padding-bottom: 3px;
}
#works-page #sec_use .use_6 .art_header .sub_ttl {
	letter-spacing: 0;
	font-size: 18px;
}
#works-page #sec_use .art_body {
}
#works-page #sec_use .art_body .parag {
	padding-top: 5px;
	font-size: 15px;
	line-height: 1.86;
}






/*==================================================
  layout[down-d-page]
====================================================*/
/*  down-d-page container
--------------------------*/
#down-d-page #container {
	padding-top: 83px;

	display: -ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: flex-start;
	-ms-flex-align: stretch;

	display: -webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: flex-start;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: flex-start;
	align-items: stretch;
}
#down-d-page .visual {
	width: 50%;
	/* min-height: 990px; */
	min-height: 916px;
	background-image: url(../img/down/pc_down-d_bg_1-min.png);
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}
#down-d-page #detail_cont {
	width: 50%;
	padding-left: 70px;
	padding-top: 50px;
	padding-bottom: 70px;
}
#down-d-page #detail_cont .page_ttl {
	font-size: 32px;
	font-weight: 700;
	line-height: 	1.45;
	letter-spacing: .1em;
	padding-bottom: 15px;
}
#down-d-page #detail_cont .exp_txt {
	font-size: 17px;
	line-height: 	1.82;
	letter-spacing: .05em;
	width: 480px;
	padding-bottom: 48px;
}
#down-d-page #detail_cont .form_wrap {
}
#down-d-page #detail_cont .form {
	width: 480px;
	/* padding-bottom: 44px; */
	padding-bottom: 40px;
}
#down-d-page #detail_cont .form_line {
	/* padding-bottom: 30px; */
	padding-bottom: 25px;
}
#down-d-page #detail_cont .form_ttl {
	font-size: 17px;
	line-height: 	1.82;
	letter-spacing: .05em;
	padding-bottom: 8px;
}
#down-d-page #detail_cont .form_ttl .req {
	color: #1446a0;
	font-weight: 700;
}
#down-d-page #detail_cont .form_inp {
	font-size: 17px;
	line-height: 	1.82;
	letter-spacing: .05em;
}
#down-d-page #detail_cont .fullname .form_inp {

	display: -ms-flexbox;
	-ms-flex-direction: row;
	-ms-flex-wrap: wrap;
	-ms-flex-pack: space-between;
	-ms-flex-align: stretch;

	display: -webkit-flex;
	-webkit-flex-direction: row;
	-webkit-flex-wrap: wrap;
	-webkit-justify-content: space-between;
	-webkit-align-items: stretch;

	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: stretch;
}
#down-d-page #detail_cont .fullname .form_inp .name.first,
#down-d-page #detail_cont .fullname .form_inp .name.last {
	width: 232px;
}
#down-d-page #detail_cont .form_inp input {
	border: 1px solid #dadbdb;
	border-radius: 4px;
	display: inline-block;
	width: 100%;
	padding: 10px 16px;
	background: #FFF;
	vertical-align: middle;
}
#down-d-page #detail_cont .form_inp .wpcf7-not-valid-tip {
	color: #dc3232;
	font-size: 1em;
	font-weight: normal;
	display: block;
}

#down-d-page #detail_cont .btn.submit {
}
#down-d-page #detail_cont .btn.submit button {
	text-align: left;
	width: 268px;
	background-color: #1446a0;
	padding-left: 45px;
	padding-top: 18px;
	padding-bottom: 20px;
	transition: opacity 200ms ease 0s;
}
#down-d-page #detail_cont .btn.submit button:hover {
	opacity: .75;
}
#down-d-page #detail_cont .btn.submit picture {
	width: 186px;
}

#down-d-page #detail_cont .wpcf7-response-output {
	max-width: 480px;
	margin: 2em 2em 2em 0em;
	padding: 0.2em 1em;
	border: 2px solid #00a0d2;
	font-size: 16px;
	border-color: #ffb900;
}


.error {
  margin-bottom: 5px;
  font-weight: bold;
  color: red;
}

/*==================================================
  online-contact-page
====================================================*/
#top-page.onlinePage #header {
	background-color: #fff !important;
}

p.online__title {
	font-size: 6.4rem;
	font-weight: 700;
}

p.online__txt {
	font-size: 2.4rem;
	margin-top: 30px;
	margin-bottom: 100px;
}

.online__tel {
	text-align: center;
	margin-top: 80px;
}

.online__tel--txt {
	font-size: 3rem;
	font-weight: 700;
}

.online__tel--number {
	font-size: 8rem;
	font-weight: 700;
}

/*==================================================
  online-thanks-page
====================================================*/
p.online__title--thanks {
	font-size: 3.4rem;
	font-weight: 700;
}

/*==================================================
  etc
====================================================*/
.display__sp {
	display: none;
}

.display__tb {
	display: none;
}

/*==================================================

  Media Queries for window size under 1400px

====================================================*/
@media screen and (max-width: 1400px) {

  /*==========================
    Z-Index under 1400px
  ==========================*/

  /*==========================
    layout[ALL] under 1400px
  ==========================*/
	/*  Html under 1400px
	--------------------------*/
	img {
	}
	picture {
	}
	a {
	}
	a:hover {
	}
	.pc {
	}
	.sp {
	}
	/*  Body under 1400px
	--------------------------*/
	body {
	}
	/*  Wrapper under 1400px
	--------------------------*/
	#wrapper {
	}

	/*  Header under 1400px
	--------------------------*/
	#header {
	}
	#header_logo {
		padding-top: calc(25 / 1400 * (100vw - 17px));
		padding-bottom: calc(25 / 1400 * (100vw - 17px));
		padding-left: calc(50 / 1400 * (100vw - 17px));
		padding-right: calc(50 / 1400 * (100vw - 17px));
	}
	#header_logo > a {
	}
	#header_logo .img_hlogo {
		width: calc(175 / 1400 * (100vw - 17px));
	}
	#gnav {
		padding-top: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
	}
	#gnav .gnav_logo {
	}
	#gnav_list {
	}
	#gnav_list > li {
		padding-left: calc(13 / 1400 * (100vw - 17px));
		padding-right: calc(13 / 1400 * (100vw - 17px));
	}
	#gnav_list > li.nav_btn_top {
	}
	#gnav_list > li.nav_btn_contact {
		padding-left: calc(22 / 1400 * (100vw - 17px));
		padding-right: calc(22 / 1400 * (100vw - 17px));
	}
	#gnav_list > li a {
		padding-top: calc(15 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
		padding-left: calc(10 / 1400 * (100vw - 17px));
		padding-right: calc(10 / 1400 * (100vw - 17px));
	}
	#gnav_list > li.nav_btn_contact a {
		padding-top: calc(15 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
		padding-left: calc(30 / 1400 * (100vw - 17px));
		padding-right: calc(30 / 1400 * (100vw - 17px));
	}
	#gnav_list .img_top {
	}
	#gnav_list .img_vision {
		width: calc(60 / 1400 * (100vw - 17px));
	}
	#gnav_list .img_service {
		width: calc(74 / 1400 * (100vw - 17px));
	}
	#gnav_list .img_works {
		width: calc(63 / 1400 * (100vw - 17px));
	}
	#gnav_list .img_company {
		width: calc(85 / 1400 * (100vw - 17px));
	}
	#gnav_list .img_download {
		width: calc(99 / 1400 * (100vw - 17px));
	}
	#gnav_list .online {
		background-color: #ed7d31;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 700;
	}
	#gnav_list .img_contact {
		width: calc(86 / 1400 * (100vw - 17px));
	}
	#gnav_btn {
	}
	#gnav_btn::before,
	#gnav_btn::after {
	}
	#gnav_btn::before {
	}
	#gnav_btn::after {
	}

	/*  Container under 1400px
	--------------------------*/
	#container {
	}

	/*  Footer under 1400px
	--------------------------*/
	#footer {
		padding-top: calc(50 / 1400 * (100vw - 17px));
		padding-bottom: calc(60 / 1400 * (100vw - 17px));
	}
	#flogo {
		width: calc(176 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
	}
	#fnav {
	}
	#fnav > li {
		padding-left: calc(10 / 1400 * (100vw - 17px));
		padding-right: calc(10 / 1400 * (100vw - 17px));
	}
	#fnav > li a {
		padding: calc(10 / 1400 * (100vw - 17px));
	}
	#fnav .img_vision {
		width: calc(62 / 1400 * (100vw - 17px));
	}
	#fnav .img_service {
		width: calc(78 / 1400 * (100vw - 17px));
	}
	#fnav .img_works {
		width: calc(65 / 1400 * (100vw - 17px));
	}
	#fnav .img_company {
		width: calc(89 / 1400 * (100vw - 17px));
	}
	#fnav .img_download {
		width: calc(104 / 1400 * (100vw - 17px));
	}









	/*==================================================
	  layout[top-page] under 1400px
	====================================================*/
	/*  top-page Header under 1400px
	--------------------------*/
	#top-page #header {
	}
	#top-page #header .black {
	}
	#top-page #header .white {
	}
	#top-page #header.change {
	}
	#top-page #header.change .black {
	}
	#top-page #header.change .white {
	}


	/*  top-page Visual under 1400px
	--------------------------*/
	#top-page #visual {
	}
	#top-page #visual video {
	}
	#top-page #visual .catch {
		/* left: calc(60 / 1400 * (100vw - 17px));
		margin-top: calc(-40 / 1400 * (100vw - 17px)); */
	}
	#top-page #visual .img_catch {
		/* width: calc(555 / 1400 * (100vw - 17px)); */
	}

	#top-page #visual .catch_2 {
	}
	#top-page #visual .catch_2 picture {
	}
	#top-page #visual .img_catch_1 {
	}
	#top-page #visual .img_catch_2 {
	}
	#top-page #visual .img_catch_3 {
	}


	/*  top-page carousel under 1400px
	--------------------------*/
	#top-page #carousel {
		padding-top: calc(40 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
		width: calc(3360 / 1400 * (100vw - 17px));
	}
	#top-page #carousel .rail {
		width: calc(6720 / 1400 * (100vw - 17px));
		height: calc(120 / 1400 * (100vw - 17px));
	}
	#top-page #carousel .rail.top {
	}
	#top-page #carousel .rail.btm {
		left: calc(-140 / 1400 * (100vw - 17px));
	}
	#top-page #carousel .rail img {
		width: calc(280 / 1400 * (100vw - 17px));
	}


	/*  top-page sec_vision under 1400px
	--------------------------*/
	#top-page #sec_vision {
		padding-bottom: calc(85 / 1400 * (100vw - 17px));
	}
	#top-page #sec_vision .sec_header {
		padding-top: calc(110 / 1400 * (100vw - 17px));
		padding-bottom: calc(48 / 1400 * (100vw - 17px));
	}
	#top-page #sec_vision .sec_header picture {
		width: calc(652 / 1400 * (100vw - 17px));
	}
	#top-page #sec_vision > p {
		font-size: calc(23 / 1400 * (100vw - 17px));
		padding-bottom: calc(28 / 1400 * (100vw - 17px));
	}
	#top-page #sec_vision em {
	}


	/*  top-page sec_service under 1400px
	--------------------------*/
	#top-page #sec_service {
		max-width: none;
		padding-top: calc(170 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .sec_header {
		padding-bottom: calc(105 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .sec_header picture {
		width: calc(484 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .sec_header .txt_ja {
		font-size: calc(25 / 1400 * (100vw - 17px));
		padding-top: calc(30 / 1400 * (100vw - 17px));
	}

	#top-page #sec_service .art_01 {
	}
	#top-page #sec_service .art_01::before {
		width: calc(100vw - (370 / 1400 * (100vw - 17px)));
		left: calc(370 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_cont {
		padding-left: calc(150 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_header {
		padding-top: calc(80 / 1400 * (100vw - 17px));
		width: calc(500 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_header .img_num {
		width: calc(81 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_header .img_ttl {
		width: calc(326 / 1400 * (100vw - 17px));
		padding-bottom: calc(26 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_header .sup_txt {
		font-size: calc(30 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_01 .art_body {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
		width: calc(540 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .btn_more {
		padding-bottom: calc(160 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .btn_more a {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-top: calc(26 / 1400 * (100vw - 17px));
		padding-bottom: calc(24 / 1400 * (100vw - 17px));
		padding-left: calc(6 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .btn_more picture {
		width: calc(217 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_01 .art_shape {
		width: calc(544 / 1400 * (100vw - 17px));
		right: calc(132 / 1400 * (100vw - 17px));
		top: calc(200 / 1400 * (100vw - 17px));
	}



	#top-page #sec_service .art_02 {
	}
	#top-page #sec_service .art_02::before {
		width: calc(100vw - (370 / 1400 * (100vw - 17px)));
		right: calc(370 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_cont {
		padding-left: calc(765 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_header {
		padding-top: calc(105 / 1400 * (100vw - 17px));
		width: calc(500 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_header .img_num {
		width: calc(100 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_header .img_ttl {
		width: calc(471 / 1400 * (100vw - 17px));
		padding-bottom: calc(26 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_header .sup_txt {
		font-size: calc(30 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_02 .art_body {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
		width: calc(490 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .btn_more {
		padding-bottom: calc(160 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .btn_more a {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-top: calc(26 / 1400 * (100vw - 17px));
		padding-bottom: calc(24 / 1400 * (100vw - 17px));
		padding-left: calc(6 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .btn_more picture {
		width: calc(183 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_02 .art_shape {
		width: calc(533 / 1400 * (100vw - 17px));
		left: calc(125 / 1400 * (100vw - 17px));
		top: calc(100 / 1400 * (100vw - 17px));
	}



	#top-page #sec_service .art_03 {
	}
	#top-page #sec_service .art_03 .art_thumb_pc {
		width: calc(100vw - (700 / 1400 * (100vw - 17px)));
		left: calc(700 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_thumb_sp {
	}
	#top-page #sec_service .art_03 .art_cont {
		padding-left: calc(150 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_header {
		padding-top: calc(80 / 1400 * (100vw - 17px));
		width: calc(500 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_header .img_num {
		width: calc(99 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_header .img_ttl {
		width: calc(473 / 1400 * (100vw - 17px));
		padding-bottom: calc(26 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_header .sup_txt {
		font-size: calc(30 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_03 .art_body {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
		width: calc(540 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .btn_more {
		padding-bottom: calc(160 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .btn_more a {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-top: calc(26 / 1400 * (100vw - 17px));
		padding-bottom: calc(24 / 1400 * (100vw - 17px));
		padding-left: calc(6 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .btn_more .soon {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-top: calc(26 / 1400 * (100vw - 17px));
		padding-bottom: calc(24 / 1400 * (100vw - 17px));
		padding-left: calc(6 / 1400 * (100vw - 17px));
	}
	#top-page #sec_service .art_03 .btn_more picture {
		width: calc(209 / 1400 * (100vw - 17px));
	}


	/*  top-page sec_works under 1400px
	--------------------------*/
	#top-page #sec_works {
		max-width: none;
		padding-top: calc(100 / 1400 * (100vw - 17px));
		padding-left: calc(150 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works::before {
		width: calc(100vw - (270 / 1400 * (100vw - 17px)));
		height: calc(100% - (153 / 1400 * (100vw - 17px)));
		right: calc(320 / 1400 * (100vw - 17px));
		top: calc(153 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_header {
		padding-bottom: calc(80 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_header picture {
		width: calc(387 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_header .txt_ja {
		font-size: calc(25 / 1400 * (100vw - 17px));
		padding-left: calc(78 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body {
	}
	#top-page #sec_works .sec_body .sup_txt {
		font-size: calc(24 / 1400 * (100vw - 17px));
		padding-bottom: calc(65 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .image {
		width: calc(801 / 1400 * (100vw - 17px));
		padding-bottom: calc(110 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links {
		right: calc(150 / 1400 * (100vw - 17px));
		bottom: calc(100 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links > li {
		padding-bottom: calc(10 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links > li a {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-left: calc(50 / 1400 * (100vw - 17px));
		padding-top: calc(25 / 1400 * (100vw - 17px));
		padding-bottom: calc(27 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links > li a::after {
		width: calc(20 / 1400 * (100vw - 17px));
		height: calc(17 / 1400 * (100vw - 17px));
		right: calc(40 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links > li span {
		font-size: calc(22 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works .sec_body .links > li .txt_1 {
	}
	#top-page #sec_works .sec_body .links > li .txt_2 {
	}


	/*  top-page sec_works_comp under 1400px
	--------------------------*/
	#top-page #sec_works_comp {
		width: calc(1200 / 1400 * (100vw - 17px));
		padding-top: calc(90 / 1400 * (100vw - 17px));
		padding-bottom: calc(35 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .sec_header {
		top: calc(75 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .sec_header picture {
		width: calc(267 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .sec_header .txt_ja {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-top: calc(17 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .sec_body {
		padding-top: calc(105 / 1400 * (100vw - 17px));
		padding-bottom: calc(105 / 1400 * (100vw - 17px));
	}
    #top-page #sec_works_media .sec_body {
        padding-top: calc(105 / 1400 * (100vw - 17px));
        padding-bottom: calc(105 / 1400 * (100vw - 17px));
    }
    
	#top-page #sec_works_comp .sec_body .comps {
		width: calc(1000 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .sec_body .comps > li {
	}
	#top-page #sec_works_comp .comps_link {
	}
	#top-page #sec_works_comp .comps_link a {
		width: calc(310 / 1400 * (100vw - 17px));
		padding-left: calc(50 / 1400 * (100vw - 17px));
		padding-top: calc(25 / 1400 * (100vw - 17px));
		padding-bottom: calc(27 / 1400 * (100vw - 17px));
		font-size: calc(22 / 1400 * (100vw - 17px));
	}
	#top-page #sec_works_comp .comps_link a::after {
		width: calc(20 / 1400 * (100vw - 17px));
		height: calc(17 / 1400 * (100vw - 17px));
		right: calc(40 / 1400 * (100vw - 17px));
	}


	/*  top-page sec_news under 1400px
	--------------------------*/
	#top-page #sec_news {
		max-width: none;
		padding-left: calc(150 / 1400 * (100vw - 17px));
		padding-right: calc(150 / 1400 * (100vw - 17px));
		padding-top: calc(230 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .sec_header {
		width: calc(205 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .sec_header picture {
	}
	#top-page #sec_news .sec_header .txt_ja {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-top: calc(17 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .sec_body {
		width: calc(760 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .news_list {
	}
	#top-page #sec_news .news_list > li {
		padding-top: calc(30 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .news_list > li:first-child {
	}
	#top-page #sec_news .news_list .date_wrap {
		width: calc(210 / 1400 * (100vw - 17px));
		padding-top: calc(2 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .news_list .date_wrap .date {
		font-size: calc(16 / 1400 * (100vw - 17px));
	}
	#top-page #sec_news .news_list .txt_wrap {
	}
	#top-page #sec_news .news_list .txt_wrap .txt {
		font-size: calc(18 / 1400 * (100vw - 17px));
	}


	/*  top-page sec_company under 1400px
	--------------------------*/
	#top-page #sec_company {
		max-width: none;
		padding-top: calc(205 / 1400 * (100vw - 17px));
		padding-bottom: calc(160 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_header {
		padding-bottom: calc(57 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_header picture {
		width: calc(413 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_header .txt_ja {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-top: calc(17 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_thumb {
		padding-bottom: calc(110 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_thumb picture {
		width: calc(1301 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .sec_body {
	}
	#top-page #sec_company .art_info {
		width: calc(550 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .art_header {
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .art_header picture {
		width: calc(213 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .info_list {
		padding-bottom: calc(60 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .info_list > li {
	}
	#top-page #sec_company .art_info .info_list > li > dl {
		padding-bottom: calc(10 / 1400 * (100vw - 17px));
		padding-top: calc(10 / 1400 * (100vw - 17px));
		min-height: calc(65 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt {
		width: calc(60 / 1400 * (100vw - 17px));
		font-size: calc(16 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt .tel {
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt .mail {
	}
	#top-page #sec_company .art_info .info_list > li > dl > dd {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-left: calc(42 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .recruit_block {
	}
	#top-page #sec_company .art_info .recruit_block .comment {
		font-size: calc(18 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_info .recruit_block .link {
	}
	#top-page #sec_company .art_info .recruit_block .link a {
		font-size: calc(22 / 1400 * (100vw - 17px));
		padding-top: calc(25 / 1400 * (100vw - 17px));
		padding-bottom: calc(28 / 1400 * (100vw - 17px));
		/* padding-left: calc(90 / 1400 * (100vw - 17px)); */
	}
	/* #top-page #sec_company .art_info .recruit_block .link a::after {
		width: calc(26 / 1400 * (100vw - 17px));
		height: calc(26 / 1400 * (100vw - 17px));
		right: calc(90 / 1400 * (100vw - 17px));
	} */
	#top-page #sec_company .art_access {
		width: calc(550 / 1400 * (100vw - 17px));
		padding-left: calc(70 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_access .art_header {
		padding-bottom: calc(45 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_access .art_header picture {
		width: calc(121 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_access .map {
		width: calc(480 / 1400 * (100vw - 17px));
		height: calc(490 / 1400 * (100vw - 17px));
	}
	#top-page #sec_company .art_access .map iframe {
	}



	/*  top-page sec_contact under 1400px
	--------------------------*/
	#top-page #sec_contact {
		max-width: none;
		padding-top: calc(140 / 1400 * (100vw - 17px));
		padding-bottom: calc(200 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .sec_header {
		padding-bottom: calc(74 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .sec_header picture {
		width: calc(389 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .sec_header .txt_ja {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-top: calc(17 / 1400 * (100vw - 17px));
	}

	#top-page #sec_contact .sec_body {
		width: calc(914 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .sec_body form {
	}
	#top-page #sec_contact .form {
		font-size: calc(16 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .form tr {
	}
	#top-page #sec_contact .form th {
		padding-top: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
		padding-left: calc(28 / 1400 * (100vw - 17px));
		padding-right: calc(28 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .must {
		padding-top: calc(2 / 1400 * (100vw - 17px));
		padding-bottom: calc(2 / 1400 * (100vw - 17px));
		padding-left: calc(8 / 1400 * (100vw - 17px));
		padding-right: calc(8 / 1400 * (100vw - 17px));
		border-radius: calc(4 / 1400 * (100vw - 17px));
		font-size: calc(13 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .form td {
		padding-top: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
		padding-left: calc(28 / 1400 * (100vw - 17px));
		padding-right: calc(28 / 1400 * (100vw - 17px));
	}

	#top-page #sec_contact .form input[type="text"],
	#top-page #sec_contact .form input[type="tel"],
	#top-page #sec_contact .form input[type="email"],
	#top-page #sec_contact .form input[type="date"] {
		padding-top: calc(8 / 1400 * (100vw - 17px));
		padding-bottom: calc(8 / 1400 * (100vw - 17px));
		padding-left: calc(16 / 1400 * (100vw - 17px));
		padding-right: calc(16 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .form textarea {
		min-height: calc(320 / 1400 * (100vw - 17px));
		padding-top: calc(8 / 1400 * (100vw - 17px));
		padding-bottom: calc(8 / 1400 * (100vw - 17px));
		padding-left: calc(16 / 1400 * (100vw - 17px));
		padding-right: calc(16 / 1400 * (100vw - 17px));
	}
	.wpcf7-not-valid-tip {
	}
	#top-page #sec_contact .submit {
		padding-top: calc(65 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .submit input[type="submit"] {
		width: calc(350 / 1400 * (100vw - 17px));
		padding-top: calc(23 / 1400 * (100vw - 17px));
		padding-bottom: calc(23 / 1400 * (100vw - 17px));
		font-size: calc(25 / 1400 * (100vw - 17px));
	}
	#top-page #sec_contact .submit input[type="submit"]:hover {
	}
	#top-page #sec_contact .wpcf7-response-output {
		font-size: calc(16 / 1400 * (100vw - 17px));
	}





	/*==================================================
	  layout[down-page] under 1400px
	====================================================*/
	/*  down-page visual under 1400px
	--------------------------*/
	#down-page #visual {
		padding-top: calc(253 / 1400 * (100vw - 17px));
		padding-bottom: calc(140 / 1400 * (100vw - 17px));
	}
	#down-page #page_ttl {
	}
	#down-page #page_ttl picture {
		width: calc(498 / 1400 * (100vw - 17px));
	}
	#down-page #page_ttl .txt {
		font-size: calc(25 / 1400 * (100vw - 17px));
		padding-top: calc(30 / 1400 * (100vw - 17px));
	}
	/*  down-page container under 1400px
	--------------------------*/
	#down-page #container {
		padding-bottom: calc(200 / 1400 * (100vw - 17px));
	}
	#down-page #container_in {
		max-width: calc(1100 / 1400 * (100vw - 17px));
	}
	#down-page .art {
		width: calc(543 / 1400 * (100vw - 17px));
	}
	#down-page .art .thumb {
	}
	#down-page .art .thumb a {
	}
	#down-page .art .thumb picture {
	}
	#down-page .art .art_ttl {
		width: calc(492 / 1400 * (100vw - 17px));
		padding-top: calc(38 / 1400 * (100vw - 17px));
		padding-bottom: calc(30 / 1400 * (100vw - 17px));
	}
	#down-page .art .art_ttl .txt {
		font-size: calc(25 / 1400 * (100vw - 17px));
	}
	#down-page .art .art_ttl a {
		bottom: calc(36 / 1400 * (100vw - 17px));
	}
	#down-page .art .art_ttl .icon {
		display: block;
		width: calc(36 / 1400 * (100vw - 17px));
	}
	#down-page .art .art_ttl .icon picture {
	}
	#down-page .art .art_body {
		width: calc(492 / 1400 * (100vw - 17px));
		padding-top: calc(22 / 1400 * (100vw - 17px));
		padding-bottom: calc(60 / 1400 * (100vw - 17px));
	}
	#down-page .art .art_body .parag {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(7 / 1400 * (100vw - 17px));
	}






	/*==================================================
	  layout[works-page] under 1400px
	====================================================*/
	/*  works-page visual under 1400px
	--------------------------*/
	#works-page #visual {
		padding-top: calc(253 / 1400 * (100vw - 17px));
		padding-bottom: calc(140 / 1400 * (100vw - 17px));
	}
	#works-page #page_ttl {
	}
	#works-page #page_ttl picture {
		width: calc(312 / 1400 * (100vw - 17px));
	}
	#works-page #page_ttl .txt {
		font-size: calc(25 / 1400 * (100vw - 17px));
		padding-top: calc(30 / 1400 * (100vw - 17px));
	}
	/*  works-page works_anchor under 1400px
	--------------------------*/
	#works-page #container {
	}
	#works-page #works_anchor {
		max-width: calc(1100 / 1400 * (100vw - 17px));
		padding-top: calc(6 / 1400 * (100vw - 17px));
		padding-bottom: calc(6 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor > li {
	}
	#works-page #works_anchor a {
		padding-left: calc(100 / 1400 * (100vw - 17px));
		padding-top: calc(22 / 1400 * (100vw - 17px));
		padding-bottom: calc(21 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor > li:first-child a {
	}
	#works-page #works_anchor .img_case {
		width: calc(196 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor .img_use {
		width: calc(173 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor .txt {
		font-size: calc(16 / 1400 * (100vw - 17px));
		padding-left: calc(34 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor .icon_arw {
		width: calc(28 / 1400 * (100vw - 17px));
		right: calc(36 / 1400 * (100vw - 17px));
	}
	#works-page #works_anchor .icon_arw > picture {
	}

	/*  works-page sec_case under 1400px
	--------------------------*/
	#works-page #sec_case {
		padding-top: calc(160 / 1400 * (100vw - 17px));
		max-width: calc(1300 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .sec_header {
		padding-left: calc(100 / 1400 * (100vw - 17px));
		padding-bottom: calc(10 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .sec_header picture {
		width: calc(349 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .sec_body > li {
		padding-left: calc(100 / 1400 * (100vw - 17px));
		padding-right: calc(100 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .sec_body > li:first-child {
	}
	#works-page #sec_case .art {
		width: calc(500 / 1400 * (100vw - 17px));
		padding-bottom: calc(70 / 1400 * (100vw - 17px));
		padding-top: calc(70 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .art_header {
	}
	#works-page #sec_case .art .art_header .ttl {
		font-size: calc(30 / 1400 * (100vw - 17px));
		padding-bottom: calc(8 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .art_header .comp_name {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(28 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .thumb {
	}
	#works-page #sec_case .art .thumb:hover {
	}
	#works-page #sec_case .art .thumb .video_modal {
	}
	#works-page #sec_case .art .thumb .video_modal > img {
	}
	#works-page #sec_case .art .thumb .video_modal .icon_start {
		width: calc(71 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info {
		padding-top: calc(38 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info .cost {
		border-radius: calc(5 / 1400 * (100vw - 17px));
		padding-left: calc(14 / 1400 * (100vw - 17px));
		padding-right: calc(14 / 1400 * (100vw - 17px));
		padding-top: calc(8 / 1400 * (100vw - 17px));
		padding-bottom: calc(8 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info .cost .txt_buffer {
		font-size: calc(15 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info .length {
		padding-left: calc(20 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info .length .icon_play {
		width: calc(24 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .info .length .time {
		font-size: calc(15 / 1400 * (100vw - 17px));
		padding-left: calc(8 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .art_body {
		padding-top: calc(10 / 1400 * (100vw - 17px));
	}
	#works-page #sec_case .art .art_body .parag {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(5 / 1400 * (100vw - 17px));
	}



	/*  works-page sec_works_comp under 1400px
	--------------------------*/
	#works-page #sec_works_comp {
		width: calc(1200 / 1400 * (100vw - 17px));
		padding-top: calc(90 / 1400 * (100vw - 17px));
		padding-bottom: calc(35 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .sec_header {
		top: calc(71 / 1400 * (100vw - 17px));
		padding-left: calc(80 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .sec_header picture {
		width: calc(280 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .sec_header .txt_ja {
		font-size: calc(18 / 1400 * (100vw - 17px));
		padding-left: calc(63 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .sec_body {
		padding-top: calc(100 / 1400 * (100vw - 17px));
		padding-bottom: calc(100 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .comps {
		width: calc(1000 / 1400 * (100vw - 17px));
	}
	#works-page #sec_works_comp .comps > li {
	}
	/*  works-page sec_use under 1400px
	--------------------------*/
	#works-page #sec_use {
		padding-top: calc(300 / 1400 * (100vw - 17px));
		padding-bottom: calc(100 / 1400 * (100vw - 17px));
		max-width: calc(1300 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .sec_header {
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
		padding-left: calc(100 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .sec_header picture {
		width: calc(307 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .sup_txt {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(70 / 1400 * (100vw - 17px));
		padding-left: calc(100 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .figure {
		padding-bottom: calc(70 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .figure picture {
		width: calc(1117 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .sec_body {
		width: calc(1100 / 1400 * (100vw - 17px));
		padding-top: calc(100 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art {
		width: calc(500 / 1400 * (100vw - 17px));
		padding-bottom: calc(70 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .sentence {
		width: calc(310 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .shape_pc {
		width: calc(170 / 1400 * (100vw - 17px));
		min-height: calc(256 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .shape_pc img {
		width: calc(170 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art_header {

	}
	#works-page #sec_use .art_header .shape_sp {
	}
	#works-page #sec_use .art_header .ttl {
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art_header .ttl .icon_num {
		width: calc(39 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art_header .ttl .txt {
		font-size: calc(22 / 1400 * (100vw - 17px));
		padding-left: calc(13 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .use_6 .art_header .ttl .txt {
		padding-left: calc(6 / 1400 * (100vw - 17px));
		font-size: calc(20 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art_header .sub_ttl {
		font-size: calc(20 / 1400 * (100vw - 17px));
		padding-bottom: calc(3 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .use_6 .art_header .sub_ttl {
		font-size: calc(18 / 1400 * (100vw - 17px));
	}
	#works-page #sec_use .art_body {
	}
	#works-page #sec_use .art_body .parag {
		padding-top: calc(5 / 1400 * (100vw - 17px));
		font-size: calc(15 / 1400 * (100vw - 17px));
	}









	/*==================================================
	  layout[down-d-page] under 1400px
	====================================================*/
	/*  down-d-page container under 1400px
	--------------------------*/
	#down-d-page #container {
		padding-top: calc(83 / 1400 * (100vw - 17px));
	}
	#down-d-page .visual {
		/* min-height: calc(990 / 1400 * (100vw - 17px)); */
		min-height: calc(916 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont {
		padding-left: calc(70 / 1400 * (100vw - 17px));
		padding-top: calc(50 / 1400 * (100vw - 17px));
		padding-bottom: calc(70 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .page_ttl {
		font-size: calc(32 / 1400 * (100vw - 17px));
		padding-bottom: calc(15 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .exp_txt {
		font-size: calc(17 / 1400 * (100vw - 17px));
		width: calc(480 / 1400 * (100vw - 17px));
		padding-bottom: calc(48 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_wrap {
	}
	#down-d-page #detail_cont .form {
		width: calc(480 / 1400 * (100vw - 17px));
		/* padding-bottom: calc(44 / 1400 * (100vw - 17px)); */
		padding-bottom: calc(40 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_line {
		/* padding-bottom: calc(30 / 1400 * (100vw - 17px)); */
		padding-bottom: calc(25 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_ttl {
		font-size: calc(17 / 1400 * (100vw - 17px));
		padding-bottom: calc(8 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_ttl .req {
	}
	#down-d-page #detail_cont .form_inp {
		font-size: calc(17 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .fullname .form_inp {
	}
	#down-d-page #detail_cont .fullname .form_inp .name.first,
	#down-d-page #detail_cont .fullname .form_inp .name.last {
		width: calc(232 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_inp input {
		border-radius: calc(4 / 1400 * (100vw - 17px));
		padding-left: calc(16 / 1400 * (100vw - 17px));
		padding-right: calc(16 / 1400 * (100vw - 17px));
		padding-top: calc(10 / 1400 * (100vw - 17px));
		padding-bottom: calc(10 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .form_inp .wpcf7-not-valid-tip {
	}

	#down-d-page #detail_cont .btn.submit {
	}
	#down-d-page #detail_cont .btn.submit button {
		width: calc(268 / 1400 * (100vw - 17px));
		padding-left: calc(45 / 1400 * (100vw - 17px));
		padding-top: calc(18 / 1400 * (100vw - 17px));
		padding-bottom: calc(20 / 1400 * (100vw - 17px));
	}
	#down-d-page #detail_cont .btn.submit picture {
		width: calc(186 / 1400 * (100vw - 17px));
	}

	#down-d-page #detail_cont .wpcf7-response-output {
		max-width: calc(480 / 1400 * (100vw - 17px));
		font-size: calc(16 / 1400 * (100vw - 17px));
	}






















}

























/*==================================================

  Media Queries for window size under 768px

====================================================*/
@media screen and (max-width: 768px) {

  /*==========================
    Z-Index under 768px
  ==========================*/



  /*==========================
    layout[ALL] under 768px
  ==========================*/
	/*  Html under 768px
	--------------------------*/
	.pc {
		display: none;
	}
	.sp {
		display: inline;
	}
	img {
	}
	picture {
	}
	/*  Body under 768px
	--------------------------*/
	body {
	}
	/*  Wrapper under 768px
	--------------------------*/
	#wrapper {
	}

	/*  Header under 768px
	--------------------------*/
	#header {
	}
	#header_logo {
		padding-top: calc(30 / 768 * 100vw);
		padding-bottom: calc(30 / 768 * 100vw);
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#header_logo > a {
	}
	#header_logo .img_hlogo {
		width: calc(224 / 768 * 100vw);
	}
	#gnav {
		display: none;
	}
	#gnav.open {
		display: block;
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100vh;
		background-color: #171c61;
		overflow-y: auto;
		padding-top: 0;
		padding-bottom: 0;
	}
	#gnav .gnav_logo {
		display: block;
		position: absolute;
		left: calc(50 / 768 * 100vw);
		top: calc(30 / 768 * 100vw);
	}
	#gnav .gnav_logo img {
		width: calc(225 / 768 * 100vw);
	}
	#gnav_list {
		display: block;
		text-align: center;
		padding-top: calc(200 / 768 * 100vw);
		padding-bottom: calc(125 / 768 * 100vw);
	}
	#gnav_list > li {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: calc(75 / 768 * 100vw);
	}
	#gnav_list > li.nav_btn_top {
		display: block;
	}
	#gnav_list > li.nav_btn_contact {
		display: none;
	}
	#gnav_list > li a {
		display: inline-block;
		padding-top: 0;
		padding-bottom: 0;
		padding-left: 0;
		padding-right: calc(70 / 768 * 100vw);
		position: relative;
	}
	#gnav_list > li a::after {
		content: "";
		display: block;
		width: calc(31 / 768 * 100vw);
		height: calc(25 / 768 * 100vw);
		background-image: url(../img/common/sp_icon_menu_arw-min.png);
		background-repeat: no-repeat;
		background-position: center;
		background-size: contain;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	#gnav_list > li.nav_btn_contact a {
	}
	#gnav_list .img_top {
		width: calc(127 / 768 * 100vw);
	}
	#gnav_list .img_vision {
		width: calc(233 / 768 * 100vw);
	}
	#gnav_list .img_service {
		width: calc(293 / 768 * 100vw);
	}
	#gnav_list .img_works {
		width: calc(244 / 768 * 100vw);
	}
	#gnav_list .img_company {
		width: calc(332 / 768 * 100vw);
	}
	#gnav_list .img_download {
		width: calc(386 / 768 * 100vw);
	}
	#gnav_list .online {
    font-size: 4.4rem;
    padding-top: 2%;
    padding-bottom: 2%;
    padding-left: 2%;
	}
	#gnav_list .img_contact {
	}

	#gnav_btn {
		display: block;
		width: calc(50 / 768 * 100vw);
		height: calc(50 / 768 * 100vw);
		position: absolute;
		right: calc(50 / 768 * 100vw);
		top: calc(24 / 768 * 100vw);
	}
	#gnav_btn::before,
	#gnav_btn::after {
		content: "";
		display: block;
		width: 100%;
		height: 2px;
		background-color: #1446a0;
		position: absolute;
		left: 0;

		transition: all 200ms ease 0s;
	}
	#gnav_btn::before {
		top: 33%;
	}
	#gnav_btn::after {
		top: 66%;
	}

	#gnav.open + #gnav_btn::before,
	#gnav.open + #gnav_btn::after {
		background-color: #fff;
		position: absolute;
	}
	#gnav.open + #gnav_btn::before {
		top: 50%;
		transform: rotate(45deg);
	}
	#gnav.open + #gnav_btn::after {
		top: 50%;
		transform: rotate(-45deg);
	}

	/*  Container under 768px
	--------------------------*/
	#container {
	}

	/*  Footer under 768px
	--------------------------*/
	#footer {
		padding-top: calc(78 / 768 * 100vw);
		padding-bottom: calc(72 / 768 * 100vw);
	}
	#flogo {
		width: calc(290 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
	}
	#fnav {
		display: block;
	}
	#fnav > li {
		padding-left: 0;
		padding-right: 0;
		padding-bottom: calc(30 / 768 * 100vw);
	}
	#fnav > li a {
		padding: 0;
		display: inline-block;
	}
	#fnav .img_vision {
		width: calc(108 / 768 * 100vw);
	}
	#fnav .img_service {
		width: calc(136 / 768 * 100vw);
	}
	#fnav .img_works {
		width: calc(114 / 768 * 100vw);
	}
	#fnav .img_company {
		width: calc(155 / 768 * 100vw);
	}
	#fnav .img_download {
		width: calc(180 / 768 * 100vw);
	}




	/*==================================================
	  layout[top-page] under 768px
	====================================================*/
	/*  top-page Header under 768px
	--------------------------*/
	#top-page #header {
	}
	#top-page #header .black {
	}
	#top-page #header .white {
	}
	#top-page #header.change {
	}
	#top-page #header.change .black {
	}
	#top-page #header.change .white {
	}


	/*  top-page Visual under 768px
	--------------------------*/
	#top-page #visual {
	}
	#top-page #visual video {
	}
	#top-page #visual .catch {
		/* top: calc(200 / 768 * 100vw); */
		left: calc(50 / 768 * 100vw);
		transform: translateY(-50%) translateX(-120%);
		margin-top: calc(-250 / 768 * 100vw);
		animation: catch_sp 300ms cubic-bezier(.13,.95,.62,1.29) 1000ms forwards;
	}
	#top-page #visual .img_catch {
		width: calc(657 / 768 * 100vw);
	}

	#top-page #visual .catch_2 {
		left: calc(50 / 768 * 100vw);
		margin-top: calc(-250 / 768 * 100vw);
	}
	#top-page #visual .catch_2 picture {
	}
	#top-page #visual .img_catch_1 {
		width: calc(287 / 768 * 100vw);
		margin-left: calc(54 / 768 * 100vw);
		padding-bottom: calc(43 / 768 * 100vw);
	}
	#top-page #visual .img_catch_2 {
		width: calc(658 / 768 * 100vw);
		padding-bottom: calc(39 / 768 * 100vw);
	}
	#top-page #visual .img_catch_3 {
		width: calc(640 / 768 * 100vw);
		margin-left: calc(17 / 768 * 100vw);
	}


	/*  top-page carousel under 768px
	--------------------------*/
	#top-page #carousel {
		padding-top: calc(50 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
		width: calc(4032 / 768 * 100vw);
	}
	#top-page #carousel .rail {
		width: calc(8064 / 768 * 100vw);
		height: calc(144 / 768 * 100vw);
	}
	#top-page #carousel .rail.top {
	}
	#top-page #carousel .rail.btm {
		left: calc(-168 / 768 * 100vw);
	}
	#top-page #carousel .rail img {
		width: calc(336 / 768 * 100vw);
	}


	/*  top-page sec_vision under 768px
	--------------------------*/
	#top-page #sec_vision {
		background-image: url(../img/top/sp_vision_bg-min.png);
		padding-bottom: calc(144 / 768 * 100vw);
	}
	#top-page #sec_vision .sec_header {
		padding-top: calc(136 / 768 * 100vw);
		padding-bottom: calc(80 / 768 * 100vw);
	}
	#top-page #sec_vision .sec_header picture {
		width: calc(584 / 768 * 100vw);
	}
	#top-page #sec_vision > p {
		font-size: calc(30 / 768 * 100vw);
		padding-bottom: calc(32 / 768 * 100vw);
	}
	#top-page #sec_vision em {
	}


	/*  top-page sec_service under 768px
	--------------------------*/
	#top-page #sec_service {
		padding-top: calc(200 / 768 * 100vw);
	}
	#top-page #sec_service .sec_header {
		padding-bottom: 0;
	}
	#top-page #sec_service .sec_header picture {
		width: calc(530 / 768 * 100vw);
	}
	#top-page #sec_service .sec_header .txt_ja {
		font-size: calc(30 / 768 * 100vw);
		padding-top: calc(34 / 768 * 100vw);
	}



	#top-page #sec_service .art_01 {
		padding-top: calc(120 / 768 * 100vw);
		padding-bottom: calc(150 / 768 * 100vw);
	}
	#top-page #sec_service .art_01::before {
		width: 100%;
		height: calc(100% - (173 / 768 * 100vw));
		left: 0;
		top: auto;
		bottom: 0;
	}
	#top-page #sec_service .art_01 .art_cont {
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_01 .art_header {
		padding-top: 0;
		width: 100%;
	}
	#top-page #sec_service .art_01 .art_header .img_num {
		width: calc(102 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_01 .art_header .img_ttl {
		width: calc(470 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_01 .art_header .sup_txt {
		font-size: calc(45 / 768 * 100vw);
		padding-bottom: calc(25 / 768 * 100vw);
		line-height: 1.6;
	}
	#top-page #sec_service .art_01 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_01 .art_body {
		font-size: calc(28 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
		width: 100%;
		line-height: 1.85;
	}
	#top-page #sec_service .art_01 .btn_more {
		padding-bottom: calc(150 / 768 * 100vw);
	}
	#top-page #sec_service .art_01 .btn_more a {
		width: calc(445 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		padding-bottom: calc(36 / 768 * 100vw);
		padding-left: calc(70 / 768 * 100vw);
		text-align: left;
	}
	#top-page #sec_service .art_01 .btn_more picture {
		width: calc(313 / 768 * 100vw);
	}
	#top-page #sec_service .art_01 .art_shape {
		position: relative;
		width: calc(654 / 768 * 100vw);
		right: auto;
		top: auto;
		margin: auto;
	}



	#top-page #sec_service .art_02 {
		padding-top: calc(105 / 768 * 100vw);
		padding-bottom: calc(115 / 768 * 100vw);
	}
	#top-page #sec_service .art_02::before {
		width: 100%;
		height: calc(100% - (160 / 768 * 100vw));
		right: 0;
		top: auto;
		bottom: 0;
	}
	#top-page #sec_service .art_02 .art_cont {
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_02 .art_header {
		padding-top: 0;
		width: 100%;
	}
	#top-page #sec_service .art_02 .art_header .img_num {
		width: calc(126 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_02 .art_header .img_ttl {
		width: calc(611 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_02 .art_header .sup_txt {
		font-size: calc(45 / 768 * 100vw);
		padding-bottom: calc(25 / 768 * 100vw);
		line-height: 1.6;
	}
	#top-page #sec_service .art_02 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_02 .art_body {
		font-size: calc(28 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
		width: 100%;
		line-height: 1.85;
		letter-spacing: -.01em;
	}
	#top-page #sec_service .art_02 .btn_more {
		padding-bottom: calc(150 / 768 * 100vw);
	}
	#top-page #sec_service .art_02 .btn_more a {
		width: calc(445 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		padding-bottom: calc(36 / 768 * 100vw);
		padding-left: calc(87 / 768 * 100vw);
		text-align: left;
	}
	#top-page #sec_service .art_02 .btn_more picture {
		width: calc(271 / 768 * 100vw);
	}
	#top-page #sec_service .art_02 .art_shape {
		position: relative;
		width: calc(603 / 768 * 100vw);
		left: auto;
		top: auto;
		margin: auto;
	}



	#top-page #sec_service .art_03 {
		padding-top: calc(110 / 768 * 100vw);
	}
	#top-page #sec_service .art_03 .art_thumb_pc {
		width: 100%;
		height: calc(100% - (162 / 768 * 100vw));
		background-image: none;
		background-color: #f3f6fa;
		top: auto;
		left: 0;
		bottom: 0;
	}
	#top-page #sec_service .art_03 .art_thumb_sp {
		display: block;
		width: 100%;
		height: calc(768 / 768 * 100vw);
		background-image: url(../img/top/sp_service_03_shape-min.png);
		background-position: center top;
		background-repeat: no-repeat;
		background-size: cover;
		position: relative;
	}

	#top-page #sec_service .art_03 .art_cont {
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_03 .art_header {
		padding-top: 0;
		width: 100%;
	}
	#top-page #sec_service .art_03 .art_header .img_num {
		width: calc(127 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_03 .art_header .img_ttl {
		width: calc(646 / 768 * 100vw);
		padding-bottom: calc(50 / 768 * 100vw);
	}
	#top-page #sec_service .art_03 .art_header .sup_txt {
		font-size: calc(45 / 768 * 100vw);
		padding-bottom: calc(25 / 768 * 100vw);
		line-height: 1.6;
	}
	#top-page #sec_service .art_03 .art_header .sup_txt em {
	}
	#top-page #sec_service .art_03 .art_body {
		font-size: calc(28 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
		width: 100%;
		line-height: 1.85;
		letter-spacing: -.01em;
	}
	#top-page #sec_service .art_03 .btn_more {
		padding-bottom: calc(150 / 768 * 100vw);
	}
	#top-page #sec_service .art_03 .btn_more a {
		width: calc(445 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		padding-bottom: calc(36 / 768 * 100vw);
		padding-left: calc(70 / 768 * 100vw);
		text-align: left;
	}
	#top-page #sec_service .art_03 .btn_more .soon {
		width: calc(445 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		padding-bottom: calc(36 / 768 * 100vw);
		padding-left: 0;
	}
	#top-page #sec_service .art_03 .btn_more picture {
		width: calc(304 / 768 * 100vw);
	}


	/*  top-page sec_works under 768px
	--------------------------*/
	#top-page #sec_works {
		padding-top: calc(180 / 768 * 100vw);
		padding-left: 0;
	}
	#top-page #sec_works::before {
		width: 100%;
		height: calc(1173 / 768 * 100vw);
		right: 0;
		top: calc(294 / 768 * 100vw);
	}
	#top-page #sec_works .sec_header {
		padding-bottom: calc(65 / 768 * 100vw);
		text-align: center;
	}
	#top-page #sec_works .sec_header picture {
		width: calc(457 / 768 * 100vw);
	}
	#top-page #sec_works .sec_header .txt_ja {
		font-size: calc(30 / 768 * 100vw);
		padding-top: calc(48 / 768 * 100vw);
		color: #fff;
		display: block;
		padding-left: 0;
	}
	#top-page #sec_works .sec_body {
	}
	#top-page #sec_works .sec_body .sup_txt {
		font-size: calc(30 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_works .sec_body .image {
		width: calc(730 / 768 * 100vw);
		padding-bottom: calc(200 / 768 * 100vw);
		margin: auto;
	}
	#top-page #sec_works .sec_body .links {
		position: relative;
		right: auto;
		bottom: auto;
	}
	#top-page #sec_works .sec_body .links > li {
		padding-bottom: calc(17 / 768 * 100vw);
	}
	#top-page #sec_works .sec_body .links > li a {
		width: calc(500 / 768 * 100vw);
		padding-left: calc(80 / 768 * 100vw);
		padding-top: calc(43 / 768 * 100vw);
		padding-bottom: calc(43 / 768 * 100vw);
		margin: auto;
	}
	#top-page #sec_works .sec_body .links > li a::after {
		background-image: url(../img/common/sp_icon_arw-min.png);
		width: calc(32 / 768 * 100vw);
		height: calc(27 / 768 * 100vw);
		right: calc(65 / 768 * 100vw);
	}
	#top-page #sec_works .sec_body .links > li span {
		font-size: calc(35 / 768 * 100vw);
	}
	#top-page #sec_works .sec_body .links > li .txt_1 {
		letter-spacing: .4em;
	}
	#top-page #sec_works .sec_body .links > li .txt_2 {
		letter-spacing: .1em;
	}


	/*  top-page sec_works_comp under 768px
	--------------------------*/
	#top-page #sec_works_comp {
		width: 100%;
		padding-top: calc(162 / 768 * 100vw);
		padding-bottom: calc(60 / 768 * 100vw);
	}
	#top-page #sec_works_comp .sec_header {
		top: calc(142 / 768 * 100vw);
	}
	#top-page #sec_works_comp .sec_header picture {
		width: calc(319 / 768 * 100vw);
	}
	#top-page #sec_works_comp .sec_header .txt_ja {
		font-size: calc(30 / 768 * 100vw);
		padding-top: calc(24 / 768 * 100vw);
	}
	#top-page #sec_works_comp .sec_body {
		padding-top: calc(154 / 768 * 100vw);
		padding-bottom: calc(152 / 768 * 100vw);
	}
	#top-page #sec_works_comp .sec_body .comps {
		width: 97.7%;
	}
	#top-page #sec_works_comp .sec_body .comps > li {
		width: 33.3333%;
	}
	#top-page #sec_works_comp .comps_link {
	}
	#top-page #sec_works_comp .comps_link a {
		width: calc(500 / 768 * 100vw);
		padding-left: calc(76 / 768 * 100vw);
		padding-top: calc(43 / 768 * 100vw);
		padding-bottom: calc(43 / 768 * 100vw);
		font-size: calc(35 / 768 * 100vw);
		letter-spacing: .3em;
	}
	#top-page #sec_works_comp .comps_link a::after {
		background-image: url(../img/common/sp_icon_arw-min.png);
		width: calc(32 / 768 * 100vw);
		height: calc(27 / 768 * 100vw);
		right: calc(65 / 768 * 100vw);
	}


	/*  top-page sec_news under 768px
	--------------------------*/
	#top-page #sec_news {
		padding-left: calc(50 / 768 * 100vw);
		padding-right: 0;
		padding-top: calc(240 / 768 * 100vw);
	}
	#top-page #sec_news .sec_header {
		width: calc(256 / 768 * 100vw);
		padding-bottom: calc(90 / 768 * 100vw);
	}
	#top-page #sec_news .sec_header picture {
	}
	#top-page #sec_news .sec_header .txt_ja {
		font-size: calc(28 / 768 * 100vw);
		padding-top: calc(27 / 768 * 100vw);
		letter-spacing: .3em;
	}
	#top-page #sec_news .sec_body {
		width: 100%;
	}
	#top-page #sec_news .news_list {
	}
	#top-page #sec_news .news_list > li {
		padding-top: calc(40 / 768 * 100vw);
		padding-bottom: calc(24 / 768 * 100vw);
		padding-right: calc(30 / 768 * 100vw);
		display: block;
	}
	#top-page #sec_news .news_list > li:first-child {
	}
	#top-page #sec_news .news_list .date_wrap {
		display: block;
		width: 100%;
		padding-top: 0;
		padding-bottom: calc(15 / 768 * 100vw);
	}
	#top-page #sec_news .news_list .date_wrap .date {
		font-size: calc(26 / 768 * 100vw);
		line-height: 1;
	}
	#top-page #sec_news .news_list .txt_wrap {
		display: block;
		width: 100%;
	}
	#top-page #sec_news .news_list .txt_wrap .txt {
		font-size: calc(27 / 768 * 100vw);
	}


	/*  top-page sec_company under 768px
	--------------------------*/
	#top-page #sec_company {
		padding-top: calc(260 / 768 * 100vw);
		padding-bottom: 0;
	}
	#top-page #sec_company .sec_header {
		padding-bottom: calc(95 / 768 * 100vw);
	}
	#top-page #sec_company .sec_header picture {
		width: calc(438 / 768 * 100vw);
	}
	#top-page #sec_company .sec_header .txt_ja {
		font-size: calc(28 / 768 * 100vw);
		padding-top: calc(27 / 768 * 100vw);
		letter-spacing: .3em;
	}
	#top-page #sec_company .sec_thumb {
		padding-bottom: calc(108 / 768 * 100vw);
	}
	#top-page #sec_company .sec_thumb picture {
		width: 100%;
	}
	#top-page #sec_company .sec_body {
		display: block;
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_company .art_info {
		width: 100%;
	}
	#top-page #sec_company .art_info .art_header {
		padding-bottom: calc(20 / 768 * 100vw);
	}
	#top-page #sec_company .art_info .art_header picture {
		width: calc(316 / 768 * 100vw);
	}
	#top-page #sec_company .art_info .info_list {
		padding-bottom: calc(60 / 768 * 100vw);
	}
	#top-page #sec_company .art_info .info_list > li {
	}
	#top-page #sec_company .art_info .info_list > li > dl {
		display: block;
		padding-bottom: calc(20 / 768 * 100vw);
		padding-top: calc(40 / 768 * 100vw);
		min-height: auto;
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt {
		width: calc(90 / 768 * 100vw);
		font-size: calc(26 / 768 * 100vw);
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt .tel {
		letter-spacing: .7em;
	}
	#top-page #sec_company .art_info .info_list > li > dl > dt .mail {
		letter-spacing: .3em;
	}
	#top-page #sec_company .art_info .info_list > li > dl > dd {
		display: block;
		font-size: calc(28 / 768 * 100vw);
		padding-left: 0;
	}
	#top-page #sec_company .art_info .recruit_block {
	}
	#top-page #sec_company .art_info .recruit_block .comment {
		font-size: calc(22 / 768 * 100vw);
		padding-bottom: calc(20 / 768 * 100vw);
	}
	#top-page #sec_company .art_info .recruit_block .link {
	}
	#top-page #sec_company .art_info .recruit_block .link a {
		font-size: calc(26 / 768 * 100vw);
		padding-top: calc(30 / 768 * 100vw);
		padding-bottom: calc(34 / 768 * 100vw);
		/* padding-left: calc(107 / 768 * 100vw); */
	}
	/* #top-page #sec_company .art_info .recruit_block .link a::after {
		width: calc(31 / 768 * 100vw);
		height: calc(31 / 768 * 100vw);
		background-image: url(../img/common/sp_icon_blank-min.png);
		right: calc(110 / 768 * 100vw);
	} */
	#top-page #sec_company .art_access {
		width: 100%;
		padding-left: 0;
		padding-top: calc(127 / 768 * 100vw);
	}
	#top-page #sec_company .art_access .art_header {
		padding-bottom: calc(45 / 768 * 100vw);
	}
	#top-page #sec_company .art_access .art_header picture {
		width: calc(181 / 768 * 100vw);
	}
	#top-page #sec_company .art_access .map {
		width: 100%;
		height: calc(680 / 768 * 100vw);
	}
	#top-page #sec_company .art_access .map iframe {
	}


	/*  top-page sec_contact under 768px
	--------------------------*/
	#top-page #sec_contact {
		border-top: none;
		padding-top: calc(270 / 768 * 100vw);
		padding-bottom: calc(200 / 768 * 100vw);
	}
	#top-page #sec_contact .sec_header {
		padding-bottom: calc(100 / 768 * 100vw);
	}
	#top-page #sec_contact .sec_header picture {
		width: calc(527 / 768 * 100vw);
	}
	#top-page #sec_contact .sec_header .txt_ja {
		font-size: calc(30 / 768 * 100vw);
		padding-top: calc(30 / 768 * 100vw);
	}

	#top-page #sec_contact .sec_body {
		width: 100%;
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#top-page #sec_contact .sec_body form {
	}
	#top-page #sec_contact .form {
		font-size: calc(26 / 768 * 100vw);
	}
	#top-page #sec_contact .form tr {
	}
	#top-page #sec_contact .form th {
		display: block;
		width: 100%;
		padding-top: calc(15 / 768 * 100vw);
		padding-bottom: calc(15 / 768 * 100vw);
		padding-left: calc(20 / 768 * 100vw);
		padding-right: calc(20 / 768 * 100vw);
	}
	#top-page #sec_contact .must {
		padding-top: calc(2 / 768 * 100vw);
		padding-bottom: calc(2 / 768 * 100vw);
		padding-left: calc(8 / 768 * 100vw);
		padding-right: calc(8 / 768 * 100vw);
		border-radius: calc(4 / 768 * 100vw);
		font-size: calc(22 / 768 * 100vw);
		float: none;
		margin-left: calc(20 / 768 * 100vw);
	}
	#top-page #sec_contact .form td {
		display: block;
		padding-top: calc(20 / 768 * 100vw);
		padding-bottom: calc(20 / 768 * 100vw);
		padding-left: calc(20 / 768 * 100vw);
		padding-right: calc(20 / 768 * 100vw);
	}

	#top-page #sec_contact .form input[type="text"],
	#top-page #sec_contact .form input[type="tel"],
	#top-page #sec_contact .form input[type="email"],
	#top-page #sec_contact .form input[type="date"] {
		padding-top: calc(8 / 768 * 100vw);
		padding-bottom: calc(8 / 768 * 100vw);
		padding-left: calc(16 / 768 * 100vw);
		padding-right: calc(16 / 768 * 100vw);
	}
	#top-page #sec_contact .form textarea {
		min-height: calc(320 / 768 * 100vw);
		padding-top: calc(8 / 768 * 100vw);
		padding-bottom: calc(8 / 768 * 100vw);
		padding-left: calc(16 / 768 * 100vw);
		padding-right: calc(16 / 768 * 100vw);
	}
	.wpcf7-not-valid-tip {
		font-size: calc(20 / 768 * 100vw);
		padding-top: calc(10 / 768 * 100vw);
	}
	#top-page #sec_contact .submit {
		padding-top: calc(65 / 768 * 100vw);
	}
	#top-page #sec_contact .submit input[type="submit"] {
		width: calc(500 / 768 * 100vw);
		padding-top: calc(30 / 768 * 100vw);
		padding-bottom: calc(30 / 768 * 100vw);
		font-size: calc(26 / 768 * 100vw);
	}
	#top-page #sec_contact .submit input[type="submit"]:hover {
	}
	#top-page #sec_contact .wpcf7-response-output {
		font-size: calc(20 / 768 * 100vw);
	}





	/*==================================================
	  layout[down-page] under 768px
	====================================================*/
	/*  down-page visual under 768px
	--------------------------*/
	#down-page #visual {
		padding-top: calc(235 / 768 * 100vw);
		padding-bottom: calc(120 / 768 * 100vw);
	}
	#down-page #page_ttl {
	}
	#down-page #page_ttl picture {
		width: calc(585 / 768 * 100vw);
	}
	#down-page #page_ttl .txt {
		font-size: calc(35 / 768 * 100vw);
		padding-top: calc(48 / 768 * 100vw);
	}
	/*  down-page container under 768px
	--------------------------*/
	#down-page #container {
		padding-bottom: calc(130 / 768 * 100vw);
	}
	#down-page #container_in {
		max-width: none;
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
	}
	#down-page .art {
		width: 100%;
	}
	#down-page .art .thumb {
	}
	#down-page .art .thumb a {
	}
	#down-page .art .thumb picture {
	}
	#down-page .art .art_ttl {
		width: 100%;
		padding-top: calc(38 / 768 * 100vw);
		padding-bottom: calc(36 / 768 * 100vw);
	}
	#down-page .art .art_ttl .txt {
		font-size: calc(35 / 768 * 100vw);
		line-height: 1.6;
	}
	#down-page .art .art_ttl a {
		bottom: calc(44 / 768 * 100vw);
	}
	#down-page .art .art_ttl .icon {
		width: calc(50 / 768 * 100vw);
	}
	#down-page .art .art_ttl .icon picture {
	}
	#down-page .art .art_body {
		width: 100%;
		padding-top: calc(30 / 768 * 100vw);
		padding-bottom: calc(100 / 768 * 100vw);
	}
	#down-page .art .art_body .parag {
		font-size: calc(26 / 768 * 100vw);
		line-height: 1.85;
		padding-bottom: calc(10 / 768 * 100vw);
	}









	/*==================================================
	  layout[works-page] under 768px
	====================================================*/
	/*  works-page visual under 768px
	--------------------------*/
	#works-page #visual {
		padding-top: calc(230 / 768 * 100vw);
		padding-bottom: calc(120 / 768 * 100vw);
	}
	#works-page #page_ttl {
	}
	#works-page #page_ttl picture {
		width: calc(443 / 768 * 100vw);
	}
	#works-page #page_ttl .txt {
		font-size: calc(30 / 768 * 100vw);
		padding-top: calc(30 / 768 * 100vw);
	}
	/*  works-page works_anchor under 768px
	--------------------------*/
	#works-page #container {
	}
	#works-page #works_anchor {
		max-width: calc(668 / 768 * 100vw);
		padding-top: 0;
		padding-bottom: 0;
		display: block;
		border-bottom: none;
	}
	#works-page #works_anchor > li {
		width: 100%;
		border-bottom: 1px solid #1446a0;
	}
	#works-page #works_anchor a {
		padding-left: calc(24 / 768 * 100vw);
		padding-top: calc(32 / 768 * 100vw);
		padding-bottom: calc(32 / 768 * 100vw);
	}
	#works-page #works_anchor > li:first-child a {
		border-right: none;
	}
	#works-page #works_anchor .img_case {
		width: calc(248 / 768 * 100vw);
	}
	#works-page #works_anchor .img_use {
		width: calc(218 / 768 * 100vw);
	}
	#works-page #works_anchor .txt {
		font-size: calc(22 / 768 * 100vw);
		padding-left: calc(60 / 768 * 100vw);
	}
	#works-page #works_anchor .txt.use {
		padding-left: calc(83 / 768 * 100vw);
	}
	#works-page #works_anchor .icon_arw {
		width: calc(34 / 768 * 100vw);
		right: calc(30 / 768 * 100vw);
	}
	#works-page #works_anchor .icon_arw > picture {
	}

	/*  works-page sec_case under 768px
	--------------------------*/
	#works-page #sec_case {
		padding-top: calc(115 / 768 * 100vw);
		max-width: calc(708 / 768 * 100vw);
	}
	#works-page #sec_case .sec_header {
		padding-left: calc(20 / 768 * 100vw);
		padding-bottom: calc(35 / 768 * 100vw);
	}
	#works-page #sec_case .sec_header picture {
		width: calc(358 / 768 * 100vw);
	}
	#works-page #sec_case .sec_body > li {
		padding-left: 0;
		padding-right: 0;
		border-top: none;
	}
	#works-page #sec_case .sec_body > li:first-child {
	}
	#works-page #sec_case .art {
		width: 100%;
		border-top: 1px solid #cacaca;

		padding-left: calc(20 / 768 * 100vw);
		padding-right: calc(20 / 768 * 100vw);

		padding-bottom: calc(60 / 768 * 100vw);
		padding-top: calc(70 / 768 * 100vw);
	}
	#works-page #sec_case .sec_body > li:first-child .art:first-child {
		border-top: none;
	}
	#works-page #sec_case .art .art_header {
	}
	#works-page #sec_case .art .art_header .ttl {
		font-size: calc(40 / 768 * 100vw);
		padding-bottom: calc(8 / 768 * 100vw);
	}
	#works-page #sec_case .art .art_header .comp_name {
		font-size: calc(28 / 768 * 100vw);
		padding-bottom: calc(28 / 768 * 100vw);
	}
	#works-page #sec_case .art .thumb {
	}
	#works-page #sec_case .art .thumb:hover {
	}
	#works-page #sec_case .art .thumb .video_modal {
	}
	#works-page #sec_case .art .thumb .video_modal > img {
	}
	#works-page #sec_case .art .thumb .video_modal .icon_start {
		width: calc(95 / 768 * 100vw);
	}
	#works-page #sec_case .art .info {
		padding-top: calc(35 / 768 * 100vw);
		padding-bottom: calc(18 / 768 * 100vw);
	}
	#works-page #sec_case .art .info .cost {
		border-radius: calc(9 / 768 * 100vw);
		padding-left: calc(28 / 768 * 100vw);
		padding-right: calc(28 / 768 * 100vw);
		padding-top: calc(18 / 768 * 100vw);
		padding-bottom: calc(18 / 768 * 100vw);
	}
	#works-page #sec_case .art .info .cost .txt_buffer {
		font-size: calc(28 / 768 * 100vw);
	}
	#works-page #sec_case .art .info .length {
		padding-left: calc(50 / 768 * 100vw);
	}
	#works-page #sec_case .art .info .length .icon_play {
		width: calc(45 / 768 * 100vw);
	}
	#works-page #sec_case .art .info .length .time {
		font-size: calc(28 / 768 * 100vw);
		padding-left: calc(8 / 768 * 100vw);
	}
	#works-page #sec_case .art .art_body {
		padding-top: calc(18 / 768 * 100vw);
	}
	#works-page #sec_case .art .art_body .parag {
		font-size: calc(26 / 768 * 100vw);
		padding-bottom: calc(10 / 768 * 100vw);
	}



	/*  works-page sec_works_comp under 768px
	--------------------------*/
	#works-page #sec_works_comp {
		width: 100%;
		padding-top: calc(130 / 768 * 100vw);
		padding-bottom: 0;
	}
	#works-page #sec_works_comp .sec_header {
		top: calc(108 / 768 * 100vw);
		padding-left: 0;
	}
	#works-page #sec_works_comp .sec_header picture {
		width: calc(319 / 768 * 100vw);
	}
	#works-page #sec_works_comp .sec_header .txt_ja {
		font-size: calc(30 / 768 * 100vw);
		padding-left: 0;
		display: block;
		padding-top: calc(25 / 768 * 100vw);
		line-height: 1;
	}
	#works-page #sec_works_comp .sec_body {
		padding-top: calc(154 / 768 * 100vw);
		padding-bottom: calc(110 / 768 * 100vw);
	}
	#works-page #sec_works_comp .comps {
		width: 100%;
		padding-left: calc(30 / 768 * 100vw);
		padding-right: calc(30 / 768 * 100vw);
	}
	#works-page #sec_works_comp .comps > li {
		width: 33.3333%;
	}


	/*  works-page sec_use under 768px
	--------------------------*/
	#works-page #sec_use {
		padding-top: calc(200 / 768 * 100vw);
		padding-bottom: calc(20 / 768 * 100vw);
		max-width: none;
	}
	#works-page #sec_use .sec_header {
		padding-bottom: calc(42 / 768 * 100vw);
		padding-left: calc(50 / 768 * 100vw);
	}
	#works-page #sec_use .sec_header picture {
		width: calc(315 / 768 * 100vw);
	}
	#works-page #sec_use .sup_txt {
		font-size: calc(28 / 768 * 100vw);
		padding-bottom: calc(30 / 768 * 100vw);
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
		letter-spacing: .01em;
	}
	#works-page #sec_use .figure {
		padding-bottom: calc(90 / 768 * 100vw);
	}
	#works-page #sec_use .figure picture {
		width: calc(663 / 768 * 100vw);
	}
	#works-page #sec_use .sec_body {
		width: calc(668 / 768 * 100vw);
		padding-top: calc(70 / 768 * 100vw);
		display: block;
	}
	#works-page #sec_use .art {
		width: 100%;
		padding-bottom: calc(90 / 768 * 100vw);
		display: block;
	}
	#works-page #sec_use .sentence {
		width: 100%;
	}
	#works-page #sec_use .shape_pc {
		display: none;
	}
	#works-page #sec_use .shape_pc img {
	}
	#works-page #sec_use .art_header {
		position: relative;
		width: calc(667 / 768 * 100vw);
		min-height: calc(330 / 768 * 100vw);
		display: table;
		padding-left: calc(50 / 768 * 100vw);
	}
	#works-page #sec_use .art_header .shape_sp {
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
	}
	#works-page #sec_use .art_header .ttl_wrap {
		position: relative;
		display: table-cell;
		vertical-align: middle;
	}
	#works-page #sec_use .art_header .ttl {
		padding-bottom: calc(15 / 768 * 100vw);
	}
	#works-page #sec_use .art_header .ttl .icon_num {

		width: calc(58 / 768 * 100vw);
	}
	#works-page #sec_use .art_header .ttl .txt {
		font-size: calc(35 / 768 * 100vw);
		padding-left: calc(13 / 768 * 100vw);
	}
	#works-page #sec_use .use_6 .art_header .ttl .txt {
		padding-left: calc(13 / 768 * 100vw);
		font-size: calc(35 / 768 * 100vw);
		line-height: 1.5;
	}
	#works-page #sec_use .art_header .sub_ttl {
		font-size: calc(30 / 768 * 100vw);
		padding-bottom: 0;
		line-height: 1.5;
		letter-spacing: .1em;
	}
	#works-page #sec_use .use_6 .art_header .sub_ttl {
		font-size: calc(30 / 768 * 100vw);
		letter-spacing: .1em;
	}
	#works-page #sec_use .art_body {
	}
	#works-page #sec_use .art_body .parag {
		padding-top: calc(22 / 768 * 100vw);
		font-size: calc(26 / 768 * 100vw);
	}






	/*==================================================
	  layout[down-d-page] under 768px
	====================================================*/
	/*  down-d-page container under 768px
	--------------------------*/
	#down-d-page #container {
		padding-top: calc(100 / 768 * 100vw);
		display: block;
	}
	#down-d-page .visual {
		min-height: none;
		background-image: url(../img/down/sp_down-d_bg-min.png);
		height: calc(1040 / 768 * 100vw);
		width: 100%;
	}
	#down-d-page #detail_cont {
		width: 100%;
		padding-left: calc(50 / 768 * 100vw);
		padding-right: calc(50 / 768 * 100vw);
		padding-top: calc(74 / 768 * 100vw);
		padding-bottom: calc(200 / 768 * 100vw);
	}
	#down-d-page #detail_cont .page_ttl {
		font-size: calc(45 / 768 * 100vw);
		padding-bottom: calc(35 / 768 * 100vw);
	}
	#down-d-page #detail_cont .exp_txt {
		font-size: calc(26 / 768 * 100vw);
		width: 100%;
		padding-bottom: calc(84 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_wrap {
	}
	#down-d-page #detail_cont .form {
		width: 100%;
		padding-bottom: calc(100 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_line {
		padding-bottom: calc(45 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_ttl {
		font-size: calc(26 / 768 * 100vw);
		padding-bottom: calc(10 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_ttl .req {
	}
	#down-d-page #detail_cont .form_inp {
		font-size: calc(26 / 768 * 100vw);
	}
	#down-d-page #detail_cont .fullname .form_inp {
	}
	#down-d-page #detail_cont .fullname .form_inp .name.first,
	#down-d-page #detail_cont .fullname .form_inp .name.last {
		width: calc(322 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_inp input {
		border-radius: calc(6 / 768 * 100vw);
		padding-left: calc(16 / 768 * 100vw);
		padding-right: calc(16 / 768 * 100vw);
		padding-top: calc(10 / 768 * 100vw);
		padding-bottom: calc(10 / 768 * 100vw);
	}
	#down-d-page #detail_cont .form_inp .wpcf7-not-valid-tip {
	}

	#down-d-page #detail_cont .btn.submit {
		text-align: center;
	}
	#down-d-page #detail_cont .btn.submit button {
		width: calc(446 / 768 * 100vw);
		padding-left: calc(74 / 768 * 100vw);
		padding-top: calc(30 / 768 * 100vw);
		padding-bottom: calc(30 / 768 * 100vw);
	}
	#down-d-page #detail_cont .btn.submit picture {
		width: calc(307 / 768 * 100vw);
	}

	#down-d-page #detail_cont .wpcf7-response-output {
		max-width: none;
		margin: 2em 2em 2em 2em;
		font-size: calc(16 / 768 * 100vw);
	}

	/*  online-contact-page under 768px
	--------------------------*/
  a[href^="tel:"]{
    pointer-events: none;
  }

	/*  etc under 768px
	--------------------------*/
	.display__tb {
		display: block;
	}
}

@media screen and (max-width: 520px){
#gnav_list .online {
	font-size: 2.4rem;
}

/*   online-contact-page under 520px
	--------------------------*/
p.online__title {
	font-size: 3.4rem;
}

p.online__txt {
	font-size: 1.4rem;
	margin-top: 10px;
	margin-bottom: 50px;
}

.online__tel {
	margin-top: 60px;
}

.online__tel--txt {
	font-size: 1.6rem;
}

.online__tel--number {
	font-size: 4rem;
	font-weight: 700;
}

	/*  online-thanks-page under 520px
	--------------------------*/
	p.online__title--thanks {
		font-size: 2.2rem;
	}
	
	.display__sp {
		display: block;
	}
}