@charset "utf-8";

/* default */
@media screen and (max-width: 640px) {
  html{
    font-size:14px;
  }
}
body {
  font-family:'Noto Sans JP', -apple-system, BlinkMacSystemFont, "Helvetica Neue", Verdana, Meiryo, "M+ 1p", sans-serif;
  color: #333;
  font-size: 87.5%;
  line-height: 2em;
  position: relative;
  overflow:visible;
}
.mincho {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: bold;
}


a {
  color: #c8161d;
}
a:hover {
  color: #fc3737;
  text-decoration: underline;
}
button{
  padding:0;
  font-size:.88rem;
}
.btn{
  display:inline-block;
  color:#fff;
  min-width:180px;
  transition:.4s;
  position:relative;
  z-index:1;
	box-shadow: 0 3px 4px -1px rgb(0 0 0 / 24%);

}
.btn span{
  background-color:#222;
  transition:.4s;
  display:block;
  padding:.5em 1.5em;
	box-shadow: 0 3px 4px -1px rgb(0 0 0 / 24%);

}
.btn:hover,
.btn:hover span,
a:hover .btn span{
  background-color:transparent;
  text-decoration:none;
  color:#fff;
}
.btn::before{
  position:absolute;
  display:block;
  width:100%;
  height:100%;
  content:"";
  top:0;
  left:0;
  z-index:-1;
  background: #c8161d;
}
.btn::after{
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    right: 10px;
    width: 20px;
    height: 6px;
    background: url(../img/arrow.svg) no-repeat left top;
    background-size: contain;
    content: "";
    transition: all .3s;
}





.btn:hover::after,
a:hover .btn::after{
  right:5px;
}
::selection {
  color: #fff;
  background: #c8161d;
}
img {
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
img.pull-right {
  margin: 0 0 .5em .5em;
}
.require {
  color: red;
}
ul li {
  list-style-type: none;
  margin: 0 0 .5em;
}
ul li:focus {
  outline-color: transparent;
}
ol {
  padding: 1rem 0 1rem 2rem;
}
ol li {
  padding: 0 0 1em;
}
ul {
  padding-left: .5em;
  margin: 1em 0 2em;
}
ul.inline li {
  display: inline-block;
  margin-right: 2.5em;
}
ul li i {
  color: #c8161d;
}
p {
  line-height: 2;
  margin-bottom: 1rem;
}
figcaption {
  margin-top: .5rem;
  font-size: .9rem;
  line-height: 1.5;
}
.lead {
  font-size: 1.8rem;
  line-height: 1.8;
  color: #c8161d;
	font-weight:bold;
}
section {
  padding: 0 0 0rem;
}
i {
  color: #c8161d;
}
h1 {
	font-weight:700;
}
h2 {
  font-size: 3rem;
  font-family: 'Hammersmith One','Noto Sans JP', sans-serif;
  display: block;
  line-height: 1.5;
  position: relative;
  margin-bottom: 1.5rem;
}
h2 small {
  font-size: 1rem;
  margin-left: 1rem;
  display:block;
  margin:0;
}
h2.center {
  text-align: center;
}
h4{
  font-weight:bold;
  font-size:1.1rem;
}
.pc-text-center {
  text-align: center;
}
.is-pulled-right {
  padding: 0 0 .5rem .5rem;
}
main strong {
  font-size: 1.1em;
  color: #c52024;
}
ul.inline_list li {
  display: inline-block;
  margin-right: 1.5em;
}
.highlight {
  background-color: #eee;
}
.container {
  max-width: 1344px;
  width: 100%;
  padding: 0 1rem;
}
main section{
  padding:6rem 0;
}
.mb0{
  margin-bottom: 0!important;
}
.mt0{
  margin-top: 0!important;
}
.top section{
  padding:0;
}
.table-default th{
  background-color:#eee;
  min-width:13em;
  text-align:center;
  vertical-align:middle;
  border:1px solid #ddd!important;
  position: relative;
}
.table-default td{
  vertical-align:middle;
  border:1px solid #ddd!important;
}
@media screen and (max-width: 1350px) {
  .container {
    max-width: 1344px;
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none;
  }
  .pc-text-center{
    text-align:left;
  }
}
@media screen and (min-width: 769px) {
  .sp-only {
    display: none;
  }
}
@media (max-width: 640px) {

	main section{
  	padding:2rem 0;
	}


  table.responsive-stack, table.responsive-stack thead, table.responsive-stack tbody, table.responsive-stack tr, table.responsive-stack th, table.responsive-stack td {
    display: block;
    width: auto!important;
  }
  table.responsive-stack th {
    background-color: #F3F3F3;
    border-bottom: none!important;
    padding: .4rem 0;
  }
  table.responsive-stack td {
    border-bottom: none!important;
  }
  table.responsive-stack {
    border-bottom: 1px solid #ddd!important;
  }
}

/* animetion */

.anim {
  position: relative;
  overflow: hidden;
  z-index: 0;
  transform: translateY(40px);
  opacity: 0;
  transition: 1s cubic-bezier(0.5, 0.1, 0.2, 1) 0.2s;
}
.anim:nth-child(1) {transition-delay: 0.1s;}
.anim:nth-child(2) {transition-delay: 0.3s;}
.anim:nth-child(3) {transition-delay: 0.5s;}
.anim:nth-child(4) {transition-delay: 0.7s;}
.anim:nth-child(5) {transition-delay: 0.9s;}
.anim:nth-child(6) {transition-delay: 1.1s;}
.anim:nth-child(7) {transition-delay: 1.3s;}
.anim:nth-child(8) {transition-delay: 1.5s;}
.anim:nth-child(9) {transition-delay: 1.7s;}
.anim:nth-child(10) {transition-delay: 1.9s;}
.anim.animStart {
  transform: translateY(0);
  opacity: 1;
}

/*****************************************************************************
 transform
 *****************************************************************************/

.anim .service_img img {
 display: block;
 position: relative;
 opacity: 0;
 width: 100%;
 transition: opacity 0.4s ease-in-out 1.2s, transform 0.4s;
}
section.service .flex li .inner:hover img{
 -webkit-transform: scale(1.05);
 transform: scale(1.05);
}
.anim .service_img img.effectStart {
 opacity: 1;
}
.anim .service_img::before {
 content: "";
 position: absolute;
 z-index: 10;
 top: 0;
 left: 0;
 width: 0;
 height: 100%;
 background-color: #ed1c24;
}

.anim .effectStart.service_img::before {
 width: 100%;
 left: 100%;
 transition: width .5s cubic-bezier(0.25, 0.46, 0.45, 0.94), left .4s cubic-bezier(0.55, 0.085, 0.68, 0.53) .5s;
 transition-delay: 1s;
}
@media screen and (min-width: 960px) {
  .flex .anim:nth-child(2) .service_img img {transition: opacity 0.4s ease-in-out 1.4s, transform 0.4s;}
  .flex .anim:nth-child(3) .service_img img {transition: opacity 0.4s ease-in-out 1.6s, transform 0.4s;}
  .flex .anim:nth-child(2) .effectStart.service_img::before { transition-delay: 1.2s;}
  .flex .anim:nth-child(3) .effectStart.service_img::before { transition-delay: 1.4s;}
}



/* end/animetion */

/* header */
header{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  position:fixed;
  width:100%;
  top:0;
  z-index: 1000;
}
.logged-in.admin-bar header{
	top:32px;
}
/* header::before{
  background-color:rgba(255,255,255,0.3);
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  content:"";
  z-index:-1;
  transition:.4s;
  left:0;
  top:0;
} */
header::after{
  background-color:rgba(255,255,255,0.9);
  display:block;
  width:100%;
  height:100%;
  position:absolute;
  content:"";
  z-index:-1;
  transition:.4s;
  left:-100%;
  top:0;
}
header.fixed,
.page-template-page-service header{
  /*box-shadow: 0 4px 4px rgba(0, 0, 0, 0.03);*/
}
header.fixed::after,
.page-template-page-service header::after{
  left:0;
}
header .logo {
  padding: 1rem 1.5rem;
  width: 140px;
}
header .logo .fix{
  display:none;
}
header .logo .fix{
  display:none;
}
header.fixed .fix,
.page-template-page-service header .fix{
  display:block;
}
header.fixed .white,
.page-template-page-service header .white{
  display:none;
}
/* end/header */


/* gnav */
.menu-mobile {
  display: none;
  color: #ce1f24;
}
.menu-mobile:hover {
  color: #ce1f24;
  text-decoration: none;
}
.menu-mobile:after {
  font-family: "Font Awesome 5 Free";
  content: "\f0c9";
  font-weight: 900;
  font-size: 1.5rem;
  padding: 0;
  position: absolute;
  top: 66%;
  left: 60%;
  margin: -15px 0 0 -17px;
  -webkit-transform: translateY(-25%);
  -ms-transform: translateY(-25%);
  transform: translateY(-25%);
}
.menu-dropdown-icon:before {
  font-family: "Font Awesome 5 Free";
  content: "\f067";
  font-weight: 900;
  display: none;
  cursor: pointer;
  padding: 10px 0 0 0;
  position: absolute;
  top: 0;
  right: 0;
  width: 51px;
  height: 51px;
  z-index: 10;
  text-align: center;
  background: #f8f8f8;
  color: #ce1f24;
}
.menu .flex {
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.menu>ul {
  margin: 0 auto;
  width: 100%;
  list-style: none;
  padding: 0;
  position: relative;
  /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
  box-sizing: border-box;
}
.menu>ul>li {
  margin: 0;
}
.menu>ul>li::before{
  content:none;
}
.menu>ul>li a {
  text-decoration: none;
  padding: 1.6rem 0;
  margin-right: 2rem;
  display: block;
  color: #fff;
  position: relative;
  font-size: 0.85rem;
  font-weight: 600;
  overflow:hidden;
}
.fixed .menu>ul>li a,
.page-template-page-service .menu>ul>li a {
  color:inherit;
}
.menu>ul>li a::after{
  position:absolute;
  content:"";
  border-bottom: 5px solid #ce1f24;
  width:100%;
  transition:.2s;
  left:-100%;
  bottom:0;
}
.menu>ul>li:hover a::after,
.menu>ul>li a.open::after{
  left:0;
}

.menu>ul>li>.dropdown_menu {
  visibility: hidden;
  width: auto;
  border-top: none;
  background-color:#fff;
  position: absolute;
  z-index: 99;
  bottom:0;
  transform:translateY(90%);
  margin: 0;
  list-style: none;
  box-sizing: border-box;
  opacity: 0;
  transition-property: all;
  transition-duration: .3s;
  transition-delay: 0s;
  -webkit-transition-property: all;
  -webkit-transition-duration: .3s;
  -webkit-transition-delay: 0s;
}
.menu>ul>li.company>.dropdown_menu,
.menu>ul>li.contact>.dropdown_menu {
  right:0;
}
.menu>ul>li:hover .dropdown_menu {
  visibility: visible;
  opacity: 1;
  transform:translateY(100%);
}

.menu>ul>li>.dropdown_menu ul{
  margin:0;
  padding:0;
  background: rgba(255,255,255,.9);
  border: 1px solid #ddd;
  padding:0 1rem;
  position:relative;
  min-width:17rem;
}
.menu>ul>li ul>li {
  margin: 0;
  padding-bottom: 0;
  list-style: none;
  background: none;
}
.menu>ul>li ul>li::before{
  content:none;
}
.menu>ul>li ul>li a {
  color: #333;
  padding: .75em 0;
  width: 100%;
  display: block;
  text-align: left;
  position: relative;
  border-bottom: 1px solid #ccc;
  margin:0;
}
.menu>ul>li ul>li a:hover {
  color: #ce1f24;
}
.menu>ul>li ul>li a::after {
  content:none;
}
.menu>ul>li ul>li:last-child a {
  border-bottom:none;
}
.menu>ul>li ul>li>ul {
  display: block;
  padding: 0;
  margin: 0;
  list-style: none;
  box-sizing: border-box;
}
.menu>ul>li ul>li>ul:before, .menu>ul>li ul>li>ul:after {
  content: "";
  display: table;
}
.menu>ul>li ul>li>ul:after {
  clear: both;
}
.menu>ul>li ul>li>ul>li {
  float: left;
  width: 100%;
  padding: 0;
  margin: 0;
  font-size: .8rem;
}
.menu>ul>li ul>li>ul>li a {
  border: 0;
}
.menu>ul>li ul.normal-sub {
  width: 100%;
  left: auto;
  padding:.5rem 1rem;
	background-color: rgba(255, 255, 255, 0.9);
	border:1px solid #EEE;
}
.menu>ul>li ul.normal-sub>li {
  width: 100%;
}
.menu>ul>li ul.normal-sub>li a {
  border: 0;
  padding: 0.8em 0 0.8em 1em;
  font-size: 0.8rem;
}
.menu>ul>li>ul>li a:after {
  border: none;
  font-family: "Font Awesome 5 Free";
  content: "\f105";
  font-weight: 900;
  position: absolute;
  top: .5em;
  left: 0;
  color: #c8161d;
}
@media screen and (max-width: 1200px) {
  .menu>ul>li a{
    margin-right:1.5rem;
  }
}

@media screen and (min-width: 993px) {
  .dropdown.open + .dropdown_menu .drop_open_mask{
    position:fixed;
    top:83px;
    left:0;
    width:100vw;
    height:100vh;
    background-color:#000;
    opacity:.5;
  }
}
/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
@media screen and (max-width: 992px) {
  header{
    height: 50px;
  }
  header .h_logo img{
    width:100px;
  }
  header .logo p{
    font-size:.8rem;
  }
  header .logo {
    padding: 0 1rem;
    width: 132px;
  }
  #navArea{
    border:none;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  #navArea nav {
    display: block;
    position: fixed;
    top: 0;
    left: -100%;
    bottom: 0;
    width: 260px;
    min-height:100vh;
    background: #ffffff;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    transition: all .5s;
    z-index: 2000;
    opacity: 0;
    padding-top: 55px;
  }
  #navArea nav::-webkit-scrollbar {
      display:none;
  }
  #navArea nav::before{
    width: calc(100% - 2rem);
    height: 55px;
    display:block;
    position:absolute;
    top: 0rem;
    left: 1rem;
    content:"";
    background: url(../img/logo.png) no-repeat top 15px left;
    background-size: auto 26px;
  }
/*   #navArea nav::after{
    content:"Growth Hack Company";
    font-size:.875rem;
    letter-spacing:0.1em;
    width:100%;
    text-align:center;
    position:absolute;
    top:6px;
  } */
  #navArea.open nav {
    left: 0;
    opacity: 1;
    background-color: #f9f9f9;
  }
  #navArea .container {
    padding: 0;
  }
  #navArea nav ul{
    display:block;
  }
  #navArea nav ul li ul{
    display:none;
    padding:0;
  }
  #navArea nav ul li{
    width:100%;
    position:relative;
  }
  #navArea nav ul li .dropdown_icon{
    display:block;
    position:absolute;
    height:47px;
    width:47px;
    background:#e8e8e8;
    top:0;
    right:0;
  }
  #navArea nav ul li .dropdown_icon::before,
  #navArea nav ul li .dropdown_icon::after{
    content:'';
    display: block;
    position: absolute;
    left: 14.5px;
    top:21px;
    width: 18px;
    height: 2px;
    background-color: #c8161d;
    transition: all .5s;
  }
  #navArea nav ul li .dropdown_icon::after{
    transform:rotate(90deg);
  }
  #navArea nav ul li .dropdown_icon.open::after{
    transform:rotate(360deg);
  }


  #navArea nav ul li a {
    text-align:left;
    border-top:1px solid #e6e6e6;
    background-color:#fff;
    transition-duration: 0.2s;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    color:#333;
    margin:0;
  }
  #navArea nav ul li a::after {
    content:none;
  }
  #navArea .btn{
    display:block;
    width:calc(100% - 2rem);
    margin:1rem auto;
    font-size:.94rem;
    background-color:#ce1f24;
    color:#fff;
    padding:.75rem 0;
    border:none;
  }
  #navArea .nav_contact .tel{
    margin:1.5rem 0 1rem;
  }
  #navArea .nav_contact .tel a{
    font-weight:900;
    font-size: 23px;
    color:inherit;
    text-decoration:none;
    line-height:1;
    display:block;
    text-align:center;
  }
  #navArea .nav_contact .tel p{
    font-size: 14px;
    margin: 0.25em 0 0 0;
    text-align:center;
  }
  #navArea .nav_contact .mail .btn{
    text-align:center;
  }
  .menu>ul>li>.dropdown_menu{
    position:static;
    visibility:visible;
    opacity:1;
    transform:translateY(0);
    display:none;
    transition:none;
  }
  .menu>ul>li:hover>.dropdown_menu{
    transform:translateY(0);
  }
  .menu>ul>li>.dropdown_menu ul{
    border-top:none;
  }
  #navArea nav ul li li a{
    position:relative;
    padding:0.8rem 0.8rem 0.8rem 1.5rem;
    font-size:1em;
		font-weight:normal;
  }
  #navArea nav ul li a.dropdown::before {
    content:'';
    width:1em;
    height:2px;
    background-color:#ce1f24;
    position:absolute;
    right:1em;
    top:50%;
  }
  #navArea nav ul li a.dropdown::after {
    content:'';
    width:1em;
    height:2px;
    background-color:#ce1f24;
    position:absolute;
    left:auto;
    bottom:auto;
    right:1em;
    top:50%;
    border:none;
    transform:rotate(270deg);
    transition:0.2s;
  }
  #navArea nav ul li a.dropdown.open::after {
    transform:rotate(0);
  }

  /*============
  .toggle_btn
  =============*/
  .toggle_btn {
    background-color: none;
    display: block;
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    transition: all .5s;
    cursor: pointer;
    z-index: 3;
  }
  .toggle_btn span {
    display: block;
    position: absolute;
    left: 12px;
    width: 26px;
    height: 2px;
    background-color: #ffffff;
    border-radius: 4px;
    transition: all .5s;
  }
	.page-template-page-service .toggle_btn span {
    background-color: #000;
	}

  .fixed .toggle_btn {
    background-color: #ce1f24;
  }
	.page-template-page-service .fixed .toggle_btn span {
    background-color: #fff;
  }
  .toggle_btn span:nth-child(1) {
    top: 14px;
  }
  .toggle_btn span:nth-child(2) {
    top: 24px;
  }
  .toggle_btn span:nth-child(3) {
    top: 34px;
  }
  .open .toggle_btn span {
    background-color: #fff;
  }
  .open .toggle_btn span:nth-child(1) {
    -webkit-transform: translateY(10px) rotate(-315deg);
    transform: translateY(10px) rotate(-315deg);
  }
  .open .toggle_btn span:nth-child(2) {
    opacity: 0;
  }
  .open .toggle_btn span:nth-child(3) {
    -webkit-transform: translateY(-10px) rotate(315deg);
    transform: translateY(-10px) rotate(315deg);
  }
  /*============
  #mask
  =============*/
  #mask {
    display: none;
    transition: all .5s;
  }
  .open #mask {
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #000;
    opacity: .8;
    z-index: 2;
    cursor: pointer;
  }
}
@media screen and (max-width: 640px) {
  header .logo p br{
    display:block;
  }
}



/* end/gnav */


/* hero */
.hero {
  background: none;
  position:relative;
  background-size: cover;
  padding:0;
  overflow:hidden;
}
.hero-body{
  text-align:center;
  position:relative;
  z-index:10;
}
.hero-body .catch{
  font-family: 'Hammersmith One', sans-serif;
  text-align:left;
  line-height:1.2;
  color:#fff;
  font-size:9vw;
  position:absolute;
  left:2%;
  bottom:0;
}
.cb-slideshow,
.cb-slideshow:after {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    z-index:10;
    margin:0;
    padding:0;
}
.cb-slideshow li{
	position:static;
}

.cb-slideshow li span {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0px;
    left: 0px;
    color: transparent;
    background-size: cover;
    background-position: 50% 50%;
    background-repeat: none;
    opacity: 0;
    z-index: 0;
    animation: imageAnimation 24s linear infinite 0s;
}

.cb-slideshow li:nth-child(1) span {
    background-image: url(../img/main01.jpg)
}
.cb-slideshow li:nth-child(2) span {
    background-image: url(../img/main02.jpg);
    animation-delay: 8s;
}
.cb-slideshow li:nth-child(3) span {
    background-image: url(../img/main03.jpg);
    animation-delay: 16s;
}
@keyframes imageAnimation {
	0% {
	    opacity: 0;
	    animation-timing-function: ease-in;
	}
	8% {
	    opacity: 1;
	    transform: scale(1.05);
	    animation-timing-function: ease-out;
	}
	35% {
	    opacity: 1;
	    transform: scale(1.2);
	}
	45% {
	    opacity: 0;
	    transform: scale(1.5);
	}
	100% { opacity: 0 }
}
.no-cssanimations .cb-slideshow li span{
	opacity: 1;
}
@media screen and (max-width: 640px) {
  .hero-body .catch{
    font-size:14vw;
    bottom:10%;
    left: 5%;
  }
  .cb-slideshow li span {
      background-position: 75% 50%;
  }
}


/* end/hero */



/* footer */

.footer {
  padding: 2rem 0 0;
  background-color: #fff;
}
.footer .copyright {
  text-align:center;
  color:#fff;
  padding:.5rem 0;
  margin-top:1rem;
  background-color:#202020;
}
.footer .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.footer .logo{
  width:40%;
}
.footer .logo img{
  width: 180px;
  margin:0;
	
}
.footer .f_menu{
  width:80%;
}
.footer .f_menu ul{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content:flex-end;
  margin:0;
  padding:0;
}
.footer .f_menu ul li{
  margin-left:2rem;
}
.footer .f_menu ul li a{
  display:block;
  font-weight:bold;
  color:inherit;
}
.footer .f_menu ul li a:hover{
  text-decoration:none;
  color:#c8161d;
}
.footer .map,
.footer .privacy{
  margin-top: 1rem;
}
.footer .map a,
.footer .privacy a{
  display:block;
  font-weight:bold;
  color:inherit;
  font-size:1rem;
  position:relative;
  padding-right:2.5rem;
}
.footer .map a::after,
.footer .privacy a::after{
    display: block;
    position: absolute;
    top: calc(50% - 3px);
    right: 5px;
    width: 25px;
    height: 6px;
    background: url(../img/arrow_black.svg) no-repeat left top;
    background-size: contain;
    content: "";
    transition: all .3s;
}
.footer .map a:hover,
.footer .privacy a:hover{
  text-decoration:none;
  color:#c8161d;
}
.footer .map a:hover::after,
.footer .privacy a:hover::after{
  right: 0;
}
@media screen and (max-width: 768px) {
  .footer{
    padding:0;
  }
  .footer .f_menu,
  .footer .logo{
    display:none;
  }
  .footer .logo{
    width:100%;
  }
  .footer .logo img{
    margin:0 auto 1rem;
  }
  .footer .map a,
  .footer .privacy a{
    font-size:.8rem;
  }
}

/* end/footer */


main{
  background-color:#fff;
}

.backcolor{
  background-color:#eee;
}


/* concept */
.top .concept{
    padding: 4rem 2rem;
    background-color: #000;
    text-align: center;
    color: #fff;
    position:relative;
}
.particles-js-canvas-el{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}
.concept .ttl{
  font-size: 1rem;
  font-weight:bold;
  letter-spacing:.16em;
  margin-bottom:1rem;
}
.concept .subttl{
  font-size: 2.5rem;
  font-weight:bold;
  letter-spacing:.08em;
}
.concept .txt{
  font-size: .875rem;
  font-weight:bold;
  letter-spacing:.08em;
}
@media only screen and (max-width: 959px) {
  .concept .subttl{
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 640px) {
  .concept{
    padding:4rem 1rem;
  }
  .concept .subttl{
    font-size: 4.5vw;
  }
}

/* end/concept */

/* service */
section.service .container{
  max-width:1800px;
  padding: .5rem .5rem;
}
section.service .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin:0;
  padding:0;
}
section.service .flex li{
  width:33.33%;
  padding:.5rem;
  margin: 0;
}
section.service .flex li .inner{
  background-color:#fff;
  display:block;
  height:100%;
  position:relative;
  padding-bottom: 6rem;
  color:inherit;
}
section.service .flex li .inner:hover{
  text-decoration:none;
}
section.service .flex .service_img{
  position:relative;
  overflow:hidden;
}
section.service .flex h3{
  font-size: 1.125rem;
  text-align:center;
  margin:1em 0;
  font-weight: 700;
}
section.service .flex p{
  font-size:.8125rem;
  max-width: 340px;
  margin:0 auto;
  padding: 0 1rem;
  letter-spacing: .1em;
}
section.service .flex .btn_area{
  position:absolute;
  bottom:2rem;
  width:100%;
  text-align:center;
}
@media only screen and (max-width: 959px) {
  section.service .flex{
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
  }
  section.service .flex li{
    width:50%;
  }
}
@media screen and (max-width: 640px) {
  section.service .flex li{
    width:100%;
  }
}

/* end/service */

/* company */
.top .company .container{
  max-width:1800px;
  padding: .5rem .5rem;
  margin-top:-1rem;
}
.company .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin:0;
  padding:0;
}
.company .flex_item{
  width:50%;
  padding:.5rem;
  margin: 0;
}

.company .flex_item .inner{
  background-color:#fff;
  height: 100%;
}
.company .news h2{
  font-size: 1.5rem;
  font-weight:bold;
  color:#c8161d;
  padding-bottom:1rem;
}
.company .news h2 a{
  float:right;
  font-size:.88rem;
  font-weight:normal;
  border:1px solid #c8161d;
  line-height:1;
  padding:.3rem .8rem;
  transition:.4s;
}
.company .news h2 a:hover{
  color:#fff;
  background-color:#c8161d;
  text-decoration:none;
}
.company .news .inner{
  padding:2rem;
  font-size:.88rem;

}
.company .news .inner .tag{
  background: #c8161d;
  font-size:.7rem;
  color:#fff;
  border-radius:0;
  margin-left:.5rem;
  vertical-align:middle;
  transition: 0.2s;
  text-decoration: none;
  margin-bottom: 3px;
}
.company .news .inner .tag:hover{
  opacity: 0.7;
}
.company .news dl{
  height:550px;
  overflow-y:scroll;
}
.company .news dt{
  padding-top:.5rem;
}
.company .news dd{
  border-bottom:1px solid #ddd;
  padding-bottom:.5rem;
}
.company .bnr_area ul{
  margin:1rem 0 0 0;
  padding:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.company .bnr_area li{
  width:48%;
  margin:1rem 0 0;
}
.company .bnr_area li a img{
  display:block;
  transition:.2s;
}
.company .bnr_area li a:hover img{
  opacity:.5;
}
.company .company_info .inner{
  background:none;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-direction: column;
  flex-direction        : column;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.company .company_info .item{
  height: 340px;
  overflow:hidden;
  position:relative;
  display:block;
}
.company .company_info .item:first-child{
  margin-bottom:.5rem;
}
.company .company_info .item:last-child{
  margin-top:.5rem;
}
.company .company_info .item .bg{
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
  overflow:hidden;
  background-color:#000;
}
.company .company_info .item .bg img{
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}
.company .company_info .item .bg::after{
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
  transition:.4s;
  background-color:#000;
  opacity:.6;
  z-index:1;
  content:"";
}
.company .company_info .item:hover .bg::after{
  opacity:0;
}
.company .company_info .item:first-child .content{
  position:absolute;
  z-index:5;
  top:30%;
  left:7%;
}
.company .company_info .content h2{
  color:#fff;
  font-size:1.5rem;
}
.company .company_info .content .lead{
  color:#fff;
  font-size:1.3rem;
  letter-spacing:.3rem;
}
.company .company_info .item:last-child .content{
  position:absolute;
  z-index:5;
  text-align:right;
  top:30%;
  right:7%;
}
.company .company_info .item:last-child .content .lead{
  font-size:1rem;
  letter-spacing:0.1rem;
}
.company .company_info .item:last-child .content .btn{
  text-align:left;
}
.company .flex_item.fourth{
  width:25%;
}
.company .flex_item.recruit .inner .item{
  display:block;
  height:100%;
}
.company .flex_item.fourth .inner,
.company .flex_item.recruit .inner{
  position:relative;
  overflow:hidden;
}
.company .flex_item.fourth .bg,
.company .flex_item.recruit .bg{
  position: relative;
  overflow:hidden;
  height:100%;
}
.company .flex_item.fourth .bg img{
  position: relative;
}
.company .flex_item.recruit .bg img{
  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
  z-index:1;
}
.company .flex_item.fourth .bg::before,
.company .flex_item.recruit .bg::before{
  position: absolute;
  top: .8rem;
  left: .8rem;
  width:calc(100% - 1.6rem);
  height:calc(100% - 1.6rem);
  border:1px solid #fff;
  z-index:100;
  content:"";
}
.company .flex_item.fourth .bg::after,
.company .flex_item.recruit .bg::after{
  position: absolute;
  top: 0;
  left: 0;
  width:100%;
  height:100%;
  transition:.4s;
  background-color:#000;
  opacity:.8;
  z-index:1;
  content:"";
}
.company .flex_item.fourth .item:hover .bg::after,
.company .flex_item.recruit .item:hover .bg::after{
  opacity:0.4;
}
.company .flex_item.fourth h2,
.company .flex_item.recruit h2{
  color:#fff;
  position:absolute;
  top:50%;
  width:100%;
  z-index:100;
  text-align:center;
  font-size:1.5vw;
  letter-spacing:.1em;
  margin-top:-1em;
  font-weight:bold;
}
.company .flex_item.fourth h2 small,
.company .flex_item.recruit h2 small{
  display:block;
  font-size:1vw;
  margin-top:.5em;
  font-weight:normal;
}
@media screen and (min-width: 1920px) {
  .company .flex_item.fourth h2,
  .company .flex_item.recruit h2{
    font-size:28.8px;
  }
  .company .flex_item.fourth h2 small,
  .company .flex_item.recruit h2 small{
    font-size:16px;
  }
}


@media only screen and (max-width: 959px) {
  .company .flex_item{
    width:100%;
    padding:.5rem;
    margin: 0;
  }
  .company .flex_item.fourth{
    width:50%;
  }
  .company .flex_item.fourth h2,
  .company .flex_item.recruit h2{
    margin-top:-1.5em;
    font-size:3vw;
  }
  .company .flex_item.fourth h2 small,
  .company .flex_item.recruit h2 small{
    font-size:2vw;
  }
  .company .flex_item.recruit .inner .item{
    height:340px;
  }
}
@media screen and (max-width: 640px) {
  .company .bnr_area li{
    width:100%;
    margin:1rem 0 0;
  }
  .company .company_info .item{
    height: 44vw;
  }
  .company .company_info .item{
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
  }
  .company .company_info .item:first-child .content,
  .company .company_info .item:last-child .content{
    position:relative;
    top:0;
    left:0;
  }
  .company .company_info .content h2{
    font-size:1.3rem;
    margin-bottom:0.25rem;
  }
  .company .company_info .item:first-child .bg img{
    left:auto;
    right:0;
  }
  .company .flex_item.fourth h2,
  .company .flex_item.recruit h2{
    margin-top:-1.5em;
    font-size:4vw;
  }
  .company .flex_item.fourth h2 small,
  .company .flex_item.recruit h2 small{
    margin-top:0;
  }
  .company .flex_item.recruit .inner .item{
    height:44vw;
  }
  .company .company_info .content .lead{
    font-size:1rem;
    text-align:left;
    letter-spacing:0;
    margin-bottom:0.5rem;
  }
  .company .company_info .item:last-child .content .lead{
    text-align:right;
  }
  .company .flex_item.recruit .bg img{
    width:100%;
  }
  .company .news .inner .tag{
  margin-bottom: 2px;
  }
}

/* end/company */


/* sub */
.sub{
  position:relative;
  text-align: center;
  background:#000;
}
.sub .page_tit{
  padding: 20rem 0 20rem;
  color:#fff;
  font-size:3rem;
  letter-spacing:.1em;
  position:relative;
  z-index:10;
  line-height:1;
  font-family: 'Hammersmith One', sans-serif;
}
.sub .page_tit small{
  font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",MS P Gothic,Verdana,sans-serif;
  display:block;
  font-size:1rem;
  margin-top:0.25em;
}
.service .sub{background-image:url(../img/sub_service.jpg);}
/*.creative .sub{background-image:url(../img/sub_creative.jpg);}*/
.marketing .sub{background-image:url(../img/sub_marketing.jpg);}
.risk-consulting .sub{background-image:url(../img/sub_risk-consulting.jpg);}
.company .sub{background-image:url(../img/sub_company.jpg);}
.recruit .sub{background-image:url(../img/sub_recruit.jpg);}
.contact .sub{background-image:url(../img/sub_contact.jpg);}
.privacy .sub{background-image:url(../img/sub_privacy.jpg);}
.sub{
 background-repeat:no-repeat;
 background-size:cover;
 background-position:center;
 position:relative;
}
.sub::after{
  position:absolute;
  content:"";
  display:block;
  width:100%;
  height:100%;
  top:0;
  left:0;
  background-color:rgba(0, 0, 0, 0.5);
}


.page-template-page-service .sub::after{
	background-color:#eee;

}


@media screen and (max-width: 640px) {
  .sub .page_tit{
    font-size:9vw;
    letter-spacing:.1em;
    padding:7rem 0;
  }
  .sub .page_tit small{
    margin-top:1em;
    font-size:.88rem;
  }
}

.particles-js-canvas-el{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

/* end/sub */


.service_list .list_item .tmb{
	width:50%;
	height:400px;
	position: relative;
	overflow:hidden;
	z-index:1;
}
.service_list .list_item .tmb img {
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    max-width: inherit;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}
.service_list .list_item{
  position:relative;
  margin-bottom:8rem;
}
.service_list .list_item.reverse{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
}
.service_list .list_item::after{
  left:-100%;
  transition:.4s;
  content:"";
  display:block;
  background-color: #ffffff;
  width:100%;
  height:400px;
  position:absolute;
  top:4rem;
}
.service_list .list_item.reverse::after{
  left:auto;
  right:-100%;
}
.service_list .list_item.effectStart::after{
  left:calc(-50% + 656px);
}
.service_list .list_item.reverse.effectStart::after{
  left:auto;
  right:calc(-50% + 656px);
}
@media screen and (max-width: 1370px) {
  .service_list .list_item.effectStart::after{
    left:-1rem;
  }
  .service_list .list_item.reverse.effectStart::after{
    left:auto;
    right:-1em;
  }
}
.service_list .list_item .content{
  position:absolute;
  z-index:10;
  top:0;
  left:0;
  width:100%;
}
.service_list .list_item .content .container{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-end;
  justify-content:         flex-end;
}
.service_list .list_item.reverse .content .container{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content:         flex-start;
}
.service_list .list_item .content .container .inner{
  width:50%;
  padding: 2rem 2rem 0;
}
.service_list .list_item .content .container .inner h2{
  font-size: 4.3rem;
  letter-spacing:.2em;
  color:#000;
  line-height: 1;
  margin-bottom: 2rem;
  font-family: 'Hammersmith One', sans-serif;
}
.service_list .list_item .content .container .inner h2 small{
  font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",MS P Gothic,Verdana,sans-serif;
  display:block;
  font-size:1.2rem;
  font-weight:700;
  letter-spacing:.1em;
}

.service_list .list_item .content .container .inner p{
  font-size: 1rem;
  font-weight: 700;
  margin-bottom:2rem;
}
.service_list .list_item .content .container .inner .btn_area{
  display: -webkit-flex;
  display: flex;
  -webkit-justify-content: flex-start;
  justify-content:         flex-start;
}
.service_list .list_item .content .container .inner .btn_area{
  -webkit-justify-content: flex-start;
  justify-content:         flex-start;
}
@media only screen and (max-width: 959px) {
  .service_list .list_item,
  .service_list .list_item.reverse{
    padding-bottom: 4rem;
    margin-bottom:0;
  }
  .service_list .list_item .tmb,
  .service_list .list_item.reverse .tmb{
      width:90%;
      height:400px;
  }
  .service_list .list_item,
  .service_list .list_item.reverse{
    display:block;
    position:relative;
  }
  .service_list .list_item::after{
    width:90%;
  }
  .service_list .list_item.effectStart::after{
    left:10%;
  }
  .service_list .list_item .content{
    position:relative;
  }
  .service_list .list_item .content .container .inner{
    width:100%;
    padding: 2rem 2rem 0;
  }
  .service_list .list_item .content .container .inner p{
    font-size: 1rem;
    color:inherit;
    font-weight: 700;
    margin-bottom:2rem;
  }
}
@media screen and (max-width: 640px) {
  .service_list .list_item .tmb,
  .service_list .list_item.reverse .tmb{
      width:92%;
      height: 200px;
  }
  .service_list .list_item .tmb img,
  .service_list .list_item.reverse .tmb img{
      width: 100%;
      height: auto;
      max-width:740px;
      min-width:auto;
  }
  .service_list .list_item,
  .service_list .list_item.reverse{
    position:relative;
    overflow:hidden;
    padding-bottom:4rem;
  }
  .service_list .list_item:last-child{
    padding-bottom:0;
  }
  .service_list .list_item::after,
  .service_list .list_item.reverse::after{
    width:100%;
    height:200px;
    position:absolute;
    top:2rem;
  }
  .service_list .list_item.effectStart::after{
    left:8%;
  }
  .service_list .list_item .content .container .inner{
    width:100%;
    padding:.5rem 0 0;
  }
  .service_list .list_item .content .container .inner h2{
    font-size:11vw;
  }
  .service_list .list_item .content .container .inner .btn_area{
    -webkit-justify-content: center;
    justify-content:         center;
  }
}
/* Contact */
.contact_area {
  padding-bottom:5rem;
}
.contact_area h3{
  text-align:center;
  border:none;
  font-size: 1.12rem;
  font-weight: 700;
  margin-bottom:0;
  line-height:1.5;
}
.contact_area h3:after{
  content:none;
}
.contact_area .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.contact_area .flex .item{
  width:49%;
  text-align:center;
}
.contact_area .flex .item a{
  background-color:#fff;
  font-size: 1.5rem;
  font-weight: 700;
  height:5rem;
  line-height:1;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content:         center;
  transition:.4s;
}
.contact_area .flex .item a p{
  margin:0;
}
.contact_area .flex .item.tel a{
  color: #202020;
  border:1px solid #202020;
  position:relative;
  padding-left:3rem;
}
.contact_area .flex .item.tel a p .tel{
  display:block;
  font-size:2.3rem;
  line-height:1;
  font-weight:700;
  margin-bottom:.2rem;
}
.contact_area .flex .item.mail a:hover{
  background-color:#c8161d;
  color:#fff;
}
.contact_area .flex .item.tel a p small{
  display:block;
  font-weight:400;
  font-size:1rem;
  line-height:1;
}
.contact_area .flex .item.mail a{
  color: #fff;
  background-color:#202020;
  position:relative;
  padding-left:3rem;
}
.contact_area .flex .item.mail a img{
  position:absolute;
  width:3rem;
  height:3rem;
  display:block;
  left:50%;
  top:1rem;
  margin-left: -10rem;
}
.contact_area .flex .item.tel a img{
  position:absolute;
  width:3rem;
  height:3rem;
  display:block;
  left:50%;
  top:1rem;
  margin-left:-10rem;
}
.contact_area .flex .item a:hover{
  text-decoration:none;
}
@media screen and (max-width: 768px) {
  .contact_area .flex .item{
    width:100%;
    text-align:center;
    margin-bottom:2rem;
  }
}

/* end/Contact */

/* breadcrumb */
.breadcrumb{
  padding:.5rem 0;
  font-size:.8rem;
  background-color:#fefefe;
  border-bottom:1px solid #eee;
  margin:0!important;
  width:100%;
}
.breadcrumb ul{
  margin:0;
  padding:0;
  flex-wrap:nowrap;
  gap:0.5em 0;
  overflow-x: auto;
  white-space: pre;
}
.breadcrumb ul li{
  margin:0;
  padding:0;
  align-items:flex-start;
  display:inline-flex;
  line-height:1.5;
}
.breadcrumb a{
  padding:0;
  color:inherit;
}
.breadcrumb ul li::before{
  margin: 0 .7em;
}
/* end/breadcrumb */



@media screen and (max-width: 640px) {
  .lead{
    font-size:5.8vw;
	text-align:center;
  }
}


.hearing {
	position: relative;
	background: #000;
	text-align:center;
	color:#fff;
	left:-100%;
	transition:.2s;
	margin-bottom:4rem;
}
.hearing.effectStart{
    left:0;
}
.hearing h2{
  font-weight:700;
}
.hearing::before {
	position: absolute;
	top: -100px;
	display: block;
	width: 100%;
	height: 100px;
	content: '';
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon fill='%23000' points='0,100 100,100 100,0'%3E%3C/polygon%3E%3C/svg%3E");
}
.hearing::after {
	position: absolute;
	bottom: -100px;
	display: block;
	width: 100%;
	height: 100px;
	content: '';
	background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' preserveAspectRatio='none'%3E%3Cpolygon fill='%23000' points='0,0 100,100 100,0'%3E%3C/polygon%3E%3C/svg%3E");
}
@media screen and (max-width: 640px) {
  .hearing {
    text-align:left;
  }
  .hearing h2{
    font-weight:700;
    font-size:1.5rem;
    padding:0 1rem;
  }
  .hearing p{
    padding:0 1rem;
  }
  .hearing::before {
      top: -49px;
      height: 50px;
  }
  .hearing::after {
      bottom: -49px;
      height: 50px;
  }
}

section.service.point .container{
  max-width: 1344px;
  width: 100%;
  padding: 0 1rem;
}
section.service.point .flex li .inner{
  padding-bottom:2rem;
}

.word_bg{
  position:relative;
  background-color:#fff;
  overflow: hidden;
}
.word_bg .word {
	width: 12000px;
	height: 100%;
	position:absolute;
	top:0;
	left:0;
	opacity:0.06;
	background: transparent url(../img/about_catch.svg) 0 40% repeat-x;
	background-size: 5898px auto;
}
.word_bg .word {
	-webkit-animation: about-anim 40s linear infinite normal;
	animation: about-anim 40s linear infinite normal;
}
@-webkit-keyframes about-anim {
    0%   { -webkit-transform: translateX(0); }
    100% { -webkit-transform: translateX(-1898px); }
}
@keyframes about-anim {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-1898px); }
}
.word_bg .container{
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "-apple-system", "Helvetica Neue", Roboto, "Droid Sans", Arial, "Yu Gothic", YuGothic, Meiryo, sans-serif;
  font-weight: bold;
  max-width:1800px;
  padding: .5rem .5rem;
}
.word_bg .container h3{
  text-align:center;
  font-size:1.5rem;
  font-weight: bold;
  margin-bottom:2rem;
}
.word_bg .container .pc-text-center{
  font-size:1.1rem;
  font-weight:bold;
}
.word_bg ul{
  margin: 5rem 0 1rem;
  padding:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}
.word_bg ul li{
  margin:0;
  padding:0;
  width:25%;
  padding:7rem 1.5rem;
  border-right:1px dotted #CCC;
}
.word_bg ul li:last-child{
  border:none;
}
.word_bg ul li h4{
  font-size:3rem;
  font-weight:bold;
  color:#c8161d;
  margin-bottom:1.5rem;
}
.word_bg ul li p{
  font-weight:bold;
  font-size:1.2rem;
  line-height:1.5;
  margin:0;
}
@media screen and (max-width: 1200px) {
  .word_bg ul li{
    width:50%;
  }
  .word_bg ul li:first-child{
    margin-bottom:2rem;
  }
  .word_bg ul li:nth-child(2){
    margin-bottom:2rem;
    border:none;
  }
}
@media screen and (max-width: 768px) {
  .word_bg{
    padding-bottom:0;
  }
  #mission.word_bg ul li{
    width:100%;
    border:none;
    border-bottom:1px dotted #CCC;
    padding:2rem 1rem;
  }
  .word_bg ul {
    margin:1rem 0;
  }
  .word_bg ul li:first-child{
    margin-bottom:0;
  }
  #mission.word_bg ul li:last-child{
    border:none;
  }
  .word_bg .container{
    padding:1rem;
  }
  .word_bg .word {
    background: transparent url(../img/about_catch.svg) 0 10% repeat-x;
	background-size: 3898px auto;
  }
	.word_bg ul li h4{
	  font-size:1.8rem;
	  font-weight:bold;
	  color:#c8161d;
	  margin-bottom:1.5rem;
	}
	.word_bg ul li p{
	  font-weight:bold;
	  font-size:1rem;
	  line-height:1.2;
	  margin:0;
	}
	  .word_bg ul li:nth-child(2){
	    margin-bottom:0;
	    border:none;
	  }


}

section.company_profile{
  background-color:#f8f8f8;
}
section.company_profile table{
  max-width:1000px;
  margin:0 auto;
}
.access {
  background-color:#fff;
}
.access .inner iframe{
  height:350px;
  padding:0 1rem;
}
.recruit_message{
  background-color:#fff;
  margin-bottom:0;
}
.recruit_catch{
  background:url(../img/recruit_bg.jpg) no-repeat 0 center;
  background-size:cover;
  min-height:500px;
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  position:relative;
  z-index:1;
}
.recruit_catch::after{
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 25%;
  height: 100%;
  opacity: 0;
  z-index:-1;
  background: #c8161d;
  transition: all 0.7s ease-out 0.4s;
  -webkit-transform-origin: left bottom;
  transform-origin: left bottom;
  -webkit-transform: skew(20deg); transform: skew(20deg);
}
.recruit_catch.effectStart::after{
  opacity:.5;
}
.recruit_catch h2{
  font-weight:bold;
  color:#fff;
  font-size:3rem;
  margin:0;
}
.recruit_catch h2 small{
  display:inline-block;
  font-size:2rem;
}
@media screen and (max-width: 640px) {
  .recruit_catch{
    min-height:300px;
  }
  .recruit_catch h2{
    font-size:7vw;
    text-align:center;
    letter-spacing:.1em;
  }
  .recruit_catch h2 small{
    font-size:5vw;
  }
  .recruit_catch::after{
    width: 60%;
    -webkit-transform: skew(30deg);
    transform: skew(30deg);
  }
}
.contact_form{
  background-color:#fff;
}
.contact_form .container{
  max-width:1000px;
}
/************************************
form
*************************************/

/*
bulma-reset
***********************/
.input.is-active, .input.is-focused, .input:active, .input:focus, .textarea.is-active, .textarea.is-focused, .textarea:active, .textarea:focus{
  border:2px solid #ff9600;
  box-shadow:none;
}
.control.has-icons-left .icon, .control.has-icons-right .icon{
  height: 100%;
}
.is-checkradio{
  display:inline-block;
}
.checkbox, .radio{
  line-height: 2;
}
/*
reset
***********************/

button,
option,
form select,
textarea,
input[type="button"],
input[type="submit"],
input[type="number"],
input[type="email"],
input[type="tel"],
input[type="text"],
form input[type="select"],
input[type="option"],
input[type="password"],
form input[type="checkbox"] {
    -webkit-appearance: none;
    -moz-appearance: none;
    -ms-appearance: none;
    appearance: none;
    -webkit-border-radius: 0;
    -moz-border-radius: 0;
    -ms-border-radius: 0;
    border-radius: 0;
    border: none;
    outline: 0;
    margin: 0;
    background: #fff;
}
input:focus{
     box-shadow:none;
}

/* デフォルトのradio、checkboxは非表示 */

form input[type=radio],
form input[type=checkbox] {
    display: none;
}

/* for firefox */

select {
    text-indent: 0.01px;
    text-overflow: '';
}

/* for ie10 ie11 ie系のプルダウンの矢印を消す ie9は非対応 */

select::-ms-expand {
    display: none;
}
textarea,
input[type="number"],
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="password"]{
    width: 100%;
    padding: 10px;
    font-size: .88rem;
    border: 1px solid #ddd;
    height:2.25rem;
    box-shadow:none;
    margin:.3rem 1rem .3rem 0;
}

textarea {
    height: 100px; /* お好みの高さに */
}

/* フォーカス時の色変更 */

textarea:focus,
input[type="tel"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
input[type="text"]:focus,
textarea:hover,
input[type="tel"]:hover,
input[type="email"]:hover,
input[type="password"]:hover,
input[type="text"]:hover,
.select select:hover{
    border: 1px solid #ff9600;
    box-shadow:none;
}
/* ラジオボタン */

form input[type=radio]+label {
    position: relative;
    display: inline-block;
    font-size: .88rem;
    cursor: pointer;
    padding: 8px 10px 8px 38px;
    margin:.3rem 1rem .3rem 0;
    background-color:#eee;
    transition:.4s;
}
form input[type=radio]+label:hover{
  background-color:#ffe2b9;
}
form input[type=radio]+label::before,
form input[type=radio]+label::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    -ms-border-radius: 50%;
    border-radius: 50%;
}

form input[type=radio]+label::before {
    width: 22px;
    height: 22px;
    margin-top: -12px;
    background: #FFF;
    border: 1px solid #eee;
}

form input[type=radio]+label::after {
    left: 16px;
    width: 10px;
    height: 10px;
    margin-top: -6px;
    background: #f4f4f4;
}

form input[type=radio]:checked+label::after {
    background: #ff9600;
}
form input[type=radio]:checked+label{
  background-color:#ffe2b9;
}
/* チェックボックス */

form input[type="checkbox"] { display: none; }

form input[type="checkbox"] + label {
    position: relative;
    display: inline-block;
    font-size: .88rem;
    cursor: pointer;
    padding: 8px 10px 8px 38px;
    margin:.3rem 1rem .3rem 0;
    background-color:#eee;
    line-height:1.5;
}
@media screen and (max-width: 640px) {
  input[type="checkbox"] + label {
    margin:.3rem .5rem .3rem 0;
  }
}

input[type="checkbox"]+label::after {
    position: absolute;
    display: block;
    content: '';
    top: 50%;
    left: 10px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

input[type="checkbox"] + label:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 3px solid transparent;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top:-10px;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
  z-index:10;
}
input[type="checkbox"] + label:after {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 3px solid #dfdfdf;
  background-color:#fff;
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top:-10px;
  opacity: .6;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}
input[type="checkbox"]:checked + label{
  background-color:#ffe2b9;
}
input[type="checkbox"]:checked + label:before {
  width: 9px;
  height:18px;
  top: 18px;
  left: 15px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  border-right-color: #ff9600;
  border-bottom-color: #ff9600;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}
.select {
    display: inline-block;
    position: relative;
    width: auto;
    margin: .3rem 0 .4rem;
    font-size: .88rem;
    border-radius: 0;
}

.select:after {
    position: absolute;
    display: block;
    content: '';
    width: 0;
    height: 0;
    border-top: 6px solid transparent!important;
    border-left: 6px solid transparent!important;
    border-bottom: 6px solid transparent!important;
    border-right: 6px solid transparent!important;
    border-top: 6px solid #333!important;
    top: 50%!important;
    right: 10px!important;
    -webkit-transform: rotate(0deg)!important;
    transform: rotate(0deg)!important;
    margin-top: 0!important;
    pointer-events: none;/* クリック出来るよう */
}
.select select {
    width: 100%;
    height: 2.25rem;
    font-size: .88rem;
    padding: 0 10px;
    border:1px solid #eee;
    border-radius:0;
    position: relative;
    box-sizing:border-box;
}

/* ie9対策 */




/* Google Chrome, Safari, Opera 15+, Android, iOS */

::-webkit-input-placeholder {
    color: #ccc;
    font-size: .88rem;
}

/* Firefox 18- */

:-moz-placeholder {
    color: #ccc;
    opacity: 1;
    font-size: .88rem;
}

/* Firefox 19+ */

::-moz-placeholder {
    color: #ccc;
    opacity: 1;
    font-size: .88rem;
}

/* IE 10+ */

:-ms-input-placeholder {
    color: #ccc;
    font-size: .88rem;
}

.group_inline{
  position:relative;
  display: -webkit-flex;
  display: inline-flex;
  -webkit-align-items: center;
  align-items: center;
  margin:.3rem 1rem .3rem 0;
}
.group_inline span,
.group_inline b{
  background-color:#eee;
  border-right:none;
  height:100%;
  height: 2.25rem;
  width: auto;
  padding:0 .5rem;
  line-height:2.25rem;
  font-weight: normal;
}
.group_inline input{
    margin-right:0;
    width: auto;
}
@media screen and (max-width: 640px) {
  .group_inline{
    width: 100%;
    margin: .3rem 0;
  }
  .group_inline input{
      margin-right:0;
      max-width: 100%!important;
      width: 100%;
  }
  textarea, input[type="number"], input[type="text"], input[type="email"], input[type="tel"], input[type="password"]{
      max-width: 100%!important;
      width: 100%;

  }
}

/************************************
form_end
*************************************/
section.privacy {
  background-color:#fff;
}
section.privacy .container{
  max-width:1000px;
}
section.privacy h3{
  font-size:1.1rem;
  font-weight:bold;
}
section.privacy p{
  margin-bottom:1.5rem;
}


.marketing_content{
  background-color:#fff;
  position:relative;
  overflow:hidden;
}
.marketing_content .spin_l,
.marketing_content .spin_r{
  position:absolute;
  bottom: -50%;
  right:-20%;
  width:50%;
  opacity:.5;
}
.marketing_content .spin_l{
  right:-21%;
  bottom:-41%;
}
.marketing_content .spin_r{
}
@media screen and (max-width: 768px) {
  .marketing_content .spin_l,
  .marketing_content .spin_r{
    width:80%;
    opacity:.5;
  }
  .marketing_content .spin_l{
    right:-30%;
    bottom:-50%;
  }
}
@media screen and (max-width: 640px) {
  .marketing_content .spin_l,
  .marketing_content .spin_r{
    width:100%;
    opacity:.5;
    bottom:-20%;
  }
  .marketing_content .spin_l{
    right:-30%;
    bottom:-25%;
  }
}
.marketing_content .spin_l img {
  -webkit-animation: spinR 200s linear 0s infinite;
  -moz-animation: spinR 200s linear 0s infinite;
  animation: spinR 200s linear 0s infinite;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
}
.marketing_content .spin_r img {
  -webkit-animation: spinL 200s linear 0s infinite;
  -moz-animation: spinL 200s linear 0s infinite;
  animation: spinL 200s linear 0s infinite;
  -webkit-animation-fill-mode: both;
  -moz-animation-fill-mode: both;
  animation-fill-mode: both;
}
@-webkit-keyframes spinR {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-moz-keyframes spinR {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes spinR {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes spinL {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@-moz-keyframes spinL {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
@keyframes spinL {
  0% {
    transform: rotate(360deg);
  }
  100% {
    transform: rotate(0deg);
  }
}
/* box_06 */
.box_06{
  max-width:1000px;
  margin:0 auto;
  padding:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  overflow:inherit;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}

.box_06 li{
  margin:0;
  width:calc(100% / 3);
  background: #c8161d;
  background: -webkit-gradient(linear,left top,right top,from(#c8161d),to(#832527));
  background: linear-gradient(to right,#c8161d 0,#832527 100%);
  position:relative;
}
.box_06 li .inner{
  display:block;
  background-color:#fff;
  border:1px solid #ddd;
  width:100%;
  height:100%;
  -webkit-transition: 200ms;
  transition: 200ms
  position:relative;
  padding:3rem 2rem;
}
.box_06 li .inner img{
  width:20%;
  margin:1rem auto;
}
.box_06 li .inner small {
  font-weight:bold;
  text-align:center;
  color:#c8161d;
  font-size:1rem;
  margin:1rem auto 0;
  display:block;
}
.box_06 li .inner h3 {
  text-align:center;
  font-size:1.2rem;
  font-weight:700;
  margin-bottom:.5rem;
}
.box_06 li .inner p {
  max-width: 260px;
  margin:0 auto;
}
.box_06 li:hover .inner{
  -webkit-transform: translate(-15px, -15px);
  transform: translate(-15px, -15px);
}
@media screen and (max-width: 768px) {
  .box_06 li{
    width:calc(100% / 2);
  }
}
@media screen and (max-width: 480px) {
  .box_06 li{
    width:calc(100% / 2);
  }
  .box_06 li .inner{
    padding:1.5rem .8rem;
  }
}
/* end/box_06 */

section.seo{
  padding:0;
  margin:0;
}
.seo .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  background-color:#c8161d;
}
.seo .flex .item{
  width:50%;
}
.seo .flex .item.cont{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding:5rem 2rem;
  min-height:460px;
}
.seo .flex .item.img{
  position:relative;
  overflow:hidden;
}
.seo .flex .item.img img{
  position: absolute;
  top: 0;
  right: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;
  max-width: inherit;
}
.seo .flex .item.cont h2{
  color:#fff;
  font-size:1.4rem;
  font-weight:700;
  margin:0 0 .5em 0;
  font-family:"Noto Sans JP", "ヒラギノ角ゴ Pro W3",Hiragino Kaku Gothic Pro,Osaka,"メイリオ",Meiryo,"ＭＳ Ｐゴシック",MS P Gothic,Verdana,sans-serif;
}
.seo .flex .item.cont p{
  color:#fff;
}
@media screen and (max-width: 768px) {
  .seo .flex .item.cont{
    width:100%;
    min-height:260px;
    padding:1rem ;
  }
  .seo .flex .item.img{
    display:none;
    width:100%;
    min-height:260px;
  }
}
@media screen and (max-width: 640px) {
  .seo .flex .item.cont{
    padding:4rem 1rem;
  }
  .seo .flex .item.cont h2{
    font-size:4.7vw;
  }
}



/*********************
* slideaction
*********************/

.u-animation.go:before {
    -webkit-animation-name: obiStart, obiEnd;
    animation-name: obiStart, obiEnd;
    -webkit-animation-duration: .5s, .5s;
    animation-duration: .5s, .5s;
    -webkit-animation-timing-function: cubic-bezier(.86, 0, .07, 1), cubic-bezier(.86, 0, .07, 1);
    animation-timing-function: cubic-bezier(.86, 0, .07, 1), cubic-bezier(.86, 0, .07, 1);
    -webkit-animation-delay: 0s, .5s;
    animation-delay: 0s, .5s;
    -webkit-animation-direction: alternate;
    animation-direction: alternate;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
}
.u-animation.go .u-animation__inner {
    -webkit-animation-name: obiInner;
    animation-name: obiInner;
    -webkit-animation-duration: 0s;
    animation-duration: 0s;
    -webkit-animation-delay: .5s;
    animation-delay: .5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}
.u-animation--1:before {
    -webkit-animation-delay: .1s, .7s;
    animation-delay: .1s, .7s
}
.u-animation--1 .u-animation__inner {
    -webkit-animation-delay: .7s;
    animation-delay: .7s
}

.u-animation {
    display: block;
    position: relative;
    overflow: hidden;
    background-color: transparent!important;
}
.u-animation:before {
    content: '';
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    background-color: #c8161d;
    -webkit-transform: translateX(-101%);
    transform: translateX(-101%);
    top: 0;
    left: 0;
    z-index: 150;
}
.u-animation .inner{
  opacity: 0;
  -webkit-transition-delay: .5s;
  transition-delay: .5s;
}
.u-animation.go .inner{
  opacity: 1;
}
@media(min-width:1024px) {
.u-animation--mdIb {
    display: inline-block !important;
}
}

@media(min-width:1024px) {
.u-animation--mdfull {
    display: block!important;
}
}
.u-animation__inner {
    opacity: 0;
    padding: 0!important;
}
@-webkit-keyframes obiInner {
0% {
opacity:0
}
100% {
opacity:1
}
}
@keyframes obiInner {
0% {
opacity:0
}
100% {
opacity:1
}
}
@-webkit-keyframes obiStart {
0% {
-webkit-transform:translateX(-101%);
transform:translateX(-101%)
}
100% {
-webkit-transform:translateX(0);
transform:translateX(0)
}
}
@keyframes obiStart {
0% {
-webkit-transform:translateX(-101%);
transform:translateX(-101%)
}
100% {
-webkit-transform:translateX(0);
transform:translateX(0)
}
}
@-webkit-keyframes obiEnd {
0% {
-webkit-transform:translateX(0);
transform:translateX(0)
}
100% {
-webkit-transform:translateX(101%);
transform:translateX(101%)
}
}
@keyframes obiEnd {
0% {
-webkit-transform:translateX(0);
transform:translateX(0)
}
100% {
-webkit-transform:translateX(101%);
transform:translateX(101%)
}
}


.sns{
  background-color:#fff;
}
.sns .flex{
  margin:0;
  padding:0;
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.sns .flex .item{
  width:30%;
}
.sns h3{
  font-size:1.2em;
  font-weight:700;
  color:#c8161d;
}
@media screen and (max-width: 640px) {
  .sns .flex .item{
    width:100%;
    max-width:480px;
    margin:0 auto;
  }
  .sns .flex .item img{
    max-width: 50%;
    width:300px;
  }
}
.risk_merit{
  color:#fff;
  background: #4DB15C;
}
.risk_merit ul{
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
  margin:3rem auto 0;
  padding:0;
}
.risk_merit ul li{
  width:calc(100% / 6);
  text-align:center;
  margin-bottom:2rem;
  border-right:1px solid #7ccc88;
}
.risk_merit ul li img{
  max-width:80px;
}
.risk_merit ul li h3{
  font-weight:700;
  font-size:1.1rem;
  line-height:0;
  margin:2rem 0 1rem;
}
@media screen and (max-width: 1100px) {
  .risk_merit ul li{
    width:calc(100% / 3);
  }
  .risk_merit ul li:nth-child(3){
    border:none;
  }
}
@media screen and (max-width: 768px) {
  .risk_merit h2{
    font-size:1.5rem;
  }
}
@media screen and (max-width: 480px) {
  .risk_merit ul li{
    width:calc(100% / 2);
  }
  .risk_merit ul li:nth-child(3){
    border-right:1px solid #7ccc88;
  }
  .risk_merit ul li:nth-child(2){
    border:none;
  }
}

.risk_about{
  background-color:#fff;
  position:relative;
}
.risk_about::after{
  background-color:#c8161d;
  position:absolute;
  display:block;
  content:"";
  width:100%;
  height:65%;
  top: 50%;
  left:0;
  transform: skewY(-2deg) translateY(-50%) scaleX(0);
  transform-origin: left;
  transition: 1s cubic-bezier(0.86, 0, 0.07, 1) transform;
}
.risk_about.effectStart::after {
  transform: skewY(-2deg) translateY(-50%) scaleX(1);
}
.risk_about .container{
  position:relative;
  z-index:1;
  color:#fff;
}
.risk_about .flex{
  display: -webkit-flex;
  display: flex;
  -webkit-align-items: center;
  align-items: center;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content:         space-between;
}
.risk_about .flex .cont{
  width:63%;
}
.risk_about .flex .img{
  width:35%;
  position:relative;
}
.risk_about .flex .img img{
  position:relative;
  transform:translateY(-10%);
}
@media screen and (max-width: 1000px) {
  .risk_about::after{
    height:80%;
  }
}
@media screen and (max-width: 768px) {
  .risk_about .flex .cont{
    width:100%;
    order:2;
  }
  .risk_about .flex .img{
    width:100%;
    position:relative;
    order:1;
    display:none;
  }
  .risk_about.effectStart::after{
    height:100%;
    transform: skewY(0deg) translateY(-50%) scaleX(1);
  }
  .risk_about h2{
    font-size:1.5rem;
  }
  .risk_about .flex .img img{
    position:relative;
    transform:translateY(-5%);
  }
}
.footer.custom{
  background-color:#202020;
  padding:6rem 0;
	color:#FFF;
}
.footer.custom .f_menu{
  margin:0 auto;
  width:100%;
}
.footer.custom .f_menu ul{
  justify-content:center;
}
.footer.custom .f_menu ul li{
  margin:0 1rem 2rem 0;
}
.footer.custom  ul li a{
  padding:0 1em 0 0;
  line-height:1;
  color:#fff;
  transition:.2s;
}

.footer.custom ul li a:before {
    content: '-　';
    font-weight: 500;
}


.footer.custom .f_menu ul li a:hover{
  color:#c8161d;
}
.footer.custom .f_menu ul li:last-child a{
  border:none;
}
.footer.custom .address{
  margin-top:2rem;
  text-align:center;
  color:#fff;
}
.footer.custom .address a{
  color:#fff;
  text-decoration:none;
}
.footer.custom .copyright{
  font-weight:700;
  color:#fff;
  padding:0;
}
@media screen and (max-width: 640px) {
  .footer.custom{
    background-color:#202020;
    padding:3rem 0 4rem;
  }
}

/* infomation */
.page-tit {
	padding: 30px 0;
	margin-top: 146px;
}
.page-tit h1 {
	font-size: 3.2rem;
	font-weight: bold;
	text-align: center;
}

main.single section,
main.category section {
  padding: 4rem 0 4rem;
}

.archive-news_sec {
	/* margin-bottom: 60px; */
}

.archive-news_sec .container {
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
}
.archive-news_sec .news_area {
  width: 100%;
  padding: 0;border: unset;
}
.archive-news_sec ul.news_list {
  width: 100%;
  padding: 0;
  border: unset;
  margin:0 auto 2rem;
  max-width:960px;
}
.archive-news_sec ul.news_list li{
	padding:0;
	margin:0;
}
.archive-news_sec ul.news_list li:before{
	content:none;
}

.archive-news_sec ul:not(.projects_list) li:last-child {
  margin-bottom: 0!important;
}
.archive-news_sec ul li::before {
  content: unset;
}
.archive-news_sec ul li a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items:center;
  color: inherit;
  text-decoration: unset;
  padding: 1rem;
  transition: 0.3s;
  border-bottom:1px solid #ddd;
}
.archive-news_sec ul li a:hover {
  color: unset;
  text-decoration: none;
  opacity: 0.7;
}
.archive-news_sec ul:not(.projects_list) li:last-child {
  margin-bottom: 0;
}
.archive-news_sec ul li::before {
  content: unset;
}
.archive-news_sec ul li a .info__item{
  height:100%;
}
.archive-news_sec ul li a .info__item h3{
  line-height:1.5;
  text-align:left;
  padding-bottom:0;
  border:none;
}
.archive-news_sec ul li a .info__item .info__row-content{
  line-height:1.5;
}
.archive-news_sec ul li a .news-info {
  width: 100%;
  display:flex;
  align-items:flex-start;
  gap:1rem;
}
@media screen and (max-width: 960px) {
.archive-news_sec ul li a .news-info {
  flex-wrap:wrap;
}
}
.archive-news_sec ul li a .news-content {
  width: 100%;
}

.archive-news_sec ul li .data {
  display:inline-block;
  color: #c8161d;
  margin:0;
  font-weight:700;


}
.archive-news_sec ul li p.category {
  display: inline-block;
  min-width: 108px;
  text-align: center;
  margin: 0;
}
.archive-news_sec ul li p.category.news {
  color: #fff;
  background-color:#c8161d;
  margin-top: 0;
  font-size:.875rem;
}
.archive-news_sec ul li h3.news-text {
  display: inline-block;
  font-size: 1.2rem;
  margin:0;
  font-weight:normal;
  border:none;
  margin:0;
  padding:0;
  font-weight:700;
}

.archive-news_sec .wp-pagenavi {
  clear: both;
  display: flex;
  justify-content: center;
}
.archive-news_sec .wp-pagenavi a:hover,
.archive-news_sec .wp-pagenavi span.current {
  color: #fff;
  border-color: #c8161d;
  background: #c8161d;
}
.archive-news_sec .wp-pagenavi a,
.archive-news_sec .wp-pagenavi span {
  text-decoration: none;
  color: #c8161d;
  border: 1px solid #c8161d;
  padding: 3px 5px;
  margin: 2px;
}
.archive-news_sec .wp-pagenavi a,
.archive-news_sec .wp-pagenavi span {
  text-decoration: none;
  border: 1px solid #c8161d;
  padding: 10px 12px;
  line-height:1;
  margin: 4px;
  transition: 0.3s;
}

section.single-news_sec {
  margin-bottom: 0;
}
.single-news_sec .container {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
}
.single-news_cont {
  margin-bottom: 2rem;
}
.single-news_sec .btn-area {
  display: flex;
  justify-content: center;
}
.single-news_sec .btn-area .btn_default {
  min-width: 240px;
}
.single-news_sec .btn-area a.btn {
  color: #fff;
}
@media (max-width: 640px) {
  table.responsive_stack, table.responsive_stack thead, table.responsive_stack tbody, table.responsive_stack tr, table.responsive_stack th, table.responsive_stack td {
    display: block;
    width: auto!important;
  }
  table.responsive_stack th {
    background-color: #F3F3F3;
    border-bottom: none!important;
    padding: .4rem;
    text-align: center;
    line-height: 1.5;
  }
  table.responsive_stack td {
    border-bottom: none!important;
  }
  table.responsive_stack {
    border-bottom: 1px solid #ddd;
  }
}
.single-news_sec table.table_default {
  margin-bottom:1rem;
  width:100%;
  table-layout: fixed;
}
.single-news_sec table.table_default th {
  width:25%;
  min-width:10rem;
  font-weight:normal;
}
.single-news_sec table.table_default th,
.single-news_sec table.table_default td {
  border:1px solid #c8161d;
  padding:1rem;
}
.single-news_sec table.table_default th {
  background-color:#FFF8F8;
  vertical-align: middle;
  text-align:center;
}
.single-news_sec img {
  width: unset;
  max-width: 100%;
}
.single-news_sec img.alignleft {
  float: left;
  max-width:40%;
  padding: 0 0.5rem 0.5rem 0;
}
.single-news_sec img.aligncenter {
  display: block;
  margin: 0 auto;
}
.single-news_sec img.alignright {
  float: right;
  max-width:40%;
  padding: 0 0 0.5rem 0.5rem;
}
.news__tag {
  min-width: 84px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .page-tit {
    padding: 20px 0;
    margin-top: 58px;
  }
  .page-tit h1 {
    font-size: 2.8rem;
    font-weight: bold;
    text-align: center;
  }

  .archive-news_sec .container {
    padding: 0 1rem;
    box-sizing: border-box;
  }
  .archive-news_sec h2 {

  }
  .archive-news_sec ul li h3.news-text {
    display: block;
  }

  .single-news_sec .container {
    padding: 0 1rem;
    box-sizing: border-box;
  }
  .single-news_sec h2 {
    font-size: 2rem;
  }
  .single-news_sec h3 {
    font-size: 1.6rem;
  }
  .single-news_sec h4 {
    font-size: 1.4rem;
  }
  .single-news_sec table.table_default th,
  .single-news_sec table.table_default td {
    display: block;
    width: 100%;
    border-bottom: 0;
  }
  .single-news_sec table.table_default tr:last-child td {
    border-bottom: 1px solid #c8161d;
  }
  .single-news_sec img {
    width: unset;
    max-width: 100%;

  }
  .single-news_sec img.aligncenter {
    display: block;
    float: unset;
    width: unset;
    padding: 0;
  }
}

.company .news_area dl > a {
  width: 100%;
  color: #222;
  transition: 0.2s;
}
.company .news_area dl > a:hover {
  display: inline-block;
  text-decoration: none;
  background: #C8161D11;
}
.company .news_area dl > a dt {
  padding: 1rem 1rem 0 1rem;
}
.company .news_area dl > a dd {
  padding: 0 1rem 1rem 1rem;
}
.page_tit p{
	margin:0;
	line-height:1.25;
}
.single .sub .page_tit,
.single .sub .page_tit,
.archive .sub .page_tit,
.category .sub .page_tit,
.error404 .sub .page_tit{
  font-size: 2.8rem;
  font-weight: 400;
  background: #202020;
  padding:6rem 0;
  margin:0;
  font-family: 'Hammersmith One', sans-serif;
}
.single-news_cont h2{
  font-size: 24px;
  line-height: 1.4166666667;
  background: #bf1015;
  color: #fff;
  padding: 8px 16px;
}

.single-news_cont h3,.single-news_list h2{
  font-weight: 700;
  font-size: 1.25rem;
  letter-spacing: .1em;
  line-height: 1.25;
  margin: 2em 0 1em;
  border-left: 0.5em solid #c52024;
  padding: 0.75em;
  background: #f8f8f8;
}

.single-news_cont h4{
  font-weight: 700;
  font-size: 1.2rem;
  border-bottom:3px double #c52024;
  padding:0.5em 0;
  line-height: 1.5;
  margin:1em 0 1em;
}

/*
.single-news_cont h4{
  font-weight: 700;
  padding:0 0 0 1em;
  font-size: 1.125rem;
  margin: 1em 0 0.5em;
  clear:both;
  position: relative;
}
.single-news_cont h4::before {
   position: absolute;
   content: '';
   top: 3px;
   left: 0px;
   width: 6px;
   height: 1.6rem;
   border-radius: 3px;
   background: #c8161d;
}
*/

.single-news_cont h5 {
  font-weight: 700;
  font-size: 1.125rem;
  margin: 1em 0 0.25em;
}
.single-news_cont p {
  line-height: 2;
  font-size:1.1rem;
  margin-bottom: 2em;
}
.marker{
	background: linear-gradient(rgba(255, 255, 255, 0) 35%, rgba(250, 245, 117, 0.98) 50%);
	font-weight:700;
}
.box01 {
    background: #f9f9f9;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    padding:2rem;
}
.box01:before {
    background: #c8161d;
    -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}
@media screen and (max-width: 640px) {
	.box01 {
	    padding:1.5rem;
	}
}
.box02 {
  position: relative;
  width: 100%;
  padding: 2rem;
  margin: 2rem 0;
  border-top: 3px double #c8161d;
  background: #fff;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.box02 .box_tit {
  position: absolute;
  top:0;
  left:2em;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  padding: 0 1em 0 2.5em;
  margin: 0;
  color: #c8161d;
  font-weight: 700;
  line-height: 1.5;
  background: #fff;
  border:none;
  transform:translateY(-50%);
}
.box02 .box_tit:before {
  content: "";
  position: absolute;
  left: 0.5em;
  display: block;
  width:1.5em;
  height: 1.5em;
  margin: 0;
  background: url(../img/icon_caution.png) center center no-repeat;
  background-size: 100%;
}
.box02 p{
	margin:0;
}
@media screen and (max-width: 640px) {
	.box02 {
	    padding:1.5rem;
	}
}
.single-news_cont table{
  margin-bottom:1rem;
  width:100%;
  table-layout: fixed;
}
.single-news_cont table th{
  width:25%;
  min-width:10rem;
  font-weight:normal;
}
.single-news_cont table th,
.single-news_cont table td{
  border:1px solid #ddd;
  padding:1rem;
  vertical-align:middle;
}
.single-news_cont table th{
  background-color:#eee;
  font-weight:700;
  vertical-align: middle;
  text-align:center;
}
.single-news_cont table td{
  background-color:#fff;
}

.single-news_cont ul{
    background: #EEE;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    padding:2rem;
		font-size:1.2em;
		font-weight:bold;
}
.single-news_cont ul:before {
    background: #c8161d;
    -webkit-clip-path: polygon(0 0, 100% 0, 0 100%);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    content: "";
    display: block;
    height: 22px;
    left: 0;
    position: absolute;
    top: 0;
    width: 22px
}
.single-news_cont ul li {
  position: relative;
  padding-left: 0.75em;
}
.single-news_cont ul li:before {
  border-radius: 50%;
  width: 5px;
  height: 5px;
  display: block;
  position: absolute;
  left: 0;
  top: 0.75rem;
  content: "";
  background: #c8161d;
}






.single-news_cont ul.check_list{
  padding:0;
}
.single-news_cont ul.check_list li{
  padding:0 0 0 1.25em;
}
.single-news_cont ul.check_list li::before{
  background:url(img/icon_check.svg) no-repeat left top / contain transparent;
  width:1em;
  height:1em;
  border-radius:0;
  top:0.35em;
}
.single-news_cont ol{
  counter-reset: item;
  list-style-type: none;
    background: #EEE;
    border-radius: 4px;
    overflow: hidden;
    position: relative;
    padding:2rem;
		font-size:1.2em;
		font-weight:bold;
		margin:1em 0 2em
}
.single-news_cont ol ol{
  padding-left: 1em;
}
.single-news_cont ol li{
  text-indent: -1.3em;
  padding-left: 1.3em;
  padding-bottom: 0.5em;
}
.single-news_cont ol li:before {
  counter-increment: item;
  content: counter(item)'.';
  padding-right: .5em;
  font-weight: bold;
  color: #c8161d;
}
.single-news_cont ul ol{
  padding-left: 0.5em;
  margin:0.75em 0 1.25em;
}
.single-news_cont ul ol li{
  padding-left: 1.25em;
  margin: 0 0 0.5em;
  text-indent:0;
  font-size:0.875rem;
}
.single-news_cont ul ol li::before{
  background:none;
  width:auto;
  height:auto;
  top:0;
}
@media screen and (max-width: 640px) {
  .single .sub h1,
  .single .sub .page_tit,
  .archive .sub h1,
  .category .sub h1 {
    font-size: 8vw;
  }
  .single-news_cont h2{
    font-size: 1.3rem;
    margin-bottom:1em;
  }
  .single-news_cont h3::before {
    top: 1px;
  }
}
.single-news_sec .text_center{
 display: flex;
  justify-content: center;
}
.single-news_sec .btn:hover::before{
  background: #c8161d;
}
/* end/infomation */

/* 404 */
.no-page h3{
  font-size:1.2rem;
  color:#c8161d;
  font-weight: 700;
  padding:0.25em 0;
  font-size: 1.175rem;
  margin-bottom: 10px;
  margin-top: 2rem;
  clear:both;
}
.no-page .text_center{
  display: flex;
  justify-content: center;
}
.no-page .btn {
  padding: 0.5rem 1rem;
}
.no-page .btn::before{
  background: #222;
}
.no-page .btn:hover::before{
  background: #c8161d;
}
/* end/404 */

/* read_cont */
.read_cont {
  margin:3rem 0 2rem;
}
.read_cont a{
  display:block;
  border:1px solid #ddd;
  position:relative;
  text-decoration:none;
  border-radius:4px;
  transition:.2s;
}
.read_cont a:hover{
  transform:translateY(-2px);
  box-shadow:0 2px 5px #b1b1b1;
}
.read_cont .blog-card-head{
  position:absolute;
  top:-1rem;
  left:1rem;
  display:flex;
  align-items:center;
  background-color:#fff;
  padding:0 0.5rem;
}
.read_cont .blog-card-head .icon{
  display:block;
  width:36px;
  height:36px;
  background-color:#c52024;
  border-radius:50%;
  padding:8px;
  margin-right:0.5em;
}
.read_cont .blog-card-head .blog-card-hl{
  color:#c52024;
}
.read_cont .blog-card-box {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding:2rem 1.5rem 1rem;
}
.read_cont .blog-card-box .blog-card-thumbnail{
  width:160px;
}
.read_cont .blog-card-box .blog-card-content{
  display:block;
  width:calc(100% - 176px);
}
.read_cont .blog-card-title{
  color:#c52024;
  font-weight:bold;
  display:block;
  font-size:1.125rem;
  margin-bottom:0.25em;
}
.read_cont .blog-card-excerpt{
  color:#999;
  font-size:0.875rem;
}
.read_cont .blog-card-foot{
  background-color:#c52024;
  color:#fff;
  font-size:.875rem;
  padding:0.25em 0.5em;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  border-radius:0 0 4px 4px;
}
.read_cont a:hover .blog-card-foot{
  background-color:#d8282c;
}
.read_cont .blog-card-foot::after{
  content:'';
  width:0.4em;
  height:0.4em;
  display:inline-block;
  border-right:2px solid #fff;
  border-bottom:2px solid #fff;
  transform:rotate(-45deg);
  margin:0 0.25em;
}
@media screen and (max-width: 640px) {
  .read_cont a:hover{
    transform:translateY(-2px);
    box-shadow:0 2px 5px #b1b1b1;
  }
  .read_cont .blog-card-head .icon{
    width:28px;
    height:28px;
    padding:6px;
  }
  .read_cont .blog-card-box {
    padding:2rem 1rem 1rem;
  }
  .read_cont .blog-card-box .blog-card-thumbnail{
    width:80px;
  }
  .read_cont .blog-card-title{
    font-size:0.875rem;
  }
  .read_cont .blog-card-box .blog-card-content{
    width:calc(100% - 90px);
  }
  .read_cont .blog-card-excerpt{
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3; /* 制限したい行数が3の場合 */
    overflow: hidden;
  }
}

/* end/read_cont */

/* flow_area */
.flow_area {
  margin:2rem 0 3rem;
}
.flow_area .flow_area_wrap .row {
  margin-bottom: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.flow_area .flow_area_wrap .row .col.mod_18_head {
  margin-bottom: 20px;
  padding-top: 25px;
  position: relative;
  width: 120px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.flow_area .flow_area_wrap .row .col.mod_18_head > * {
  width: 100%;
}
.flow_area .flow_area_wrap .row .col.mod_18_head p {
  text-align: center;
  font-size: 40px;
  font-size: 3.2rem;
  font-weight:700;
  line-height: 1;
  display: block;
  padding: 0.5em;
  color:#c52024;
}
@media (max-width: 767px) {
  .flow_area .flow_area_wrap .row .col.mod_18_head p {
    font-size: 28px;
    font-size: 2.2rem;
  }
}
.flow_area .flow_area_wrap .row .col.mod_18_head p small {
  font-size: 16px;
  font-size: 1.5rem;
  line-height: 1;
  display: block;
}
@media (max-width: 767px) {
  .flow_area .flow_area_wrap .row .col.mod_18_head p small {
    font-size: 11px;
    font-size: 1.1rem;
  }
}
.flow_area .flow_area_wrap .row .col.mod_18_head:before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 60px 0 60px;
  border-color: #ffffff transparent transparent transparent;
}
.flow_area .flow_area_wrap .row .col.mod_18_head:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 60px 0 60px;
  border-color: #c52024 transparent transparent transparent;
  clear: both;
}
.flow_area .flow_area_wrap .row .col.mod_18_content {
  float: left;
  padding: 1em 0 1em 0;
  width: calc(100% - 120px - 20px);
  margin-left: 20px;
}
.flow_area .flow_area_wrap .row .col.mod_18_content small{
  display:block;
  background-color:#eee;
  padding:1em;
  margin-top:0.5rem;
}
.flow_area .flow_area_wrap .row .col.mod_18_content .mod_18_title {
  color: inherit;
  margin:0 0 0.25em;
  font-size:1.25rem;
  font-weight:700;
  border-bottom:2px solid #ddd;
}
.flow_area .flow_area_wrap .row .col.mod_18_content p:not(.mod_18_title){
  line-height:1.75;
}
@media (max-width: 767px) {
  .flow_area .flow_area_wrap .row .col.mod_18_head {
    margin-bottom: 12px;
    padding-top: 17px;
    width: 80px;
  }
  .flow_area .flow_area_wrap .row .col.mod_18_head:before {
    border-width: 12px 40px 0 40px;
  }
  .flow_area .flow_area_wrap .row .col.mod_18_head:after {
    bottom: -12px;
    border-width: 12px 40px 0 40px;
  }
  .flow_area .flow_area_wrap .row .col.mod_18_content {
    padding: 12px 0.5em 0.5em 0;
    width: calc(100% - 80px - 12px);
    margin-left: 12px;
  }
}
.flow_area.typeA .flow_area_wrap .row .col.mod_18_head {
  background: #c52024;
}
.flow_area.typeA .flow_area_wrap .row .col.mod_18_head:before {
  border-color: #ffffff transparent transparent transparent;
}
.flow_area.typeA .flow_area_wrap .row .col.mod_18_head:after {
  border-color: #c52024 transparent transparent transparent;
}
.flow_area.highlight.typeA .flow_area_wrap .row .col.mod_18_head:before {
  border-color: #FDF8E6 transparent transparent transparent;
}
.flow_area.typeB .flow_area_wrap .row .col.mod_18_head {
  overflow: hidden;
  margin-bottom: 0;
  padding-bottom: 20px;
}
.flow_area.typeB .flow_area_wrap .row .col.mod_18_head:before, .flow_area.typeB .flow_area_wrap .row .col.mod_18_head:after {
  border-width: 30px 120px 0 120px;
  right: auto;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.flow_area.typeB .flow_area_wrap .row .col.mod_18_head:before {
  top: auto;
  bottom: 2px;
  z-index: 1;
}
@media (max-width: 767px) {
  .flow_area.typeB .flow_area_wrap .row .col.mod_18_head:before {
    bottom: 2px;
  }
}
.flow_area.typeB .flow_area_wrap .row .col.mod_18_head:after {
  bottom: 0;
}
@media (max-width: 767px) {
  .flow_area.typeB .flow_area_wrap .row .col.mod_18_head:after {
    bottom: 0;
  }
}
.flow_area.typeC .flow_area_wrap .row:first-child .col.mod_18_head, .flow_area.typeC .flow_area_wrap .row:nth-child(1) .col.mod_18_head {
  border-top: 1px solid #c52024;
}
.flow_area.typeC .flow_area_wrap .row .col.mod_18_head {
  border-left: 1px solid #c52024;
  border-right: 1px solid #c52024;
  margin-bottom: 0;
}
.flow_area.typeC .flow_area_wrap .row .col.mod_18_head:before {
  top: auto;
  bottom: -20px;
  z-index: 1;
}
@media (max-width: 767px) {
  .flow_area.typeC .flow_area_wrap .row .col.mod_18_head:before {
    bottom: -12px;
  }
}
.flow_area.typeC .flow_area_wrap .row .col.mod_18_head:after {
  bottom: -21px;
}
@media (max-width: 767px) {
  .flow_area.typeC .flow_area_wrap .row .col.mod_18_head:after {
    bottom: -13px;
  }
}
/* end/flow_area */

/* author */
.article_author{
  border: 1px solid #ddd;
  padding: 1.25rem;
  position: relative;
  border-radius: 5px;
  margin: 2rem 0;
}
.article_author h3{
  margin:0 0 1em;
  border:none;
  font-size:1.125rem;
  font-weight:700;
}
.article_author h4{
  color:inherit;
  margin:0 0 0.5em;
  background:none!important;
	border:none;
}
.profile-wrapper{
  display: flex;
  align-items:center;
  justify-content: space-between;
  margin:0 0 1rem;
}
.author-thumbnail{
  width:150px;
  padding:0 1rem;
}
.author-thumbnail img{
  border-radius:50%;
	border:1px solid #CCC;

}
.author-detail{
  width: calc(100% - 166px);
}
.article_author .author-biography{
  font-size:1rem;
  line-height: 1.5;
  margin:0;
}
.article_author .btn_area{
  text-align:center;
}
@media screen and (max-width: 768px) {
  .author-thumbnail{
    width:100px;
    padding:0 1rem 0 0;
  }
  .author-detail{
    width: calc(100% - 100px);
  }
  .article .link_cards_section{
    margin:2rem 0;
  }
  .article .link_cards_section .container{
    justify-content:center;
  }
  .article .link_cards_section .link_card{
    width: 100%;
    max-width:380px;
  }
}
/* end/author */

.two_column{
	max-width:1232px;
	margin:0 auto;
	padding:2rem 1rem;
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.two_column .single-news_sec{
	width:calc(100% - 340px);
	background-color:#fff;
  box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.06);
	padding:40px 40px 4rem;
}
.two_column .side{
	width:300px;
}
@media screen and (max-width: 960px) {
	.two_column .single-news_sec{
		width:100%;
		margin-bottom:4rem;
	}
	.two_column .side{
		width:100%;
		max-width:480px;
		margin:0 auto;
	}
}
@media screen and (max-width: 640px) {
	.two_column .single-news_sec{
		padding:2rem 1.5rem;
	}
}
.two_column .side .side_tag{
	background-color:#fff;
	margin-bottom:1.5rem;
}
.two_column .side .side_tag h3{
	display:flex;
	gap:0.25rem;
	border-bottom:1px solid #ddd;
	padding:0.5em 0.5em;
	justify-content:center;
	font-size:1rem;
	font-weight:700;
}
.two_column .side .side_tag ul{
	margin:0;
	padding:1rem 1rem;
}
.two_column .side .side_tag li{
	margin:0;
	padding:0;
	border-bottom:1px dotted #999;
}
.two_column .side .side_tag li a{
	padding:0.5em;
	display:block;
	color:inherit;
	transition:.2s;
}
.two_column .side .side_tag li:last-child{
	border:none;
}
.two_column .side .side_tag li a:hover{
	text-decoration:none;
	color:#c8161d;
	transform:translateY(-2px);
}
.two_column .side .side_tag h3 img{
	margin:0;
}
.two_column .eyecatch{
	margin-bottom:1.5rem;
}
.side_fix_bnr{
	position: sticky;
    top: 100px;
    margin: 0 0 4rem;
}
.side_fix_bnr a:hover img{
	opacity:.8;
}
.meta{
	margin-bottom:1rem;
	display:flex;
	gap:0.25rem 1rem;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
}
.meta .date{
	display:flex;
	flex-wrap:wrap;
	gap:0 1.5em;
}
.meta .date p{
	color:#999;
	font-size:0.875rem;
	margin:0;
	padding:0;
	line-height:1.5;
}
.meta .date p i{
	margin-right:0.5em;
}
.meta ul{
	margin:0;
	padding:0;
	display:flex;
	flex-wrap:wrap;
	gap:0.5rem;
}
.meta ul li{
	margin:0;
	padding:0;
}
.meta ul li:before{
	content:none;
}
.meta ul li a{
	background-color:#c8161d;
	color:#fff;
	border-radius:4px;
	padding:5px;
	font-size:0.875rem;
	line-height:1;
	display:flex;
	align-items:center;
	justify-content:center;
}
.meta ul li.tag_li a{
	background-color:#fff;
	color:#c8161d;
	border:1px solid #c8161d;
}
.meta ul li a:hover{
	text-decoration:none;
	opacity:.8;
}
.two_column .single-news_sec h1{
	font-size:2rem;
	line-height:1.5;
	font-weight:700;
	margin-bottom:1rem;
}
.single-news_cont blockquote {
	background-color:#eee;
	padding:3em;
	position:relative;
	margin:2rem 0;
}
.single-news_cont blockquote *{
	position:relative;
	line-height:1.75;
	color:#838383;
	z-index:10;
	font-style:italic;
}
.single-news_cont blockquote:before{
	content:'“';
	position:absolute;
	top:0;
	left:0.5rem;
	font-size:10rem;
	font-weight:700;
	color:#e0e0e0;
	line-height: 1;
}
.single-news_cont blockquote:after{
	content:'”';
	position:absolute;
	bottom:-0.35em;
	right:0.5rem;
	font-size:10rem;
	font-weight:700;
	color:#e0e0e0;
	line-height: 1;
}
.single-news_cont blockquote .author{
	margin:0;
	text-align:right;
}
.single-news_cont blockquote .author:before{
	content:'―';
	margin-right:0.5em;
}

.cv_area{
  border:5px solid #eeee;
  margin:3rem 0;
  padding:3rem 2rem;
}
.cv_area h2{
  margin:0 2rem 1em;
  padding:0;
  border:none;
  display:flex;
  justify-content:center;
  background:none;
  font-size:1.5rem;
	color:#333;
	font-weight:bold;
}
.cv_area p{
  display:flex;
  justify-content:center;
}
.cv_area a{
  font-weight:900;
  text-decoration:none;
  font-size:1.125rem;
  text-align:center;
  padding: 1rem 1rem;
  min-width:300px;
  display: block;
  text-align: center;
  touch-action: manipulation;
  border: 1px solid transparent;
  -webkit-box-shadow: inset 0 0 2px #fff;
  box-shadow: inset 0 0 2px #fff;
  text-decoration: none;
  color: #fff;
  background-color: #fb9004;
  border: solid 1px #b77d2d;
  position: relative;
  overflow:visible;
  max-width:480px;
  margin:1rem auto 0;
  letter-spacing:0;
}
.cv_area a:hover{
	opacity:0.8;
}
.cv_area a .fukidashi{
    display: inline-block;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #222;
    border-radius: 5px;
    background: #ffff86;
    width: 122px;
    top: -33px;
    right: -30px;
    animation:fuwafuwa 2s infinite linear alternate;
}
.cv_area a .fukidashi::before {
    content: "";
    position: absolute;
    top: 100%;
    left: 50%;
    border: 8px solid transparent;
    border-top: 11px solid #ffff86;
    margin-left: -8px;
}
@keyframes fuwafuwa {
0% {transform:translate(0, 0) rotate(4deg);}
50% {transform:translate(0, -5px) rotate(4deg);}
100% {transform:translate(0, 0)rotate(4deg);}
}
@media screen and (max-width: 640px) {
  .cv_area a .fukidashi{
    width:110px;
  }
  .cv_area{
    padding:2rem 1rem;
  }
  .cv_area a{
    min-width:240px;
  }
}
@media screen and (max-width: 960px) {
  .pc_only {
    display: none;
  }
}
@media screen and (min-width: 961px) {
  .sp_only {
    display: none;
  }
}
#ez-toc-container li:before{
	content:none;
}
#ez-toc-container li a{
	font-size:0.875rem;
}
.ez-toc-counter nav ul li a::before{
	color:#c8161d;
	font-weight:700;
}

/*コードのコピーボタン整形*/
.copy-btn {
    position: absolute;
    top: 0px;
    right: 0px;
    cursor: pointer;
    background-color: #333;
    color: white;
    border: none;
    padding: 0px 4px;
    opacity: 0.7;
    transition: opacity 0.2s;
}

.copy-btn:hover {
    opacity: 1;
}

.magazine {
	margin-bottom: 1rem;
}
.magazine h2 {
	font-size: 1.5rem;
	line-height: 1;
	background: #fff;
	text-align: center;
	padding: 0.75rem 0 0.5rem;
	margin: 0 .5rem 1rem;
}
section.magazine .container{
  max-width:1800px;
  padding: .5rem .5rem;
}
.magazine ul {
	padding: 0 .5rem;
	margin: 0 0 1rem;
}
.magazine ul li{
	background: #fff;
	padding: 1rem;
	margin-bottom: 0;
}
.magazine ul li img {
	object-fit: cover;
	aspect-ratio: 4/3;
}
.magazine ul li p {
	color: #222;
	line-height: 1.75;
	margin-bottom: 0;
	font-weight:700;
}
.magazine ul li a {
	transition: 0.3s;
}
.magazine ul li a:hover {
	text-decoration:none;
	opacity: 0.7;
}
.magazine .btn_area {
	text-align: center;
}
.slick-track:before, .slick-track:after {
	display: none;
}
@media screen and (min-width: 768px) {
	.magazine ul .slick-track {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		align-items: stretch;
		gap: 1rem;
		width: 100%!important;
	}
	.magazine ul li {
		background: #fff;
		padding: 1rem;
		width: calc(33.33% - 2rem/3)!important;
		height:auto;
	}
	.magazine ul li img {
		margin-bottom: 0.5rem;
	}
}
@media screen and (min-width: 1200px) {
	.magazine ul li{
		width: calc(16.66% - 5rem/6)!important;
	}
}
@media screen and (max-width: 767px) {
	.magazine ul li{
		aspect-ratio: 1/1.4;
		margin: 0 0.5rem;
	}
}

.single-news_list .news-info {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
}
.single-news_list .news-info .img {
	width: 140px;
}
.single-news_list .news-info .img img {
	object-fit: cover;
	aspect-ratio: 1/1;
}
.single-news_list .news-info .txt {
	width: calc(100% - 140px - 2rem);
}
.single-news_list .news-info .txt .news-text {
	width: 100%;
}
.single-news_list .news-info .txt time {
	margin: 0 0.5rem 0.5rem 0;
}
@media screen and (max-width: 767px) {
	.single-news_list .news-info .img {
		width: 100%;
	}
		.single-news_list .news-info .txt {
		width: 100%;
	}
		.single-news_list .news-info .img img {
		object-fit: cover;
		aspect-ratio: 3/2;
	}
}

.site-map {
	background: #fff;
}
.site-map .site-map_list {
    border-bottom: 1px solid #ddd;
}
.site-map .site-map_list li {
	margin-bottom: 1rem;
}
.site-map .site-map_list ul {
	margin-bottom: 1rem;
}
.site-map .site-map_list > .page_item > a {
  font-weight: 700;
  font-size: 1.2rem;
  padding: 1rem 0 0;
  line-height: 1.5;
  margin:0 0.5em;
	display: block;
}
.site-map .site-map_list > li > a {
	display: block;
	position: relative;
}
.site-map .site-map_list > li > a::after {
    position: absolute;
    width: 100%;
    content: '';
    top: 0;
    left: 0;
    border-bottom: 1px solid #ddd;
    display: block;
}
.site-map .site-map_list > li.page_item > ul.children > li {
	position: relative;
	margin-left: 1.25rem;
}
.site-map .site-map_list > li.page_item > ul.children > li::before {
    content: "";
    width: 8px;
    height: 8px;
    background: #c8161d;
    border-radius: 50%;
    display: block;
    position: absolute;
    top: 0.65rem;
    left: -1rem;
}
.site-map .site-map_list > li.page_item > ul.children > li a {
	color: #222;
}
.site-map .page-item-38 {
	display: none;
}




/* カテゴリーマーク共通スタイル */
span[class*="-mark"] {
  display: inline-block;
  padding: 2px 8px;
  font-size: 12px;
  line-height: 1.4;
  color: #fff;
  border-radius: 3px;
  margin-right: 10px;
}

/* SEO */
span.seo-mark {
  background-color: #fb9004;
}

/* Web制作 */
span.web-production-mark {
  background-color: #4DB15C;
}

/* デジタルリスク */
span.digital-risk-mark {

  background-color: #2B7BB9;
}

/* マーケティング */
span.marketing-mark {
  background-color: #c8161d;

}



/* ----------------------------------------
* 目次
---------------------------------------- */
#ez-toc-container ul:before {
	background:none;
}

/* ----------------------------------------
* アドセンス
---------------------------------------- */
.side .ad {
	margin-bottom: 1.5rem;
}

/* 下層ページservice */
.page-template-page-service main{
  background-color:#fff;
  margin-top:50px;
}
.page-template-page-service .contact_area{
  border-top:1px solid #ddd;
}

.page-template-page-service .sub{
  background: none;
  margin-top: 79px;
  position: relative;
}

.page-template-page-service .sub .sv_img img{
  clip-path: polygon(4vw 0, 100% 0, 100% 100%, 0% 100%);
  right: 0;
  top: 30%;
  position: absolute;
  display: block;
  width: 680px;
  height: 261px;
  z-index: 10;
  object-fit: cover;
}

@media screen and (min-width: 993px) {
  .page-template-page-service .sub:after {
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%); /* 初期状態を明確に設定 */
    background-color: #eee;
  }

  @keyframes slideInClipPath {
    0% {
      clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    }
    100% {
      clip-path: polygon(0 0, 68vw 0, 73vw 100%, 0 100%);
    }
  }

  .page-template-page-service .sub.effectStart:after {  /* effectStartクラスが付与された時のみアニメーション開始 */
    animation: slideInClipPath 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  }
}




.page-template-page-service .sub .page_tit{
	padding: 2.5em 1rem;
}

.page-template-page-service .sub .ttl{
	padding:0;
	max-width: 1344px;
	width: 100%;
	text-align:left;
	margin:0 auto;
	letter-spacing:0.05em;
	font-weight:bold;
	font-size:2rem;
	color:#202020;
}
.page-template-page-service .sub .page_tit small{
	text-align:left;
	padding-top:1.5em;
	max-width: 1344px;
	margin-left:auto;
	margin-right:auto;
	color:#202020;
	font-weight:bold;
	

}

@media screen and (max-width: 1300px) {
	.page-template-page-service .sub .sv_img img{
		right:-300px;
	}
}
@media screen and (max-width: 992px) {
	.page-template-page-service main{
		margin-top:0;
	}
	.page-template-page-service .sub{
		margin-top:50px;
	  background-color: #eee;

	}
	.page-template-page-service .sub .sv_img{
		display:none;
	}
	.page-template-page-service .sub:after{
		clip-path: polygon(0 0, 100vw 0, 100vw 100%, 0% 100%);
	}
	.page-template-page-service .sub .ttl{
		padding: 0;
		display:flex;
		flex-direction:column;
		justify-content:center;
		font-weight:bold;
		font-size:1.6rem;
	}
	.page-template-page-service .sub .page_tit small{
		padding: 0;
	}
	.page-template-page-service .breadcrumb{
		border:none;
		margin:0 0 0 0!important;
	}
}

.service_row + .service_row{
	margin:5rem auto 0;
}
.service_row .container{
	padding:3rem 1rem;
	position:relative;
	z-index:10;
}



.tit02 {
    font-size: 1.8rem;
    font-weight: 700;
    margin: 1em 0 0.5em;
    line-height: 1.5;
    color: #202020;
    padding-left: 30px;
}

.tit02::before {
    content: "";
    display: inline-block;
    height: 1.5em;
    width: 6px;
    margin-left: -30px;
    margin-right: 10px;
    vertical-align: middle;
    background-color: rgba(255, 0, 0, 0.4);
    /*background-color: #c8161d;*/
    transform: skewX(15deg);
}

.service_row .item p {
    margin-bottom: 1rem;
}

.tit03{
	font-size:1.375rem;
	font-weight:700;
	margin:1em 0 0.5em;
	line-height:1.5;
	padding:0 0 0 0.5em;
	color:#202020;
  border-left:4px solid #c8161d;
}
.tit04{
	font-size:1.125rem;
	font-weight:700;
	margin:1em 0 0.25em;
	line-height:1.5;
	padding:0;
	color:#c8161d;
}
.service_row p{
	font-size:1rem;
}
.bg01{
	position:relative;
	overflow:hidden;
}
.bg01:before{
  content: "";
  /*background-color: #f4f4f4;*/
	background: linear-gradient(180deg, #f0f0f0 0%, #FFF 75%, #fff 100%);
  width: 300px;
  height: 200%;
  position: absolute;
  left: 0;
  transform: rotate(15deg);
  z-index: 1;
  clip-path: inset(0 0 100% 0);
  transition: clip-path 2.5s cubic-bezier(0.475, 0.425, 0, 0.995) 0.2s;
  top: -133px;
  left: 10%;
}
.bg01:nth-child(even):before{
  left: auto;
  right: 5%;
}
.bg01.effectStart:before{
  clip-path: inset(0);
}
@media screen and (max-width: 992px) {
	.tit02{
		font-size:1.4rem;
	}
	.bg01:before{
	  width: 50%;
	  left: -40%;
	}
	.bg01:nth-child(even):before{
	  right: 20%;
	}
}
.span_2{
	display:flex;
	flex-wrap:wrap;
	gap:2rem 4rem;
}
.span_3{
	display:flex;
	flex-wrap:wrap;
	gap:2rem;
}
.span_4{
	display:flex;
	flex-wrap:wrap;
	gap:2rem;
}
.span_2.reverse{
	flex-direction:row-reverse;
}
.span_2 .item{
	width:calc(50% - 2rem);
}
.span_3 .item{
	width:calc(33.33% - (4rem / 3));
}
.span_4 .item{
	width:calc(25% - 1.5rem);
}
@media screen and (max-width: 992px) {
	.span_2,
  .span_3,
  .span_4{
		gap:2rem 1rem;
		justify-content:center;
	}
	.span_2 .item,
  .span_3 .item{
		width:100%;
		max-width:640px;
	}
  .span_4 .item{
  	width:calc(50% - 0.5rem);
  }
}
.check_list{
	margin:0;
	padding:0;
}
.check_list li{
	margin:0;
	padding:0 0 0 1.5em;
	font-size:1rem;
	background:url(../img/icon_check.svg) no-repeat left top 0.3em / 1.125em auto;
}

main.page-sub p{
	font-size:1rem;

}

.span_2.no_image .item {
  width: 100%;

}

.span_2.no_image {
  justify-content: center;
}

/*カードリストSTART*/
.card-list {
  max-width: 1200px;
  margin: 2rem auto;
  padding: 0 1rem;
}

/* カードのホバーエフェクトとシャドウ */
.card {
  height: 100%;
  transition: .3s;
  border: 1px solid #eee;
  box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.06);
  border-radius: 8px;  /* 角丸を追加 */
  overflow: hidden;    /* 角丸が確実に適用されるように */
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 5px 15px rgba(0,0,0,0.1);
}

/* リンクの下線を消す */
.card-link {
  text-decoration: none !important;
  color: inherit;
  display: block;
}

.card-link:hover {
  text-decoration: none !important;
  color: inherit;
}

/* アイコン */
.service-icon {
  width: 48px;
  height: 48px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #f8f8f8;
  border-radius: 50%;
  margin-bottom: 1rem;
  color: #c8161d;
}

.service-icon i {
  font-size: 24px;
}

/* カードコンテンツ */
.card-content {
  padding: 1.5rem;
  position: relative;
}

/* タイトル */
.card-content h3 {
  font-size: 1.25rem;
  margin: 0 0 1rem;
  color: #333;
  font-weight: bold;
  line-height: 1.4;
}

/* テキスト */
.card-content p {
  color: #666;
  font-size: 0.95rem;
  line-height: 1.6;
  margin-bottom: 2rem;
}

/* 矢印 */
.arrow {
  display: inline-block;
  position: absolute;
  right: 1.5rem;
  bottom: 1.5rem;
  width: 6px;
  height: 6px;
  border-top: 2px solid #c8161d;
  border-right: 2px solid #c8161d;
  transform: rotate(45deg);
  transition: .3s;
}

.card:hover .arrow {
  right: 1.25rem;
}

/* レスポンシブ調整 */
@media screen and (max-width: 992px) {
  .columns {
    margin-left: -0.75rem;
    margin-right: -0.75rem;
  }
}
/*カードリストEND*/



/*フローSTART*/
.circle-flow {
  max-width: 800px;
  margin: 4rem auto;
  counter-reset: circle-counter;
}
.circle-flow .flow-step {
  position: relative;
  padding-left: 5rem;
  margin-bottom: 3rem;
}
.circle-flow .flow-step:last-child {
  margin-bottom: 0;
}
.circle-flow .flow-step::before {
  counter-increment: circle-counter;
  content: counter(circle-counter, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 0;
  width: 3.5rem;
  height: 3.5rem;
  background: #fff;
  border: 2px solid #c8161d;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  color: #c8161d;
  font-size: 1.25rem;
}
.circle-flow .flow-step:not(:last-child)::after {
  content: '';
  position: absolute;
  left: 1.75rem;
  top: 4rem;
  width: 2px;
  height: calc(100% - 1rem);
  background: #c8161d;
}
.circle-flow .flow-content {
  background: #fff;
  padding: 1.5rem 2rem;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.circle-flow h3 {
  font-size: 1.25rem;
  margin: 0 0 0.5rem;
  padding: 0;
  border: none;
  background: none;
  font-weight: 700;
}
.circle-flow p {
  margin: 0;
  color: #666;
}
/*フローEND*/

/*よくある質問START*/
.faq-accordion {
  max-width: 800px;
  margin: 3rem auto;
}
.faq-item {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  margin-bottom: 1rem;
  overflow: hidden;
}
.faq-question {
  margin: 0;
  position: relative;
  cursor: pointer;
  transition: .3s;
}
.faq-question:hover {
  background: #f9f9f9;
}
/* h3のデフォルトスタイルをリセット */
.faq-question.tit03 {
  padding: 1.5rem 4rem 1.5rem 4rem;
  font-size: 1rem;
  border: none;
  background: none;
  margin: 0;
}
.faq-question::before {
  content: 'Q';
  position: absolute;
  left: 1.5rem;
  color: #c8161d;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: 'Hammersmith One', sans-serif;
}
.faq-question::after {
  content: '';
  position: absolute;
  right: 1.5rem;
  top: 50%;
  width: 12px;
  height: 12px;
  border-right: 2px solid #c8161d;
  border-bottom: 2px solid #c8161d;
  transform: translateY(-70%) rotate(45deg);
  transition: .3s;
}
.faq-item.active .faq-question::after {
  transform: translateY(-30%) rotate(-135deg);
}
.faq-answer {
  position: relative;
  padding: 0 4rem 1.5rem 4rem;
  color: #666;
  line-height: 1.8;
  display: none;
}
.faq-answer::before {
  content: 'A';
  position: absolute;
  left: 1.5rem;
  color: #666;
  font-size: 1.2rem;
  font-weight: 700;
  font-family: 'Hammersmith One', sans-serif;
}
.faq-item.active .faq-answer {
  display: block;
  animation: fadeIn .3s ease-in-out;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(-10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 640px) {

  .faq-accordion {
    max-width: 800px;
    margin: 3rem 1rem; /* 左右の余白を追加 */
  }
  

  .faq-question.tit03 {
    padding: 1.25rem 3rem 1.25rem 3rem;
    font-size: 0.95rem;
  }
  .faq-question::before,
  .faq-answer::before {
    left: 1rem;
  }
  .faq-question::after {
    right: 1rem;
  }
  .faq-answer {
    padding: 0 1.5rem 1.25rem 3rem;
    font-size: 0.9rem;
  }
}
/*よくある質問END*/


/*チェックリストSTART*/
.stylish-checklist {
  max-width: 800px;
  margin: 2rem auto;
  padding: 1rem 2rem;
  background: #fff;
  border-radius: 8px;
  box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.06);
}

.stylish-checklist p.check-h{
	font-weight:700;
	font-size:1.4em;
}

.stylish-checklist ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.stylish-checklist li {
  position: relative;
  padding: 1.25rem 1rem 1.25rem 3rem;
  margin-bottom: 1rem;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  line-height: 1.6;
  /*font-weight: 700;*/
	font-size:1.2em;
}

.stylish-checklist li::before {
  content: '';
  position: absolute;
  left: 1.2rem;
  top: 50%;
  transform: translateY(-60%) rotate(45deg);
  width: 6px;
  height: 12px;
  border-right: 2px solid #c8161d;
  border-bottom: 2px solid #c8161d;
}
/*チェックリストEND*/


/* テーブル01 START */
.table01-container {
  max-width: 800px;
  margin: 4rem auto;
}

.table01 {
  width: 100%;
  border-collapse: collapse;
	font-size:1.2em;

}

.table01 th,
.table01 td {
  padding: 1.5rem 1rem;
  border-bottom: 1px solid #ddd;
}

.table01 th {
  width: 25%;
  text-align: left;
  font-weight: 700%;
  border-bottom-color: #c8161d;
  vertical-align: middle;
}

.table01 td {
  text-align: right;
}

/* レスポンシブ対応 */
@media screen and (max-width: 640px) {
  .table01 th {
    width: 40%;  /* モバイルでは項目名の幅を広げる */
  }
  
  .table01 th,
  .table01 td {
    padding: 1rem;  /* モバイルでは余白を少し縮小 */
    font-size: 0.9rem;  /* モバイルでは文字サイズを少し小さく */
  }
}
/* テーブル01 END */




/*その他*/
.small-sub-text {
    text-align: center;
    margin-top: -1em;
    margin-bottom: 2em;
    color: #000;
		font-weight:bold;
}

.item-box{
	max-width: 1000px;
  margin: 0 auto;
}

div.box-shadow{
		padding: 2rem;
    background: #fff;
    border-radius: 12px;
  	box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.06);
}


/* ボタングループのスタイル */
.button-group {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin: 2rem 0;
}

/* 個別ボタンのスタイル */
.simple-button {
  display: inline-flex;
  align-items: center;
  padding: 0.8rem 1.5rem;
  background: #fff;
  color: #c8161d;
  text-decoration: none;
  border: 1px solid #c8161d;
  border-radius: 50px;
  font-size: 0.95rem;
  transition: all 0.3s ease;
}

/* アイコンのスタイル */
.simple-button i {
  margin-right: 0.5rem;
  font-size: 0.9em;
  color: #c8161d;  /* アイコンの色を個別に指定 */
  transition: all 0.3s ease;
}

/* ホバー時のスタイル */
.simple-button:hover {
  background: #c8161d;
  color: #fff;
  text-decoration: none;
}

.simple-button:hover i {
  color: #fff;  /* ホバー時にアイコンを白色に */
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .button-group {
    flex-direction: column;
  }
  
  .simple-button {
    width: 100%;
    padding: 0.8rem 1rem;
    font-size: 0.9rem;
  }
}
























.comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin: 4rem 0;
}

.comparison-table th,
.comparison-table td {
  padding: 1.5rem 1rem;
  border-bottom: 1px solid #ddd;
  text-align: center;
  vertical-align: middle;
}

.comparison-table th {
  text-align: left;
  border-bottom-color: #c8161d;
  width: 25%;
  font-weight: bold;
}

.comparison-table .header-cell {
  text-align: center;
  background: #f8f8f8;
  border-bottom: 2px solid #c8161d;
}

.comparison-table .emphasis {
  color: #c8161d;
  font-weight: bold;
}

/* 1列目（項目名）のスタイル */
.comparison-table tr > th:first-child {
  background: #fff;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  .comparison-table {
    font-size: 0.9rem;
  }
  
  .comparison-table th,
  .comparison-table td {
    padding: 1rem 0.5rem;
  }

  .comparison-table th {
    width: auto;
  }
}

@media screen and (max-width: 640px) {
  .comparison-table {
    width: 100%;
    overflow-x: auto;
    display: block;
    white-space: nowrap;
  }
}




/* 管理画面でのアニメーション効果を無効化 */
body.mce-content-body .anim,
body.mce-content-body .effect {
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
  animation: none !important;
  position: static !important;
}

body.mce-content-body .service_sec,
body.mce-content-body .service_row,
body.mce-content-body .container,
body.mce-content-body .inner,
body.mce-content-body .item {
  opacity: 1 !important;
  transform: none !important;
  position: static !important;
  overflow: visible !important;
}

/* 必要に応じて管理画面での表示を調整 */
body.mce-content-body .inner {
  display: block !important;
}

body.mce-content-body .container {
  padding: 15px !important;
}

body.mce-content-body img {
  max-width: 100%;
  height: auto;
}





/*横並びのカードリスト*/
.card_grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
  margin: 0;
  padding: 0;
  list-style: none;
  margin-bottom: 3rem;
}

.card_item {
  background: #fff;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
	border:1px solid #EEE;
  box-shadow: 0px 0px 6px 0px rgba(0, 0, 0, 0.1); /* 通常 */

}

.card_item:hover {
  transform: translateY(-5px);
  box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.1); /* ホバー時の影を強く */
}

.card_item a:hover{
	text-decoration: none;
	color:#000;

}

.card_link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.card_media {
  position: relative;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.card_image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.card_body {
  padding: 1rem;
}

.card_body .date {
  display: block;
  color: #666;
  font-size: 0.75rem;
  margin-bottom: 0.5rem;
}

.card_title {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

@media (max-width: 1200px) {
  .card_grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 992px) {
  .card_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media (max-width: 768px) {
  .card_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 480px) {
  .card_grid {
    grid-template-columns: repeat(2, 1fr);

  }
  
  .card_body {
    padding: 0.75rem;
  }
}

















/* ボタンのベーススタイル */
.btn_area {
  text-align: center;
}

.btn_cool {
  display: inline-block;
  padding: 1rem 4rem 1rem 3rem;
  background: #222;
  color: #fff;
  font-weight: 700;
  position: relative;
  text-decoration: none;
  transition: all 0.3s ease;
  box-shadow: 0 3px 4px -1px rgb(0 0 0 / 24%);
}

/* 矢印の基本スタイル */
.btn_cool::after {
  display: block;
  position: absolute;
  top: calc(50% - 3px);
  right: 10px;
  width: 20px;
  height: 6px;
  background: url(../img/arrow.svg) no-repeat left top;
  background-size: contain;
  content: "";
  transition: all 0.3s ease;
}

/* ホバー時のスタイル */
.btn_cool:hover {
  box-shadow: 5px 7px 20px rgba(0, 0, 0, 0.3);
  text-decoration: none;
  color: #FFF;
}

.btn_cool:hover::after {
  right: 5px;
}

/* 白抜きボタン */
.btn_cool.outline {
  background: transparent;
  border: 1px solid #c8161d;
  color: #c8161d;
}

.btn_cool.outline::after {
  background: url(../img/arrow_red.svg) no-repeat left top;
  background-size: contain;
}

.btn_cool.outline:hover {
  background: #c8161d;
  color: #fff;
}

.btn_cool.outline:hover::after {
  background: url(../img/arrow.svg) no-repeat left top;
  background-size: contain;
}

/* アニメーション付きボタン */
.btn_cool.animated {
  overflow: hidden;
}

.btn_cool.animated::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    120deg,
    transparent,
    rgba(255, 255, 255, 0.2),
    transparent
  );
  transition: all 0.6s;
}

.btn_cool.animated:hover::before {
  left: 100%;
}


















/* 単一料金プランのスタイル */
.pricing-single {
  max-width: 800px;
  margin: 4rem auto;
  padding: 0 1rem;
}

.pricing-single .pricing-plan {
  background: #fff;
  border-radius: 12px;
  box-shadow: 11px 13px 27px 6px rgba(0, 0, 0, 0.06);
  padding: 3rem;
  position: relative;
  transition: transform 0.3s ease;
}

.pricing-single .pricing-plan:hover {
  transform: translateY(-5px);
}

/* ヘッダー部分 */
.pricing-single .plan-header {
  text-align: center;
  padding-bottom: 2rem;
  border-bottom: 1px solid #eee;
}

.pricing-single .plan-header h3 {
  font-size: 1.75rem;
  margin: 0 0 1.5rem;
  color: #333;
  font-weight: bold;
}

.pricing-single .plan-header .price {
  font-size: 3rem;
  font-weight: bold;
  color: #c8161d;
  line-height: 1;
}

.pricing-single .plan-header .price .currency {
  font-size: 2rem;
  vertical-align: super;
}

.pricing-single .plan-header .price .period {
  font-size: 1.125rem;
  color: #666;
  font-weight: normal;
}

.pricing-single .plan-header .description {
  font-size: 1rem;
  color: #666;
  margin: 1.5rem 0 0;
}

/* 機能リスト */
.pricing-single .plan-features {
  padding: 2rem 0;
}

.pricing-single .plan-features ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}

.pricing-single .plan-features li {
  margin: 0;
  padding-left: 1.75rem;
  position: relative;
  font-size: 1rem;
  line-height: 1.5;
}

.pricing-single .plan-features li i {
  color: #c8161d;
  position: absolute;
  left: 0;
  top: 0.25rem;
}

/* フッター部分 */
.pricing-single .plan-footer {
  text-align: center;
  padding-top: 2rem;
}

/* 注釈 */
.pricing-single .pricing-note {
  text-align: center;
  margin-top: 2rem;
  color: #666;
  font-size: 0.875rem;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .pricing-single .pricing-plan {
    padding: 2rem;
  }

  .pricing-single .plan-features ul {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  
  .pricing-single .plan-header h3 {
    font-size: 1.5rem;
  }
  
  .pricing-single .plan-header .price {
    font-size: 2.5rem;
  }
  
  .pricing-single .plan-header .price .currency {
    font-size: 1.5rem;
  }
}

@media (max-width: 480px) {
  .pricing-single .pricing-plan {
    padding: 1.5rem;
  }
}