@charset "utf-8";
/* CSS Document */
#top header {
 transform: rotate(90deg);
 transform-origin: top right;
 animation: top_header 1s 1s ease-in forwards;
}
@keyframes top_header {
 100% {
  transform: rotate(0deg);
 }
}
#top #main_header {
 position: relative;
 height: calc(100vw * (742 / 2000));
 margin-top: 10rem;
 z-index: 0;
 overflow: hidden;
 animation: top_main_header 1s 3.5s ease forwards;
}
@keyframes top_main_header {
 5% {
  -webkit-box-shadow: 0 0.3rem 0.3rem 0 #00000000;
  -moz-box-shadow: 0 0.3rem 0.3rem 0 #00000000;
  box-shadow: 0 0.3rem 0.3rem 0 #00000000;
 }
 100% {
  -webkit-box-shadow: 0 0.3rem 0.3rem 0 #00000033;
  -moz-box-shadow: 0 0.3rem 0.3rem 0 #00000033;
  box-shadow: 0 0.3rem 0.3rem 0 #00000033;
 }
}
#top #main_header p.copy {
 position: absolute;
 z-index: 20;
}
#top #main_header p.copy:nth-child(1) {
 width: 47.2rem;
 height: 15.2rem;
 top: 15vw;
 left: 17vw;
 animation: copy_main 24s 1s ease-out infinite;
}
#top #main_header p.copy:nth-child(2) {
 width: 27.5rem;
 height: 7.9rem;
 top: calc((100vw / 116) * 23);
 left: calc((100vw / 116) * 28);
 animation: copy_main 24s 9s ease-out infinite;
}
#top #main_header p.copy:nth-child(3) {
 width: calc(45.7rem / 2);
 height: calc(17rem / 2);
 top: calc((100vw / 116) * 23);
 left: calc((100vw / 116) * 31);
 animation: copy_main 24s 17s ease-out infinite;
}
@keyframes copy_main {
 0% {
  opacity: 0;
 }
 10% {
  opacity: 0;
 }
 12% {
  opacity: 1;
 }
 39% {
  opacity: 1;
 }
 42% {
  opacity: 0;
 }
 100% {
  opacity: 0;
 }
}
#top #main_header p.copy img {
 position: absolute;
 opacity: 0;
}
#top #main_header p.copy:nth-child(1) img:nth-child(1) {
 width: calc(6.3rem / 2);
 left: 0rem;
 top: 2.2rem;
 animation: copy_letter 0.8s 3s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(2) {
 width: calc(7.2rem / 2);
 left: 3.1rem;
 top: 3.0rem;
 animation: copy_letter 0.8s 3.1s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(3) {
 width: calc(4.3rem / 2);
 left: 6.6rem;
 top: 2.9rem;
 animation: copy_letter 0.8s 3.2s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(4) {
 width: calc(7.8rem / 2);
 left: 8.7rem;
 top: 1.4rem;
 animation: copy_letter 0.8s 3.3s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(5) {
 width: calc(9.9rem / 2);
 left: 12.2rem;
 top: 1.4rem;
 animation: copy_letter 0.8s 3.4s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(6) {
 width: calc(7.6rem / 2);
 left: 16.5rem;
 top: 1.9rem;
 animation: copy_letter 0.8s 3.5s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(7) {
 width: calc(3.6rem / 2);
 left: 21.4rem;
 top: 3.1rem;
 animation: copy_letter 0.8s 3.6s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(8) {
 width: calc(7.7rem / 2);
 left: 24.2rem;
 top: 1.8rem;
 animation: copy_letter 0.8s 3.7s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(9) {
 width: calc(10.1rem / 2);
 left: 27.8rem;
 top: -0.0rem;
 animation: copy_letter 0.8s 3.8s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(10) {
 width: calc(8.1rem / 2);
 left: 32rem;
 top: 0.9rem;
 animation: copy_letter 0.8s 3.9s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(11) {
 width: calc(9.8rem / 2);
 left: 36.1rem;
 top: 0.7rem;
 animation: copy_letter 0.8s 4s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(12) {
 width: calc(5.4rem / 2);
 left: 40.4rem;
 top: 1.9rem;
 animation: copy_letter 0.8s 4.1s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(13) {
 width: calc(2.9rem / 2);
 left: 9.9rem;
 top: 10.5rem;
 animation: copy_letter 0.8s 4.2s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(14) {
 width: calc(9.1rem / 2);
 left: 11.2rem;
 top: 10rem;
 animation: copy_letter 0.8s 4.3s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(15) {
 width: calc(8.4rem / 2);
 left: 15.1rem;
 top: 10.8rem;
 animation: copy_letter 0.8s 4.4s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(16) {
 width: calc(3.4rem / 2);
 left: 19.6rem;
 top: 9.4rem;
 animation: copy_letter 0.8s 4.5s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(17) {
 width: calc(6.8rem / 2);
 left: 21.8rem;
 top: 10.8rem;
 animation: copy_letter 0.8s 4.6s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(18) {
 width: calc(5.9rem / 2);
 left: 24.8rem;
 top: 11.9rem;
 animation: copy_letter 0.8s 4.7s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(19) {
 width: calc(6.2rem / 2);
 left: 28.4rem;
 top: 10.8rem;
 animation: copy_letter 0.8s 4.8s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(20) {
 width: calc(8.1rem / 2);
 left: 31.4rem;
 top: 10.4rem;
 animation: copy_letter 0.8s 4.9s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(21) {
 width: calc(5.2rem / 2);
 left: 34.8rem;
 top: 12.1rem;
 animation: copy_letter 0.8s 5s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(22) {
 width: calc(5.4rem / 2);
 left: 37.9rem;
 top: 11.2rem;
 animation: copy_letter 0.8s 5.1s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(23) {
 width: calc(7.3rem / 2);
 left: 40.4rem;
 top: 11.9rem;
 animation: copy_letter 0.8s 5.2s forwards;
}
#top #main_header p.copy:nth-child(1) img:nth-child(24) {
 width: calc(6rem / 2);
 left: 44.2rem;
 top: 11.1rem;
 animation: copy_letter 0.8s 5.3s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(1) {
 width: calc(10.2rem / 2);
 left: 0rem;
 top: 1.3rem;
 animation: copy_letter 0.8s 12s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(2) {
 width: calc(11.1rem / 2);
 left: 4.1rem;
 top: 2.2rem;
 animation: copy_letter 0.8s 12.1s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(3) {
 width: calc(7.5rem / 2);
 left: 8.6rem;
 top: 2.4rem;
 animation: copy_letter 0.8s 12.2s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(4) {
 width: calc(12rem / 2);
 left: 11.4rem;
 top: 0.3rem;
 animation: copy_letter 0.8s 12.3s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(5) {
 width: calc(14.8rem / 2);
 left: 16rem;
 top: 0;
 animation: copy_letter 0.8s 12.4s forwards;
}
#top #main_header p.copy:nth-child(2) img:nth-child(6) {
 width: calc(11.8rem / 2);
 left: 21.7rem;
 top: 0.9rem;
 animation: copy_letter 0.8s 12.5s forwards;
}
#top #main_header p.copy:nth-child(3) img:nth-child(1) {
 width: calc(11.8rem / 2);
 left: 0rem;
 top: 2.3rem;
 animation: copy_letter 0.8s 20s forwards;
}
#top #main_header p.copy:nth-child(3) img:nth-child(2) {
 width: calc(14.9rem / 2);
 left: 4.8rem;
 top: 0rem;
 animation: copy_letter 0.8s 20.1s forwards;
}
#top #main_header p.copy:nth-child(3) img:nth-child(3) {
 width: calc(12.5rem / 2);
 left: 10.2em;
 top: 1.2rem;
 animation: copy_letter 0.8s 20.2s forwards;
}
#top #main_header p.copy:nth-child(3) img:nth-child(4) {
 width: calc(14.5rem / 2);
 left: 15.4rem;
 top: 0.8rem;
 animation: copy_letter 0.8s 20.3s forwards;
}
@keyframes copy_letter {
 50% {
  transform: scale(1.3);
  opacity: 0.2;
 }
 100% {
  transform: scale(1);
  opacity: 1;
 }
}
#top #main_header p.image {
 position: absolute;
 display: block;
 overflow: hidden;
 border-radius: 100rem;
 /*clip-path: circle(0 at 80% 80%);*/
 /*animation: visual 15s 0s ease infinite;*/
}
#top #main_header p.image img {
 position: absolute;
 width: 100vw;
 left: 0;
 bottom: 0;
}
#top #main_header p.image:nth-child(4) {
 animation: visualp 24s 19s ease-out infinite;
}
#top #main_header p.image:nth-child(4) img {
 animation: visuali 24s 19s ease-out infinite;
}
#top #main_header p.image:nth-child(5) {
 animation: visualp 24s 11s ease-out infinite;
}
#top #main_header p.image:nth-child(5) img {
 animation: visuali 24s 11s ease-out infinite;
}
#top #main_header p.image:nth-child(6) {
 animation: visualp 24s 3s ease-out infinite;
}
#top #main_header p.image:nth-child(6) img {
 animation: visuali 24s 3s ease-out infinite;
}
@keyframes visualp {
 0% {
  opacity: 0;
  bottom: 23vw;
  left: 76vw;
  width: 1vw;
  height: 1vw;
  z-index: 3;
 }
 5% {
  opacity: 1;
 }
 10% {
  opacity: 1;
  bottom: -76.5vw;
  left: -23.5vw;
  width: 200vw;
  height: 200vw;
 }
 30% {
  opacity: 1;
 }
 33.3% {
  bottom: -76.5vw;
  left: -23.5vw;
  width: 200vw;
  height: 200vw;
 }
 33.4% {
  z-index: 2;
 }
 66.6% {
  z-index: 1;
 }
}
@keyframes visuali {
 0% {
  bottom: -23vw;
  left: -76vw;
 }
 10% {
  bottom: 76.5vw;
  left: 23.5vw;
 }
 33.3% {
  bottom: 76.5vw;
  left: 23.5vw;
 }
 100% {
  bottom: 76.5vw;
  left: 23.5vw;
 }
}
#top #main_header::before {
 content: "";
 position: absolute;
 display: block;
 width: 6vw;
 height: 6vw;
 background-color: #fff81f66;
 z-index: 10;
 border-radius: 10rem;
 box-shadow: 0 0 20px 10px #fff81f66;
 left: 72.5vw;
 bottom: 20vw;
 opacity: 0;
 animation: flash 24s 3s ease-out infinite;
}
@keyframes flash {
 0% {
  opacity: 0;
  transform: scale(1.3);
 }
 5% {
  transform: scale(1);
 }
 10% {
  transform: scale(1.3);
 }
 15% {
  transform: scale(1);
 }
 20% {
  opacity: 1;
  transform: scale(1.3);
 }
 25% {
  transform: scale(1);
		opacity: 1;
 }
 40% {
  transform: scale(30);
		opacity: 0;
 }
}
#top #main_body .media_creation {
 margin-top: 12rem;
 padding-bottom: 5rem;
 background-image: url("/images/background_media_creation.png");
 background-repeat: no-repeat;
 background-position: bottom center;
 background-color: #5daadf33;
}
#top #main_body .system_engineering {
 margin-top: 12rem;
 padding-bottom: 5rem;
 background-image: url("/images/background_system_engineering.png");
 background-repeat: no-repeat;
 background-position: bottom center;
 background-color: #5daadf33;
}
#top #main_body .media_creation .header_group,
#top #main_body .system_engineering .header_group {
 position: relative;
 top: -3rem;
 transform: skewY(-2deg);
}
#top #main_body .media_creation .header_group h2,
#top #main_body .system_engineering .header_group h2 {
 padding: 1rem 3rem;
 background-color: #1b323f;
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2.8rem;
 font-weight: 700;
 color: #fff;
}
#top #main_body .media_creation .header_group h2 + p,
#top #main_body .system_engineering .header_group h2 + p {
 padding: 0.3rem 3rem;
 background-color: #5daadf;
 font-family: 'Raleway', sans-serif;
 font-size: 1.6rem;
 font-weight: 400;
 color: #1b323f;
}
#top #main_body .media_creation .contents,
#top #main_body .system_engineering .contents {
 display: flex;
 justify-content: space-between;
 margin: 1rem 0 0;
 padding: 0 3rem;
}
#top #main_body .media_creation .contents > div,
#top #main_body .system_engineering .contents > div {
 width: 50rem;
}
#top #main_body .media_creation .contents > div h3,
#top #main_body .system_engineering .contents > div h3 {
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2.4rem;
 font-weight: 700;
 line-height: 1.6em;
 color: #5daadf;
}
#top #main_body .media_creation .contents > div p,
#top #main_body .system_engineering .contents > div p {
 font-size: 1.8rem;
 line-height: 1.6em;
}
#top #main_body .media_creation .contents .image,
#top #main_body .system_engineering .contents .image {
 position: relative;
 width: 38rem;
 height: 29rem;
 top: -8rem;
 z-index: 1;
}
#top #main_body .media_creation .contents .image img,
#top #main_body .system_engineering .contents .image img {
 position: absolute;
 width: 23rem;
 border: 0.1rem solid #fff;
}
#top #main_body .media_creation .contents .image img:first-child,
#top #main_body .system_engineering .contents .image img:first-child {
 top: 0;
 left: 0;
}
#top #main_body .media_creation .contents .image img:last-child,
#top #main_body .system_engineering .contents .image img:last-child {
 bottom: 0;
 right: 0;
}
#top .airscreen {
 margin-top: 6rem;
 padding: 4rem 4rem 3rem;
 background: #313137;
 background: url("/images/background_airscreen.png"), -moz-linear-gradient(top, #313137 63%, #303235 77%, #2f382d 84%, #2c4020 89%, #2b421d 90%);
 background: url("/images/background_airscreen.png"), -webkit-linear-gradient(top, #313137 63%, #303235 77%, #2f382d 84%, #2c4020 89%, #2b421d 90%);
 background: url("/images/background_airscreen.png"), linear-gradient(to bottom, #313137 63%, #303235 77%, #2f382d 84%, #2c4020 89%, #2b421d 90%);
 filter: url("/images/background_airscreen.png"), progid:DXImageTransform.Microsoft.gradient(startColorstr='#313137', endColorstr='#2b421d', GradientType=0);
 background-position: center top;
 background-repeat: no-repeat;
}
#top .airscreen h2 {
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2.8rem;
 font-weight: 700;
 color: #fff;
 text-align: center;
}
#top .airscreen > div {
 display: flex;
 justify-content: space-between;
 margin-top: 2rem;
}
#top .airscreen > div > p {
 width: 210rem;
 margin: 0 2rem 0 -4rem;
}
#top .airscreen > div > p > img {
 width: 100%;
}
#top .airscreen > div > div p {
 font-size: 1.6rem;
 line-height: 1.8em;
 color: #fff;
}
#top .airscreen > div > div p:nth-child(2) {
	display: none;
}
#top .airscreen > div > div p a {
 position: relative;
 display: inline-block;
 margin-top: 2rem;
 padding: 1rem 3rem;
 background-color: #fff;
 border-radius: 10rem;
 -webkit-border-radius: 10rem;
 -moz-border-radius: 10rem;
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 1.6rem;
 font-weight: 700;
 color: #333;
 overflow: hidden;
}
#top .airscreen > div > div p a:hover {
 background-color: #80FF70;
}
#top .airscreen > div > div p a::before {
 position: absolute;
 top: 0;
 left: -75%;
 z-index: 2;
 display: block;
 content: '';
 width: 50%;
 height: 100%;
 background: -moz-linear-gradient(left, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.4) 100%);
 background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.4) 100%);
 background: linear-gradient(to right, rgba(255, 255, 255, 0) 50%, rgba(255, 255, 255, 0.4) 100%);
 filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00ffffff', endColorstr='#66ffffff', GradientType=1);
 -webkit-transform: skewX(-25deg);
 transform: skewX(-25deg);
}
#top .airscreen > div > div p a:hover::before {
 animation: shine 0.75s 0.3s;
}
@keyframes shine {
 100% {
  left: 125%;
 }
}
#top .airscreen > div > div p a i {
 margin-left: 0.5em;
}
/* common */
body.common #main_header {
 position: relative;
 margin-top: 10rem;
 background-color: #ccc;
 z-index: 0;
 overflow: hidden;
 animation: header 1s 2.5s ease forwards;
 -webkit-box-shadow: 0 0.3rem 0.3rem 0 #00000033;
 -moz-box-shadow: 0 0.3rem 0.3rem 0 #00000033;
 box-shadow: 0 0.3rem 0.3rem 0 #00000033;
}
/*@keyframes header {
 100% {
  margin-top: 15rem;
  opacity: 1;
 }
}*/
body.common #main_header p {
 display: block;
 width: 100%;
 height: 100%;
 /*clip-path: circle(0 at 80% 80%);*/
 animation: cat 4s 4s ease forwards;
}
/*@keyframes cat {
 0% {}
 100% {
  clip-path: circle(120% at 80% 50%);
  -webkit-clip-path: circle(120% at 80% 50%);
 }
}*/
body.common #main_header p img {
 width: 100%;
}
body.common #main_header h2 {
 position: absolute;
 bottom: 1rem;
 left: 0;
 padding: 1rem 0;
 z-index: 100;
 overflow: hidden;
}
body.common #main_header h2 span {
 position: relative;
 display: block;
 padding-left: calc((100vw - 96rem) * 0.5);
 padding-right: 5rem;
 font-size: 2.8rem;
 color: #5daadf;
 z-index: 1;
}
body.common #main_header h2::after {
 position: absolute;
 content: "";
 background-color: #1b323f;
 width: 12rem;
 height: 12rem;
 top: -3.5rem;
 right: 0;
 border-radius: 100rem;
 -webkit-border-radius: 100rem;
 -moz-border-radius: 100rem;
 z-index: 0;
}
body.common #main_header h2::before {
 position: absolute;
 content: "";
 background-color: #1b323f;
 width: calc(((100vw - 96rem) * 0.5) + 12rem);
 height: 12rem;
 top: 0;
 left: 0;
 z-index: 0;
}
/* about us */
#about_us #main_body .information {
 display: flex;
 flex-flow: wrap;
}
#about_us #main_body .information dt {
 width: 15rem;
 font-size: 1.8rem;
 line-height: 1.8em;
}
#about_us #main_body .information dd {
 width: 81rem;
 font-size: 1.8rem;
 line-height: 1.8em;
}
#about_us #main_body .information dd li {
 margin-left: 1.5em;
 list-style-type: disc;
}
#about_us #main_body .office {
 position: relative;
 margin-top: 12rem;
 background-repeat: no-repeat;
 background-position: bottom center;
 background-color: #5daadf33;
}
#about_us #main_body .office .header_group {
 position: relative;
 top: -3rem;
 transform: skewY(-2deg);
}
#about_us #main_body .office .header_group h3 {
 padding: 1rem 3rem;
 background-color: #1b323f;
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2.8rem;
 font-weight: 700;
 color: #fff;
}
#about_us #main_body .office .header_group h3 + p {
 padding: 0.3rem 3rem;
 background-color: #5daadf;
 font-family: 'Raleway', sans-serif;
 font-size: 1.6rem;
 font-weight: 400;
 color: #1b323f;
}
#about_us #main_body .office .contents p {
 padding: 0 3rem 2rem;
 font-size: 2rem;
 line-height: 1.6em;
}
#about_us #main_body .office .contents p a {
 color: #666;
}
#about_us #main_body .office .contents p a i {
 margin: 0 0.5em;
}
#about_us #main_body .office .contents p a i:first-child {
 margin-left: 0;
}
#about_us #main_body .office .contents p a:nth-child(3) i {
 margin-left: 1em;
}
#about_us #main_body .office .contents iframe {
 position: relative;
}
#about_us #main_body .office .contents::before {
 position: absolute;
 content: "";
 width: 96rem;
 height: 40rem;
 bottom: 0;
 border: 1rem solid #5daadf33;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
 pointer-events: none;
 z-index: 1;
}
/* contact us */
#contact_us #main_body .form dl {
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin-top: 1rem;
 padding: 3rem;
 background-color: #e0dad7;
 border-radius: 0.4rem;
 -webkit-border-radius: 0.4rem;
 -moz-border-radius: 0.4rem;
}
#contact_us #main_body .form dl dt {
 display: flex;
 align-items: center;
 width: 26rem;
 padding: 1rem 0;
 border-top: 0.1rem solid #5daadf;
 font-size: 1.8rem;
}
#contact_us #main_body .form dl dt strong {
 color: #f96500;
}
#contact_us #main_body .form dl dd {
 display: flex;
 width: 64rem;
 padding: 1.5rem 0;
 border-top: 0.1rem solid #5daadf;
 font-size: 1.8rem;
}
#contact_us #main_body .form dl dd label {
 display: flex;
 margin-right: 2em;
 white-space: nowrap;
}
#contact_us #main_body .form dl dd label input {
 width: 1em;
}
#contact_us #main_body .form dl dt:nth-child(1),
#contact_us #main_body .form dl dd:nth-child(2) {
 padding-top: 0;
 border: none;
}
#contact_us #main_body .form dl dt:nth-last-child(2),
#contact_us #main_body .form dl dd:nth-last-child(1) {
 padding-bottom: 0;
}
#contact_us #main_body .form dl dd input,
#contact_us #main_body .form dl dd textarea {
 width: 100%;
 padding: 0.5rem;
 border: none;
 border-radius: 0.4rem;
 -webkit-border-radius: 0.4rem;
 -moz-border-radius: 0.4rem;
 -webkit-box-sizing: border-box;
 -moz-box-sizing: border-box;
 -o-box-sizing: border-box;
 -ms-box-sizing: border-box;
 box-sizing: border-box;
 font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
 font-size: 1.8rem;
}
#contact_us #main_body .form .privacy_policy {
 margin: 3rem 0 0;
 padding: 2rem;
 border: 0.2rem solid #e0752d;
}
#contact_us #main_body .form .privacy_policy h2 {
 margin-bottom: 1rem;
 font-family: 'M PLUS 1p', sans-serif;
 font-weight: 700;
 font-size: 1.8rem;
 color: #e0752d;
}
#contact_us #main_body .form .privacy_policy p {
 font-size: 1.6rem;
 line-height: 1.6em;
}
#contact_us #main_body .form .button {
 display: flex;
 justify-content: center;
 margin: 3rem 0 0;
}
#contact_us #main_body .form .button button {
 position: relative;
 width: 13em;
 padding: 1rem;
 margin: 0 2rem;
 background-color: #fff;
 border: 0.3rem solid #5daadf;
 border-radius: 10rem;
 -webkit-border-radius: 10rem;
 -moz-border-radius: 10rem;
 font-family: 'M PLUS 1p', sans-serif;
 font-size: 2.4rem;
 font-weight: 700;
 color: #5daadf;
 z-index: 10;
}
#contact_us #main_body .form .button button:hover {
 color: #fff;
}
#contact_us #main_body .form .button button::after {
 position: absolute;
 content: "";
 width: 100%;
 height: 100%;
 top: 0;
 left: 0;
 border-radius: 10rem;
 -webkit-border-radius: 10rem;
 -moz-border-radius: 10rem;
 transform: scale(0.5);
 z-index: -1;
 -webkit-transition: all 0.35s ease;
 -moz-transition: all 0.35s ease;
 -ms-transition: all 0.35s ease;
 -o-transition: all 0.35s ease;
 transition: all 0.35s ease;
}
#contact_us #main_body .form .button button:hover::after {
 background-color: #5daadf;
 transform: scale(1);
}
#contact_us #main_body .form .button button i {
 margin-right: 0.25em;
}
/* ~959 */
@media (max-width:959px) {
 #top #main_header {
  margin-top: 15rem;
 }
 #top #main_header p.copy:nth-child(1) {
  left: 2vw;
  top: 10vw;
 }
	#top #main_header p.copy:nth-child(2){
		left: 20vw;
		top: 15vw;
	}
	#top #main_header p.copy:nth-child(3){
		left: 24vw;
		top: 15vw;
	}
 #main_body {
  width: 100%;
 }
 #main_body p.introduction {
  padding: 0 3rem;
  font-size: 3.2rem;
 }
 #top #main_body .media_creation .header_group h2,
 #top #main_body .system_engineering .header_group h2 {
  font-size: 5rem;
 }
 #top #main_body .media_creation .header_group h2 + p,
 #top #main_body .system_engineering .header_group h2 + p {
  font-size: 3.2rem;
 }
 #top #main_body .media_creation .contents,
 #top #main_body .system_engineering .contents {
  flex-direction: column;
 }
 #top #main_body .media_creation .contents > div,
 #top #main_body .system_engineering .contents > div {
  width: 100%;
 }
 #top #main_body .media_creation .contents > div h3,
 #top #main_body .system_engineering .contents > div h3 {
  font-size: 3.2rem;
 }
 #top #main_body .media_creation .contents > div p,
 #top #main_body .system_engineering .contents > div p {
  font-size: 3.2rem;
 }
 #top #main_body .media_creation .contents .image,
 #top #main_body .system_engineering .contents .image {
  width: 100%;
  height: 50vw;
  top: 2rem;
 }
 #top #main_body .media_creation .contents .image img,
 #top #main_body .system_engineering .contents .image img {
  width: 50vw;
 }
 #top #main_body .media_creation,
 #top #main_body .system_engineering {
  padding-bottom: 10rem;
  background-size: 100%;
 }
 #top .airscreen {
  padding: 3rem;
 }
 #top .airscreen h2 {
  font-size: 5rem;
  line-height: 1.4em;
 }
 #top .airscreen > div {
  flex-direction: column;
 }
 #top .airscreen > div > p {
  width: 60vw;
  margin: 0 auto 1rem;
 }
 #top .airscreen > div > p img {
  width: 100%;
 }
 #top .airscreen > div > div p {
  margin-bottom: 3rem;
  font-size: 2.8rem;
  line-height: 1.6em;
 }
 #top .airscreen > div > div p a {
  display: block;
  font-size: 2.8rem;
  text-align: center;
 }
 /* common */
 body.common #main_header {
  margin-top: 15rem;
 }
 body.common #main_header h2 {
  padding: 1.5rem 3rem;
 }
 body.common #main_header h2 span {
  width: 100%;
  font-size: 5rem;
 }
 body.common #main_header h2::after {
  top: -2rem;
 }
 body.common #main_header h2::before {
  width: calc(100% - 3rem);
 }
 body.common #main_header p img {
  width: 150%;
  margin-left: -25%;
 }
 /* about us*/
 #about_us #main_body .information {
  flex-direction: column;
  padding: 0 3rem;
 }
 #about_us #main_body .information dt {
  width: 100%;
  padding-top: 0.5em;
  border-top: 0.1rem solid #5daadf;
  font-size: 3.2rem;
 }
 #about_us #main_body .information dt:first-child {
  padding-top: 0;
  border: none;
 }
 #about_us #main_body .information dd {
  width: 100%;
  margin: 0 0 2rem 1em;
  font-size: 3.2rem;
 }
 #about_us #main_body .office .contents p {
  font-size: 3.2rem;
 }
 #about_us #main_body .office .contents iframe {
  width: 100%;
  height: 60rem;
 }
 #about_us #main_body .office .contents::before {
  width: 100%;
  height: 60rem;
  border-width: 2rem;
 }
 #about_us #main_body .office .header_group h3 {
  font-size: 5rem;
 }
 #about_us #main_body .office .header_group h3 + p {
  font-size: 3.2rem;
 }
 /* contact us */
 #contact_us #main_body .form dl {
  flex-direction: column;
 }
 #contact_us #main_body .form dl dt {
  width: 100%;
  margin: 0;
  padding-top: 0;
  border: none;
  font-size: 3.2rem;
  font-weight: bold;
 }
 #contact_us #main_body .form dl dd {
  flex-direction: column;
  width: 100%;
  margin: 0 0 2rem;
  padding-top: 1rem !important;
  border-top: none;
  border-bottom: 0.1rem solid #5daadf;
  font-size: 3.2rem;
 }
 #contact_us #main_body .form dl dd input,
 #contact_us #main_body .form dl dd textarea {
  padding: 2rem;
  font-size: 3.2rem;
 }
 #contact_us #main_body .form dl dd label {
  width: 100%;
  padding: 3rem;
  background-color: #fff;
  border-radius: 1.2rem;
  -webkit-border-radius: 1.2rem;
  -moz-border-radius: 1.2rem;
 }
 #contact_us #main_body .form dl dd label:first-child {
  margin-bottom: 2rem;
 }
 #contact_us #main_body .form dl dd:nth-child(2) {
  border-bottom: 0.1rem solid #5daadf;
 }
 #contact_us #main_body .form dl dt:nth-last-child(2),
 #contact_us #main_body .form dl dd:nth-last-child(1) {
  padding-bottom: 1.5rem;
  border: none;
 }
 #contact_us #main_body .form .privacy_policy {
  padding: 3rem;
  border-width: 1rem
 }
 #contact_us #main_body .form .privacy_policy h2 {
  font-size: 3.6rem;
 }
 #contact_us #main_body .form .privacy_policy p {
  font-size: 3.2rem;
 }
 #contact_us #main_body .form .button {
  flex-direction: column;
 }
 #contact_us #main_body .form .button button {
  width: calc(100% - 4rem);
  margin-bottom: 4rem;
  border-width: 0.5rem;
  font-size: 4rem;
 }
}