﻿@charset "utf-8";

/* -----------------------------------------------------------
　common
----------------------------------------------------------- */
html {font-size: 10px;}
* {box-sizing: border-box;}
a {
  color:inherit;
  text-decoration:none;
}
a:hover {
  cursor: pointer;
}
body {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-size:14px;
  line-height: 1.7;
  color:#444;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.clearfix:before {
  content: "";
	display: block;
	clear: both;
}
.clearfix {
	display: block;
}
.clear {clear: both;}

img {vertical-align: bottom;}
hr.anc {
  border:none!important;
  height:0!important;
  margin:-80px 0 0!important;
  padding:80px 0 0!important;
}
.palt {font-feature-settings: "palt";}
sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
sub {
	font-size: 70%;
	vertical-align: bottom;
	position: relative;
	bottom: -0.1em;
}

:root {
  --main_color: #6184c3;
}

.box {
  position: relative;
  width: 100%;
  max-width: 1040px;
  height: auto;
  padding: 0 30px;
  margin: auto;
}
.w_box {
  position: relative;
  width: 100%;
  max-width: 1260px;
  height: auto;
  padding: 0 30px;
  margin: auto;
}

.mb0 {margin-bottom:0 !important;}
.mb5 {margin-bottom:5px !important;}
.mb10 {margin-bottom:10px !important;}
.mb20 {margin-bottom:20px !important;}
.mb30 {margin-bottom:30px !important;}
.mb40 {margin-bottom:40px !important;}
.mb50 {margin-bottom:50px !important;}
.mb60 {margin-bottom:60px !important;}
.mb70 {margin-bottom:70px !important;}
.mb80 {margin-bottom:80px !important;}
.mb90 {margin-bottom:90px !important;}
.mb100 {margin-bottom:100px !important;}
.mb110 {margin-bottom:110px !important;}
.mb120 {margin-bottom:120px !important;}
.pt0 {padding-top:0 !important;}
.pt10 {padding-top:10px !important;}
.pt20 {padding-top:20px !important;}
.pt30 {padding-top:30px !important;}
.pt40 {padding-top:40px !important;}
.pt50 {padding-top:50px !important;}
.pt60 {padding-top:60px !important;}
.pt70 {padding-top:70px !important;}
.pt80 {padding-top:80px !important;}
.pt90 {padding-top:90px !important;}
.pt100 {padding-top:100px !important;}
.pt110 {padding-top:110px !important;}
.pt120 {padding-top:120px !important;}
.pb0 {padding-bottom:0 !important;}
.pb10 {padding-bottom:10px !important;}
.pb20 {padding-bottom:20px !important;}
.pb30 {padding-bottom:30px !important;}
.pb40 {padding-bottom:40px !important;}
.pb50 {padding-bottom:50px !important;}
.pb60 {padding-bottom:60px !important;}
.pb70 {padding-bottom:70px !important;}
.pb80 {padding-bottom:80px !important;}
.pb90 {padding-bottom:90px !important;}
.pb100 {padding-bottom:100px !important;}
.pb110 {padding-bottom:110px !important;}
.pb120 {padding-bottom:120px !important;}

.btn_a {
  display: block;
  min-width: 100px;
}
.btn_a.center {text-align: center;}
.btn_a.right {text-align: right;}
.btn_a a,
.btn_a span {
  display: inline-block;
  text-align: center;
  font-size: 12px;
  font-weight: 700;
  color: #000;
  padding: 5px 15px;
  background: #fff;
  box-shadow: 7px 7px 10px 0px rgba(0, 0, 0, 0.7);
  transition: 0.3s;
}
.btn_a.medium a,
.btn_a.medium span {
  font-size: 14px;
  padding: 7px 30px;
}
.btn_a a:hover,
a:hover .btn_a span {
  opacity: 0.7;
  box-shadow: 2px 2px 10px 0px rgba(0, 0, 0, 0.7);
  background: #000;
  color: #fff;
}
a:hover .btn_a span {
  opacity: 1;
}
.btn_a.black a,
.btn_a.black span {
  color: #fff;
  background: #000;
}
.btn_a.black a:hover,
a:hover .btn_a.black span {
  color: #000;
  background: #fff;
}
.pagetop {
  position: fixed;
  bottom: 35px;
  right: 35px;
  width: 42px;
  height: 42px;
  transition: 0.3s;
  z-index: 100;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
}
.pagetop.fadein {
  opacity: 1;
  visibility: visible;
}
.pagetop img {
  transition: 0.3s;
  box-shadow: 3px 3px 8px 0px rgba(0, 0, 0, 0.2);
}
.pagetop img:hover {
  opacity: 0.5;
}
.contact_banner {
  position: fixed;
  bottom: 0;
  right: 0;
  width: 280px;
  background: #fff;
  z-index: 101;
  transition: 1.5s;
  transform: translateY(110%);
  opacity: 0;
}
.contact_banner.fadein {
  transform: translateY(0);
  opacity: 1;
}
.contact_banner img.banner {
  width: 280px;
  box-shadow: -3px -3px 8px 0px rgba(0, 0, 0, 0.5);
  transition: 0.3s;
}
.contact_banner a:hover img.banner {
  opacity: 0.4;
}
.contact_banner img.close {
  position: absolute;
  top: 0;
  right: 0;
  width: 40px;
  padding: 14px;
  cursor: pointer;
  transition: 0.3s;
}
.contact_banner img.close:hover {
  opacity: 0.4;
}

@media screen and (min-width: 768px){ 

  .sp_cont {
    display:none;
  } 
  
  figure {
    width:100%;
    text-align:center;
  }
  
  figcaption {
    font-size:1em;
    margin:0;
  }
  
  a {
    text-decoration:none;
  }

}

/* -----------------------------------------------------------
  template
----------------------------------------------------------- */
 
@media screen and (min-width: 1001px){  
  /* :::::::::: header :::::::::: */
  
  header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 80px;
    background: #fff;
    box-shadow: 0px 15px 20px 0px rgba(0, 0, 0, 0.2);
    z-index: 99;
    transition: 0.3s;
  }
  header.transparent {
    background: transparent;
    box-shadow: none;
  }
  header a:hover{
    text-decoration: none;
  }
  header .header_box {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 0 40px;
  }
  header .header_box .logo {
    display: block;
    position: absolute;
    left: 40px;
    bottom: 20px;
    margin: 0;
  }
  header .header_box .logo a {
    display: inline-block;
  }
  header .header_box .logo a:first-of-type {
    margin: 0 17px 0 0;
    padding: 0 17px 0 0;
    border-right: 1px solid #000;
  }
  header.transparent .header_box .logo a:first-of-type {
    border-right: 1px solid #fff;
  }
  header .header_box .logo a img {
    vertical-align: middle;
    transition: 0.3s;
  }
  header .header_box .logo a:hover img {
    opacity: 0.5;
  }
  header .header_box .logo a img.white {
    display: none;
  }
  header.transparent .header_box .logo a img {
    display: none;
  }
  header.transparent .header_box .logo a img.white {
    display: inline;
  }
  header .header_box .logo a.logo_group img {
    width: 85px;
    margin-top: 4px;
  }
  header .header_box .logo a.logo_consulting img {
    width: 187px;
  }

  header .header_box nav {
    position: absolute;
    right: 40px;
    bottom: 25px;
  }
  header .header_box nav .nav_cont .nav_list {
    display: flex;
    margin: 0;
  }
  header .header_box nav .nav_cont .nav_list > li {
    line-height: 1.2;
    font-size: 16px;
    font-weight: 500;
    color: #8a8a8a;
    margin: 0 18px 0 0;
    padding: 0 18px 0 0;
    transition: 0.3s;
  }
  header.transparent .header_box nav .nav_cont .nav_list > li {
    color: #fff;
  }
  header .header_box nav .nav_cont .nav_list > li:last-of-type {
    margin: 0;
    padding: 0;
    border-right: none;
  }
  header .header_box nav .nav_cont .nav_list > li > a {
    position: relative;
    transition: 0.3s;
    padding-bottom: 26px;
  }
  header .header_box nav .nav_cont .nav_list > li.menu > a::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: calc(50% - 12px);
    border-right: 12px solid transparent;
    border-bottom: 12px solid var(--main_color);
    border-left: 12px solid transparent;
    margin: auto;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
  }
  header .header_box nav .nav_cont .nav_list > li.menu.fadein > a::after {
    opacity: 1;
    visibility: visible;
  }
  header .header_box nav .nav_cont .nav_list > li.contact > a::before {
    content: "";
    display: inline-block;
    width: 25.3px;
    height: 18.5px;
    background: url(../img/common/contact.svg) no-repeat center center / 100% 100%;
    vertical-align: middle;
    margin: 0 5px 2px 0;
    transition: 0.3s;
  }
  header.transparent .header_box nav .nav_cont .nav_list > li.contact > a::before {
    background: url(../img/common/contact_white.svg) no-repeat center center / 100% 100%;
  }
  header .header_box nav .nav_cont .nav_list > li.contact > a:hover::before,
  header .header_box nav .nav_cont .nav_list > li.contact.current > a::before {
    background: url(../img/common/contact_hover.svg) no-repeat center center / 100% 100%;
  }
  header .header_box nav .nav_cont .nav_list > li > a:hover {
    color: var(--main_color);
  }
  header .header_box nav .nav_cont .nav_list li.current > a,
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul li.current a {
    color: var(--main_color);
  }

  header .header_box nav .nav_cont .nav_list > li > .nav_menu {
    position: fixed;
    top: 80px;
    left: 0;
    right: 0;
    width: 100%;
    background: #6184c3;
    z-index: 98;
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu.fadein {
    opacity: 1;
    visibility: visible;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    padding: 30px 100px 25px 0;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box .title a {
    display: block;
    font-size: 18px;
    line-height: 1.5;
    color: #fff;
    font-weight: 500;
    margin: 0 40px 0 0;
    transition: 0.3s;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box .title a > span {
    display: block;
    font-size: 12px;
    font-weight: 400;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul {
    margin: 0 40px 0 0;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul:last-of-type {
    margin: 0;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul li a {
    display: block;
    color: #fff;
    line-height: 1.5;
    margin: 0 0 8px;
    transition: 0.3s;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul li a.pre {
    color: #8a8a8a;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul li:last-of-type a {
    margin: 0;
  }
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box .title a:hover,
  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .nav_menu_box ul li a:hover {
    color: rgba(255,255,255,0.5);
  }

  header .header_box nav .nav_cont .nav_list > li > .nav_menu > .close {
    position: absolute;
    top: 32px;
    right: 40px;
    font-size: 18px;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
  }

  header .hover_bg {
    position: fixed;
    width: 100%;
    height: 100vh;
    background: rgba(97, 132, 195, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: 0.3s;
    z-index: 1;
  }
  header .hover_bg.fadein {
    opacity: 1;
    visibility: visible;
  }
}
@media screen and (min-width: 768px){  
  
  /* :::::::::: nav :::::::::: */
  
  nav {
  }

  /* :::::::::: main :::::::::: */
  
  main {
    display:block;
    width:100%;
    height:auto;
  }
  
  main.home {
  }
  
  main article {
    width:100%;
    height:auto;
    overflow:hidden;
    margin:0 auto;
  }
  
  /* :::::::::: footer :::::::::: */
  
  footer {
    background: #fff;
    color: #000;
  }
  footer a:hover {
    text-decoration: underline;
  }
  footer .footer_banner {
    background: #eeeeee;
    padding: 100px 0;
  }
  footer .footer_banner .banner_cont {
    display: block;
    text-align: center;
  }
  footer .footer_banner .banner_cont .jasdaq img {
    vertical-align: middle;
    margin: 0 1em 0 0;
  }
  footer .footer_banner .banner_cont a img {
    transition: 0.3s;
  }
  footer .footer_banner .banner_cont a:hover img {
    opacity: 0.7;
  }

  footer .footer_nav {
    padding: 100px 0;
  }
  footer .footer_nav .logo {
    width: 310px;
    margin: 0 auto 10px;
  }
  footer .footer_nav .logo a {
    display: block;
    transition: 0.3s;
  }
  footer .footer_nav .logo a:hover {
    opacity: 0.5;
  }
  footer .footer_nav .logo + p {
    text-align: center;
  }
  footer .footer_nav .page {
    display: flex;
    justify-content: center;
    border-top: 1px solid #b3b3b3;
    margin: 25px 0 35px;
    padding: 20px 0 0;
  }
  footer .footer_nav .page > li {
    margin: 0 50px 0 0;
  }
  footer .footer_nav .page > li:last-of-type {
    margin: 0;
  }
  footer .footer_nav .page > li > a {
    display: block;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 3px;
  }
  footer .footer_nav .page .child li {
    font-size: 12px;
  }
  footer .footer_nav .subpage {
    text-align: center;    
    font-size: 12px;
    margin: 0 0 30px;
  }
  footer .footer_nav .subpage li {
    display: inline-block;
    margin: 0 23px 0 0;
  }
  footer .footer_nav .subpage li:last-child {
    margin-right: 0;
  }
  footer .footer_nav .subpage li.contact {
    padding: 0 23px 0 0;
    border-right: 1px solid #000;
  }
  footer .footer_nav .copyright {
    text-align: center;
    font-size: 12px;
    color: #8a8a8a;
  }

  .footer_link {
    box-shadow: 0px 0px 20px 20px rgba(0, 0, 0, 0.1);
  }

  
}
@media screen and (max-width: 1300px){
  footer .footer_banner .banner_cont .jasdaq {
    margin: 0 0 20px;
  }
  footer .footer_nav .page > li {
  }
  footer .footer_nav .page > li > a {
    font-size: 16px;
  }
}
@media screen and (max-width: 1160px){
  header .header_box nav .nav_cont .nav_list > li {
    margin: 0 7px 0 0;
    padding: 0 7px 0 0;
  }
}

/* :::::::::: aside :::::::::: */
  
.bottom_cta {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
  text-align: center;
  padding: 30px 0;
  background: var(--main_color);
}
#luxy .bottom_cta {margin: 100px 0 0;}
#luxy .bottom_cta::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
  width: 100%;
  height: 100px;
  inset: -100px 0 0;
  background: #FFFFFF;
}
.bottom_cta h2 {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 auto 15px;
}
.bottom_cta h2 span {
  display: block;
  font-size: 2.67em;
}
.bottom_cta h2 span::before {
  display: inline-block;
  vertical-align: middle;
  content: "";
  width: 1.2em;
  height: 0.875em;
  background: url("../img/common/contact_white.svg") no-repeat center / contain;
  margin: 0 0.25em 0.175em 0;
}
.bottom_cta h2 + p {margin: 0 auto 30px;}
.bottom_cta ul {
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
}
.bottom_cta ul li {margin: 0 80px 20px;}
.bottom_cta ul li .btn_form {
  width: 260px;
  height: 40px;
  line-height: 40px;
  margin: 5px auto 0;
}
.bottom_cta ul li .btn_form a {
  display: block;
  height: 100%;
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  color: var(--main_color);
  background: #FFFFFF;
  border-radius: 99px;
  transition: 0.5s;
}
.bottom_cta ul li .btn_form a:hover {opacity: 0.5;}
.bottom_cta ul li .telnum {
  font-size: 36px;
  font-weight: 700;
  line-height: 1.4;
}

@media screen and (max-width: 1000px){
  .bottom_cta ul li {margin: 0 40px 20px;}
}

@media screen and (max-width: 767px) {
  .bottom_cta {padding: 30px 0 40px;}
  #luxy .bottom_cta {margin: 80px 0 0;}
  #luxy .bottom_cta::after {
    height: 80px;
    inset: -80px 0 0;
  }
  .bottom_cta h2 {margin: 0 auto 10px;}
  .bottom_cta h2 span {font-size: 2.27em;}
  .bottom_cta h2 + p {margin: 0 auto;}
  .bottom_cta ul {display: block;}
  .bottom_cta ul li {margin: 40px auto 0;}
  .bottom_cta ul li:nth-child(2) {margin: 60px auto 0;}
  .bottom_cta ul li .btn_form a {transition: 0s;}
  .bottom_cta ul li .btn_form a:hover {opacity: 1;}
  .bottom_cta ul li .telnum a {
    text-decoration: none;
    color: #FFFFFF;
  }
}


/* -----------------------------------------------------------
 Home
----------------------------------------------------------- */
@keyframes scroll_fade {
  0% {opacity: 1;}
  100% {opacity: 0.3;}
}
@keyframes copy_fadein {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.home {
  color: #000;
}
.home_kv {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: -2;
  background: #000;
}
.home_kv::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 185px;
  background: linear-gradient(180deg, rgba(0,0,0,1), rgba(0,0,0,0));
  z-index: 1;
}
.home_kv .video_cont {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.home_kv .video_cont video {
  position: absolute;
  top: 50%;
  left: 50%;
  min-width: 100%;
  min-height: 100%;
  transform: translate(-50%, -50%);
}
.home_kv .copy_cont {
  position: absolute;
  top: 50%;
  width: 100%;
  transform: translateY(-50%);
  color: #fff;
}
.home_kv .copy_cont .w_box {
  max-width: 50%;
  padding-left: calc(50% - 630px);
  margin: 0 auto 0 0;
  border-left: solid transparent;
  border-left-width: 30px;
}
.home_kv .copy_cont .copy_top {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  margin: 0 0 35px;
  opacity: 0;
  transform: translateY(20px);
  animation: 2s ease-out 1s forwards alternate copy_fadein;
}
.home_kv .copy_cont .copy_top + p {
  opacity: 0;
  transform: translateY(20px);
  animation: 1.5s ease-out 1.5s forwards alternate copy_fadein;
}
.home_kv .scroll_cont {
  font-family: 'Roboto', sans-serif;
  position: absolute;
  left: 25px;
  bottom: 90px;
  color: #8a8a8a;
  font-size: 12px;
  font-weight: 700;
  transform: rotate(270deg);
  animation: 1.5s ease-in-out 0s infinite alternate scroll_fade;
}

/*service*/
.home .service {
  position: relative;
  color: #fff;
}
.home .service .kv_space {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  height: 100vh;
  padding: 0 0 0 45%;
  margin: 0 0 20px;
}
.home .service .kv_space img {
  position: relative;
  z-index: 1;
  width: 805px;
  max-width: 100%;
}

.home .service .kv_space::after {
  position: absolute;
  display: block;
  content: "";
  z-index: 0;
  inset: 0 0 auto max(38% , 420px);
  width: 65%;
  height: calc(100vh + 20px);
  background: url("../img/home/bg_kv_space.png") no-repeat center left / cover;
}


@media screen and (max-width: 1100px){  

  .home .service .kv_space img {
    width: 90%;
    margin: 0 0 0 10%;
  } 
}


.home .service .service_cont {
  /*border-right: solid transparent;
  border-right-width: 30px;*/
}
.home .service .service_cont > a.link_cover {
  position: relative;
  background: #ccc;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
  width: 100%;
  max-width: 50%;
  height: 600px;
  margin: 0 0 110px auto;
  padding: 0;
  padding-right: calc(50% - 660px); 
  transition: 0.3s;
}
.home .service .service_cont > a.link_cover:hover {
  opacity: 0.8;
}
.home .service .service_cont:nth-of-type(1) a.link_cover {
  background: url(../img/home/service01.png) no-repeat left top / cover;
}
.home .service .service_cont:nth-of-type(2) a.link_cover {
  background: url(../img/home/service02.png) no-repeat left center / cover;
}
.home .service .service_cont:nth-of-type(3) a.link_cover {
  background: url(../img/home/service03.png) no-repeat left center / cover;
}
.home .service .service_cont .service_box {
  height: auto;
  width: 100%;
  padding: 0 50px;
}
.home .service .service_cont .service_box h2 {
  font-size: 21px;
  margin: 0 0 15px;
}
.home .service .service_cont .service_box h2 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 85px;
  line-height: 1;
  margin: 0;
}
.home .service .service_cont .service_box h2 + p {
  margin: 0 0 25px;
}
.home .service .service_cont .service_box .btn_a span {
  font-size: 14px;
  padding: 7px 30px;
}

/*topics*/
.home .topics {
  background: #eff2f9;
  padding: 110px 0;
}
.home .topics .w_box {
  display: flex;
  justify-content: space-between;
}
.home .topics .topics_con,
.home .topics .topics_group {
  position: relative;
  width: 46%;
  /*width: 100%;*/
}
.home .topics h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  border-bottom: 1px solid #000;
  padding: 0 0 12px;
  margin: 0 0 25px;
}
.home .topics .topics_group h2 {
  border-bottom: 1px solid var(--main_color);
  color: var(--main_color);
}
.home .topics h2 span {
  font-weight: 100;
}
.home .topics .news_more {
  position: absolute;
  top: 0;
  right: 0;
  margin: 12px 0 0;
}
.home .topics .news_more li {
  display: inline-block;
  margin: 0 1em 0 0;
}
.home .topics .topics_group .news_more li {
  color: var(--main_color);
}
.home .topics .news_more li:last-of-type {
  margin: 0;
}
.home .topics .news_more li a:hover {
  text-decoration: underline;
}
.home .topics .news_list {
}
.home .topics .news_list .caution {
  color: #6184c3;
  margin: 0 0 20px;
}
.home .topics .news_list dl {
  padding: 0 0 10px;
  margin: 0 0 10px;
  border-bottom: 1px dashed #c2c2c2;
}
.home .topics .news_list dl dt {
  font-size: 14px;
  font-weight: 700;
  color: var(--main_color);
}
.home .topics .news_list dl dd {
  display: flex;
  line-height: 2;
}
.home .topics .news_list dl dd .date {
  margin: 0 15px 0 1em;
}
.home .topics .news_list dl dd .title:hover {
  text-decoration: underline;
}

/*service_2*/
.home .service_2 {
  display: flex;
  background: url(../img/home/service_2_bg.png) no-repeat center center / cover;
}
.home .service_2 .left_cont {
  width: 50%;
  color: #fff;
  padding: 120px 0;
}
.home .service_2 .service_2_box {
  width: 100%;
  max-width: 700px;
  padding: 0 50px;
}
.home .service_2 .left_cont .service_2_box {
  margin: 0 0 0 auto;
}
.home .service_2 .left_cont h2 {
  font-size: 21px;
  margin: 0 0 40px;
}
.home .service_2 .left_cont h2 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 105px;
  line-height: 1;
  margin: 0;
}
.home .service_2 .left_cont h2 + p {
  margin: 0 0 25px;
}

.home .service_2 .right_cont {
  width: 50%;
  background: #fff;
  padding: 120px 0;
}
.home .service_2 .right_cont .title {
  display: flex;
  align-items: flex-end;
  margin: 0 0 15px;
}
.home .service_2 .right_cont .title img {
  width: 126px;
  margin: 0 20px 0 0;
  transition: 0.3s;
}
.home .service_2 .right_cont .title h3 {
  font-size: 21px;
  font-weight: 700;
  line-height: 1.5;
  transition: 0.3s;
}
.home .service_2 .right_cont .title h3 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 0.9;
  margin: 0 0 5px;
}
.home .service_2 .right_cont .link_cover:hover .title img,
.home .service_2 .right_cont .link_cover:hover .title h3 {
  opacity: 0.5;
}
.home .service_2 .right_cont .title .btn_a {
  margin: 0 0 0 auto;
}
.home .service_2 .right_cont .btn_a.sp {
  display: none;
}
.home .service_2 .right_cont .title + p {
  margin: 0 0 55px;
}
.home .service_2 .right_cont section:last-of-type .title + p {
  margin: 0;
}

/*link*/
.home .link {
  display: flex;
  background: #fff;
}
.home .link .link_cont {
  position: relative;
  width: 100%;
  height: auto;
  min-height: 480px;
}
.home .link .link_cont a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-grow: 1;
  transition: 0.3s;;
}
.home .link .link_cont a::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(97, 132, 195, 0.5);
  z-index: 0;
  transition: 0.3s;
}
.home .link .link_cont:nth-of-type(1) a {
  background: url(../img/home/link01.png) no-repeat center center / cover;
}
.home .link .link_cont:nth-of-type(2) a {
  background: url(../img/home/link02.png) no-repeat center center / cover;
}
.home .link .link_cont:nth-of-type(3) a {
  background: url(../img/home/link03.png) no-repeat center center / cover;
}
.home .link .link_cont a:hover,
.home .link .link_cont a:hover::before {
  opacity: 0.8;
}
.home .link .link_cont .link_box {
  position: relative;
  width: calc(253px + 10%);
  padding: 0 5%;
  z-index: 1;
}
.home .link .link_cont .link_box h2 {
  font-size: 21px;
  line-height: 1.5;
  font-weight: 500;
  text-align: center;
  color: #fff;
  margin: 0 0 15px;
}
.home .link .link_cont .link_box h2 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 48px;
  line-height: 0.9;
  margin: 0 0 10px;
}
.home .link .link_cont .link_box .btn_a {
  text-align: center;
}
.home .link .link_cont .link_box .btn_a + p {
  color: #fff;
  margin: 30px 0 0 0;
}

@media screen and (max-width: 1300px){
  .home_kv .copy_cont .copy_top {
    font-size: 20px;
  }
  .home .service .service_cont .service_box h2 {
    font-size: 16px;
  }
  .home .service .service_cont .service_box h2 span {
    font-size: 5.5vw;
  }

  /*topics*/
  .home .topics .w_box {
    display: block;
  }
  .home .topics .topics_con,
  .home .topics .topics_group {
    width: 100%;
  }
  .home .topics .topics_con {
    margin: 0 0 60px;
  }

  /*service_2*/
  .home .service_2 .left_cont h2 span {
    font-size: 8vw;
  }
  .home .service_2 .right_cont .title img {
    width: 80px;
    margin: 0 10px 0 0;
  }
  .home .service_2 .right_cont .title h3 {
    font-size: 15px;
  }
  .home .service_2 .right_cont .title h3 span {
    /*font-size: 3.8vw;*/
    font-size: 32px;
  }
  .home .service_2 .right_cont .title + p,
  .home .service_2 .right_cont section:last-of-type .title + p {
    margin: 0 0 15px;
  }
  .home .service_2 .right_cont .title .btn_a {
    display: none;
  }
  .home .service_2 .right_cont .btn_a.sp {
    display: block;
    margin: 0 0 50px;
  }
}


/* -----------------------------------------------------------
 subpage
----------------------------------------------------------- */
.page_kv {
  position: relative;
  width: 100%;
  height: 370px;
  margin-top: 80px;
  z-index: 1;
  background: #b3b3b3;
}
.page_kv > figure {  
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: hidden;
  z-index: -1;
}
.page_kv > figure img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}
.page_kv .kv_box {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  max-width: 1040px;
  height: 100%;
  margin: auto;
  padding: 0 30px;
}
.page_kv .kv_box .kv_cont {
  color: #fff;
  text-align: right;
  line-height: 1.1;
}
.page_kv .kv_box .parent_en {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 300;
  font-size: 36px;
}
.page_kv .kv_box .title_en {
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 85px;
}
.page_kv .kv_box .title {
  font-size: 21px;
  font-weight: 700;
  line-height: 2;
}

.breadcrumbs_cont {
  background: #eff2f9;
}
.breadcrumbs_cont .breadcrumbs {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 100%;
  max-width: 700px;
  margin: 0;
  padding: 11px 0;
}
.breadcrumbs_cont .breadcrumbs span {
  font-size: 12px;
  color: #000;
}
.breadcrumbs_cont .breadcrumbs span:not(:last-of-type)::after {
  content: ">";
  padding: 0 1em;
  color: #8a8a8a;
}
.breadcrumbs_cont .breadcrumbs span a:hover {
  text-decoration: underline;
}

/*page > contents*/
.page article,
.single article {
  padding: 90px 0 180px;
}

.page .lead,
.single .lead {
  color: #444444;
  font-size: 16px;
  font-weight: 700;
  margin: 0 0 80px;
}
.page .door_link {
  display: flex;
  background: #eff2f9;
  transition: 0.3s;
  margin: 0 0 90px;
}
.page .door_link:hover {
  opacity: 0.7;
}
.page .door_link .left_cont {
  width: 50%;
  display: flex;
  align-items: center;
  color: #000;
  padding-left: calc(50% - 660px);
}
.page .door_link .left_cont > div {
  padding: 0 30px;
}
.page .door_link .left_cont h2 {
  font-size: 21px;
  font-weight: 700;
  margin: 0 0 15px;
}
.page .door_link .left_cont h2 span {
  display: block;
  font-family: 'Roboto Condensed', sans-serif;
  font-weight: 700;
  font-size: 82px;
  line-height: 1;
  margin: 0;
}
.page .door_link .left_cont h2 + p {
  margin: 0 0 25px;
}

.page .door_link .right_cont {
  position: relative;
  width: 50%;
  height: 600px;
}
.page .door_link .right_cont > figure {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  margin: auto;
  overflow: hidden;
  z-index: 1;
}
.page .door_link .right_cont > figure img {
  display: block;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.page .door_link2 {
  width: 100%;
  height: auto;
  background: rgba(97, 132, 195, 0.1);
  padding: 30px 50px;
  margin: 0 0 90px;
}
.page .door_link2:last-of-type {
  margin: 0;
}
.page .door_link2.pre {
  background: rgba(77, 77, 77, 0.5);
}
.page .door_link2 a {
  text-decoration: none;
}
.page .door_link2 h2 {
  background: none;
  color: #000;
  font-size: 21px;
  padding: 0;
  margin: 0 0 20px;
}
.page .door_link2 h2 + p {
  color: #000;
}
.page .door_link2.pre a {pointer-events: none;}
.page .door_link2.pre a .btn_a span,
.page .door_link2.pre a:hover .btn_a span {
  background: #808080;
  color: #fff;
  box-shadow: 7px 7px 10px 0px rgb(0 0 0 / 70%);
}
  
@media screen and (max-width: 1300px){
  .page .door_link .left_cont h2 {
    font-size: 16px;
  }
  .page .door_link .left_cont h2 span {
    font-size: 5.5vw;
  }
  .page .door_link .right_cont {
    height: 500px;
  }
}


/* -----------------------------------------------------------
  single(投稿）
----------------------------------------------------------- */

.single .page_kv,
.page_kv.noimg {
  height: 240px;
}
.single .post_date {
  display: inline-block;
  color: #000;
  margin: 0 20px 0 0;
}
.single .post_category {
  display: inline-block;
}
.single .post_category li {
  display: inline-block;
  background: #929eb3;
  min-width: 80px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
  margin: 0 10px 0 0;
}
.single .post_category li:last-of-type {
  margin: 0;
}
.single h1 {
  color: #000;
  font-size: 24pt;
  font-weight: 900;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  line-height: 1.5;
  padding: 0 0 0.2em;
  margin: 10px 0 60px;
  border-bottom: 2px dotted #000;
}




/* -----------------------------------------------------------
  Archive
----------------------------------------------------------- */
.page.archive {}
.page.archive .link_cont {
  display: flex;
  justify-content: space-between;
  margin: 0 0 40px;
}
.page.archive .link_cont .year_link {
  position: relative;
  display: inline-block;
}
.page.archive .link_cont .year_link::after {
  position: absolute;
  content: "";
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
  border-top: 8px solid #fff;
  top: 50%;
  right: 10px;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  pointer-events: none;
}
.page.archive .link_cont .year_link > select {
  position: relative;
  display: block;
  background: #595757;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 5px 40px 5px 15px;
  cursor: pointer;
}


.page.archive .link_cont .category_link {}
.page.archive .link_cont .category_link > ul > li {
  display: inline-block;
  margin: 0 10px 0 0;
}
.page.archive .link_cont .category_link > ul > li:last-of-type {
  margin: 0;
}
.page.archive .link_cont .category_link > ul > li > a {
  display: block;
  background: #929eb3;
  min-width: 80px;
  font-weight: 700;
  color: #fff;
  text-align: center;
  padding: 5px 10px;
}
.page.archive .link_cont .category_link > ul > li.all > a {
  background: #898989;
}

.page.archive h2 {
  font-family: 'Roboto', sans-serif;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.2;
  border-bottom: 1px solid #000;
  padding: 0 0 12px;
  margin: 0 0 25px;
}
.page.archive .topics_group h2 {
  border-bottom: 1px solid var(--main_color);
  color: var(--main_color);
}
.page.archive h2 span {
  font-weight: 100;
}
.page.archive .news_more {
  position: absolute;
  top: 0;
  right: 0;
  margin: 12px 0 0;
}
.page.archive .news_more li {
  display: inline-block;
  margin: 0 1em 0 0;
}
.page.archive .topics_group .news_more li {
  color: var(--main_color);
}
.page.archive .news_more li:last-of-type {
  margin: 0;
}
.page.archive .news_more li a:hover {
  text-decoration: underline;
}
.page.archive .news_list {
}
.page.archive .news_list dl {
  padding: 0 0 10px;
  margin: 0 0 10px;
  border-bottom: 1px dashed #c2c2c2;
}
.page.archive .news_list dl dt {
  font-size: 14px;
  font-weight: 700;
  color: var(--main_color);
}
.page.archive .news_list dl dt span:not(:last-of-type)::after {
  content: ",";
}
.page.archive .news_list dl dd {
  display: flex;
  line-height: 2;
}
.page.archive .news_list dl dd .date {
  margin: 0 15px 0 1em;
}
.page.archive .news_list dl dd .title:hover {
  text-decoration: underline;
}
/*pagenavi*/
.page.archive .wp-pagenavi {
  text-align: center;
  margin: 40px 0 0;
}
.page.archive .wp-pagenavi a,
.page.archive .wp-pagenavi span {
  border: 1px solid #BFBFBF;
  padding: 5px 10px;
  margin: 0 5px;
  color: #000;
  transition: 0.3s;;
}
.page.archive .wp-pagenavi a:hover {
  background: #898989;
  color: #fff;
}
.page.archive .wp-pagenavi span.current {
  background: #898989;
  color: #fff;
}


/* -----------------------------------------------------------
  Contact
----------------------------------------------------------- */
.page .form {
  margin: 0 0 90px;
}
.page .form dl {
  display: flex;
  margin: 0;
  border-bottom: 1px solid #6184c3;
}
.page .form dl:first-of-type {
  border-top: 1px solid #6184c3;
}
.page .form dt {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 250px;
  font-weight: 900;
  font-size: 16px;
  color: #000;
  background: rgba(97, 132, 195, 0.1);
  margin: 0;
  padding: 15px 20px;
}
.page .form dt .required {
  color: #da0000;
}
.page .form dd {
  width: calc(100% - 250px);
  padding: 15px 20px;
}
.contact.confirm .contact_A .form dd .text_cont,
.contact-dev.confirm .contact_A .form dd .text_cont {
  display: none;
}
.page .form dd .text_cont .editor_contents {
  padding: 0;
}

/* input */
.confirm .page .form dd.agree .text_cont {display: none;}
.page .form dd input,
.page .form dd textarea {
  font-family: 'Noto Sans JP', sans-serif;  
  width: 100%;
  border: 1px solid var(--main_color);
  padding: 7px 10px;
  background: #fff;
}
.page .form dd input::placeholder,
.page .form dd textarea::placeholder {
  color: #c8c8c8;
}
.page .form dd input:focus,
.page .form dd textarea:focus {
  border: 2px solid var(--main_color);
}

.page .form dd input[type="radio"],
.page .form dd input[type="checkbox"] {
  display: none;
}
.page .form dd input[type="radio"] + span,
.page .form dd input[type="checkbox"] + span {
  position: relative;
  display: inline-block;
  padding: 0 0 0 25px;
  cursor: pointer;
}
.page .form dd input[type="radio"] + span::before,
.page .form dd input[type="checkbox"] + span::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 18px;
  height: 18px;
  background: rgba(97, 132, 195, 0.1);
  margin: auto;
}
.page .form dd input[type="radio"] + span::before {
  border-radius: 50%;
}
.page .form dd input[type="radio"] + span::after,
.page .form dd input[type="checkbox"] + span::after {
  content: none;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 4px;
  width: 10px;
  height: 10px;
  background: var(--main_color);
  margin: auto;
}
.page .form dd input[type="radio"] + span::after {
  width: 8px;
  height: 8px;
  left: 5px;
  border-radius: 50%;
}
.page .form dd input[type="radio"]:checked + span::after,
.page .form dd input[type="checkbox"]:checked + span::after {
  content: "";
}
.page .form input[type="checkbox"] {
  all: revert;
}
.page .form input[type="checkbox"] + label {
  cursor: pointer;
}
.page .form_btn {
  display: block;
  text-align: center;
  width: 140px;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  background: #000;
  box-shadow: 7px 7px 10px 0px rgb(0 0 0 / 70%);
  padding: 7px 0;
  margin: auto;
  cursor: pointer;
  transition: 0.3s;
}
.page .form_btn:disabled {
  opacity: 0.5;
  cursor: auto;
  pointer-events: none;
}
.page .form_btn:hover {
  color: var(--main_color);
  background: #fff;
}
.page .form_btn.back {
  color: var(--main_black);
  background: #c6c6c6;
  border: 1px solid #c6c6c6;
  margin: 30px auto 0;
}
.page .form_btn.back:hover {
  background: #fff;
}
.page.check .inquiry_cont {display:none;}
/*other*/
.page .form dd.budget input {
  width: calc(100% - 80px);
  margin-right: 10px;
}

/*確認画面*/
.contact .check_cont,
.contact-dev .check_cont {
  display: none;
}
.contact .mw_wp_form_confirm .check_cont,
.contact-dev .mw_wp_form_confirm .check_cont {
  display: block;
}
.contact .mw_wp_form_confirm .check_none,
.contact-dev .mw_wp_form_confirm .check_none {
  display: none;
}


/* -----------------------------------------------------------
  Sitemap
----------------------------------------------------------- */
.sitemap .sitemap_cont {
  border-top: 2px solid var(--main_color);
  border-bottom: 1px dashed #8a8a8a;
}
.sitemap .sitemap_cont .top a {
  display: block;
  padding: 15px 20px;
  background: rgba(97, 132, 195, 0.1);
  border-bottom: 1px dashed #8a8a8a;
}
.sitemap .sitemap_cont ul.page {
  margin: 0 0 0 12%;
}
.sitemap .sitemap_cont ul.page > li.menu {
  border-bottom: 1px dashed #8a8a8a;
}
.sitemap .sitemap_cont ul.page > li a {
  display: block;
}
.sitemap .sitemap_cont .top a:hover,
.sitemap .sitemap_cont ul.page > li a:hover {
  color: var(--main_color);
}
.sitemap .sitemap_cont ul.page > li > a {
  padding: 15px 20px;
  border-bottom: 1px dashed #8a8a8a;
}
.sitemap .sitemap_cont ul.page > li:last-child > a {
  border: none;
}
.sitemap .sitemap_cont ul.page > li > ul {
  margin: 0 0 0 12%;
}
.sitemap .sitemap_cont ul.page > li > ul > li > a {
  padding: 5px 20px;
}
.sitemap .sitemap_cont ul.page > li > ul > li:first-child {
  margin-top: 15px;
}
.sitemap .sitemap_cont ul.page > li > ul > li:last-child {
  margin-bottom: 15px;
}v



/* -----------------------------------------------------------
  editor_contents
----------------------------------------------------------- */

.editor_contents > *:first-child {margin-top: 0;}
.editor_contents h2 {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  color: #fff;
  background: var(--main_color);
  margin: 90px 0 30px;
  padding: 7px 15px;
}
.editor_contents h3 {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  color: #000;
  margin: 60px 0 20px;
}
.editor_contents h4 {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
  color: #000;
  margin: 30px 0 20px;
  padding: 0 0 5px;
  border-bottom: 2px solid #000;
}
.editor_contents h5 {
  font-size: 18px;
  font-weight: 900;
  line-height: 1.5;
  color: var(--main_color);
  margin: 30px 0 20px;
}
.editor_contents h6 {
  font-size: 16px;
  font-weight: 900;
  line-height: 1.5;
  color: #000;
  margin: 30px 0 20px;
}
.editor_contents p {
  margin: 0 0 1em;
}
.editor_contents a {
  color: var(--main_color);
  text-decoration: underline;
}
.editor_contents ul,
.editor_contents ol {
  margin: 0 0 1em;
}
.editor_contents ul li {
  padding-left: 1em;
  text-indent: -1em;
}
.editor_contents ul li::before {
  content: "■";
  color: #6184c3;
  font-size: 10px;
  margin: 0 5px 0 0;
}
.editor_contents strong {
  font-weight: 900;
}
.editor_contents hr {
  border-top: 1px solid var(--main_color);
  margin: 60px 0;
}
.editor_contents figure {
  margin: 0 0 30px;
}
.editor_contents figure figcaption {
  font-size: 12px;
  text-align: center;
}
.editor_contents img {
  height: auto !important;
}

.editor_contents .map_cont {
  position: relative;
  width: 100%;
  height: 460px;
  margin: 0 0 20px;
}
.editor_contents .map_cont > iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.editor_contents .accordion_btn {
  color: var(--main_color);
  cursor: pointer;
}
.editor_contents .accordion_btn::after {
  content: "▶";
  display: inline-block;
  margin: 0 0 0 5px;
  transition: 0.5s;
}
.editor_contents .accordion_btn.open::after {
  transform: rotate(90deg);
}
.editor_contents .accordion_btn:hover {
  text-decoration: underline;
}
.editor_contents .accordion {
  display: none;
  background: rgba(170, 170, 170, 0.1);
  padding: 50px;
  margin: 0 0 20px;
}
.editor_contents .accordion .wp-block-group__inner-container > *:first-child {margin-top: 0;}
.editor_contents .accordion .wp-block-group__inner-container > *:last-child {margin-bottom: 0;}

.editor_contents .wp-block-group.member {
  background: #eaeaea;
}
.editor_contents .wp-block-group.member .wp-block-column {
  min-width: 50%;
  margin: 0;
}
.editor_contents .wp-block-group.member .wp-block-column:first-of-type {
  padding: 1em;
}
.editor_contents .wp-block-group.member .wp-block-column figure {
  margin: 0;
}


/* -----------------------------------------------------------
  Gutenberg
----------------------------------------------------------- */
/* 背景色 */
.has-blue-background-color {
  background-color: #6184c3;
}
.has-bg-blue-background-color {
  background-color: #eff2f9;
}
.has-gray-background-color {
  background-color: #c8c8c8;
}
.has-light-gray-background-color {
  background-color: #eaeaea;
}
.has-text-black-background-color {
  background-color: #444444;
}
.has-white-background-color {
  background-color: #ffffff;
}
/* 文字色 */
.has-blue-color {
  color: #6184c3;
}
.has-bg-blue-color {
  color: #eff2f9;
}
.has-gray-color {
  color: #c8c8c8;
}
.has-light-gray-color {
  color: #eaeaea;
}
.has-text-black-color {
  color: #444444;
}
.has-white-color {
  color: #ffffff;
}

/*Table*/

.editor_contents .wp-block-table {
  text-align: left;
}
.editor_contents .wp-block-table thead tr {
  font-size: 16px;
  font-weight: 500;
}
.editor_contents .wp-block-table tr {
  border-bottom: 1px dashed #c2c2c2;
}
.editor_contents .wp-block-table tr:first-of-type {
  border-top: 1px dashed #c2c2c2;
}
.editor_contents .wp-block-table tr th,
.editor_contents .wp-block-table tr td {
  padding: 35px 10px 35px 40px;
}

.editor_contents .wp-block-table.is-style-stripes {
  background: #fff;
  text-align: left;
}
.editor_contents .wp-block-table.is-style-stripes thead tr {
  background: #c8c8c8;
  font-size: 16px;
  font-weight: 500;
}
.editor_contents .wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background: #fff;
}
.editor_contents .wp-block-table.is-style-stripes tbody tr:nth-of-type(2n) {
  background: #eeeeee;
}
.editor_contents .wp-block-table.is-style-stripes tr {
  border: none;
}
.editor_contents .wp-block-table.is-style-stripes tr th,
.editor_contents .wp-block-table.is-style-stripes tr td {
  padding: 5px 25px;
}
/*Columns*/
.editor_contents .wp-block-columns {
  margin-bottom: 40px;
}
.editor_contents .wp-block-group.member .wp-block-columns {
  margin-bottom: 1em;
  gap: 0;
}





/***********  202603追加  ************/

/** column **/

.single_column .post_date + ul {display: inline-block;}
.single_column .post_date + ul li {
  display: inline-block;
  margin: 0 1em 0 0;
  color: #666666;
}
.single_column .post_date + ul li::before {content: "#";}
.column_list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.column_list::after {
  display: block;
  content: "";
  width: 30.6%;
  height: 0;
}
.column_list > li {
  width: 30.6%;
  background: #eeeeee;
  margin: 0 0 30px;
  padding: 0 0 20px;
}
.column_list > li a figure,
.column_list > li a p {transition: 0.5s;}
.column_list > li a:hover figure,
.column_list > li a:hover p {
  opacity: 0.5;
  text-decoration: none;
}
.column_list > li a figure {aspect-ratio: 300 / 225;}
.column_list > li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.column_list > li a figure {margin: 0 0 10px;}
.column_list > li a .column_date {
  color: #666666;
  font-size: 12px;
  line-height: 1.2;
  margin: 1em 0;
  padding: 0 15px;
}
.column_list > li a .column_title {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  margin: 0 0 1em;
  padding: 0 15px;
}
.column_list > li ul {
  padding: 0 15px;
  margin: 0;
}
.column_list > li ul li {
  display: inline-block;
  font-size: 14px;
  line-height: 1.75;
  margin: 0 1em 0 0;
}
.column_list > li ul li a::before {content: "#";}
.column_list > li ul li a:hover {text-decoration: underline;}

.home_column {
  padding: 100px 0 50px;
  background: #FFFFFF;
}
.home_column .title_area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin: 0 0 50px;
}
.home_column .title_area > span {
  font-family: 'Roboto', sans-serif;
  font-size: 72px;
  line-height: 1.1;
  margin: 0 0.5em 0 0;
}
.home_column .title_area > div h2 {
  font-size: 21px;
  font-weight: 700;
  margin: 0 0 0.25em;
}
.home_column .title_area > div p {font-size: 14px;}
.home_column .works_title {
  font-size: 18px;
  margin: 10px 0 30px;
}
.home_column h3 {
  font-size: 14px;
  font-weight: 700;
}
.home_column h3 + p {color: #666666;}
.home_column .btn_a {margin: 20px 0 0;text-align: right;}

/** service **/

.service .editor_contents h2 {margin-top: 70px;}
.service .editor_contents .h2_check {
  position: relative;
  z-index: 0;
  color: #000000;
  font-size: 36px;
  font-weight: 700;
  line-height: 1.25;
  background: none;
  margin: 150px 0 20px;
  padding: 0 0 20px 65px;
}
.service .editor_contents .h2_check:nth-of-type(1) {margin: 60px 0 20px;}
.service .h2_check::before ,
.service .h2_check::after {
  position: absolute;
  z-index: 0;
  display: block;
  content: "";
}
.service .h2_check::before {
  width: 50px;
  height: 70px;
  background: url("../img/service/h2_check.svg") no-repeat center / contain;
  inset: 0 auto auto 0;
}
.service .h2_check::after {
  width: calc(100% - 65px);
  height: 3px;
  background: #c1272d;
  inset: auto auto 0 65px
}
.service .h2_check + p {
  font-weight: 500;
  padding: 0 0 0 65px;
}
.service .h3_service {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.5;
  color: #fff;
  background: var(--main_color);
  margin: 70px 0 30px;
  padding: 7px 15px;
}
.service .h4_service {color: #c1272d;}
.service .h5_service {
  color: #666666;
  font-size: 16px;
  font-weight: 700;
  margin: 20px 0 5px;
}
.service .h5_service + .h5_service {margin: 5px 0;}
.service .h5_service::before {
  content: "■";
  margin: 0 0.5em 0 0;
  color: #c1272d;
}
.service .h5_service + ul li {
  color: #666666;
}
.service .h5_service + ul li::before {
  content: "・";
  color: #666666;
}


.service .h3_list {
  position: relative;
  z-index: 0;
  color: var( --main_color);
  font-size: 36px;
  font-weight: 900;
  margin: 0 auto 20px;
  padding: 20px 0 15px 90px;
  border-bottom: solid 1px var(--main_color);
}
.service .h3_list::before {
  position: absolute;
  z-index: 0;
  inset: auto auto 0 0;
  display: block;
  content: "";
  width: 113px;
  height: 1px;
  background: var( --main_color);
  transform: rotate(-45deg);
  transform-origin: bottom left;
}
.service .h3_list span {
  position: absolute;
  z-index: 0;
  display: block;
  font-size: 26px;
  font-weight: 400;
  line-height: 1;
  inset: 20px auto auto 0.25em;
}
.service .list_box {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  max-width: 800px;
  margin: 0 auto;
}
.service .list_box figure {
  width: 200px;
  height: 200px;
  overflow: hidden;
  border-radius: 50%;
}
.service .list_box figure img {
  width: 100%;
  height: 100%!important;
  object-fit: cover;
}
.service .list_box ul {width: calc(100% - 230px);}
.service .list_box ul li {
  font-size: 18px;
  font-weight: 500;
}
.service .list_box ul li::before {font-size: 18px;}
.service .service_list li {
  font-size: 16px;
  color: #666666;
}
.service .service_list li::before {
  font-size: 16px;
  color: #666666;
  margin: 0 0.5em 0 0;
}
.service .accordion_btn {
  font-size: 16px;
  font-weight: 700;
}
.service .accordion > *:nth-child(1) {margin-top: 0;}
.service .accordion > *:nth-last-child(1) {margin-bottom: 0;}
.service .bg_box {
  margin: 20px auto;
  padding: 20px 30px;
  background: #f2f2f2;
  border: solid 1px #CCCCCC;
}
.service .bg_box > div > *:nth-child(1) {margin-top: 0;}
.service .bg_box > div > *:nth-last-child(1) {margin-bottom: 0;}
.service .bg_box > div > ul li::before {font-size: 14px;}
.service .wp-block-column figure {margin: 0;}

.service .h3_work {
  font-size: 14px;
  margin: 20px 0 15px;
}
.service .h3_work + div {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
}
.service .h3_work + div::after {
  display: block;
  content: "";
}
.service .h3_work + div section {
  width: 31%;
  padding: 30px;
  background: #eeeeee;
  margin: 0 0 20px;
}
.service .h3_work + div section h4 {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  margin: 0 0 10px;
  border: none;
}
.service .h3_work + div section h4 span {
  display: block;
  width: calc(100% - 90px);
}
.service .h3_work + div section h4::before {
  display: block;
  content: "";
  width: 80px;
  height: 80px;
  margin: 0 10px 10px 0;
}
.service .h3_work + div section:nth-of-type(1) h4::before {background: url("../img/service/service_ico01.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(2) h4::before {background: url("../img/service/service_ico02.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(3) h4::before {background: url("../img/service/service_ico03.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(4) h4::before {background: url("../img/service/service_ico04.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(5) h4::before {background: url("../img/service/service_ico05.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(6) h4::before {background: url("../img/service/service_ico06.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(7) h4::before {background: url("../img/service/service_ico07.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(8) h4::before {background: url("../img/service/service_ico08.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(9) h4::before {background: url("../img/service/service_ico09.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(10) h4::before {background: url("../img/service/service_ico10.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(11) h4::before {background: url("../img/service/service_ico11.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(12) h4::before {background: url("../img/service/service_ico12.svg") no-repeat center / contain;}
.service .h3_work + div section:nth-of-type(13) h4::before {background: url("../img/service/service_ico13.svg") no-repeat center / contain;}
.service .h3_work + div section ul {margin: 0;}
.service .h3_work + div section ul li::before {font-size: 14px;}

.service .anc_list {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  flex-wrap: wrap;
  margin: 60px auto 0;
}
.service.media_training .anc_list {margin: 60px auto 80px;}
.service .anc_list::after {
  content: "";
  width: 32%;
  height: 0;
}
.service .anc_list02 {
  justify-content: flex-start;
  margin: 10px 0 0;
}
.service .anc_list li {
  text-indent: 0;
  margin: 0;
  padding: 0;
}
.service .anc_list01 li {width: 32%;}
.service.media_training .anc_list01 li {width: 23.5%;}
.service .anc_list02 li {margin: 0 20px 20px 0;}
.service .anc_list li::before {content: none;}
.service .anc_list li a {
  height: 100%;
  color: #FFFFFF;
  font-size: 18px;
  font-weight: 500;
  line-height: 1.3;
  transition: 0.5s;
}
.service .anc_list li a:hover {opacity: 0.5;}
.service .anc_list01 li a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  text-align: center;
  text-decoration: none;
  padding: 10px 0;
  background: var(--main_color);
}
.service .anc_list02 li a {
  position: relative;
  z-index: 0;
  display: inline-block;
  text-align: left;
  text-decoration: none;
  padding: 10px 3em 10px 15px;
  background: #c1272d;
}
.service .anc_list01 li a::after {
  display: block;
  content: "";
  width: 1.35em;
  height: 0.9em;
  margin: 0.5em 0 0;
  background: url("../img/service/anc01.svg") no-repeat center / contain;
}
.service .anc_list02 li a::after {
  position: absolute;
  z-index: 1;
  inset: 0 15px 0 auto;
  margin: auto;
  display: block;
  content: "";
  width: 1.35em;
  height: 0.7em;
  background: url("../img/service/anc02.svg") no-repeat center / contain;
}
.service .service_link a {
  font-size: 16px;
  font-weight: 700;
  color: var(--main_color);
  text-decoration: none;
}
.service .service_link a::after {
  display: inline-block;
  content: "▶";
  margin: 0 0 0 5px;
}
.service .service_link a:hover {text-decoration: underline;}

.service .table_service {
  width: 100%;
  table-layout: fixed;
  font-size: 14px;
  text-align: left;
}
.service .table_service th {
  width: 36%;
  font-weight: 900;
  padding: 1em 1.5em;
  background: #c7cedd;
  border-top: solid 1px var(--main_color);
  border-bottom: solid 1px var(--main_color);
}
.service .table_service th:nth-child(2) {
  width: 64%;
  background: #e6e6e6;
}
.service .table_service td {
  color: #808080;
  font-weight: 700;
  padding: 1em 1.5em;
  border-bottom: solid 1px var(--main_color);
}
.service .table_service td:nth-of-type(1) {background: #eff2f9;}
.service .table_service td dl dt {
  color: #333333;
  font-weight: 900;
  text-indent: -1em;
  padding: 0 0 0 1em;
}
.service .table_service td dl dt::before {content: "■";}
.service .table_service td dl dd ul {margin: 0;}
.service .table_service td dl dd ul li {
  color: #808080;
  font-weight: 700;
}
.service .table_service td dl dd ul li::before {
  content: "✓";
  color: #808080;
}
.service .table_service td dl dd ul li ul li::before {content: "・";}

.service .service_heading {margin: 70px auto;}
.service .service_heading p:nth-of-type(1) {
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 0.7em;
}
.service .service_heading p:nth-of-type(2) {
  line-height: 2.2;
  margin: 0;
}
.service .h3_service + ul li {color: #666666;}
.service .h3_service + ul li::before {
  font-size: 14px;
  color: #666666;
  margin: 0 0.5em 0 0;
}
.service h3.accordion_btn {
  position: relative;
  font-size: 18px;
  font-weight: 900;
  color: #c1272d;
  border-bottom: solid 2px #c1272d;
  padding: 5px 0 8px 50px;
  margin: 30px 0;
}
.service h3.accordion_btn:hover {text-decoration: none;}
.service h3.accordion_btn::before {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
  width: 40px;
  height: 40px;
  inset: 0 auto auto 0;
  background: #e6e6e6;
}
.service h3.accordion_btn::after {
  position: absolute;
  z-index: 1;
  inset: 7px auto auto 7px;
}
.service h3.accordion_btn + .accordion {
  background: none;
  padding: 0;
}
.service h3.accordion_btn + .accordion ul li {color: #666666;}
.service h3.accordion_btn + .accordion ul li::before {
  content: "・";
  color: #666666;
}

.service h3.accordion_btn + .accordion h4 {
  color: #666666;
  font-size: 16px;
  font-weight: 700;
  margin: 20px 0 5px;
  border: none;
}
.service h3.accordion_btn + .accordion h4 + h4 {margin: 5px 0;}

.service h3.accordion_btn + .accordion h4::before {
  content: "■";
  margin: 0 0.5em 0 0;
  color: #666666;
}
.service h3.accordion_btn + .accordion h4:nth-of-type(1)::before {color: #c1272d;}

