@charset "UTF-8";

/*-----------------------------------------------
 Base Font
-----------------------------------------------*/

@font-face {
  font-family: "NotoSansCJK-JP";
  src: url("../font/NotoSansCJK-JP.woff2") format("woff2");
  font-family: "Oswald";
  src: url("../font/Oswald.woff2") format("woff2");
  font-display: swap;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "NotoSansCJK-JP", sans-serif;
  font-size: 1.5rem;
  color: #000000;
  font-weight: normal;
  letter-spacing: 0.06em;
  line-height: 1.7em;
  background-color: transparent;
}

/*-----------------------------------------------
 normalize
-----------------------------------------------*/

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
  overflow-x: hidden;
}

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

abbr[title] {
  border-bottom: none;
  text-decoration: underline;
  text-decoration: underline dotted;
}

b,
strong {
  font-weight: bolder;
}

code,
kbd,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button,
input {
  overflow: visible;
}

button,
select {
  text-transform: none;
}

button,
[type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

legend {
  box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  /* 3 */
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox],
[type=radio] {
  box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

/*-----------------------------------------------
 Base
-----------------------------------------------*/

a {
  display: inline-block;
  color: #000000;
  transition-property: background-color, opacity, color, border-color, box-shadow;
  transition-duration: 0.6s;
  text-decoration: none;
}

a:hover {
  color: #000000;
}

a img {
  border: none;
}

a img:hover,
a img:active {
  opacity: 0.8;
}

span {
  transition-property: background-color, opacity, color, border-color, box-shadow;
  transition-duration: 0.6s;
}

img {
  max-width: 100%;
  height: auto;
  transition: all 0.6s ease;
  backface-visibility: hidden;
  vertical-align: bottom;
}

iframe {
  border: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 600;
  line-height: 1.6;
}

h1 {
  font-size: 3.2rem;
}

h2 {
  font-size: 2.7rem;
}

h3 {
  font-size: 2.3rem;
}

h4 {
  font-size: 1.8rem;
}

[class*=col-] {
  margin-bottom: 2rem;
}

[class*=col-] h1,
[class*=col-] h2,
[class*=col-] h3,
[class*=col-] h4,
[class*=col-] h5,
[class*=col-] h6 {
  margin-bottom: 1.5rem;
}

[class*=col-] h1:last-child,
[class*=col-] h2:last-child,
[class*=col-] h3:last-child,
[class*=col-] h4:last-child,
[class*=col-] h5:last-child,
[class*=col-] h6:last-child {
  margin-bottom: 0;
}

.row [class*=col-]:last-child {
  margin-bottom: 0;
}

a {
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}

figure {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: bottom;
}

img[src$=".svg"] {
  width: 100%;
  vertical-align: bottom;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
ul,
ol,
li,
th,
td,
dt,
dd,
a {
  margin: 0;
  padding: 0;
  letter-spacing: 0.05em;
}

ul {
  list-style: none;
}

/*-----------------------------------------------
 Header
-----------------------------------------------*/

#header-wrap-top {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 100;
  width: 100%;
  height: 100px;
}

#header-wrap-top {
  background-color: transparent;
  margin: 0px;
  padding: 0px;
}

#header-wrap-top h1 img {
  width: 250px;
}

#header-wrap-top nav {
  margin: 0px 30px 0px 0px;
  padding: 26px 0px 0px 0px;
}

#header-wrap-top nav #gnavi {
  list-style: none;
}

#header-wrap-top nav #gnavi li {
  margin: 0px 32px 0px 0px;
  text-decoration: none;
  display: inline-block;
}

#header-wrap-top nav #gnavi li.bt-contact {
  position: relative;
  z-index: 102;
  padding: 11px 0px 0px 84px;
  width: 220px;
  height: 50px;
  background: url("../images/common/header_mail_icon.png") no-repeat;
  background-position: 46px 17px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  box-shadow: 1px 1px 5px #81bdff;
}

#header-wrap-top #gnavi li a {
  position: relative;
}

#header-wrap-top #gnavi li a::after {
  content: "";
  position: absolute;
  z-index: 102;
  bottom: -3px;
  left: 0%;
  width: 100%;
  height: 2px;
  background: #1353e5;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: center top;
}

#header-wrap-top #gnavi li a:hover::after {
  transform: scale(1, 1);
}

a:hover li.bt-contact {
  opacity: 0.8;
}

#header-wrap-top #gnavi li ul.dropdown-menu {
  display: none;
  position: absolute;
  z-index: 101;
  background-color: #ffffff;
  box-shadow: 2px 2px 5px #c8c8c8;
  padding: 30px 0px 28px 0px !important;
}

#header-wrap-top #gnavi li ul.dropdown-menu li.menu-list {
  display: block !important;
  margin: 0px !important;
}

#header-wrap-top #gnavi li ul.dropdown-menu li.menu-list a {
  padding: 8px 40px 8px 40px !important;
  display: block !important;
}

#header-wrap-top #gnavi li ul.dropdown-menu li.menu-list a::after {
  bottom: 0px;
  height: 0px;
  transition: none;
}

#header-wrap-top #gnavi li ul.dropdown-menu li.menu-list a:hover {
  background-color: #e6e6e6;
}

#header-wrap-top #gnavi li:hover ul.dropdown-menu {
  display: block;
  pointer-events: auto;
  padding: 0px;
  top: 62px;
  margin-top: 2px;
  border-radius: 0px 0px 10px 10px;
}

#header-wrap-top.HeightMin {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 110;
  width: 100%;
  height: 80px;
}

#header-wrap-top.HeightMin {
  background-color: #ffffff;
  animation: DownAnime 0.5s forwards;
  margin: 0px;
  padding: 0px;
}

#header-wrap-top.HeightMin h1 img {
  width: 230px;
  content: url("../images/common/header_logo_fixed_pc.png");
}

#header-wrap-top.HeightMin nav {
  margin: 0px 30px 0px 0px;
  padding: 15px 0px 0px 0px;
}

#header-wrap-top.HeightMin nav #gnavi {
  list-style: none;
}

#header-wrap-top.HeightMin nav #gnavi li {
  margin: 0px 32px 0px 0px;
  text-decoration: none;
  display: inline-block;
}

#header-wrap-top.HeightMin nav #gnavi li.bt-contact {
  position: relative;
  z-index: 112;
  padding: 11px 0px 0px 39px;
  width: 220px;
  height: 50px;
  background: url("../images/common/header_mail_icon.png") no-repeat;
  background-position: 46px 17px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  box-shadow: 1px 1px 5px #81bdff;
  text-align: center;
}

@keyframes DownAnime {
  from {
    opacity: 0;
    transform: translateY(-170px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#header-wrap-top.HeightMin #gnavi li a {
  position: relative;
}

#header-wrap-top.HeightMin #gnavi li a::after {
  content: "";
  position: absolute;
  z-index: 112;
  bottom: -3px;
  left: 0%;
  width: 100%;
  height: 2px;
  background: #1353e5;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: center top;
}

#header-wrap-top.HeightMin #gnavi li a:hover::after {
  transform: scale(1, 1);
}

#header-wrap-top.HeightMin #gnavi li ul.dropdown-menu {
  display: none;
  position: absolute;
  z-index: 111;
  top: 10px;
  background-color: #ffffff;
  box-shadow: 2px 2px 5px #c8c8c8;
  padding: 30px 0px 28px 0px !important;
}

#header-wrap-top.HeightMin #gnavi li ul.dropdown-menu li.menu-list {
  display: block !important;
  margin: 0px !important;
}

#header-wrap-top.HeightMin #gnavi li ul.dropdown-menu li.menu-list a {
  padding: 8px 40px 8px 40px !important;
  display: block !important;
}

#header-wrap-top.HeightMin #gnavi li ul.dropdown-menu li.menu-list a::after {
  bottom: 0px;
  height: 0px;
  transition: none;
}

#header-wrap-top.HeightMin #gnavi li ul.dropdown-menu li.menu-list a:hover {
  background-color: #e6e6e6;
}

#header-wrap-top.HeightMin #gnavi li:hover ul.dropdown-menu {
  display: block;
  pointer-events: auto;
  padding: 0px;
  top: 51px;
  margin-top: 2px;
  border-radius: 0px 0px 10px 10px;
}

#header-wrap-other {
  display: flex;
  justify-content: space-between;
  position: fixed;
  z-index: 110;
  width: 100%;
  height: 80px;
}

#header-wrap-other {
  background-color: #ffffff;
  animation: DownAnime 0.5s forwards;
  margin: 0px;
  padding: 0px;
}

#header-wrap-other h1 img {
  width: 230px;
  content: url("../images/common/header_logo_fixed_pc.png");
}

#header-wrap-other nav {
  margin: 0px 30px 0px 0px;
  padding: 15px 0px 0px 0px;
}

#header-wrap-other nav #gnavi {
  list-style: none;
}

#header-wrap-other nav #gnavi li {
  margin: 0px 32px 0px 0px;
  text-decoration: none;
  display: inline-block;
}

#header-wrap-other nav #gnavi li.bt-contact {
  position: relative;
  z-index: 112;
  padding: 11px 0px 0px 39px;
  width: 220px;
  height: 50px;
  background: url("../images/common/header_mail_icon.png") no-repeat;
  background-position: 46px 17px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  box-shadow: 1px 1px 5px #81bdff;
  text-align: center;
}

#header-wrap-other {
  animation-name: none !important;
}

#header-wrap-other #gnavi li a {
  position: relative;
}

#header-wrap-other #gnavi li a::after {
  content: "";
  position: absolute;
  z-index: 112;
  bottom: -3px;
  left: 0%;
  width: 100%;
  height: 2px;
  background: #1353e5;
  transition: all 0.3s;
  transform: scale(0, 1);
  transform-origin: center top;
}

#header-wrap-other #gnavi li a:hover::after {
  transform: scale(1, 1);
}

#header-wrap-other #gnavi li ul.dropdown-menu {
  display: none;
  position: absolute;
  z-index: 111;
  top: 10px;
  background-color: #ffffff;
  box-shadow: 2px 2px 5px #c8c8c8;
  padding: 30px 0px 28px 0px !important;
}

#header-wrap-other #gnavi li ul.dropdown-menu li.menu-list {
  display: block !important;
  margin: 0px !important;
}

#header-wrap-other #gnavi li ul.dropdown-menu li.menu-list a {
  padding: 8px 40px 8px 40px !important;
  display: block !important;
}

#header-wrap-other #gnavi li ul.dropdown-menu li.menu-list a::after {
  bottom: 0px;
  height: 0px;
  transition: none;
}

#header-wrap-other #gnavi li ul.dropdown-menu li.menu-list a:hover {
  background-color: #e6e6e6;
}

#header-wrap-other #gnavi li:hover ul.dropdown-menu {
  display: block;
  pointer-events: auto;
  padding: 0px;
  top: 51px;
  margin-top: 2px;
  border-radius: 0px 0px 10px 10px;
}

.hamburger-menu {
  position: relative;
}

.menu-icon {
  width: 50px;
  height: 30px;
  position: fixed;
  top: 30px;
  right: 25px;
}

.menu-icon {
  cursor: pointer;
  z-index: 999;
  display: inline-block;
}

.menu-icon span {
  display: block;
  height: 3px;
  margin: 7px 0;
  background-color: #000000;
  border-radius: 2px;
  transition: 0.4s;
}

#menu-toggle:checked + .menu-icon span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}

#menu-toggle:checked + .menu-icon span:nth-child(2) {
  opacity: 0;
}

#menu-toggle:checked + .menu-icon span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

#menu-toggle:checked ~ .accordion-menu {
  opacity: 1;
  pointer-events: auto;
}

.accordion-menu {
  position: fixed;
  z-index: 113;
  width: 100%;
  height: 100vh !important;
  height: 100dvh !important;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  inset: 0;
  background-color: #ffffff;
  opacity: 0;
  pointer-events: none;
  transition: 0.4s;
  overscroll-behavior-y: none;
}

.accordion-menu::-webkit-scrollbar {
  display: none;
  width: 0;
}

.header-back-ad {
  position: fixed;
  z-index: 114;
  top: 0px;
  display: block;
  width: 100%;
  height: 60px;
  background-color: #ffffff;
}

.accordion-menu li {
  list-style: none;
  padding-top: 5px;
}

.accordion-menu ul ul {
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: 0.5s;
  background-color: #ffffff;
  margin: 0;
}

.accordion-menu button {
  position: relative;
  border: none;
  width: 100%;
  background-color: inherit;
  color: #000000;
  cursor: pointer;
  text-align: left;
  padding: 28px 0 30px 30px;
  font-size: 1.5rem;
  font-weight: 650;
}

.accordion-menu button:hover {
  background-color: #f6f9fc;
}

.accordion-menu button::before,
button::after {
  content: "";
  position: absolute;
  top: 33px;
  width: 1px;
  height: 8px;
  background-color: #787878;
  transition: 0.5s;
}

.accordion-menu button::before {
  transform: rotate(-45deg);
  right: 35px;
}

.accordion-menu button::after {
  transform: rotate(45deg);
  right: 30px;
}

.accordion-menu li.active button::before {
  transform: rotate(-135deg);
  transition: 0.5s;
}

.accordion-menu li.active button::after {
  transform: rotate(135deg);
  transition: 0.5s;
}

.accordion-menu ul div ul {
  background-color: #f6f9fc;
  height: auto;
  padding: 23px 0px 18px 0px;
  border-top: none;
  border-bottom: 1px solid #dddddd;
}

.accordion-menu ul li li:first-child {
  margin-top: 20px;
}

.accordion-menu ul li li:last-child {
  margin-bottom: 20px;
}

.accordion-menu ul li li a {
  display: block;
  width: 100%;
  height: auto;
  padding: 16px 0px 20px 50px;
  margin: 0;
}

.accordion-menu ul li li:hover {
  background-color: #e6e6e6;
}

.accordion-menu ul div ul li {
  background-color: #f6f9fc;
  height: auto;
  padding: 12px 0px 15px 50px;
  background: url("../images/common/accordion_menu.png") no-repeat;
  background-position: 30px 20px;
  background-size: 6px;
  font-weight: 650;
}

.accordion-menu ul div ul li a {
  display: block;
  width: 100%;
  height: auto;
}

.accordion-menu ul div li:hover {
  background-color: #e6e6e6;
}

/*-----------------------------------------------
 Wrapper
-----------------------------------------------*/

#base-wrapper {
  width: 100%;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

#wrapper-1100 {
  width: 1100px;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

/*-----------------------------------------------
 Main Contents
-----------------------------------------------*/

#contents-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 50px;
  width: 1100px;
  height: auto;
  margin: 0px auto 95px auto;
  padding: 145px 0px 0px 0px;
}

#contents-page {
  width: 900px;
  height: auto;
  overflow: hidden;
  margin: 0px auto 85px auto;
  padding: 145px 0px 0px 0px;
}

#contents-page .ttl-en {
  font-size: 2rem;
  color: #1353e5;
  font-family: "Oswald", sans-serif;
  font-weight: 550;
  letter-spacing: 0.04em;
  line-height: 1em;
}

#contents-page .ttl-jp {
  font-size: 4rem;
  font-weight: 650;
  margin-bottom: 65px;
}

#contents-page-sitemap {
  width: 900px;
  height: auto;
  overflow: hidden;
  margin: 0px auto 20px auto;
  padding: 145px 0px 0px 0px;
}

#contents-page-sitemap .ttl-en {
  font-size: 2rem;
  color: #1353e5;
  font-family: "Oswald", sans-serif;
  font-weight: 550;
  letter-spacing: 0.04em;
  line-height: 1em;
}

#contents-page-sitemap .ttl-jp {
  font-size: 4rem;
  font-weight: 650;
  margin-bottom: 65px;
}

#main-contents {
  width: 750px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

#main-contents .ttl-en {
  font-size: 2rem;
  color: #1353e5;
  font-family: "Oswald", sans-serif;
  font-weight: 450;
  letter-spacing: 0.04em;
  line-height: 0em;
  margin-bottom: 10px;
}

#main-contents .ttl-jp {
  font-size: 4rem;
  font-weight: 650;
  margin-bottom: 75px;
}

#main-contents .wb-list-ttl {
  font-size: 3rem;
  font-weight: 750;
  margin-bottom: 50px;
}

#main-contents .wb-page-ttl {
  font-size: 3rem;
  font-weight: 750;
  margin-bottom: 15px;
}

#main-contents .post-info {
  margin-bottom: 12px;
}

#main-contents .sns-share-button {
  font-size: 1.3rem;
  margin-bottom: 20px;
}

#main-contents .cat-tag {
  font-size: 1.3rem;
  margin-bottom: 40px;
  padding: 30px;
  background-color: #f6f9fc;
}

#main-contents .cat-tag a {
  text-decoration: underline;
}

#main-contents .cat-tag a:hover {
  opacity: 0.6;
}

.container-2colum-layout {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 40px;
  margin-bottom: 50px;
  padding-bottom: 50px;
}

.container-2colum-layout:nth-child(odd) {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 40px;
  margin-bottom: 50px;
  padding-bottom: 50px;
}

.left-colum-360 {
  margin: 0px;
  padding: 0px;
  width: 360px;
  height: auto;
}

.right-colum-350 {
  margin: 0px;
  padding: 0px;
  width: 350px;
  height: auto;
}

.container-2colum-layout-noreverce {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 40px;
  margin-bottom: 50px;
  padding-bottom: 50px;
}

.left-colum-355 {
  margin: 0px;
  padding: 0px;
  width: 355px;
  height: auto;
}

.right-colum-355 {
  margin: 0px;
  padding: 0px;
  width: 355px;
  height: auto;
}

/*-----------------------------------------------
 Works・Blog：List Page Base Layout
-----------------------------------------------*/

.wb-post-list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 40px;
  margin: 40px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

.wb-post-list-360 {
  margin: 0px;
  padding: 0px;
  width: 360px;
  height: auto;
}

.wb-post-list-img {
  width: 360px;
  height: 202px;
}

.wb-post-list-img {
  overflow: hidden;
}

.wb-post-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.wb-post-list-ttl {
  font-size: 1.8rem;
  font-weight: 750;
  margin: 15px 0px 10px 0px;
  text-decoration: underline;
}

a .wb-post-list-ttl:hover {
  opacity: 0.8;
}

.wb-post-list2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 40px;
  margin: 40px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

.wb-post-list2-320 {
  margin: 0px;
  padding: 0px;
  width: 320px;
  height: auto;
}

.wb-post-list2-img {
  width: 320px;
  height: 182px;
}

.wb-post-list2-img {
  overflow: hidden;
}

.wb-post-list2-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.wb-post-list2-400 {
  margin: 0px;
  padding: 0px;
  width: 400px;
  height: auto;
}

.wb-post-list2-ttl {
  font-size: 1.8rem;
  font-weight: 750;
  margin: 15px 0px 10px 0px;
  text-decoration: underline;
}

a .wb-post-list2-ttl:hover {
  opacity: 0.8;
}

.wb-post-list2-400 p {
  font-size: 1.3rem;
}

/*-----------------------------------------------
 Works・Blog：Detail Page Base Layout
-----------------------------------------------*/

.wb-detail {
  height: auto;
  margin-bottom: 80px;
}

a .wb-link {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 12px;
  margin: 10px 0px 0px 0px;
  padding: 0px;
  overflow: hidden;
}

a .wb-link:hover {
  opacity: 0.8;
}

.wb-link-img {
  width: 90px;
  height: 90px;
}

.wb-link-img {
  overflow: hidden;
}

a .wb-link .wb-link-outline-wrapper {
  width: 200px;
}

.wb-link-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 6px;
}

.wb-link-catch-copy {
  font-size: 1.3rem;
  line-height: 1.4em;
  letter-spacing: 0.03em;
  margin-bottom: 0px;
}

/*-----------------------------------------------
 Sidenavi
-----------------------------------------------*/

#sidenavi {
  width: 300px;
  height: auto;
  margin: 0px;
  padding: 0px;
}

#sidenavi .ttl-en {
  font-size: 1.6rem;
  color: #1353e5;
  font-family: "Oswald", sans-serif;
  font-weight: 460;
  letter-spacing: 0.04em;
  line-height: 1.5em;
}

#sidenavi .ttl-jp {
  font-size: 1.8rem;
  font-weight: 650;
  line-height: 0em;
  margin-bottom: 15px;
}

.position-sticky {
  position: sticky;
  top: 150px;
  margin: 0px;
  padding: 0px;
}

#sidenavi ul {
  margin-left: 20px;
}

#sidenavi ul li {
  margin-bottom: 12px;
}

#sidenavi ul li a:hover {
  text-decoration: underline;
  opacity: 0.6;
}

.category-list-line {
  border-left: 1px solid #dddddd;
}

.tag {
  display: inline-block;
  font-size: 1.3rem;
  background-color: #ffffff;
  margin: 0px 4px 5px 0px;
  padding: 1px 14px 1px 14px;
  tex-align: center;
  border: 1px solid #000000;
  border-radius: 15px;
}

a .tag:hover {
  font-size: 1.3rem;
  color: #ffffff;
  background-color: #000000;
}

.tag-search {
  display: inline-block;
  font-size: 1.3rem;
  background-color: #ffffff;
  margin: 0px 6px 6px 0px;
  padding: 5px 25px 5px 25px;
  tex-align: center;
  border: 1px solid #000000;
  border-radius: 20px;
}

a .tag-search:hover {
  font-size: 1.3rem;
  color: #ffffff;
  background-color: #000000;
}

.baner-space {
  margin: 50px 0px 0px 0px;
  padding: 0px;
}

.baner-space img {
  width: 300px;
  height: auto;
  margin-bottom: 20px;
}

a .service-link-type1 {
  display: block;
  margin: 0px 0px 15px 0px;
  padding: 0px;
  overflow: hidden;
}

a .service-link-type1:hover {
  opacity: 0.8;
}

.service-link-img-type1 {
  width: 300px;
  height: 180px;
}

.service-link-img-type1 {
  overflow: hidden;
}

.service-link-img-type1 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 10px;
}

a .service-link-type2 {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 12px;
  margin: 10px 0px 0px 0px;
  padding: 0px;
  overflow: hidden;
}

a .service-link-type2:hover {
  opacity: 0.8;
}

.service-link-img-type2 {
  width: 90px;
  height: 90px;
}

.service-link-img-type2 {
  overflow: hidden;
}

a .service-link-type2 .service-link-outline-wrapper {
  width: 200px;
}

.service-link-img-type2 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 6px;
}

.service-link-catch-copy {
  font-size: 1.3rem;
  line-height: 1.4em;
  letter-spacing: 0.03em;
  margin-bottom: 0px;
}

/*-----------------------------------------------
 Form：Main Contents & Form
-----------------------------------------------*/

#form-contents-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  column-gap: 60px;
  width: 1100px;
  height: auto;
  margin: 0px auto 95px auto;
  padding: 145px 0px 0px 0px;
}

#form-main-contents {
  width: 520px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

#form-main-contents h2 {
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0em;
  margin-bottom: 25px;
}

#form-main-contents p {
  margin: 0px 0px 35px 0px;
  padding: 0px 0px 0px 0px;
}

.form-img {
  width: 520px;
  height: 320px;
  margin-bottom: 40px;
}

.form-img {
  overflow: hidden;
}

.form-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 20px;
}

.form-bt-area {
  width: 100%;
  height: auto;
  margin: 0px auto 0px auro;
  padding: 40px;
  background-color: #f6f9fc;
}

.form-address-area {
  width: 100%;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 40px 40px 20px 40px;
  background-color: #f6f9fc;
}

#form-main-contents p br {
  display: block !important;
}

#form-main-contents h3 {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-weight: 750;
  line-height: 1.5em;
  margin-bottom: 25px;
  padding: 0px 0px 0px 0px;
}

#form-main-contents h3 img {
  width: 25px;
  height: auto;
  margin-right: 8px;
}

#form-main-contents .recommend {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5em;
  padding-top: 10px;
  margin-bottom: 12px;
}

#form-main-contents .recommend img {
  width: 18px;
  height: 15px;
}

#form-main-contents .recommend-txt {
  margin-bottom: 15px;
}

#form-main-contents strong {
  display: block;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5em;
  margin-bottom: 35px;
}

#form-main-contents .strong-txt {
  font-weight: 700;
}

#form-main-contents .bm-15 {
  margin-bottom: 15px;
}

.color-blue {
  color: #1353e5;
}

.form-bt {
  width: 440px;
  height: 50px;
  margin-bottom: 10px;
  padding: 12px 0px 0px 3px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.form-bt:hover {
  opacity: 0.8;
}

#form {
  width: 520x;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

#form .form-ttl {
  font-size: 2.5rem;
  font-weight: 750;
  color: #1353e5;
  margin-bottom: 35px;
  text-align: left;
}

#form .form-container {
  font-size: 1.5rem;
  font-weight: normal;
}

/*-----------------------------------------------
 Pagenation
-----------------------------------------------*/

/* Pasination */

.pasination {
  margin: 0px auto;
  padding: 40px 0px 0px 0px;
  height: auto;
  clear: both;
}

.wp-pagenavi {
  font-size: 1.5rem;
  color: #000000;
  clear: both;
  margin: 10px 0px 0px 0px;
  height: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
  margin: 0px -1px 0px 0px;
  padding: 11.3px 20px 11.3px 20px;
  text-decoration: none;
  border: 1px solid #dddddd;
  background-color: #ffffff;
}

.wp-pagenavi a:hover,
.wp-pagenavi span.current {
  border: 1px solid #1353e6;
  background-color: #ffffff;
}

.wp-pagenavi span.current {
  font-weight: normal;
  color: #ffffff;
  border-color: 1px solid #1353e6;
  background-color: #1353e6;
  padding: 13.1px 20px 13.8px 20px;
}

.wp-pagenavi a:hover {
  color: #ffffff;
  text-decoration: none;
  border-color: 1px solid #1353e6;
  background-color: #1353e6;
}

.wp-pagenavi .previouspostslink {
  width: 50px;
  height: 50px;
  text-indent: -5px;
}

.wp-pagenavi .nextpostslink {
  width: 50px;
  height: 50px;
}

/*-----------------------------------------------
 Fotter Archive
-----------------------------------------------*/

.related-articles {
  width: 750px;
  height: auto;
  overflow: hidden;
  border: 1px solid #dddddd;
  border-radius: 10px;
  margin: 0px 0px 80px 0px;
  padding: 30px 27px 30px 27px;
}

.ttl-ral {
  width: 100%;
  font-size: 1.5rem;
  color: #1353e5;
  font-weight: 750;
  margin-bottom: 20px;
  padding: 0px 0px 25px 20px;
  background: url("../images/common/related-articles_icon.png") no-repeat;
  background-position: 0px 5px;
  background-size: 16px 15px;
  border-bottom: 1px solid #dddddd;
}

.related-articles ul {
  margin-left: 30px;
}

.related-articles ul li {
  list-style-type: disc;
}

.related-articles ul li::marker {
  font-size: 0.8rem;
}

.related-articles ul a {
  display: block;
  margin-bottom: 5px;
}

.related-articles ul a:last-child {
  display: block;
  margin-bottom: 0px;
}

.related-articles ul a li {
  text-decoration: underline;
}

.related-articles ul a li:hover {
  opacity: 0.6;
}

.achievements-wrapper {
  width: 100%;
  margin: 0px;
  padding: 0px;
}

.achievements-hr-line {
  width: 750px;
  margin: 0px auto 50px auto;
  color: #1353e5;
  border-bottom: 1px solid #1353e5;
  position: relative;
}

.achievements-hr-line::after {
  content: "";
  position: absolute;
  width: 85%;
  border-bottom: 1px solid #dddddd;
  bottom: -1px;
  right: 0px;
}

.achievements-introduction {
  margin: 0px;
  padding: 0px;
}

.container-achievements {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 30px;
  margin-bottom: 50px;
  row-gap: 40px;
}

.achievements-item {
  width: 360px;
  height: auto;
}

a .achievements-item:hover {
  opacity: 0.8;
}

.achievements-item .company-name {
  font-size: 1.4rem;
  margin: 0px;
  padding: 0px;
}

/*-----------------------------------------------
 Footer
-----------------------------------------------*/

.breadcrumbs-back {
  display: flex;
  flex-direction: row;
  justify-content: start;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 18px 0px 18px 0px;
  background-color: #313439;
}

.breadcrumbs {
  width: 1400px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 50px 0px 50px;
  font-size: 1.3rem;
  color: #ffffff;
}

.breadcrumbs a {
  color: #ffffff;
}

.breadcrumbs a:hover {
  opacity: 0.6;
}

.fotter-link-back {
  width: 100%;
  height: auto;
  margin: 0px;
  padding: 45px 0px 0px 0px;
  background-color: #f6f9fc;
}

.fotter-link {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: strech;
  flex-wrap: wrap;
  column-gap: 50px;
  width: 1400px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 10px 0px;
  border-bottom: 1px solid #dddddd;
}

.fotter-link a:hover {
  opacity: 0.6;
}

.fotter-link ul {
  margin-bottom: 35px;
}

.fotter-link ul a.first-layer {
  font-weight: 750;
  margin-bottom: 10px;
}

.fotter-link ul li {
  margin: 0px 0px 10px 10px;
}

.fotter-link ul li:last-child {
  margin: 0px 0px 0px 10px;
}

.fotter-link ul li.first-layer {
  font-weight: 750;
}

.accordion-menu-footer {
  width: 100%;
  height: auto;
}

.accordion-menu-footer li {
  list-style: none;
  padding-top: 5px;
}

.accordion-menu-footer ul ul {
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: 0.5s;
  background-color: #ffffff;
  margin: 0;
}

.accordion-menu-footer button {
  position: relative;
  border: none;
  width: 100%;
  background-color: inherit;
  color: #000000;
  cursor: pointer;
  text-align: left;
  padding: 28px 0 30px 30px;
  font-size: 1.5rem;
  font-weight: 650;
}

.accordion-menu-footer button:hover {
  background-color: #f6f9fc;
}

.accordion-menu-footer button::before,
button::after {
  content: "";
  position: absolute;
  top: 33px;
  width: 1px;
  height: 8px;
  background-color: #787878;
  transition: 0.5s;
}

.accordion-menu-footer button::before {
  transform: rotate(-45deg);
  right: 35px;
}

.accordion-menu-footer button::after {
  transform: rotate(45deg);
  right: 30px;
}

.accordion-menu-footer li.active button::before {
  transform: rotate(-135deg);
  transition: 0.5s;
}

.accordion-menu-footer li.active button::after {
  transform: rotate(135deg);
  transition: 0.5s;
}

.accordion-menu-footer ul div ul {
  background-color: #f6f9fc;
  height: auto;
  padding: 23px 0px 18px 0px;
  border-top: none;
  border-bottom: 1px solid #dddddd;
}

.accordion-menu-footer ul li li:first-child {
  margin-top: 20px;
}

.accordion-menu-footer ul li li:last-child {
  margin-bottom: 20px;
}

.accordion-menu-footer ul li li a {
  display: block;
  width: 100%;
  height: auto;
  padding: 16px 0px 20px 50px;
  margin: 0;
}

.accordion-menu-footer ul li li:hover {
  background-color: #e6e6e6;
}

.accordion-menu-footer ul div ul li {
  background-color: #f6f9fc;
  height: auto;
  padding: 12px 0px 15px 50px;
  background: url("../images/common/accordion_menu.png") no-repeat;
  background-position: 30px 20px;
  background-size: 6px;
  font-weight: 650;
}

.accordion-menu-footer ul div ul li a {
  display: block;
  width: 100%;
  height: auto;
}

.accordion-menu-footer ul div li:hover {
  background-color: #e6e6e6;
}

.base-introduction-back {
  width: 100%;
  height: auto;
  margin: 0px;
  padding: 40px 0px 0px 0px;
  background-color: #f6f9fc;
}

.base-introduction {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: strech;
  flex-wrap: wrap;
  column-gap: 35px;
  width: 1400px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.base-outline {
  margin: 0px 0px 40px 0px;
  padding: 30px 35px 0px 0px;
  border-right: 1px solid #dddddd;
}

.base-outline br {
  display: block !important;
}

.base-outline:first-child {
  padding: 0px 35px 0px 0px;
}

.base-outline:nth-child(2) {
  padding: 30px 35px 30px 0px;
}

.base-outline:nth-child(3) {
  padding: 30px 35px 30px 0px;
}

.base-outline:last-child {
  padding: 30px 0px 30px 0px;
  border-right: none;
}

.base-outline p {
  font-size: 1.3rem;
  line-height: 1.65em;
}

.base-outline h3 {
  font-size: 1.4rem;
  font-weight: 750;
  margin-bottom: 10px;
}

.base-outline img {
  width: 260px;
  height: auto;
  margin-top: 20px;
}

.sns-copyright-back {
  width: 100%;
  height: auto;
  margin: 0px;
  padding: 0px 0px 70px 0px;
  background-color: #f6f9fc;
}

.container-sns-copyright {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  row-gap: 30px;
  width: 1400px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 60px 0px 0px 0px;
  border-top: 1px solid #dddddd;
}

.sns-link {
  height: auto;
  margin: 0px;
  padding: 0px;
}

.sns-link a:hover {
  opacity: 0.6;
}

.sns-link img {
  height: 18px;
  margin: 0px 7px;
}

.container-sns-copyright small {
  font-size: 1.3rem;
}

#page-top a:hover {
  opacity: 0.8;
}

/*-----------------------------------------------
 Scroll Adjustment
-----------------------------------------------*/

:target {
  scroll-margin-top: 80px;
}

/*-----------------------------------------------
 PC・SP Display Change
-----------------------------------------------*/

/*-----------------------------------------------
 TOPページ
-----------------------------------------------*/

#main-visual {
  position: relative;
  width: 100%;
  height: 750px;
  margin: 0px 0px 80px 0px;
  padding: 0px 0px 0px 0px;
  overflow: hidden;
}

#main-visual .splide__slide {
  padding: 0px 20px 0px 20px;
}

.mv-left-image {
  position: absolute;
  z-index: -1;
  top: 0px;
  left: -720px;
  width: 2000px;
  height: 750px;
  overflow: hidden;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.mv-left-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

#main-visual img {
  position: absolute;
  z-index: 1;
  top: 0px;
  left: 36%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  border-radius: 0 0 0 100px;
}

.main-visual-outline {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 1100px;
  height: 750px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.main-visual-outline p {
  fontsize: 1.5rem;
  font-weight: 300;
  font-family: "Oswald", sans-serif;
  line-height: 1.73em;
  margin: 0px 0px 20px 0px;
  padding: 0px 0px 0px 0px;
}

.main-visual-outline h1 {
  font-size: 5rem;
  font-weight: 850;
  line-height: 1.4em;
  margin: 0px 0px 30px 0px;
  padding: 0px;
}

.catch-copy-wrapper {
  margin-bottom: 40px;
}

.link-bt-wrapper {
  display: flex;
  flex-direction: row;
  align-items: center;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
}

a.web-icon {
  display: block;
  height: 69px;
  font-size: 1.5rem;
  font-weight: 650;
  background: url("../images/top/link_web.png") no-repeat;
  background-position: 0px 0px;
  background-size: 61px 69px;
  padding: 22px 0px 0px 70px;
  margin-right: 50px;
  text-decoration: underline;
}

a.web-icon:hover {
  opacity: 0.6;
}

a.dl-icon {
  display: block;
  height: 69px;
  font-size: 1.5rem;
  font-weight: 650;
  background: url("../images/top/link_download.png") no-repeat;
  background-position: 0px 0px;
  background-size: 61px 69px;
  padding: 22px 0px 0px 70px;
  text-decoration: underline;
}

a.dl-icon:hover {
  opacity: 0.6;
}

#news {
  width: 1100px;
  height: auto;
  margin: 0px auto 50px auto;
  padding: 0px 0px 0px 0px;
}

.news-wrapper {
  width: 1000px;
  height: auto;
  margin: 0px;
  padding: 0px;
  float: left;
}

.entry {
  height: 30px;
  line-height: 30px;
  margin: 0px 0px 20px 0px;
  padding: 0px 0px 0px 0px;
}

.entry:last-child {
  margin: 0px 0px 0px 0px;
}

.day {
  display: inline-block;
  vertical-align: middle;
  height: auto;
  margin: 0px 25px 0px 0px;
  padding: 0px;
}

.icon-visit {
  display: inline-block;
  vertical-align: middle;
  width: 120px;
  height: auto;
  margin: 0px 25px 0px 0px;
  padding: 1px 0px 1px 0px;
  overflow: hidden;
  text-align: center;
  font-size: 1.3rem;
  color: #9bd75b;
  text-decoration: none;
  line-height: 2em;
  background-color: #ffffff;
  border-radius: 18px;
  border: 1px solid #9bd75b;
}

a:hover .icon-visit {
  color: #ffffff;
  text-decoration: none;
  background-color: #9bd75b;
}

.icon-info {
  display: inline-block;
  vertical-align: middle;
  width: 120px;
  height: auto;
  margin: 0px 25px 0px 0px;
  padding: 1px 0px 1px 0px;
  overflow: hidden;
  text-align: center;
  font-size: 1.3rem;
  color: #0044df;
  text-decoration: none;
  line-height: 2em;
  background-color: #ffffff;
  border-radius: 18px;
  border: 1px solid #0044df;
}

a:hover .icon-info {
  color: #ffffff;
  text-decoration: none;
  background-color: #0044df;
}

.icon-event {
  display: inline-block;
  vertical-align: middle;
  width: 120px;
  height: auto;
  margin: 0px 25px 0px 0px;
  padding: 1px 0px 1px 0px;
  overflow: hidden;
  text-align: center;
  font-size: 1.3rem;
  color: #ffc12d;
  text-decoration: none;
  line-height: 2em;
  background-color: #ffffff;
  border-radius: 18px;
  border: 1px solid #ffc12d;
}

a:hover .icon-event {
  color: #ffffff;
  text-decoration: none;
  background-color: #ffc12d;
}

.news-ttl {
  display: inline-block;
}

.news-ttl {
  vertical-align: middle;
  height: auto;
  margin: 0px;
  padding: 0px;
}

.news-ttl a {
  text-decoration: underline;
}

.news-ttl a:hover {
  opacity: 0.6;
}

.news-list {
  height: auto;
  margin: 0px;
  padding: 25px 0px 0px 0px;
  text-align: right;
}

#video-production {
  width: 1200px;
  height: auto;
  margin: 0px auto 50px auto;
  padding: 0px 0px 0px 0px;
}

#security-printing {
  width: 1200px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px 0px 0px 50px;
}

.container-service-vp {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 95px;
}

.container-service-sp {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 95px;
}

.service-img {
  width: 600px;
  height: 420px;
}

.service-img {
  overflow: hidden;
}

.service-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 30px;
}

.service-outline-vp {
  position: relative;
  width: 505px;
  height: auto;
}

.service-outline-sp {
  position: relative;
  width: 505px;
  height: auto;
}

.catch-top {
  margin-bottom: 10px;
}

.ttl-top {
  margin-bottom: 13px;
  padding-top: 0px;
  font-size: 4rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.ttl-top .middle {
  font-size: 3rem;
  font-weight: 650;
}

.lead-top {
  margin-bottom: 35px;
}

#security-printing .lead-top {
  padding-right: 50px;
}

.reg {
  font-size: 4rem;
  font-weight: 650;
}

#service-other {
  width: 1315px;
  height: auto;
  overflow: hidden;
  margin: 0px auto 50px auto;
  padding: 0px 0px 0px 105px;
}

a.service-other-link {
  display: block;
  margin: 0px;
  padding: 0px;
}

a.service-other-link:hover {
  opacity: 0.8;
}

.container-service-other {
  float: left;
  width: 510px;
  height: auto;
  margin: 0px 90px 40px 0px;
  padding: 0px 0px 0px 0px;
}

.service-other-img {
  float: left;
  width: 220px;
  height: 220px;
  margin: 0px 30px 0px 0px;
  vertical-align: bottom;
}

.service-other-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 20px;
}

.service-other-outline {
  float: left;
  position: relative;
  width: 260px;
  height: auto;
  margin: 0px;
  padding: 0px;
}

.ttl-top-so {
  position: relative;
  display: inline-block;
  margin: 38px 0px 20px 0px;
  font-size: 2.3rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.ttl-top-so::before {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  height: 1px;
  background-color: #000000;
}

.lead-top-so {
  margin: 0px;
}

.works-back {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  margin: 0px auto 100px auto;
  padding: 100px 0px 100px 0px;
  background-color: #f6f9fc;
}

#works {
  width: 1200px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 50px;
}

.container-works {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 70px;
}

.works-img {
  width: 650px;
  height: 400px;
}

.radius-on {
  border-radius: 30px;
}

.radius-off {
  border-radius: none;
}

.works-outline {
  position: relative;
  width: 372px;
  height: auto;
  margin: 0px 0px 0px 0px;
}

#works .ttl-top {
  padding-top: 30px;
}

#recruit {
  width: 1200px;
  height: auto;
  margin: 0px auto 100px auto;
  padding: 0px 0px 0px 0px;
}

.container-recruit {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 70px;
}

.recruit-img {
  width: 650px;
  height: 400px;
}

.recruit-outline {
  position: relative;
  width: 425px;
  height: auto;
  margin: 0px 0px 0px 0px;
}

.back-text-recruit__l {
  position: absolute;
  z-index: -1;
  top: -105px;
  right: -110px;
  user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  font-family: "Oswald", sans-serif;
  font-size: 13rem;
  color: #e6ecfa;
  font-weight: 700;
  line-height: 1.1em;
}

#recruit .ttl-top {
  padding-top: 30px;
}

#company {
  position: relative;
  z-index: 1;
  background: url("../images/top/company_back_pc.png") no-repeat;
  background-size: 100% 540px;
  width: 100%;
  height: 540px;
  margin: 0px auto 100px auto;
  padding: 0px 0px 0px 0px;
}

.container-company {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 110px;
  width: 1100px;
  height: 540px;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.company-img {
  width: 620px;
  height: auto;
}

.company-img img {
  border-radius: 30px;
}

.company-outline {
  position: relative;
  width: 370px;
  height: auto;
  margin: 0px 0px 0px 0px;
}

#other {
  max-width: 1100px;
  height: auto;
  margin: 0px auto 100px auto;
  padding: 0px 0px 0px 0px;
}

.container-other {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: flex-start;
  column-gap: 60px;
}

.factory-tour {
  width: 520px;
  height: auto;
}

.community-contributions-activities {
  width: 520px;
  height: auto;
}

.factory-tour img {
  margin: 0px 0px 25px 0px;
  border-radius: 20px;
}

.community-contributions-activities img {
  margin: 0px 0px 25px 0px;
  border-radius: 20px;
}

.other-ttl {
  font-size: 3rem;
  font-weight: 600;
  margin-bottom: 12px;
}

.other-text {
  margin: 0px 0px 30px 0px;
}

.other-text br {
  display: block !important;
}

#news-bottom {
  width: 1100px;
  height: auto;
  margin: 0px auto 100px auto;
  padding: 0px 0px 0px 0px;
}

.news-hr-line-wrapper {
  width: 100%;
  margin: 0px;
  padding: 0px;
}

.news-hr-line {
  width: 1100px;
  margin: 0px auto 50px auto;
  color: #1353e5;
  border-bottom: 1px solid #1353e5;
  position: relative;
}

.news-hr-line::after {
  content: "";
  position: absolute;
  width: 90%;
  border-bottom: 1px solid #dddddd;
  bottom: -1px;
  right: 0px;
}

.ttl-category {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  width: 1100px;
  height: auto;
  margin: 0px 0px 55px 0px;
  padding: 0px 0px 0px 0px;
}

.news-bottom-wrapper {
  width: 1100px;
  height: auto;
  margin: 0px 0px 100px 0px;
  padding: 0px 0px 75px 0px;
  border-bottom: 1px solid #dddddd;
}

.tab-panel {
  display: none;
}

.tab-panel.active {
  display: block;
}

.tab-menu .tab-link.active {
  font-weight: 650;
  padding-bottom: 5px;
  border-bottom: 2px solid #000000;
}

.tab-menu button {
  background: none;
  border: none;
  padding: 0;
  color: #000000;
  cursor: pointer;
}

.tab-menu button:hover {
  opacity: 0.6;
}

.news-active {
  font-weight: 650;
  padding-bottom: 5px;
  border-bottom: 2px solid #000000;
}

/*-----------------------------------------------
 サービス一覧/ぎぞらーず/映像・動画制作
-----------------------------------------------*/

#service-list-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 660px;
  margin: 0px 0px 90px 0px;
  padding: 45px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#service-list-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

#security-printing-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 660px;
  margin: 0px 0px 80px 0px;
  padding: 45px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#security-printing-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.security-printing-about1 {
  width: 1100px;
  height: auto;
  margin: 0px auto 75px auto;
  padding: 0px 0px 0px 0px;
}

.security-printing-about2 {
  width: 1100px;
  height: auto;
  margin: 0px auto 90px auto;
  padding: 0px 0px 0px 0px;
}

.security-printing-about2 ul {
  margin-left: 5px;
  padding: 5px 40px 5px 0px;
  list-style-position: inside;
}

.security-printing-about2 ul li {
  list-style-type: disc;
}

.security-printing-about2 ul li::marker {
  font-size: 0.8rem;
}

.container-tracking {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
  column-gap: 25px;
  row-gap: 65px;
  width: 1100px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px;
}

.tracking {
  position: relative;
  display: flex;
  flex-direction: colum;
  justify-content: flex-start;
  align-items: center;
  column-gap: 25px;
}

.tracking-img {
  column-gap: 10px;
  width: 350px;
  height: 180px;
  overflow: hidden;
  box-shadow: 2px 2px 12px #e4f0f0;
  border-radius: 10px;
}

.tracking-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.caption {
  position: absolute;
  top: 190px;
  left: 0;
  right: 0;
}

.ex {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  row-gap: 20px;
  column-gap: 50px;
  width: 1100px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 40px;
  text-align: left;
  background-color: #ffffff;
  box-shadow: 2px 2px 12px #e4f0f0;
  border-radius: 10px;
}

.ex h3 {
  width: 18%;
  font-size: 1.5rem;
  color: #1353e5;
  font-weight: 750;
}

.ex p {
  width: 82%;
}

.ex p br {
  display: block !important;
}

.technology {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 50px;
  row-gap: 35px;
  width: 1100px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px;
}

.ex-technology {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-end;
  column-gap: 20px;
  width: 525px;
  height: auto;
  margin: 0px;
  padding: 0px;
}

.technology-item {
  width: 250px;
  height: auto;
  overflow: hidden;
  margin: 0px;
  padding: 0px;
}

.technology-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.ex-technology h3 {
  font-size: 1.5rem;
  color: #1353e5;
  font-weight: 750;
  margin-bottom: 12px;
}

.ex-technology p {
  width: 250px;
  height: auto;
  font-size: 1.3rem;
}

#video-production-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 660px;
  margin: 0px 0px 80px 0px;
  padding: 45px 0px 0px 0px;
}

#video-production-mv {
  background-color: #000000;
  overflow: hidden;
}

#video-production-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.movie-production-assignment {
  width: 1100px;
  height: auto;
  margin: 0px auto 75px auto;
  padding: 0px 0px 0px 0px;
}

.movie-production-stadio-wrapper {
  width: 100%;
  height: auto;
  margin: 0px auto 75px auto;
  padding: 75px 0px 75px 0px;
  background-color: #f6f9fc;
}

.movie-production-stadio {
  width: 1100px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.movie-production-onestop {
  width: 1100px;
  height: auto;
  margin: 0px auto 75px auto;
  padding: 0px 0px 0px 0px;
}

.service-outline {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 1100px;
  height: 630px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.service-outline h1 {
  font-size: 5rem;
  color: #ffffff;
  font-weight: 650;
  line-height: 1.4em;
  margin: 0px 0px 25px 0px;
  padding: 0px;
}

.service-outline p {
  font-size: 1.8rem;
  color: #ffffff;
  line-height: 1.73em;
  margin: 0px 0px 35px 0px;
  padding: 0px 20px 0px 0px;
}

.ttl_name {
  margin-bottom: 25px;
  padding: 8px 36px 8px 36px;
  font-size: 1.8rem;
  color: #ffffff;
  background-color: #1353e5;
}

.bt-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
}

.service-outline .bt-contact {
  padding: 11px 0px 0px 45px;
  width: 240px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 59px 17px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
  margin-right: 10px;
}

.service-outline .bt-contact:hover {
  opacity: 0.8;
}

.service-outline .bt-sample {
  padding: 11px 0px 0px 39px;
  width: 240px;
  height: 50px;
  background: url("../images/common/sample_icon.png") no-repeat;
  background-position: 44px 15px;
  background-size: 20px 17px;
  background-color: #ffffff;
  border-radius: 25px;
  text-align: center;
  margin-right: 10px;
}

.service-outline .bt-sample:hover {
  opacity: 0.8;
}

.service-outline .bt-download {
  padding: 11px 0px 0px 42px;
  width: 240px;
  height: 50px;
  background: url("../images/common/cta_document_icon.png") no-repeat;
  background-position: 50px 15px;
  background-size: 15px 20px;
  background-color: #ffc12d;
  border-radius: 25px;
  text-align: center;
}

.service-outline .bt-download:hover {
  opacity: 0.8;
}

#security-printing-mv-ft {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 540px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#security-printing-mv-ft img {
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

#video-production-mv-ft {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 540px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#video-production-mv-ft img {
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.service-outline-ft {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1100px;
  height: 540px;
  margin: 0px auto 0px auto;
  padding: 0px;
  text-align: center;
}

.service-outline-ft h2 {
  font-size: 4rem;
  color: #ffffff;
  font-weight: 650;
  line-height: 1.4em;
  margin: 0px 0px 25px 0px;
  padding: 0px;
}

.service-outline-ft p {
  font-size: 1.5rem;
  color: #ffffff;
  line-height: 1.73em;
  margin: 0px 0px 35px 0px;
  padding: 0px 0px 0px 0px;
}

.ttl_name-ft {
  margin-bottom: 25px;
  padding: 8px 36px 8px 36px;
  font-size: 1.5rem;
  color: #ffffff;
  background-color: #1353e5;
}

.bt-wrapper-ft {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
}

.service-outline-ft .bt-contact {
  padding: 11px 0px 0px 45px;
  width: 240px;
  height: 50px;
  background: url("../images/common/cta_mail_icon.png") no-repeat;
  background-position: 59px 17px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
  margin-right: 10px;
}

.service-outline-ft .bt-contact:hover {
  opacity: 0.8;
}

.service-outline-ft .bt-sample {
  padding: 11px 0px 0px 39px;
  width: 240px;
  height: 50px;
  background: url("../images/common/sample_icon.png") no-repeat;
  background-position: 44px 15px;
  background-size: 20px 17px;
  background-color: #ffffff;
  border-radius: 25px;
  text-align: center;
  margin-right: 10px;
}

.service-outline-ft .bt-sample:hover {
  opacity: 0.8;
}

.service-outline-ft .bt-download {
  padding: 11px 0px 0px 42px;
  width: 240px;
  height: 50px;
  background: url("../images/common/cta_document_icon.png") no-repeat;
  background-position: 50px 15px;
  background-size: 15px 20px;
  background-color: #ffc12d;
  border-radius: 25px;
  text-align: center;
}

.service-outline-ft .bt-download:hover {
  opacity: 0.8;
}

.container-sp-vp {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 40px;
}

.container-vp {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 40px;
}

.bm {
  margin-bottom: 70px;
}

.sp-vp-img {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  row-gap: 15px;
  width: 550px;
  height: 380px;
}

.sp-vp-img img {
  border-radius: 30px;
}

.img-bm {
  margin-bottom: 5px;
}

.outline-sp-vp {
  width: 510px;
  height: auto;
}

.outline-vp {
  width: 510px;
  height: auto;
  padding-left: 30px;
}

.ttl-center-layout {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  margin: 0px auto 80px auto;
  pdding: 0px;
  text-align: center;
  background-color: #f6f9fc;
}

.outline-wrapper {
  margin: 0px 0px 0px 0px;
  padding: 88px 0px 70px 0px;
  height: auto;
  overflow: hidden;
}

.outline-wrapper-works {
  margin: 0px;
  padding: 88px 0px 70px 0px;
  height: auto;
  overflow: hidden;
}

.catch-sp-vp {
  margin-bottom: 20px;
  padding: 6px 23px 7px 23px;
  background-color: #000000;
  color: #ffffff;
  width: fit-content;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.catch-sp-vp-center {
  margin: 0px auto 15px auto;
  padding: 6px 23px 7px 23px;
  background-color: #000000;
  color: #ffffff;
  width: fit-content;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.ttl-sp-vp-blue {
  margin-bottom: 18px;
  font-size: 3rem;
  font-weight: 650;
  letter-spacing: 0em;
  color: #1353e5;
}

.bmi-50 {
  margin-bottom: 50px !important;
}

.wwcd {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 20px;
  flex-wrap: wrap;
  width: 1100px;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

.wwcd-item-wrapper {
  display: flex;
  flex-direction: colum;
  align-items: center;
  margin: 0px;
  padding: 0px;
  width: 260px;
  height: auto;
}

.wwcd-item {
  width: 260px;
  height: auto;
  margin: 0p;
  padding: 40px 5px 40px 5px;
  background-color: #ffffff;
  box-shadow: 2px 2px 12px #e4f0f0;
  border-radius: 10px;
}

.wwcd-item h3 {
  font-size: 1.5rem;
  font-weight: 650;
  margin-bottom: 5px;
  letter-spacing: 0em;
}

.wwcd-en {
  font-size: 2rem;
  font-weight: 500;
  color: #1353e5;
  font-family: "Oswald", sans-serif;
  margin-bottom: 15px;
  letter-spacing: 0em;
}

.genre {
  width: 1100px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.genre-list {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  gap: 10px;
  flex-wrap: wrap;
  width: 1100px;
  height: auto;
  margin: 50px auto 0px auto;
  padding: 0px;
}

.genre-item-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  column-gap: 30px;
  width: 360px;
  height: 140px;
  margin: 0px;
  padding: 35px 10px 35px 10px;
  background-color: #f6f9fc;
  border-radius: 10px;
}

.genre-img {
  margin: 0px;
  padding: 0px;
}

.genre-img img {
  width: 51px;
  height: auto;
}

.genre-item {
  margin: 0p;
  padding: 0px;
  border-radius: 10px;
}

.genre-item h3 {
  font-size: 1.5rem;
  font-weight: 650;
  margin-bottom: 8px;
  letter-spacing: 0em;
}

.genre-item p {
  font-size: 1.3rem;
  line-height: 1.5em;
  margin: 0px;
  padding: 0px;
  letter-spacing: 0em;
}

.genre-item p br {
  display: block !important;
}

.ttl-vp-blue {
  margin-bottom: 18px;
  font-size: 3rem;
  font-weight: 650;
  letter-spacing: 0em;
  color: #1353e5;
  text-align: left;
}

.works-list {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 30px;
  width: 1100px;
  height: auto;
  margin: 0px auto 50px auto;
  padding: 0px;
}

.works-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 340px;
  height: auto;
  text-align: left;
}

.works-item br {
  display: block !important;
}

.works-item-img {
  width: 340px;
  height: 220px;
  overflow: hidden;
  box-shadow: 2px 2px 12px #e4f0f0;
  border-radius: 10px;
  margin-bottom: 20px;
}

.works-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  box-shadow: 2px 2px 12px #e4f0f0;
  border-radius: 10px;
}

.works-item h3 {
  font-size: 1.5rem;
  color: #1353e5;
  font-weight: 750;
  margin-bottom: 5px;
}

.works-item h4 {
  font-size: 1.5rem;
  color: #1353e5;
  font-weight: 750;
  margin-bottom: 10px;
}

.works-item p {
  width: 340px;
  font-size: 1.3rem;
  letter-spacing: 0.03em;
}

.genre {
  width: 1100px;
  height: auto;
  margin: 0px auto 80px auto;
}

.service-list1 {
  width: 1100px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px 0px 0px 0px;
}

.service-list2 {
  width: 1100px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.container-service-list-sp-vp {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 90px;
  margin-bottom: 80px;
}

.container-service-list {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  column-gap: 90px;
  margin-bottom: 80px;
}

.container-service-list:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  column-gap: 90px;
  margin-bottom: 80px;
}

.service-list-img {
  width: 550px;
  height: 400px;
}

.service-list-img {
  overflow: hidden;
}

.service-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 30px;
}

.service-list-outline {
  position: relative;
  width: 460px;
  height: auto;
}

.catch-sl {
  font-size: 2rem;
  color: #1353e5;
  font-weight: 650;
  line-height: 1.4em;
  letter-spacing: 0.02em;
  margin-bottom: 15px;
  padding-top: 0px;
}

h2.ttl-sl {
  margin-bottom: 22px;
  font-size: 2.5rem;
  font-weight: 650;
  letter-spacing: 0.02em;
}

.lead-sl {
  margin-bottom: 35px;
}

.service-list1,
service-list2 .lead-sl {
  line-height: 1.4em;
  margin-bottom: 30px;
}

.background-wrapper {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  background-color: #f6f9fc;
  margin: 0px;
  padding: 80px 0px 20px 0px;
}

/*-----------------------------------------------
 企業情報
-----------------------------------------------*/

.anchor_link {
  margin-bottom: 40px;
}

.anchor_link a:hover {
  text-decoration: underline;
  opacity: 0.6;
}

.anchor_link ul {
  margin: 0px 0px 50px 25px;
}

.anchor_link ul li {
  padding-bottom: 10px;
}

.greeting-txt {
  font-size: 1.6rem;
  margin-bottom: 25px;
}

.greeting-txt br {
  display: block !important;
}

.font-ym-s {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 1.6rem;
  text-align: right;
  font-weight: 650;
  margin-bottom: 15px;
}

.font-ym-l {
  font-family: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
  font-size: 3rem;
  text-align: right;
  font-weight: 650;
  margin-bottom: 85px;
}

.container-outline {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  padding: 23px 0px 23px 0px;
  border-top: 1px solid #dddddd;
}

.container-outline br {
  display: block !important;
}

.item-name {
  width: 150px;
  height: auto;
}

.item-outline {
  width: 600px;
  height: auto;
}

.link-bt-access {
  padding: 2px 20px 3px 20px;
  margin-bottom: 15px;
  height: auto;
  border-radius: 15px;
  text-align: center;
  font-size: 1.3rem;
  color: #ffffff;
  background-color: #1353e5;
}

.link-bt-access:hover {
  opacity: 0.8;
}

.bold-txt {
  font-weight: bold;
  margin-bottom: 5px;
}

.text-13 {
  font-size: 1.3rem;
}

.google-map {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  margin: 0px auto 45px auto;
}

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

.link_banner {
  height: auto;
  text-align: center;
}

.link_banner img {
  border-radius: 20px;
}

.link_banner a:hover {
  opacity: 0.8;
}

/*-----------------------------------------------
 CSR
-----------------------------------------------*/

.csr-txt {
  font-size: 1.6rem;
  margin-bottom: 50px;
}

.csr-container-1 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: space-between;
  align-items: flex-start;
  column-gap: 20px;
  margin: 0px 0px 40px 0px;
  padding: 0px 0px 0px 0px;
}

.csr-410 {
  width: 410px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 10px 0px 0px;
}

.csr-410 br {
  display: block !important;
}

.csr-320 {
  width: 320px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 45px 10px 40px 10px;
  text-align: center;
  border: 1px solid #eeeeee;
  border-radius: 10px;
}

.csr-320 br {
  display: block !important;
}

.csr-320 img {
  margin-bottom: 35px;
  width: 140px;
}

.csr-320 img.img-216 {
  margin-bottom: 35px;
  width: 216px;
}

.csr-320 img.img-210 {
  margin-bottom: 35px;
  width: 210px;
}

.csr-320 figcaption {
  font-size: 1.3rem;
  display: block;
  line-height: 1.7em;
  letter-spacing: 0em;
  margin: 0px 0px 0px 0px;
}

.csr-container-2 {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
  column-gap: 10px;
  margin: 0px 0px 40px 0px;
  padding: 35px 50px 35px 50px;
  border: 1px solid #eeeeee;
  border-radius: 10px;
}

.csr-250 {
  width: 250px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 10px 0px 0px;
}

.csr-250 br {
  display: block !important;
}

.csr-250 p {
  padding-right: 20px;
}

.csr-490 {
  width: 490px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.csr-490 br {
  display: block !important;
}

.csr-490 img {
  width: 206px;
  margin-right: 20px;
  vertical-align: middle;
}

.csr-490 .right-txt {
  display: inline-block;
  vertical-align: middle;
}

.csr-360 {
  width: 360px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 10px 0px 0px;
}

.csr-360 br {
  display: block !important;
}

.csr-360 img {
  width: 100px;
  margin-right: 20px;
  vertical-align: middle;
}

.csr-360 .right-txt {
  display: inline-block;
  vertical-align: middle;
}

.csr-380 {
  width: 380px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px 0px 0px 0px;
}

.csr-380 br {
  display: block !important;
}

.csr-380 img {
  width: 125px;
  margin-right: 25px;
  vertical-align: middle;
}

.csr-380 .right-txt {
  display: inline-block;
  vertical-align: middle;
}

a.statement-pdf {
  text-decoration: underline;
}

a.statement-pdf:hover {
  opacity: 0.6;
}

/*-----------------------------------------------
 採用情報
-----------------------------------------------*/

#recruit-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 600px;
  margin: 0px 0px 80px 0px;
  padding: 37px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#recruit-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.recruit-ol {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 1100px;
  height: 600px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.recruit-ol h1 {
  font-size: 5rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0px 0px 15px 0px;
  padding: 0px;
}

.en_name {
  font-size: 2rem;
  color: #1353e5;
  font-weight: 450;
  font-family: "Oswald", sans-serif;
  margin-bottom: 0px;
  padding: 0px;
}

.bt-wrapper {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: flex-start;
}

.recruit-ol .bt-recruit {
  margin: 0px;
  padding: 11px 35px 0px 75px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 40px 18px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.recruit-ol .bt-recruit:hover {
  opacity: 0.8;
}

#recruit-mv-ft {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 450px;
  margin: 0px 0px 80px 0px;
  padding: 0px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#recruit-mv-ft img {
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.recruit-ol-ft {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1100px;
  height: 450px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.recruit-ol-ft h2 {
  font-size: 3rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0px 0px 20px 0px;
  padding: 0px;
}

.recruit-ol-ft .bt-recruit {
  margin: 0px;
  padding: 11px 35px 0px 75px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 40px 18px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.recruit-ol-ft .bt-recruit:hover {
  opacity: 0.8;
}

.container-rt {
  width: 900px;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

.container-rt h2 {
  font-size: 3rem;
  font-weight: 700;
}

.container-rt h2.heading-blue {
  font-size: 3rem;
  font-weight: 700;
  color: #1454e5;
}

.container-rt h3 {
  font-size: 2.5rem;
  font-weight: 700;
}

.container-rt h3.heading-blue {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1454e5;
}

.container-rt h4 {
  font-size: 2rem;
  font-weight: 650;
}

.container-rt p {
  margin: 0px 0px 25px 0px;
  padding: 0px;
}

.vertical-line-text {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 15px;
}

.vertical-line-text::after {
  content: "";
  width: 100px;
  height: 1px;
  background-color: #000000;
  display: inline-block;
}

.portrait {
  margin: 8px 0px 0px 0px;
  padding: 0px;
}

.recruit-position {
  display: flex;
  flex-direction: row;
  column-gap: 30px;
  justify-content: flex-start;
  align-items: center;
  padding: 30px 40px 30px 40px;
  background-color: #f6f9fc;
}

.recruit-position strong {
  display: inline-block;
  min-width: 210px;
  height: auto;
  font-weight: 750;
}

.recruit-position p {
  display: inline-block;
  height: auto;
  margin-bottom: 0px;
}

.container-rt .bt-rec-dl {
  margin: 0px 0px 50px 0px;
  padding: 11px 40px 0px 45px;
  height: 50px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.container-rt .bt-rec-dl:hover {
  opacity: 0.8;
}

.container-rt a.rec-dl-link:hover {
  opacity: 0.8;
}

.recruit-interview-multimedia {
  display: flex;
  flex-direction: row;
  column-gap: 40px;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0px 0px 50px 0px;
  padding: 0px;
}

.recruit-interview-multimedia:nth-child(odd) {
  display: flex;
  flex-direction: row-reverse;
}

.recruit-interview-multimedia p {
  height: auto;
  padding: 50px 0px 0px 0px;
  background: url("../images/recruit/dqm_icon.png") no-repeat;
  background-position: top left;
  background-size: 50px 40px;
}

.recruit-interview-design {
  display: flex;
  flex-direction: row;
  column-gap: 40px;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0px 0px 50px 0px;
  padding: 0px 0px 0px 0px;
}

.recruit-interview-design:nth-child(even) {
  display: flex;
  flex-direction: row-reverse;
}

.recruit-interview-design p {
  height: auto;
  padding: 50px 0px 0px 0px;
  background: url("../images/recruit/dqm_icon.png") no-repeat;
  background-position: top left;
  background-size: 50px 40px;
}

.container-rt h2.heading-blue-qa {
  font-size: 3rem;
  font-weight: 700;
  color: #1454e5;
  padding: 0px 0px 0px 40px;
  background: url("../images/common/question_icon_qa.png") no-repeat;
  background-position: 0px 12px;
  background-size: 30px 30px;
}

.container-rt .bt-recruit {
  margin: 0px;
  padding: 11px 35px 0px 75px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 40px 18px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.container-rt .bt-recruit:hover {
  opacity: 0.8;
}

.accordion-menu-qa {
  width: 900px;
  height: auto;
  margin: 0px 0px 100px 0px;
  overflow: hidden;
  border-left: 1px solid #dddddd;
  border-right: 1px solid #dddddd;
}

.accordion-menu-qa br {
  display: block !important;
}

.accordion-menu-qa ul {
  background-color: #f6f9fc;
  border-top: 1px solid #dddddd;
  width: 100%;
  float: left;
  margin: 0px;
  padding: 0px;
}

.accordion-menu-qa li {
  list-style: none;
  padding-top: 5px;
}

.accordion-menu-qa ul ul {
  height: 0;
  padding: 0;
  overflow: hidden;
  transition: 0.5s;
  background-color: #ffffff;
  margin: 0;
}

.accordion-menu-qa button {
  position: relative;
  border: none;
  width: 100%;
  background-color: inherit;
  color: #000000;
  cursor: pointer;
  text-align: left;
  padding: 18px 65px 20px 30px;
  font-size: 1.5rem;
  font-weight: 650;
}

.accordion-menu-qa button:hover {
  background-color: #f6f9fc;
}

.accordion-menu-qa button::before,
button::after {
  content: "";
  position: absolute;
  width: 1px;
  height: 8px;
  background-color: #787878;
  transition: 0.5s;
}

.accordion-menu-qa button::before {
  top: 23px;
}

.accordion-menu-qa button::after {
  top: 23px;
}

.accordion-menu-qa button::before {
  transform: rotate(-45deg);
  right: 35px;
}

.accordion-menu-qa button::after {
  transform: rotate(45deg);
  right: 30px;
}

.accordion-menu-qa li.active button::before {
  transform: rotate(-135deg);
  transition: 0.5s;
}

.accordion-menu-qa li.active button::after {
  transform: rotate(135deg);
  transition: 0.5s;
}

.accordion-menu-qa ul li li:first-child {
  margin-top: 20px;
}

.accordion-menu-qa ul li li:last-child {
  margin-bottom: 20px;
}

.accordion-menu-qa ul li li {
  display: block;
  width: 100%;
  height: auto;
  padding: 0px 20px 0px 30px;
  margin: 0;
}

.accordion-menu-qa ul li ul li:last-child {
  border-bottom: 1px solid #dddddd;
  padding-bottom: 20px;
  margin-bottom: 0px;
}

/*-----------------------------------------------
 工場見学
-----------------------------------------------*/

#factory-tour-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 600px;
  margin: 0px 0px 80px 0px;
  padding: 37px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#factory-tour-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.factory-tour-ol {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  width: 1100px;
  height: 600px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.factory-tour-ol h1 {
  font-size: 5rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0px 0px 15px 0px;
  padding: 0px;
}

.factory-tour-ol .bt-factory-tour {
  margin: 0px;
  padding: 11px 35px 0px 75px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 40px 18px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.factory-tour-ol .bt-factory-tour:hover {
  opacity: 0.8;
}

#factory-tour-mv-ft {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 450px;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 0px 0px;
  background-color: #000000;
  overflow: hidden;
}

#factory-tour-mv-ft img {
  position: absolute;
  z-index: 2;
  top: 0px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 50%;
  opacity: 0.4;
}

.factory-tour-ol-ft {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1100px;
  height: 450px;
  margin: 0px auto 0px auto;
  padding: 0px;
}

.factory-tour-ol-ft h2 {
  font-size: 3rem;
  color: #ffffff;
  font-weight: 700;
  line-height: 1.4em;
  margin: 0px 0px 20px 0px;
  padding: 0px;
}

.factory-tour-ol-ft .bt-factory-tour {
  margin: 0px;
  padding: 11px 35px 0px 75px;
  height: 50px;
  background: url("../images/common/mail_icon.png") no-repeat;
  background-position: 40px 18px;
  background-size: 20px 14px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
}

.factory-tour-ol-ft .bt-factory-tour:hover {
  opacity: 0.8;
}

.container-ft {
  width: 900px;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

.container-ft h2 {
  font-size: 3rem;
  font-weight: 700;
}

.container-ft h2.heading-blue {
  font-size: 3rem;
  font-weight: 700;
  color: #1454e5;
}

.container-ft h3 {
  font-size: 2.5rem;
  font-weight: 700;
}

.container-ft h3.heading-blue {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1454e5;
}

.container-ft p br {
  display: block !important;
}

.factory-tour-point {
  display: grid;
  gap: 15px;
}

.ft-item {
  width: 900px;
  height: auto;
}

strong.sr-txt {
  color: #000000 !important;
}

/*-----------------------------------------------
 蔦重プロジェクト
-----------------------------------------------*/

#tsutaju-project-mv {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px;
  background-color: #7f4e9d;
  overflow: hidden;
  text-align: center;
}

#tsutaju-project-mv img {
  height: auto;
  margin-top: 80px;
}

.tsutaju-project-wrapper-ol {
  width: 900px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px 0px 0px 0px;
}

.tsutaju-project-wrapper {
  width: 900px;
  height: auto;
  margin: 0px auto 80px auto;
  padding: 0px 0px 0px 0px;
}

.container-tsutaju-project {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  column-gap: 10px;
}

.outline-tsutaju-project {
  width: 440px;
  height: auto;
}

.catch-tsutaju-project {
  margin-bottom: 20px;
  padding: 6px 23px 7px 23px;
  background-color: #000000;
  color: #ffffff;
  width: fit-content;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}

.tp-img {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  row-gap: 15px;
  width: 450px;
  height: 320px;
}

.tp-img img {
  border-radius: 30px;
}

.container-tsutaju-project2 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  column-gap: 50px;
}

.container-tsutaju-project2 ul {
  margin: 0px 0px 0px 30px;
  list-style: disc;
}

.outline-tsutaju-project2 {
  width: 490px;
  height: auto;
}

.tp-img2 {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  row-gap: 100px;
  width: 360px;
  height: 250px;
}

.tp-img2 img {
  border-radius: 10px;
  border: 1px solid #dddddd;
}

img.around-border {
  border-radius: 10px;
  border: 1px solid #dddddd;
}

.container-tp {
  width: 900px;
  height: auto;
  margin: 0px auto;
  padding: 0px;
}

.container-tp h2 {
  font-size: 3rem;
  font-weight: 700;
}

.container-tp h2.heading-blue {
  font-size: 3rem;
  font-weight: 700;
  color: #1454e5;
}

.container-tp h3 {
  font-size: 2.5rem;
  font-weight: 700;
}

.container-tp h3.heading-blue {
  font-size: 2.5rem;
  font-weight: 700;
  color: #1454e5;
}

.container-tp .emphasis {
  display: block;
  color: #000000 !important;
}

.container-tp p br {
  display: block !important;
}

.container-tsutaju-project3 {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  column-gap: 140px;
}

.container-tsutaju-project3 .tp-item1 {
  margin: 0px;
  padding: 0px;
}

.container-tsutaju-project3 .tp-item1 img {
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

.container-tsutaju-project3 .tp-item1 figcaption {
  text-align: center;
}

.container-tsutaju-project4 {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  column-gap: 65px;
  margin-bottom: 0px auto 100px auto;
  text-align: left;
}

.container-tsutaju-project4 .tp-item2 {
  margin: 0px;
  padding: 0px;
}

.container-tsutaju-project4 .tp-item2 img {
  width: 380px;
}

.container-tsutaju-project4 .tp-item2 img {
  height: auto;
  margin: 0px;
  padding: 0px;
}

/*-----------------------------------------------
 404
-----------------------------------------------*/

#contents-404 {
  width: 710px;
  height: auto;
  margin: 0px auto 130px auto;
  padding: 145px 0px 0px 0px;
  text-align: center;
}

#contents-404 h1 {
  font-family: "Oswald", sans-serif;
  font-size: 2rem;
  font-weight: 450;
  color: #1353e5;
  letter-spacing: 0em;
  margin-bottom: 15px;
}

#contents-404 p {
  margin-bottom: 35px;
}

/*-----------------------------------------------
 サイトマップ
-----------------------------------------------*/

.sitemap-bt {
  width: 300px;
  height: 60px;
  margin-bottom: 35px;
  padding: 16px 0px 0px 5px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 30px;
  text-align: center;
  box-shadow: 1px 1px 5px #81bdff;
}

.sitemap-bt:hover {
  opacity: 0.8;
}

.top-link {
  font-weight: 650;
  text-decoration: underline;
}

.top-link:hover {
  opacity: 0.8;
}

.sitemap-link {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: strech;
  flex-wrap: wrap;
  column-gap: 85px;
  width: 900px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0p;
}

.sitemap-link a:hover {
  opacity: 0.6;
}

.sitemap-link ul {
  margin-bottom: 70px;
}

.sitemap-link ul a.first-layer {
  font-weight: 750;
  margin-bottom: 10px;
}

.sitemap-link ul li {
  margin: 0px 0px 10px 10px;
}

.sitemap-link ul li:last-child {
  margin: 0px 0px 0px 10px;
}

.sitemap-link ul li.first-layer {
  font-weight: 750;
}

/*-----------------------------------------------
 各種お問い合わせ案内
-----------------------------------------------*/

.contact-us {
  height: auto;
  margin: 0px;
  padding: 0px;
}

.contact-us br {
  display: block !important;
}

.link-bt--cu {
  color: #ffffff;
  margin: 0px 6px 6px 0px;
  padding: 13px 36px 16px 40px;
  width: 300px;
  height: auto;
  background-color: #1353e5;
  border-radius: 28px;
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0em;
}

a.link-bt--cu:hover {
  color: #ffffff;
  opacity: 0.8;
}

.link-bt--cu-l {
  color: #ffffff;
  margin: 0px 6px 6px 0px;
  padding: 20px 36px 22px 40px;
  width: 300px;
  height: auto;
  background-color: #1353e5;
  border-radius: 40px;
  text-align: center;
  font-size: 1.5rem;
  letter-spacing: 0em;
  line-height: 1.4em;
}

@-moz-document url-prefix()  {
  .link-bt--cu-l {
    color: #ffffff;
    margin: 0px 6px 6px 0px;
    padding: 20px 36px 22px 40px;
    width: 300px;
    height: auto;
    background-color: #1353e5;
    border-radius: 40px;
    text-align: center;
    font-size: 1.5rem;
    letter-spacing: 0em;
    line-height: 0.7em;
  }

@media screen and (max-width: 768px) {
    .link-bt--cu-l {
      font-size: 1.4rem;
      width: 280px;
    }
}
}

a.link-bt--cu-l:hover {
  color: #ffffff;
  opacity: 0.8;
}

.il-block {
  display: inline-block;
  margin-right: 10px;
}

/*-----------------------------------------------
 資料・ダウンロード
-----------------------------------------------*/

.container-download {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  column-gap: 30px;
  row-gap: 20px;
  margin: 0px auto 0px auto;
}

.dl-item {
  width: 280px;
  height: auto;
}

.dl-item-img {
  width: 280px;
  height: 180px;
  margin-bottom: 12px;
}

.dl-item-img {
  overflow: hidden;
}

.dl-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 10px;
}

.dl-item h2 {
  font-size: 1.5rem;
  font-weight: 650;
  margin: 0px 0px 15px 0px;
  padding: 0px;
}

.dl-item h2 a {
  text-decoration: underline;
}

.dl-item h2:hover {
  opacity: 0.6;
}

.dl-item p {
  margin: 0px 0px 20px 0px;
  padding: 0px;
  font-size: 1.3rem;
  letter-spacing: -0.05em;
}

.dl-item p br {
  display: block !important;
}

/*-----------------------------------------------
 個人情報保護方針
-----------------------------------------------*/

.container-pp {
  height: auto;
  margin: 0px;
  padding: 0px;
}

.container-pp p br {
  display: block !important;
}

.container-pp br {
  display: block !important;
}

.container-pp ul {
  margin: 0px 0px 40px 60px;
  padding: 0px;
  list-style-type: disc;
}

.container-pp ol {
  margin: 0px 0px 40px 60px;
  padding: 0px;
  list-style-type: decimal;
}

/*-----------------------------------------------
 わたしたちについて
-----------------------------------------------*/

#about-mv {
  position: relative;
  z-index: 1;
  width: 900px;
  height: 340px;
  margin: 0px auto 40px auto;
  padding: 0px;
  overflow: hidden;
  border-radius: 20px;
}

.about-mv-img {
  width: 900px;
  height: 340px;
  margin: 0px;
  padding: 0px;
}

.about-mv-img img {
  position: relative;
  z-index: 2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 55%;
}

.about-ttl {
  position: absolute;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 900px;
  height: 340px;
  margin: 0px auto 0px auto;
  padding: 0px;
  text-align: center;
}

.about-ttl h2 {
  font-size: 2rem;
  color: #ffffff;
  letter-spacing: 0.1em;
  line-height: 1.4em;
  font-weight: 430;
  margin: 0px;
  padding: 5px 15px 5px 25px;
  background-color: #1353e5;
}

.about-txt {
  height: auto;
  margin: 0px 0px 75px 0px;
  text-align: center;
}

.about-txt br {
  display: block !important;
}

.about-txt h2 {
  font-size: 4rem;
  font-weight: 850;
  margin: 0px 0px 40px 0px;
}

.about-txt h3 {
  font-size: 2rem;
  font-weight: 850;
  line-height: 1.8em;
  margin: 0px 0px 40px 0px;
}

.about-txt p {
  margin: 0px 0px 20px 0px;
}

.container-page-link {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  column-gap: 15px;
  row-gap: 40px;
  margin: 0px auto 0px auto;
}

.page-link-item {
  width: 290px;
  height: auto;
}

a .page-link-item:hover {
  display: block;
  opacity: 0.8;
}

.page-link-item-img {
  width: 290px;
  height: 180px;
  margin-bottom: 5px;
  overflow: hidden;
  border-radius: 10px;
}

.page-link-item-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 10px;
}

.page-link-item h2 {
  font-size: 3rem;
  font-weight: 650;
  font-family: "Oswald", sans-serif;
  color: #1353e5;
  margin: 0px;
  padding: 0px;
}

.page-link-item p {
  font-size: 1.3rem;
  letter-spacing: 0em;
  line-height: 1em;
  font-weight: 600;
  margin: 0px;
  padding: 0px;
}

/*-----------------------------------------------
 映像・動画制作事例集/デザイン事例集
-----------------------------------------------*/

#md-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 460px;
  margin: 0px 0px 50px 0px;
  padding: 33px 0px 0px 0px;
}

#md-mv {
  background-color: #000000;
  overflow: hidden;
}

#md-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 55%;
  opacity: 0.4;
}

.md-ttl {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1100px;
  height: 460px;
  margin: 0px auto 0px auto;
  padding: 0px;
  text-align: center;
}

.container-md-list-movie {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  column-gap: 60px;
  row-gap: 30px;
  margin: 0px auto 0px auto;
  overflow: hidden;
}

.md-item-movie {
  width: 520px;
  height: auto;
  margin: 0px;
}

.md-item-movie br {
  display: block !important;
}

.md-item-movie .md-item-yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin-bottom: 25px;
}

.md-item-movie .md-item-yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.md-item-movie h2 {
  font-size: 1.8rem;
  font-weight: 650;
  margin: 0px 0px 8px 0px;
  padding: 0px;
}

.md-item-movie h3 {
  font-size: 1.3rem;
  font-weight: 550;
  margin: 0px 0px 13px 0px;
  padding: 0px;
}

.md-item-movie p {
  font-size: 1.3rem;
  margin: 0px 0px 20px 0px;
  padding: 0px;
  height: auto;
}

.md-item-movie p br {
  display: block !important;
}

.container-md-list-design {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  column-gap: 60px;
  row-gap: 30px;
  margin: 0px auto 25px auto;
}

.md-item-design {
  width: 520px;
  height: auto;
  margin: 0px;
}

.md-item-design-img {
  width: 520px;
  height: 320px;
  margin: 0px auto 20px auto;
  overflow: hidden;
}

.md-item-design-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}

.md-item-design h2 {
  font-size: 1.8rem;
  font-weight: 650;
  margin: 0px 0px 8px 0px;
  padding: 0px;
}

.md-item-design h3 {
  font-size: 1.3rem;
  font-weight: 550;
  margin: 0px 0px 13px 0px;
  padding: 0px;
}

.md-item-design p {
  font-size: 1.3rem;
  margin: 0px 0px 20px 0px;
  padding: 0px;
  height: auto;
}

.md-item-design p br {
  display: block !important;
}

/*-----------------------------------------------
 実績紹介・ブログ
-----------------------------------------------*/

#wb-mv {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 460px;
  margin: 0px 0px 50px 0px;
  padding: 33px 0px 0px 0px;
}

#wb-mv {
  background-color: #000000;
  overflow: hidden;
}

#wb-mv img {
  position: absolute;
  z-index: 2;
  top: 80px;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  margin-top: 0px;
  object-position: 50% 55%;
  opacity: 0.4;
}

.wb-ttl {
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 1100px;
  height: 460px;
  margin: 0px auto 0px auto;
  padding: 0px;
  text-align: center;
}

.search-ttl {
  display: flex;
  flex-direction: space-between;
  align-items: center;
  width: 1100px;
  height: auto;
  margin: 0px auto 0px auto;
  padding: 0px;
  text-align: left;
}

.txt-search {
  font-size: 2.5rem;
  font-weight: 750;
  margin: 0px 0px 40px 0px;
  padding: 0px 0px 0px 30px;
  width: 950px;
  background: url("../images/common/search.png") no-repeat;
  background-position: 0px 13px;
  background-size: 20px 20px;
}

.list-all a {
  display: inline-block;
  font-size: 1.3rem;
  text-decoration: underline;
  width: 150px;
  margin: 0px;
  padding: 0px;
  text-align: right;
  white-space: nowrap;
}

.list-all a:hover {
  opacity: 0.6;
}

.container-wb-list {
  display: flex;
  flex-direction: row;
  justify-content: flex-start;
  align-items: stretch;
  flex-wrap: wrap;
  column-gap: 55px;
  row-gap: 50px;
  margin: 0px auto 50px auto;
}

.wb-item {
  width: 330px;
  height: auto;
}

.wb-list-img {
  width: 330px;
  height: 200px;
  margin-bottom: 30px;
}

.wb-list-img {
  overflow: hidden;
}

.wb-list-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
  border-radius: 10px;
}

.wb-item h2 {
  font-size: 1.8rem;
  font-weight: 650;
  margin: 0px 0px 15px 0px;
  padding: 0px;
}

.wb-item h2 a {
  text-decoration: underline;
}

.wb-item h2:hover {
  opacity: 0.6;
}

.wb-item p {
  margin: 0px 0px 20px 0px;
  padding: 0px;
  letter-spacing: -0.05em;
}

.wb-detail {
  margin: 0px 0px 100px 0px;
  padding: 0px;
  height: auto;
}

.wb-detail h2 {
  font-size: 2.4rem;
  font-weight: 830;
  color: #0000a9;
  background-color: #f6f9fc;
  margin: 0px 0px 30px 0px;
  padding: 15px 25px 15px 30px;
}

.wb-detail h3 {
  font-size: 2.2rem;
  font-weight: 730;
  color: #000000;
  margin: 0px 0px 15px 0px;
}

.wb-detail h3.h3-blue {
  font-size: 2.2rem;
  font-weight: 730;
  color: #0000a9;
  margin: 0px 0px 15px 0px;
}

.wb-detail h4 {
  font-size: 1.8rem;
  font-weight: 750;
  color: #000000;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

.wb-detail h4.h4-blue {
  font-size: 1.8rem;
  font-weight: 750;
  color: #0000a9;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

.wb-detail h5,
h6 {
  font-size: 1.5rem;
  font-weight: 750;
  color: #000000;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

.wb-detail h5.h56-blue,
h6.h56-blue {
  font-size: 1.5rem;
  font-weight: 750;
  color: #0000a9;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

.wb-detail p {
  margin: 0px 0px 35px 0px;
  padding: 0px;
}

.wb-detail br {
  display: block !important;
}

.wb-detail a {
  text-decoration: underline;
}

.wb-detail a:hover {
  opacity: 0.6;
}

.wb-detail .yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin-bottom: 25px;
}

.wb-detail .yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.wb-detail img {
  margin: 0px 0px 25px 0px;
  padding: 0px;
}

.wb-detail .w520-center {
  text-align: center;
}

.wb-detail .w520-center img {
  max-width: 520px;
  height: auto;
}

.wb-detail figcaption {
  display: block;
  text-align: center;
  margin: -15px 0px 35px 0px;
}

.wb-detail ol {
  margin: 0px 0px 20px 18px;
  padding: 0px;
}

.wb-detail ul {
  margin: 0px 0px 20px 18px;
  padding: 0px;
  list-style-type: disc;
}

h3.movie-ttl {
  font-size: 1.8rem;
  font-weight: 650;
  font-family: "NotoSansCJK-JP", sans-serif;
  color: #000000;
  margin: -50px 0px 15px 0px;
}

.yt-container {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin: -8px 0px 30px 0px;
}

.yt-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*-----------------------------------------------
 お知らせ・新着情報
-----------------------------------------------*/

.news-menu {
  height: auto;
  margin: 0px auto 60px auto;
  padding: 25px 30px 25px 10px;
  border-top: 1px solid #dddddd;
  border-bottom: 1px solid #dddddd;
}

.news-menu ul li {
  display: inline-block;
  line-height: 1.3em;
  margin: 0px 0px 0px 0px;
  padding: 0px 25px 0px 25px;
}

.news-menu ul li a.active-tab {
  color: #1353e5;
  font-weight: 650;
}

.news-menu ul li a:hover {
  opacity: 0.6;
}

.vertical-line {
  border-right: 1px solid #dddddd;
  margin: 0px;
  padding: 0px;
}

.news-list-wrapper {
  width: 900px;
  height: auto;
  margin: 0px 0px 0px 0px;
  padding: 0px 0px 60px 0px;
  float: left;
}

#contents-news-detail {
  width: 770px;
  height: auto;
  overflow: hidden;
  margin: 0px auto 80px auto;
  padding: 145px 0px 0px 0px;
}

#contents-news-detail .sns-share-button {
  font-size: 1.3rem;
  margin-bottom: 50px;
}

#contents-news-detail h1 {
  font-size: 3rem;
  font-weight: 750;
  margin-bottom: 20px;
}

#contents-news-detail .entry a:hover {
  opacity: 1;
}

#contents-news-detail h2.diagonal-line {
  display: flex !important;
  justify-content: center !important;
  align-items: flex-end !important;
  line-height: 1 !important;
  font-size: 2.8rem !important;
  font-weight: 750 !important;
  color: #000000 !important;
  margin-bottom: 30px !important;
  padding: 0px 10px 0px 10px !important;
  border-left: none !important;
  text-align: center;
}

#contents-news-detail h2.diagonal-line::before,
h2.diagonal-line::after {
  width: 4px;
  height: 28px;
  content: "";
  background-color: #000000;
}

#contents-news-detail h2.diagonal-line::before {
  margin-right: 15px;
  transform: rotate(-35deg);
}

#contents-news-detail h2.diagonal-line::after {
  margin-left: 15px;
  transform: rotate(35deg);
}

#contents-news-detail h2 {
  font-size: 2.4rem;
  font-weight: 830;
  color: #0000a9;
  margin: 0px 0px 30px 0px;
  padding: 0px 0px 0px 20px;
  border-left: 4px solid #0000a9;
}

#contents-news-detail h3 {
  font-size: 2.2rem;
  font-weight: 730;
  color: #000000;
  margin: 0px 0px 15px 0px;
}

#contents-news-detail h3.h3-blue {
  font-size: 2.2rem;
  font-weight: 730;
  color: #0000a9;
  margin: 0px 0px 15px 0px;
}

#contents-news-detail h4 {
  font-size: 1.8rem;
  font-weight: 750;
  color: #000000;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

#contents-news-detail h4.h4-blue {
  font-size: 1.8rem;
  font-weight: 750;
  color: #0000a9;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

#contents-news-detail h5,
h6 {
  font-size: 1.5rem;
  font-weight: 750;
  color: #000000;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

#contents-news-detail h5.h56-blue,
h6.h56-blue {
  font-size: 1.5rem;
  font-weight: 750;
  color: #0000a9;
  margin: 0px 0px 10px 0px;
  padding: 0px;
}

#contents-news-detail img {
  margin: 0px 0px 15px 0px;
}

#contents-news-detail figcaption {
  display: block;
  text-align: center;
  margin: 0px 0px 35px 0px;
}

#contents-news-detail .none-figcaption {
  margin-bottom: 35px;
}

#contents-news-detail figcaption.nmv-ttl {
  display: block;
  text-align: center;
  margin: 0px 0px 50px 0px;
}

#contents-news-detail p {
  margin: 0px 0px 35px 0px;
  padding: 0px;
}

#contents-news-detail br {
  display: block !important;
}

#contents-news-detail a {
  text-decoration: underline;
}

#contents-news-detail a:hover {
  opacity: 0.6;
}

#contents-news-detail .yt {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
  height: 0;
  margin-bottom: 15px;
}

#contents-news-detail .yt iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#contents-news-detail ol {
  margin: 0px 0px 20px 18px;
  padding: 0px;
}

#contents-news-detail ul {
  margin: 0px 0px 20px 18px;
  padding: 0px;
  list-style-type: disc;
}

#contents-news-detail a.link-bt--l {
  text-decoration: none;
  opacity: 1;
}

#contents-news-detail .speech-bubble {
  display: flex;
  flex-direction: space-between;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0px 0px 30px 0px;
}

#contents-news-detail .sb-left {
  display: flex;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 29px);
  margin-left: 29px;
  padding: 25px 30px 25px 30px;
  border-radius: 10px;
  background-color: #f1f7fc;
  color: #000000;
}

#contents-news-detail .sb-left::before {
  position: absolute;
  left: -13px;
  width: 13px;
  height: 14px;
  background-color: #f1f7fc;
  clip-path: polygon(0 50%, 100% 0, 100% 100%);
  content: "";
}

#contents-news-detail .sb-right {
  display: flex;
  align-items: flex-start;
  position: relative;
  width: calc(100% - 29px);
  margin-right: 29px;
  padding: 25px 30px 25px 30px;
  border-radius: 10px;
  background-color: #f2f2f2;
  color: #000000;
}

#contents-news-detail .sb-right::before {
  position: absolute;
  right: -13px;
  width: 13px;
  height: 14px;
  background-color: #f2f2f2;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
}

#contents-news-detail .speech-bubble .icon-wrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}

#contents-news-detail .speech-bubble .icon-img {
  width: 85px;
  margin: 0px;
  padding: 0px;
}

#contents-news-detail .speech-bubble .icon-caption {
  marin-top: 5px;
  margin: 0px;
  text-align: center;
}

.copy-button {
  margin: 0px auto 50px auto;
  text-align: center;
}

button.single_copy_title_url_btn {
  border: none;
  background-color: transparent;
  margin: 0px;
  padding: 0px 38px 0px 38px;
  height: 50px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.5rem;
}

.single_copy_title_url_btn:hover {
  cursor: pointer;
  background-color: #000000;
  color: #ffffff;
}

/*-----------------------------------------------
 Link Button
-----------------------------------------------*/

.link-bt {
  padding: 12px 0px 0px 3px;
  width: 250px;
  height: 50px;
  color: #ffffff;
  background-color: #1353e5;
  border-radius: 25px;
  text-align: center;
  box-shadow: 0px 2px 8px #81bdff;
}

.link-bt:hover {
  opacity: 0.8;
}

.link-bt--l {
  margin: 0px 6px 6px 0px;
  padding: 10px 38px 0px 38px;
  height: 50px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.5rem;
}

.link-bt--l:hover {
  background-color: #000000;
  color: #ffffff;
}

.link-bt--satori {
  margin: 0px 6px 6px 0px;
  padding: 10px 38px 0px 38px;
  height: 50px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.5rem;
}

.link-bt--satori:hover {
  background-color: #000000;
  color: #ffffff;
}

.link-bt--h40 {
  padding: 10px 38px 0px 38px;
  height: 40px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.5rem;
}

.link-bt--h40:hover {
  background-color: #000000;
  color: #ffffff;
}

.link-bt--m {
  padding: 5px 0px 0px 3px;
  width: 200px;
  height: 40px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.3rem;
}

.link-bt--m:hover {
  background-color: #000000;
  color: #ffffff;
}

.link-bt--s {
  padding: 5px 0px 0px 3px;
  width: 140px;
  height: 40px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.3rem;
}

.link-bt--s:hover {
  background-color: #000000;
  color: #ffffff;
}

.link-bt--xs {
  padding: 1px 0px 0px 3px;
  width: 120px;
  height: 30px;
  border: 1px solid #000000;
  border-radius: 25px;
  text-align: center;
  font-size: 1.3rem;
}

.link-bt--xs:hover {
  background-color: #000000;
  color: #ffffff;
}

/*-----------------------------------------------
 Heading
-----------------------------------------------*/

.heading-type1 {
  font-size: 3rem;
  font-weight: 650;
  margin-bottom: 0px;
}

.heading-type2 {
  font-size: 3rem;
  color: #1353e5;
  font-weight: 650;
  margin-bottom: 30px;
}

.heading-type3 {
  font-size: 2.5rem;
  font-weight: 650;
  margin-bottom: 30px;
}

.heading-type3-2 {
  font-size: 2.5rem;
  color: #1353e5;
  font-weight: 650;
  margin-bottom: 30px;
}

.heading-type4 {
  font-size: 2rem;
  font-weight: 650;
  margin-bottom: 30px;
}

.heading-type4-2 {
  font-size: 2rem;
  font-weight: 650;
  margin-bottom: 20px;
  letter-spacing: 0em;
}

.heading-type5 {
  position: relative;
  display: inline-block;
  font-size: 1.8rem;
  font-weight: 750;
  margin-bottom: 10px;
  padding: 0px 0px 6px 0px;
}

.heading-type5::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: #000000;
}

.heading-type6 {
  font-size: 1.8rem;
  font-weight: 750;
  margin: 0px;
  padding: 0px;
}

.heading-type7 {
  font-size: 1.8rem;
  font-weight: 750;
  margin: 0px 0px 15px 0px;
  padding: 0px 0px 0px 28px;
  background: url("../images/common/check.png") no-repeat;
  background-position: 0px 8px;
  background-size: 18px 15px;
}

.heading-type8 {
  font-size: 1.5rem;
  font-weight: 750;
  margin: 0px 0px 8px 0px;
  padding: 0px;
  text-decoration: underline;
}

/*-----------------------------------------------
 Line
-----------------------------------------------*/

.top-hr-line-900 {
  width: 900px;
  margin: 0px auto 45px auto;
  color: #1353e5;
  border-bottom: 1px solid #1353e5;
  position: relative;
}

.top-hr-line-900::after {
  content: "";
  position: absolute;
  width: 88%;
  border-bottom: 1px solid #dddddd;
  bottom: -1px;
  right: 0px;
}

.important-text {
  background: linear-gradient(transparent 60%, #ffe5e5 70%);
}

.under-line-gray {
  border-bottom: 1px solid #dddddd;
}

.center-line {
  margin: 0px auto 0px auto;
  width: 1px;
  height: 80px;
  border-left: 1px solid #000000;
}

/*-----------------------------------------------
 Link
-----------------------------------------------*/

a.underline-link {
  text-decoration: underline;
}

a.underline-link:hover {
  opacity: 0.6;
}

/*-----------------------------------------------
 Gutenberg
-----------------------------------------------*/

.post-body h1 {
  font-size: 3.6rem;
  margin: 4em 0 3em;
}

.post-body h1:first-child {
  margin-top: 0;
}

.post-body h1 + p {
  margin-top: 0;
}

.post-body h2 {
  font-size: 3.2rem;
  margin: 3em 0 2em;
}

.post-body h2:first-child {
  margin-top: 0;
}

.post-body h2 + p {
  margin-top: 0;
}

.post-body h3 {
  font-size: 2.7rem;
  margin: 3em 0 1.5em;
}

.post-body h3:first-child {
  margin-top: 0;
}

.post-body h3 + p {
  margin-top: 0;
}

.post-body h4 {
  font-size: 2.4rem;
  margin: 2em 0 0.5em;
}

.post-body h4:first-child {
  margin-top: 0;
}

.post-body h4 + p {
  margin-top: 0;
}

.post-body h5 {
  font-size: 2.1rem;
  margin: 2em 0 0.5em;
}

.post-body h5:first-child {
  margin-top: 0;
}

.post-body h5 + p {
  margin-top: 0;
}

.post-body h6 {
  font-size: 1.8rem;
  margin: 1em 0 0.25em;
}

.post-body h6:first-child {
  margin-top: 0;
}

.post-body h6 + p {
  margin-top: 0;
}

.post-body .has-text-align-left {
  text-align: left;
}

.post-body .has-text-align-right {
  text-align: right;
}

.post-body .has-text-align-center {
  text-align: center;
}

.post-body .aligncenter {
  text-align: center;
}

.post-body .alignright {
  text-align: right;
}

.post-body blockquote {
  border: 1px solid #e5e5e5;
  margin: 2em 0;
  padding: 10px 3vmin;
  position: relative;
}

.post-body blockquote:before,
.post-body blockquote:after {
  display: inline-block;
  font-size: 36px;
  line-height: 1;
  opacity: 0.6;
  position: absolute;
}

.post-body blockquote:before {
  content: "“";
  left: 10px;
  top: 5px;
}

.post-body blockquote:after {
  bottom: -10px;
  content: "”";
  right: 10px;
}

.post-body blockquote p {
  margin: 0.5em 0;
}

.post-body blockquote cite {
  display: inline-block;
  font-size: 80%;
  margin-bottom: 0.5em;
  opacity: 0.8;
}

.post-body blockquote cite:before {
  background: #d8dbe2;
  content: "";
  display: inline-block;
  height: 2px;
  margin-right: 5px;
  vertical-align: middle;
  width: 10px;
}

.post-body pre {
  border: 1px solid #e5e5e5;
  margin: 2em 0;
  padding: 3vmin;
  white-space: pre-wrap;
}

.post-body p {
  margin: 2em 0;
}

.post-body p > a {
  text-decoration: underline;
}

.post-body p a[target=_blank] {
  padding-right: 20px;
  position: relative;
}

.post-body p a[target=_blank]:before {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: url(../images/arrow-up-right.svg) no-repeat;
  background-size: contain;
}

.post-body a {
  transition: 0.3s;
}

.post-body a:hover {
  opacity: 0.8;
}

.post-body ul,
.post-body ol {
  margin: 2em 0 2em 1.5em;
  padding: 0;
}

.post-body .wp-block-gallery {
  margin: 2em 0;
}

.post-body .blocks-gallery-grid {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: -10px;
}

.post-body .blocks-gallery-grid li {
  flex-grow: 1;
  flex-direction: column;
  justify-content: center;
  padding: 10px;
}

.post-body .wp-block-gallery.columns-2 li {
  width: 50%;
}

.post-body .wp-block-gallery.columns-3 li {
  width: 33.3333333333%;
}

.post-body .wp-block-image {
  margin: 2em 0;
}

.post-body figcaption {
  font-size: 85%;
  margin-top: 0.5em;
  opacity: 0.8;
  text-align: center;
}

.post-body .wp-block-table {
  margin: 2em 0;
}

.post-body .wp-block-table table {
  border: 1px solid #e5e5e5;
  border-collapse: collapse;
  width: 100%;
}

.post-body .wp-block-table table th,
.post-body .wp-block-table table td {
  border: 1px solid #e5e5e5;
  padding: 10px;
}

.post-body .wp-block-table table th {
  background: transparent;
}

.post-body .wp-block-separator {
  border-color: #e5e5e5;
  border-style: solid;
  border-width: 1px 0 0;
  margin: 3em 0;
}

.post-body .wp-block-embed {
  margin: 2em auto;
  position: relative;
}

.post-body .wp-block-embed.is-type-video:before {
  width: 100%;
  height: 0;
  padding-top: 56.25%;
  content: "";
  display: block;
}

.post-body .wp-block-embed.is-type-video:before iframe {
  margin: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.post-body .wp-block-columns {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  justify-content: space-around;
  max-width: 100%;
  margin: 0 -10px;
}

.post-body .wp-block-column {
  padding: 0 10px;
}

.post-body .wp-block-media-text {
  align-items: center;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 3em -15px;
  max-width: 100%;
}

.post-body .wp-block-media-text_media,
.post-body .wp-block-media-text_content {
  -webkit-flex: 0 0 50%;
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
  padding: 0 15px;
}

.post-body .wp-block-button {
  margin: 2em 0;
}

.post-body .wp-block-file a + a {
  margin-left: 20px;
}

.post-body .wp-block-file_button,
.post-body .wp-block-button_link {
  background: #212121;
  border-radius: 45px;
  color: #fff;
  display: inline-block;
  padding: 10px 40px;
  text-decoration: none;
  transition-property: background-color, opacity, color, border-color, box-shadow;
  transition-duration: 0.6s;
}

.post-body .wp-block-file_button {
  font-size: 15px;
  line-height: 1;
  padding: 12px 30px 10px;
}

.post-body .wp-block-file_button:hover,
.post-body .wp-block-button_link:hover {
  background: #454545;
}

/*-----------------------------------------------
 clearfix
-----------------------------------------------*/

.clearfix:after {
  content: "";
  display: block;
  clear: both;
}

.clearfix:before {
  content: "";
  display: block;
  clear: both;
}

.clearfix {
  display: block;
}

/*-----------------------------------------------
 リンク設定
-----------------------------------------------*/

a[href^="tel:"] {
  pointer-events: none;
}

/*-----------------------------------------------
 余白設定：マージン
-----------------------------------------------*/

.tm-15 {
  margin-top: 15px;
}

.tm-55 {
  margin-top: 55px;
}

.tm-70 {
  margin-top: 70px;
}

.tm-80 {
  margin-top: 80px;
}

.tm--8 {
  margin-top: -8px;
}

.bm--10 {
  margin-bottom: -10px;
}

.bm-0 {
  margin-bottom: 0px;
}

.bm-5 {
  margin-bottom: 5px;
}

.bm-10 {
  margin-bottom: 10px;
}

.bm-15 {
  margin-bottom: 15px;
}

.bm-20 {
  margin-bottom: 20px;
}

.bm-25 {
  margin-bottom: 25px;
}

.bm-30 {
  margin-bottom: 30px;
}

.bm-35 {
  margin-bottom: 35px;
}

.bm-40 {
  margin-bottom: 40px;
}

.bm-45 {
  margin-bottom: 45px;
}

.bm-50 {
  margin-bottom: 50px;
}

.bm-55 {
  margin-bottom: 55px;
}

.bm-60 {
  margin-bottom: 60px;
}

.bm-65 {
  margin-bottom: 65px;
}

.bm-70 {
  margin-bottom: 70px;
}

.bm-75 {
  margin-bottom: 75px;
}

.bm-80 {
  margin-bottom: 80px;
}

.bm-85 {
  margin-bottom: 85px;
}

.bm-90 {
  margin-bottom: 90px;
}

.bm-95 {
  margin-bottom: 95px;
}

.bm-100 {
  margin-bottom: 100px;
}

.bm-120 {
  margin-bottom: 120px;
}

/*-----------------------------------------------
 余白設定：パディング
-----------------------------------------------*/

.tp-25 {
  padding-top: 25px;
}

.tp-26 {
  padding-top: 26px;
}

.tp-40 {
  padding-top: 40px;
}

.rp-40 {
  padding-right: 40px;
}

.bp-0 {
  padding-bottom: 0px;
}

.bp-10 {
  padding-bottom: 10px;
}

.bp-15 {
  padding-bottom: 15px;
}

.bp-20 {
  padding-bottom: 20px;
}

.bp-25 {
  padding-bottom: 25px;
}

.bp-30 {
  padding-bottom: 30px;
}

.bp-35 {
  padding-bottom: 35px;
}

.bp-40 {
  padding-bottom: 40px;
}

.bp-45 {
  padding-bottom: 45px;
}

.bp-50 {
  padding-bottom: 50px;
}

.bp-55 {
  padding-bottom: 55px;
}

.bp-60 {
  padding-bottom: 60px;
}

.bp-65 {
  padding-bottom: 65px;
}

.bp-70 {
  padding-bottom: 70px;
}

.bp-75 {
  padding-bottom: 75px;
}

.bp-80 {
  padding-bottom: 80px;
}

.lp-28 {
  padding-left: 28px;
}

/*!
 * Bootstrap Grid v4.1.0 (https://getbootstrap.com/)
 * Copyright 2011-2018 The Bootstrap Authors
 * Copyright 2011-2018 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */

@-ms-viewport {
  width: device-width;
}

html {
  box-sizing: border-box;
  -ms-overflow-style: scrollbar;
}

*,
*::before,
*::after {
  box-sizing: inherit;
}

.container {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid {
  width: 100%;
  padding-right: 15px;
  padding-left: 15px;
  margin-right: auto;
  margin-left: auto;
}

.row {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -15px;
  margin-left: -15px;
}

.no-gutters {
  margin-right: 0;
  margin-left: 0;
}

.no-gutters > .col,
.no-gutters > [class*=col-] {
  padding-right: 0;
  padding-left: 0;
}

.col-1,
.col-2,
.col-3,
.col-4,
.col-5,
.col-6,
.col-7,
.col-8,
.col-9,
.col-10,
.col-11,
.col-12,
.col,
.col-auto,
.col-sm-1,
.col-sm-2,
.col-sm-3,
.col-sm-4,
.col-sm-5,
.col-sm-6,
.col-sm-7,
.col-sm-8,
.col-sm-9,
.col-sm-10,
.col-sm-11,
.col-sm-12,
.col-sm,
.col-sm-auto,
.col-md-1,
.col-md-2,
.col-md-3,
.col-md-4,
.col-md-5,
.col-md-6,
.col-md-7,
.col-md-8,
.col-md-9,
.col-md-10,
.col-md-11,
.col-md-12,
.col-md,
.col-md-auto,
.col-lg-1,
.col-lg-2,
.col-lg-3,
.col-lg-4,
.col-lg-5,
.col-lg-6,
.col-lg-7,
.col-lg-8,
.col-lg-9,
.col-lg-10,
.col-lg-11,
.col-lg-12,
.col-lg,
.col-lg-auto,
.col-xl-1,
.col-xl-2,
.col-xl-3,
.col-xl-4,
.col-xl-5,
.col-xl-6,
.col-xl-7,
.col-xl-8,
.col-xl-9,
.col-xl-10,
.col-xl-11,
.col-xl-12,
.col-xl,
.col-xl-auto {
  position: relative;
  width: 100%;
  min-height: 1px;
  padding-right: 15px;
  padding-left: 15px;
}

.col {
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
  -ms-flex-positive: 1;
  flex-grow: 1;
  max-width: 100%;
}

.col-auto {
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: auto;
  max-width: none;
}

.col-1 {
  -ms-flex: 0 0 8.333333%;
  flex: 0 0 8.333333%;
  max-width: 8.333333%;
}

.col-2 {
  -ms-flex: 0 0 16.666667%;
  flex: 0 0 16.666667%;
  max-width: 16.666667%;
}

.col-3 {
  -ms-flex: 0 0 25%;
  flex: 0 0 25%;
  max-width: 25%;
}

.col-4 {
  -ms-flex: 0 0 33.333333%;
  flex: 0 0 33.333333%;
  max-width: 33.333333%;
}

.col-5 {
  -ms-flex: 0 0 41.666667%;
  flex: 0 0 41.666667%;
  max-width: 41.666667%;
}

.col-6 {
  -ms-flex: 0 0 50%;
  flex: 0 0 50%;
  max-width: 50%;
}

.col-7 {
  -ms-flex: 0 0 58.333333%;
  flex: 0 0 58.333333%;
  max-width: 58.333333%;
}

.col-8 {
  -ms-flex: 0 0 66.666667%;
  flex: 0 0 66.666667%;
  max-width: 66.666667%;
}

.col-9 {
  -ms-flex: 0 0 75%;
  flex: 0 0 75%;
  max-width: 75%;
}

.col-10 {
  -ms-flex: 0 0 83.333333%;
  flex: 0 0 83.333333%;
  max-width: 83.333333%;
}

.col-11 {
  -ms-flex: 0 0 91.666667%;
  flex: 0 0 91.666667%;
  max-width: 91.666667%;
}

.col-12 {
  -ms-flex: 0 0 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

.order-first {
  -ms-flex-order: -1;
  order: -1;
}

.order-last {
  -ms-flex-order: 13;
  order: 13;
}

.order-0 {
  -ms-flex-order: 0;
  order: 0;
}

.order-1 {
  -ms-flex-order: 1;
  order: 1;
}

.order-2 {
  -ms-flex-order: 2;
  order: 2;
}

.order-3 {
  -ms-flex-order: 3;
  order: 3;
}

.order-4 {
  -ms-flex-order: 4;
  order: 4;
}

.order-5 {
  -ms-flex-order: 5;
  order: 5;
}

.order-6 {
  -ms-flex-order: 6;
  order: 6;
}

.order-7 {
  -ms-flex-order: 7;
  order: 7;
}

.order-8 {
  -ms-flex-order: 8;
  order: 8;
}

.order-9 {
  -ms-flex-order: 9;
  order: 9;
}

.order-10 {
  -ms-flex-order: 10;
  order: 10;
}

.order-11 {
  -ms-flex-order: 11;
  order: 11;
}

.order-12 {
  -ms-flex-order: 12;
  order: 12;
}

.offset-1 {
  margin-left: 8.333333%;
}

.offset-2 {
  margin-left: 16.666667%;
}

.offset-3 {
  margin-left: 25%;
}

.offset-4 {
  margin-left: 33.333333%;
}

.offset-5 {
  margin-left: 41.666667%;
}

.offset-6 {
  margin-left: 50%;
}

.offset-7 {
  margin-left: 58.333333%;
}

.offset-8 {
  margin-left: 66.666667%;
}

.offset-9 {
  margin-left: 75%;
}

.offset-10 {
  margin-left: 83.333333%;
}

.offset-11 {
  margin-left: 91.666667%;
}

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

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-block {
  display: block !important;
}

.d-table {
  display: table !important;
}

.d-table-row {
  display: table-row !important;
}

.d-table-cell {
  display: table-cell !important;
}

.d-flex {
  display: -ms-flexbox !important;
  display: flex !important;
}

.d-inline-flex {
  display: -ms-inline-flexbox !important;
  display: inline-flex !important;
}

.flex-row {
  -ms-flex-direction: row !important;
  flex-direction: row !important;
}

.flex-column {
  -ms-flex-direction: column !important;
  flex-direction: column !important;
}

.flex-row-reverse {
  -ms-flex-direction: row-reverse !important;
  flex-direction: row-reverse !important;
}

.flex-column-reverse {
  -ms-flex-direction: column-reverse !important;
  flex-direction: column-reverse !important;
}

.flex-wrap {
  -ms-flex-wrap: wrap !important;
  flex-wrap: wrap !important;
}

.flex-nowrap {
  -ms-flex-wrap: nowrap !important;
  flex-wrap: nowrap !important;
}

.flex-wrap-reverse {
  -ms-flex-wrap: wrap-reverse !important;
  flex-wrap: wrap-reverse !important;
}

.flex-fill {
  -ms-flex: 1 1 auto !important;
  flex: 1 1 auto !important;
}

.flex-grow-0 {
  -ms-flex-positive: 0 !important;
  flex-grow: 0 !important;
}

.flex-grow-1 {
  -ms-flex-positive: 1 !important;
  flex-grow: 1 !important;
}

.flex-shrink-0 {
  -ms-flex-negative: 0 !important;
  flex-shrink: 0 !important;
}

.flex-shrink-1 {
  -ms-flex-negative: 1 !important;
  flex-shrink: 1 !important;
}

.justify-content-start {
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
}

.justify-content-end {
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
}

.justify-content-center {
  -ms-flex-pack: center !important;
  justify-content: center !important;
}

.justify-content-between {
  -ms-flex-pack: justify !important;
  justify-content: space-between !important;
}

.justify-content-around {
  -ms-flex-pack: distribute !important;
  justify-content: space-around !important;
}

.align-items-start {
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.align-items-end {
  -ms-flex-align: end !important;
  align-items: flex-end !important;
}

.align-items-center {
  -ms-flex-align: center !important;
  align-items: center !important;
}

.align-items-baseline {
  -ms-flex-align: baseline !important;
  align-items: baseline !important;
}

.align-items-stretch {
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

.align-content-start {
  -ms-flex-line-pack: start !important;
  align-content: flex-start !important;
}

.align-content-end {
  -ms-flex-line-pack: end !important;
  align-content: flex-end !important;
}

.align-content-center {
  -ms-flex-line-pack: center !important;
  align-content: center !important;
}

.align-content-between {
  -ms-flex-line-pack: justify !important;
  align-content: space-between !important;
}

.align-content-around {
  -ms-flex-line-pack: distribute !important;
  align-content: space-around !important;
}

.align-content-stretch {
  -ms-flex-line-pack: stretch !important;
  align-content: stretch !important;
}

.align-self-auto {
  -ms-flex-item-align: auto !important;
  align-self: auto !important;
}

.align-self-start {
  -ms-flex-item-align: start !important;
  align-self: flex-start !important;
}

.align-self-end {
  -ms-flex-item-align: end !important;
  align-self: flex-end !important;
}

.align-self-center {
  -ms-flex-item-align: center !important;
  align-self: center !important;
}

.align-self-baseline {
  -ms-flex-item-align: baseline !important;
  align-self: baseline !important;
}

.align-self-stretch {
  -ms-flex-item-align: stretch !important;
  align-self: stretch !important;
}

@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }

  .col-sm {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-sm-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-sm-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-sm-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-sm-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-sm-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-sm-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-sm-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-sm-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-sm-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-sm-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-sm-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-sm-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-sm-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-sm-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-sm-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-sm-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-sm-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-sm-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-sm-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-sm-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-sm-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-sm-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-sm-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-sm-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-sm-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-sm-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-sm-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-sm-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-sm-0 {
    margin-left: 0;
  }

  .offset-sm-1 {
    margin-left: 8.333333%;
  }

  .offset-sm-2 {
    margin-left: 16.666667%;
  }

  .offset-sm-3 {
    margin-left: 25%;
  }

  .offset-sm-4 {
    margin-left: 33.333333%;
  }

  .offset-sm-5 {
    margin-left: 41.666667%;
  }

  .offset-sm-6 {
    margin-left: 50%;
  }

  .offset-sm-7 {
    margin-left: 58.333333%;
  }

  .offset-sm-8 {
    margin-left: 66.666667%;
  }

  .offset-sm-9 {
    margin-left: 75%;
  }

  .offset-sm-10 {
    margin-left: 83.333333%;
  }

  .offset-sm-11 {
    margin-left: 91.666667%;
  }

  .d-sm-none {
    display: none !important;
  }

  .d-sm-inline {
    display: inline !important;
  }

  .d-sm-inline-block {
    display: inline-block !important;
  }

  .d-sm-block {
    display: block !important;
  }

  .d-sm-table {
    display: table !important;
  }

  .d-sm-table-row {
    display: table-row !important;
  }

  .d-sm-table-cell {
    display: table-cell !important;
  }

  .d-sm-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-sm-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .flex-sm-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-sm-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-sm-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-sm-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-sm-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-sm-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-sm-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-sm-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-sm-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-sm-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-sm-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-sm-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-sm-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-sm-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-sm-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-sm-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-sm-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-sm-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-sm-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-sm-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-sm-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-sm-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-sm-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-sm-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-sm-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-sm-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-sm-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-sm-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-sm-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-sm-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-sm-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-sm-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-sm-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-sm-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 768px) {
  .post-info br {
    display: block !important;
  }

  .accordion-menu-footer {
    display: none;
  }

  #page-top {
    position: absolute;
    z-index: 20;
    bottom: 30px;
    right: 0px;
    width: 60px;
    height: 60px;
  }

  .container-cta-button {
    position: fixed;
    z-index: 30;
    right: 0;
    bottom: 161px;
  }

  .cta-button {
    position: relative;
    width: 220px;
    height: 60px;
    overflow: hidden;
    margin-bottom: 5px;
  }

  .cta-button:last-child {
    margin-bottom: 0px;
  }

  .button-document {
    position: absolute;
    top: 0;
    right: -160px;
    width: 220px;
    height: 60px;
    background: url("../images/common/cta_document_icon.png") no-repeat;
    background-position: 22px 17px;
    background-size: 22px;
    background-color: #ffc12d;
    transition: right 0.5s;
    margin: 0px 0px 0px 0px;
    padding: 17px 0px 0px 63px;
    border-radius: 10px 0px 0px 10px;
    font-weight: 700;
  }

  .cta-button a:hover .button-document {
    right: 0;
  }

  .button-contact {
    position: absolute;
    top: 0;
    right: -160px;
    width: 220px;
    height: 60px;
    background: url("../images/common/cta_mail_icon.png") no-repeat;
    background-position: 22px 21px;
    background-size: 26px;
    background-color: #1353e5;
    transition: right 0.5s;
    margin: 0px 0px 0px 0px;
    padding: 17px 0px 0px 63px;
    border-radius: 10px 0px 0px 10px;
    color: #ffffff;
    font-weight: 700;
  }

  .cta-button a:hover .button-contact {
    right: 0;
  }

  .button-tel {
    position: absolute;
    top: 0;
    right: -160px;
    width: 220px;
    height: 60px;
    background: url("../images/common/cta_tel_icon.png") no-repeat;
    background-position: 22px 20px;
    background-size: 24px;
    background-color: #313439;
    transition: right 0.5s;
    margin: 0px 0px 0px 0px;
    padding: 17px 0px 0px 63px;
    border-radius: 10px 0px 0px 10px;
    color: #ffffff;
    font-weight: 700;
  }

  .cta-button a:hover .button-tel {
    right: 0;
  }

  .main-visual-outline h1 br {
    display: block !important;
  }

  #main-visual .catch-copy {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2.8em;
    padding: 8px 15px 8px 25px;
    font-size: 1.8rem;
    color: #ffffff;
    background-color: #000000;
  }

  #main-visual .catch-copy br {
    display: block;
  }

  .splide__pagination__page {
    background: #ffffff !important;
    opacity: 1;
    margin: 0px 6px 15px 6px !important;
  }

  .splide__pagination__page.is-active {
    background: #000000 !important;
  }

  .news-ttl-en {
    width: 100px;
    min-height: 130px;
    margin: 0px;
    padding: 4px 0px 0px 0px;
    float: left;
    font-family: "Oswald", sans-serif;
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: 0.03em;
    line-height: 1.2em;
  }

  .back-text-tr__m {
    position: absolute;
    z-index: -1;
    top: -37px;
    left: -7px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .back-text-tr__m br {
    display: block !important;
  }

  .back-text-tl__m {
    position: absolute;
    z-index: -1;
    top: -37px;
    left: -7px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .back-text-tl__m br {
    display: block !important;
  }

  .back-text__s {
    position: absolute;
    z-index: -1;
    top: 31px;
    left: 0px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 4.6rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 0em;
    letter-spacing: 0.01em;
  }

  .back-text-works__l {
    position: absolute;
    z-index: -1;
    top: -105px;
    left: -140px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 13rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .catch-top-works {
    padding: 6px 12px 8px 15px;
    letter-spacing: 0.02em;
    text-indent: 0.5em;
    color: #ffffff;
    background-color: #000000;
    text-align: center;
  }

  .catch-top-works br {
    display: none;
  }

  .catch-top-recruit {
    padding: 6px 12px 8px 15px;
    letter-spacing: 0.02em;
    text-indent: 0.5em;
    color: #ffffff;
    background-color: #000000;
    text-align: center;
  }

  .catch-top-recruit br {
    display: none;
  }

  .back-text-company__l {
    position: absolute;
    z-index: -1;
    top: -100px;
    left: -148px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 13rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .news-bottom-ttl-en {
    height: auto;
    margin: 0px;
    padding: 0px 0px 0px 0px;
    font-family: "Oswald", sans-serif;
    font-size: 3rem;
    font-weight: 600;
    letter-spacing: 0.03em;
  }

  .service-outline h1 br {
    display: block !important;
  }

  .service-outline p br {
    display: block !important;
  }

  .back-text-sp-vp__xl {
    position: absolute;
    z-index: -1;
    top: 33px;
    left: 0;
    right: 0;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 14rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .ttl-sp-vp {
    margin-bottom: 0px;
    font-size: 3rem;
    font-weight: 650;
    letter-spacing: 0em;
  }

  .ttl-sp-vp br {
    display: none;
  }

  .lead-sp-vp {
    margin-bottom: 0px;
    padding-right: 40px;
  }

  .lead-sp-vp br {
    display: block;
  }

  .wwcd-item p {
    margin: 0px;
    padding: 0px;
    letter-spacing: 0em;
  }

  .wwcd-item p br {
    display: block;
  }

  .ttl-vp {
    margin-bottom: 0px;
    font-size: 3rem;
    font-weight: 650;
    letter-spacing: 0em;
    text-align: left;
  }

  .ttl-vp br {
    display: none;
  }

  .lead-vp {
    margin-bottom: 0px;
    padding-right: 40px;
    text-align: left;
  }

  .lead-vp br {
    display: block;
  }

  .back-text-sl__m {
    position: absolute;
    z-index: -1;
    top: -33px;
    left: -7px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  h2.ttl-sl br {
    display: block !important;
  }

  .recruit-ol p {
    font-size: 1.8rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .recruit-ol p br {
    display: block !important;
  }

  .recruit-ol-ft p {
    font-size: 1.8rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .recruit-ol-ft p br {
    display: block !important;
  }

  .factory-tour-ol p {
    font-size: 1.8rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .factory-tour-ol p br {
    display: block !important;
  }

  .factory-tour-ol-ft p {
    font-size: 1.8rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .factory-tour-ol-ft p br {
    display: block !important;
  }

  .factory-tour-point {
    grid-template-columns: repeat(3, 1fr);
    grid-template-areas: "a b c";
  }

  .ft-item1 {
    grid-area: a;
  }

  .ft-item2 {
    grid-area: b;
  }

  .ft-item3 {
    grid-area: c;
  }

  .ttl-tp {
    margin-bottom: 20px;
    font-size: 4rem;
    font-weight: 650;
    letter-spacing: 0em;
    text-align: left;
  }

  strong {
    color: #1353e5;
    font-weight: 650;
  }

  .lead-tp {
    margin-bottom: 0px;
    padding-right: 40px;
    text-align: left;
  }

  #contents-404 h2 {
    font-size: 3rem;
    font-weight: 735;
    letter-spacing: 0em;
    margin-bottom: 35px;
  }

  #contents-404 h2 br {
    display: none;
  }

  .md-ttl h1 {
    font-size: 4rem;
    color: #ffffff;
    font-weight: 650;
    line-height: 1.4em;
    margin: 0px;
    padding: 0px;
  }

  br {
    display: none;
  }

  .wb-ttl h1 {
    font-size: 4rem;
    color: #ffffff;
    font-weight: 650;
    line-height: 1.4em;
    margin: 0px;
    padding: 0px;
  }

  br {
    display: none;
  }

  .container {
    max-width: 720px;
  }

  .col-md {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-md-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-md-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-md-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-md-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-md-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-md-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-md-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-md-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-md-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-md-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-md-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-md-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-md-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-md-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-md-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-md-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-md-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-md-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-md-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-md-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-md-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-md-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-md-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-md-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-md-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-md-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-md-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-md-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-md-0 {
    margin-left: 0;
  }

  .offset-md-1 {
    margin-left: 8.333333%;
  }

  .offset-md-2 {
    margin-left: 16.666667%;
  }

  .offset-md-3 {
    margin-left: 25%;
  }

  .offset-md-4 {
    margin-left: 33.333333%;
  }

  .offset-md-5 {
    margin-left: 41.666667%;
  }

  .offset-md-6 {
    margin-left: 50%;
  }

  .offset-md-7 {
    margin-left: 58.333333%;
  }

  .offset-md-8 {
    margin-left: 66.666667%;
  }

  .offset-md-9 {
    margin-left: 75%;
  }

  .offset-md-10 {
    margin-left: 83.333333%;
  }

  .offset-md-11 {
    margin-left: 91.666667%;
  }

  .d-md-none {
    display: none !important;
  }

  .d-md-inline {
    display: inline !important;
  }

  .d-md-inline-block {
    display: inline-block !important;
  }

  .d-md-block {
    display: block !important;
  }

  .d-md-table {
    display: table !important;
  }

  .d-md-table-row {
    display: table-row !important;
  }

  .d-md-table-cell {
    display: table-cell !important;
  }

  .d-md-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-md-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .flex-md-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-md-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-md-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-md-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-md-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-md-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-md-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-md-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-md-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-md-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-md-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-md-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-md-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-md-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-md-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-md-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-md-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-md-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-md-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-md-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-md-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-md-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-md-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-md-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-md-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-md-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-md-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-md-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-md-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-md-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-md-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-md-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-md-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-md-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media screen and (min-width: 768px) {
  .for_sp {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }

  .col-lg {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-lg-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-lg-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-lg-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-lg-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-lg-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-lg-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-lg-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-lg-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-lg-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-lg-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-lg-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-lg-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-lg-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-lg-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-lg-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-lg-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-lg-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-lg-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-lg-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-lg-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-lg-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-lg-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-lg-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-lg-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-lg-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-lg-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-lg-0 {
    margin-left: 0;
  }

  .offset-lg-1 {
    margin-left: 8.333333%;
  }

  .offset-lg-2 {
    margin-left: 16.666667%;
  }

  .offset-lg-3 {
    margin-left: 25%;
  }

  .offset-lg-4 {
    margin-left: 33.333333%;
  }

  .offset-lg-5 {
    margin-left: 41.666667%;
  }

  .offset-lg-6 {
    margin-left: 50%;
  }

  .offset-lg-7 {
    margin-left: 58.333333%;
  }

  .offset-lg-8 {
    margin-left: 66.666667%;
  }

  .offset-lg-9 {
    margin-left: 75%;
  }

  .offset-lg-10 {
    margin-left: 83.333333%;
  }

  .offset-lg-11 {
    margin-left: 91.666667%;
  }

  .d-lg-none {
    display: none !important;
  }

  .d-lg-inline {
    display: inline !important;
  }

  .d-lg-inline-block {
    display: inline-block !important;
  }

  .d-lg-block {
    display: block !important;
  }

  .d-lg-table {
    display: table !important;
  }

  .d-lg-table-row {
    display: table-row !important;
  }

  .d-lg-table-cell {
    display: table-cell !important;
  }

  .d-lg-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-lg-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .flex-lg-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-lg-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-lg-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-lg-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-lg-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-lg-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-lg-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-lg-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-lg-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-lg-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-lg-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-lg-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-lg-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-lg-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-lg-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-lg-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-lg-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-lg-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-lg-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-lg-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-lg-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-lg-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-lg-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-lg-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-lg-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-lg-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-lg-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-lg-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-lg-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-lg-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-lg-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-lg-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-lg-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-lg-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }

  .col-xl {
    -ms-flex-preferred-size: 0;
    flex-basis: 0;
    -ms-flex-positive: 1;
    flex-grow: 1;
    max-width: 100%;
  }

  .col-xl-auto {
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    max-width: none;
  }

  .col-xl-1 {
    -ms-flex: 0 0 8.333333%;
    flex: 0 0 8.333333%;
    max-width: 8.333333%;
  }

  .col-xl-2 {
    -ms-flex: 0 0 16.666667%;
    flex: 0 0 16.666667%;
    max-width: 16.666667%;
  }

  .col-xl-3 {
    -ms-flex: 0 0 25%;
    flex: 0 0 25%;
    max-width: 25%;
  }

  .col-xl-4 {
    -ms-flex: 0 0 33.333333%;
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
  }

  .col-xl-5 {
    -ms-flex: 0 0 41.666667%;
    flex: 0 0 41.666667%;
    max-width: 41.666667%;
  }

  .col-xl-6 {
    -ms-flex: 0 0 50%;
    flex: 0 0 50%;
    max-width: 50%;
  }

  .col-xl-7 {
    -ms-flex: 0 0 58.333333%;
    flex: 0 0 58.333333%;
    max-width: 58.333333%;
  }

  .col-xl-8 {
    -ms-flex: 0 0 66.666667%;
    flex: 0 0 66.666667%;
    max-width: 66.666667%;
  }

  .col-xl-9 {
    -ms-flex: 0 0 75%;
    flex: 0 0 75%;
    max-width: 75%;
  }

  .col-xl-10 {
    -ms-flex: 0 0 83.333333%;
    flex: 0 0 83.333333%;
    max-width: 83.333333%;
  }

  .col-xl-11 {
    -ms-flex: 0 0 91.666667%;
    flex: 0 0 91.666667%;
    max-width: 91.666667%;
  }

  .col-xl-12 {
    -ms-flex: 0 0 100%;
    flex: 0 0 100%;
    max-width: 100%;
  }

  .order-xl-first {
    -ms-flex-order: -1;
    order: -1;
  }

  .order-xl-last {
    -ms-flex-order: 13;
    order: 13;
  }

  .order-xl-0 {
    -ms-flex-order: 0;
    order: 0;
  }

  .order-xl-1 {
    -ms-flex-order: 1;
    order: 1;
  }

  .order-xl-2 {
    -ms-flex-order: 2;
    order: 2;
  }

  .order-xl-3 {
    -ms-flex-order: 3;
    order: 3;
  }

  .order-xl-4 {
    -ms-flex-order: 4;
    order: 4;
  }

  .order-xl-5 {
    -ms-flex-order: 5;
    order: 5;
  }

  .order-xl-6 {
    -ms-flex-order: 6;
    order: 6;
  }

  .order-xl-7 {
    -ms-flex-order: 7;
    order: 7;
  }

  .order-xl-8 {
    -ms-flex-order: 8;
    order: 8;
  }

  .order-xl-9 {
    -ms-flex-order: 9;
    order: 9;
  }

  .order-xl-10 {
    -ms-flex-order: 10;
    order: 10;
  }

  .order-xl-11 {
    -ms-flex-order: 11;
    order: 11;
  }

  .order-xl-12 {
    -ms-flex-order: 12;
    order: 12;
  }

  .offset-xl-0 {
    margin-left: 0;
  }

  .offset-xl-1 {
    margin-left: 8.333333%;
  }

  .offset-xl-2 {
    margin-left: 16.666667%;
  }

  .offset-xl-3 {
    margin-left: 25%;
  }

  .offset-xl-4 {
    margin-left: 33.333333%;
  }

  .offset-xl-5 {
    margin-left: 41.666667%;
  }

  .offset-xl-6 {
    margin-left: 50%;
  }

  .offset-xl-7 {
    margin-left: 58.333333%;
  }

  .offset-xl-8 {
    margin-left: 66.666667%;
  }

  .offset-xl-9 {
    margin-left: 75%;
  }

  .offset-xl-10 {
    margin-left: 83.333333%;
  }

  .offset-xl-11 {
    margin-left: 91.666667%;
  }

  .d-xl-none {
    display: none !important;
  }

  .d-xl-inline {
    display: inline !important;
  }

  .d-xl-inline-block {
    display: inline-block !important;
  }

  .d-xl-block {
    display: block !important;
  }

  .d-xl-table {
    display: table !important;
  }

  .d-xl-table-row {
    display: table-row !important;
  }

  .d-xl-table-cell {
    display: table-cell !important;
  }

  .d-xl-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-xl-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }

  .flex-xl-row {
    -ms-flex-direction: row !important;
    flex-direction: row !important;
  }

  .flex-xl-column {
    -ms-flex-direction: column !important;
    flex-direction: column !important;
  }

  .flex-xl-row-reverse {
    -ms-flex-direction: row-reverse !important;
    flex-direction: row-reverse !important;
  }

  .flex-xl-column-reverse {
    -ms-flex-direction: column-reverse !important;
    flex-direction: column-reverse !important;
  }

  .flex-xl-wrap {
    -ms-flex-wrap: wrap !important;
    flex-wrap: wrap !important;
  }

  .flex-xl-nowrap {
    -ms-flex-wrap: nowrap !important;
    flex-wrap: nowrap !important;
  }

  .flex-xl-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
    flex-wrap: wrap-reverse !important;
  }

  .flex-xl-fill {
    -ms-flex: 1 1 auto !important;
    flex: 1 1 auto !important;
  }

  .flex-xl-grow-0 {
    -ms-flex-positive: 0 !important;
    flex-grow: 0 !important;
  }

  .flex-xl-grow-1 {
    -ms-flex-positive: 1 !important;
    flex-grow: 1 !important;
  }

  .flex-xl-shrink-0 {
    -ms-flex-negative: 0 !important;
    flex-shrink: 0 !important;
  }

  .flex-xl-shrink-1 {
    -ms-flex-negative: 1 !important;
    flex-shrink: 1 !important;
  }

  .justify-content-xl-start {
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
  }

  .justify-content-xl-end {
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
  }

  .justify-content-xl-center {
    -ms-flex-pack: center !important;
    justify-content: center !important;
  }

  .justify-content-xl-between {
    -ms-flex-pack: justify !important;
    justify-content: space-between !important;
  }

  .justify-content-xl-around {
    -ms-flex-pack: distribute !important;
    justify-content: space-around !important;
  }

  .align-items-xl-start {
    -ms-flex-align: start !important;
    align-items: flex-start !important;
  }

  .align-items-xl-end {
    -ms-flex-align: end !important;
    align-items: flex-end !important;
  }

  .align-items-xl-center {
    -ms-flex-align: center !important;
    align-items: center !important;
  }

  .align-items-xl-baseline {
    -ms-flex-align: baseline !important;
    align-items: baseline !important;
  }

  .align-items-xl-stretch {
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }

  .align-content-xl-start {
    -ms-flex-line-pack: start !important;
    align-content: flex-start !important;
  }

  .align-content-xl-end {
    -ms-flex-line-pack: end !important;
    align-content: flex-end !important;
  }

  .align-content-xl-center {
    -ms-flex-line-pack: center !important;
    align-content: center !important;
  }

  .align-content-xl-between {
    -ms-flex-line-pack: justify !important;
    align-content: space-between !important;
  }

  .align-content-xl-around {
    -ms-flex-line-pack: distribute !important;
    align-content: space-around !important;
  }

  .align-content-xl-stretch {
    -ms-flex-line-pack: stretch !important;
    align-content: stretch !important;
  }

  .align-self-xl-auto {
    -ms-flex-item-align: auto !important;
    align-self: auto !important;
  }

  .align-self-xl-start {
    -ms-flex-item-align: start !important;
    align-self: flex-start !important;
  }

  .align-self-xl-end {
    -ms-flex-item-align: end !important;
    align-self: flex-end !important;
  }

  .align-self-xl-center {
    -ms-flex-item-align: center !important;
    align-self: center !important;
  }

  .align-self-xl-baseline {
    -ms-flex-item-align: baseline !important;
    align-self: baseline !important;
  }

  .align-self-xl-stretch {
    -ms-flex-item-align: stretch !important;
    align-self: stretch !important;
  }
}

@media (min-width: 1310px) {
  .hamburger-menu {
    display: none;
  }
}

@media screen and (max-width: 1400px) {
  .fotter-link-back {
    padding: 45px 50px 0px 50px;
  }

  .fotter-link {
    width: 100%;
    padding: 0px 0px 10px 0px;
  }

  .base-introduction {
    width: 100%;
    padding: 0px 50px 0px 50px;
  }

  .sns-copyright-back {
    padding: 0px 50px 0px 50px;
  }

  .container-sns-copyright {
    width: 100%;
    padding: 60px 0px 0px 0px;
  }

  .service-other-outline {
    float: none;
    width: 100%;
  }

  .works-back {
    padding: 100px 20px 100px 20px;
  }

  #works {
    width: 100%;
    padding: 0px 0px 0px 0px;
  }

  .container-works {
    justify-content: center;
    padding: 0px 0px 0px 50px;
  }

  #recruit {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .container-recruit {
    justify-content: center;
  }

  .back-text-recruit__l {
    right: -20px;
  }

  .container-company {
    width: 100%;
    justify-content: center;
    padding: 0px 20px 0px 50px;
  }

  .factory-tour {
    width: 100%;
  }

  .community-contributions-activities {
    width: 100%;
  }

  .container-tracking {
    justify-content: center;
    width: 100%;
    margin: 60px auto 80px auto;
  }

  .technology {
    justify-content: center;
    width: 100%;
    margin: 0px auto 80px auto;
  }

  .sitemap-link {
    width: 100%;
  }
}

@media (max-width: 1400px) {
  .back-text__s {
    position: absolute;
    z-index: -1;
    top: 33px;
    left: 250px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 4.6rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 0em;
    letter-spacing: 0.01em;
  }
}

@media screen and (max-width: 1310px) {
  #header-wrap-top h1 img {
    min-width: 250px;
  }

  #header-wrap-top nav {
    visibility: hidden;
  }

  #header-wrap-top.HeightMin h1 img {
    min-width: 230px;
    content: url("../images/common/header_logo_fixed_pc.png");
  }

  #header-wrap-top.HeightMin nav {
    visibility: hidden;
  }

  #header-wrap-other h1 img {
    min-width: 230px;
    content: url("../images/common/header_logo_fixed_pc.png");
  }

  #header-wrap-other nav {
    visibility: hidden;
  }

  .menu-icon {
    top: 20px;
    right: 20px !important;
  }

  #contents-wrapper {
    flex-direction: row;
    row-gap: 20px;
    padding: 115px 20px 0px 20px;
    width: 100%;
  }

  #main-contents {
    width: 68%;
  }

  .container-2colum-layout {
    flex-direction: column-reverse;
    row-gap: 25px;
  }

  .container-2colum-layout:nth-child(odd) {
    flex-direction: column-reverse;
    row-gap: 25px;
  }

  .left-colum-360 {
    width: 100%;
  }

  .right-colum-350 {
    width: 100%;
  }

  .container-2colum-layout-noreverce {
    flex-direction: column;
    row-gap: 20px;
  }

  .left-colum-355 {
    width: 100%;
  }

  .right-colum-355 {
    width: 100%;
  }

  .wb-post-list {
    flex-direction: column;
  }

  .wb-post-list-360 {
    width: 100%;
  }

  .wb-post-list2 {
    flex-direction: column;
    row-gap: 0px;
  }

  .wb-post-list2-320 {
    width: 100%;
  }

  .wb-post-list2-400 {
    width: 100%;
  }

  a .wb-link .wb-link-outline-wrapper {
    width: 145px;
  }

  #sidenavi {
    width: 32%;
  }

  .service-link-img-type1 {
    width: 100%;
    height: auto;
  }

  a .service-link-type2 .service-link-outline-wrapper {
    width: 145px;
  }

  #form-main-contents {
    width: 100%;
    border-bottom: 1px solid #dddddd;
    margin: 0px 0px 20px 0px;
    padding: 0px 0px 50px 0px;
  }

  #form-main-contents h2 {
    font-size: 3rem;
    font-weight: 650;
  }

  .form-img {
    width: 100%;
    height: 280px;
  }

  .form-bt-area {
    text-align: center;
  }

  .form-address-area {
    text-align: center;
  }

  #form-main-contents h3 {
    width: 100%;
    height: auto;
    justify-content: center;
  }

  .form-bt {
    padding: 12px 0px 0px 3px;
    width: 300px;
    height: 50px;
    letter-spacing: 0em;
  }

  #form {
    width: 100%;
  }

  #form .form-ttl {
    font-size: 2.35rem;
  }

  .related-articles {
    width: 100%;
  }

  .achievements-hr-line {
    width: 100%;
  }

  #main-visual {
    padding: 0px 0px 0px 0px;
  }

  .link-bt-wrapper {
    width: 100%;
    height: auto;
  }

  #news {
    width: 100%;
    margin: 0px auto 80px auto;
    padding: 0px 20px 0px 20px;
  }

  #other {
    width: 100%;
    margin: 0px auto 70px auto;
    padding: 0px 20px 0px 20px;
  }

  .ttl-category {
    width: 100%;
  }

  #service-list-mv {
    padding: 45px 20px 0px 20px;
  }

  #security-printing-mv {
    padding: 45px 20px 0px 20px;
  }

  .ex-wrapper {
    padding: 0px 20px 0px 20px;
  }

  .ex {
    justify-content: space-between;
    align-items: flex-start;
    flex-direction: column;
    width: 100%;
  }

  #video-production-mv {
    padding: 45px 20px 0px 20px;
  }

  #security-printing-mv-ft {
    padding: 0px 20px 0px 20px;
  }

  #video-production-mv-ft {
    padding: 0px 20px 0px 20px;
  }

  .wwcd {
    flex-direction: row;
    justify-content: center;
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .genre {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .genre-list {
    justify-content: center;
    width: 100%;
  }

  .genre-item-wrapper {
    width: 360px;
    height: 140px;
    flex-direction: row;
  }

  .works-list {
    width: 100%;
    padding: 0px;
    flex-direction: column;
    row-gap: 40px;
  }

  .genre {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .container-outline {
    flex-direction: column;
  }

  .item-name {
    width: 100%;
    margin-bottom: 8px;
  }

  .item-outline {
    width: 100%;
  }

  .csr-410 {
    width: 100%;
  }

  .csr-320 {
    width: 100%;
  }

  .csr-250 {
    width: 100%;
  }

  .csr-490 {
    width: 100%;
    text-align: center;
  }

  .csr-490 img {
    width: 206px;
    margin-bottom: 10px;
    vertical-align: none;
  }

  .csr-360 {
    width: 100%;
    text-align: center;
  }

  .csr-380 {
    width: 100%;
    text-align: center;
  }

  .sitemap-bt {
    padding: 12px 0px 0px 3px;
    width: 250px;
    height: 50px;
    letter-spacing: 0em;
    margin-bottom: 30px;
  }

  #md-mv {
    padding: 33px 0px 0px 0px;
  }

  .md-ttl {
    width: 100%;
  }

  #wb-mv {
    padding: 33px 0px 0px 0px;
  }

  .wb-ttl {
    width: 100%;
  }

  .search-ttl {
    width: 100%;
  }

  .txt-search {
    width: 100%;
  }

  .list-all a {
    width: 100%;
  }
}

@media (max-width: 1310px) {
  .ad-menu-position {
    margin-top: 29px !important;
  }

  .accordion-menu h1 img {
    position: fixed;
    z-index: 115;
    top: 0px;
    width: 230px !important;
    content: url("../images/common/header_logo_fixed_pc.png");
  }

  .accordion-menu ul {
    background-color: #f6f9fc;
    border-top: 1px solid #dddddd;
    padding: 0px;
    width: 100%;
    float: left;
    margin: -19px 0px 0px 0px;
  }

  #main-contents img.mb-30 {
    margin-bottom: 30px;
  }

  .achievements-wrapper {
    padding: 0px 20px 0px 20px;
  }

  #news-bottom {
    width: 100%;
  }

  .news-hr-line-wrapper {
    padding: 0px 20px 0px 20px;
  }

  .news-hr-line {
    width: 100%;
    margin: 0px auto 45px auto;
  }
}

@media screen and (max-width: 1250px) {
  #video-production {
    width: 100%;
    margin: 0px auto 60px auto;
    padding: 0px 20px 0px 20px;
  }

  #security-printing {
    width: 100%;
    margin: 0px auto 70px auto;
    padding: 0px 20px 0px 50px;
  }

  #service-other {
    width: 100%;
    height: auto;
    margin: 0px 0px 50px 0px;
    padding: 0px 20px 0px 20px;
  }

  .container-service-other {
    width: 100% !important;
  }

  .service-other-img {
    width: 220px;
    height: 220px;
  }

  .container-works {
    justify-content: center;
    padding: 0px 0px 0px 30px;
  }

  .security-printing-about1 {
    width: 100%;
    margin: 0px auto 50px auto;
    padding: 0px 20px 0px 0px;
  }

  .security-printing-about2 {
    width: 100%;
    margin: 0px auto 65px auto;
    padding: 0px 20px 0px 0px;
  }

  .movie-production-assignment {
    width: 100%;
    margin: 0px auto 50px auto;
    padding: 0px 20px 0px 0px;
  }

  .movie-production-stadio-wrapper {
    width: 100%;
    margin: 0px auto 50px auto;
    padding: 65px 20px 50px 0px;
  }

  .movie-production-stadio {
    width: 100%;
    margin: 0px auto 0px auto;
    padding: 0px 0px 0px 0px;
  }

  .movie-production-onestop {
    width: 100%;
    margin: 0px auto 50px auto;
    padding: 0px 20px 0px 0px;
  }

  .service-list1 {
    width: 100%;
    margin: 0px auto 40px auto;
    padding: 0px 20px 0px 20px;
  }

  .service-list2 {
    width: 100%;
    margin: 0px auto 0px auto;
    padding: 0px 20px 0px 20px;
  }

  #recruit-mv {
    padding: 37px 20px 0px 20px;
  }

  #recruit-mv-ft {
    padding: 0px 20px 0px 20px;
  }

  #factory-tour-mv {
    padding: 37px 20px 0px 20px;
  }

  #factory-tour-mv-ft {
    padding: 0px 20px 0px 20px;
  }

  .tsutaju-project-wrapper-ol {
    width: 100%;
    margin: 0px auto 40px auto;
    padding: 0px 20px 0px 20px;
  }

  .tsutaju-project-wrapper {
    width: 100%;
    margin: 0px auto 40px auto;
  }
}

@media screen and (max-width: 1100px) {
  #wrapper-1100 {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  #form-contents-wrapper {
    flex-direction: column;
    row-gap: 20px;
    margin: 0px 0px 80px 0px;
    padding: 115px 20px 0px 20px;
    width: 100%;
  }

  .main-visual-outline {
    width: 100%;
  }

  .ex h3 {
    width: 100%;
  }

  .ex p {
    width: 100%;
  }

  .service-outline {
    width: 100%;
  }

  .service-outline-ft {
    width: 100%;
  }

  .csr-250 p {
    padding-right: 0px;
  }

  .csr-490 .right-txt {
    display: block;
    vertical-align: none;
  }

  .csr-360 img {
    width: 130px;
    margin-bottom: 20px;
    vertical-align: none;
  }

  .csr-360 .right-txt {
    display: block;
    vertical-align: none;
  }

  .csr-380 img {
    width: 155px;
    margin-bottom: 20px;
    vertical-align: none;
  }

  .csr-380 .right-txt {
    display: block;
    vertical-align: none;
  }

  .recruit-ol {
    width: 100%;
  }

  .recruit-ol-ft {
    width: 100%;
  }

  .factory-tour-ol {
    width: 100%;
  }

  .factory-tour-ol-ft {
    width: 100%;
  }
}

@media (max-width: 1100px) {
  .catch-top-works {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2.8em;
  }

  .catch-top-recruit {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2.8em;
  }
}

@media screen and (max-width: 1024px) {
  #contents-page {
    padding: 145px 20px 0px 20px;
    width: 100%;
  }

  #contents-page-sitemap {
    padding: 145px 20px 0px 20px;
    width: 100%;
  }

  .main-visual-outline p {
    font-size: 1.6rem;
  }

  .main-visual-outline p br {
    display: none;
  }

  .main-visual-outline h1 {
    font-size: 5vw;
  }

  .service-outline h1 {
    font-size: 4.5vw;
  }

  .service-outline p {
    font-size: 1.6rem;
  }

  .service-outline p br {
    display: none;
  }

  .service-outline-ft h2 {
    font-size: 3.5vw;
  }

  .service-outline-ft p {
    font-size: 1.3rem;
  }

  .service-outline-ft p br {
    display: none;
  }

  .sp-vp-img {
    width: 100%;
    height: auto;
  }

  .tp-img {
    width: 100%;
    height: auto;
  }

  .tp-img2 {
    width: 100%;
    height: auto;
  }

  #about-mv {
    width: 100%;
  }

  .about-mv-img {
    width: 100%;
  }

  #contents-news-detail {
    padding: 145px 20px 0px 20px;
    width: 100%;
  }

  .top-hr-line-900 {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }
}

@media screen and (max-width: 940px) {
  .csr-container-2 {
    flex-direction: column;
    row-gap: 25px;
  }

  .csr-360 {
    margin: 0px auto 30px auto;
  }

  .container-rt {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .accordion-menu-qa {
    width: 100%;
  }

  .container-ft {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .container-tp {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }
}

@media screen and (max-width: 768px) {
  #header-wrap-top {
    height: 60px;
  }

  #header-wrap-top h1 img {
    min-width: 180px;
  }

  #header-wrap-top.HeightMin {
    height: 60px;
  }

  #header-wrap-top.HeightMin h1 img {
    min-width: 155px;
    content: url("../images/common/header_logo_fixed_sp.png");
  }

  #header-wrap-other {
    height: 60px;
  }

  #header-wrap-other h1 img {
    min-width: 155px;
    content: url("../images/common/header_logo_fixed_sp.png");
  }

  .menu-icon {
    width: 40px;
    height: 20px;
    top: 12px;
    right: 20px;
  }

  #contents-wrapper {
    flex-direction: column;
    row-gap: 20px;
    padding: 115px 20px 0px 20px;
    width: 100%;
  }

  #contents-page {
    padding: 115px 20px 0px 20px;
  }

  #contents-page .ttl-jp {
    font-size: 3.5rem;
    margin-bottom: 60px;
  }

  #contents-page-sitemap {
    padding: 115px 20px 0px 20px;
  }

  #contents-page-sitemap .ttl-jp {
    font-size: 3.5rem;
    margin-bottom: 60px;
  }

  #main-contents {
    width: 100%;
    border-bottom: 1px solid #dddddd;
    margin: 0px 0px 50px 0px;
  }

  #main-contents .ttl-jp {
    font-size: 3.5rem;
    margin-bottom: 60px;
  }

  #main-contents .wb-list-ttl {
    margin-bottom: 50px;
  }

  #main-contents .wb-page-ttl {
    margin-bottom: 15px;
  }

  #main-contents .post-info {
    margin-bottom: 12px;
  }

  #main-contents .sns-share-button {
    margin-bottom: 20px;
  }

  #main-contents .cat-tag {
    margin-bottom: 40px;
  }

  .wb-post-list-img {
    width: 100%;
    height: auto;
  }

  .wb-post-list-img img {
    height: 200px;
  }

  .wb-post-list-ttl {
    margin: 15px 0px 10px 0px;
  }

  .wb-post-list2-img {
    width: 100%;
    height: auto;
  }

  .wb-post-list2-img img {
    height: 120px;
  }

  .wb-post-list2-ttl {
    margin: 15px 0px 10px 0px;
  }

  a .wb-link {
    justify-content: flex-start;
    column-gap: 0px;
    width: 100%;
  }

  .wb-link-img {
    width: 165px;
    height: auto;
  }

  a .wb-link .wb-link-outline-wrapper {
    width: 165px;
  }

  .wb-link-img img {
    aspect-ratio: 1/1;
    width: 118px;
  }

  .wb-link-catch-copy {
    width: 100%;
    margin-left: -33px;
  }

  #sidenavi {
    width: 100%;
  }

  .baner-space img {
    width: 100%;
  }

  a .service-link-type2 {
    justify-content: flex-start;
    column-gap: 15px;
    width: 100%;
  }

  .service-link-img-type2 {
    width: 165px;
    height: auto;
  }

  a .service-link-type2 .service-link-outline-wrapper {
    width: 100%;
  }

  .service-link-img-type2 img {
    aspect-ratio: 1/1;
    width: 165px;
  }

  .service-link-catch-copy {
    width: 100%;
  }

  .form-bt-area {
    padding: 30px 20px 30px 20px;
  }

  .form-bt {
    padding: 12px 0px 0px 3px;
    font-size: 1.35rem;
    width: 270px;
  }

  .related-articles {
    width: 100%;
  }

  .achievements-hr-line {
    width: 100%;
  }

  .container-achievements {
    flex-direction: column;
    row-gap: 35px;
    margin-bottom: 50px;
  }

  .achievements-item {
    width: 100%;
  }

  .breadcrumbs {
    width: 100%;
    padding: 0px 30px 0px 30px;
    overflow-x: auto;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    inset: 0;
    overscroll-behavior-y: none;
  }

  .breadcrumbs::-webkit-scrollbar {
    display: none;
    height: 0;
  }

  .fotter-link-back {
    display: none;
  }

  .base-introduction {
    padding: 0px 20px 0px 20px;
    flex-direction: column;
  }

  .base-outline {
    border-right: none;
    border-bottom: 1px solid #dddddd;
    padding: 0px 0px 35px 0px;
  }

  .base-outline:first-child {
    padding: 40px 0px 40px 0px;
  }

  .base-outline:nth-child(2) {
    padding: 0px 0px 40px 0px;
  }

  .base-outline:nth-child(3) {
    padding: 0px 0px 40px 0px;
  }

  .base-outline:last-child {
    margin-bottom: 0px;
    padding: 0px 0px 40px 0px;
  }

  .base-outline img {
    width: 220px;
  }

  .sns-copyright-back {
    padding: 0px 50px 130px 50px;
  }

  .container-sns-copyright {
    margin: 0px auto 0px auto;
    padding: 60px 20px 0px 20px;
    border-top: none;
  }

  .sns-link img {
    height: 23px;
    margin: 0px 8px;
  }

  .container-sns-copyright small {
    margin: 0px 0px 50px 0px;
  }

  .for_pc {
    display: none !important;
  }

  #main-visual {
    width: 100%;
    height: 650px;
    margin: 0px 0px 65px 0px;
    padding: 0px 0px 0px 0px;
  }

  .mv-left-image {
    left: 0px;
    width: 100%;
    height: 650px;
  }

  #main-visual img {
    left: 12%;
  }

  .main-visual-outline {
    height: 650px;
  }

  .main-visual-outline p {
    font-size: 1.5rem;
  }

  .main-visual-outline h1 {
    font-size: 3rem;
    font-weight: 850;
    margin: 0px 0px 15px 0px;
  }

  .main-visual-outline h1 br {
    display: none;
  }

  .catch-copy-wrapper {
    margin-bottom: 30px;
  }

  .link-bt-wrapper {
    flex-direction: column;
    align-items: flex-start;
    row-gap: 15px;
  }

  a.web-icon {
    height: 55px;
    background-size: 48px 55px;
    padding: 15px 0px 0px 55px;
  }

  a.dl-icon {
    height: 55px;
    background-size: 48px 55px;
    padding: 15px 0px 0px 55px;
  }

  .news-wrapper {
    width: 100%;
    float: none;
  }

  .entry {
    height: auto;
    margin: 0px 0px 30px 0px;
  }

  .entry:last-child {
    height: auto;
    margin: 0px 0px 10px 0px;
  }

  .day {
    margin: 0px 10px 7px 0px;
  }

  .icon-visit {
    margin: 0px 10px 7px 0px;
  }

  .icon-info {
    margin: 0px 10px 10px 0px;
  }

  .icon-event {
    margin: 0px 10px 10px 0px;
  }

  .news-ttl {
    display: block;
  }

  #security-printing {
    margin: 0px auto 70px auto;
    padding: 0px 20px 0px 20px;
  }

  .container-service-vp {
    flex-direction: column;
    row-gap: 40px;
  }

  .container-service-sp {
    flex-direction: column-reverse;
    row-gap: 40px;
  }

  .service-img {
    width: 100%;
    height: 300px;
  }

  .service-outline-vp {
    width: 100%;
  }

  .service-outline-sp {
    width: 100%;
  }

  .catch-top {
    margin: -15px 0px 0px 0px;
    letter-spacing: 0em;
  }

  .ttl-top {
    font-size: 2.8rem;
    line-height: 1.8em;
    letter-spacing: 0em;
    margin-bottom: 10px;
  }

  .ttl-top .middle {
    font-size: 2rem;
  }

  #security-printing .lead-top {
    padding-right: 0px;
  }

  .reg {
    font-size: 2.5rem;
  }

  .container-service-other {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    row-gap: 3px;
    width: 100%;
    height: auto;
    margin: 0px 0px 20px 0px;
    float: none;
  }

  .service-other-img {
    width: 100%;
    height: 210px;
    margin: 0px 0px 0px 0px;
    float: none;
  }

  .service-other-outline {
    width: 100%;
    float: none;
  }

  .ttl-top-so {
    margin: 20px 0px 12px 0px;
    font-size: 2.6rem;
  }

  .works-back {
    margin: 0px auto 0px auto;
    padding: 0px 0px 70px 0px;
  }

  .container-works {
    flex-direction: column-reverse;
    padding: 0px 0px 0px 0px;
    row-gap: 80px;
  }

  .works-img {
    width: 100%;
    height: auto;
  }

  .works-outline {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  #works .ttl-top {
    padding-top: 20px;
  }

  #recruit {
    margin: 0px auto 70px auto;
    padding: 0px 0px 0px 0px;
  }

  .container-recruit {
    flex-direction: column;
    row-gap: 80px;
  }

  .recruit-img {
    width: 100%;
    height: auto;
  }

  .recruit-outline {
    width: 100%;
    padding: 0px 20px 0px 20px;
  }

  .back-text-recruit__l {
    font-size: 7rem;
    top: -80px;
    right: 0px;
  }

  #recruit .ttl-top {
    padding-top: 20px;
  }

  #company {
    background: url("../images/top/company_back_sp.png") no-repeat;
    background-color: #f6f9fc;
    background-size: 100% auto;
    height: auto;
    margin: 0px auto 70px auto;
    padding: 50px 0px 60px 0px;
  }

  .container-company {
    height: auto;
    flex-direction: column-reverse;
    padding: 0px 20px 0px 20px;
    row-gap: 80px;
  }

  .company-img {
    width: 100%;
    border-radius: 30px;
  }

  .company-outline {
    width: 100%;
  }

  .container-other {
    flex-direction: column;
    row-gap: 40px;
  }

  .factory-tour img {
    width: 100%;
    height: auto;
    margin: 0px 0px 20px 0px;
  }

  .community-contributions-activities img {
    width: 100%;
    height: auto;
    margin: 0px 0px 20px 0px;
  }

  .ttl-category {
    width: 100%;
    margin: 0px 0px 40px 0px;
    flex-direction: column;
  }

  .news-bottom-wrapper {
    width: 100%;
    padding: 0px 0px 55px 0px;
  }

  #service-list-mv {
    width: 100%;
    height: 630px;
    margin: 0px 0px 60px 0px;
    padding: 26px 20px 0px 20px;
  }

  #service-list-mv img {
    top: 60px;
  }

  #security-printing-mv {
    width: 100%;
    height: 630px;
    margin: 0px 0px 65px 0px;
    padding: 18px 20px 0px 20px;
  }

  #security-printing-mv img {
    top: 60px;
  }

  .container-tracking {
    width: 100%;
    flex-direction: column;
    row-gap: 65px;
    align-items: center;
  }

  .tracking-img {
    width: 100%;
    height: 230px;
  }

  .caption {
    top: 240px;
  }

  .ex-wrapper {
    padding: 0px;
  }

  .technology {
    width: 100%;
    flex-direction: column;
    row-gap: 65px;
    align-items: center;
  }

  .ex-technology {
    width: 100%;
    flex-direction: column;
    align-items: center;
    margin-top: -30px;
  }

  .ex-technology:first-child {
    margin-top: 0px;
  }

  .technology-item {
    width: 100%;
    height: auto;
  }

  .ex-technology p {
    width: 100%;
    height: auto;
    padding-top: 25px;
  }

  #video-production-mv {
    width: 100%;
    height: 630px;
    margin: 0px 0px 65px 0px;
    padding: 20px 20px 0px 20px;
  }

  #video-production-mv img {
    top: 60px;
  }

  .service-outline h1 {
    font-size: 3rem;
    font-weight: 850;
  }

  .service-outline h1 br {
    display: none;
  }

  .service-outline p {
    font-size: 1.5rem;
  }

  .service-outline p br {
    display: none;
  }

  .ttl_name {
    font-size: 1.5rem;
  }

  .bt-wrapper {
    flex-direction: column;
  }

  .service-outline .bt-contact {
    margin: 0px 0px 10px 0px;
  }

  .service-outline .bt-sample {
    margin: 0px 0px 10px 0px;
  }

  #security-printing-mv-ft {
    width: 100%;
    height: 540px;
    margin: 0px 0px 0px 0px;
    padding: 0px 20px 0px 20px;
  }

  #security-printing-mv-ft img {
    top: 0px;
  }

  #video-production-mv-ft {
    width: 100%;
    height: 540px;
    margin: 0px 0px 0px 0px;
    padding: 0px 20px 0px 20px;
  }

  #video-production-mv-ft img {
    top: 0px;
  }

  .service-outline-ft h2 {
    font-size: 2rem;
    font-weight: 850;
  }

  .service-outline-ft p {
    font-size: 1.2rem;
  }

  .service-outline-ft p br {
    display: none;
  }

  .ttl_name-ft {
    font-size: 1.5rem;
  }

  .bt-wrapper-ft {
    flex-direction: column;
  }

  .service-outline-ft .bt-contact {
    margin: 0px 0px 10px 0px;
  }

  .service-outline-ft .bt-sample {
    margin: 0px 0px 10px 0px;
  }

  .container-sp-vp {
    flex-direction: column-reverse;
    row-gap: 30px;
  }

  .container-vp {
    flex-direction: column;
    row-gap: 30px;
  }

  .bm {
    margin-bottom: 30px;
  }

  .sp-vp-img {
    width: 100%;
    height: auto;
  }

  .outline-sp-vp {
    width: 100%;
  }

  .outline-vp {
    width: 100%;
    padding-left: 0px;
  }

  .ttl-center-layout {
    margin: 0px 0px 60px 0px;
    pdding: 0px 20px 0px 20px;
  }

  .outline-wrapper {
    padding: 88px 20px 60px 20px;
  }

  .outline-wrapper-works {
    padding: 60px 20px 60px 20px;
  }

  .catch-sp-vp {
    margin: 0px 0px 25px 0px;
    letter-spacing: 0em;
  }

  .catch-sp-vp-center {
    margin: 0px auto 15px auto;
    letter-spacing: 0em;
  }

  .ttl-sp-vp-blue {
    font-size: 2.4rem;
    letter-spacing: 0em;
  }

  .wwcd {
    flex-direction: column;
    justify-content: center;
    row-gap: 20px;
    padding: 0px;
  }

  .wwcd-item-wrapper {
    width: 100%;
  }

  .wwcd-item {
    width: 100%;
    height: auto;
  }

  .genre-item-wrapper {
    width: 100%;
    height: 220px;
    flex-direction: column;
    text-align: center;
  }

  .genre-img img {
    margin-bottom: 20px;
  }

  .genre-item {
    width: 100%;
    height: auto;
  }

  .ttl-vp-blue {
    font-size: 2.4rem;
    letter-spacing: 0em;
  }

  .works-item {
    width: 100%;
    height: auto;
  }

  .works-item-img {
    width: 100%;
    height: 270px;
  }

  .works-item p {
    width: 100%;
    height: auto;
    margin-bottom: 10px;
  }

  .genre {
    margin: 0px auto 60px auto;
  }

  .container-service-list-sp-vp {
    flex-direction: column;
    row-gap: 50px;
    padding: 0px 20px 0px 0px;
  }

  .container-service-list {
    flex-direction: column;
    row-gap: 50px;
  }

  .container-service-list:nth-child(even) {
    flex-direction: column;
    row-gap: 50px;
    margin-bottom: 70px;
  }

  .service-list-img {
    width: 100%;
    height: 280px;
  }

  .service-list-outline {
    width: 100%;
  }

  h2.ttl-sl {
    font-size: 2.4rem;
  }

  h2.ttl-sl br {
    display: none;
  }

  .service-list1,
  service-list2 .lead-sl {
    padding-right: 0px;
  }

  .csr-container-1 {
    flex-direction: column-reverse;
    row-gap: 35px;
  }

  .csr-320 {
    width: 70%;
  }

  .csr-490 img {
    width: 100%;
    margin-bottom: 10px;
    vertical-align: none;
  }

  .csr-360 img {
    max-width: 160px;
    margin-bottom: 20px;
    vertical-align: none;
  }

  .csr-380 img {
    max-width: 185px;
    margin-bottom: 20px;
    vertical-align: none;
  }

  #recruit-mv {
    width: 100%;
    height: 600px;
    margin: 0px 0px 65px 0px;
    padding: 35px 20px 0px 20px;
  }

  #recruit-mv img {
    top: 60px;
  }

  .recruit-ol h1 {
    font-size: 4rem;
  }

  .bt-wrapper {
    flex-direction: column;
  }

  .recruit-ol .bt-recruit {
    margin: 0px 0px 10px 0px;
  }

  #recruit-mv-ft {
    width: 100%;
    height: 450px;
    margin: 0px 0px 65px 0px;
  }

  #recruit-mv-ft img {
    top: 0px;
  }

  .recruit-ol-ft h2 {
    font-size: 2.5rem;
  }

  .recruit-ol-ft .bt-recruit {
    margin: 0px 0px 10px 0px;
  }

  .container-rt h2 {
    font-size: 2.5rem;
  }

  .container-rt h2.heading-blue {
    font-size: 2.5rem;
  }

  .container-rt h3 {
    font-size: 2.2rem;
  }

  .container-rt h3.heading-blue {
    font-size: 2.2rem;
  }

  .container-rt h4 {
    font-size: 1.8rem;
  }

  .recruit-position {
    flex-direction: column;
    align-items: flex-start;
  }

  .recruit-position strong {
    margin-bottom: 10px;
  }

  .container-rt .bt-rec-dl {
    margin: 0px 0px 35px 0px;
  }

  .recruit-interview-multimedia {
    flex-direction: column;
    align-items: center;
    margin: 0px 0px 45px 0px;
  }

  .recruit-interview-multimedia:nth-child(odd) {
    flex-direction: column;
  }

  .recruit-interview-multimedia p {
    margin-top: 12px;
    padding: 5px 0px 0px 0px;
    background-position: top right;
  }

  .recruit-interview-multimedia p:last-child {
    margin-bottom: -10px;
  }

  .recruit-interview-design {
    flex-direction: column;
    align-items: center;
    margin: 0px 0px 45px 0px;
  }

  .recruit-interview-design:nth-child(even) {
    flex-direction: column;
  }

  .recruit-interview-design p {
    margin-top: 12px;
    padding: 5px 0px 0px 0px;
    background-position: top right;
  }

  .recruit-interview-design p:last-child {
    margin-bottom: -10px;
  }

  .container-rt h2.heading-blue-qa {
    font-size: 2.5rem;
  }

  .container-rt .bt-recruit {
    margin: 0px 0px 10px 0px;
  }

  #factory-tour-mv {
    width: 100%;
    height: 600px;
    margin: 0px 0px 65px 0px;
    padding: 35px 20px 0px 20px;
  }

  #factory-tour-mv img {
    top: 60px;
  }

  .factory-tour-ol h1 {
    font-size: 4rem;
  }

  .factory-tour-ol .bt-factory-tour {
    margin: 0px 0px 10px 0px;
  }

  #factory-tour-mv-ft {
    width: 100%;
    height: 450px;
    margin: 0px 0px 0px 0px;
  }

  #factory-tour-mv-ft img {
    top: 0px;
  }

  .factory-tour-ol-ft h2 {
    font-size: 2.5rem;
  }

  .factory-tour-ol-ft .bt-factory-tour {
    margin: 0px 0px 10px 0px;
  }

  .container-ft h2 {
    font-size: 2.5rem;
  }

  .container-ft h2.heading-blue {
    font-size: 2.5rem;
  }

  .container-ft h3 {
    font-size: 2.2rem;
  }

  .container-ft h3.heading-blue {
    font-size: 2.2rem;
  }

  .factory-tour-point {
    gap: 10px;
  }

  .ft-item {
    width: 100%;
  }

  #tsutaju-project-mv {
    width: 100%;
    height: auto;
    margin: 0px 0px 65px 0px;
    padding: 0px 20px 0px 20px;
  }

  #tsutaju-project-mv img {
    max-width: 100%;
    height: auto;
    margin-top: 60px;
  }

  .container-tsutaju-project {
    flex-direction: column-reverse;
    row-gap: 30px;
  }

  .outline-tsutaju-project {
    width: 100%;
  }

  .catch-tsutaju-project {
    margin: 0px 0px 25px 0px;
    letter-spacing: 0em;
  }

  .tp-img {
    width: 100%;
    height: auto;
  }

  .tp-img img {
    width: 100%;
  }

  .container-tsutaju-project2 {
    flex-direction: column-reverse;
    row-gap: 30px;
  }

  .outline-tsutaju-project2 {
    width: 100%;
  }

  .tp-img2 {
    width: 100%;
    height: auto;
  }

  .tp-img2 img {
    width: 100%;
  }

  .container-tp h2 {
    font-size: 2.5rem;
  }

  .container-tp h2.heading-blue {
    font-size: 2.5rem;
  }

  .container-tp h3 {
    font-size: 2.2rem;
  }

  .container-tp h3.heading-blue {
    font-size: 2.2rem;
  }

  .container-tsutaju-project3 {
    column-gap: 35px;
    row-gap: 50px;
  }

  .container-tsutaju-project3 .tp-item1 {
    width: 100%;
  }

  .container-tsutaju-project3 .tp-item1 img {
    width: 100%;
  }

  .container-tsutaju-project4 {
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    row-gap: 20px;
  }

  .container-tsutaju-project4 .tp-item2 {
    width: 100%;
  }

  .container-tsutaju-project4 .tp-item2 img {
    width: 100%;
  }

  #contents-404 {
    margin: 0px 0px 100px 0px;
    padding: 115px 20px 0px 20px;
    width: 100%;
  }

  #contents-404 h1 {
    font-size: 1.8rem;
    margin-bottom: 10px;
  }

  #contents-404 p {
    margin-bottom: 40px;
  }

  .contact-us {
    text-align: center;
  }

  .contact-us .sp-left {
    text-align: left;
  }

  .link-bt--cu {
    font-size: 1.4rem;
    width: 280px;
  }

  .link-bt--cu-l {
    font-size: 1.4rem;
    width: 280px;
  }

  .container-download {
    flex-direction: column;
    margin: 0px auto 0px auto;
  }

  .dl-item {
    width: 100%;
  }

  .dl-item-img {
    width: 100%;
    height: 230px;
  }

  .dl-item h2 {
    font-size: 1.4rem;
  }

  #about-mv {
    margin: 0px 0px 30px 0px;
    padding: 0px;
  }

  .about-ttl {
    width: 100%;
    height: 340px;
  }

  .about-ttl h2 {
    font-size: 1.8rem;
    text-align: left;
  }

  .about-txt {
    text-align: left;
  }

  .container-page-link {
    flex-direction: column;
  }

  .page-link-item {
    width: 100%;
  }

  .page-link-item-img {
    width: 100%;
    height: auto;
  }

  .page-link-item h2 {
    font-size: 2.6rem;
  }

  #md-mv {
    width: 100%;
    height: 520px;
    margin: 0px 0px 50px 0px;
    padding: 60px 20px 0px 20px;
  }

  #md-mv img {
    top: 60px;
  }

  .container-md-list-movie {
    flex-direction: column;
  }

  .md-item-movie {
    width: 100%;
  }

  .md-item-movie h2 {
    font-size: 1.7rem;
  }

  .container-md-list-design {
    flex-direction: column;
  }

  .md-item-design {
    width: 100%;
  }

  .md-item-design-img {
    width: 100%;
    height: 280px;
  }

  .md-item-design h2 {
    font-size: 1.7rem;
  }

  #wb-mv {
    width: 100%;
    height: 520px;
    margin: 0px 0px 50px 0px;
    padding: 60px 20px 0px 20px;
  }

  #wb-mv img {
    top: 60px;
  }

  .txt-search {
    font-size: 2.3rem;
    background-position: 0px 11px;
  }

  .container-wb-list {
    flex-direction: column;
  }

  .wb-item {
    width: 100%;
  }

  .wb-list-img {
    width: 100%;
    height: 220px;
  }

  .wb-item h2 {
    font-size: 1.6rem;
  }

  h3.movie-ttl {
    font-size: 1.6rem;
  }

  .news-list-wrapper {
    width: 100%;
    float: none;
  }

  #contents-news-detail {
    padding: 115px 20px 0px 20px;
  }

  #contents-news-detail .sns-share-button {
    margin-bottom: 50px;
  }

  #contents-news-detail h1 {
    font-size: 2.8rem;
    margin-bottom: 60px;
  }

  #contents-news-detail h2.diagonal-line {
    font-size: 4.8vw !important;
    margin-bottom: 30px !important;
    letter-spacing: 0em !important;
    line-height: 1.3em !important;
  }

  button.single_copy_title_url_btn {
    font-size: 1.3rem;
  }

  .link-bt--xs {
    padding: 5px 0px 0px 0px;
    width: 160px;
    height: 40px;
    border: 1px solid #000000;
    border-radius: 25px;
    text-align: center;
    font-size: 1.3rem;
  }

  .heading-type1 {
    font-size: 2.3rem;
  }

  .heading-type2 {
    font-size: 2.3rem;
  }

  .heading-type3 {
    font-size: 2rem;
  }

  .heading-type3-2 {
    font-size: 2rem;
  }

  .heading-type4 {
    font-size: 1.5rem;
  }

  .heading-type4-2 {
    font-size: 1.8rem;
  }

  .heading-type8 {
    margin: 0px 0px 8px -33px;
  }

  .post-body h1 {
    font-size: 3rem;
  }

  .post-body h3 {
    font-size: 2.1rem;
  }

  .post-body h4 {
    font-size: 1.8rem;
  }

  .post-body h5 {
    margin-top: 1em;
  }

  .post-body h6 {
    font-size: 1.6rem;
  }

  a[href^="tel:"] {
    pointer-events: auto;
  }
}

@media (max-width: 768px) {
  .ad-menu-position {
    margin-top: 9px !important;
  }

  .accordion-menu h1 img {
    width: 155px !important;
    content: url("../images/common/header_logo_fixed_sp.png");
  }

  .accordion-menu ul {
    background-color: #f6f9fc;
    border-top: 1px solid #dddddd;
    padding: 0px;
    width: 100%;
    float: left;
    margin: -39px 0px 0px 0px;
  }

  #main-contents img {
    max-width: 100%;
    height: auto;
  }

  #sidenavi img {
    max-width: 100%;
    height: auto;
  }

  .accordion-menu-footer ul {
    background-color: #f6f9fc;
    border-top: 1px solid #dddddd;
    width: 100%;
    float: left;
    margin: 0px;
    padding: 0px;
  }

  #page-top {
    width: 60px;
    height: 60px;
    margin-top: -30px;
  }

  .container-cta-button {
    position: fixed;
    z-index: 30;
    bottom: 0;
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    gap: 0px;
    width: 100%;
    height: 60px;
    margin-top: 100px;
  }

  .button-document-sp {
    display: none;
    background: url("../images/common/cta_document_icon.png") no-repeat;
    background-position: center;
    background-size: 22px;
    background-color: #ffc12d;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    font-weight: 700;
    width: 100%;
    height: 60px;
  }

  .button-contact-sp {
    display: none;
    background: url("../images/common/cta_mail_icon.png") no-repeat;
    background-position: center;
    background-size: 26px;
    background-color: #1353e5;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    color: #ffffff;
    font-weight: 700;
    width: 100%;
    height: 60px;
  }

  .button-tel-sp {
    display: none;
    background: url("../images/common/cta_tel_icon.png") no-repeat;
    background-position: center;
    background-size: 24px;
    background-color: #313439;
    margin: 0px 0px 0px 0px;
    padding: 0px 0px 0px 0px;
    color: #ffffff;
    font-weight: 700;
    width: 100%;
    height: 60px;
  }

  :target {
    scroll-margin-top: 60px;
  }

  #main-visual .catch-copy {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    line-height: 2.8em;
    padding: 8px 15px 8px 15px;
    font-size: 1.5rem;
    font-weight: 330;
    color: #ffffff;
    background-color: #000000;
  }

  #main-visual .catch-copy br {
    display: block;
  }

  .splide__pagination__page {
    background: #ffffff !important;
    opacity: 1;
    margin: 0px 6px 16px 6px !important;
  }

  .splide__pagination__page.is-active {
    background: #000000 !important;
  }

  .news-ttl-en {
    width: 100%;
    height: auto;
    margin: 0px 0px 35px 0px;
    padding: 0px;
    font-family: "Oswald", sans-serif;
    font-size: 3rem;
    font-weight: 470;
    letter-spacing: 0.03em;
    line-height: 1.6em;
  }

  .back-text-tr__m {
    position: absolute;
    z-index: -1;
    top: -37px;
    right: -20px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 5.8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .back-text-tr__m br {
    display: block !important;
  }

  .back-text-tl__m {
    position: absolute;
    z-index: -1;
    top: -37px;
    left: -20px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 5.8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .back-text-tl__m br {
    display: block !important;
  }

  .back-text__s {
    position: absolute;
    z-index: -1;
    top: 0px;
    left: 0px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 5rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
    letter-spacing: 0.01em;
  }

  .back-text-works__l {
    position: absolute;
    z-index: -1;
    top: -80px;
    right: 0px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .catch-top-works {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    margin-bottom: 10px;
    padding: 6px 12px 8px 15px;
    letter-spacing: 0.02em;
    line-height: 2.8em;
    color: #ffffff;
    background-color: #000000;
    text-align: left;
  }

  .catch-top-recruit {
    display: inline;
    width: fit-content;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    margin-bottom: 10px !important;
    padding: 6px 12px 8px 15px;
    letter-spacing: 0.02em;
    line-height: 2.8em;
    color: #ffffff;
    background-color: #000000;
    text-align: left;
  }

  .back-text-company__l {
    position: absolute;
    z-index: -1;
    top: -80px;
    right: -20px;
    height: auto;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 7rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  #company .ttl-top {
    position: absolute;
    z-index: 1;
    top: -58px;
    height: auto;
  }

  #company .lead-top {
    padding-top: 10px;
  }

  .news-bottom-ttl-en {
    width: 100%;
    height: auto;
    margin: 0px 0px 40px 0px;
    padding: 0px;
    font-family: "Oswald", sans-serif;
    font-size: 3rem;
    font-weight: 480;
    letter-spacing: 0.03em;
  }

  .news-category {
    width: 100%;
    height: auto;
    margin: 0px;
    padding: 0px;
  }

  .back-text-sp-vp__xl {
    position: absolute;
    z-index: -1;
    top: 33px;
    left: 0;
    right: 0;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 6.3rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.2em;
  }

  .ttl-sp-vp {
    margin-bottom: 0px;
    font-size: 2.4rem;
    font-weight: 650;
    letter-spacing: 0em;
  }

  .lead-sp-vp {
    margin-bottom: 0px;
    padding-right: 0px;
    text-align: left;
  }

  .lead-sp-vp br {
    display: none;
  }

  .wwcd-item p {
    margin: 0px;
    padding: 0px;
    letter-spacing: 0em;
  }

  .wwcd-item p br {
    display: none;
  }

  .ttl-vp {
    margin-bottom: 0px;
    font-size: 2.4rem;
    font-weight: 650;
    letter-spacing: 0em;
    text-align: left;
  }

  .lead-vp {
    margin-bottom: 0px;
    padding-right: 0px;
    text-align: left;
  }

  .lead-vp br {
    display: block;
  }

  .back-text-sl__m {
    position: absolute;
    z-index: -1;
    top: -24px;
    left: 0px;
    user-select: none;
    -webkit-user-select: none;
    -ms-user-select: none;
    font-family: "Oswald", sans-serif;
    font-size: 5.8rem;
    color: #e7edfc;
    font-weight: 700;
    line-height: 1.1em;
  }

  .recruit-ol p {
    font-size: 1.6rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .recruit-ol p br {
    display: none;
  }

  .recruit-ol-ft p {
    font-size: 1.6rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .recruit-ol-ft p br {
    display: none;
  }

  .factory-tour-ol p {
    font-size: 1.6rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .factory-tour-ol p br {
    display: none;
  }

  .factory-tour-ol-ft p {
    font-size: 1.6rem;
    color: #ffffff;
    line-height: 1.73em;
    margin: 0px 0px 35px 0px;
    padding: 0px 20px 0px 0px;
  }

  .factory-tour-ol-ft p br {
    display: none;
  }

  .factory-tour-point {
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "a b" "c c";
  }

  .ft-item1 {
    grid-area: a;
  }

  .ft-item2 {
    grid-area: b;
  }

  .ft-item3 {
    grid-area: c;
  }

  .ttl-tp {
    margin-bottom: 0px;
    font-size: 3.5rem;
    font-weight: 650;
    letter-spacing: 0em;
    text-align: left;
  }

  .lead-tp {
    margin-bottom: 0px;
    padding-right: 0px;
    text-align: left;
  }

  #contents-404 h2 {
    font-size: 2.6rem;
    font-weight: 735;
    letter-spacing: 0em;
    margin-bottom: 27px;
  }

  .md-ttl h1 {
    font-size: 3.5rem;
    color: #ffffff;
    font-weight: 650;
    line-height: 1.4em;
    margin: 0px;
    padding: 0px;
  }

  .wb-ttl h1 {
    font-size: 3.5rem;
    color: #ffffff;
    font-weight: 650;
    line-height: 1.4em;
    margin: 0px;
    padding: 0px;
  }

  #security-printing .link-bt,
  #video-production .link-bt,
  #works .link-bt,
  #recruit .link-bt,
  #company .link-bt {
    padding: 10px 0px 0px 3px;
    width: 200px;
    height: 50px;
    color: #ffffff;
    background-color: #1353e5;
    border-radius: 25px;
    text-align: center;
    box-shadow: 0px 2px 8px #81bdff;
  }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
  .back-text-works__l {
    left: -50px;
  }

  .back-text-company__l {
    left: 0px;
  }
}

@media print {
  .d-print-none {
    display: none !important;
  }

  .d-print-inline {
    display: inline !important;
  }

  .d-print-inline-block {
    display: inline-block !important;
  }

  .d-print-block {
    display: block !important;
  }

  .d-print-table {
    display: table !important;
  }

  .d-print-table-row {
    display: table-row !important;
  }

  .d-print-table-cell {
    display: table-cell !important;
  }

  .d-print-flex {
    display: -ms-flexbox !important;
    display: flex !important;
  }

  .d-print-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important;
  }
}
/*# sourceMappingURL=../css/map/style.css.map */
