@charset "UTF-8";

html,
body,
div,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figure {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: middle;
  background: transparent;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

/* remember to define focus styles! */
:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */
ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing=&quot;0&quot;' in the markup */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* CSS Document */
a {
  text-decoration: none;
  vertical-align: bottom;
}

.pc-none {
  display: none;
}

html,
body {
  width: 100% !important;
  min-width: 1280px;
  height: 100%;
  margin: 0px;
  padding: 0px;
  font-family: Century Gothic, Lato, "Noto Sans JP", "游ゴシック Medium",
    "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}

/* header */
#top-head {
  top: -100px;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  padding: 0;
  line-height: 1;
  z-index: 999;
  background: #222;
  border-bottom: 2px solid #111;
}

#top-head .inner {
  position: relative;
}

#top-head .inner:after {
  content: "";
  clear: both;
  display: block;
}

#top-head #logo {
  position: absolute;
  left: 17px;
  top: 0;
  margin: 18px 0 0 0;
  z-index: 999;
}

#top-head #logo img {
  width: 180px;
  display: block;
}

#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
  height: 70px;
  background: #222;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}

/* Menu list*/
#global-nav ul {
  width: 880px;
  /*メニュー6個width: 720px;*/
  float: right;
  list-style: none;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0px;
  display: table;
}

#global-nav ul a {
  color: #fff;
  display: block;
  font-size: 0.85em;
}

#global-nav ul a.video {
  letter-spacing: -0.04em;
}

#global-nav ul li {
  width: 110px;
  height: 70px;
  line-height: 70px;
  float: left;
  text-align: center;
  border-left: 1px solid #5a5a5a;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#global-nav ul li:last-child {
  background: #f39700;
}

#global-nav ul li a:hover {
  background: #f7c36d;
}

/* if - 2行テキスト
#global-nav ul li:first-child a,
#global-nav ul li:nth-child(3) a {
  padding: 15px 0 13px;
  line-height: 1.1;
}
*/
/* add langage*/
#global-nav li.menu__multi {
  position: relative;
}

#global-nav ul.menu__second-level {
  position: absolute;
  top: 70px;
  width: calc(100% + 1px);
  left: 0px;
  right: 0px;
  visibility: hidden;
  opacity: 0;
  z-index: 1;
}

#global-nav li.menu__multi ul.menu__second-level li {
  position: relative;
  width: 100%;
  height: 50px;
  line-height: 50px;
  background: rgba(0, 0, 0, 0.9);
  border-top: 1px solid #333;
  border-left: 0;
  transition-duration: 0s;
}

#global-nav li.menu__multi:hover ul.menu__second-level {
  visibility: visible;
  opacity: 1;
}

#global-nav li.menu__multi ul a {
  display: block;
  color: #fff;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

/* add */

/* Close Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}

#nav-toggle div {
  position: relative;
}

#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #fff;
  left: 0;
  -webkit-transition: 0.35s ease-in-out;
  -moz-transition: 0.35s ease-in-out;
  transition: 0.35s ease-in-out;
}

#nav-toggle span:nth-child(1) {
  top: 0;
}

#nav-toggle span:nth-child(2) {
  top: 11px;
}

#nav-toggle span:nth-child(3) {
  top: 22px;
}

#bread-list {
  color: #333;
  height: 38px;
  line-height: 37px;
  padding: 0 15px;
  font-size: 0.65em;
  background: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#bread-list a {
  color: #333;
}

#bread-list ul li:last-child {
  font-weight: bold;
  color: #f39700;
}

#bread-list ul,
#bread-list li {
  display: inline-block;
}

#bread-list ul li + li:before,
#bread-list li li + li:before {
  content: "\f101";
  font-family: FontAwesome;
  margin: 0 10px;
  font-weight: normal !important;
  color: #333;
}

#wrapper {
  font-size: 1em;
  margin: -16px 0 0 0;
}

/* #main-visual {
  width: 100%;
  height: 500px;
  font-weight: 300;
  position: relative;
  overflow: hidden;
} */

#main-visual section {
  width: 1280px;
  height: 500px;
  margin-left: -640px;
  position: absolute;
  top: 0;
  left: 50%;
}

#main-visual .main-txt {
  width: 100%;
  background: rgba(0, 0, 0, 0.8);
  position: absolute;
  bottom: 50%;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  left: 0;
  right: 0;
  color: #fff;
  line-height: 1.5em;
  padding: 50px 20px;
  z-index: 0;
}

#main-visual .main-txt h1 {
  font-size: 2.5em;
  margin: 0 0 35px 0;
  line-height: 1.4;
}

#main-visual .main-txt .inner {
  width: 1280px;
  margin: 10px auto 0;
  position: relative;
}

#main-visual .main-txt .inner p {
  min-height: 120px;
  display: block;
}

#main-visual img {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 1;
}

#main-visual .youtube {
  width: 480px;
  height: 360px;
  position: absolute;
  top: 50%;
  right: 0;
  margin: -180px 0 0 0;
}

#main-visual .youtube a {
  position: relative;
  display: block;
}

#main-visual .youtube a:after {
  width: 480px;
  height: 360px;
  content: "";
  display: block;
  background: url("../images/common/icon/svg/play-button.svg") no-repeat;
  background-size: 60px;
  background-position: center center;
  opacity: 0.85;
  position: absolute;
  top: 0;
  left: 0px;
  z-index: 1;
}

#main-visual_title {
  width: 100%;
  background: url("../images/common/maintitle_bg.png");
  background-size: cover;
  background-position: center center;
  padding: 70px 0;
  margin: 0 0 50px 0;
}

#main-visual_title section {
  width: 1280px;
  margin: 0 auto;
  color: #fff;
  font-size: 2em;
  position: relative;
}

#main-visual_title section h1 {
  text-indent: 100px;
}

#main-visual_title section img {
  width: 80px;
  position: absolute;
  left: 0;
  top: 50%;
  margin: -40px 0 0 0;
}

#contents-why {
  padding: 50px 0;
  color: #fff;
}

#contents-why section {
  width: 1280px;
  margin: 0 auto;
  padding: 0 250px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1.5em;
}

.why-mask {
  padding: 50px 0 30px;
  background: #fff;
}

.btn-kv-contact a {
  display: block;
  width: 80%;
  max-width: 400px;
  height: 50px;
  font-size: 1.1em;
  text-align: center;
  line-height: 50px;
  border-radius: 25px;
  color: #fff;
  background: #f39700;
  border: none;
  margin: 50px auto 0;
}

.btn-kv-contact a:hover {
  background: #333;
}

.btn-learn_more-contact a {
  width: 800px;
  padding: 30px 0;
  display: block;
  margin: 60px auto 0px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 1.5em;
  background: #f39700;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  border: 5px solid #f39700;
}

.btn-learn_more-contact a:hover {
  background: #fff;
  letter-spacing: 3px;
  color: #333;
}

.btn-learn_more-contact a i {
  margin: 0 10px 0 0;
}

#contact-us {
  width: 100%;
  height: 350px;
  padding: 20px 0;
  text-align: center;
  background: url("../images/common/contactus_bg.jpg") no-repeat;
  background-position: center bottom;
  background-size: cover;
  position: relative;
  color: #fff;
}

#contact-us:before {
  background-color: rgba(0, 0, 0, 0.65);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: " ";
}

#contact-us .inner-txt {
  width: 1280px;
  margin: 0 auto;
  line-height: 1.5em;
  font-size: 1em;
  position: absolute;
  bottom: 50%;
  -webkit-transform: translateY(50%);
  transform: translateY(50%);
  left: 0;
  right: 0;
}

#contact-us .inner-txt p {
  width: 1000px;
  margin: 20px auto 40px;
  text-align: center;
}

#contact-us a {
  display: block;
  width: 200px;
  text-align: center;
  height: 40px;
  line-height: 40px;
  border-radius: 20px;
  color: #fff;
  background: #f39700;
  margin: 0 auto;
  border: none;
}

#contact-us a:hover {
  background: #fff;
  color: #333;
}

#our-strengths {
  width: 100%;
  background: #eee;
}

#our-strengths section h2 {
  color: #333;
  font-size: 2em;
}

#our-strengths section .stage {
  width: 640px;
  min-height: 400px;
  display: table;
  text-align: center;
  line-height: 1.5;
  position: absolute;
  top: 0;
}

#our-strengths section .stage .txt {
  display: table-cell;
  text-align: left;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 50px;
}

#our-strengths section.txtRight .stage {
  right: 0;
}

#our-strengths section.txtLeft img {
  position: absolute;
  right: 0;
}

#our-workstitle {
  padding: 50px 0 0 0;
}

#our-workstitle section {
  width: 1280px;
  margin: 0 auto;
  text-align: center;
}

#our-workstitle ul {
  width: 1280px;
  margin: 0 auto;
  text-align: center;
}

#our-workstitle ul li {
  width: 400px;
  display: inline-block;
  margin: 20px 10px;
  position: relative;
  color: #fff;
  text-align: left;
}

#our-workstitle ul li a {
  color: #fff;
}

#our-workstitle ul li dl {
  height: 100px;
  position: relative;
}

#our-workstitle ul li dl dt:nth-child(1) {
  margin: 10px 0;
  font-weight: bold;
  font-size: 1.3em;
  line-height: 1.3;
}

#our-workstitle ul li dl dt:nth-child(1) p {
  font-weight: normal;
  font-size: 0.85em;
}

#our-workstitle ul li dl dt:nth-child(2) {
  line-height: 1.5;
}

#our-workstitle ul li dl dd {
  width: 100%;
  position: absolute;
  margin: 15px 0 0 0;
  font-size: 0.75em;
}

#our-workstitle figure {
  position: relative;
  overflow: hidden;
  width: 320px;
  color: #fff;
  font-size: 0.85em;
  border: 1px solid #eee;
  margin: 0 auto;
}

#our-workstitle figure img {
  width: 100%;
}

#our-workstitle figcaption {
  position: absolute;
  top: 0;
  left: -100%;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  -webkit-transition: 0.3s;
  transition: 0.3s;
  opacity: 1;
  padding: 15px 15px 0;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#our-workstitle figure:hover figcaption {
  top: 0;
  left: 0;
}

#our-workstitle .play {
  z-index: 1;
  margin: 0 auto;
}

#our-workstitle .play a {
  display: block;
  width: 200px;
  height: 35px;
  line-height: 35px;
  text-align: center;
  margin: 0 auto;
  padding: 0 10px;
  background: #f39700;
  border-radius: 5px;
}

#our-workstitle .play a:hover {
  background: #f7c36d;
}

#flow-works,
.flow-works,
#faq-list {
  padding: 50px 0 150px;
}

/* is_illust */
#flow-works.flow-works-illust {
  padding: 0 0;
  margin: -12px 0 10px;
}

/* is_narration */
.flow-works.flow-works-narration {
  padding: 30px 0 0;
}

/* is_sound */
#flow-works.flow-works-sound {
  padding: 35px 0 10px;
}

/* is_video */
#flow-works.flow-works-video {
  padding: 75px 0 10px;
}

#flow-works section,
.flow-works section,
#faq-list section {
  width: 1280px;
  margin: 0 auto;
  line-height: 1.5;
}

#flow-works section table,
.flow-works section table,
#faq-list section table {
  width: 95%;
  margin: 0 auto;
}

#flow-works section table th,
#flow-works section table td,
.flow-works section table th,
.flow-works section table td,
#faq-list section table th,
#faq-list section table td {
  border: 1px solid #dcdcdc;
  padding: 20px;
}

#flow-works section table th,
.flow-works section table th,
#faq-list section table th {
  width: 50%;
}

#flow-works section figure,
.flow-works section figure,
#faq-list section figure {
  width: 45%;
  margin: 20px 10px;
  display: inline-block;
  border: 1px solid #000;
}

#flow-works .st-accordion,
.flow-works .st-accordion,
#faq-list .st-accordion {
  width: 85%;
  min-width: 270px;
  margin: 0 auto;
}

#flow-works .st-accordion ul li,
.flow-works .st-accordion ul li,
#faq-list .st-accordion ul li {
  height: 100px;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #fff;
  overflow: hidden;
}

#flow-works .st-accordion ul li:first-child,
.flow-works .st-accordion ul li:first-child,
#faq-list .st-accordion ul li:first-child {
  border-top: none;
}

#flow-works .st-accordion ul li > a,
.flow-works .st-accordion ul li > a,
#faq-list .st-accordion ul li > a {
  text-shadow: 1px 1px 1px #fff;
  font-size: 1.5em;
  display: block;
  position: relative;
  color: #222;
  line-height: 100px;
  outline: none;
  -webkit-transition: color 0.2s ease-in-out;
  -moz-transition: color 0.2s ease-in-out;
  -o-transition: color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out;
}

#flow-works .st-accordion ul li > a span,
.flow-works .st-accordion ul li > a span,
#faq-list .st-accordion ul li > a span {
  background: transparent
    url(https://tympanus.net/Tutorials/FlexibleSlideToTopAccordion/images/down.png)
    no-repeat center center;
  text-indent: -9000px;
  width: 26px;
  height: 14px;
  position: absolute;
  top: 50%;
  right: -26px;
  margin-top: -7px;
  opacity: 0;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  -ms-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

#flow-works .st-accordion ul li > a:hover,
.flow-works .st-accordion ul li > a:hover,
#faq-list .st-accordion ul li > a:hover {
  color: #f39700;
}

#flow-works .st-accordion ul li > a:hover span,
.flow-works .st-accordion ul li > a:hover span,
#faq-list .st-accordion ul li > a:hover span {
  opacity: 1;
  right: 10px;
}

#flow-works .st-accordion ul li.st-open > a,
.flow-works .st-accordion ul li.st-open > a,
#faq-list .st-accordion ul li.st-open > a {
  color: #f39700;
}

#flow-works .st-accordion ul li.st-open > a span,
.flow-works .st-accordion ul li.st-open > a span,
#faq-list .st-accordion ul li.st-open > a span {
  -webkit-transform: rotate(180deg);
  -moz-transform: rotate(180deg);
  transform: rotate(180deg);
  right: 10px;
  opacity: 1;
}

#flow-works .st-content,
.flow-works .st-content,
#faq-list .st-content {
  padding: 5px 0px 30px 0px;
  display: table;
}

#flow-works .st-content p,
.flow-works .st-content p,
#faq-list .st-content p {
  width: 650px;
  background: #eee;
  height: 280px;
  font-size: 0.95em;
  display: table-cell;
  vertical-align: middle;
  line-height: 1.5;
  padding: 0px 30px;
}

#flow-works .st-content p span,
.flow-works .st-content p span,
#faq-list .st-content p span {
  color: #f00;
  font-size: 0.85em;
}

#flow-works .st-content img,
.flow-works .st-content img,
#faq-list .st-content img {
  width: 400px;
  height: 280px;
  float: left;
}

#flow-works .st-content:after,
.flow-works .st-content:after,
#faq-list .st-content:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

/* ▼ 20.2.28 アコーディオン追記*/
ul.how-accordion {
  width: 1088px;
  margin: 0 auto;
}

li.how-link {
  border-bottom: 1px solid #ccc;
}

li.how-link a {
  display: block;
  padding: 40px 0;
  font-size: 24px;
  color: #000;
}

li.how-link a:hover {
  color: #f39700;
}

ul.how-box li {
  display: -webkit-inline-flex;
  display: -moz-inline-flex;
  display: -ms-inline-flex;
  display: -o-inline-flex;
  display: inline-flex;
  margin-bottom: 30px;
}

.how-box img {
  width: 400px;
  height: 280px;
}

.how-box p {
  margin-left: 30px;
  line-height: 1.5;
}

/* ▲ 20.2.28 アコーディオン追記*/

#client-logo {
  width: 100%;
  /* background: #efefef; */
  /* border-bottom: 6px solid #333; */
}

/* #client-logo h2 {
  font-size: 2em;
  color: #fff;
  background: #333;
  font-weight: normal;
  text-align: center;
  padding: 23px 0 21px;
  margin: 0 0 5px;
} */

#client-logo ul {
  width: 1220px;
  display: flex;
  flex-wrap: wrap;
  margin: 40px auto;
}

#client-logo ul li {
  margin: 0 28px 20px;
}

/* #client-logo ul li:nth-child(5n) {
  margin-right: 0;
} */
/* #client-logo ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  font-size: 0.1em;
  line-height: 0;
} */

.footer-link a {
  width: 33.333333%;
  display: block;
  float: left;
  text-align: center;
  background: #333;
  padding: 22px 0;
  color: #fff;
  border-right: 1px solid #555;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.footer-link a:last-child {
  border: none;
}

.footer-link a:hover {
  background: #f39700;
}

.footer-link:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

footer {
  width: 100%;
  background: #222;
  padding: 23px 10px;
  color: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 13px;
  position: relative;
}

footer a {
  color: #fff;
}

footer a:hover {
  color: #f39700;
}

footer p {
  margin: 20px 0 0 0;
}

footer #footer-menu {
  position: absolute;
  right: 0;
  top: 50%;
  margin: -10px 0 0 0;
}

footer #footer-menu li {
  display: inline-block;
  padding: 0 50px;
  height: 20px;
  line-height: 20px;
}

footer #footer-menu li + li {
  border-left: 1px solid #ccc;
}

footer .footer-sp {
  display: none;
}

footer span {
  padding: 0 0 0 22px;
}

footer.contact {
  text-align: center;
  padding: 13px 0;
}

@media only screen and (max-width: 980px) {
  #top-head {
    top: 0;
    position: fixed;
    margin: 0;
    padding: 0;
    height: 60px;
    overflow: visible !important;
  }

  #top-head.fixed {
    height: 60px;
    padding-top: 0;
    background: transparent;
    background: #222;
  }

  #top-head #logo {
    color: #333;
    top: 0px;
    font-size: 26px;
    margin: 15px 0 0 0;
  }

  #top-head #logo img {
    width: 150px;
  }

  #mobile-head {
    width: 100%;
    z-index: 999;
    position: relative;
  }

  #global-nav {
    position: absolute;
    /* 開いてないときは画面外に配置 */
    top: -660px;
    background: #333;
    width: 100%;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }

  #global-nav ul {
    width: 100%;
    list-style: none;
    position: static;
    right: 0;
    bottom: 0;
    font-size: 18px;
  }

  #global-nav ul li {
    width: 100%;
    height: 80px;
    line-height: 80px;
    box-shadow: none;
    position: static;
    background-position: 15px center !important;
    border-bottom: 1px solid #000;
    border-left: none;
    border-top: none;
    text-align: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #global-nav ul li a {
    width: 100%;
    display: block;
    color: #fff;
    padding: 0 0 0 20px;
    text-decoration: none;
  }

  #global-nav ul li a span {
    visibility: visible;
    color: #fff;
  }

  #global-nav ul li a p {
    display: none;
  }

  #global-nav ul li:first-child br,
  #global-nav ul li:nth-child(3) br {
    display: none;
  }

  #global-nav ul li:first-child a,
  #global-nav ul li:nth-child(3) a {
    padding: 0 0 0 20px;
    line-height: unset;
  }

  #nav-toggle {
    display: block;
    margin: 5px 0 0 0;
  }

  /* .open　> #global-nav スライドアニメーション */
  /* .open #nav-toggle span　> #nav-toggle 切り替えアニメーション */

  .open #nav-toggle span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }

  .open #nav-toggle span:nth-child(2) {
    width: 0;
    left: 50%;
  }

  .open #nav-toggle span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }

  .open #nav-toggle span ul {
    background: #f00;
  }

  .open #nav-toggle span ul li {
    float: none;
  }

  .open #nav-toggle span ul li span {
    color: #fff;
  }

  .open #global-nav {
    /* #global-nav top + #mobile-head height */
    -moz-transform: translateY(722px);
    -webkit-transform: translateY(722px);
    transform: translateY(722px);
  }
}

@media only screen and (max-width: 640px) {
  html,
  body {
    min-width: 100%;
  }

  .sp-none {
    display: none !important;
  }

  .pc-none {
    display: inherit;
  }

  #wrapper {
    width: 100%;
    padding: 62px 0 0 0;
  }

  /* #main-visual {
    width: 100%;
    height: auto;
    overflow: visible;
    font-size: 0.85em;
    padding: 30px 0;
  } */

  #main-visual section {
    width: 100%;
    margin-left: 0;
    height: 100%;
    position: static;
  }

  #main-visual .main-txt {
    position: static;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
    background: rgba(0, 0, 0, 0.5);
    padding: 20px 0;
  }

  #main-visual .main-txt h1 {
    font-size: 2em;
    line-height: 1.25;
    margin: 0 0 18px;
  }

  #main-visual .main-txt .inner {
    width: 100%;
    margin: 10px auto 0;
    padding: 10px;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #main-visual .main-txt .inner p {
    min-height: auto;
    display: block;
  }

  #main-visual img {
    height: 100%;
  }

  #main-visual .youtube {
    display: none;
  }

  .btn-kv-contact a {
    font-size: 1em;
  }

  .btn-kv-contact a:hover {
    background: #fff;
    color: #333;
  }

  .btn-learn_more-contact a {
    width: 90%;
    padding: 20px 0;
    margin: 40px auto 0px;
    font-size: 1em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
  }

  #contact-us {
    width: 100%;
    height: 300px;
    padding: 0;
    margin: 0;
    font-size: 0.85em;
  }

  #contact-us .inner-txt {
    width: 100%;
  }

  #contact-us .inner-txt p {
    width: 100%;
    text-align: center;
    padding: 0 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #main-visual_title {
    background: url("../images/common/maintitle_bg.png");
    padding: 50px 0;
    margin: 0 0 40px 0;
  }

  #main-visual_title section {
    width: 100%;
    font-size: 1.5em;
  }

  #main-visual_title section h1 {
    text-indent: 0;
    text-align: center;
  }

  #main-visual_title section img {
    display: none;
  }

  #contents-why {
    padding: 30px 0;
  }

  #contents-why section {
    width: 100%;
    margin: 0 auto;
    padding: 0 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    line-height: 1.2;
    font-size: 0.85em;
  }

  .why-mask {
    padding: 1px 0;
  }

  #our-strengths {
    width: 100%;
    background: #eee;
  }

  #our-strengths section h2 {
    color: #fff;
    font-size: 1.5em;
    line-height: 1.2;
    border-bottom: 1px solid #f39700;
    padding: 0 0 10px 0;
    margin: 0 0 15px 0;
  }

  #our-strengths section .stage {
    width: 100%;
    min-height: 100%;
    display: block;
    text-align: center;
    line-height: 1.5;
    position: static;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
    color: #fff;
    z-index: 99999;
  }

  #our-strengths section .stage .txt {
    display: block;
    text-align: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 50px 20px;
  }

  #our-strengths section.txtRight .stage {
    right: 0;
  }

  #our-strengths section.txtLeft img {
    position: absolute;
    right: 0;
  }

  #our-workstitle {
    padding: 0;
  }

  #our-workstitle section {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  #our-workstitle ul {
    width: 100%;
    text-align: center;
  }

  #our-workstitle ul li {
    width: 45%;
    min-height: 280px;
    margin: 0 5px;
    color: #fff;
    text-align: center;
    font-size: 0.9em !important;
  }

  #our-workstitle ul li a {
    font-weight: bold;
    color: #222;
  }

  #our-workstitle ul li dl,
  #our-workstitle ul li dt,
  #our-workstitle ul li dd {
    margin: 3px 0 !important;
    line-height: 1.2;
  }

  #our-workstitle ul li dl {
    height: auto;
  }

  #our-workstitle ul li dl dt:nth-child(1) {
    font-weight: normal;
    font-size: 1.1em;
  }

  #our-workstitle ul li dl dt:nth-child(2) {
    line-height: 1;
  }

  #our-workstitle ul li dl dd {
    position: static;
    margin: 10px 0 0 0;
  }

  #our-workstitle figure {
    position: relative;
    overflow: visible;
    width: 100%;
    font-size: 0.85em;
    border: 1px solid #eee;
    margin: 0 auto;
  }

  #our-workstitle figcaption {
    position: static;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
    width: 100%;
    padding: 10px;
    color: #222;
    background: #eee;
    display: block;
    text-align: left;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #our-workstitle .play {
    z-index: 1;
    margin: 0 auto;
  }

  #our-workstitle .play a {
    width: 80%;
    height: 35px;
    line-height: 35px;
    margin: 20px 0 0;
    text-align: center;
  }

  #flow-works,
  .flow-works,
  #faq-list {
    padding: 0;
    margin: 0 0 50px 0;
  }

  /* is_illust */
  #flow-works.flow-works-illust {
    padding: 0 0;
    margin: 0px 0 10px;
  }

  /* is_narration */
  .flow-works.flow-works-narration {
    padding: 0;
    margin: 0 0 5px 0;
  }

  /* is_sound */
  #flow-works.flow-works-sound {
    padding: 0;
    margin: 0 0 12px 0;
  }

  /* is_video */
  #flow-works.flow-works-video {
    padding: 0;
    margin: 40px auto;
  }

  #flow-works section,
  .flow-works section,
  #faq-list section {
    width: 100%;
    margin: 0 auto;
    line-height: 1.5;
  }

  #flow-works section table,
  .flow-works section table,
  #faq-list section table {
    width: 95%;
    margin: 0 auto;
  }

  #flow-works section table th,
  #flow-works section table td,
  .flow-works section table th,
  .flow-works section table td,
  #faq-list section table th,
  #faq-list section table td {
    width: 100%;
    display: block;
    border: 1px solid #dcdcdc;
    padding: 20px;
  }

  #flow-works section table th,
  .flow-works section table th,
  #faq-list section table th {
    width: 50%;
  }

  #flow-works section figure,
  .flow-works section figure,
  #faq-list section figure {
    width: 45%;
    margin: 20px 10px;
    display: inline-block;
    border: 1px solid #000;
  }

  #flow-works .st-accordion,
  .flow-works .st-accordion,
  #faq-list .st-accordion {
    width: 95%;
    min-width: 270px;
  }

  #flow-works .st-accordion ul li,
  .flow-works .st-accordion ul li,
  #faq-list .st-accordion ul li {
    height: 60px;
    line-height: 60px;
  }

  #flow-works .st-accordion ul li > a,
  .flow-works .st-accordion ul li > a,
  #faq-list .st-accordion ul li > a {
    font-size: 0.8em;
    letter-spacing: -0.5px;
    line-height: 60px;
  }

  #flow-works .st-accordion ul li > a:hover span,
  .flow-works .st-accordion ul li > a:hover span,
  #faq-list .st-accordion ul li > a:hover span {
    opacity: 1;
    right: 10px;
  }

  #flow-works .st-accordion ul li.st-open > a,
  .flow-works .st-accordion ul li.st-open > a,
  #faq-list .st-accordion ul li.st-open > a {
    height: 60px;
  }

  #flow-works .st-accordion ul li.st-open > a span,
  .flow-works .st-accordion ul li.st-open > a span,
  #faq-list .st-accordion ul li.st-open > a span {
    -webkit-transform: rotate(180deg);
    -moz-transform: rotate(180deg);
    transform: rotate(180deg);
    right: 10px;
    opacity: 1;
  }

  #flow-works .st-content,
  .flow-works .st-content,
  #faq-list .st-content {
    width: 100%;
    display: block;
  }

  #flow-works .st-content p,
  .flow-works .st-content p,
  #faq-list .st-content p {
    padding: 15px;
    height: 100%;
  }

  #flow-works .st-content img,
  .flow-works .st-content img,
  #faq-list .st-content img {
    width: 100%;
    height: auto;
  }

  /* ▼ 20.2.28 アコーディオン追記*/
  ul.how-accordion {
    width: 90%;
  }

  li.how-link a {
    font-size: 18px;
    padding: 15px 0;
    line-height: 1.3;
  }

  ul.how-box li {
    display: block;
  }

  .how-box img {
    display: block;
    width: 80%;
    height: auto;
    margin: 0 auto 15px;
  }

  .how-box p {
    margin: 0;
  }

  /* ▲ 20.2.28 アコーディオン追記*/

  #client-logo h2 {
    font-size: 1.3em;
    font-weight: bold;
    padding: 18px 0 19px;
    margin: 0 0;
  }

  #client-logo ul {
    width: 92%;
    margin: 30px auto 26px;
  }

  #client-logo ul li {
    width: 32%;
    margin: 0 2% 2% 0;
  }

  #client-logo ul li:nth-child(5n) {
    margin-right: 2%;
  }

  #client-logo ul li:nth-child(3n) {
    margin-right: 0;
  }

  #client-logo ul li img {
    width: 100%;
  }

  .footer-link {
    display: none;
  }

  footer {
    text-align: center;
    padding: 0;
  }

  footer .footer-sp {
    display: block;
    border-bottom: 1px solid #aaa;
    margin: 0 0 10px 0;
  }

  footer .footer-sp li {
    text-align: left;
  }

  footer .footer-sp li a {
    display: block;
    width: 95%;
    margin: 0 auto;
    padding: 22px 10px;
    border-bottom: 1px solid #ccc;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  footer .footer-sp li:last-child a {
    border-bottom: none;
  }

  footer span {
    display: inline-block;
    padding: 12px 0;
    margin: 0 0 10px 0;
  }

  footer #footer-menu {
    display: none;
  }
}

a,
.fancybox {
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

/* h3 {
  text-align: center;
  margin: 0 0 50px;
  font-size: 2em;
  position: relative;
} */

/* h3:after {
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin: 0 25px 0 -25px;
  z-index: 2;
  content: '';
  width: 50px;
  height: 4px;
  background: #f39700;
  border-radius: 10px;
} */

/* h3.bd-none:after {
  background: none;
  position: static;
} */

h4 {
  font-weight: normal;
  margin: 5px 0;
  text-align: center;
  font-size: 0.95em;
  line-height: 1.5em;
}

.hd_title {
  text-align: center;
  position: relative;
  font-size: 2em;
}

/* .hd_title.title__h1 h1 {
  font-size: 60px;
} */

.hd_subtitle {
  font-size: 1em !important;
  text-align: center;
  position: relative;
}

.container_hd_title {
  /* margin: 0 0 50px; */
  background-color: #222;
  color: white;
  padding: 60px 0 50px 0;
}

/* 
.hd_title:after {
  content: '';
  display: block;
  width: 123px;
  height: 5px;
  background-image: url("../images/common/h2-hr.png");
  background-repeat: no-repeat;
  background-size: contain;
  margin: 19px auto 0;
} */

@media only screen and (max-width: 640px) {
  .hd_title {
    width: 100%;
    font-size: 1.5em;
    padding: 0 15px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 0 30px 0;
  }

  /* .hd_title:after {
    content: '';
    display: block;
    width: 96px;
    height: 4px;
    background-image: url("../images/common/h2-hr.png");
    background-repeat: no-repeat;
    background-size: cover;
    margin: 15px auto 0;
  } */
}

.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 5;
}

.pagetop {
  position: fixed;
  bottom: 60px;
  right: 15px;
  opacity: 0;
  display: block;
  filter: alpha(opacity=0);
  -webkit-transform: scale(1.5);
  -moz-transform: scale(1.5);
  -ms-transform: scale(1.5);
  -o-transform: scale(1.5);
  transform: scale(1.5);
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

.pagetop a {
  display: block;
  width: 60px;
  height: 52px;
  background: #aaa;
  text-align: center;
  color: #fff;
  font-size: 14px;
  text-decoration: none;
  border-radius: 3px;
  padding: 8px 0px 0;
  line-height: 2;
}

/* .pagetop a:hover {
  background: #cb4647;
} */
a.sidecontact {
  margin: 0 0 10px;
  background: #f39800;
}

a.sidecontact:hover {
  background: rgb(66, 147, 0);
}

a.sidetop {
  line-height: 1;
}

.pagetop.show {
  opacity: 1;
  filter: alpha(opacity=100);
  -webkit-transform: scale(1);
  -moz-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
}

.sidecontact i {
  display: block;
  font-size: 16px;
}

.sidetop i {
  display: block;
  font-size: 24px;
}

@media only screen and (max-width: 640px) {
  h3 {
    width: 100%;
    margin: 0 0 25px 0;
    font-size: 1.5em;
    padding: 0 15px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  h3:after {
    bottom: -15px;
  }

  h4 {
    padding: 0 15px;
    margin: 10px 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
}

#top-main {
  width: 100%;
  height: 768px;
  overflow: hidden;
  position: relative;
  background: #000;
}

#top-main .video-bg video {
  width: 100%;
  min-width: 1366px;
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

#top-main .detail-box {
  width: 100%;
  height: 768px;
  color: #333;
}

#top-main .detail-box .inner-wrap {
  width: 100%;
  padding: 29px 0 30px;
  position: absolute;
  bottom: 0;
  background: rgba(255, 255, 255, 0.78);
}

#top-main .detail-box .inner-wrap .inner {
  width: 1220px;
  margin: 0 auto;
}

#top-main .detail-box .inner-wrap .inner h1 {
  font-size: 2.5em;
}

#top-main .detail-box .inner-wrap .inner h2 {
  margin-top: 17px;
  font-size: 1.09em;
}

#main-visual.top {
  background: url("../images/index/mainvisual_bg.jpg");
  background-size: cover;
  background-position: center bottom;
}

#main-visual.top .main-txt {
  background: none;
}

#main-visual.top .main-txt h1 {
  font-size: 5em;
  line-height: 1em;
  margin: 0 0 30px 0;
  color: #222;
}

#main-visual.top .main-txt h2 {
  font-size: 1.2em;
  color: #fff;
  text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.9);
}

.year_info p {
  font-size: 1.5em;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  background: #fa842c;
  color: #000;
  padding: 50px 0;
}

/* .who-we-are {
  font-size: 1.2em;
  background-color: #222;
  color: #FFF;
  padding: 65px 0 68px;

}

.who-we-are .txtBox {
  width: 1280px;
  margin: 0 auto;
  line-height: 1.6em;
  font-size: .9em;
}

.who-we-are .txtBox p {
  width: 800px;
  margin: -20px auto 0;
  text-align: center;
} */

/*  ################################################################
   our-service (flex-wrap: nowrap;)
################################################################# */
#our-service {
  width: 100%;
  background: #efefef;
  padding: 50px 0 90px;
  margin: -30px 0 0;
  position: relative;
}

#our-service h3 {
  text-align: center;
}

#our-service p {
  line-height: 1.8em;
  text-align: center;
  margin: 0 auto;
}

/* wrap */
#our-service .inner {
  width: 1220px;
  margin: 50px auto 0;
}

#our-service .inner ul {
  display: flex;
  justify-content: space-between;
}

#our-service .inner .our_service_box {
  position: relative;
  width: 23.6%;
  background-color: #ddd;
  padding: 40px 35px 55px;
  margin: 0 0;
  box-sizing: border-box;
}

/* before box ------------------------------------------+ */
#our-service .inner .our_service_box .box-before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  width: 100%;
  background-color: #fff;
  margin: auto;
  transform: rotateY(0deg);
  opacity: 1;
  transition-duration: 0.4s;
}

#our-service .inner .our_service_box .box-before img {
  display: block;
  margin: -30px auto 10px;
}

#our-service .inner .our_service_box .box-before p {
  font-size: 17px;
  font-weight: bold;
}

/* hover */
#our-service .inner .our_service_box.go .box-before {
  transform: rotateY(-180deg);
  opacity: 0;
}

/* after box ------------------------------------------+ */
#our-service .inner .our_service_box .box-after {
  display: flex;
  flex-direction: column;
  transform: rotateY(-180deg);
  height: 100%;
  opacity: 0;
  transition-duration: 0.4s;
}

#our-service .inner .our_service_box .box-after p {
  font-size: 16px;
  text-align: left;
  margin: 0 0 30px;
}

#our-service .inner .our_service_box .box-after a {
  display: block;
  width: 150px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  color: #fff;
  text-align: center;
  background: #f39700;
  padding: 0 20px;
  margin: 0 auto;
}

#our-service .inner .our_service_box .box-after a:hover {
  color: #f39700;
  background: #fff;
}

#our-service .inner .our_service_box .box-after .btn_more {
  pointer-events: none;
  margin: auto 0 0 0 !important;
}

/* hover */
#our-service .inner .our_service_box.go .box-after {
  transform: rotateY(0deg);
  opacity: 1;
}

#our-service .inner .our_service_box.go .box-after .btn_more {
  pointer-events: initial;
}

/*  ################################################################
   our-service (3-column)
################################################################# */
#our-service.col3 {
  width: 100%;
  background: #efefef;
  padding: 55px 0 50px;
  margin: -30px 0 0;
  position: relative;
}

#our-service.col3 h3 {
  text-align: center;
  margin: 0 0 65px;
}

#our-service.col3 p {
  line-height: 1.8em;
  text-align: center;
  margin: 0 auto;
}

/* wrap */
#our-service.col3 .inner {
  width: 1220px;
  margin: 50px auto 0;
}

#our-service.col3 .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#our-service.col3 .inner .our_service_box {
  position: relative;
  width: 31.6%;
  background-color: #ddd;
  padding: 85px 55px 75px 58px;
  margin: 0 0 25px;
  box-sizing: border-box;
}

/* before box ------------------------------------------+ */
#our-service.col3 .inner .our_service_box .box-before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: #fff;
  padding: 0 0 35px;
  margin: auto;
  transform: rotateY(0deg);
  opacity: 1;
  transition-duration: 0.4s;
}

#our-service.col3 .inner .our_service_box .box-before img {
  display: block;
  max-width: 90%;
  height: auto;
  margin: auto;
}

#our-service.col3 .inner .our_service_box .box-before h4 {
  position: absolute;
  bottom: 13px;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.2;
  margin: 10px 0;
}

/* hover */
#our-service.col3 .inner .our_service_box.go .box-before {
  transform: rotateY(-180deg);
  opacity: 0;
}

/* after box ------------------------------------------+ */
#our-service.col3 .inner .our_service_box .box-after {
  display: flex;
  flex-direction: column;
  transform: rotateY(-180deg);
  height: 100%;
  opacity: 0;
  transition-duration: 0.4s;
}

#our-service.col3 .inner .our_service_box .box-after p {
  font-size: 16px;
  text-align: left;
  margin: 0 0 30px;
}

#our-service.col3 .inner .our_service_box .box-after a {
  display: block;
  width: 150px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  color: #fff;
  text-align: center;
  background: #f39700;
  padding: 0 20px;
  margin: 0 auto;
}

#our-service.col3 .inner .our_service_box .box-after a:hover {
  color: #f39700;
  background: #fff;
}

#our-service.col3 .inner .our_service_box .box-after .btn_more {
  pointer-events: none;
  margin: auto 0 0 0 !important;
}

/* hover */
#our-service.col3 .inner .our_service_box.go .box-after {
  transform: rotateY(0deg);
  opacity: 1;
}

#our-service.col3 .inner .our_service_box.go .box-after .btn_more {
  pointer-events: initial;
}

/*  ################################################################
   our-service (4-column)
################################################################# */
#our-service.col4 {
  width: 100%;
  background: #efefef;
  padding: 55px 0 40px;
  margin: -30px 0 0;
  position: relative;
}

#our-service.col4 h3 {
  text-align: center;
  margin: 0 0 65px;
}

#our-service.col4 p {
  line-height: 1.8em;
  text-align: center;
  margin: 0 auto;
}

/* wrap */
#our-service.col4 .inner {
  width: 1220px;
  margin: 50px auto 0;
}

#our-service.col4 .inner ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#our-service.col4 .inner .our_service_box {
  position: relative;
  width: 48.5%;
  background-color: #ddd;
  padding: 85px 55px 70px 58px;
  margin: 0 0 35px;
  box-sizing: border-box;
}

/* before box ------------------------------------------+ */
#our-service.col4 .inner .our_service_box .box-before {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  background-color: #fff;
  padding: 0 0 35px;
  margin: auto;
  transform: rotateY(0deg);
  opacity: 1;
  transition-duration: 0.4s;
}

#our-service.col4 .inner .our_service_box .box-before picture {
  display: block;
  max-width: 96%;
  height: auto;
  margin: auto;
}

#our-service.col4 .inner .our_service_box .box-before img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: auto;
  margin: 8px 0 0;
}

#our-service.col4 .inner .our_service_box .box-before h4 {
  position: absolute;
  bottom: 13px;
  font-size: 19px;
  font-weight: bold;
  line-height: 1.2;
  margin: 4px 0;
}

/* hover */
#our-service.col4 .inner .our_service_box.go .box-before {
  transform: rotateY(-180deg);
  opacity: 0;
}

/* after box ------------------------------------------+ */
#our-service.col4 .inner .our_service_box .box-after {
  display: flex;
  flex-direction: column;
  transform: rotateY(-180deg);
  height: 100%;
  opacity: 0;
  transition-duration: 0.4s;
}

#our-service.col4 .inner .our_service_box .box-after p {
  font-size: 16px;
  text-align: left;
  margin: 0 0 30px;
}

#our-service.col4 .inner .our_service_box .box-after a {
  display: block;
  width: 150px;
  height: 40px;
  line-height: 40px;
  border-radius: 40px;
  color: #fff;
  text-align: center;
  background: #f39700;
  padding: 0 20px;
  margin: 0 auto;
}

#our-service.col4 .inner .our_service_box .box-after a:hover {
  color: #f39700;
  background: #fff;
}

#our-service.col4 .inner .our_service_box .box-after .btn_more {
  pointer-events: none;
  margin: auto 0 0 0 !important;
}

/* hover */
#our-service.col4 .inner .our_service_box.go .box-after {
  transform: rotateY(0deg);
  opacity: 1;
}

#our-service.col4 .inner .our_service_box.go .box-after .btn_more {
  pointer-events: initial;
}

/*  ################################################################
   2D illustration
################################################################# */
#illust #main-visual.illust {
  background: url("../images/illust/mainvisual_bg-r2.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

#illust #main-visual.illust .main-txt {
  width: 50%;
  padding: 50px;
  background: rgba(0, 0, 0, 0.5);
}

#illust #main-visual.illust .main-txt .inner {
  width: 100%;
}

#illust #illustration-sample {
  padding: 50px 0;
  margin: 100px 0;
  background: #333;
  color: #fff !important;
}

#illust #illustration-sample h4 {
  text-align: center;
  margin: 15px 0;
  line-height: 1.5;
}

#illust #illustration-sample section {
  width: 1280px;
  margin: 0 auto;
}

#illust #illustration-sample section a {
  width: 280px;
  display: inline-block;
  margin: 17px 17px;
}

#illust #illustration-sample section a img {
  border: 3px solid #333;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
}

#illust #illustration-sample section a img:hover {
  border: 3px solid #f39700;
}

#illust .more-sample a {
  width: 800px;
  padding: 30px 0;
  display: block;
  margin: 60px auto 20px;
  text-align: center;
  font-weight: bold;
  color: #fff;
  font-size: 1.5em;
  background: #cb4647;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  border: 5px solid #cb4647;
}

#illust .more-sample a:hover {
  background: #fff;
  letter-spacing: 3px;
  color: #333;
}

#illust .more-sample a i {
  margin: 0 10px 0 0;
}

#illust.sample #illustration-sample {
  margin: 0 !important;
}

#illust #our-workstitle h3 {
  margin: 0 0 40px 0;
}

/* Why Choose G-angle */
#illust #ct-merit {
  padding: 65px 0 0;
}

#illust #ct-merit ul {
  display: flex;
  justify-content: center;
  font-size: 1em;
  line-height: 1.7;
  text-align: center;
  padding: 20px 0 0;
}

#illust #ct-merit ul li {
  width: 370px;
  margin: 0 35px;
}

#illust #ct-merit ul li h3 {
  font-size: 1.5em;
  letter-spacing: 0.04em;
  margin: 0 0 25px;
  line-height: 1;
}

#illust #ct-merit ul li h2 {
  font-size: 1.2em;
  line-height: 1.45;
  color: #f39700;
  margin: 18px 0 15px;
}

#illust #ct-merit ul li img {
  width: 100%;
  height: auto;
}

/*  ################################################################
   Video
################################################################# */
#video #main-visual.video {
  background: url("../images/video/mainvisual_bg02.jpg") no-repeat;
  background-size: cover;
  background-position: center bottom;
}

/* #video #main-visual .main-txt .inner p {
  width: 790px;
} */
#video #service-type {
  padding: 50px 0;
  margin: 65px 0 0;
  background: #eee;
}

#video #service-type .menu-video {
  width: 1280px;
  margin: 0 auto;
  text-align: center;
}

#video #service-type .menu-video li {
  width: 380px;
  margin: 0 20px 50px;
  display: inline-block;
}

#video #service-type .menu-video li img {
  width: 380px;
  display: block;
  margin: 0 auto;
}

#video #service-type .menu-video p {
  display: block;
  color: #333;
  margin: 15px 0 0 0;
  font-weight: bold;
}

#video #contents-why.video {
  background: #273565;
}

#video #our-strengths .strengths-video {
  padding: 50px 0 60px;
  text-align: center;
  background: #6676ab;
  color: #fff;
  line-height: 1.5;
}

#video #our-strengths .strengths-video ul {
  width: 1280px;
  margin: 50px auto 0;
  text-align: center;
}

#video #our-strengths .strengths-video ul li {
  width: 315px;
  display: inline-block;
}

#video #our-strengths .strengths-video ul li img {
  width: 100px;
  display: block;
  margin: 0 auto;
}

#video #our-strengths .strengths-video ul p {
  width: 70%;
  display: block;
  color: #fff;
  padding: 10px;
  margin: 25px auto 0;
  font-weight: bold;
}

#video #Illustration-video {
  padding: 60px 0;
  margin: 0 0;
  border-bottom: 1px solid #ccc;
}

#video #Illustration-video h3 span {
  display: block;
  font-size: 18px;
  padding: 0 0 5px;
  margin: 15px 0 60px 0;
}

#video #Illustration-video ul {
  width: 1000px;
  margin: 0 auto;
}

#video #Illustration-video ul li {
  display: inline-block;
}

#video #Illustration-video ul li.movie {
  width: 370px;
  margin-right: 30px;
}

#video #Illustration-video ul li.text {
  width: 595px;
  text-align-last: auto;
}

#video #Illustration-video ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

#video #our-workstitle h3 {
  margin: 0 0 40px 0;
}

@media only screen and (max-width: 640px) {
  #video #our-workstitle h3 {
    margin: 0 0 45px 0;
  }
}

/* 230504 edit*/
#main-visual.video .main-txt .inner {
  width: 100%;
}

#video #main-visual.video .main-txt {
  width: 60%;
  padding: 50px;
  background: rgba(0, 0, 0, 0.5);
}

#video #our-service.col4 {
  margin: 45px 0 0;
}

#video #our-service.col4 .inner .our_service_box .box-after {
  min-height: 176px;
}

#video #ct-merit {
  padding: 55px 0 0;
}

#video #ct-merit ul {
  width: 1220px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px 55px;
  font-size: 1em;
  line-height: 1.7;
  text-align: center;
  margin: 40px auto 25px;
}

#video #ct-merit ul li {
  width: 370px;
}

#video #ct-merit ul li h3 {
  font-size: 1.5em;
  margin: 0 0 25px;
  line-height: 1;
}

#video #ct-merit ul li h2 {
  font-size: 1.2em;
  line-height: 1.45;
  color: #f39700;
  margin: 18px 0 15px;
}

#video #ct-merit ul li img {
  width: 100%;
  height: auto;
}

#video .about-text {
  text-align: center;
  line-height: 1.5;
}

/* PC layout media queries  */
@media only screen and (min-width: 641px) {
  #video #ct-merit .adjustment {
    letter-spacing: -0.4px;
  }
}

/* PC layout media queries  */

.other-service {
  width: 100%;
  background: #efefef;
  padding: 55px 0 25px;
  margin: 0 auto;
  position: relative;
}

.other-service ul {
  width: 1220px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  margin: 0 auto;
}

.other-service ul li {
  margin: 0 0 30px;
}

#localize #main-visual.localize {
  background: url("../images/localize/mainvisual-pc.jpg") no-repeat;
  background-size: cover;
  background-position: center bottom;
}

#localize #main-visual.localize .main-txt {
  width: 50%;
  padding: 50px;
  background: rgba(0, 0, 0, 0.5);
}

#localize #main-visual.localize .main-txt .inner {
  width: 100%;
}

#localize #contents-why.localize {
  background: #008b6a;
}

#localize #about-localiz {
  margin: 40px 0 0;
}

#localize #about-localiz section {
  width: 1280px;
  text-align: center;
  margin: 0 auto;
  padding: 0 50px;
  line-height: 1.5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#localize #about-localiz section h3 span {
  display: block;
  font-size: 0.5em;
}

#localize #our-strengths {
  padding: 65px 0;
}

#localize .strengths-localize {
  background: #5bc99b;
  width: 1280px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}

#localize .strengths-localize:nth-of-type(1) {
  margin: 57px auto 0;
}

#localize .strengths-localize h3 {
  font-size: 0.9em;
  font-weight: normal;
  text-align: left;
  margin: 0 0 30px 0;
}

#localize .strengths-localize h3:after {
  display: none;
}

#localize #ct_nav {
  margin: 0;
}

#localize #ct_nav ul {
  display: flex;
  justify-content: center;
}

#localize #ct_nav ul li {
  border-top: 4px solid #333;
  border-left: none;
  transition-duration: 0.3s;
  margin: 0 40px;
}

#localize #ct_nav ul li a {
  display: block;
  width: 230px;
  color: #fff;
  font-size: 1.1em;
  letter-spacing: 0.06em;
  background-color: #008b6a;
  padding: 16px 0 18px;
  text-align: center;
}

#localize #ct_nav ul li a img {
  display: block;
  width: 26%;
  height: auto;
  margin: 0 auto 7px;
}

#localize #ct_nav ul li:hover {
  border-color: #f39700;
}

#localize #ct-merit {
  padding: 70px 0 80px;
}

#localize #ct-merit ul {
  display: flex;
  justify-content: center;
  font-size: 1em;
  line-height: 1.7;
  text-align: center;
  padding: 20px 0 0;
}

#localize #ct-merit ul li {
  width: 370px;
  margin: 0 35px;
}

#localize #ct-merit ul li h3 {
  font-size: 1.5em;
  margin: 0 0 25px;
  line-height: 1;
}

#localize #ct-merit ul li h2 {
  font-size: 1.2em;
  line-height: 1.45;
  color: #f39700;
  margin: 18px 0 15px;
}

#localize #ct-merit ul li img {
  width: 100%;
  height: auto;
}

#localize #ct-faq {
  background: #eee;
  padding: 60px 0 85px;
}

#localize #ct-faq .how-accordion {
  font-size: 1em;
  line-height: 1.6;
}

#localize #ct-faq .how-accordion:nth-of-type(1) {
  border-top: 1px solid #ccc;
  margin: 75px auto 0;
}

#localize #ct-faq .how-link a {
  font-size: 1.2em;
  padding: 30px 0;
  border: none;
}

#localize #ct-faq .how-box {
  padding: 0 38px 10px;
}

/*  ################################################################
  Narration
################################################################# */
/* kv */
#narration #main-visual.narration {
  background: url("../images/narration/mainvisual_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

#narration #main-visual.narration .main-txt {
  width: 60%;
  padding: 30px 50px;
  background: rgba(0, 0, 0, 0.5);
}

#narration #main-visual.narration .main-txt .inner {
  width: 100%;
}

#narration #main-visual.narration p span {
  display: block;
  margin-bottom: 24px;
}

/* btn (Voice Sample) */
#narration .btn_voice-sample {
  width: 100%;
  text-align: center;
  border-bottom: 2px solid #000;
  background: #333;
}

#narration .btn_voice-sample a {
  display: inline-block;
  font-weight: normal;
  color: #fff;
  padding: 24px 0 18px 5px;
  margin: 0 0 0 10px;
}

#narration .btn_voice-sample i {
  font-size: 28px;
  margin: -3px 0 0 12px;
}

#narration .btn_voice-sample a:hover {
  border-color: #f39700;
  color: #f39700;
  background: #000;
  padding: 24px 60px 18px 65px;
}

/* About */
#narration #about-narration {
  margin: 40px 0 -15px;
}

#narration #about-narration section {
  width: 1000px;
  text-align: center;
  margin: 0 auto;
  padding: 0 50px;
  line-height: 1.5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#narration #about-narration section h3 span {
  display: block;
  font-size: 0.5em;
}

/* nav */
#narration #ct_nav {
  position: relative;
  margin: -25px 0 0;
  z-index: 2;
}

#narration #ct_nav ul {
  display: flex;
  justify-content: center;
}

#narration #ct_nav ul li {
  border-top: 4px solid #333;
  border-left: none;
  transition-duration: 0.3s;
  margin: 0 40px;
}

#narration #ct_nav ul li a {
  display: block;
  width: 240px;
  color: #fff;
  font-size: 1.1em;
  letter-spacing: 0.06em;
  background-color: #ec631f;
  padding: 16px 0 18px;
  text-align: center;
  letter-spacing: -0.1px;
}

#narration #ct_nav ul li a img {
  display: block;
  width: 26%;
  height: auto;
  margin: 0 auto 7px;
}

#narration #ct_nav ul li:hover {
  border-color: #f39700;
}

/* contents (wrap) */
#narration #contents-narration {
  width: 100%;
  background: #eee;
  padding: 65px 0;
  margin: 0;
}

#narration #contents-narration section {
  width: 1250px;
  margin: 0 auto;
}

/* studio */
#narration #contents-narration .studio_list {
  margin: 57px 0 60px;
}

#narration #contents-narration .studio_list .box {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background: #f39700;
  margin: 0 0 40px 0;
}

#narration #contents-narration .tmb {
  width: 770px;
}

#narration #contents-narration .tmb img {
  width: 100%;
  height: auto;
  backface-visibility: hidden;
}

#narration #contents-narration .txt {
  width: 480px;
  color: #222;
  line-height: 1.5;
  box-sizing: border-box;
  padding: 0 25px;
}

#narration #contents-narration .txt h2 {
  display: block;
  width: 100%;
  font-size: 1.5em;
  letter-spacing: 0.05em;
  text-align: center;
  border-bottom: 2px solid #eee;
  padding: 0 5px 15px;
  margin: -6px 0 19px;
}

#narration #contents-narration .txt li {
  padding: 0 5px 3px;
}

/* Merit */
#narration #ct-merit {
  padding: 70px 0 40px;
}

#narration #ct-merit ul {
  display: flex;
  justify-content: center;
  font-size: 1em;
  line-height: 1.7;
  text-align: center;
  padding: 20px 0 0;
}

#narration #ct-merit ul li {
  width: 370px;
  margin: 0 35px;
}

#narration #ct-merit ul li h3 {
  font-size: 1.5em;
  letter-spacing: 0.04em;
  margin: 0 0 25px;
  line-height: 1;
}

#narration #ct-merit ul li h2 {
  font-size: 1.2em;
  line-height: 1.45;
  color: #f39700;
  margin: 18px 0 15px;
}

#narration #ct-merit ul li img {
  width: 100%;
  height: auto;
}

/* PAST PROJECT EXAMPLES */
#narration .ex-narration {
  width: 1200px;
  margin: 50px auto 43px;
  background: #fff;
  color: #000;
  border-bottom: 1px solid #ccc;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#narration .ex-narration h2 {
  height: 30px;
  line-height: 30px;
  font-size: 1.4em;
  border-bottom: 1px solid #ccc;
  padding: 0 0 40px 0;
  text-align: center;
}

#narration .ex-narration h2 span {
  display: inline-block;
  background: url("../images/common/icon_sakura_p.png") no-repeat;
  background-size: 30px;
  padding: 0 0 0 45px;
  margin: 0 0 0 -15px;
}

#narration .ex-narration ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 1100px;
  padding: 42px 0 37px;
  margin: 0 auto;
}

#narration .ex-narration ul li {
  font-size: 1.1em;
  line-height: 1.8;
  padding-left: 0;
  text-indent: 0;
}

#narration .ex-narration ul li:nth-child(odd) {
  width: 43%;
  padding: 0 0 10px 14%;
}

#narration .ex-narration ul li:nth-child(even) {
  width: 43%;
  padding: 0 0 11px;
}

#narration .ex-narration ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

/* add 220704*/
.btn-source-connect {
  text-align: center;
}

.btn-source-connect p {
  margin: 20px 0;
  line-height: 1.4;
  font-weight: bold;
}

/*  ################################################################
  Narration > Voice Sample (../narration/voice-sample)
################################################################# */
/* common */
#narration.voice_sample * {
  box-sizing: border-box;
}

/* kv */
#narration.voice_sample #main-visual {
  background: url("../images/narration/mainvisual_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

#narration #main-visual .main-txt {
  width: 50%;
  padding: 50px;
  background: rgba(0, 0, 0, 0.5);
}

#narration #main-visual .main-txt .inner {
  width: 100%;
}

#narration.voice_sample .inner p span {
  display: block;
  margin-bottom: 24px;
}

/* nav -------------------------------------------+ */
#narration.voice_sample .tab_menu ul {
  display: flex;
  width: 1280px;
  margin: 50px auto 0;
}

#narration.voice_sample .tab_menu ul li {
  flex: 1;
  font-size: 1.1em;
  letter-spacing: 0.03em;
  text-align: center;
  background: #333;
  color: #fff;
  border-bottom: 3px solid #ec631f;
  border-top: 4px solid #333;
  transition-duration: 0.3s;
  cursor: pointer;
  padding: 1.8% 0;
  margin: 0 20px;
}

#narration.voice_sample .tab_menu ul li:first-child,
#narration.voice_sample .tab_menu ul li:last-child {
  margin: 0;
}

#narration.voice_sample .tab_menu ul li:hover,
#narration.voice_sample .tab_menu ul li.active {
  background: #ec631f;
  border-top: 4px solid #333;
}

/* list (wrap) -------------------------------------------+ */
@-webkit-keyframes show_box {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

@keyframes show_box {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#narration.voice_sample .list_wrap {
  width: 100%;
  background: #efefef;
  -webkit-animation: show_box 0.6s ease-in;
  animation: show_box 0.6s ease-in;
}

#narration.voice_sample .list_wrap.list_hide {
  display: none;
}

#narration.voice_sample .list_wrap ul {
  display: flex;
  flex-wrap: wrap;
  max-width: 1280px;
  padding: 55px 1.8% 40px;
  margin: 0 auto;
}

/* list */
#narration.voice_sample .list_wrap ul li {
  display: flex;
  flex-direction: column;
  width: 18.8%;
  background: #fff;
  border: 1px solid #eee;
  border-top: 3px solid #ec631f;
  margin: 0 0.6% 1.6%;
}

/* name */
#narration.voice_sample .list_wrap ul li h3 {
  position: inherit;
  font-size: 1em;
  line-height: 1.35;
  padding: 0 0.5em;
  margin: 7% 0 5.4%;
}

#narration.voice_sample .list_wrap ul li h3 span {
  font-size: 0.85em;
}

/* img */
#narration.voice_sample .list_wrap ul li img {
  display: block;
  width: 110px;
  max-width: 90%;
  height: auto;
  margin: 0 auto 8.4%;
}

/* mp3 */
#narration.voice_sample .list_wrap ul li audio {
  display: block;
  width: 90%;
  max-height: 38px;
  font-size: 0.9em;
  margin: 0 auto 10%;
}

#narration.voice_sample .list_wrap ul li audio:first-of-type {
  margin: 0 auto 5%;
}

/* category */
#narration.voice_sample .list_wrap ul li .category {
  font-size: 0.9em;
  line-height: 1.35;
  background: #f1f3f4;
  padding: 5% 8.5% 5.5%;
  font-weight: lighter;
  margin: auto 0 0 0;
}

/* learn more */
#narration.voice_sample .btn-learn_more-contact a {
  margin: 62px auto 100px;
}

/*  ################################################################
  Sound
################################################################# */
#sound #main-visual.sound {
  background: url("../images/sound/mainvisual_bg-r2.jpg") no-repeat;
  background-size: cover;
  background-position: center bottom;
}

#sound #main-visual.sound .main-txt {
  width: 50%;
  padding: 50px;
  background: rgba(0, 0, 0, 0.5);
}

#sound #main-visual.sound .main-txt .inner {
  width: 100%;
}

#sound #about-sound {
  margin: 40px 0 0;
}

#sound #about-sound section {
  width: 1280px;
  text-align: center;
  margin: 0 auto;
  padding: 0 50px;
  line-height: 1.5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#sound #about-sound section h3 span {
  display: block;
  font-size: 0.5em;
}

/* Why Choose G-angle */
#sound #ct-merit {
  padding: 70px 0 55px;
}

#sound #ct-merit ul {
  display: flex;
  justify-content: center;
  font-size: 1em;
  line-height: 1.7;
  text-align: center;
  padding: 20px 0 0;
}

#sound #ct-merit ul li {
  width: 370px;
  margin: 0 35px;
}

#sound #ct-merit ul li h3 {
  font-size: 1.5em;
  letter-spacing: 0.04em;
  margin: 0 0 25px;
  line-height: 1;
}

#sound #ct-merit ul li h2 {
  font-size: 1.2em;
  line-height: 1.45;
  color: #f39700;
  margin: 18px 0 15px;
}

#sound #ct-merit ul li img {
  width: 100%;
  height: auto;
}

#page-3d #main-visual {
  height: 400px;
  background: #333 url("../images/3d/main-visual.jpg") no-repeat;
  background-position: center center;
}

#page-3d #main-visual h1 {
  width: 1240px;
  font-size: 2.6em;
  font-weight: normal;
  text-transform: uppercase;
  color: #fff;
  position: absolute;
  top: 240px;
  left: 0;
  right: 0;
  margin: auto;
  letter-spacing: 0.25em;
  text-shadow: 1px 1px 3px #000;
}

#page-3d #main-contents {
  background: #eee;
  padding: 20px 0 100px;
  margin: 56px 0 0;
}

#page-3d #main-contents h2 {
  margin: 40px 0 25px;
  font-size: 2em;
  font-weight: normal;
  text-align: center;
  text-transform: uppercase;
}

#page-3d #main-contents .box ul li {
  margin-bottom: 20px;
  text-align: center;
}

#page-3d #main-contents .box ul li a {
  margin-right: 20px;
}

#page-3d #main-contents .box ul li a:last-child {
  margin-right: 0;
}

#page-3d #main-contents #modeling,
#page-3d #main-contents #character,
#page-3d #main-contents #mobile-game,
#page-3d #main-contents #viewer-sample {
  margin: 0 auto 100px;
}

#about #main-visual.about {
  background: url("../images/about/mainvisual_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
}

#about #main-visual .main-txt {
  background: rgba(0, 0, 0, 0.7);
}

#about #main-visual .main-txt h1 {
  font-size: 2.5em;
  line-height: 1.3em;
  margin: 0;
  text-shadow: 2px 2px 4px #222;
  text-align: center;
}

#about #main-visual .main-txt p {
  font-size: 1em;
  line-height: 1.5em;
}

#about #our-strengths {
  padding: 50px 0;
}

#about .strengths-about {
  background: #fff;
  width: 1280px;
  height: 400px;
  margin: 0 auto;
  position: relative;
}

#about .strengths-about h3 {
  font-size: 1em;
  font-weight: normal;
  text-align: left;
  margin: 0 0 30px 0;
}

#about .strengths-about h3:after {
  display: none;
}

#about-gangle {
  padding: 50px 0;
  background: #333;
}

#about-gangle section {
  padding: 50px;
  width: 1280px;
  margin: 0 auto;
  background: #fff;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  position: relative;
}

#about-gangle section:before {
  border-bottom: solid 32px transparent;
  border-left: solid 32px #333;
  border-right: solid 32px #333;
  content: " ";
  height: 0;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

#about-gangle section:after {
  content: " ";
  width: 100%;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
  border-top: solid 32px transparent;
  border-left: solid 32px #333;
  border-right: solid 32px #333;
}

#about-gangle *:before,
#about-gangle *:after {
  display: none;
}

#about-gangle h2 {
  text-align: center;
  font-size: 2em;
  margin: 0 0 20px 0;
}

#about-gangle p {
  width: 1000px;
  margin: 0 auto;
  line-height: 1.5;
}

/* add */
#about #main-visual .main-txt .inner {
  width: auto;
}

#about #main-visual .main-txt {
  width: 540px;
  padding: 50px;
  margin: auto;
  background: none;
  color: #fff;
}

#our-production {
  padding: 50px 0;
  background: #ffd187;
  color: #444;
}

#our-production > p {
  text-align: center;
}

#our-production section {
  width: 1280px;
  margin: 0 auto;
  line-height: 1.5;
}

#our-production section li {
  width: 50%;
  height: 320px;
  float: left;
  margin: 20px 0;
  padding: 30px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#our-production section li img {
  margin: 0 auto;
  display: block;
}

#our-production section li p {
  text-align: center;
  margin: 10px 0;
  font-weight: bold;
}

#our-production section li span {
  display: block;
}

#our-production section li a {
  float: right;
  font-weight: bold;
  text-decoration: underline;
  color: #333;
}

#our-production section li a:hover {
  color: #f39700;
}

#our-production:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
  overflow: hidden;
  /* 隙間対応 */
  font-size: 0.1em;
  /* 隙間対応 */
  line-height: 0;
  /* 隙間対応 */
}

/*  h1 */
#privacypolicy h1 {
  margin: 18px 0 50px;
}

.hd_title.hd_title_privacypolicy:after {
  content: "";
  margin: 11px auto 0;
}

#privacypolicy {
  line-height: 1.5;
}

#privacypolicy hr {
  width: 1280px;
  margin: 50px auto;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
}

#privacypolicy .description {
  width: 1280px;
  margin: 0 auto 50px;
  background: #eee;
  padding: 20px;
  text-align: center;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#privacypolicy .description h2 {
  font-size: 2em;
}

#privacypolicy section {
  width: 1280px;
  margin: 20px auto;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#privacypolicy section p {
  font-size: 1.5em;
  margin: 0 0 10px 0;
}

#privacypolicy section ul,
#privacypolicy section ol {
  margin: 0 0 50px 20px;
}

#privacypolicy section li {
  list-style-type: square;
}

#privacypolicy section ol > li {
  list-style-type: decimal;
}

/*  h1 */
/* #company {
  margin: 100px 0;
}

#company h1 {
  margin: 26px 0 55px;
} */

#company table {
  width: 1000px;
  margin: 0 auto;
  line-height: 1.5;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#company table tr {
  border-bottom: 1px solid #ccc;
}

#company table tr th {
  width: 300px;
  padding: 20px;
  text-align: left;
}

#company table tr td {
  width: 300px;
  padding: 20px;
  vertical-align: top;
}

.hd_title.faq {
  margin: 26px 0 50px;
}

/* #faq {
  margin: 0 0;
  background: #EEE;
  line-height: 1.5;
} */

#faq #faq-list {
  width: 1280px;
  padding: 45px 0 40px;
  margin: 0 auto;
}

#faq #faq-list .description {
  text-align: center;
  font-weight: bold;
  margin: 0 0 30px 0;
}

#faq #faq-list hr {
  margin: 50px auto;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #fff;
}

#faq #faq-list .inner {
  width: 94%;
  margin: 0 auto;
}

#faq #faq-list .inner h3 {
  font-size: 1.5em;
  margin: 40px 0 35px;
  padding: 0 0 10px 0;
  text-align: left;
  border-bottom: 1px solid #ccc;
}

#faq #faq-list h3:after {
  display: none;
}

#faq #faq-list .inner ul.how-accordion {
  width: 100%;
  margin-bottom: 30px;
}

#faq #faq-list ul li {
  background: #fff;
  border: none;
  padding: 0px 30px;
  margin: 0 0 30px 0;
  border-radius: 4px;
}

#faq #faq-list ul li a {
  font-size: 1.2em !important;
}

.hd_title.access {
  margin: 26px 0 50px;
}

/* #access {
  background: #EEE;
  padding: 50px 0 100px;
}

#access section {
  width: 1220px;
  margin: 0 auto;
  padding: 80px 0 60px;
  background: #FFF;
} */

/* Google Map */
#access .studio-map {
  width: 1000px;
  margin: 0 auto;
}

/* .map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 34%;
  margin: 14px 0 40px;
} */

.map iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#access .studio-map p {
  line-height: 1.6;
}

/* #access iframe {
  width: 1000px;
  height: 500px;
  display: block;
  margin: 20px auto 100px;
} */
/* #access div {
  width: 1000px;
  margin: 20px auto;
  padding: 30px;
  border: 1px solid #CCC;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
} */
#access table {
  width: 1000px;
  margin: 0 auto;
}

#access table th {
  font-weight: normal;
  padding: 100px 0 10px;
  border-bottom: 1px solid #ccc;
}

#access table th:first-child {
  padding: 30px 0 10px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#access table td {
  padding: 20px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#site-map {
  padding: 0 0 50px 0;
  width: 1280px;
  margin: 0 auto;
}

.sitemap-inner {
  width: 1280px;
  margin: 0 auto;
}

/* contact ============================================= */
#contact {
  padding: 26px 0 120px 0;
}

#contact.under-contact {
  padding: 80px 0 0px 0;
}

#contact * {
  box-sizing: border-box;
}

#contact.under-contact h3 {
  margin: 0 0 65px;
}

/* wrap */
#contact .wrap {
  width: 100%;
  background: url("../images/common/bg-pat_orange.png");
  padding: 40px 0 45px;
}

#contact.under-contact .wrap {
  width: 100%;
  background: #555;
  padding: 40px 0 45px;
}

/* box */
#contact section {
  width: 1220px;
  background: #fff;
  padding: 42px 54px 30px;
  margin: 0 auto;
}

#contact .contact_year_info {
  /* font-size: 1.5em; */
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: red;
  padding: 0 0 30px;
}

#contact .description {
  text-align: center;
  font-weight: bold;
  line-height: 1.65;
  margin: 0 0 47px;
}

/* form  -------------------------------------------+ */
/* reset */
section button,
section textarea,
section input[type="text"],
section input[type="tel"],
section input[type="email"],
section input[type="submit"],
section select {
  margin: 0;
  padding: 0;
  background: #fff;
  border: none;
  border-radius: 0;
  outline: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-family: Century Gothic, Lato, "Noto Sans JP", "游ゴシック Medium",
    "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
    "MS PGothic", sans-serif;
}

/* wrap */
#contact .label-box {
  display: flex;
  margin: 0 0 2px;
}

/* hd area */
.label-box p {
  width: 230px;
  font-size: 17px;
}

.label-box p label {
  display: inline-block;
  padding: 11px 0 0;
}

#contact section .wpcf7 .must {
  display: inline-block;
  color: #f00;
  font-size: 19px;
  vertical-align: text-top;
  margin: 16px 0 0 15px;
}

/* txet, email, tel */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"] {
  width: 880px;
  font-size: 17px;
  padding: 8px 10px 10px;
  border-bottom: 1px solid #d2d2d2;
}

/* textarea */
.wpcf7-form textarea {
  width: 880px;
  max-width: 880px;
  max-height: 128px;
  font-size: 17px;
  padding: 0 10px 15px;
  border-bottom: 1px solid #d2d2d2;
  margin: 10px 0 0;
}

#contact.under-contact .wpcf7-form textarea {
  width: 880px;
  max-width: 880px;
  max-height: 96px;
  font-size: 17px;
  padding: 0 10px 15px;
  border-bottom: 1px solid #d2d2d2;
  margin: 11px 0 0;
}

/* placeholder */
.wpcf7 :-ms-input-placeholder {
  color: #ccc;
  font-weight: normal;
}

.wpcf7 ::-moz-placeholder {
  color: #ccc;
  font-weight: normal;
}

.wpcf7 ::-webkit-input-placeholder {
  color: #ccc;
  font-weight: normal;
}

/* validate */
.wpcf7 span.wpcf7-not-valid-tip {
  font-size: 14px;
  color: #f00;
  padding: 15px 0 0 10px;
}

/* checkbox (confirm) */
#confirm-check {
  width: 94%;
  max-width: 500px;
  text-align: center;
  font-size: 17px;
  vertical-align: text-top;
  border: 1px solid #f39700;
  padding: 17px 0 20px;
  margin: 37px auto;
}

#confirm-check .must {
  display: inline-block;
  color: #f00;
  font-size: 19px;
  vertical-align: text-top;
  margin: 3px 15px 0 10px !important;
}

#confirm-check input[type="checkbox"] {
  display: none;
}

#confirm-check label {
  position: relative;
  cursor: pointer;
  margin: 0 0 0 -8px;
}

#confirm-check label::after {
  position: absolute;
  top: 0;
  right: -35px;
  bottom: 0;
  margin: auto;
  content: "";
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 1px solid #d2d2d2;
  transition-duration: 0.3s;
}

#confirm-check label:hover::after {
  border-color: #f39700;
}

#confirm-check label::before {
  position: absolute;
  top: 0;
  right: -32px;
  bottom: 0;
  margin: auto;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
  content: "\f00c";
  font-size: 14px;
  color: #fff;
  line-height: 30px;
  display: inline-block;
  width: 28px;
  height: 28px;
  background: #fff;
  transform: scale(0);
  transition-duration: 0.3s;
}

#confirm-check label.checked::before {
  transform: scale(1);
  background: #f39700;
}

#confirm-check label.checked::after {
  border-color: #f39700;
}

/* submit */
#contact section input[type="submit"] {
  width: 280px;
  font-size: 18px;
  color: #fff;
  text-align: center;
  display: block;
  background: #f39700;
  padding: 18px 0 16px;
  margin: 0 auto 25px;
  transition-duration: 0.3s;
  cursor: pointer;
}

#contact section input[type="submit"]:hover {
  width: 320px;
  opacity: 0.8;
}

/* ajax-loader */
div.wpcf7 .ajax-loader {
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  margin: -15px auto 0;
}

/* response */
.wpcf7 .wpcf7-response-output {
  font-size: 17px;
  text-align: center;
  padding: 25px 0 23px;
  margin: 40px 0 30px;
}

/* add question */
.wpcf7-form .long-txt {
  letter-spacing: -0.04em;
}

span.background .wpcf7-checkbox {
  display: flex;
}

span.background .wpcf7-checkbox .wpcf7-list-item label {
  display: flex;
}

span.background .wpcf7-list-item-label {
  white-space: nowrap;
}

/* Thanks -------------------------------------------+ */
#thanks {
  margin: -50px 0 0 0;
  background: #eee;
  padding: 50px 0;
}

#thanks section {
  width: 1280px;
  margin: 0 auto;
  background: #fff;
  padding: 20px;
  line-height: 1.5em;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#thanks section span {
  color: #f00;
  display: inline-block;
  margin: 20px 0 0 0;
  font-size: 0.85em;
}

#thanks h2 {
  font-size: 2em;
  margin: 10px 0 20px;
}

#thanks a {
  width: 300px;
  font-size: 1em;
  display: block;
  margin: 30px auto 0;
  color: #fff;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  -webkit-transition: 0.5s;
  -moz-transition: 0.5s;
  -ms-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s;
  background: #ee505d;
  text-align: center;
  padding: 20px 0;
}

#thanks a:hover {
  background: #f7969e;
}

/* SP layout media queries --------------------------------------------------------------------------------------------------------------------------------------+ */
@media only screen and (max-width: 640px) {
  #top-main {
    height: auto;
    overflow: initial;
    background: #333;
  }

  #top-main .video-bg video {
    min-width: initial;
    position: initial;
    opacity: initial;
  }

  #top-main .detail-box {
    height: auto;
    position: initial;
  }

  #top-main .detail-box .inner-wrap {
    position: initial;
    padding: 25px 30px 35px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #top-main .detail-box .inner-wrap .inner {
    width: 100%;
  }

  #top-main .detail-box .inner-wrap .inner h1 {
    margin-bottom: 18px;
    text-align: center;
    color: #f49700;
    font-size: 1.7em;
    line-height: 1.4em;
  }

  #top-main .detail-box .inner-wrap .inner h2 {
    margin: 0;
    font-size: 0.9em;
    line-height: 1.6em;
    text-align: center;
    display: block;
  }

  #main-visual.top {
    background-position: right bottom;
    padding: 30px 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #main-visual.top .main-txt {
    padding: 15px;
    background: rgba(255, 255, 255, 0.5);
    color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #main-visual.top .main-txt h1 {
    font-size: 2em;
    margin: 0 0 20px 0;
  }

  #main-visual.top .main-txt h2 {
    font-size: 1em;
  }

  .year_info p {
    font-size: 1em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    background: #fa842c;
    color: #000;
    padding: 30px 0;
  }

  .who-we-are {
    background: #222;
    color: #fff;
    height: auto;
    padding: 33px 0 45px;
  }

  .who-we-are .txtBox {
    width: 100%;
    line-height: 1.2;
    margin: 0 auto;
    position: static;
    bottom: 0;
    -webkit-transform: none;
    transform: none;
  }

  .who-we-are .txtBox p {
    font-size: 0.85em;
    width: 100%;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 20px;
    color: #fff;
    margin: 0 0;
  }

  /*  ################################################################
    our-service (flex-wrap: nowrap;)
  ################################################################# */
  #our-service {
    position: relative;
    width: 100%;
    margin: 0 0;
    background: #efefef;
    padding: 40px 0 15px;
    margin: 0;
  }

  #our-service p {
    padding: 12px 25px 0;
  }

  /* wrap */
  #our-service .inner {
    width: 100%;
    margin: 30px auto 0;
  }

  #our-service .inner ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  #our-service .inner .our_service_box {
    position: relative;
    width: 90%;
    background-color: #ddd;
    padding: 15px 0 40px;
    margin: 0 0 25px;
    box-sizing: border-box;
  }

  /* before box ------------------------------------------+ */
  #our-service .inner .our_service_box .box-before {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    align-items: center;
    width: 100%;
    background-color: #fff;
    margin: auto;
    transform: rotateY(0deg);
    opacity: 1;
    transition-duration: 0.4s;
  }

  #our-service .inner .our_service_box .box-before img {
    display: block;
    margin: -30px auto 10px;
  }

  #our-service .inner .our_service_box .box-before p {
    font-size: 17px;
    font-weight: bold;
    margin: 0 auto;
  }

  /* hover */
  #our-service .inner .our_service_box.go .box-before {
    transform: rotateY(-180deg);
    opacity: 0;
  }

  /* after box ------------------------------------------+ */
  #our-service .inner .our_service_box .box-after {
    display: block;
    height: auto;
    transform: rotateY(-180deg);
    opacity: 0;
    transition-duration: 0.4s;
  }

  #our-service .inner .our_service_box .box-after p {
    font-size: 16px;
    text-align: left;
    margin: 0;
  }

  #our-service .inner .our_service_box .box-after a {
    display: block;
    width: 150px;
    height: 40px;
    line-height: 40px;
    border-radius: 40px;
    color: #fff;
    text-align: center;
    background: #f39700;
    padding: 0 20px;
    margin: 15px auto 0;
  }

  #our-service .inner .our_service_box .box-after a:hover {
    color: #f39700;
    background: #fff;
  }

  #our-service .inner .our_service_box .box-after .btn_more {
    margin: auto 0 0 0 !important;
    pointer-events: none;
  }

  /* hover */
  #our-service .inner .our_service_box.go .box-after {
    transform: rotateY(0deg);
    opacity: 1;
  }

  #our-service .inner .our_service_box.go .box-after .btn_more {
    display: block;
    pointer-events: initial;
  }

  /*  ################################################################
     our-service (4-column)
  ################################################################# */

  /*  ################################################################
     our-service (3-column)
  ################################################################# */
  #our-service.col3,
  #our-service.col4 {
    width: 100%;
    margin: 0 0;
    background: #efefef;
    padding: 40px 0 30px;
    margin: 0;
  }

  #our-service.col3 h3,
  #our-service.col4 h3 {
    text-align: center;
    margin: 0 0 50px;
  }

  #our-service.col3 p,
  #our-service.col4 p {
    padding: 0 30px 10px;
  }

  /* wrap */
  #our-service.col3 .inner,
  #our-service.col4 .inner {
    width: 100%;
    margin: 0 auto;
  }

  #our-service.col3 .inner ul,
  #our-service.col4 .inner ul {
    display: block;
  }

  #our-service.col3 .inner .our_service_box,
  #our-service.col4 .inner .our_service_box {
    overflow: hidden;
    width: 90%;
    background-color: #ddd;
    padding: 0;
    margin: 0 auto 30px;
    box-sizing: border-box;
  }

  /* before box ------------------------------------------+ */
  #our-service.col3 .inner .our_service_box .box-before,
  #our-service.col4 .inner .our_service_box .box-before {
    bottom: inherit;
    display: block;
    width: 100%;
    height: 100%;
    background-color: #fff;
    margin: auto;
    transform: rotateY(0deg);
    opacity: 1;
    transition-duration: 0.4s;
  }

  #our-service.col3 .inner .our_service_box .box-before img,
  #our-service.col4 .inner .our_service_box .box-before img {
    display: block;
    width: 88%;
    max-width: 88%;
    height: auto;
    margin: 7% auto 5%;
  }

  #our-service.col3 .inner .our_service_box .box-before h4,
  #our-service.col4 .inner .our_service_box .box-before h4 {
    position: initial;
    display: block;
    font-size: 17px;
    font-weight: bold;
    margin: 0 auto;
  }

  /* hover */
  #our-service.col3 .inner .our_service_box.go .box-before,
  #our-service.col4 .inner .our_service_box.go .box-before {
    transform: rotateY(-180deg);
    opacity: 0;
  }

  /* after box ------------------------------------------+ */
  #our-service.col3 .inner .our_service_box .box-after,
  #our-service.col4 .inner .our_service_box .box-after {
    display: flex;
    align-items: center;
    flex-direction: column;
    min-height: 80vw;
    transform: rotateY(-180deg);
    opacity: 0;
    transition-duration: 0.4s;
  }

  #our-service.col3 .inner .our_service_box .box-after p,
  #our-service.col4 .inner .our_service_box .box-after p {
    font-size: 16px;
    text-align: left;
    margin: auto;
    padding-top: 8px;
  }

  #our-service.col3 .inner .our_service_box .box-after a,
  #our-service.col4 .inner .our_service_box .box-after a {
    display: block;
    width: 150px;
    height: 40px;
    line-height: 40px;
    border-radius: 40px;
    color: #fff;
    text-align: center;
    background: #f39700;
    padding: 0 20px;
    margin: 15px auto 0;
  }

  #our-service.col3 .inner .our_service_box .box-after a:hover,
  #our-service.col4 .inner .our_service_box .box-after a:hover {
    color: #f39700;
    background: #fff;
  }

  #our-service.col3 .inner .our_service_box .box-after .btn_more,
  #our-service.col4 .inner .our_service_box .box-after .btn_more {
    margin: auto 0 0 0 !important;
    pointer-events: none;
  }

  /* hover */
  #our-service.col3 .inner .our_service_box.go .box-after,
  #our-service.col4 .inner .our_service_box.go .box-after {
    transform: rotateY(0deg);
    opacity: 1;
  }

  #our-service.col3 .inner .our_service_box.go .box-after .btn_more,
  #our-service.col4 .inner .our_service_box.go .box-after .btn_more {
    display: block;
    pointer-events: initial;
  }

  /*  ################################################################
  2D illustration（sp）
################################################################# */
  #illust #main-visual.illust .main-txt {
    width: 100%;
    /* padding: 20px 10px; */
    padding: 30px 10px 45px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #illust #illustration-sample {
    padding: 50px 0;
    margin: 50px 0 !important;
    background: #333;
    color: #fff !important;
  }

  #illust #illustration-sample h4 {
    text-align: center;
    margin: 15px 0;
    line-height: 1.5;
  }

  #illust #illustration-sample section {
    width: 100%;
    text-align: center;
    margin: 0 0 0 -3px;
  }

  #illust #illustration-sample section a {
    width: 45%;
    text-align: center;
    margin: 10px 5px;
  }

  #illust #illustration-sample section a img {
    border: 3px solid #333;
    width: 100%;
  }

  #illust .more-sample a {
    width: 90%;
    padding: 20px 0;
    margin: 30px auto 10px;
    font-size: 1em;
    -webkit-border-radius: 3px;
    -moz-border-radius: 3px;
    -ms-border-radius: 3px;
    -o-border-radius: 3px;
    border-radius: 3px;
  }

  /* Why Choose G-angle */
  #illust #ct-merit {
    padding: 50px 0 0;
  }

  #illust #ct-merit ul {
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
    padding: 20px 0 0;
  }

  #illust #ct-merit ul li {
    width: 90%;
    margin: 0 auto 40px;
  }

  #illust #ct-merit ul li h3 {
    font-size: 1.3em;
    margin: 0 0 25px;
    line-height: 1;
  }

  #illust #ct-merit ul li h2 {
    font-size: 1.1em;
    line-height: 1.45;
    color: #f39700;
    margin: 15px 0 12px;
  }

  #illust #ct-merit ul li img {
    width: 100%;
    height: auto;
  }

  /* Type of Illustration SP用高さ微調整 */
  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_01 {
    min-height: 86.5vw;
  }

  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_02 {
    min-height: 89vw;
  }

  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_03 {
    min-height: 89vw;
  }

  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_04 {
    min-height: 79vw;
  }

  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_05 {
    min-height: 71.5vw;
  }

  #our-service.col3 .inner .our_service_box .box-after.type_of_illust_06 {
    min-height: 81.5vw;
  }

  /*  ################################################################
  Video（sp）
################################################################# */
  #video #main-visual {
    margin: 0 0 50px 0;
  }

  #video #main-visual .main-txt .inner p {
    width: 100%;
  }

  #video #service-type .menu-video {
    width: 100%;
  }

  #video #service-type .menu-video li {
    width: 45%;
    margin: 10px 5px;
    line-height: 1.5;
    display: inline-block;
  }

  #video #service-type .menu-video li img {
    width: 100%;
    display: block;
    margin: 0 auto;
  }

  #video #service-type .menu-video p {
    font-weight: normal;
    font-size: 0.75em;
  }

  #video #our-strengths .strengths-video {
    margin: 0 0 50px 0;
    padding: 30px 0;
    line-height: 1.2;
    font-size: 0.85em;
  }

  #video #our-strengths .strengths-video ul {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }

  #video #our-strengths .strengths-video ul li {
    width: 22%;
    margin: 30px 0px 0;
    display: inline-block;
  }

  #video #our-strengths .strengths-video ul li img {
    width: 80%;
  }

  #video #our-strengths .strengths-video ul p {
    display: none;
  }

  #video #Illustration-video {
    padding: 0 0 40px;
    margin: 0 0 45px;
  }

  #video #Illustration-video h3 span {
    display: block;
    font-size: 18px;
    padding: 0 0 3px;
    margin: 14px 0 0 0;
  }

  #video #Illustration-video ul {
    width: 100%;
  }

  #video #Illustration-video ul li {
    margin: 0 auto;
    display: block;
  }

  #video #Illustration-video ul li.movie {
    width: 80%;
  }

  #video #Illustration-video ul li.movie img {
    width: 100%;
    margin: 15px 0 12px;
  }

  #video #Illustration-video ul li.text {
    width: 90%;
    margin-top: 15px;
  }

  /* 230526 Edit */
  #video #main-visual.video .main-txt {
    width: 100%;
    padding: 30px 0;
    margin: 0 auto;
  }

  #video #our-service.col4 .inner .our_service_box .box-after p {
    min-height: 310px;
    height: 100%;
  }

  #video .about-text {
    width: 90%;
    margin: 40px auto 0;
  }

  #video #ct-merit ul li {
    width: 90%;
    margin: 0 auto 40px;
  }

  #video #ct-merit ul {
    width: 100%;
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
  }

  #video .other-service ul {
    width: 100%;
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
    padding: 20px 0 0;
  }

  #video #our-service.col4 .inner .our_service_box .box-after {
    min-height: 80vw;
  }

  #localize #main-visual.localize {
    background: url("../images/localize/mainvisual-sp.jpg") no-repeat;
    background-size: cover;
    background-position: center bottom;
  }

  #localize #main-visual.localize .main-txt {
    width: 100%;
    padding: 20px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #localize #about-localiz {
    margin: 20px 0 -10px;
  }

  #localize #about-localiz section {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin: 0 auto;
    padding: 20px 10px;
    line-height: 1.7;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0.85em;
  }

  #localize #about-localiz section h3 {
    font-size: 1.6em;
    padding: 0;
  }

  #localize #our-strengths {
    padding: 40px 0;
  }

  #localize #our-strengths img {
    display: none;
  }

  #localize #our-strengths .strengths-localize:nth-child(2) {
    background: url("../images/localize/product_translation.jpg") center top;
    margin: 38px 0 0;
  }

  #localize #our-strengths .strengths-localize:nth-child(3) {
    background: url("../images/localize/product_adaptation.jpg") center top;
  }

  #localize #our-strengths .strengths-localize:nth-child(4) {
    background: url("../images/localize/product_casting.jpg") right top;
  }

  #localize #our-strengths .strengths-localize:nth-child(5) {
    background: url("../images/localize/product_recording.jpg") left top;
  }

  #localize #our-strengths .strengths-localize:nth-child(6) {
    background: url("../images/localize/product_debugging.jpg") left top;
  }

  #localize #our-strengths section.strengths-localize {
    width: 100%;
    margin: 10px 0;
    height: auto;
    background-repeat: no-repeat !important;
  }

  #localize #our-strengths section.strengths-localize .stage .txt {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
  }

  #localize #our-strengths section.strengths-localize h3 {
    display: none;
  }

  #localize #ct_nav {
    margin: 0 0 55px;
  }

  #localize #ct_nav ul {
    display: block;
  }

  #localize #ct_nav ul li {
    border-top: none;
    border-left: 2px solid #333;
    transition-duration: 0.3s;
    margin: 15px 20px;
  }

  #localize #ct_nav ul li a {
    display: block;
    width: 100%;
    color: #fff;
    font-size: 1.1em;
    letter-spacing: 0.06em;
    background-color: #008b6a;
    padding: 10px 0;
    text-align: left;
  }

  #localize #ct_nav ul li a img {
    display: inline-block;
    width: 18%;
    height: auto;
    margin: 0 14px;
  }

  #localize #ct_nav ul li:hover {
    border-color: #f39700;
  }

  #localize #ct-merit {
    padding: 50px 0 10px;
  }

  #localize #ct-merit ul {
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
    padding: 20px 0 0;
  }

  #localize #ct-merit ul li {
    width: 90%;
    margin: 0 auto 40px;
  }

  #localize #ct-merit ul li h3 {
    font-size: 1.3em;
    margin: 0 0 25px;
    line-height: 1;
  }

  #localize #ct-merit ul li h2 {
    font-size: 1.1em;
    line-height: 1.45;
    color: #f39700;
    margin: 15px 0 12px;
  }

  #localize #ct-merit ul li img {
    width: 100%;
    height: auto;
  }

  #localize #ct-faq {
    background: #eee;
    padding: 45px 0;
  }

  #localize #ct-faq .how-accordion {
    font-size: 1em;
    line-height: 1.6;
  }

  #localize #ct-faq .how-accordion:nth-of-type(1) {
    border-top: 1px solid #ccc;
    margin: 40px auto 0;
  }

  #localize #ct-faq .how-link a {
    font-size: 1.2em;
    padding: 25px 0;
    border: none;
  }

  #localize #ct-faq .how-box {
    padding: 0;
  }

  /*  ################################################################
  Narration（sp）
################################################################# */
  /* kv */
  #narration #main-visual.narration .main-txt {
    width: 100%;
    padding: 20px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  /* btn (Voice Sample) */
  #narration .btn_voice-sample {
    width: 100%;
    text-align: center;
    border-bottom: 2px solid #000;
    background: #333;
  }

  #narration .btn_voice-sample a {
    display: block;
    font-weight: normal;
    color: #fff;
    padding: 22px 0 16px 15px;
    margin: 0;
  }

  #narration .btn_voice-sample i {
    font-size: 28px;
    margin: -3px 0 0 15px;
  }

  #narration .btn_voice-sample a:hover {
    border-color: #f39700;
    color: #f39700;
    background: #000;
    padding: 22px 0 16px 15px;
  }

  /* About */
  #narration #about-narration {
    margin: 20px 0 -10px;
  }

  #narration #about-narration section {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin: 0 auto;
    padding: 20px 10px;
    line-height: 1.7;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0.85em;
  }

  #narration #about-narration section h3 {
    font-size: 1.6em;
    padding: 0;
  }

  /* nav */
  #narration #ct_nav {
    position: relative;
    margin: -15px 0 60px;
    z-index: 2;
  }

  #narration #ct_nav ul {
    display: block;
  }

  #narration #ct_nav ul li {
    border-top: none;
    border-left: 2px solid #333;
    transition-duration: 0.3s;
    margin: 15px 20px;
  }

  #narration #ct_nav ul li a {
    display: block;
    width: 100%;
    color: #fff;
    font-size: 1.1em;
    letter-spacing: 0.06em;
    background-color: #ec631f;
    padding: 10px 0;
    text-align: left;
  }

  #narration #ct_nav ul li a img {
    display: inline-block;
    width: 18%;
    height: auto;
    margin: 0 14px;
  }

  #narration #ct_nav ul li:hover {
    border-color: #f39700;
  }

  /* contents (wrap) */
  #narration #contents-narration {
    padding: 30px 0 5px;
    margin: 0;
  }

  #narration #contents-narration section {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* studio */
  #narration #contents-narration .studio_list {
    margin: 40px 0 40px;
  }

  #narration #contents-narration .studio_list .box {
    margin: 0 0 28px 0;
  }

  #narration #contents-narration .tmb {
    width: 100%;
  }

  #narration #contents-narration .txt {
    width: 100%;
    font-size: 0.85em;
    padding: 0 10px 18px;
  }

  #narration #contents-narration .txt h2 {
    display: block;
    width: 100%;
    font-size: 1.48em;
    border-bottom: 1px solid #eee;
    padding: 0 0 12px;
    margin: 14px 0 17px;
  }

  #narration #contents-narration .txt li {
    padding: 0 10px 5px;
  }

  /* Merit */
  #narration #ct-merit {
    padding: 50px 0 20px;
  }

  #narration #ct-merit ul {
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
    padding: 20px 0 0;
  }

  #narration #ct-merit ul li {
    width: 90%;
    margin: 0 auto 40px;
  }

  #narration #ct-merit ul li h3 {
    font-size: 1.3em;
    margin: 0 0 25px;
    line-height: 1;
  }

  #narration #ct-merit ul li h2 {
    font-size: 1.1em;
    line-height: 1.45;
    color: #f39700;
    margin: 15px 0 12px;
  }

  #narration #ct-merit ul li img {
    width: 100%;
    height: auto;
  }

  /* PAST PROJECT EXAMPLES */
  #narration .ex-narration {
    width: 90%;
    margin: 0 auto 45px;
  }

  #narration .ex-narration h2 {
    height: auto;
    font-size: 1.1em;
    padding: 0 0 20px;
  }

  #narration .ex-narration h2 span {
    display: inline-block;
    background: url("../images/common/icon_sakura_p.png") no-repeat;
    background-size: 26px;
    padding: 0 0 0 40px;
    margin: 0 0 0 -5px;
  }

  #narration .ex-narration ul {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
    font-size: 0.85em;
    padding: 21px 0 15px;
  }

  #narration .ex-narration ul li {
    width: 100%;
    padding-left: 1em;
    text-indent: -1em;
  }

  #narration .ex-narration ul li:nth-child(odd),
  #narration .ex-narration ul li:nth-child(even) {
    width: 100%;
    padding: 0 0 10px 1em;
  }

  /*  ################################################################
  Narration > Voice Sample (../narration/voice-sample)（sp）
################################################################# */
  /* kv */
  #narration.voice_sample #main-visual .main-txt {
    width: 100%;
    padding: 20px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  /* nav -------------------------------------------+ */
  #narration.voice_sample .tab_menu ul {
    display: flex;
    width: 92%;
    margin: 52px auto 0;
  }

  #narration.voice_sample .tab_menu ul li {
    font-size: 1em;
    line-height: 1.4;
    letter-spacing: inherit;
    padding: 2% 0 2.6%;
    margin: 0 12px;
  }

  #narration.voice_sample .tab_menu ul li:first-child,
  #narration.voice_sample .tab_menu ul li:last-child {
    margin: 0;
  }

  #narration.voice_sample .tab_menu ul li:hover,
  #narration.voice_sample .tab_menu ul li.active {
    background: #ec631f;
    border-top: 4px solid #333;
  }

  /* list (wrap) -------------------------------------------+ */
  #narration.voice_sample .list_wrap ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 100%;
    padding: 30px 2% 40px;
    margin: 0 auto;
  }

  /* list */
  #narration.voice_sample .list_wrap ul li {
    width: 98%;
    margin: 0 1% 5%;
  }

  /* name */
  #narration.voice_sample .list_wrap ul li h3 {
    font-size: 1.2em;
  }

  /* img */
  #narration.voice_sample .list_wrap ul li img {
    display: block;
    width: 80%;
    max-width: 220px;
  }

  /* mp3 */
  #narration.voice_sample .list_wrap ul li audio {
    max-height: 50px;
    margin: 0 auto 10%;
  }

  #narration.voice_sample .list_wrap ul li audio:first-of-type {
    margin: 0 auto 7%;
  }

  /* category */
  #narration.voice_sample .list_wrap ul li .category {
    font-size: 1em;
    line-height: 1.35;
    background: #f1f3f4;
    padding: 6% 8.5% 6.5%;
    font-weight: lighter;
    margin: auto 0 0 0;
  }

  /* learn more */
  #narration.voice_sample .btn-learn_more-contact a {
    margin: 54px auto 62px;
  }

  /*  ################################################################
  Sound
################################################################# */
  #sound #main-visual.sound .main-txt {
    width: 100%;
    padding: 20px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #sound #about-sound {
    margin: 20px 0 -10px;
  }

  #sound #about-sound section {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
    margin: 0 auto;
    padding: 20px 10px;
    line-height: 1.7;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 0.85em;
  }

  #sound #about-sound section h3 {
    font-size: 1.6em;
    padding: 0;
  }

  #sound #about-sound br {
    display: none;
  }

  /* Why Choose G-angle */
  #sound #ct-merit {
    padding: 50px 0 10px;
  }

  #sound #ct-merit ul {
    display: block;
    font-size: 1em;
    line-height: 1.7;
    text-align: center;
    padding: 20px 0 0;
  }

  #sound #ct-merit ul li {
    width: 90%;
    margin: 0 auto 40px;
  }

  #sound #ct-merit ul li h3 {
    font-size: 1.3em;
    margin: 0 0 25px;
    line-height: 1;
  }

  #sound #ct-merit ul li h2 {
    font-size: 1.1em;
    line-height: 1.45;
    color: #f39700;
    margin: 15px 0 12px;
  }

  #sound #ct-merit ul li img {
    width: 100%;
    height: auto;
  }

  #page-3d #main-visual {
    width: 100%;
    height: 100px;
    background-size: cover;
    background-position-x: -78px;
  }

  #page-3d #main-visual h1 {
    width: 100%;
    margin: 0;
    padding-left: 10px;
    top: inherit;
    left: 0;
    bottom: 10px;
    font-size: 2em;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #page-3d #main-contents {
    padding: 20px 10px 100px;
    margin: 54px 0 0;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #page-3d #main-contents h2 {
    margin: 20px 0 10px;
    font-size: 1.7em;
  }

  #page-3d #main-contents .box ul li {
    margin-bottom: 0;
  }

  #page-3d #main-contents .box ul li a {
    margin-right: 2%;
  }

  #page-3d #main-contents .box ul li img {
    margin-bottom: 2%;
  }

  #page-3d #main-contents #modeling,
  #page-3d #main-contents #character,
  #page-3d #main-contents #mobile-game,
  #page-3d #main-contents #viewer-sample {
    margin-bottom: 50px;
  }

  #page-3d #main-contents #modeling .box ul li:first-child img {
    width: 32%;
  }

  #page-3d #main-contents #modeling .box ul li:nth-child(2) img {
    width: 49%;
  }

  #page-3d #main-contents #modeling .box ul li:nth-child(3) a:nth-child(2) {
    margin-right: 0;
  }

  #page-3d #main-contents #modeling .box ul li:nth-child(3) img {
    width: 49%;
  }

  #page-3d #main-contents #character .box ul li a:nth-child(2) {
    margin-right: 0;
  }

  #page-3d #main-contents #character .box ul li img {
    width: 49%;
  }

  #page-3d #main-contents #mobile-game .box ul li img {
    width: 32%;
  }

  #page-3d #main-contents #mobile-game-animation .box ul li img {
    width: 100%;
  }

  #page-3d #main-contents #viewer-sample .box ul li iframe {
    width: 100%;
    margin-bottom: 2%;
  }

  #page-3d #main-contents #three-view-drawing .box ul li:first-child img {
    width: 32%;
  }

  #page-3d #main-contents #three-view-drawing .box ul li:nth-child(2) img {
    width: 49%;
  }

  #about #main-visual.about .main-txt {
    padding: 15px;
    color: #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #about #main-visual.about .main-txt h1 {
    font-size: 1.8em;
    margin: 0 0 20px 0;
  }

  #about #main-visual.about .main-txt p {
    font-size: 1em;
  }

  #about #our-strengths {
    padding: 50px 0;
  }

  #about #our-strengths img {
    display: none;
  }

  #about #our-strengths .strengths-about:nth-child(1) {
    background: url("../images/about/about_01.jpg") center top;
  }

  #about #our-strengths .strengths-about:nth-child(2) {
    background: url("../images/about/about_02.jpg") center top;
  }

  #about #our-strengths .strengths-about:nth-child(3) {
    background: url("../images/about/about_03.jpg") center top;
  }

  #about #our-strengths section.strengths-about {
    width: 100%;
    margin: 10px 0;
    height: auto;
    background-repeat: no-repeat !important;
  }

  #about #our-strengths section.strengths-about .stage .txt {
    background: rgba(0, 0, 0, 0.5);
    color: #fff;
  }

  #about #our-strengths section.strengths-about h3 {
    display: none;
  }

  #about #about-gangle {
    padding: 50px 0;
    background: #333;
  }

  #about #about-gangle section {
    padding: 20px 15px;
    width: 100%;
  }

  #about #about-gangle section:before,
  #about #about-gangle section:after {
    display: none;
  }

  #about #about-gangle h2 {
    text-align: center;
    font-size: 2em;
    margin: 0 0 20px 0;
  }

  #about #about-gangle p {
    width: 100%;
    margin: 0 auto;
    line-height: 1.2;
  }

  #about #our-production > p {
    width: 95%;
    margin: 20px auto;
  }

  #about #our-production section {
    width: 100%;
  }

  #about #our-production section li {
    width: 95%;
    height: 100%;
    padding: 20px 15px;
    float: none;
    margin: 10px auto 20px;
    border: 1px solid #c58114;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #about #our-production section li a {
    width: 70%;
    float: none;
    display: block;
    margin: 20px auto 0;
    text-decoration: none;
    background: #333;
    color: #fff;
    text-align: center;
    padding: 10px 0;
  }

  /* add */
  #about #main-visual .main-txt .inner {
    width: 100%;
  }

  #about #main-visual .main-txt {
    width: 100%;
  }

  /*  h1 */
  #privacypolicy h1 {
    margin: 17px 0 32px;
  }

  .hd_title.hd_title_privacypolicy:after {
    content: "";
    margin: 6px auto 0;
  }

  #privacypolicy hr {
    width: 98%;
    margin: 0 auto;
  }

  #privacypolicy .description {
    width: 100%;
  }

  #privacypolicy .description h2 {
    font-size: 1.5em;
  }

  #privacypolicy .description p {
    font-size: 0.85em;
  }

  #privacypolicy section {
    width: 100%;
    padding: 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #privacypolicy section ul,
  #privacypolicy section ol {
    margin: 0 0 20px 20px;
  }

  #privacypolicy section p {
    font-size: 1.2em;
  }

  #privacypolicy section li {
    font-size: 0.85em;
    margin: 0 0 10px 0;
  }

  /*  h1 */
  #company h1 {
    margin: 20px 0 32px;
  }

  #company table {
    width: 95%;
    margin: 0 auto 50px;
    border: 1px solid #dcdcdc;
    font-size: 0.85em;
  }

  #company table tr {
    border: none;
  }

  #company table tr th,
  #company table tr td {
    width: 100%;
    display: block;
    padding: 15px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #company table tr th {
    background: #eee;
    padding: 10px;
  }

  .hd_title.faq {
    margin: 20px 0 32px;
  }

  #faq {
    padding: 0 0;
    margin: 0 0;
    background: #eee;
  }

  #faq #faq-list {
    width: 100%;
    padding: 36px 0 25px;
    margin: 0 auto;
  }

  #faq #faq-list .description {
    text-align: center;
    font-weight: bold;
    margin: 0 0 -15px;
  }

  #faq #faq-list .inner {
    width: 90%;
  }

  #faq #faq-list h3 {
    text-align: center;
  }

  #faq #faq-list .inner h3 {
    font-size: 1.2em;
  }

  #faq #faq-list .inner ul.how-accordion {
    width: 100%;
  }

  #faq #faq-list ul li {
    padding: 10px;
  }

  #faq #faq-list ul li .st-content {
    line-height: 1.2em;
    font-size: 0.85em;
  }

  #faq #faq-list ul li a {
    font-size: 0.85em !important;
  }

  .hd_title.access {
    margin: 20px 0 32px;
  }

  /* #access {
    font-size: 0.85em;
    padding: 30px 0 40px;
  }

  #access section {
    width: 95%;
    padding: 40px 0 10px;
  } */

  #access section table {
    width: 95%;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* #access section div {
    padding: 15px;
  } */
  #access section table th {
    padding: 0;
    text-align: left;
  }

  #access section table td {
    width: 100%;
    display: block;
    padding: 15px 10px;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #access section table td img {
    width: 95%;
    height: auto;
    display: block;
    margin: 0 auto;
  }

  #company {
    margin: 50px 0;
  }

  /* contact ============================================= */
  #contact {
    padding: 20px 0 70px 0;
  }

  #contact.under-contact {
    padding: 40px 0 0 0;
  }

  #contact.under-contact h3 {
    margin: 0 0 40px;
  }

  /* wrap */
  #contact .wrap {
    width: 100%;
    background: url("../images/common/bg-pat_orange.png");
    padding: 30px 0 30px;
  }

  #contact.under-contact .wrap {
    width: 100%;
    background: #555;
    padding: 30px 0 30px;
  }

  /* box */
  #contact section {
    width: 92%;
    background: #fff;
    padding: 22px 4.8% 15px;
    margin: 0 auto;
  }

  #contact .contact_year_info {
    font-size: 0.9em;
    font-weight: bold;
    line-height: 1.5;
    text-align: center;
    color: red;
    padding: 0 0 30px;
  }

  #contact .description {
    font-size: 0.9em;
    padding: 0 5px;
    margin: 0 0 26px;
  }

  /* form  -------------------------------------------+ */
  /* reset */
  section button,
  section textarea,
  section input[type="text"],
  section input[type="tel"],
  section input[type="email"],
  section input[type="submit"],
  section select {
    margin: 0;
    padding: 0;
    background: #fff;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    font-family: Century Gothic, Lato, "Noto Sans JP", "游ゴシック Medium",
      "游ゴシック体", "Yu Gothic Medium", YuGothic, "ヒラギノ角ゴ ProN",
      "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック",
      "MS PGothic", sans-serif;
  }

  /* wrap */
  #contact .label-box,
  #contact.under-contact .label-box {
    display: block;
    margin: 0 0 25px;
  }

  /* hd area */
  .label-box p {
    width: 100%;
    font-size: 15px;
    font-weight: bold;
  }

  .label-box p label {
    display: inline-block;
    padding: 0 0 0 5px;
  }

  #contact section .wpcf7 .must {
    display: inline-block;
    color: #f00;
    font-size: 16px;
    font-weight: normal;
    vertical-align: text-top;
    margin: 3px 0 0 10px;
  }

  /* txet, email, tel */
  .wpcf7 input[type="text"],
  .wpcf7 input[type="email"] {
    width: 100%;
    font-size: 16px;
    padding: 13px 5px;
    border-bottom: 1px solid #d2d2d2;
  }

  /* txet, email, tel */
  .wpcf7 input[type="tel"] {
    width: 100%;
    font-size: 16px;
    padding: 13px 5px;
    border-bottom: 1px solid #d2d2d2;
  }

  /* textarea */
  .wpcf7-form textarea {
    width: 100% !important;
    max-width: 100%;
    max-height: 350px;
    font-size: 16px;
    padding: 0 5px 10px;
    border-bottom: 1px solid #d2d2d2;
    margin: 15px 0 0;
  }

  /* placeholder */
  .wpcf7 :-ms-input-placeholder {
    color: #ccc;
    font-weight: normal;
  }

  .wpcf7 ::-moz-placeholder {
    color: #ccc;
    font-weight: normal;
  }

  .wpcf7 ::-webkit-input-placeholder {
    color: #ccc;
    font-weight: normal;
  }

  /* validate */
  .wpcf7 span.wpcf7-not-valid-tip {
    font-size: 13px;
    color: #f00;
    padding: 10px 0 0 10px;
  }

  /* checkbox (confirm) */
  #confirm-check {
    width: 90%;
    max-width: 800px;
    text-align: center;
    font-size: 16px;
    vertical-align: text-top;
    border: 1px solid #f39700;
    padding: 17px 0 20px;
    margin: 34px auto 25px;
  }

  #confirm-check .must {
    display: inline-block;
    color: #f00;
    font-size: 16px;
    vertical-align: text-top;
    margin: 3px 15px 0 10px !important;
  }

  #confirm-check input[type="checkbox"] {
    display: none;
  }

  #confirm-check label {
    position: relative;
    cursor: pointer;
    margin: 0 0 0 -8px;
  }

  #confirm-check label::after {
    position: absolute;
    top: 0;
    right: -35px;
    bottom: 0;
    margin: auto;
    content: "";
    display: inline-block;
    width: 22px;
    height: 22px;
    border: 1px solid #d2d2d2;
    transition-duration: 0.3s;
  }

  #confirm-check label:hover::after {
    border-color: #f39700;
  }

  #confirm-check label::before {
    position: absolute;
    top: 0;
    right: -32px;
    bottom: 0;
    margin: auto;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    content: "\f00c";
    font-size: 12px;
    color: #fff;
    line-height: 20px;
    display: inline-block;
    width: 18px;
    height: 18px;
    background: #fff;
    transform: scale(0);
    transition-duration: 0.3s;
  }

  #confirm-check label.checked::before {
    transform: scale(1);
    background: #f39700;
  }

  #confirm-check label.checked::after {
    border-color: #f39700;
  }

  /* submit */
  #contact section input[type="submit"] {
    width: 90%;
    font-size: 16px;
    color: #fff;
    text-align: center;
    display: block;
    background: #f39700;
    padding: 19px 0 17px;
    margin: 0 auto 30px;
    transition-duration: 0.3s;
    cursor: pointer;
  }

  #contact section input[type="submit"]:hover {
    width: 98%;
    opacity: 0.8;
  }

  /* ajax-loader */
  div.wpcf7 .ajax-loader {
    position: absolute;
    right: 0;
    left: 0;
    margin: -15px auto 0;
  }

  /* response */
  .wpcf7 .wpcf7-response-output {
    font-size: 16px;
    text-align: center;
    padding: 25px 0 25px;
    margin: 0 5% 20px;
  }

  /* add question */
  span.background .wpcf7-checkbox {
    display: flex;
    flex-direction: column;
    padding: 13px 0;
  }

  .wpcf7-form .long-txt {
    letter-spacing: unset;
  }

  span.background .wpcf7-checkbox .wpcf7-list-item label {
    padding: 8px 0;
  }

  /* Thanks -------------------------------------------+ */
  #thanks {
    padding: 30px 0 50px;
  }

  #thanks section {
    width: 100%;
    line-height: 1.2;
  }

  #thanks a {
    width: 80%;
  }
}

/*  ###############################
  Works > slider
################################# */
/* common */
.slider-box .color-illustration,
.slider-box .color-video,
.slider-box .color-localization,
.slider-box .color-narration,
.slider-box .color-sound {
  background: #222;
}

/* SP layout media queries -----------------------------------------------------------+ */
@media only screen and (max-width: 640px) {
  /* wrap */
  .slider-box * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }

  .slider-box {
    position: relative;
    background: #fff;
    margin: 0;
    padding: 45px 0 52px;
    z-index: 0;
  }

  /* h2 */
  .slider-box h3 {
    padding: 0 0 4px;
  }

  /* wrap (slider) */
  .works_wrap {
    background: #fff;
    margin: 0;
  }

  /* box (slider) */
  .works_wrap ul {
    width: 100%;
    margin: 25px 0 0;
  }

  /* list */
  .works_wrap li {
    position: relative;
    width: 286px;
    height: auto;
    text-align: center;
    word-wrap: break-word;
    border: 1px solid #d2d2d2;
    background: #fff;
  }

  .works_wrap li a,
  .works_wrap li a:hover {
    color: #000;
  }

  /* service */
  .slider-box h4 {
    width: 100%;
    font-size: 12px;
    color: #fff;
    line-height: 1;
    letter-spacing: 0.05em;
    background: #222;
    padding: 8px 0 8px;
    margin: 0 auto 20px;
  }

  /* tmb */
  .slider-box .tmb {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-duration: 0.3s;
  }

  .slider-box .tmb {
    width: 82%;
    margin: 0 auto;
  }

  .slider-box .tmb img {
    max-width: 100%;
    height: auto;
    max-height: 180px;
    width: auto;
    backface-visibility: hidden;
  }

  /* client */
  .slider-box .client {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: normal;
    margin: 17px 0 17px;
    padding: 0 2em;
  }

  /* ttl */
  .slider-box .title {
    font-size: 17px;
    margin: 0 0 14px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.02em;
    padding: 0 2em;
  }

  /* copy */
  .slider-box .copy {
    font-size: 11px;
    padding: 10px 2em 60px;
  }

  /* cat */
  /* .slider-box .category {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: #222;
    color: #fff;
    font-size: 11px;
    line-height: 1.5;
    letter-spacing: 0.05em;
    font-weight: bold;
    padding: 6px 1em 5px;
    transition-duration: 0.3s;
    box-sizing: border-box;
  } */

  /* btn */
  .slider-box .swiper-button-prev,
  .slider-box .swiper-button-next {
    /* top: 190px; */
    width: 40px;
    height: 101px;
    top: 50%;
    transform: translateY(-50%);
  }

  .slider-box .swiper-button-prev,
  .slider-box .swiper-button-next {
    transition-duration: 0.3s;
    background-size: contain;
  }

  .slider-box .swiper-button-prev {
    left: 0;
    background-image: url("../images/common/slide_btn-prev.png");
  }

  .slider-box .swiper-button-next {
    right: 0;
    background-image: url("../images/common/slide_btn-next.png");
  }

  .slider-box .works_wrap:hover .swiper-button-prev {
    left: 0px;
    background-image: url("../images/common/slide_btn-prev.png");
  }

  .slider-box .works_wrap:hover .swiper-button-next {
    right: 0px;
    background-image: url("../images/common/slide_btn-next.png");
  }

  .slider-box .works_wrap:hover .swiper-button-prev:hover {
    background-image: url("../images/common/slide_btn-prev_over.png");
  }

  .slider-box .works_wrap:hover .swiper-button-next:hover {
    background-image: url("../images/common/slide_btn-next_over.png");
  }

  /* txt (note) */
  .works-txt {
    text-align: center;
    font-size: 15px;
    padding: 34px 1em 0;
    line-height: 1.75;
    font-weight: bold;
  }

  /* btn (works arch) */
  .slider-box .btn-works {
    text-align: center;
    padding: 0 0 0;
  }

  /* .slider-box .btn-works a {
    display: block;
    color: #333;
    width: 80%;
    height: 44px;
    line-height: 43px;
    font-weight: normal;
    background: #fff;
    border: 1px solid #333;
    border-radius: 20px;
    margin: 35px auto 0;
  } */

  /* .slider-box .btn-works a:hover {
    border-color: #f39700;
    color: #f39700;
    background: #222;
  } */
}

/* end - SP layout media queries */

/* PC layout media queries -----------------------------------------------------------+ */
@media only screen and (min-width: 641px) {
  /* wrap */
  .slider-box * {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }

  .slider-box {
    position: relative;
    margin: 0;
    padding: 0;
    z-index: 0;
  }

  /* h2 */
  .slider-box h3 {
    padding: 0 0 3px;
    margin: 80px 0 60px;
  }

  /* wrap (slider) */
  /* .works_wrap {
    background: #eee url("../images/common/slide-bg.gif") repeat-x;
    background-size: 10px 130px;
  } */

  /* box (slider) */
  .works_wrap ul {
    width: 100%;
  }

  /* list */
  /* .works_wrap li {
    position: relative;
    width: 350px;
    height: 100%;
    word-wrap: break-word;
    text-align: center;
    border: 1px solid #d2d2d2;
    background: #fff;
  } */

  .works_wrap li a,
  .works_wrap li a:hover {
    color: #000;
  }

  /* service */
  .slider-box h4 {
    width: 100%;
    font-size: 16px;
    letter-spacing: 0.06em;
    color: #fff;
    line-height: 1;
    background: #222;
    padding: 6px 0 8px;
    margin: 0 auto 25px;
    font-family: "メイリオ", "Meiryo", verdana, "ヒラギノ角ゴ Pro W3",
      "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic",
      Sans-Serif;
    /* font-family: "Barlow Condensed", sans-serif; */
  }

  /* tmb */
  .slider-box .tmb {
    min-height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition-duration: 0.3s;
  }

  .slider-box .tmb {
    width: 82%;
    margin: 0 auto;
  }

  .slider-box .tmb img {
    max-width: 100%;
    height: auto;
    max-height: 200px;
    width: auto;
    backface-visibility: hidden;
  }

  /* client */
  .slider-box .client {
    font-size: 16px;
    letter-spacing: 0.06em;
    margin: 21px 0;
    padding: 0 2em;
  }

  /* ttl */
  .slider-box .title {
    font-size: 19px;
    letter-spacing: 0.03em;
    margin: 0 0 20px;
    font-weight: bold;
    line-height: 1.4;
    padding: 0 2em;
  }

  /* copy */
  .slider-box .copy {
    font-size: 12px;
    letter-spacing: 0.06em;
    line-height: 1.5;
    padding: 0 2em 70px;
  }

  /* cat */
  /* .slider-box .category {
    position: absolute;
    bottom: 0;
    width: 100%;
    background: #222;
    color: #fff;
    font-size: 14px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    font-weight: bold;
    padding: 7px 1em 6px;
    transition-duration: 0.3s;
    box-sizing: border-box;
  } */

  /* btn */
  .slider-box .swiper-button-prev,
  .slider-box .swiper-button-next {
    /* top: 170px; */
    width: 56px;
    height: 142px;
    top: 50%;
    transform: translateY(-50%);
  }

  .slider-box .swiper-button-prev,
  .slider-box .swiper-button-next {
    transition-duration: 0.3s;
    background-size: contain;
  }

  .slider-box .swiper-button-prev {
    left: -150px;
    background-image: url("../images/common/slide_btn-prev.png");
  }

  .slider-box .swiper-button-next {
    right: -150px;
    background-image: url("../images/common/slide_btn-next.png");
  }

  .slider-box .works_wrap:hover .swiper-button-prev {
    left: 0px;
    background-image: url("../images/common/slide_btn-prev.png");
  }

  .slider-box .works_wrap:hover .swiper-button-next {
    right: 0px;
    background-image: url("../images/common/slide_btn-next.png");
  }

  .slider-box .works_wrap:hover .swiper-button-prev:hover {
    background-image: url("../images/common/slide_btn-prev_over.png");
  }

  .slider-box .works_wrap:hover .swiper-button-next:hover {
    background-image: url("../images/common/slide_btn-next_over.png");
  }

  /* txt (note) */
  .works-txt {
    text-align: center;
    font-size: 19px;
    padding: 50px 0 48px;
    font-weight: bold;
  }

  /* btn (works arch) */
  .slider-box .btn-works {
    text-align: center;
    padding: 0 0 90px;
  }

  /* .slider-box .btn-works a {
    display: block;
    width: 400px;
    height: 48px;
    border-radius: 48px;
    font-size: 15px;
    font-weight: normal;
    color: #333;
    border: 1px solid #222;
    padding: 15px 0 0;
    margin: 50px auto 0;
  } */

  .slider-box .btn-works a:hover {
    border-color: #f39700;
    color: #f39700;
    background: #222;
  }
}

.works_wrap .swiper-button-prev::after,
.works_wrap .swiper-button-next::after {
  content: "" !important;
}

/* end - PC layout media queries */

/*  ###############################
  Works > Archive
################################# */
/* wrap */
#works_arch {
  padding: 18px 0 0;
}

@media only screen and (min-width: 641px) {
  #works_arch {
    padding: 38px 0 0;
  }
}

/* inner */
#works_arch .inner {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  font-weight: 600;
  background: #eee;
  padding: 30px 0 20px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner {
    padding: 50px 0 20px;
  }
}

/* category list */
#works_arch .inner .works_cat {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 40px);
  max-width: 1220px;
  margin: 0 auto 20px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .works_cat {
    width: 100%;
    margin: 0 auto 50px;
  }
}

#works_arch .inner .works_cat li a {
  display: block;
  font-size: 12px;
  color: #222;
  border: 1px solid #222;
  border-radius: 15px;
  padding: 5px 20px 6px;
  margin: 0 10px 13px 0;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .works_cat li a {
    font-size: 16px;
    padding: 5px 20px 7px;
    margin: 0 15px 0 0;
  }
}

#works_arch .inner .works_cat li a.current,
#works_arch .inner .works_cat li a:hover {
  color: #fff;
  background-color: #f39800;
  border-color: #f39800;
}

/* works list */
#works_arch .inner .list {
  display: flex;
  flex-wrap: wrap;
  width: calc(100% - 60px);
  max-width: 1220px;
  margin: 0 auto;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list {
    width: 100%;
  }
}

/* works list > list */
#works_arch .inner .list li {
  width: 100%;
  margin: 0 0 30px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list li {
    width: 370px;
    margin: 0 55px 55px 0;
  }

  #works_arch .inner .list li:nth-of-type(3n) {
    margin: 0 0 55px;
  }
}

/* works list > list > a box */
#works_arch .inner .list li a {
  display: block;
  width: 100%;
  color: #333;
}

/* works list > list > tmb */
#works_arch .inner .list li a .tmb {
  overflow: hidden;
  display: block;
  width: 100%;
  min-height: auto;
  max-height: 195px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  margin: 0 auto 10px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list li a .tmb {
    width: 100%;
    min-height: 233px;
    max-height: 233px;
    margin: 0 auto 20px;
  }
}

#works_arch .inner .list li a .tmb img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 195px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-duration: 0.3s;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list li a .tmb img {
    max-height: 233px;
  }

  #works_arch .inner .list li a:hover .tmb img {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    transform: scale(1.06);
  }
}

/* works list > list > service */
#works_arch .inner .list li a .service {
  display: inline-block;
  color: #222;
  font-size: 12px;
  border: 1px solid #222;
  border-radius: 14px;
  padding: 5px 10px;
  margin-bottom: 1px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list li a .service {
    font-size: 16px;
  }
}

/* works list > list > title */
#works_arch .inner .list li a .title {
  display: block;
  font-size: 16px;
  line-height: 1.8;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .list li a .title {
    font-size: 19px;
  }
}

/* works list > list > client */
#works_arch .inner .list li a .client {
  display: block;
  line-height: 1.7;
  font-size: 12px;
}

/* Pagination */
#works_arch .inner .pager_box {
  overflow: hidden;
  width: 100%;
  padding: 0 0 35px;
  margin: 20px auto -20px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .pager_box {
    padding: 0 0 100px;
    margin: 50px auto -20px;
  }
}

#works_arch .inner .pager_box ul {
  text-align: center;
  font-weight: bold;
}

#works_arch .inner .pager_box li {
  display: inline-block;
  margin: 0 4px 15px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .pager_box li {
    margin: 0 25px;
  }
}

#works_arch .inner .pager_box li .page-numbers,
#works_arch .inner .pager_box li .page-numbers a {
  display: inline-block;
  color: #222;
  background: #eee;
  width: 44px;
  height: 44px;
  line-height: 45px;
  font-size: 13px;
  border: 1px solid #222;
  vertical-align: bottom;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .pager_box li .page-numbers,
  #works_arch .inner .pager_box li .page-numbers a {
    width: 58px;
    height: 58px;
    line-height: 59px;
    font-size: 17px;
  }
}

#works_arch .inner .pager_box li .dots {
  width: 13px;
  font-size: 0;
  border: none;
  margin: 0 -20px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .pager_box li .dots {
    width: 20px;
    margin: 0 -25px;
  }
}

#works_arch .inner .pager_box li .dots::before {
  content: "...";
  font-size: 14px;
  line-height: 45px;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .pager_box li .dots::before {
    font-size: 18px;
    line-height: 65px;
  }
}

#works_arch .inner .pager_box li .current,
#works_arch .inner .pager_box li .page-numbers:hover {
  color: #fff;
  background: #f39700;
}

#works_arch .inner .pager_box li .dots:hover {
  color: #333;
  background: #fff;
}

#works_arch .inner .pager_box .prev::before {
  font-family: "Font Awesome 5 Free";
  content: "\f104";
}

#works_arch .inner .pager_box .next::before {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
}

/* Not Applicable */
#works_arch .inner .not_app {
  font-size: 24px;
  color: #9e9e9e;
  text-align: center;
  padding: 15px 0 45px;
  margin: 0 auto;
}

@media only screen and (min-width: 641px) {
  #works_arch .inner .not_app {
    font-size: 50px;
    padding: 65px 0 150px;
  }
}

/* Back to Works */
#works_arch .back_to_works {
  text-align: center;
}

#works_arch .back_to_works a {
  display: inline-block;
  width: 80%;
  max-width: 400px;
  color: #fff;
  font-size: 16px;
  background: #f39800;
  line-height: 50px;
  border-radius: 25px;
  margin: 32px 0 0;
}

@media only screen and (min-width: 641px) {
  #works_arch .back_to_works a {
    font-size: 18px;
    margin: 60px 0 0;
  }
}

#works_arch .back_to_works a:hover {
  background: #222;
}

/*  ###############################
  Works > Single
################################# */
/* wrap */
#works_dtl {
  font-family: "Noto Sans JP", sans-serif;
  color: #333;
  font-weight: 600;
  padding: 44px 0 0;
}

@media only screen and (min-width: 641px) {
  #works_dtl {
    padding: 65px 0 0;
  }
}

/* hd (wrap) */
#works_dtl .hd {
  width: calc(100% - 40px);
  max-width: 1220px;
  margin: 0 auto 45px;
}

#pankuzu.work-post .clearfix {
  /* margin: 0; */
  padding-top: 25px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .hd {
    width: 100%;
    margin: 0 auto 100px;
  }

  #pankuzu.work-post .clearfix {
    /* margin: 0; */
    padding-top: 38px;
  }
}

/* hd */
#works_dtl .hd .title_hd {
  display: block;
  font-size: 14px;
  line-height: 1.8;
  margin: 0 0 1px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .hd .title_hd {
    font-size: 20px;
    margin: 0 0 15px;
  }
}

/* hd > client */
#works_dtl .hd .client {
  display: block;
  font-size: 12px;
  line-height: 1.7;
  margin: 0 0 -2px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .hd .client {
    font-size: 16px;
    margin: 0 0 -4px;
  }
}

/* hd > title */
#works_dtl .hd .title {
  display: block;
  font-size: 24px;
  line-height: 1.8;
  margin: 0 0 7px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .hd .title {
    font-size: 40px;
    margin: 0 0 3px;
  }
}

/* hd > service */
#works_dtl .hd .service {
  display: inline-block;
  font-size: 11px;
  border: 1px solid #222;
  border-radius: 15px;
  padding: 4px 10px;
  margin-bottom: 1px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .hd .service {
    font-size: 16px;
    border-radius: 15px;
    padding: 5px 20px 6px;
  }
}

/* inner (detail) */
#works_dtl .inner_detail {
  width: calc(100% - 60px);
  max-width: 780px;
  font-size: 16px;
  line-height: 1.7;
  word-wrap: break-word;
  margin: 0 auto 25px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail {
    width: 100%;
    margin: 0 auto 50px;
  }
}

#works_dtl .inner_detail img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 auto 7px;
}

.play-button {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 68px;
  height: 48px;
  margin: -24px 0 0 0;
  background: url("https://upload.wikimedia.org/wikipedia/commons/0/09/YouTube_full-color_icon_%282017%29.svg")
    no-repeat center center;
  background-size: contain;
  opacity: 0.8;
  cursor: pointer;
}
.modal_pv-wrapper {
  position: relative;
}

#works_dtl .inner_detail .modal_pv-wrapper p .modal_pv img {
  width: 100%;
  max-width: 400px;
}

.works-video-container {
  width: 100%;
  max-width: 630px;
  padding-bottom: 48px;
  margin-inline: auto;
}

.works-video_wrap {
  position: relative;
  width: 100%;
  height: 100%;
  padding-bottom: 56.25%;
}

.works-video-container .works-video_wrap iframe {
  position: absolute;
  width: 100%;
  height: 100%;
  border: none;
}

/* inner > h2 */
#works_dtl .inner_detail h2 {
  font-size: 18px;
  padding: 0 0 1.2em;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail h2 {
    font-size: 24px;
  }
}

/* inner > text */
#works_dtl .inner_detail p {
  padding: 0 0 1.7em;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail p {
    padding: 0 0 3em;
  }
}

/* inner > text a */
#works_dtl .inner_detail a {
  color: #f39800;
  text-decoration: underline;
}

#works_dtl .inner_detail a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 15px;
  background: url("../images/common/external.svg") no-repeat;
  background-position: center top 1px;
  background-size: contain;
  vertical-align: top;
  margin: 10px 0 0 7px;
}

#works_dtl .inner_detail a:hover {
  text-decoration: none;
}

/* inner > Sample (wrap) */
#works_dtl .inner_detail .modal_wrap {
  margin-bottom: calc(1.7em - 13px);
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail .modal_wrap {
    margin-bottom: calc(3em - 17px);
  }
}

/* inner > Sample (box) */
#works_dtl .inner_detail .modal {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: calc(100% + 4%);
  margin: 0 0 0 -2%;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail .modal {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    width: calc(100% + 30px);
    margin: 0 0 0 -15px;
  }
}

#works_dtl .inner_detail .modal li {
  width: 46%;
  padding: 0 2%;
  margin: 0 0 20px;
}

#works_dtl .inner_detail .modal.col1 li {
  width: 96%;
  padding: 0;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail .modal li,
  #works_dtl .inner_detail .modal.col1 li {
    width: initial;
    padding: 0 15px;
    margin: 0 0 30px;
  }
}

/* inner > Sample > a */
#works_dtl .inner_detail .modal li a {
  overflow: hidden;
  display: block;
  width: 100%;
  height: 100%;
}

#works_dtl .inner_detail .modal li a img {
  margin: 0;
  cursor: zoom-in;
  transition-duration: 0.3s;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_detail .modal li a:hover img {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    transform: scale(1.06);
  }
}

/* inner > Modal Setting */
.mfp-fade.mfp-bg {
  opacity: 0;
  transition: all 0.15s linear;
}

.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.8;
  transition-duration: 0.25s;
}

.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  transition: 0.4s;
  transform: scale(0.5, 0.5);
}

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  transform: scale(1, 1);
}

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}

.mfp-close {
  top: -10px !important;
  right: 3px !important;
  font-size: 35px !important;
}

@media only screen and (min-width: 641px) {
  .mfp-close {
    top: -5px !important;
    right: 0 !important;
    font-size: 45px !important;
  }
}

/* inner (Credit) */
#works_dtl .inner_credit {
  width: calc(100% - 60px);
  max-width: 780px;
  font-size: 15px;
  line-height: 1.7;
  text-align: left;
  word-wrap: break-word;
  margin: 0 auto 52px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_credit {
    width: 100%;
    font-size: 16px;
    margin: 0 auto 100px;
  }
}

/* inner > h2 */
#works_dtl .inner_credit h2 {
  font-size: 18px;
  padding: 0 0 1.2em;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_credit h2 {
    font-size: 24px;
  }
}

/* inner > table */
#works_dtl .inner_credit table {
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
  border-spacing: 0;
  border-top: 1px solid #c5c5c5;
}

#works_dtl .inner_credit table th {
  display: block;
  width: 100%;
  font-size: 15px;
  border-bottom: none;
  padding: 20px 0 8px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_credit table th {
    display: table-cell;
    width: 190px;
    font-size: 16px;
    vertical-align: top;
    border-bottom: 1px solid #c5c5c5;
    padding: 30px 0 32px;
  }
}

#works_dtl .inner_credit table td {
  display: block;
  width: 100%;
  font-size: 13px;
  line-height: 1.8;
  border-bottom: 1px solid #c5c5c5;
  padding: 0 0 20px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_credit table td {
    display: table-cell;
    width: 100%;
    font-size: 16px;
    line-height: 1.7;
    vertical-align: top;
    padding: 30px 0 32px;
  }
}

/* inner > table > a */
#works_dtl .inner_credit table td a {
  color: #f39800;
  text-decoration: underline;
}

#works_dtl .inner_credit table td a[target="_blank"]::after {
  content: "";
  display: inline-block;
  width: 12px;
  height: 15px;
  background: url("../images/common/external.svg") no-repeat;
  background-position: center top 1px;
  background-size: contain;
  vertical-align: top;
  margin: 6px 0 0 7px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .inner_credit table td a[target="_blank"]::after {
    margin: 10px 0 0 7px;
  }
}

#works_dtl .inner_credit table td a:hover {
  text-decoration: none;
}

/* inner (Store Badge) */
#works_dtl .store_badge {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  gap: 20px;
  margin-top: 30px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .store_badge {
    margin-top: 45px;
  }
}

#works_dtl .store_badge li {
  overflow: hidden;
}

/* #works_dtl .store_badge li:nth-child(2) {
  margin: 30px 0 0 8%;
} */

#works_dtl .store_badge img {
  display: block;
  width: 100%;
  margin: 0 auto;
  object-fit: contain;
  object-position: center;
}

.trademark_note {
  margin-top: 25px;
}
.works_trademark_note {
  font-size: 13px;
}

.works_trademark_note {
  padding-left: 1em;
  text-indent: -1em;
}

.works_trademark_note:before {
  content: "※";
}

@media only screen and (min-width: 641px) {
  #works_dtl .store_badge li {
    /* margin: 0 10px 0 10px; */
  }

  #works_dtl .store_badge img {
    width: auto;
    height: 62px;
  }
}

#works_dtl .store_badge li a:hover {
  opacity: 0.7;
}

/* pager_box */
#works_dtl .pager_box {
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 1100px;
  line-height: 1;
  border-top: none;
  padding: 5px 0 25px;
  margin: 0 auto;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: 1px solid #c5c5c5;
    padding: 67px 0 100px;
    margin: 0 auto;
  }
}

/* pager_box > All */
#works_dtl .pager_box li.all {
  text-align: center;
  grid-column: 1/3;
  grid-row: 1/2;
  width: 100%;
  font-size: 14px;
  margin: 0 0 28px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box li.all {
    width: 200px;
    font-size: 16px;
    margin: 0;
  }
}

#works_dtl .pager_box li.all::before {
  content: "Top";
  display: inline-block;
  vertical-align: top;
  margin: 17px 15px 0 0;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box li.all::before {
    margin: 24px 20px 0 0;
  }
}

#works_dtl .pager_box li.all a {
  display: inline-block;
  color: #333;
  background: #fff;
  width: 44px;
  height: 44px;
  line-height: 45px;
  font-size: 14px;
  border: 1px solid #222;
  vertical-align: bottom;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box li.all a {
    width: 60px;
    height: 60px;
    line-height: 61px;
  }
}

#works_dtl .pager_box li.all a:hover {
  display: inline-block;
  color: #fff;
  background: #f39800;
  border: 1px solid #222;
}

/* pager_box > prev,next */
#works_dtl .pager_box li.prev {
  grid-column: 1/2;
  grid-row: 2/3;
  width: calc(100% - 44px);
  font-size: 14px;
  text-align: right;
  padding: 0 44px 0 0;
}

#works_dtl .pager_box li.next {
  grid-column: 2/3;
  grid-row: 2/3;
  width: calc(100% - 44px);
  font-size: 14px;
  text-align: left;
  padding: 0 0 0 44px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box li.prev {
    width: 100px;
    font-size: 16px;
    text-align: left;
    padding: 0 0 0 30px;
  }

  #works_dtl .pager_box li.next {
    width: 100px;
    font-size: 16px;
    text-align: right;
    padding: 0 30px 0 0;
  }
}

#works_dtl .pager_box li.prev a,
#works_dtl .pager_box li.next a {
  display: block;
  color: #333;
  padding: 18px 0;
}

#works_dtl .pager_box li.prev a::before {
  font-family: "Font Awesome 5 Free";
  content: "\f104";
  padding: 0 20px 0 0;
}

#works_dtl .pager_box li.next a::after {
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  padding: 0 0 0 20px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .pager_box li.prev a::before {
    padding: 0 24px 0 0;
  }

  #works_dtl .pager_box li.next a::after {
    padding: 0 0 0 24px;
  }
}

#works_dtl .pager_box li.prev a:hover,
#works_dtl .pager_box li.next a:hover {
  color: #f39800;
}

/* related (wrap) */
#works_dtl .related {
  width: 100%;
  background: #eee;
  padding: 40px 0 12px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related {
    padding: 68px 0 82px;
  }
}

/* related > inner */
#works_dtl .related .inner_related {
  width: calc(100% - 60px);
  max-width: 1220px;
  margin: 0 auto;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related {
    width: 100%;
  }
}

/* related > inner > h2 */
#works_dtl .related .inner_related h2 {
  font-size: 18px;
  font-weight: 600;
  margin: 0 0 40px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related h2 {
    font-size: 24px;
    margin: 0 0 55px;
  }
}

/* related list */
#works_dtl .related .inner_related .list {
  display: block;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list {
    display: flex;
  }
}

/* related list > list */
#works_dtl .related .inner_related .list li {
  width: 100%;
  margin: 0 50px 38px 0;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list li {
    width: 370px;
    margin: 0 55px 0 0;
  }

  #works_dtl .related .inner_related .list li:nth-of-type(3) {
    width: 370px;
    margin: 0;
  }
}

/* related list > list > a box */
#works_dtl .related .inner_related .list li a {
  display: block;
  width: 100%;
  color: #333;
}

/* related list > list > tmb */
#works_dtl .related .inner_related .list li a .tmb {
  overflow: hidden;
  display: block;
  width: 100%;
  min-height: auto;
  max-height: 195px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  transition-duration: 0.3s;
  margin: 0 auto 10px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list li a .tmb {
    width: 100%;
    min-height: 233px;
    max-height: 233px;
    margin: 0 auto 20px;
  }
}

#works_dtl .related .inner_related .list li a .tmb img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 195px;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transition-duration: 0.3s;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list li a .tmb img {
    max-height: 233px;
  }

  #works_dtl .related .inner_related .list li a:hover .tmb img {
    -webkit-transform: scale(1.06);
    -ms-transform: scale(1.06);
    transform: scale(1.06);
  }
}

/* works list > list > service */
#works_dtl .related .inner_related .list li a .service {
  display: inline-block;
  color: #fff;
  font-weight: 400;
  font-size: 12px;
  background: #a2a2a2;
  border-radius: 14px;
  padding: 4px 10px 5px;
  margin-bottom: 2px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list li a .service {
    font-size: 16px;
    padding: 5px 11px 7px;
  }
}

/* works list > list > title */
#works_dtl .related .inner_related .list li a .title {
  display: block;
  text-align: left;
  font-size: 15px;
  line-height: 1.8;
  padding: 0;
  margin: 0 0 2px;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .list li a .title {
    font-size: 19px;
    margin: 0;
  }
}

#works_dtl .related .inner_related .list li a .title::after {
  display: none;
}

/* works list > list > client */
#works_dtl .related .inner_related .list li a .client {
  display: block;
  line-height: 1.7;
  font-size: 12px;
}

/* Not Applicable */
#works_dtl .related .inner_related .not_app {
  font-size: 24px;
  color: #9e9e9e;
  text-align: center;
  padding: 0 0 50px;
  margin: 0 auto;
}

@media only screen and (min-width: 641px) {
  #works_dtl .related .inner_related .not_app {
    font-size: 32px;
    padding: 0 0 60px;
  }
}
