@charset "UTF-8";

/*!
 * ress.css • v3.0.1
 * MIT License
 * github.com/filipelinhares/ress
 */
/* # =================================================================
   # Global selectors
   # ================================================================= */
html {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  word-break: normal;
  -moz-tab-size: 4;
  -o-tab-size: 4;
  tab-size: 4;
  -webkit-text-size-adjust: 100%;
  /* Prevent adjustments of font size after orientation changes in iOS */
}

*,
::before,
::after {
  -webkit-box-sizing: inherit;
  box-sizing: inherit;
  background-repeat: no-repeat;
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
}

::before,
::after {
  vertical-align: inherit;
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
}

* {
  margin: 0;
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  overflow: visible;
  /* Show the overflow in Edge and IE */
  height: 0;
  /* Add the correct box sizing in Firefox */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
  border-bottom: none;
  /* Remove the bottom border in Chrome 57 */
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

[type=number]::-webkit-container-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  outline-offset: -2px;
  /* Correct the outline style in Safari */
  -webkit-appearance: textfield;
  /* Correct the odd appearance in Chrome and Safari */
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
  /* Remove the container padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  /* Internet Explorer 11+ */
  resize: vertical;
  /* Specify textarea resizability */
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
  color: inherit;
}

/* Remove container padding and border in Firefox 4+ */
button::-moz-focus-container,
[type=button]::-moz-focus-container,
[type=reset]::-moz-focus-container,
[type=submit]::-moz-focus-container {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-container,
[type=reset]::-moz-focus-container,
[type=submit]::-moz-focus-container {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  -webkit-appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

/* Remove the default button styling in all browsers */
button,
input,
select,
textarea {
  border-style: none;
  background-color: transparent;
}

/* Style select like a standard input */
select {
  -webkit-appearance: none;
  /* Chrome 41+ */
  -moz-appearance: none;
  /* Firefox 36+ */
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentColor;
  /* Internet Explorer 11+ */
}

legend {
  display: table;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct the text wrapping in Edge 18- and IE */
  white-space: normal;
  /* Correct the text wrapping in Edge and IE */
  color: inherit;
  /* Correct the color inheritance from `fieldset` elements in IE */
  border: 0;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
}

::-webkit-file-upload-button {
  font: inherit;
  /* Change font properties to `inherit` in Chrome and Safari */
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  -webkit-appearance: button;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Hide content from screens but not screenreaders */
@media screen {
  [hidden~=screen] {
    display: inherit;
  }

  [hidden~=screen]:not(:active):not(:focus):not(:target) {
    position: absolute !important;
    clip: rect(0 0 0 0) !important;
  }
}

/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled] {
  cursor: default;
}

html {
  height: -webkit-fill-available;
}

body {
  font-family: "Avenir", "Noto Sans", "Helvetica Neue", Arial, "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-size: 15px;
  letter-spacing: 0.05em;
  color: #333;
  line-height: 1.5;
}

@media screen and (max-width: 767px) {
  body {
    font-size: 14px;
  }
}

a {
  text-decoration: none;
}

h3 {
  line-height: 1.5;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  border-style: none;
}

.pc-only {
  display: block;
}

@media screen and (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sp-only {
  display: none;
}

@media screen and (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.break {
  display: inline-block;
}

.marker-red {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #ff6b73));
  background: -webkit-linear-gradient(transparent 75%, #ff6b73 75%);
  background: linear-gradient(transparent 75%, #ff6b73 75%);
}

.marker-blue {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(75%, transparent), color-stop(75%, #4e84e1));
  background: -webkit-linear-gradient(transparent 75%, #4e84e1 75%);
  background: linear-gradient(transparent 75%, #4e84e1 75%);
}

a.icon_link span {
  position: relative;
  padding-right: 1.2em;
}

a.icon_link span::after {
  display: inline-block;
  content: "";
  position: absolute;
  bottom: 0.3em;
  right: 0;
  width: 0.8em;
  height: 0.8em;
  background: url(../img/common/icon_link.png) center center/contain no-repeat;
}

/*--------------------------------
 各要素をふわっと出す設定
---------------------------------*/
.fade {
  opacity: 0;
}

.fadeUp {
  -webkit-animation-name: fadeUpAnime;
  animation-name: fadeUpAnime;
  -webkit-animation-duration: 0.8s;
  animation-duration: 0.8s;
  -webkit-animation-fill-mode: forwards;
  animation-fill-mode: forwards;
  opacity: 0;
}

@-webkit-keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(110px);
    transform: translateY(110px);
  }

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

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    -webkit-transform: translateY(110px);
    transform: translateY(110px);
  }

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

/*--------------------------------
 文字がタイピング風に出てくる
---------------------------------*/
.TextTyping span {
  display: none;
}

/*文字列後ろの線の設定*/
.TextTyping::after {
  content: "|";
  -webkit-animation: typinganime 0.8s ease infinite;
  animation: typinganime 0.8s ease infinite;
}

@-webkit-keyframes typinganime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

@keyframes typinganime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/*--------------------------------
 レイアウト
---------------------------------*/
.wrapper {
  padding-top: 73px;
  padding-top: 0px;
}

@media screen and (max-width: 767px) {
  .wrapper {
    padding-top: 57px;
    padding-top: 0;
  }
}

.section {
  padding: 60px 0;
}

@media screen and (max-width: 767px) {
  .section {
    padding: 50px 0;
  }
}

.container {
  max-width: 1340px;
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 40px;
}

@media screen and (max-width: 767px) {
  .container {
    padding: 0 20px;
  }
}

/*--------------------------------
   見出し
  ---------------------------------*/
.title {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 21px;
  font-weight: bold;
  line-height: 1;
  margin-bottom: 40px;
  text-align: center;
  letter-spacing: 0.05em;
  color: #333;
}

@media screen and (max-width: 767px) {
  .title {
    font-size: 21px;
    margin-bottom: 40px;
  }
}

.lead {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 30px;
}

@media screen and (max-width: 767px) {
  .lead {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
  }
}

/*--------------------------------
ボタン
---------------------------------*/
.btn a {
  display: block;
  max-width: 200px;
  margin-left: auto;
  margin-right: auto;
  line-height: 50px;
  color: #fff;
  text-align: center;
  background-color: #ca4930;
  border-radius: 10px;
  font-weight: bold;
  margin-top: 50px;
}

.btn a:hover {
  background-color: rgba(202, 73, 48, 0.6);
}

/*--------------------------------
ヘッダー
---------------------------------*/
header {
  position: fixed;
  display: none;
  top: 0;
  z-index: 1;
  width: 100%;
  background-color: #212121;
  -webkit-box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.1);
}

header.works-header {
  display: block;
}

header .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  padding: 20px 40px;
}

header .container .header-logo {
  margin-right: 20px;
  letter-spacing: 0.05em;
}

header .container .header-logo a {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  color: #efefef;
}

header .container .header-logo a img {
  width: 95%;
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  header .container .header-logo {
    font-size: 20px;
    margin-right: 15px;
  }

  header .container .header-logo a img {
    width: 85%;
    margin-right: 10px;
  }
}

header .container .gnav .menu-body .gnav-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  list-style: none;
}

header .container .gnav .menu-body .gnav-list .gnav-item a {
  position: relative;
  font-size: 13px;
  font-weight: normal;
  display: inline-block;
  padding: 5px 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 0.05em;
  color: #efefef;
}

header .container .gnav .menu-body .gnav-list .gnav-item a::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #efefef;
}

@media screen and (max-width: 767px) {
  header .container .gnav .menu-body .gnav-list .gnav-item a::after {
    display: none;
  }
}

header .container .gnav .menu-body .gnav-list .gnav-item a:hover::after {
  width: 100%;
}

@media screen and (max-width: 767px) {
  header .container .gnav .menu-body .gnav-list .gnav-item a {
    font-size: 10px;
  }
}

header .container .gnav .menu-body .gnav-list .gnav-item:not(:last-child) {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  header .container .gnav .menu-body .gnav-list .gnav-item:not(:last-child) {
    margin-right: 0px;
  }
}

header .container .menu_btn {
  display: none;
}

@media screen and (max-width: 767px) {
  header.on .container {
    height: 100%;
  }

  header.on .container .menu_btn {
    z-index: 1000;
  }

  header.on .container .menu_btn span {
    background-color: #fff;
  }

  header.on .container .menu_btn span:first-child {
    -webkit-transform: translateY(11px) rotate(45deg);
    transform: translateY(11px) rotate(45deg);
  }

  header.on .container .menu_btn span:nth-child(2) {
    display: none;
  }

  header.on .container .menu_btn span:last-child {
    -webkit-transform: translateY(9px) rotate(135deg);
    transform: translateY(9px) rotate(135deg);
  }

  header.on .container .gnav {
    opacity: 1;
    visibility: visible;
  }

  header .container {
    padding: 15px;
  }

  header .container .menu_btn {
    display: block;
    position: absolute;
    top: 40%;
    right: 5%;
    width: 30px;
    height: 30px;
    z-index: 100;
  }

  header .container .menu_btn span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #efefef;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  header .container .menu_btn span:nth-child(2) {
    -webkit-transform: translateY(9px);
    transform: translateY(9px);
  }

  header .container .menu_btn span:last-child {
    -webkit-transform: translateY(18px);
    transform: translateY(18px);
  }

  header .container .gnav {
    display: block;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #212121;
    padding-top: 64px;
    padding-left: 32px;
    padding-right: 32px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  header .container .gnav .menu-body {
    display: block;
  }

  header .container .gnav .menu-body .gnav-list {
    display: block;
    font-size: 2rem;
    line-height: 6rem;
  }

  header .container .gnav .menu-body .gnav-list .gnav-item {
    border-bottom: 1px solid #fff;
    margin-left: 0;
    text-align: center;
  }

  header .container .gnav .menu-body .gnav-list .gnav-item a {
    font-size: 0.8rem;
    color: #fff;
    display: block;
  }

  header .container .gnav .menu-body .gnav-list li:not(:first-of-type) {
    margin-left: 0px;
  }
}

.visible {
  display: block;
  position: relative;
}

/*--------------------------------
 スクロール
---------------------------------*/
.scrolldown {
  /*描画位置※位置は適宜調整してください*/
  position: absolute;
  bottom: 1%;
  right: 10%;
  /*矢印の動き1秒かけて永遠にループ*/
  -webkit-animation: arrowmove 1s ease-in-out infinite;
  animation: arrowmove 1s ease-in-out infinite;
}

/*下からの距離が変化して全体が下→上→下に動く*/
@-webkit-keyframes arrowmove {
  0% {
    bottom: 1%;
  }

  50% {
    bottom: 3%;
  }

  100% {
    bottom: 1%;
  }
}

@keyframes arrowmove {
  0% {
    bottom: 1%;
  }

  50% {
    bottom: 3%;
  }

  100% {
    bottom: 1%;
  }
}

/*Scrollテキストの描写*/
.scrolldown span {
  /*描画位置*/
  position: absolute;
  left: -20px;
  bottom: 10px;
  /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  /*縦書き設定*/
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
}

/* 矢印の描写 */
.scrolldown:before {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: -6px;
  /*矢印の形状*/
  width: 1px;
  height: 20px;
  background: #eee;
  -webkit-transform: skewX(-31deg);
  transform: skewX(-31deg);
}

.scrolldown:after {
  content: "";
  /*描画位置*/
  position: absolute;
  bottom: 0;
  right: 0;
  /*矢印の形状*/
  width: 1px;
  height: 50px;
  background: #eee;
}

/*--------------------------------
 フッター
---------------------------------*/
.footer {
  padding: 30px;
  background-color: #212121;
  text-align: center;
}

.footer .footer-logo {
  width: 200px;
  margin-left: auto;
  margin-right: auto;
}

.footer .footer-contact {
  margin-top: 20px;
}

.footer .footer-contact a {
  color: #fff;
}

.footer .footer-contact a:not(:last-child) {
  margin-right: 30px;
}

.footer .footer-contact a i {
  font-size: 1.5rem;
}

.footer .copyright {
  margin-top: 20px;
  font-size: 12px;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 767px) {
  .footer {
    padding: 20px;
  }
}

/*--------------------------------
 メインビジュアル
---------------------------------*/
.mv {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 100vh;
  min-height: calc(var(--vh, 1vh) * 100);
  width: 100%;
  text-align: center;
  background-color: #212121;
  background-image: url("../img/lo-white-copy.png");
  background-size: 35%;
  -o-object-fit: contain;
  object-fit: contain;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  margin: 0;
  padding: 0;
}

.mv .header2 {
  position: absolute;
  top: 0;
  z-index: 1;
  width: 100%;
  background-color: #212121;
  -webkit-box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 10px -6px rgba(0, 0, 0, 0.1);
}

.mv .header2.works-header {
  display: block;
}

.mv .header2 .container {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  padding: 20px 40px;
}

.mv .header2 .container .gnav .menu-body .gnav-list2 {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  list-style: none;
}

.mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a {
  position: relative;
  font-size: 13px;
  font-weight: normal;
  display: inline-block;
  padding: 5px 0;
  -webkit-transition: 0.3s;
  transition: 0.3s;
  letter-spacing: 0.05em;
  color: #efefef;
}

.mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a::after {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  content: "";
  -webkit-transition: 0.3s;
  transition: 0.3s;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #efefef;
}

@media screen and (max-width: 767px) {
  .mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a::after {
    display: none;
  }
}

.mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a:hover::after {
  width: 100%;
}

@media screen and (max-width: 767px) {
  .mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a {
    font-size: 10px;
  }
}

.mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item:not(:last-child) {
  margin-right: 20px;
}

@media screen and (max-width: 767px) {
  .mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item:not(:last-child) {
    margin-right: 0px;
  }
}

.mv .header2 .container .menu_btn2 {
  display: none;
}

@media screen and (max-width: 767px) {
  .mv .header2.on .container {
    height: 100%;
  }

  .mv .header2.on .container .menu_btn2 {
    z-index: 1000;
    display: block;
    position: fixed;
    top: 1.5%;
    right: 5%;
    width: 30px;
    height: 30px;
    z-index: 100;
  }

  .mv .header2.on .container .menu_btn2 span {
    background-color: #fff;
  }

  .mv .header2.on .container .menu_btn2 span:first-child {
    -webkit-transform: translateY(11px) rotate(45deg);
    transform: translateY(11px) rotate(45deg);
  }

  .mv .header2.on .container .menu_btn2 span:nth-child(2) {
    display: none;
  }

  .mv .header2.on .container .menu_btn2 span:last-child {
    -webkit-transform: translateY(9px) rotate(135deg);
    transform: translateY(9px) rotate(135deg);
  }

  .mv .header2.on .container .gnav {
    opacity: 1;
    visibility: visible;
  }

  .mv .header2 .container {
    padding: 15px;
  }

  .mv .header2 .container .menu_btn2 {
    display: block;
    position: absolute;
    top: 40%;
    right: 5%;
    width: 30px;
    height: 30px;
    z-index: 100;
  }

  .mv .header2 .container .menu_btn2 span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #efefef;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  .mv .header2 .container .menu_btn2 span:nth-child(2) {
    -webkit-transform: translateY(9px);
    transform: translateY(9px);
  }

  .mv .header2 .container .menu_btn2 span:last-child {
    -webkit-transform: translateY(18px);
    transform: translateY(18px);
  }

  .mv .header2 .container .gnav {
    display: block;
    position: fixed;
    opacity: 0;
    visibility: hidden;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: #212121;
    padding-top: 64px;
    padding-left: 32px;
    padding-right: 32px;
    -webkit-transition: 0.5s;
    transition: 0.5s;
  }

  .mv .header2 .container .gnav .menu-body {
    display: block;
  }

  .mv .header2 .container .gnav .menu-body .gnav-list2 {
    display: block;
    font-size: 2rem;
    line-height: 6rem;
  }

  .mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item {
    border-bottom: 1px solid #fff;
    margin-left: 0;
    text-align: center;
  }

  .mv .header2 .container .gnav .menu-body .gnav-list2 .gnav-item a {
    font-size: 0.8rem;
    color: #fff;
    display: block;
  }

  .mv .header2 .container .gnav .menu-body .gnav-list2 li:not(:first-of-type) {
    margin-left: 0px;
  }
}

.mv .mv-container {
  width: 100%;
  position: absolute;
  bottom: 0;
}

.mv .mv-container h2 {
  text-align: left;
  padding-bottom: 1rem;
}

@media screen and (max-width: 767px) {
  .mv {
    min-height: calc(var(--vh, 1vh) * 100);
    width: 100vw;
    -o-object-fit: contain;
    object-fit: contain;
    background-size: 60%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    margin: 0 auto;
  }

  .mv .mv-container {
    padding: 0 20px;
  }

  .mv .mv-title {
    font-size: 30px;
  }

  .mv .mv-subtitle {
    font-size: 16px;
    margin-bottom: 20px;
  }

  .mv .mv-text {
    font-size: 14px;
    line-height: 1.7;
  }
}

.glitch {
  color: white;
  position: relative;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
}

@-webkit-keyframes noise-anim {
  0% {
    clip: rect(64px, 9999px, 33px, 0);
  }

  5% {
    clip: rect(59px, 9999px, 47px, 0);
  }

  10% {
    clip: rect(56px, 9999px, 84px, 0);
  }

  15% {
    clip: rect(59px, 9999px, 81px, 0);
  }

  20% {
    clip: rect(93px, 9999px, 86px, 0);
  }

  25% {
    clip: rect(18px, 9999px, 99px, 0);
  }

  30% {
    clip: rect(20px, 9999px, 69px, 0);
  }

  35% {
    clip: rect(41px, 9999px, 27px, 0);
  }

  40% {
    clip: rect(14px, 9999px, 91px, 0);
  }

  45% {
    clip: rect(96px, 9999px, 48px, 0);
  }

  50% {
    clip: rect(46px, 9999px, 1px, 0);
  }

  55% {
    clip: rect(42px, 9999px, 96px, 0);
  }

  60% {
    clip: rect(28px, 9999px, 21px, 0);
  }

  65% {
    clip: rect(52px, 9999px, 28px, 0);
  }

  70% {
    clip: rect(62px, 9999px, 71px, 0);
  }

  75% {
    clip: rect(74px, 9999px, 81px, 0);
  }

  80% {
    clip: rect(78px, 9999px, 21px, 0);
  }

  85% {
    clip: rect(5px, 9999px, 90px, 0);
  }

  90% {
    clip: rect(58px, 9999px, 36px, 0);
  }

  95% {
    clip: rect(18px, 9999px, 4px, 0);
  }

  100% {
    clip: rect(47px, 9999px, 27px, 0);
  }
}

@keyframes noise-anim {
  0% {
    clip: rect(64px, 9999px, 33px, 0);
  }

  5% {
    clip: rect(59px, 9999px, 47px, 0);
  }

  10% {
    clip: rect(56px, 9999px, 84px, 0);
  }

  15% {
    clip: rect(59px, 9999px, 81px, 0);
  }

  20% {
    clip: rect(93px, 9999px, 86px, 0);
  }

  25% {
    clip: rect(18px, 9999px, 99px, 0);
  }

  30% {
    clip: rect(20px, 9999px, 69px, 0);
  }

  35% {
    clip: rect(41px, 9999px, 27px, 0);
  }

  40% {
    clip: rect(14px, 9999px, 91px, 0);
  }

  45% {
    clip: rect(96px, 9999px, 48px, 0);
  }

  50% {
    clip: rect(46px, 9999px, 1px, 0);
  }

  55% {
    clip: rect(42px, 9999px, 96px, 0);
  }

  60% {
    clip: rect(28px, 9999px, 21px, 0);
  }

  65% {
    clip: rect(52px, 9999px, 28px, 0);
  }

  70% {
    clip: rect(62px, 9999px, 71px, 0);
  }

  75% {
    clip: rect(74px, 9999px, 81px, 0);
  }

  80% {
    clip: rect(78px, 9999px, 21px, 0);
  }

  85% {
    clip: rect(5px, 9999px, 90px, 0);
  }

  90% {
    clip: rect(58px, 9999px, 36px, 0);
  }

  95% {
    clip: rect(18px, 9999px, 4px, 0);
  }

  100% {
    clip: rect(47px, 9999px, 27px, 0);
  }
}

.glitch:after {
  content: attr(data-text);
  position: absolute;
  left: 3px;
  text-shadow: -2px 0 red;
  top: 0;
  color: white;
  background: #212121;
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim 2s infinite linear alternate-reverse;
}

@-webkit-keyframes noise-anim-2 {
  0% {
    clip: rect(48px, 9999px, 95px, 0);
  }

  5% {
    clip: rect(81px, 9999px, 31px, 0);
  }

  10% {
    clip: rect(31px, 9999px, 86px, 0);
  }

  15% {
    clip: rect(39px, 9999px, 77px, 0);
  }

  20% {
    clip: rect(59px, 9999px, 38px, 0);
  }

  25% {
    clip: rect(29px, 9999px, 16px, 0);
  }

  30% {
    clip: rect(47px, 9999px, 77px, 0);
  }

  35% {
    clip: rect(64px, 9999px, 27px, 0);
  }

  40% {
    clip: rect(49px, 9999px, 57px, 0);
  }

  45% {
    clip: rect(33px, 9999px, 58px, 0);
  }

  50% {
    clip: rect(29px, 9999px, 65px, 0);
  }

  55% {
    clip: rect(93px, 9999px, 65px, 0);
  }

  60% {
    clip: rect(52px, 9999px, 50px, 0);
  }

  65% {
    clip: rect(39px, 9999px, 96px, 0);
  }

  70% {
    clip: rect(49px, 9999px, 68px, 0);
  }

  75% {
    clip: rect(48px, 9999px, 6px, 0);
  }

  80% {
    clip: rect(87px, 9999px, 12px, 0);
  }

  85% {
    clip: rect(98px, 9999px, 84px, 0);
  }

  90% {
    clip: rect(25px, 9999px, 58px, 0);
  }

  95% {
    clip: rect(45px, 9999px, 81px, 0);
  }

  100% {
    clip: rect(49px, 9999px, 77px, 0);
  }
}

@keyframes noise-anim-2 {
  0% {
    clip: rect(48px, 9999px, 95px, 0);
  }

  5% {
    clip: rect(81px, 9999px, 31px, 0);
  }

  10% {
    clip: rect(31px, 9999px, 86px, 0);
  }

  15% {
    clip: rect(39px, 9999px, 77px, 0);
  }

  20% {
    clip: rect(59px, 9999px, 38px, 0);
  }

  25% {
    clip: rect(29px, 9999px, 16px, 0);
  }

  30% {
    clip: rect(47px, 9999px, 77px, 0);
  }

  35% {
    clip: rect(64px, 9999px, 27px, 0);
  }

  40% {
    clip: rect(49px, 9999px, 57px, 0);
  }

  45% {
    clip: rect(33px, 9999px, 58px, 0);
  }

  50% {
    clip: rect(29px, 9999px, 65px, 0);
  }

  55% {
    clip: rect(93px, 9999px, 65px, 0);
  }

  60% {
    clip: rect(52px, 9999px, 50px, 0);
  }

  65% {
    clip: rect(39px, 9999px, 96px, 0);
  }

  70% {
    clip: rect(49px, 9999px, 68px, 0);
  }

  75% {
    clip: rect(48px, 9999px, 6px, 0);
  }

  80% {
    clip: rect(87px, 9999px, 12px, 0);
  }

  85% {
    clip: rect(98px, 9999px, 84px, 0);
  }

  90% {
    clip: rect(25px, 9999px, 58px, 0);
  }

  95% {
    clip: rect(45px, 9999px, 81px, 0);
  }

  100% {
    clip: rect(49px, 9999px, 77px, 0);
  }
}

.glitch:before {
  content: attr(data-text);
  position: absolute;
  left: -3px;
  text-shadow: 2px 0 blue;
  top: 0;
  color: white;
  background: #212121;
  overflow: hidden;
  clip: rect(0, 900px, 0, 0);
  animation: noise-anim-2 3s infinite linear alternate-reverse;
}

/*--------------------------------
 Top-message
---------------------------------*/
.top-message {
  background-color: #212121;
  color: #fff;
  padding-bottom: 80px;
}

.top-message .container h2 {
  font-family: "Noto Sans JP", sans-serif;
  margin-bottom: 20px;
  font-weight: 500;
}

.top-message .container p {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  width: 100%;
}

.top-message .container p:first-of-type {
  font-size: 1.3rem;
  font-weight: bold;
  width: 100%;
  margin-bottom: 10px;
}

@media screen and (max-width: 599px) {
  .top-message .container p {
    width: 100%;
  }
}

/*--------------------------------
 second-message
---------------------------------*/
.second-message {
  color: #333;
  margin-top: 80px;
  margin-bottom: 80px;
}

.second-message .container h2 {
  margin-bottom: 20px;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
  font-weight: 500;
  width: 100%;
}

.second-message .container p {
  font-family: "Noto Sans JP", sans-serif;
  line-height: 2;
}

.second-message .container p:last-of-type {
  margin-top: 10px;
  text-align: right;
}

/*--------------------------------
 idea
---------------------------------*/
.idea {
  background-color: #e3e3e3;
  background-color: #fff;
}

.idea .container .idea-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -40px;
}

.idea .container .idea-list .idea-item {
  width: 30%;
  margin-bottom: 60px;
  color: #333;
}

.idea .container .idea-list .idea-item:nth-last-of-type(3n) {
  margin-right: 0;
}

.idea .container .idea-list .idea-item .idea-img {
  overflow: hidden;
  text-align: center;
}

.idea .container .idea-list .idea-item .idea-img img {
  width: 50%;
}

.idea .container .idea-list .idea-item .idea-name {
  font-weight: bold;
  font-size: 1rem;
  margin-top: 30px;
  text-align: center;
}

.idea .container .idea-list .idea-item .idea-info {
  font-size: 13px;
  margin-top: 20px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .idea .container .idea-list .idea-item {
    width: 48%;
  }

  .idea .container .idea-list .idea-item .idea-img {
    text-align: center;
  }

  .idea .container .idea-list .idea-item .idea-name {
    text-align: center;
  }

  .idea .container .idea-list .idea-item .idea-info {
    margin-top: 3px;
  }
}

@media screen and (max-width: 599px) {
  .idea .container .idea-list {
    display: block;
  }

  .idea .container .idea-list .idea-item {
    width: 100%;
  }

  .idea .container .idea-list .idea-item .idea-img {
    text-align: center;
  }

  .idea .container .idea-list .idea-item .idea-name {
    text-align: center;
  }

  .idea .container .idea-list .idea-item .idea-info {
    margin-top: 15px;
  }
}

.idea .container.idea h2 {
  margin-bottom: 20px;
}

.idea .container.idea h2::first-letter {
  color: #ca4930;
}

.idea .container.idea .idea-list {
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  margin-bottom: 80px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.idea .container.idea .idea-list .idea-item:hover {
  opacity: 1;
}

.idea .container.idea .idea-list .idea-item .idea-img img {
  border: none;
}

.idea .container.idea .idea-list .idea-item .idea-img img:hover {
  -webkit-transform: none;
  transform: none;
}

@media screen and (max-width: 767px) {
  .idea .container.idea .idea-list .idea-item {
    width: 100%;
  }

  .idea .container.idea .idea-list .idea-item .idea-img {
    text-align: center;
  }

  .idea .container.idea .idea-list .idea-item .idea-name {
    font-style: 12px;
    text-align: center;
  }

  .idea .container.idea .idea-list .idea-item .idea-info {
    margin-top: 3px;
    text-align: center;
  }
}

/*--------------------------------
 recommended
---------------------------------*/
.recommended {
  background-color: #e3e3e3;
  background-color: #fff;
}

.recommended .container .recommended-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.recommended .container .recommended-list .column {
  width: 50%;
}

.recommended .container .recommended-list .column p i {
  font-size: 1.5rem;
  padding-right: 15px;
}

.recommended .container .recommended-list .column p:not(:last-child) {
  margin-bottom: 30px;
}

.recommended .container .recommended-list .column .check-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  /* 塗りのアニメーション */
  /* チェックマークのアニメーション */
}

.recommended .container .recommended-list .column .check-list:not(:last-child) {
  margin-bottom: 30px;
}

.recommended .container .recommended-list .column .check-list .circle {
  position: relative;
  border-radius: 10%;
  width: 22px;
  height: 22px;
  -webkit-box-shadow: inset 0 0 0 2px #333;
  box-shadow: inset 0 0 0 2px #333;
  margin-right: 15px;
}

.recommended .container .recommended-list .column .check-list .circle .cover1,
.recommended .container .recommended-list .column .check-list .circle .cover2 {
  position: absolute;
  overflow: hidden;
  width: 50%;
  height: 100%;
}

.recommended .container .recommended-list .column .check-list .circle .cover1 {
  left: 50%;
}

.recommended .container .recommended-list .column .check-list .circle .cover1:before,
.recommended .container .recommended-list .column .check-list .circle .cover2:before {
  position: absolute;
  content: "";
}

.recommended .container .recommended-list .column .check-list .circle .check {
  position: absolute;
  color: #fff;
  width: 100%;
  height: 100%;
  font-size: 3rem;
  line-height: 1rem;
  text-align: center;
  top: 0;
  opacity: 0;
}

.recommended .container .recommended-list .column .check-list .circle .check i {
  position: absolute;
  top: -5px;
  top: 30%;
  right: 0;
  bottom: 0;
  left: 0;
  height: 100%;
  width: 100%;
  margin: auto;
  font-size: 1rem;
}

.recommended .container .recommended-list .column .check-list .circle-Anime {
  -webkit-animation: filling 0.4s ease-in 0.6s forwards;
  animation: filling 0.4s ease-in 0.6s forwards;
}

@-webkit-keyframes filling {
  0% {
    -webkit-box-shadow: inset 0 0 0 9px #333;
    box-shadow: inset 0 0 0 9px #333;
  }

  100% {
    -webkit-box-shadow: inset 0 0 0 20px #333;
    box-shadow: inset 0 0 0 20px #333;
  }
}

@keyframes filling {
  0% {
    -webkit-box-shadow: inset 0 0 0 9px #333;
    box-shadow: inset 0 0 0 9px #333;
  }

  100% {
    -webkit-box-shadow: inset 0 0 0 20px #333;
    box-shadow: inset 0 0 0 20px #333;
  }
}

.recommended .container .recommended-list .column .check-list .check-Anime {
  -webkit-animation: check 0.3s ease-in-out 0.9s forwards;
  animation: check 0.3s ease-in-out 0.9s forwards;
}

@-webkit-keyframes check {
  0% {
    -webkit-transform: scale(0.5) rotate(30deg);
    transform: scale(0.5) rotate(30deg);
    opacity: 0;
  }

  90% {
    -webkit-transform: scale(1.5) rotate(-15deg);
    transform: scale(1.5) rotate(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0.9) rotate(0deg);
    transform: scale(0.9) rotate(0deg);
    opacity: 1;
  }
}

@keyframes check {
  0% {
    -webkit-transform: scale(0.5) rotate(30deg);
    transform: scale(0.5) rotate(30deg);
    opacity: 0;
  }

  90% {
    -webkit-transform: scale(1.5) rotate(-15deg);
    transform: scale(1.5) rotate(-15deg);
    opacity: 1;
  }

  100% {
    -webkit-transform: scale(0.9) rotate(0deg);
    transform: scale(0.9) rotate(0deg);
    opacity: 1;
  }
}

@media screen and (max-width: 767px) {
  .recommended .container .recommended-list .column {
    width: 100%;
  }

  .recommended .container .recommended-list .column:first-of-type {
    margin-bottom: 30px;
  }

  .recommended .container .recommended-list .column p {
    width: 90%;
    margin: 0 auto;
  }

  .recommended .container .recommended-list .column .check-list {
    width: 100%;
    margin: 0 auto;
  }
}

/*--------------------------------
 service
---------------------------------*/
.service .container .service-contents {
  -webkit-box-align: end;
  -webkit-align-items: flex-end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}

.service .container .service-contents .service-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.service .container .service-contents .service-body .service-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
  margin-top: 50px;
}

.service .container .service-contents .service-body .service-name h3 {
  margin-bottom: 30px;
}

.service .container .service-contents .service-body .service-name h3:first-child {
  font-size: 1.2rem;
  margin-right: 20px;
}

.service .container .service-contents .service-body p {
  font-size: 15px;
  line-height: 1.8;
}

.service .container .service-contents .service-body p:not(:last-child) {
  margin-bottom: 20px;
}

.service .container .service-contents .service-body ul {
  list-style: none;
}

.service .container .service-contents .service-body ul:not(:last-of-type) {
  margin-bottom: 10px;
}

.service .container .service-contents .service-body ul li:first-of-type {
  font-weight: bold;
}

@media screen and (max-width: 767px) {
  .service .container .service-contents {
    display: block;
  }

  .service .container .service-contents .service-img {
    width: 150px;
    margin: 0 auto;
    margin-bottom: 25px;
  }

  .service .container .service-contents .service-body .service-name {
    display: block;
  }

  .service .container .service-contents .service-body .service-name h3 {
    width: 100%;
    text-align: center;
  }

  .service .container .service-contents .service-body .service-name h3:not(:last-child) {
    margin-bottom: 10px;
  }

  .service .container .service-contents .service-body p:not(:last-child) {
    margin-bottom: 20px;
  }
}

/*--------------------------------
 flow
---------------------------------*/
.flow .container .flow-contents {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}

.flow .container .flow-contents .flow-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.flow .container .flow-contents .flow-body:not(:last-of-type) {
  margin-right: 40px;
}

.flow .container .flow-contents .flow-body .flow-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
}

.flow .container .flow-contents .flow-body .flow-name h3 {
  margin-bottom: 30px;
  font-size: 1.2rem;
  margin-left: auto;
  margin-right: auto;
}

.flow .container .flow-contents .flow-body p {
  font-size: 15px;
  line-height: 1.8;
}

.flow .container .flow-contents .flow-body p:not(:last-child) {
  margin-bottom: 10px;
}

.flow .container .flow-contents .flow-body ul {
  list-style: none;
}

.flow .container .flow-contents .flow-body ul li:not(:last-of-type) {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  .flow .container .flow-contents {
    display: block;
  }

  .flow .container .flow-contents .service-img {
    width: 150px;
    margin: 0 auto;
    margin-bottom: 25px;
  }

  .flow .container .flow-contents .flow-body:not(:last-of-type) {
    margin-right: 0;
  }

  .flow .container .flow-contents .flow-body .flow-name {
    display: block;
  }

  .flow .container .flow-contents .flow-body .flow-name h3 {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
  }

  .flow .container .flow-contents .flow-body .flow-name h3:not(:last-child) {
    margin-bottom: 10px;
  }

  .flow .container .flow-contents .flow-body p:not(:last-child) {
    margin-bottom: 10px;
  }

  .flow .container .flow-contents .flow-body ul li:not(:last-of-type) {
    margin-bottom: 10px;
  }

  .flow .container .flow-contents .flow-body ul li:last-child {
    margin-bottom: 50px;
  }
}

/*--------------------------------
 news
---------------------------------*/
.top_info .container .news-list {
  list-style: none outside;
  padding: 0;
}

.top_info .container .news-list .item a {
  font-size: 16px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-wrap: nowrap;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #ccc;
  padding: 20px 20px;
}

@media screen and (max-width: 767px) {
  .top_info .container .news-list .item a {
    -webkit-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    font-size: 15px;
  }
}

.top_info .container .news-list .item a:hover {
  opacity: 1;
}

.top_info .container .news-list .item a:hover .news_title {
  color: #ca4930;
}

.top_info .container .news-list .item:first-child a {
  border-top: 1px solid #ccc;
}

.top_info .container .news-list .item .date {
  margin: 0;
  min-width: 140px;
  font-size: 16px;
  color: #999;
  padding: 0 20px 0 0;
}

@media screen and (max-width: 767px) {
  .top_info .container .news-list .item .date {
    min-width: 100px;
  }
}

.top_info .container .news-list .item .category {
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}

.top_info .container .news-list .item .category span {
  background: #999;
  color: #fff;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}

.top_info .container .news-list .item .news_title {
  margin: 0;
  width: 100%;
}

@media screen and (max-width: 767px) {
  .top_info .container .news-list .item .news_title {
    margin-top: 10px;
  }
}

.top_info .container .to_newstop {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  .top_info .container .to_newstop {
    margin-top: 15px;
  }
}

/*--------------------------------
 tranavi
---------------------------------*/
#top .tranavi {
  background-color: #e3e3e3;
  background-color: #fff;
}

#top .tranavi .container p {
  margin-bottom: 50px;
  font-size: 1rem;
}

@media screen and (max-width: 767px) {
  #top .tranavi .container p {
    font-size: 15px;
  }
}

#top .tranavi .container .tranavi-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -40px;
}

#top .tranavi .container .tranavi-list .tranavi-item {
  width: 20%;
  margin-bottom: 30px;
  color: #333;
}

#top .tranavi .container .tranavi-list .tranavi-item:nth-last-of-type(3n) {
  margin-right: 0;
}

#top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
  overflow: hidden;
  position: relative;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#top .tranavi .container .tranavi-list .tranavi-item .tranavi-img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 95%;
  margin: auto;
}

#top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
  font-weight: bold;
  font-size: 1rem;
  margin-top: 30px;
  text-align: center;
}

#top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
  font-size: 13px;
  margin-top: 20px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #top .tranavi .container .tranavi-list .tranavi-item {
    width: 20%;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
    text-align: center;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
    text-align: center;
    font-size: 0.7rem;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
    margin-top: 3px;
  }
}

@media screen and (max-width: 599px) {
  #top .tranavi .container .tranavi-list .tranavi-item {
    width: 33%;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
    text-align: center;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
    text-align: center;
    font-size: 1rem;
  }

  #top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
    margin-top: 15px;
  }
}

#top .tranavi .container .to_tranavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 41px;
}

@media screen and (max-width: 767px) {
  #top .tranavi .container .to_tranavi {
    margin-top: 55px;
  }
}

/*--------------------------------
 menber
---------------------------------*/
.menber {
  background-color: #212121;
  color: #efefef;
}

.menber .container .title {
  color: #efefef;
}

.menber .container .menber-list .profile {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}

.menber .container .menber-list .profile:not(:last-child) {
  margin-bottom: 50px;
}

.menber .container .menber-list .profile .profile-img {
  margin-right: 50px;
  min-width: 240px;
}

.menber .container .menber-list .profile .profile-img img {
  border-radius: 0;
  width: 240px;
  height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
}

.menber .container .menber-list .profile .profile-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
}

.menber .container .menber-list .profile .profile-body .myname {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  line-height: 1;
}

.menber .container .menber-list .profile .profile-body .myname h3 {
  margin-bottom: 5px;
  font-weight: normal;
  font-size: 1rem;
}

.menber .container .menber-list .profile .profile-body .myname h3:first-child {
  font-weight: bold;
  font-size: 24px;
  margin-right: 20px;
}

.menber .container .menber-list .profile .profile-body .position h3 {
  font-size: 0.9rem;
  font-weight: normal;
  margin-bottom: 30px;
}

.menber .container .menber-list .profile .profile-body p {
  font-size: 15px;
  line-height: 1.8;
}

.menber .container .menber-list .profile .profile-body p:not(:last-child) {
  margin-bottom: 30px;
}

.menber .container .menber-list .profile .profile-body .mysns a:not(:last-child) {
  margin-right: 10px;
}

.menber .container .menber-list .profile .profile-body .mysns a i {
  color: #efefef;
  font-size: 1.5rem;
}

.menber .container .menber-list .profile .profile-body .mysns a .fa-external-link-alt {
  font-size: 1.3rem;
}

@media screen and (max-width: 599px) {
  .menber .container .menber-list .profile {
    display: block;
  }

  .menber .container .menber-list .profile .profile-img {
    width: 100%;
    margin: 0 auto;
    text-align: center;
    margin-bottom: 25px;
  }

  .menber .container .menber-list .profile .profile-img img {
    width: 240px;
    height: 200px;
    text-align: center;
  }

  .menber .container .menber-list .profile .profile-body .myname {
    display: block;
  }

  .menber .container .menber-list .profile .profile-body .myname h3 {
    width: 100%;
    text-align: center;
  }

  .menber .container .menber-list .profile .profile-body .myname h3:not(:last-child) {
    margin-bottom: 5px;
  }

  .menber .container .menber-list .profile .profile-body .position {
    text-align: center;
  }

  .menber .container .menber-list .profile .profile-body p:not(:last-child) {
    margin-bottom: 30px;
  }

  .menber .container .menber-list .profile .profile-body .mysns {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .menber .container .menber-list .profile .profile-body .mysns a:not(:last-child) {
    margin-right: 40px;
  }

  .menber .container .menber-list .profile .profile-body .mysns a i {
    color: #efefef;
    font-size: 2.2rem;
  }

  .menber .container .menber-list .profile .profile-body .mysns a .fa-external-link-alt {
    font-size: 1.7rem;
  }
}

/*--------------------------------
 協賛団体
---------------------------------*/
.sponsor {
  background-color: #e3e3e3;
  background-color: #fff;
}

.sponsor .container .sponsor-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: justify;
  justify-content: space-evenly;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -40px;
}

.sponsor .container .sponsor-list .sponsor-item {
  height: 100%;
  width: 23%;
  margin-bottom: 60px;
  color: #333;
}

.sponsor .container .sponsor-list .sponsor-item:nth-last-of-type(3n) {
  margin-right: 0;
}

.sponsor .container .sponsor-list .sponsor-item .sponsor-img {
  overflow: hidden;
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

.sponsor .container .sponsor-list .sponsor-item .sponsor-img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  max-height: 150px;
  width: auto;
  margin: auto;
}

.sponsor .container .sponsor-list .sponsor-item .sponsor-img:hover {
  opacity: 0.6;
}

.sponsor .container .sponsor-list .sponsor-item .sponsor-name {
  font-weight: bold;
  font-size: 1rem;
  margin-top: 30px;
  text-align: center;
}

.sponsor .container .sponsor-list .sponsor-item .sponsor-info {
  font-size: 13px;
  margin-top: 20px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

@media screen and (max-width: 767px) {
  .sponsor .container .sponsor-list .sponsor-item {
    width: 33%;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-img {
    text-align: center;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-name {
    text-align: center;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-info {
    margin-top: 3px;
  }
}

@media screen and (max-width: 599px) {
  .sponsor .container .sponsor-list .sponsor-item {
    -webkit-box-pack: center;
    -webkit-justify-content: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 47%;
    margin-right: 0px;
    margin-bottom: 30px;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-img {
    text-align: center;
    width: 100%;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-name {
    text-align: center;
  }

  .sponsor .container .sponsor-list .sponsor-item .sponsor-info {
    margin-top: 15px;
  }
}

.sponsor .container.sponsor h2 {
  margin-bottom: 20px;
}

.sponsor .container.sponsor h2::first-letter {
  color: #ca4930;
}

.sponsor .container.sponsor .sponsor-list {
  -webkit-box-pack: space-evenly;
  -webkit-justify-content: space-evenly;
  -ms-flex-pack: space-evenly;
  justify-content: space-evenly;
  margin-bottom: 80px;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
}

.sponsor .container.sponsor .sponsor-list .sponsor-item:hover {
  opacity: 1;
}

.sponsor .container.sponsor .sponsor-list .sponsor-item .sponsor-img img {
  border: none;
}

.sponsor .container.sponsor .sponsor-list .sponsor-item .sponsor-img img:hover {
  -webkit-transform: none;
  transform: none;
}

@media screen and (max-width: 767px) {
  .sponsor .container.sponsor .sponsor-list .sponsor-item {
    width: 100%;
  }

  .sponsor .container.sponsor .sponsor-list .sponsor-item .sponsor-img {
    text-align: center;
  }

  .sponsor .container.sponsor .sponsor-list .sponsor-item .sponsor-name {
    font-style: 12px;
    text-align: center;
  }

  .sponsor .container.sponsor .sponsor-list .sponsor-item .sponsor-info {
    margin-top: 3px;
    text-align: center;
  }
}

/*--------------------------------
 お問い合わせ
---------------------------------*/
.contact .container {
  padding-top: 80px;
  padding-bottom: 80px;
}

.contact .container .contact-wrap {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
}

.contact .container .contact-wrap .contact-exp {
  width: 50%;
}

.contact .container .contact-wrap .twitter {
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

@media screen and (max-width: 599px) {
  .contact .container .contact-wrap {
    display: block;
  }

  .contact .container .contact-wrap .contact-exp {
    width: 100%;
    margin-bottom: 30px;
  }
}

#privacy .content .privacy {
  padding: 120px 0 120px 0;
}

@media screen and (max-width: 767px) {
  #privacy .content .privacy {
    padding: 60px 0 60px 0;
  }
}

#privacy .content .privacy .container .title {
  margin-bottom: 120px;
}

@media screen and (max-width: 767px) {
  #privacy .content .privacy .container .title {
    margin-bottom: 60px;
  }
}

#privacy .content .privacy .container .privacy-contents .privacy-body .privacy-name {
  margin-bottom: 20px;
}

#privacy .content .privacy .container .privacy-contents .privacy-body .privacy-policy:not(:last-of-type) {
  margin-bottom: 60px;
}

#privacy .content .privacy .container .privacy-contents .privacy-body .privacy-contact {
  border: 1px solid #212121;
  padding: 20px;
  display: inline-block;
}

#privacy .content .privacy .container .privacy-contents .privacy-body .privacy-contact p:first-child {
  font-weight: bold;
  margin-bottom: 5px;
}

#news .content .news {
  padding: 100px 0 100px 0;
}

@media screen and (max-width: 767px) {
  #news .content .news {
    padding: 50px 0 50px 0;
  }
}

#news .content .news .container .title {
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  #news .content .news .container .title {
    margin-bottom: 60px;
  }
}

#news .content .news .container .news-contents .news-name {
  margin-bottom: 30px;
  text-align: center;
  margin: 0 auto 30px auto;
}

#news .content .news .container .news-contents .news-name p {
  text-align: right;
  margin-bottom: 60px;
}

@media screen and (max-width: 767px) {
  #news .content .news .container .news-contents .news-name p {
    margin-bottom: 40px;
  }
}

#news .content .news .container .news-contents .news-body:not(:last-of-type) {
  margin-bottom: 60px;
}

#news .content .news .container .news-contents .news-body p {
  margin-top: 20px;
}

#news .content .news .container .news-contents .news-body p:not(:last-of-type) {
  margin-bottom: 20px;
}

#news .content .news .container .news-contents .news-body dl dt {
  font-weight: bold;
  margin-top: 20px;
}

#news .content .news .container .news-contents .news-body dl ul {
  margin-top: 20px;
}

#news .content .news .container .news-contents .news-body dl ul li {
  list-style-position: inside;
}

#news .content .news .container .to_newstop {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 60px;
}

@media screen and (max-width: 767px) {
  #news .content .news .container .to_newstop {
    margin-top: 40px;
  }
}

/*--------------------------------
 twitter
---------------------------------*/
.twitter-timeline {
  margin: 0 auto;
}

/*--------------------------------
 下層：トラナビトップページ
---------------------------------*/
/*--------------------------------
 exp
---------------------------------*/
#tranavi_top .exp .container .exp-contents {
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
}

#tranavi_top .exp .container .exp-contents .exp-body p {
  font-size: 15px;
  line-height: 1.8;
}

#tranavi_top .exp .container .exp-contents .exp-body p:not(:last-child) {
  margin-bottom: 10px;
}

#tranavi_top .exp .container .exp-contents .exp-body ul {
  list-style: none;
}

#tranavi_top .exp .container .exp-contents .exp-body ul li:not(:last-of-type) {
  margin-bottom: 10px;
}

@media screen and (max-width: 767px) {
  #tranavi_top .exp .container .exp-contents {
    display: block;
  }

  #tranavi_top .exp .container .exp-contents .service-img {
    width: 150px;
    margin: 0 auto;
    margin-bottom: 25px;
  }

  #tranavi_top .exp .container .exp-contents .exp-body:not(:last-of-type) {
    margin-right: 0;
  }

  #tranavi_top .exp .container .exp-contents .exp-body .exp-name {
    display: block;
  }

  #tranavi_top .exp .container .exp-contents .exp-body .exp-name h3 {
    width: 100%;
    text-align: center;
    margin-bottom: 30px;
  }

  #tranavi_top .exp .container .exp-contents .exp-body .exp-name h3:not(:last-child) {
    margin-bottom: 10px;
  }

  #tranavi_top .exp .container .exp-contents .exp-body p:not(:last-child) {
    margin-bottom: 10px;
  }

  #tranavi_top .exp .container .exp-contents .exp-body ul li:not(:last-of-type) {
    margin-bottom: 10px;
  }

  #tranavi_top .exp .container .exp-contents .exp-body ul li:last-child {
    margin-bottom: 50px;
  }
}

#tranavi_top .tranavi {
  background-color: #e3e3e3;
  background-color: #fff;
}

#tranavi_top .tranavi a {
  color: #333;
}

#tranavi_top .tranavi a:hover {
  color: #ca4930;
}

#tranavi_top .tranavi .container {
  margin-bottom: 40px;
}

#tranavi_top .tranavi .container .tranavi-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: -40px;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item {
  width: 20%;
  margin-bottom: 30px;
  color: #333;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item:nth-last-of-type(3n) {
  margin-right: 0;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
  overflow: hidden;
  position: relative;
  width: 100px;
  height: 100px;
  margin: 0 auto;
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-img img {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 95%;
  margin: auto;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
  font-weight: bold;
  font-size: 14px;
  margin-top: 10px;
  text-align: center;
  overflow-wrap: break-word;
}

#tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
  font-size: 13px;
  margin-top: 20px;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  text-align: left;
}

@media screen and (max-width: 767px) {
  #tranavi_top .tranavi .container .tranavi-list .tranavi-item {
    width: 20%;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
    text-align: center;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
    text-align: center;
    font-size: 0.7rem;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
    margin-top: 3px;
  }
}

@media screen and (max-width: 599px) {
  #tranavi_top .tranavi .container .tranavi-list .tranavi-item {
    width: 33%;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-img {
    text-align: center;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-name {
    text-align: center;
    font-size: 11px;
  }

  #tranavi_top .tranavi .container .tranavi-list .tranavi-item .tranavi-info {
    margin-top: 15px;
  }
}

#tranavi_top .tranavi .container .to_tranavi {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -webkit-justify-content: flex-end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  margin-top: 30px;
}

@media screen and (max-width: 767px) {
  #tranavi_top .tranavi .container .to_tranavi {
    margin-top: 55px;
  }
}

/*--------------------------------
 下下層：トラナビ企業個別ページ
---------------------------------*/
/*--------------------------------
 works-About
---------------------------------*/
#tranavi_com .content {
  min-height: calc(100vh - 280px);
  /*--------------------------------
   gallery
  ---------------------------------*/
  /*--------------------------------
   modaalのcss設定
  ---------------------------------*/
  /*全て共通：hideエリアをはじめは非表示*/
  /*全て共通：モーダルのボタンの色を変更したい場合*/
}

#tranavi_com .content .section {
  padding-bottom: 0;
  padding-top: 0;
}

#tranavi_com .content #under-works-about {
  margin-top: 80px;
}

#tranavi_com .content #under-works-about .container .works-wrapper {
  vertical-align: middle;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  max-width: 1100px;
  margin: 0 auto;
  margin-bottom: 50px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-name-top {
  display: none;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-name-top p {
  font-size: 10px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-img {
  width: 30%;
  margin-right: 150px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
  -ms-flex: 1;
  flex: 1;
  width: 45%;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body .works-name {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  display: block;
  line-height: 1;
  margin-bottom: 30px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body .works-name h2 {
  font-size: 24px;
  margin-right: 0px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body .works-name p {
  font-size: 10px;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body p {
  font-size: 15px;
  line-height: 1.8;
}

#tranavi_com .content #under-works-about .container .works-wrapper .works-exp .works-body p:not(:last-child) {
  margin-bottom: 30px;
}

#tranavi_com .content #under-works-about .container.design .align {
  position: relative;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper {
  width: 100%;
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp {
  display: block;
  margin-top: 0px;
  width: 100%;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-name-top {
  display: block;
  text-align: center;
  margin-bottom: 25px;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-img {
  width: 100%;
  max-width: 70%;
  margin: 0 auto;
  margin-bottom: 25px;
  text-align: center;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-body {
  width: 100%;
  height: 100%;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-body .works-name {
  display: none;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-body p {
  text-align: center;
  line-height: 1.5;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .works-exp .works-body p:not(:last-child) {
  margin-bottom: 20px;
}

#tranavi_com .content #under-works-about .container.design .align .works-wrapper .btn a {
  margin-top: 40px;
}

@media screen and (max-width: 895px) {
  #tranavi_com .content #under-works-about .container .align .works-wrapper {
    width: 100%;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp {
    display: block;
    margin-top: 0px;
    width: 100%;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-name-top {
    display: block;
    text-align: center;
    margin-bottom: 25px;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-img {
    width: 40%;
    max-width: 70%;
    margin: 0 auto;
    margin-bottom: 25px;
    text-align: center;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-body {
    width: 100%;
    height: 100%;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-body .works-name {
    display: none;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-body p {
    text-align: center;
    line-height: 1.5;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-body p:not(:last-child) {
    margin-bottom: 20px;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .btn a {
    margin-top: 40px;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2 {
    left: 5%;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2 span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #333;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2::before {
    content: "";
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 2px;
    height: 100px;
    background: #333;
  }

  @-webkit-keyframes circlemove {
    0% {
      bottom: 45px;
    }

    100% {
      bottom: -50px;
    }
  }

  @keyframes circlemove {
    0% {
      bottom: 45px;
    }

    100% {
      bottom: -50px;
    }
  }
}

@media screen and (max-width: 599px) {
  #tranavi_com .content #under-works-about {
    padding: 0;
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #tranavi_com .content #under-works-about .container {
    -webkit-box-align: center;
    -webkit-align-items: center;
    -ms-flex-align: center;
    align-items: center;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper {
    width: 100%;
  }

  #tranavi_com .content #under-works-about .container .align .works-wrapper .works-exp .works-img.design {
    width: 100%;
    margin-right: 30px;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2 {
    left: 5%;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2 span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #333;
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
  }

  #tranavi_com .content #under-works-about .scroll-container .scrolldown2::before {
    content: "";
    position: absolute;
    bottom: -50px;
    left: 0;
    width: 2px;
    height: 150px;
    background: #333;
  }

  @-webkit-keyframes circlemove {
    0% {
      bottom: 45px;
    }

    100% {
      bottom: -50px;
    }
  }

  @keyframes circlemove {
    0% {
      bottom: 45px;
    }

    100% {
      bottom: -50px;
    }
  }
}

#tranavi_com .content .article {
  margin-bottom: 80px;
}

#tranavi_com .content .article .container .article-title {
  margin-bottom: 30px;
  text-align: center;
}

#tranavi_com .content .article .container .article-body {
  margin: 0 auto;
}

#tranavi_com .content .article .container .article-body h2 {
  margin-bottom: 5px;
}

#tranavi_com .content .article .container .article-body h2:not(:first-child) {
  margin-top: 50px;
}

#tranavi_com .content .article .container .article-body p {
  font-size: 15px;
  line-height: 1.8;
  margin-bottom: 30px;
}

#tranavi_com .content .article .container .home-link {
  text-align: center;
}

@media screen and (max-width: 767px) {
  #tranavi_com .content .article .article-container .article-body p {
    font-size: 14px;
    line-height: 1.7;
    margin-bottom: 20px;
  }

  #tranavi_com .content .article .article-container .article-body h3 {
    font-size: 16px;
    padding-left: 0.8em;
  }

  #tranavi_com .content .article .article-container .article-body h3:not(:first-child) {
    margin-top: 30px;
  }
}

#tranavi_com .content .works-gallery {
  padding-top: 0px;
}

#tranavi_com .content .works-gallery .container .gallery-list {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top {
  width: 48%;
  height: 100%;
  margin-bottom: 100px;
  color: #333;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery:hover,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top:hover {
  opacity: 1;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery:nth-last-of-type(3n),
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top:nth-last-of-type(3n) {
  margin-right: 0;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery:not(:first-child),
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top:not(:first-child) {
  margin-bottom: 50px;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery:first-child,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top:first-child {
  width: 70%;
  margin-left: auto;
  margin-right: auto;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img {
  overflow: hidden;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img img,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img img {
  border: 1px solid #e6e6e6;
}

#tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img img:hover,
#tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img img:hover {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

@media screen and (max-width: 767px) {
  #tranavi_com .content .works-gallery .container .gallery-list {
    display: block;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top {
    width: 48%;
    height: 100%;
    margin-bottom: 100px;
    color: #333;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery:hover,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top:hover {
    opacity: 1;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery:nth-last-of-type(3n),
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top:nth-last-of-type(3n) {
    margin-right: 0;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery:not(:first-child),
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top:not(:first-child) {
    margin-bottom: 50px;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery:first-child,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top:first-child {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 50px;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img {
    overflow: hidden;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img img,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img img {
    border: 1px solid #e6e6e6;
    margin-bottom: 50px;
  }

  #tranavi_com .content .works-gallery .container .gallery-list .gallery .gallery-img img:hover,
  #tranavi_com .content .works-gallery .container .gallery-list .gallery-top .gallery-img img:hover {
    -webkit-transform: scale(1.1, 1.1);
    transform: scale(1.1, 1.1);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }
}

#tranavi_com .content .hide-area {
  display: none;
}

#tranavi_com .content .modaal-close:after,
#tranavi_com .content .modaal-close:before {
  background: #ccc;
}

#tranavi_com .content .modaal-close:focus:after,
#tranavi_com .content .modaal-close:focus:before,
#tranavi_com .content .modaal-close:hover:after,
#tranavi_com .content .modaal-close:hover:before {
  background: #666;
}

/*# sourceMappingURL=style.css.map */