/*
 Theme Name:   WAC WAB DESIGN HP
 Description:  HOME PAGE for WordPress
 Author:       WORK ASSIST
 Version:      1.0.0
*/

@charset "UTF-8";

/*
-INDEX-
Common Style
  Default CSS Reset
  HTML Style
  Body Style
  Device Style
  Btn and Link Style
  Loading Animation Style
  Pankuz Style
  Scroll Top Style
Header Style
  Header Style
  Logo Style
  Nav List Style
Footer Style
  Footer Style
  Footer Nav List Style
  Footer Contents Style
  Copyright
Top Contents Style
  About Animation Style
  Strong Animation Style
  Gradient Title Style
  Top Img Style
  Top News Style
Page Style
  Page Header Style
  Page Contents Style
  Page TOC Table of Contents
  Page About Style
  Page FAQ Style
  Page Privacy Policy Style
  Mw Wp Form Style
Archive Style
  Archive Common Style
  Archive News Style
  Archive Works Style
  Archive Column Style
Single Page Style (Common)
  Header Text (Common)
  WordPress Block Style
  pagenavi Style
Single Page Style (works)
  works parallax
Single Page Style (Column)
  Single Page Common Style
  Header Thumbnail (Main)
  TOC Table of Contents (Main)
Sidebar Style
  Blog List (Sidebar)
  Category List (Sidebar)
  Search Form (Sidebar)
  TOC Table of Contents (Sidebar)
404 Style
  404 Style
*/

/* ===================================================
 *  Common Style
====================================================== */

/*  Default CSS Reset
====================================================== */

header,
footer,
nav,
menu,
article,
aside,
section,
details,
figcaption,
figure {
  display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
p {
  margin: 0;
  padding: 0;
}

a {
  margin: 0;
  padding: 0;
  text-decoration: none;
}

ul,
ol {
  list-style: none;
}

table {
  border-collapse: collapse;
}

img {
  vertical-align: bottom;
}

a img {
  border: none;
}

strong {
  font-weight: normal;
}

i {
  font-style: normal;
}

/* HTML Style
====================================================== */

/* htmlに対して相対的な値を指定する */
/* 1rem=10px; */
html {
  font-size: 62.5%;
  overscroll-behavior: none;
  scroll-behavior: smooth;
}

/*  Body Style
====================================================== */
body {
  margin: 0 auto;
  max-width: 1920px;

  /* Adobe Fonts */
  font-family: Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Noto Sans", Meiryo, sans-serif;
  font-style: normal;
  font-weight: 300;
  letter-spacing: 1px;
}

:target::before {
  content: "";
  display: block;
  height: 100px;
  margin-top: -100px;
  visibility: hidden,
}

/*  Device Style
====================================================== */

/* PC [display: block;] style
------------------------------------------------------ */
@media screen and (min-width:1026px) {
  .pc {
    display: block;
  }

  .tab {
    display: none;
  }

  .sp-x {
    display: none;
  }

  .sp-y {
    display: none;
  }
}

/* Tablet [display: block;] style
------------------------------------------------------ */
@media screen and (max-width:1025px) {
  .pc {
    display: none;
  }

  .tab {
    display: block;
  }

  .sp-x {
    display: none;
  }

  .sp-y {
    display: none;
  }
}

/* Smartphone-X [display: block;] style
------------------------------------------------------ */
@media screen and (max-width:680px) {
  .pc {
    display: none;
  }

  .tab {
    display: none;
  }

  .sp-x {
    display: block;
  }

  .sp-y {
    display: none;
  }
}

/* Smartphone-Y [display: block;] style
------------------------------------------------------ */
@media screen and (max-width:480px) {
  .pc {
    display: none;
  }

  .tab {
    display: none;
  }

  .sp-x {
    display: none;
  }

  .sp-y {
    display: block;
  }
}

/* Smartphone-X Smartphone-Y [display: block;] style
------------------------------------------------------ */
.sp-x-sp-y {
  display: none;
}

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

  .sp-x-sp-y {
    display: block;
  }
}

/*  Btn and Link Style
====================================================== */

/* Btn Style
------------------------------------------------------ */
a.btn {
  display: block;
  text-align: center;
  text-decoration: none;
  width: 200px;
  padding: 1.2rem 4rem;
  font-weight: bold;
  border: 1px solid #222;
  font-size: 1.5rem;
  font-weight: bolder;
  letter-spacing: 1px;
  font-weight: bold;
  color: #222;
  cursor: pointer;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

@media screen and (max-width:680px) {
  a.btn {
    font-size: 1.4rem;
  }
}

a.btn::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #222;
  transform: translateX(-100%);
  transition: all .3s;
  z-index: -1;
}

a.btn:hover::before {
  transform: translateX(0);
}

a.btn:hover {
  color: #fff;
}

.btn-layout {
  margin-top: 100px;
  text-align: center;
  text-align: -webkit-center;
}

@media screen and (max-width:880px) {
  .btn-layout {
    margin-top: 250px;
  }
}

@media screen and (max-width:680px) {
  .btn-layout {
    margin-top: 300px;
  }
}

@media screen and (max-width:480px) {
  .btn-layout {
    margin-top: 250px;
  }
}

/* Link Style
------------------------------------------------------ */
a.link {
  font-size: 1.4rem;
  font-weight: bolder;
  letter-spacing: 1px;
  font-weight: bold;
  color: #222;
  cursor: pointer;
  z-index: 1;
}

.link-layout {
  margin: 40px 20px 0 auto;
  text-align: right;
  text-align: -webkit-right;
}

/*  Loading Animation Style
====================================================== */

.loading-animation {
  width: 100vw;
  height: 100vh;
  transition: all 1.2s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999999;
  opacity: 0;
  visibility: hidden;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

.loading {
  width: 100vw;
  height: 100vh;
  transition: all 1.2s;
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  opacity: 1;
  visibility: visible;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading p {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  text-align: center;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 5.0rem;
  color: #222;
}

/* Pankuz Style
====================================================== */

.page_header .pankuz {
  width: 100%;
  background-color: #222;
}

.pankuz ul {
  margin: 0;
  padding: 10px 5%;
  list-style: none;
  font-family: margarita-luce, sans-serif;
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width:680px) {
  .pankuz ul {
    padding: 10px 2.5%;
  }
}

.pankuz li {
  display: inline;
  font-size: 1.4rem;
  color: #fff;
}

.pankuz li a {
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
}

@media screen and (max-width:680px) {

  .page-header-a .pankuz,
  .page-header-b .pankuz {
    bottom: 12px;
    margin: 0 0 0 5%;
  }

  .pankuz li {
    font-size: 1.0rem;
  }

  .pankuz li a {
    font-size: 1.0rem;
  }
}

.pankuz li+li:before {
  content: ">";
  margin: .5em;

}

/*  Scroll Top Style
====================================================== */

#scroll_top_fixed {
  position: fixed;
  bottom: 30px;
  width: 100%;
  max-width: 1920px;
  z-index: 99;
  pointer-events: none;
}

@media screen and (max-width:680px) {
  #scroll_top_fixed {
    bottom: 10px;
  }
}

.scroll_top {
  position: relative;
  margin: 0 20px 0 auto;
  width: 150px;
  opacity: 0;
}

@media screen and (max-width:880px) {
  .scroll_top {
    width: 100px;
  }
}

@media screen and (max-width:680px) {
  .scroll_top {
    margin: 0 10px 0 auto;
    width: 80px;
  }
}

.scroll_view {
  opacity: 1;
}

.scroll_top img {
  width: 100px;
}

.back_to_top_img {
  display: block;
  width: 150px;
  height: 150px;
  background: url("../images/back_to_top_001.png") no-repeat center;
  background-size: contain;
  pointer-events: auto;
  animation: rotate 12s infinite linear;
}

.back_to_top_img.change {
  display: block;
  width: 150px;
  height: 150px;
  background: url("../images/back_to_top_002.png") no-repeat center;
  background-size: contain;
  pointer-events: auto;
  animation: rotate 12s infinite linear;
}

@media screen and (max-width:880px) {
  .back_to_top_img {
    width: 100px;
    height: 100px;
  }

  .back_to_top_img.change {
    width: 100px;
    height: 100px;
  }
}

@media screen and (max-width:680px) {
  .back_to_top_img {
    width: 80px;
    height: 80px;
  }

  .back_to_top_img.change {
    width: 80px;
    height: 80px;
  }
}

@keyframes rotate {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

/* ===================================================
 *  Header Style
====================================================== */

/*  Header Style
====================================================== */
#top_head {
  position: fixed;
  width: 100%;
  max-width: 1920px;
  height: 60px;
  line-height: 1.5;
  z-index: 99999;
}

.home #top_head {
  opacity: 0;
  animation-name: top_headAnime;
  animation-delay: 2s;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes top_headAnime {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

#top_head .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto;
  width: 90%;
}

@media screen and (max-width:1200px) {
  #top_head .inner {
    width: 96%;
  }
}

#top_head.change_color {
  background: rgba(255, 255, 255, 1);
  transition: 0.5s;
}

@media screen and (max-width:680px) {
  #top_head {
    display: flex;
    height: 60px;
    background-color: transparent;
  }
}

/*  Logo Style
====================================================== */
.inner .logo {
  z-index: 9999;
  display: none;
}

.inner .logo img {
  max-width: 400px;
  height: 80px;
}

@media screen and (max-width:680px) {
  .inner .logo img {
    height: 50px;
  }
}

.inner .logo-title a {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 3.8rem;
  font-weight: bold;
  text-decoration: none;
  color: #222;
}

@media screen and (max-width:680px) {
  .inner .logo-title a {
    font-size: 3.2rem;
  }
}

/*  Nav List Style
====================================================== */
#top_head nav ul {
  display: flex;
  justify-content: flex-end;
  list-style-type: none;
  margin: 4px 0;
  overflow: hidden;
}

#top_head .pr {
  padding: 8px 16px 0 16px;
  font-size: 1.2rem;
  text-align: right;
}

@media screen and (max-width:1025px) {
  #top_head .pr {
    display: none;
  }
}

/* nav link style
------------------------------------------------------ */
#top_head nav ul li a {
  margin: 0px 10px 8px 10px;
  font-size: 1.8rem;
  text-decoration: none;
  color: #222;
  /* font style */
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width:1200px) {
  #top_head nav ul li a {
    margin: 0px 6px 8px 6px;
    font-size: 1.7rem;
  }
}

#top_head nav ul li:last-child a {
  position: relative;
  margin: 0px 10px 8px 10px;
  padding-left: 20px;
  font-size: 1.8rem;
  text-decoration: none;
  color: #ff0000;
  /* font style */
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-style: normal;
  font-weight: 400;
}

@media screen and (max-width:1200px) {
  #top_head nav ul li:last-child a {
    margin: 0px 6px 8px 6px;
    font-size: 1.7rem;
  }
}

@media screen and (max-width:1025px) {
  #top_head .pr {
    display: none;
  }
}

#top_head nav ul li:last-child {
  /* animation */
  animation-name: fuwafuwa;
  animation-delay: 5.0s;
  animation-duration: 5.0s;
  animation-iteration-count: infinite;
}

@keyframes fuwafuwa {
  0% {
    transform: scale(1.0);
  }

  80% {
    transform: scale(1.0);
  }

  87% {
    transform: scaleX(0.8);
  }

  90% {
    transform: scale(1.2);
  }

  93% {
    transform: scaleX(0.8);
  }

  100% {
    transform: scale(1.0);
  }
}

#top_head nav ul li:last-child a::before {
  content: '';
  position: absolute;
  background-image: url(../images/mail-icon.png);
  background-repeat: no-repeat;
  background-size: 22px;
  top: 4px;
  left: -6px;
  width: 22px;
  height: 22px;
}

.active {
  color: #fff !important;
}

#top_head nav ul li a:hover {
  opacity: 0.7;
}

#nav_toggle {
  display: none;
}

#top_head .sp-nav {
  display: none;
}

@media screen and (max-width:1025px) {
  #top_head nav {
    display: none;
  }

  /* hamburger menu style
  ------------------------------------------------------ */
  #nav_toggle {
    display: block;
    width: 30px;
    height: 30px;
    position: relative;
    top: 4px;
    z-index: 9999;
  }

  #nav_toggle div {
    position: relative;
  }

  /* hamburger menu close style
  ------------------------------------------------------ */
  #nav_toggle span {
    display: block;
    height: 2px;
    background: #222;
    position: absolute;
    width: 100%;
    left: 0;
    -webkit-transition: 0.5s ease-in-out;
    -moz-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
  }

  #nav_toggle span:nth-child(1) {
    top: 0px;
  }

  #nav_toggle span:nth-child(2) {
    top: 10px;
  }

  #nav_toggle span:nth-child(3) {
    top: 20px;
  }

  /* hamburger menu open style
  ------------------------------------------------------ */
  .open #nav_toggle span:nth-child(1) {
    top: 10px;
    -webkit-transform: rotate(135deg);
    -moz-transform: rotate(135deg);
    transform: rotate(135deg);
  }

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

  .open #nav_toggle span:nth-child(3) {
    top: 10px;
    -webkit-transform: rotate(-135deg);
    -moz-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  /* sp nav style
  ------------------------------------------------------ */
  #top_head .sp-nav {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    overflow: auto;
    /* nav move */
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.3s ease, visibility 0.3s ease;
  }

  #top_head .sp-nav ul {
    display: block;
    margin: 100px auto 0 auto;
    padding: 0;
    width: 140px;
  }

  #top_head .sp-nav ul li {
    margin: 30px 0;
    text-align: left;
    overflow: hidden;
  }

  /* sp nav link style
  ------------------------------------------------------ */
  #top_head .sp-nav ul li a {
    display: inline-block;
    font-size: 2.0rem;
    text-decoration: none;
    color: #222;
    /* font style */
    font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
    font-style: normal;
    font-weight: 400;
    /*nav move*/
    transform: translateY(-120%);
    transition: transform 0.3s ease;
  }

  /* nav move */
  #top_head .sp-nav ul li:nth-child(2) a {
    transition-delay: 0.1s;
  }

  #top_head .sp-nav ul li:nth-child(3) a {
    transition-delay: 0.2s;
  }

  #top_head .sp-nav ul li:nth-child(4) a {
    transition-delay: 0.3s;
  }

  #top_head .sp-nav ul li:nth-child(5) a {
    transition-delay: 0.4s;
  }

  #top_head .sp-nav ul li:nth-child(6) a {
    transition-delay: 0.5s;
  }

  #top_head .sp-nav ul li:nth-child(7) a {
    transition-delay: 0.6s;
  }

  #top_head .sp-nav ul li:nth-child(8) a {
    transition-delay: 0.7s;
  }

  #top_head .sp-nav ul li:nth-child(9) a {
    transition-delay: 0.8s;
  }

  #top_head .sp-nav ul li:last-child a {
    position: relative;
    padding-left: 28px;
    font-size: 1.8rem;
    text-decoration: none;
    color: #ff0000;
  }

  #top_head .sp-nav ul li:last-child a::before {
    content: '';
    position: absolute;
    background-image: url(../images/mail-icon.png);
    background-repeat: no-repeat;
    background-size: 22px;
    top: 4px;
    left: 0px;
    width: 22px;
    height: 22px;
  }

  .nav-open {
    overflow: hidden;
  }

  .nav-open #top_head .sp-nav {
    visibility: visible;
    opacity: 1;
  }

  .nav-open #top_head .sp-nav ul li a {
    transform: translateX(0);
  }
}

/* ===================================================
 *  Footer Style
====================================================== */

/* Footer Style
====================================================== */
footer {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
  width: 100%;
  max-width: 1920px;
  overflow: hidden;
}

.footer_img {
  position: relative;
  height: 300px;
}

@media screen and (max-width:880px) {
  .footer_img {
    height: 200px;
  }
}

@media screen and (max-width:680px) {
  .footer_img {
    height: 150px;
  }
}

@media screen and (max-width:480px) {
  .footer_img {
    height: 100px;
  }
}

.footer_img img {
  width: 50%;
}

.simpleParallax {
  text-align: center;
}

.footer_content {
  position: relative;
  height: 400px;
  background-color: #000;
}

@media screen and (max-width:680px) {
  .footer_content {
    height: 650px;
  }
}

@media screen and (max-width:480px) {
  .footer_content {
    height: 550px;
  }
}

/* Footer Nav List Style
====================================================== */
.f-menu ul {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0;
  padding: 32px 0 0 0;
}

@media screen and (max-width:680px) {
  .f-menu ul {
    display: block;
  }

  .f-menu ul li {
    margin: 16px 0;
  }
}

.f-menu ul li a {
  margin: 0 16px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
}

@media screen and (max-width:880px) {
  .f-menu ul li a {
    margin: 0 6px;
  }
}

.f-menu ul li:last-child a {
  position: relative;
  padding-left: 16px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 1.8rem;
  font-weight: bold;
  color: #ff0000;
}

.f-menu ul li:last-child a::before {
  content: '';
  position: absolute;
  background-image: url(../images/mail-icon.png);
  background-repeat: no-repeat;
  background-size: 22px;
  top: 4px;
  left: -8px;
  width: 22px;
  height: 22px;
}

/* Footer Contents
====================================================== */
.corporate_name {
  position: absolute;
  width: 100%;
  text-align: center;
  bottom: 22px;
}

.corporate_name p {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #fff;
  font-size: 14em;
  line-height: 1;
}

@media screen and (max-width:1025px) {
  .corporate_name p {
    font-size: 10em;
  }
}

@media screen and (max-width:880px) {
  .corporate_name p {
    font-size: 8em;
  }
}

@media screen and (max-width:680px) {
  .corporate_name p {
    font-size: 6em;
  }
}

@media screen and (max-width:480px) {
  .corporate_name p {
    font-size: 4.5em;
  }
}

.obj_8 {
  transition: 0.5s ease-in-out;
}

.obj_8.show_text {
  animation-name: fadein_text;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  z-index: 9;
}

@keyframes fadein_text {
  from {
    transform: translatey(200px);
  }

  to {
    transform: translatey(0);
  }
}

/* Copyright
====================================================== */
.copyright {
  position: absolute;
  bottom: 0;
  width: 100%;
  padding-bottom: 10px;
  text-align: center;
}

.copyright p {
  font-size: 1.2rem;
  color: #707070;
}

@media screen and (max-width:680px) {
  .copyright p {
    font-size: 1.0rem;
  }
}

/* ===================================================
 *  Top Contents Style
====================================================== */

/*  About Animation Style
====================================================== */
.article_2 {
  overflow: hidden;
}

.show_scale {
  position: relative;
  display: none;
  width: 100vw;
  max-width: 1920px;
  height: 100px;
  opacity: 0;
}

.show_scale.show_scale_show {
  position: fixed;
  display: block;
  top: 0;
  width: 100vw;
  height: 100vh;
  max-width: 1920px;
  background-color: rgba(255, 255, 255, 0.6);
  overflow: hidden;
  z-index: 999;
  /* animation */
  animation-name: show_scale;
  animation-duration: 0.5s;
  animation-timing-function: ease-in;
  animation-fill-mode: forwards;
}

@keyframes show_scale {
  0% {
    opacity: 0;
    transform: scale(0);
  }

  100% {
    opacity: 1;
    transform: scale(1);
  }
}

.show_scale.show_scale_close {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  max-width: 1920px;
  background-color: rgba(255, 255, 255, 0.6);
  overflow: hidden;
  z-index: 999;
  /* animation */
  animation-name: close_scale;
  animation-duration: 0.5s;
  animation-timing-function: ease-out;
  animation-fill-mode: forwards;
  opacity: 1;
}

@keyframes close_scale {
  0% {
    display: block;
    opacity: 1;
    transform: scale(1);
  }

  100% {
    opacity: 0;
    transform: scale(0);
    display: none;
  }
}

.slide_text_wrap {
  position: relative;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-10deg);
  z-index: 999;
}

.slide_text_1 {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  transform: translateX(-100%);
}

.slide_text_1 li {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #000;
  color: #fff;
  font-size: 14em;
  line-height: 1;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  /* animation */
  animation: flowing_r 16s linear infinite;
}

@keyframes flowing_r {
  100% {
    transform: translateX(100%);
  }
}

.slide_text_2 {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  transform: translateX(0%);
}

.slide_text_2 li {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #000;
  color: #fff;
  font-size: 14em;
  line-height: 1;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  /* animation */
  animation: flowing_l 16s linear infinite;
}

@keyframes flowing_l {
  100% {
    transform: translateX(-100%);
  }
}

.slide_text_3 {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  transform: translateX(-100%);
}

.slide_text_3 li {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #000;
  color: #222;
  font-size: 14em;
  line-height: 1;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  /* animation */
  animation: flowing_r 16s linear infinite;
}

@keyframes flowing_r {
  100% {
    transform: translateX(100%);
  }
}

.slide_text_4 {
  display: flex;
  list-style: none;
  padding-inline: 0;
  margin-inline: 0;
  gap: 0;
  position: relative;
  left: calc(50% - 50vw);
  width: 100vw;
  transform: translateX(-100%);
}

.slide_text_4 li {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  -webkit-text-stroke-width: 1px;
  -webkit-text-stroke-color: #000;
  color: #808080;
  font-size: 14em;
  line-height: 1;
  white-space: nowrap;
  padding: 0 1em 0 0;
  margin: 0;
  /* animation */
  animation: flowing_l 16s linear infinite;
}

@keyframes flowing_l {
  100% {
    transform: translateX(-100%);
  }
}

.about_top {
  position: absolute;
  padding: 60px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 60%;
  background-color: #fff;
  border: 1px solid #000;
  box-shadow: 10px 10px 15px -10px;
  z-index: 99999;
}

@media screen and (max-width:880px) {
  .about_top {
    padding: 40px;
    width: 70%;
  }
}

@media screen and (max-width:680px) {
  .about_top {
    width: 80%;
  }
}

@media screen and (max-width:480px) {
  .about_top {
    padding: 40px 20px;
    width: 84%;
  }
}

.home h2 {
  margin-bottom: 20px;
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  color: #222;
  font-size: 4.5rem;
  font-weight: bold;
  line-height: 1;
}

@media screen and (max-width:680px) {
  .home h2 {
    margin-bottom: 15px;
    font-size: 3.8rem;
  }
}

@media screen and (max-width:480px) {
  .home h2 {
    margin-bottom: 10px;
    font-size: 3.4rem;
  }
}

p.summary_top {
  font-size: 2.4rem;
  font-weight: bold;
  line-height: 1.6;
  color: #222;
  background-color: rgba(255, 255, 255, 0.2);
}

@media screen and (max-width:880px) {
  p.summary_top {
    font-size: 2.0rem;
  }
}

@media screen and (max-width:680px) {
  p.summary_top {
    font-size: 1.8rem;
    line-height: 1.5;
  }
}

@media screen and (max-width:480px) {
  p.summary_top {
    font-size: 1.6rem;
    line-height: 1.4;
  }
}

/*  Strong Animation Style
====================================================== */
.article_3 {
  margin-top: 200px;
}

.article_3 img {
  width: 100%;
}

.obj_1,
.obj_2,
.obj_3,
.obj_4,
.obj_5,
.obj_6,
.obj_7 {
  transition: 0.5s ease-in-out;
  transform: translateY(30px);
  opacity: 0;
  overflow: hidden;
}

.obj_3 img {
  margin-top: 200px;
}

@media screen and (max-width:1025px) {
  .obj_3 img {
    margin-top: 300px;
  }
}

@media screen and (max-width:880px) {
  .obj_2 img {
    margin-top: 100px;
  }

  .obj_3 img {
    margin-top: 200px;
  }
}

@media screen and (max-width:680px) {
  .obj_3 img {
    margin-top: 250px;
  }
}

@media screen and (max-width:480px) {
  .obj_1 img {
    width: 120%;
    transform: translateX(-10%)
  }

  .obj_2 img {
    width: 120%;
    transform: translateX(-10%)
  }

  .obj_3 img {
    margin-top: 200px;
    width: 120%;
    transform: translateX(-10%)
  }
}

.obj_1.show,
.obj_2.show,
.obj_3.show,
.obj_4.show,
.obj_5.show,
.obj_6.show,
.obj_7.show {
  animation-name: fadein_img;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  z-index: 9;
}

@keyframes fadein_img {
  from {
    opacity: 0;
    transform: translatey(80px);
  }

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

.section_top {
  position: relative;
}

.simpleParallax {
  overflow: visible !important;
}

.thumbnail {
  position: absolute;
  height: 50vw;
}

.section_text_r {
  top: 250px;
  right: 5%;
  width: 600px;
}

@media screen and (max-width:1025px) {
  .section_text_r {
    top: 200px;
  }
}

@media screen and (max-width:880px) {
  .section_text_r {
    top: 150px;
    width: 500px;
  }
}

@media screen and (max-width:680px) {
  .section_text_r {
    width: 65%;
  }
}

@media screen and (max-width:480px) {
  .section_text_r {
    right: 2.5%;
    width: 70%;
  }
}

.section_text_l {
  top: 250px;
  left: 5%;
  width: 600px;
}

@media screen and (max-width:1025px) {
  .section_text_l {
    top: 200px;
  }
}

@media screen and (max-width:880px) {
  .section_text_l {
    width: 500px;
  }
}

@media screen and (max-width:680px) {
  .section_text_l {
    top: 250px;
    width: 65%;
  }
}

@media screen and (max-width:480px) {
  .section_text_l {
    left: 2.5%;
    width: 70%;
  }
}

.section_text_rr {
  top: 200px;
  right: 5%;
  width: 400px;
}

@media screen and (max-width:1025px) {
  .section_text_rr {
    width: 350px;
  }
}

@media screen and (max-width:880px) {
  .section_text_rr {
    top: 500px;
    right: auto;
    left: 5%;
    width: 500px;
  }
}

@media screen and (max-width:680px) {
  .section_text_rr {
    width: 65%;
  }
}

@media screen and (max-width:480px) {
  .section_text_rr {
    top: 450px;
    left: 2.5%;
    width: 70%;
  }
}

.section_text_ll {
  top: 100px;
  left: 5%;
  width: 400px;
}

@media screen and (max-width:1025px) {
  .section_text_ll {
    width: 350px;
  }
}

@media screen and (max-width:880px) {
  .section_text_ll {
    top: 100px;
    left: auto;
    right: 5%;
    width: 500px;
  }
}

@media screen and (max-width:680px) {
  .section_text_ll {
    width: 65%;
  }
}

@media screen and (max-width:480px) {
  .section_text_ll {
    right: 2.5%;
    width: 70%;
  }
}

/* Gradient Title Style
------------------------------------------------------ */
.gradient_title {
  animation: AnimationTitle 5s ease infinite;
  background: linear-gradient(to right, #222, #cc0033, #003366);
  background-size: 200% 100%;
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

@keyframes AnimationTitle {
  0% {
    background-position: 0% 50%;
  }

  50% {
    background-position: 100% 50%;
  }

  100% {
    background-position: 0% 50%;
  }
}

/*  Top Img Style
====================================================== */
#hwrapper {
  width: 100%;
  position: relative;
}

@media screen and (max-width:680px) {
  #hwrapper {
    width: 100%;
    height: 100vh;
    position: relative;
    overflow: hidden;
  }
}

.swiper-slide {
  overflow: hidden;
}

.swiper-slide img {
  left: 0;
  top: 0;
  width: 100%;
  object-fit: cover;
}

@keyframes name {
  0% {
    transform: translateX(0%);
  }

  100% {
    transform: translateX(100%);
  }
}

/* slider-wrapper style
------------------------------------------------------ */
.slider-wrapper {
  display: flex;
  margin: 80px 0;
  align-items: center;
  justify-content: center;
  overflow-x: hidden;
}

@media screen and (max-width:680px) {
  .slider-wrapper {
    margin: 40px 0;
  }
}

.slider-inner {
  width: 100%;
  max-width: 1920px;
}

.slide>span {
  display: flex;
  align-items: center;
  /* justify-content: center; */
  margin: 0 10px;
}

@media screen and (max-width:480px) {
  .slide>span {
    margin: 0;
  }
}

.slide img {
  width: 100%;
  height: auto;
}

.slide a {
  color: #222;
  font-size: 1.4rem;
  font-weight: bold;
}

.slick-list {
  overflow: visible;
}

.slick-arrow {
  z-index: 99 !important;
}

.slick-prev {
  left: 30px !important;
}

@media screen and (max-width:480px) {
  .slick-prev {
    left: 10px !important;
  }
}

.slick-prev:before {
  font-size: 40px !important;
}

.slick-next {
  right: 40px !important;
}

@media screen and (max-width:480px) {
  .slick-next {
    right: 30px !important;
  }
}

.slick-next:before {
  font-size: 40px !important;
}

.slick-disabled {
  display: none !important;
}

.slick-dots {
  bottom: -25px;
}

.slick-dots li,
.slick-dots li button,
.slick-dots li button::before {
  width: 12px;
  height: 12px;
}

.slick-dots li {
  margin: 0 7px;
}

.slick-dots li button {
  background-color: #fff;
  opacity: .8;
  border-radius: 100%;
}

.slick-dots li.slick-active button {
  opacity: .4;
}

.slick-dots li button::before {
  content: '';
}

/* Top News Style
====================================================== */

/* Top News Style
------------------------------------------------------ */
.top-news {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding: 40px 10% 120px;
  width: 80%;
}

@media screen and (max-width:1025px) {
  .top-news {
    padding: 120px 5%;
    width: 90%;
  }
}

.top-news .slide-in {
  display: block;
  margin: 0 auto;
  width: 400px;
  text-align: center;
}

@media screen and (max-width:480px) {
  .top-news .slide-in {
    width: 300px;
  }
}

.top-news .section-sub-title {
  margin: 0 auto;
}

.top-news .contents-title {
  margin: 60px auto;
  text-align: center;
  /* font style */
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-style: normal;
  font-size: 5.5rem;
  font-weight: 400;
}

@media screen and (max-width:680px) {
  .top-news .contents-title {
    margin: 40px auto;
    font-size: 4.0rem;
  }
}

.top-news .contents-title-position {
  padding: 2em 0;
  width: 100%;
}

.notice {
  display: flex;
  margin: 0;
  padding: 3.5em 0;
  width: 100%;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  margin-bottom: -1px;
  align-items: center;
}

@media screen and (max-width:880px) {
  .notice {
    margin: 0;
    width: 100%;
    margin-bottom: -1px;
  }
}

@media screen and (max-width:680px) {
  .notice {
    display: flex;
    flex-flow: column;
  }
}

.notice a {
  font-size: 1.5rem;
  font-weight: bold;
  color: #222;
}

@media screen and (max-width:680px) {
  .notice a {
    font-size: 1.4rem;
  }
}

.top-news .article-time {
  padding: 0 0 0 10%;
  width: 15%;
  font-weight: bold;
}

@media screen and (max-width:880px) {
  .top-news .article-time {
    padding: 0 0 0 5%;
  }
}

@media screen and (max-width:680px) {
  .top-news .article-time {
    width: 100%;
  }
}

.top-news .article-title {
  width: 70%;
}

@media screen and (max-width:880px) {
  .top-news .article-title {
    width: 95%;
  }
}

.top-news .btn-layout {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ===================================================
 *  Page Style
====================================================== */

/* Page Header Style
====================================================== */

/* Page Section Title
------------------------------------------------------ */
.page_title {
  position: absolute;
  padding: 12% 5% 0;
  width: 90%;
}

@media screen and (max-width:1025px) {
  .page_title {
    width: 90%;
  }
}

@media screen and (max-width:680px) {
  .page_title {
    padding: 15% 2.5% 0;
    width: 95%;
  }
}

.page_main_title p {
  font-family: Impact, Haettenschweiler, 'Arial Narrow Bold', sans-serif;
  font-size: 5.0rem;
  color: #222;
}

@media screen and (max-width:1025px) {
  .page_main_title p {
    font-size: 4.2rem;
  }
}

@media screen and (max-width:680px) {
  .page_main_title p {
    font-size: 3.2rem;
  }
}

.page_main_title span {
  color: #fff;
}

/* page section sub title
------------------------------------------------------ */
.page_sub_title p {
  font-size: 1.8rem;
}

@media screen and (max-width:1025px) {
  .page_sub_title p {
    font-size: 1.6rem;
  }
}

@media screen and (max-width:680px) {
  .page_sub_title p {
    font-size: 1.4rem;
  }
}

/* Page Section Excerpt
------------------------------------------------------ */
.page_excerpt {
  position: absolute;
  padding: 23% 5% 0;
  width: 40%;
  color: #222;
}

@media screen and (max-width:1025px) {
  .page_excerpt {
    width: 45%;
  }
}

@media screen and (max-width:880px) {
  .page_excerpt {
    padding: 25% 5% 0;
    width: 50%;
  }
}

@media screen and (max-width:680px) {
  .page_excerpt {
    position: relative;
    padding: 20px 5% 0;
    width: 90%;
  }
}

.page_excerpt p {
  font-size: 1.5rem;
}

@media screen and (max-width:680px) {
  .page_excerpt p {
    font-size: 1.4rem;
  }
}

/* Page Section Img
------------------------------------------------------ */
.page_thumbnail img {
  width: 100%;
  height: auto;
}

/* Page Contents Style
====================================================== */
.contents {
  margin: 100px 10%;
}

@media screen and (max-width:1200px) {
  .contents {
    margin: 100px 8%;
  }
}

@media screen and (max-width:1025px) {
  .contents {
    margin: 100px 5%;
  }
}

@media screen and (max-width:880px) {
  .contents {
    margin: 80px 5%;
  }
}

@media screen and (max-width:680px) {
  .contents {
    margin: 60px 5%;
  }
}

.page .page-contents h2 {
  position: relative;
  margin-bottom: 40px;
  font-size: 2.8rem;
  line-height: 1.5em;
  border-bottom: solid 4px #000;
}

.page .page-contents h2:after {
  content: " ";
  display: block;
  position: absolute;
  border-bottom: solid 4px #ff0000;
  bottom: -4px;
  width: 10%;
}

.page .page-contents h3 {
  margin-bottom: 20px;
  font-size: 2.2rem;
  line-height: 1.5em;
  padding: 0.5em;
  background: #222;
  border-left: solid 5px #ff0000;
  color: #fff;
}

.page .page-contents h4 {
  margin-bottom: 20px;
  font-size: 2.0rem;
  line-height: 1.5em;
}

.page .page-contents h5 {
  position: relative;
  padding-left: 2.0em;
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5em;
  background-image: url(../images/retenn.png);
  background-repeat: no-repeat;
  background-position: -8px 50%;
  background-size: 50px 50px;
}

.page .page-contents h6 {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.5em;
}

.page .page-contents p {
  font-size: 1.4rem;
}

.page .page-contents a {
  color: #222;
}

.page .page-contents u {
  color: #ff0000;
}

@media screen and (max-width:680px) {
  .page .page-contents h2 {
    font-size: 2.4rem;
  }

  .page .page-contents h3 {
    font-size: 2.0rem;
  }

  .page .page-contents h4 {
    font-size: 1.8rem;
  }

  .page .page-contents h5 {
    font-size: 1.6rem;
  }

  .page .page-contents h6 {
    font-size: 1.5rem;
  }

  .page .page-contents p {
    font-size: 1.4rem;
  }
}

.page .page-contents h4 a {
  margin-bottom: 20px;
  font-size: 2.0rem;
  line-height: 1.5em;
}

.page .page-contents h5 a {
  position: relative;
  padding-left: 2.0em;
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5em;
  background-image: url(../images/retenn.png);
  background-repeat: no-repeat;
  background-position: -8px 50%;
  background-size: 50px 50px;
}

.page .page-contents h6 a {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.5em;
}

.page .page-contents p a {
  font-size: 1.4rem;
}

@media screen and (max-width:680px) {

  .page .page-contents h4 a {
    font-size: 1.8rem;
  }

  .page .page-contents h5 a {
    font-size: 1.6rem;
  }

  .page .page-contents h6 a {
    font-size: 1.5rem;
  }

  .page .page-contents p a {
    font-size: 1.4rem;
  }
}

.page .page-contents .wp-block-column .wp-block-image img {
  border: solid 1px #a9a9a9;
}

/* Page TOC Table of Contents
====================================================== */
.page .page-contents ul.toc_area {
  display: block;
  padding: 0;
  height: 100px;
}

.page .page-contents ul.toc_area li {
  margin-right: 20px;
  float: left;
  font-size: 1.8rem;
  font-weight: bold;
}

.page .page-contents ul.toc_area li a {
  position: relative;
  padding-left: 18px;
  float: left;
  font-size: 1.8rem;
  font-weight: bold;
}

.page .page-contents ul.toc_area li a::before {
  content: '▼';
  position: absolute;
  left: -2px;
  line-height: 1.5;
}

/* Page About Style
====================================================== */

.about .page-contents .wp-block-table {
  margin: 0 0%;
}

.about .page-contents .wp-block-table table {
  margin: 0px auto;
  width: 80%;
  border-top: 1px solid #000;
}

@media screen and (max-width:880px) {
  .about .page-contents .wp-block-table table {
    margin: 0;
    width: 100%;
  }
}

.about .page-contents .wp-block-table table th,
.about .page-contents .wp-block-table table td {
  border: none !important;
}

.about .page-contents .wp-block-table table tr td {
  padding: 4% 0 4% 6%;
  font-size: 1.4rem;
  text-align: left;
  border-bottom: 1px solid #000 !important;
}

.about .page-contents .wp-block-table table td:nth-child(1) {
  width: 20%;
}

.about .page-contents .wp-block-table table td:nth-child(2) {
  width: 80%;
}

.about .page-contents .wp-block-table table td iframe {
  width: 94%;
}

@media screen and (max-width:680px) {
  .about .page-contents .wp-block-table table tr td {
    display: block;
  }

  .about .page-contents .wp-block-table table td:nth-child(1) {
    padding: 4% 0 2% 2%;
    width: 98%;
    border-bottom: none !important;
  }

  .about .page-contents .wp-block-table table td:nth-child(2) {
    padding: 0 0 4% 2%;
    width: 98%;
  }

  .about .page-contents .wp-block-table table td:last-child {
    border-bottom: 1px solid #000 !important;
  }

  .about .page-contents .wp-block-table table td iframe {
    width: 98%;
  }
}

.wp-block-columns.is-layout-flex {
  gap: 4em;
}

@media screen and (max-width:1025px) {
  .wp-block-columns.is-layout-flex {
    gap: 2em;
  }
}

.wp-block-columns p {
  font-size: 1.4rem;
}

.wp-block-columns a strong {
  font-size: 1.4rem;
  font-weight: bold;
}

@media screen and (max-width:680px) {
  .pricelist {
    overflow-x: scroll;
    padding-right: 10px;
  }
}

.wp-block-table.is-style-pricelist {
  box-shadow: 10px 10px 10px -10px;
}

@media screen and (max-width:680px) {
  .wp-block-table.is-style-pricelist {
    width: 700px;
  }
}

.wp-block-table.is-style-pricelist th,
.wp-block-table.is-style-pricelist td {
  height: 50px;
  border: solid 1px;
  font-size: 1.4rem;
}

@media screen and (max-width:680px) {

  .wp-block-table.is-style-pricelist th,
  .wp-block-table.is-style-pricelist td {
    font-size: 1.2rem;
  }
}

.wp-block-table.is-style-pricelist th sub,
.wp-block-table.is-style-pricelist td sub {
  font-size: 1.0rem;
}

.wp-block-table.is-style-pricelist td:nth-of-type(1) {
  width: 25%;
}

.wp-block-table.is-style-pricelist td:nth-of-type(2) {
  width: 20%;
  text-align: center;
  background-color: #f5f5f5;
}

.price {
  margin: 0 10%;
  width: 80%;
}

@media screen and (max-width:680px) {
  .price {
    margin: 0;
    width: 100%;
    overflow-x: scroll;
  }
}

@media screen and (max-width:680px) {
  .wp-block-table.is-style-price {
    width: 600px;
  }
}

.wp-block-table.is-style-price p.total {
  font-size: 3.2rem;
}

.wp-block-table.is-style-price p.caution {
  font-size: 1.4rem;
  color: #555;
}

.wp-block-table.is-style-price p sub {
  font-size: 1.4rem;
}

.wp-block-table.is-style-price th,
.wp-block-table.is-style-price td {
  padding-left: 2%;
  padding-right: 2%;
  height: 40px;
  border-top: solid 1px #555;
  border-bottom: solid 1px #555;
  border-right: none;
  border-left: none;
  font-size: 1.4rem;
}

@media screen and (max-width:680px) {

  .wp-block-table.is-style-price th,
  .wp-block-table.is-style-price td {
    height: 26px;
    font-size: 1.2rem;
  }
}

.wp-block-table.is-style-price th sub,
.wp-block-table.is-style-price td sub {
  font-size: 1.0rem;
}

.wp-block-table.is-style-price td.rd-layer {
  text-align: center;
}

.planlist {
  overflow-x: scroll;
}

.planlist-scroll {
  display: flex;
  gap: 1em;
}

@media screen and (max-width:880px) {
  .planlist-scroll {
    width: 980px;
    padding-right: 10px;
  }
}

.wp-block-table.is-style-plan {
  padding: 1% 2%;
  flex-grow: 1;
  border: solid 1px #000;
  box-shadow: 10px 10px 10px -10px;
}

.wp-block-table.is-style-plan th,
.wp-block-table.is-style-plan td {
  border: none;
}

.wp-block-table.is-style-plan tr:nth-of-type(1) {
  height: 60px;
  font-size: 1.4rem;
  text-align: center;
}

.wp-block-table.is-style-plan tr:nth-of-type(1) td {
  position: relative;
}

.wp-block-table.is-style-plan tr:nth-of-type(1) td::after {
  content: '';
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 4px;
  width: 50px;
  background-color: #ff0000;
}

.wp-block-table.is-style-plan tr:nth-of-type(2) {
  font-size: 2.0rem;
  text-align: center;
}

.wp-block-table.is-style-plan tr:nth-of-type(3) {
  height: 120px;
  font-size: 1.2rem;
  vertical-align: top
}

.wp-block-table.is-style-plan tr:nth-of-type(4) {
  font-size: 1.1rem;
  color: #555;
  vertical-align: top
}

/* Page FAQ Style
====================================================== */
.accordion {
  margin: 10px 0;
  border: 1px solid #000;
  background: #f6f6f6;
}

.accordion__title {
  position: relative;
  padding: 15px 50px 15px 15px;
  color: #333;
  font-size: 1.6rem;
  font-weight: bold;
  cursor: pointer;
  background: #f6f6f6;
  transition: all 0.3s;
}

.accordion__title.active {
  color: #fff;
  background: #333;
}

.accordion__title::before,
.accordion__title::after {
  position: absolute;
  content: "";
  top: 0;
  bottom: 0;
  right: 12px;
  width: 12px;
  height: 2px;
  margin: auto 0;
  background-color: #000;
  transition: all 0.3s;
}

.accordion__title.active::before,
.accordion__title.active::after {
  background: #fff;
}

.accordion__title::after {
  transform: rotate(90deg);
}

.accordion__title.active::before {
  transform: rotate(180deg);
}

.accordion__title.active::after {
  transform: rotate(180deg);
  opacity: 0;
}

.accordion__content {
  position: relative;
  display: none;
  margin: 15px;
  padding: 15px;
  background: #fff;
  border-radius: 3px;
}

/* Page Privacy Policy Style
====================================================== */

.privacy .contents ol,
.privacy-policy .contents ol,
.security .contents ol {
  list-style-type: decimal;
}

.privacy .contents ol li,
.privacy-policy .contents ol li,
.security .contents ol li {
  padding: 10px 0;
  font-size: 1.5rem;
}

@media screen and (max-width:680px) {

  .privacy .contents ol li,
  .privacy-policy .contents ol li,
  .security .contents ol li {
    font-size: 1.4rem;
  }
}

.privacy .contents ol li ol,
.privacy-policy .contents ol li ol,
.security .contents ol li ol {
  padding: 0 0 0 40px;
}

.privacy .contents ol li ol li,
.privacy-policy .contents ol li ol li,
.security .contents ol li ol li {
  padding: 0;
}

.privacy .contents ul,
.privacy-policy .contents ul,
.security .contents ul {
  list-style-type: circle;
  padding: 0 0 0 40px;
}

.privacy .contents ul li,
.privacy-policy .contents ul li,
.security .contents ul li {
  padding: 0;
}

/* Mw Wp Form Style
====================================================== */
.mw_wp_form {
  margin: 0 0;
  width: 60%;
  overflow: hidden;
}

@media screen and (max-width:1280px) {
  .mw_wp_form {
    margin: 0 0;
    width: 70%;
  }
}

@media screen and (max-width:1025px) {
  .mw_wp_form {
    margin: 0 0;
    width: 90%;
  }
}

@media screen and (max-width:680px) {
  .mw_wp_form {
    margin: 0 0;
    width: 100%;
  }
}

.mw_wp_form .form_space {
  margin: 0 0 20px 0;
  font-size: 1.8rem;
}

@media screen and (max-width:680px) {
  .mw_wp_form .form_space {
    font-size: 1.6rem;
  }
}

/* 必須項目  */
.attention {
  position: absolute;
  margin: 4px 8px;
  padding: 0 4px;
  font-size: 1.0rem !important;
  line-height: 1.25;
  color: #fff;
  background-color: #ff0000;
  border: 1px solid #ff0000;
}

/* 任意項目  */
.any {
  position: absolute;
  margin: 4px 8px;
  padding: 0 4px;
  font-size: 1.0rem !important;
  line-height: 1.25;
  color: #222;
  border: 1px solid #000;
}

.mw_wp_form h2 {
  margin: 0 0 40px 0;
  font-size: 2.8rem;
}

@media screen and (max-width:680px) {
  .mw_wp_form h2 {
    margin: 0 0 20px 0;
    font-size: 2.4rem;
  }
}

.mw_wp_form input[type=text],
.mw_wp_form input[type=email],
.mw_wp_form input[type=url],
.mw_wp_form input[type=tel] {
  border-radius: 0;
}

.mw_wp_form input[type=text],
.mw_wp_form input[type=email],
.mw_wp_form input[type=url],
.mw_wp_form input[type=tel] {
  width: 100%;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 1px solid #000;
}

.mw_wp_form input[type='file'] {
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  margin: 0 0 20px 0;
  line-height: 1.0em;
  border: 1px solid #000;
  font-size: 1.8rem;
}

@media screen and (max-width:680px) {
  .mw_wp_form input[type='file'] {
    width: 90%;
    font-size: 1.6rem;
  }
}

.mw_wp_form input {
  padding: 4px 8px;
  font-size: 1.6rem;
  line-height: 2.0em;
}

@media screen and (max-width:680px) {
  .mw_wp_form input {
    margin: 0 0 20px 0;
    font-size: 1.6rem;
  }
}

.mw_wp_form input[type=checkbox] {
  border-radius: 0;
}

.mw_wp_form .confirm-hidden {
  accent-color: #ff0000;
}

.mw_wp_form textarea {
  padding: 4px 8px;
  width: 100%;
  font-size: 1.6rem;
  line-height: 2.0em;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 1px solid #000;
  border-radius: 0;
  resize: vertical;
}

@media screen and (max-width:680px) {
  .mw_wp_form textarea {
    font-size: 1.6rem;
  }
}

.mw_wp_form select {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.mw_wp_form select {
  padding: 4px 8px;
  width: 100%;
  height: 40px;
  font-size: 1.6rem;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  border: 1px solid #000;
  background-image: url(../images/triangle_01.svg);
  background-position: right 10px center;
  background-repeat: no-repeat;
  background-size: 13px 13px;
}

.mwform_select_style {
  color: #888;
}

#inquiry-detail {
  width: 100%;
}

.mw_wp_form [type=submit] {
  margin: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none;
}

.mw_wp_form .submit-btn .btn {
  display: block;
  position: relative;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  width: 250px;
  padding: 1.2rem 4rem;
  cursor: pointer;
  margin: 0 0 20px 0;
  font-size: 1.4rem;
  color: #fff;
  background: #222;
  transition: 0.3s ease-in-out;
}

.mw_wp_form .submit-btn .btn::before {
  content: '';
  position: absolute;
  top: 5px;
  left: -5px;
  width: calc(100% - 4px);
  height: calc(100% - 2px);
  border: 1px solid #444949;
  transition: 0.2s;
}

.mw_wp_form .submit-btn input:hover::before {
  top: 0;
  left: 0;
}

.mw_wp_form .submit-btn input:hover {
  opacity: 0.7;
}

@media screen and (max-width:480px) {
  .mw_wp_form .submit-btn .btn {
    width: 100%;
  }
}

input:focus,
textarea:focus,
select:focus {
  outline: 2px #ff0000 solid;
  outline-offset: -2px;
}

.mw_wp_form p,
.mw-wp-form_file {
  font-size: 1.6rem;
  padding-bottom: 10px;
}

@media screen and (max-width:680px) {

  .mw_wp_form p,
  .mw-wp-form_file {
    font-size: 1.6rem;
  }
}

.mw_wp_form_confirm p,
.mw-wp-form_file {
  color: #222;
}

.mw_wp_form label {
  font-size: 1.4rem;
  color: #222;
}

@media screen and (max-width:680px) {
  .mw_wp_form label {
    font-size: 1.4rem;
  }
}

.mw_wp_form span {
  font-size: 1.4rem;
}

@media screen and (max-width:680px) {
  .mw_wp_form span {
    font-size: 1.4rem;
  }
}

.mw_wp_form_confirm label {
  margin: 0 0 20px 0;
}

.mw_wp_form_confirm .confirm-hidden {
  display: none;
}

.mw_wp_form input [type='file'] {
  -webkit-appearance: none;
  border-radius: 0;
}

::file-selector-button,
::-webkit-file-upload-button {
  background-color: rgb(209, 213, 219);
  color: rgb(31, 41, 55);
  border: none;
  cursor: pointer;
  border-right: 1px solid rgb(191, 194, 199);
  padding: 0.25rem 1rem;
  margin-right: 1rem;
}

.mw_wp_form .error {
  font-size: 1.2rem !important;
  color: #ff0000 !important;
}

/* privacy policy確認画面非表示
------------------------------------------------------ */
.contact-confirm .js-mw-checkbox {
  display: none;
}

/* ===================================================
 *  Archive Style
====================================================== */

/*  content_blog style
========================================== */
/* .archive .page-contents .blog-list ul {
  display: flex;
  flex-wrap: wrap;
  margin: 60px auto;
  padding: 0;
  width: 80%;
}

.archive .page-contents .blog-list ul li {
  padding: 20px;
  width: 50%;
  list-style: none;
  box-sizing: border-box;
}

.archive .page-contents .blog-list ul li img {
  height: auto;
  max-width: 100%;
}

.archive .page-contents .article-list-title {
  margin: 10px 0;
}

.archive .page-contents .article-list-title a {
  font-size: 1.4rem;
  color: #444949;
}

@media screen and (max-width:1200px) {
  .archive .page-contents .blog-list ul {
    margin: 60px auto;
    width: 80%;
  }

  .archive .page-contents .blog-list ul li {
    padding: 10px;
  }
}

@media screen and (max-width:1025px) {
  .archive .page-contents .blog-list ul {
    margin: 60px auto;
    width: 80%;
  }

  .archive .page-contents .blog-list ul li {
    padding: 20px;
    width: 50%;
  }

  .archive .page-contents .article-list-title a {
    font-size: 1.2rem;
  }
}

@media screen and (max-width:880px) {
  .archive .page-contents .blog-list ul {
    margin: 60px 2.5%;
    width: 95%;
  }

  .archive .page-contents .blog-listv ul li {
    padding: 10px;
  }
}

@media screen and (max-width:680px) {
  .archive .page-contents .blog-list ul {
    margin: 60px 0;
    width: 100%;
  }

  .archive .page-contents .blog-list ul li {
    padding: 10px;
  }

  .archive .page-contents .article-list-title a {
    font-size: 1.0rem;
  }
}

@media screen and (max-width:480px) {
  .archive .page-contents .blog-list ul li {
    padding: 5px;
  }
} */

/* ===================================================
 *  Archive Style
====================================================== */

/* Archive Common Style
====================================================== */

/* Category List
------------------------------------------------------ */
.category_list ul {
  padding: 0;
  height: 60px;
}

.category_list ul li {
  float: left;
  margin-right: 20px;
  line-height: 1;
  list-style: none;
}

.category_list ul li a {
  font-size: 1.8rem;
  font-weight: bold;
  color: #222;
}

.category-works li a.works {
  color: #ff0000;
}

.category-corporate li a.corporate {
  color: #ff0000;
}

.category-recruit li a.recruit {
  color: #ff0000;
}

.category-column li a.column {
  color: #ff0000;
}

.category-website li a.website {
  color: #ff0000;
}

.category-seo li a.seo {
  color: #ff0000;
}

/* Blog List
------------------------------------------------------ */
.blog_list {
  margin-bottom: 20px;
}

.blog_list .blog_item img {
  width: 100%;
  height: auto;
}

/* Pagination
------------------------------------------------------ */
.archive .nav-links .page-numbers,
.search .nav-links .page-numbers {
  display: flex;
  flex-wrap: wrap;
  justify-content: right;
  margin: 0 auto;
}

.archive .nav-links a.page-numbers,
.search .nav-links a.page-numbers {
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 1.4rem;
  color: #707070;
}

.archive .nav-links a.prev,
.archive .nav-links a.next,
.search .nav-links a.prev,
.search .nav-links a.next {
  width: 60px;
}

.archive .nav-links .current,
.search .nav-links .current {
  width: 30px;
  height: 30px;
  text-align: center;
  line-height: 30px;
  font-size: 1.4rem;
  color: #ff0000;
}

/* No Article
------------------------------------------------------ */
.empty {
  position: relative;
  width: 100%;
  height: 100vh;
}

.empty p {
  position: absolute;
  width: 80%;
  height: auto;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  font-size: 1.6rem;
}

/*  Archive News Style
====================================================== */

.news_list {
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding: 0;
}

.news_list .contents-title-position {
  padding: 2em 0;
  width: 100%;
}

.news_list .news_item {
  display: flex;
  margin: 0;
  padding: 3.5em 0;
  width: 100%;
  border-top: 1px solid #222;
  border-bottom: 1px solid #222;
  margin-bottom: -1px;
  align-items: center;
}

@media screen and (max-width:880px) {
  .news_list .news_item {
    margin: 0;
    width: 100%;
    margin-bottom: -1px;
  }
}

@media screen and (max-width:680px) {
  .news_list .news_item {
    display: flex;
    flex-flow: column;
  }
}

.news_list .news_item a {
  font-size: 1.5rem;
  font-weight: bold;
  color: #222;
}

@media screen and (max-width:680px) {
  .news_list .news_item a {
    font-size: 1.4rem;
  }
}

.news_list .news_time {
  padding: 0 0 0 10%;
  width: 15%;
  font-weight: bold;
}

@media screen and (max-width:880px) {
  .news_list .news_time {
    padding: 0 0 0 5%;
  }
}

@media screen and (max-width:680px) {
  .news_list .news_time {
    width: 100%;
  }
}

.news_list .news_title {
  width: 70%;
}

@media screen and (max-width:880px) {
  .news_list .news_title {
    padding: 0 0 0 5%;
  }
}

@media screen and (max-width:680px) {
  .news_list .news_title {
    width: 100%;
  }
}

/*  Archive Works Style
====================================================== */

.works_list .blog_list {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  gap: 40px 2%;
}

@media screen and (max-width:880px) {
  .works_list .blog_list {
    grid-template-columns: 49% 49%;
  }
}

@media screen and (max-width:680px) {
  .works_list .blog_list {
    grid-template-columns: 100%;
  }
}

.works_list .blog_item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 4px;
}

.works_list .blog_thumbnail img {
  width: 100%;
  height: auto;
}

.works_list .blog_title {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #222;
}

.works_list .blog_catandtime {
  display: flex;
  align-items: center;
  font-size: 13px;
}

.works_list .blog_category {
  display: inline-block;
  background: #000;
  color: #fff;
  padding: 3px 7px;
  font-size: 11px;
  border-radius: 2px;
}

.works_list .blog_time {
  display: inline-block;
  margin-left: 9px;
  color: #000;
}

.clear {
  clear: both;
}

/* Archive Column Style
====================================================== */

.column_list .blog_list {
  display: grid;
  grid-template-columns: 32% 32% 32%;
  gap: 40px 2%;
}

@media screen and (max-width:880px) {
  .column_list .blog_list {
    grid-template-columns: 49% 49%;
  }
}

@media screen and (max-width:680px) {
  .column_list .blog_list {
    grid-template-columns: 100%;
  }
}

@media screen and (max-width:680px) {
  .single .column_list .blog_list {
    grid-template-columns: 49% 49%;
  }
}

.column_list .blog_item {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  gap: 4px;
}

.column_list .blog_list img {
  width: 100%;
  height: auto;
  border: solid 1px #a9a9a9;
  box-sizing: border-box;
}

.column_list .blog_title {
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  font-size: 1.4rem;
  line-height: 1.25;
  color: #222;
}

.column_list .blog_catandtime .blog_time {
  margin-bottom: 4px;
  font-size: 1.4rem;
  color: #707070;
}

.column_list .blog_list .blog_category {
  display: inline-block;
  padding: 3px 7px;
  font-size: 11px;
  color: #fff;
  border-radius: 2px;
  background: #000;
}

/* ===================================================
 *  Single Page Style (Common)
====================================================== */

/* Header Text (Common)
====================================================== */

.single .contents h1 {
  margin-bottom: 20px;
  font-size: 2.8rem;
  line-height: 1.5em;
}

.single .contents h2 {
  margin-bottom: 20px;
  font-size: 2.4rem;
  line-height: 1.5em;
  padding: 0.4em;
  background: #222;
  border-left: solid 10px #ff0000;
  color: #fff;
}

.single .contents h3 {
  position: relative;
  margin-bottom: 20px;
  font-size: 2.0rem;
  line-height: 1.5em;
  border-bottom: solid 4px #000;
}

.single .contents h3:after {
  content: " ";
  display: block;
  position: absolute;
  border-bottom: solid 4px #ff0000;
  bottom: -4px;
  width: 10%;
}

.single .contents h4 {
  margin-bottom: 20px;
  font-size: 2.0rem;
  line-height: 1.5em;
}

.single .contents h5 {
  margin-bottom: 20px;
  font-size: 1.8rem;
  line-height: 1.5em;
}

.single .contents h6 {
  margin-bottom: 20px;
  font-size: 1.6rem;
  line-height: 1.5em;
}

.single .contents p {
  margin-bottom: 20px;
  font-size: 1.5rem;
}

.single .contents a {
  color: #222;
}

.single .contents u {
  color: #007aff;
}

@media screen and (max-width:680px) {

  .single .contents h1 {
    font-size: 2.4rem;
  }

  .single .contents h2 {
    font-size: 2.0rem;
  }

  .single .contents h3 {
    font-size: 1.8rem;
  }

  .single .contents h4 {
    font-size: 1.6rem;
  }

  .single .contents h5 {
    font-size: 1.5rem;
  }

  .single .contents h6 {
    font-size: 1.4rem;
  }

  .single .contents p {
    font-size: 1.4rem;
  }

}

/* WordPress Block Style
====================================================== */

/*  WordPress Block Blog Card Style
------------------------------------------------------ */

.blog_card {
  display: grid;
  grid-template-columns: 30% 1fr;
  gap: 2%;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #222;
  box-sizing: border-box;
}

@media screen and (max-width:680px) {
  .blog_card {
    padding: 12px;
  }
}

.blog_card_category {
  display: inline-flex;
  position: relative;
  margin-bottom: 0;
  padding: .5em 1.0em;
  top: 1em;
  left: 20px;
  font-size: 1.2rem;
  color: #fff;
  text-align: center;
  line-height: 1;
  background-color: #222;
  border-radius: 2px;
  z-index: 1;
}

@media screen and (max-width:680px) {
  .blog_card_category {
    padding: .25em 1.0em;
    top: .8em;
    left: 12px;
    font-size: 1.1rem;
  }
}

.blog_card_thumbnail {
  margin: auto 0;
}

.blog_card_thumbnail img {
  width: 100%;
  height: auto;
  border: solid 1px #a9a9a9;
  box-sizing: border-box;
}

.blog_card_content {
  margin: auto 0;
}

.contents .blog_card_title p {
  margin-bottom: 10px;
  font-size: 1.4rem;
}

.contents .blog_card_excerpt p {
  margin-bottom: 0;
  font-size: 1.3rem;
  line-height: 1.25;
  color: #707070;
}

@media screen and (max-width:680px) {
  .contents .blog_card_excerpt {
    display: none;
  }
}

/* WordPress Block Table Style
------------------------------------------------------ */

.wp-block-table {
  margin-bottom: 20px;
}

.wp-block-table td,
.wp-block-table th {
  font-size: 1.5rem;
}

@media screen and (max-width:680px) {

  .wp-block-table td,
  .wp-block-table th {
    font-size: 1.4rem;
  }
}

/* WordPress Block List Style
------------------------------------------------------ */

ul.wp-block-list {
  list-style: square;
}

.wp-block-list li {
  position: relative;
  font-size: 1.5rem;
}

@media screen and (max-width:680px) {
  .wp-block-list li {
    font-size: 1.4rem;
  }
}

/*  pagenavi style
====================================================== */
.single-post .nav-links {
  margin: 100px 0;
  display: flex;
  font-size: 1.5rem;
}

@media screen and (max-width:680px) {
  .single-post .nav-links {
    font-size: 1.4rem;
  }
}

.single-post .nav-links div[class^="nav-"] {
  width: 50%;
}

.single-post .nav-links .nav-previous {
  border-right: 1px solid #000;
}

.single-post .nav-links .nav-next {
  margin-left: auto;
  border-left: 1px solid #000;
}

.single-post .nav-links .nav-previous+.nav-next {
  margin-left: -1px;
}

.single-post .nav-links a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.5em;
  color: #222;
}

/* ===================================================
 *  Single Page Style (works)
====================================================== */

/* works parallax
====================================================== */
.parallax_works_img {
  position: relative;
  margin: 80px 0;
  height: 320px;
  overflow: hidden;
}

@media screen and (max-width:880px) {
  .parallax_works_img {
    height: 200px;
  }
}

@media screen and (max-width:680px) {
  .parallax_works_img {
    margin: 40px 0;
    height: 150px;
  }
}

@media screen and (max-width:480px) {
  .parallax_works_img {
    height: 120px;
  }
}

.parallax_works_img img {
  position: relative;
  width: 85%;
  max-width: 1920px;
}

.parallax_works {
  text-align: center;
}

.single .page-contents .works_title h1 {
  margin-bottom: 0;
  font-size: 2.8rem;
  line-height: 1.5em;
}

@media screen and (max-width:680px) {
  .single .contents .works_title h1 {
    font-size: 2.4rem;
  }
}

.single .contents .news_time {
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  color: #707070;
}

.single .page_header .works_title {
  margin: 40px 10% 80px;
}

@media screen and (max-width:1025px) {
  .single .page_header .works_title {
    margin: 40px 5% 80px;
  }
}

@media screen and (max-width:680px) {
  .single .page_header .works_title {
    margin: 40px 5% 60px;
  }
}

.single .page_header .works_title h1 {
  top: 100px;
  font-size: 3.8rem;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  z-index: 9;
}

.single .page_header .works_title h2 {
  top: 160px;
  font-size: 2.0rem;
  font-weight: bold;
  color: #000;
  background-color: #fff;
  z-index: 9;
}

@media screen and (max-width:680px) {

  .single .page_header .works_title h1 {
    font-size: 2.4rem;
  }

  .single .page_header .works_title h2 {
    font-size: 1.6rem;
  }

}

/* ===================================================
 *  Single Page Style (Column)
====================================================== */

/* Single Page Common Style
====================================================== */

#container {
  display: flex;
  margin: 0 auto;
}

#main {
  flex: 3;
}

#side {
  flex: 1;
  padding-left: 40px;
}

@media screen and (max-width: 1025px) {
  #container {
    flex-direction: column;
  }

  #side {
    padding-left: 0;
  }
}

#side a {
  color: #222;
}

/* Header Thumbnail (Main)
====================================================== */
.blog_header .blog_thumbnail img {
  margin-bottom: 20px;
  width: 100%;
  height: auto;
}

/* TOC Table of Contents (Main)
====================================================== */

.single .toc_header {
  padding: 0.6em 15px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  border: 1px solid #222;
  box-sizing: border-box;
  background: #222;
}

.single .toc_area {
  position: relative;
  margin: 0 0 20px 0;
  padding: 15px;
  border: 1px solid #222;
  box-sizing: border-box;
  background: #f6f6f6;
}

.single .toc_title_h3 {
  margin-left: 54px;
}

.single .contents ul.toc_area {
  display: block;
  padding: 8px 0;
}

.single .contents ul.toc_area li {
  padding: 2px 0;
  font-size: 1.6rem;
}

.single .contents .toc_title_h2 {
  margin-left: 18px;
  font-weight: bold;
}

.single .contents .toc_title_h2::before {
  content: '▶︎';
}

/* ===================================================
 *  Sidebar Style
====================================================== */

/* Blog List (Sidebar)
====================================================== */

#side .blog_item {
  margin: 0 0 -1px;
  border-bottom: 1px solid #a9a9a9;
  border-top: 1px solid #a9a9a9;
}

#side .blog_item {
  display: grid;
  grid-template-columns: 30% 68%;
  gap: 40px 2%;
  padding: 0.8em 0;
}

#side .blog_item img {
  width: 100%;
  height: auto;
  border: solid 0.5px #a9a9a9;
  box-sizing: border-box;
}

#side .blog_title {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  line-height: 1.25;
}

#side .side_title {
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 5px;
}

/* Category List (Sidebar)
====================================================== */

.blogcategory_list {
  margin-bottom: 20px;
}

.blogcategory_list ul {
  margin: 0;
  padding: 0;
}

.blogcategory_list ul li {
  margin: 0 0 -1px;
  padding: 0.8em 0;
  font-size: 1.4rem;
  border-bottom: 1px solid #a9a9a9;
  border-top: 1px solid #a9a9a9;
}

/* Search Form (Sidebar)
====================================================== */
.searchform {
  margin-bottom: 20px;
}

.searchform__field {
  width: calc(100% - 48px);
  height: 48px;
  border: 1px solid #333;
  box-sizing: border-box;
  font-size: 1.6rem;
}

.searchform__field::placeholder {
  font-size: 1.2rem;
}

.searchform__btn {
  position: absolute;
  width: 48px;
  height: 48px;
  border: 1px solid #333;
  box-sizing: border-box;
  background-color: #333;
}

.searchform__btn i {
  color: #fff;
  font-size: 1.6rem;
}

/* TOC Table of Contents (Sidebar)
====================================================== */

.side_toc_area {
  position: sticky;
  top: 80px;
}

@media screen and (max-width:1025px) {
  .side_toc_area {
    display: none;
  }
}

.side_toc_area .side_toc_title {
  margin: 0;
  padding: 0.4em 10px;
  font-size: 1.8rem;
  font-weight: bold;
  color: #fff;
  border: 1px solid #222;
  box-sizing: border-box;
  background: #222;
}

.sidebar_toc {
  position: relative;
  margin: 0 0 20px 0;
  padding: 10px;
  border: 1px solid #222;
  box-sizing: border-box;
  background: #f6f6f6;
}

.sidebar_toc_title_h3 {
  margin-left: 36px;
}

.sidebar_toc li {
  padding: 2px 0;
  font-size: 1.4rem;
  list-style: none;
}

.sidebar_toc_title_h2 {
  font-weight: bold;
}

.sidebar_toc_title_h2::before {
  content: '▶︎';
}

/* ===================================================
 * 404 Style
====================================================== */

/* 404 Style
====================================================== */
.error-text p {
  font-size: 2.0rem;
}