@charset "utf-8";

/*** ------------------------------------------------------------------------------
#home
-----------------------------------------------------------------------------  ***/
@media only screen and (min-width: 1001px) {
  #home header {
    transform: translateY(-100%);
  }
  #home header.move{
    transform: translateY(0);
  }
}

#home .top-mv{
  width: 100%;
  height: 100vh;
  position:relative;
  overflow: hidden;
}
#home .top-mv__head{
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  max-width: 1400px;
  width: 94%;

}
#home .top-mv__logo{
  max-width: 230px;
  margin: 0 auto 30px;
  display: block;
}
#home .top-mv__logo:hover{
  opacity: .7;
}
#home .top-mv__head .menu{
  max-width: 1050px;
  width: 100%;
  margin: 0 auto;
}
#home .top-mv__head .menu li {
  padding: 10px 0;
  position: relative;
}
#home .top-mv__head .menu li a {
  position: relative;
  z-index: 1;
  padding: 0 12px;
  text-align: center;
  display: block;
  padding: 5px 13px 5px 15px;
  text-align: left;
  position: relative;
  font-size: clamp(1.1rem, 1.4vw, 1.4rem);
  line-height: 1;
  position: relative;
}
#home .top-mv__head .menu li a:hover {
  color: var(--c-blue);
}
#home .top-mv__head .menu li a.parent:after {
  content: '';
  position: absolute;
  width: 10px;
  height: 5px;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../images/common/arw01-black.svg) no-repeat center center/contain;
}
#home .top-mv__head .menu li:hover .sub-menu {
  opacity: 1;
  pointer-events: inherit;
}
#home .top-mv__head .menu .sub-menu {
  opacity: 0;
  position: absolute;
  left: 10px;
  top: 30px;
  z-index: 9998;
  background-color: #fff;
  font-weight: normal;
  margin: 0;
  transition: .3s;
  pointer-events: none;
  border: solid 1px #d3dce0;
  border-bottom: none;
  width: 240px;
}
#home .top-mv__head .menu .sub-menu li {
  padding: 0;
}
#home .top-mv__head .menu .sub-menu li a:hover{
  color: #fff;
  background-color: #d3dce0;
}
#home .top-mv__head .menu .sub-menu li a:before {
  content: '';
  position: absolute;
  width: 10px;
  height: 5px;
  top: 50%;
  left: 0;
  transform: translateY(-50%) rotate(-90deg);
  opacity: .3;
  background: url(../images/common/arw01-black.svg) no-repeat center center/contain;
}
#home .top-mv__head .menu .sub-menu li a:hover:before{
  opacity: 1;
  background: url(../images/common/arw01-white.svg) no-repeat center center/contain;
}
#home .top-mv__head-box{
  position: absolute;
  top: 0;
  right: 0;
}
#home .top-mv__head-box .tel{
  font-size: 3rem;
  line-height: 1;
  margin: 0 0 15px;
}
#home .top-mv__head-box .btn{
  display: flex;
  justify-content: space-between;
}
#home .top-mv__head-box .btn a {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px 30px;
  border: solid 1px var(--c-black);
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  line-height: 1;
  transition: .3s;
  margin-right: 10px;
}
#home .top-mv__head-box .btn a:last-of-type{
  margin-right: 0;
}
#home .top-mv__head-box .btn a:hover{
  background-color: var(--c-blue);
  border-color: var(--c-blue);
  color: #fff;
}
#home .top-mv__head-box .btn a.btn2:hover{
  background-color: var(--c-green);
  border-color: var(--c-green);
  color: #fff;
}
#home .top-mv__midashi{
  position: absolute;
  width: 180px;
  top: 50%;
  left: 50%;
  transform: translate(-50%);
  z-index: 10;
}
#home .top-mv__text{
  position: absolute;
  bottom: 10%;
  left: 0;
  width: 100%;
  z-index: 10;
  text-align: center;
  font-size: clamp(1.4rem, 1.7vw, 1.8rem);
  font-weight: 500;
  line-height: 1.8;
}
#home .top-mv .movie{
  position:relative;
  height: 100vh;
  overflow: hidden;
}
#home .top-mv .movie video{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}
@media only screen and (max-width: 1000px) {
  #home .top-mv__head{
    display: none;
  }
  #home .top-mv__midashi{
    position: absolute;
    max-width: 400px;
    top: 50%;
  }
  #home .top-mv__text{
  }
}
#home .top-conts{
  padding: 80px 0 0;
  position: relative;
}
#home .top-conts__nav{
  position: sticky; 
  top: 150px;
  left: 50%;
  margin-right: calc(50% + 600px + 40px);
  z-index: 100;
  padding: 60px 0 0 20px;
  transition: .3s;
  max-width: 80px;
  width: 80px;
}
#home .top-conts__nav.none{
  opacity: 0;
  pointer-events: none;
}
#home .top-conts__nav:before{
  content: '';
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-40%);
  width: 53px;
  height: 56px;
  background: no-repeat center center / contain;
  background-image: url(../images/top/conts-icon01.svg);
  transition: .3s;
}
#home .top-conts__nav.nav--1:before{
  background-image: url(../images/top/conts-icon01.svg);
}
#home .top-conts__nav.nav--2:before{
  background-image: url(../images/top/conts-icon02.svg);
}
#home .top-conts__nav.nav--3:before{
  background-image: url(../images/top/conts-icon04.svg);
}
#home .top-conts__nav.nav--4:before{
  background-image: url(../images/top/conts-icon04.svg);
}
#home .top-conts__nav li a{
  font-size: clamp(1.1rem, 1.1vw, 1.2rem);
  line-height: 1;
  color: #d3dce0;
  display: inline-block;
  margin-bottom: 20px;
  position: relative;
}
#home .top-conts__nav li a:before{
  content: '';
  position: absolute;
  top: 3px;
  left: -10px;
  border-radius: 10px;
  width: 6px;
  height: 6px;
  background-color: var(--c-blue);
  transition: .3s;
  opacity: 0;
}
#home .top-conts__nav li a.act{
  color: var(--c-blue);
}
#home .top-conts__nav li a.act:before{
  opacity: 1;
}
#home .top-conts .inner{
  max-width: 1200px;
  width: calc(100% - 200px);
  margin: 0 auto;
}
#home .top-conts .sec{
  padding: 100px 0;
}
#home .top-conts .sec:first-of-type{
  margin-top: -290px;
}
#home .top-conts .sec-tit{
  align-items: center;
  margin: 0 0 60px;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  justify-content: flex-start;
}
#home .top-conts .sec-tit strong{
  display: block;
  font-size: clamp(3rem, 3.5vw, 4rem);
  font-weight: 400;
  padding: 0 20px 0 40px;
  position: relative;
}
#home .top-conts .sec-tit strong:before{
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 30px;
  height: 52px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
#home .top-conts .more{
  position: absolute;
  top: 1rem;
  right: 0;
}
@media (max-width: 798px) {
  #home .top-conts{
    padding: 120px 0 0;
  }
  #home .top-conts__nav{
    position: sticky;
    top: 100px;
    left: 25px;
    margin-right: 0;
    z-index: 100;
    padding: 60px 0 0 20px;
    transition: .3s;
    max-width: auto;
    width: 100%;
    transform: rotate(90deg);
    transform-origin: top left;
  }
  #home .top-conts__nav:before{
    display: none;
  }
  #home .top-conts__nav li{
    position: absolute;
    top: 0;
    left: 0;
  }
  #home .top-conts__nav li a{
    opacity: 0;
    transition: .3s;
    pointer-events: none;
  }
  #home .top-conts__nav li a.act{
    color: var(--c-blue);
    opacity: 1;
  }
  #home .top-conts__nav li a.act:before{
  }
  #home .top-conts .inner{
    max-width: 1200px;
    width:90%;
    margin: 0 auto;
    padding-left: 20px;
  }
  #home .top-conts .sec{
    padding: 50px 0;
  }
  #home .top-conts .sec:first-of-type{
    margin-top: -190px;
  }
  #home .top-conts .sec-tit{
    display: block;
    margin: 0 0 25px;
    padding-left: 0;
    position: relative;
  }
  #home .top-conts .sec-tit:after{
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 56px;
    height: 60px;
    background: no-repeat center center / contain;
  }
  #home .top-conts #sec1 .sec-tit:after{
    background-image: url(../images/top/conts-icon01.svg);
  }
  #home .top-conts #sec2 .sec-tit:after{
    background-image: url(../images/top/conts-icon02.svg);
  }
  #home .top-conts #sec3 .sec-tit:after{
    background-image: url(../images/top/conts-icon03.svg);
  }
  #home .top-conts #sec4 .sec-tit:after{
    background-image: url(../images/top/conts-icon04.svg);
  }
  #home .top-conts .sec-tit strong{
    padding: 0 0 10px;
  }
  #home .top-conts .sec-tit strong:before{
    top: -5px;
    left: -25px;
    transform: none;
    width: 20px;
    height: 40px;
  }
  #home .top-conts .more{
    position: relative;
    top: initial;
    right: initial;
  }
}
#home .top-conts #sec1 .inner{
  position: relative;
}
#home .top-conts #sec1 .list{
  align-items: stretch;
}
#home .top-conts #sec1 .list a{
  display: flex;
  flex-direction: column;
  width: calc(100% / 4 - 2px);
  background-color: var(--c-blue);
  color: #fff;
  text-align: center;
  transition: .3s;
}
#home .top-conts #sec1 .list a:hover{
  opacity: .7;
}
#home .top-conts #sec1 .list a .txt{
  flex: 1;
  height: 100%;
  min-height: 0%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px 0;
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 798px) {
  #home .top-conts #sec1 .list{
    display: block;
  }
  #home .top-conts #sec1 .list a{
    display: block;
    width: 100%;
    margin-bottom: 15px;
  }
}
#home .top-conts #sec2{
  background-color: var(--bg_gray);
}
#home .top-conts #sec2 .inner{
  position: relative;
}
#home .top-conts #sec2 .list{
  align-items: stretch;
}
#home .top-conts #sec2 .list a{
  display: flex;
  flex-direction: column;
  width: calc(100% / 3 - 20px);
  transition: .3s;
}
#home .top-conts #sec2 .list a .img{
  position: relative;
  margin: 0 0 10px;
  padding-top: 70%;
}
#home .top-conts #sec2 .list a .img img{
  position: absolute;
  width: 100%!important;
  height: 100%!important;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#home .top-conts #sec2 .list a:hover{
  opacity: .7;
}
#home .top-conts #sec2 .list a .img span{
  position: absolute;
  bottom: 10px;
  left: 10px;
  color: var(--c-blue);
  background-color: #fff;
  padding: 5px 10px;
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-weight: 500;
  line-height: 1.4;
  max-width: calc(100% - 20px);
}
#home .top-conts #sec2 .list a .txt{
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  line-height: 1.6;
}
#home .top-conts #sec2 .list a .txt strong{
  display: block;
  color: var(--c-blue);
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 500;
  margin-bottom: 5px;
}
@media (max-width: 798px) {
  #home .top-conts #sec2 .list{
    display: block;
  }
  #home .top-conts #sec2 .list a{
    display: block;
    width: 100%;
    margin-bottom: 25px;
  }
}
#home .top-conts #sec3 .txt{
  font-size: clamp(1.5rem, 1.6vw, 1.6rem);
  line-height: 1.8;
  margin: 0 0 50px;
}
#home .top-conts #sec3 .link{
  align-items: flex-end;
  justify-content: center;
}
#home .top-conts #sec3 .link-txt{
  width: fit-content;
  margin-right: 30px;
}
#home .top-conts #sec3 .link-txt a{
  display: inline-block;
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-weight: 500;
  line-height: 1.4;
  padding-right: 18px;
  position: relative;
  margin-top: 20px;
}
#home .top-conts #sec3 .link-txt a:after{
  content: '';
  width: 13px;
  height: 13px;
  background: url(../images/common/icon-link.svg) no-repeat center center / contain;
  right: 0;
  top: 3px;
  position: absolute;
  transition: .3s;
}
#home .top-conts #sec3 .link-txt a:hover:after{
  right: -5px;
}
#home .top-conts #sec3 .img-list{
  width: 58%;
  align-items: flex-end;
}
#home .top-conts #sec3 .img-list a{
  display: block;
}
#home .top-conts #sec3 .img-list a:hover{
  opacity: .7;
}
#home .top-conts #sec3 .img-list a:nth-of-type(1){
  width: 32.6%;
}
#home .top-conts #sec3 .img-list a:nth-of-type(2){
  width: 64%;
}
#home .top-conts #sec3 .img-list a span{
  display: none;
}
@media (max-width: 798px) {
  #home .top-conts #sec3 .txt{
    margin: 0 0 40px;
  }
  #home .top-conts #sec3 .link{
    display: block;
  }
  #home .top-conts #sec3 .img-list{
    width: 100%;
    display: block;
  }
  #home .top-conts #sec3 .img-list a:nth-of-type(1){
    width: 100%;
    margin-bottom: 30px;
  }
  #home .top-conts #sec3 .img-list a:nth-of-type(2){
    width: 100%;
  }
  #home .top-conts #sec3 .img-list a span{
    display: block;
    position: relative;
    font-size: 1.1rem;
    font-weight: 500;
    line-height: 1.4;
    margin-top: 10px;
    text-align: right;
    padding-right: 18px;
  }
  #home .top-conts #sec3 .img-list a span:after{
    content: '';
    width: 13px;
    height: 13px;
    background: url(../images/common/icon-link.svg) no-repeat center center / contain;
    right: 0;
    top: 1px;
    position: absolute;
    transition: .3s;
  }
}
#home .top-conts #sec4{
  background-color: var(--bg_gray);
  overflow-x: hidden;
}
#home .top-conts #sec4 .inner{
  position: relative;
}
#home .top-conts #sec4 .arrow{
  width: 120px;
  position: absolute;
  top: 0;
  right: 0;
}
#home .top-conts #sec4 .arrow button{
  width: 50px;
  height: 50px;
  border-radius: 50px;
  border: none;
  border: solid 1px var(--c-blue);
  position: relative;
  background: url(../images/common/arw01-blue.svg) no-repeat center center / 15px #fff;
  cursor: pointer;
  transition: .3s;
  transform: rotate(-90deg);
}
#home .top-conts #sec4 .arrow button.prev{
  transform: rotate(90deg);
}
#home .top-conts #sec4 .arrow button:hover{
  opacity: .7;
}
#home .top-conts #sec4 .knowledge-slider{
  width: calc(100% + (100vw - 100%) / 2);
  margin-right: calc(-1 * (100vw - 100%) / 2);
  padding-bottom: 40px;
}
#home .top-conts #sec4 .knowledge-slider .slick-list{
  padding: 0 10% 0 0;
}
#home .top-conts #sec4 .knowledge-slider a{
  margin: 0 30px 0 0;
  transition: .3s;
  display: block;
  font-size: clamp(1.5rem, 1.6vw, 1.6rem);
  line-height: 1.8;
}
#home .top-conts #sec4 .knowledge-slider a:hover{
  opacity: .7;
}
#home .top-conts #sec4 .knowledge-slider a .img{
  position: relative;
  margin: 0 0 15px;
}
#home .top-conts #sec4 .knowledge-slider a .img .new{
  position: absolute;
  bottom: 0;
  right: 10px;
  transform: translateY(50%);
  background: linear-gradient(45deg,  #d3dce0 0%,#004097 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  color: #fff;
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  line-height: 1;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border-radius: 60px;
}
#home .top-conts #sec4 .knowledge-slider a .date{
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  line-height: 1;
  margin: 0 0 10px;
}
#home .top-conts #sec4 .more{
  display: block;
  max-width: 200px;
  margin: 0 auto;
  background: linear-gradient(to bottom,  #f1f3f3 0%,#d5d7d7 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  border-radius: 50px;
  padding: 20px 20px;
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  line-height: 1;
  color:  var(--c-blue);
  box-shadow: 4px 4px 6px rgba(0,0,0,.25);
  transition: .3s;
  position: relative;
}
#home .top-conts #sec4 .more:after{
  content: '';
  width: 20px;
  height: 20px;
  background: url(../images/common/arw02-blue.svg) no-repeat center center / contain;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
}
#home .top-conts #sec4 .more:hover{
  box-shadow: 0 0 0 rgba(0,0,0,0);
}
@media (max-width: 798px) {
  #home .top-conts #sec4{
    background-color: var(--bg_gray);
    overflow-x: hidden;
  }
  #home .top-conts #sec4 .inner{
    position: relative;
  }
  #home .top-conts #sec4 .arrow{
    width: 100%;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
  }
  #home .top-conts #sec4 .arrow button{
    width: 40px;
    height: 40px;
    background: url(../images/common/arw01-blue.svg) no-repeat center center / 12px #fff;
  }
  #home .top-conts #sec4 .knowledge-slider a{
    margin: 0 10px 0 0;
  }
}
#home .ft-btn{
  padding: 170px 0;
}
#home .ft-btn .btn{
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-wrap: wrap;
  max-width: 500px;
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 30px;
  background-color: var(--c-blue);
  color: #fff;
  transition: .3s;
}
#home .ft-btn .btn:hover{
  opacity: .7;
}
#home .ft-btn .btn .img{
  width: 30%;
}
#home .ft-btn .btn .txt{
  width: 70%;
  padding: 10px;
}
#home .ft-btn .btn .txt span{
  display: block;
  width: fit-content;
  margin: 0 auto;
  font-size: clamp(1.3rem, 1.5vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
}
@media (max-width: 798px) {
  #home .ft-btn{
    padding: 70px 0;
  }
}

/*** ------------------------------------------------------------------------------
#questions
-----------------------------------------------------------------------------  ***/
#questions .page-nav{
  max-width: 980px;
  width: 90%;
  margin: 0 auto;
  justify-content: center;
  align-items: stretch;
  padding-bottom: 100px;
}
#questions .page-nav a{
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 5px;
  background-color: var(--c-blue);
  color: #fff;
  border: solid 1px var(--c-blue);
  width: calc(100% / 3 - 20px);
  margin: 0 10px 20px;
  text-align: center;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
  border-radius: 10px;
  transition: .3s;
}
#questions .page-nav a:hover{
  background-color: #fff;
  color: var(--c-blue);
}
#questions .conts{
  max-width: 980px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 100px;
}
#questions .conts .sec{
  margin: 0 auto 80px;
  padding-top: 100px;
}
#questions .conts .sec-tit{
  margin: 0 0 50px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 10px 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
#questions .conts .sec-tit:before{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 23px;
  height: 40px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
#questions .conts dl{
  border: solid 1px var(--c-gray01);
  margin: 0 0 30px;
}
#questions .conts dl:last-of-type{
  margin-bottom: 0;
}
#questions .conts dt{
  background-color: var(--c-gray01);
  color: var(--c-blue);
  padding: 30px calc(40px + 20px) 30px 40px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  cursor: pointer;
  position: relative;
}
#questions .conts dt:before,
#questions .conts dt:after{
  content: '';
  position: absolute;
  top: 50%;
  right: 3%;
  width: 20px;
  height: 2px;
  background-color: var(--c-blue);
  transition: .3s;
  transform: translateY(-50%);
}
#questions .conts dt:after{
  transform: translateY(-50%) rotate(90deg);
}
#questions .conts dt.open:after{
  transform: translateY(-50%) rotate(0);
}
#questions .conts dt span{
  display: block;
  font-size: clamp(2rem, 2.5vw, 3rem);
  line-height: 1;
  width: 30px;
}
#questions .conts dt strong{
  display: block;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
  width: calc(100% - 35px);
  padding-top: 3px;
}
#questions .conts dd {
  display: none;
}
#questions .conts dd .a{
  padding: 30px 40px;
}
#questions .conts dd .a p{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin-bottom: 3px;
}
#questions .conts dd .a ul li{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin-bottom: 3px;
}
#questions .conts dd .a .circle-list li{
  margin-left: 1.6rem;
  text-indent: -1.6rem;
}
#questions .conts dd .a .circle-list li:first-letter{
  color: var(--c-gray01);
}
@media (max-width: 798px) {
  #questions .page-nav{
    padding-bottom: 20px;
    display: block;
  }
  #questions .page-nav a{
    display: block;
    width: 100%;
    margin: 0 0 10px;
  }
  #questions .conts{
    padding-bottom: 10px;
  }
  #questions .conts .sec{
    margin: 0 auto 40px;
    padding-top: 50px;
  }
  #questions .conts .sec-tit{
    margin: 0 0 20px;
    padding: 0 0 10px 20px;
  }
  #questions .conts .sec-tit:before{
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 15px;
    height: 30px;
  }
  #questions .conts dl{
    border: solid 1px var(--c-gray01);
    margin: 0 0 10px;
  }
  #questions .conts dt{
    background-color: var(--c-gray01);
    color: var(--c-blue);
    padding: 10px calc(10px + 30px) 10px 10px;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    cursor: pointer;
    position: relative;
  }
  #questions .conts dt:before,
  #questions .conts dt:after{
    width: 15px;
    height: 1px;
  }
  #questions .conts dt span{
    width: 20px;
  }
  #questions .conts dt strong{
    width: calc(100% - 20px);
  }
  #questions .conts dd .a{
    padding: 10px;
  }
}

/*** ------------------------------------------------------------------------------
#staff
-----------------------------------------------------------------------------  ***/
#staff .en-name{
  font-size: clamp(2.4rem, 3vw, 3.6rem);
  line-height: 1;
  letter-spacing: .25rem;
  color:  var(--c-blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 1px;
  pointer-events: inherit;
  background-color: #fff;
  padding: 5px 0;
  margin-bottom: 20px;
  display: block;
  position: relative;
  width: fit-content;
}
#staff .name{
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  line-height: 1.4;
  margin: 0 0 20px;
}
#staff .name span{
  display: block;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  margin-top: 10px;
}
#staff .other{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin: -10px 0 20px;
}
#staff .message{
  font-size: clamp(2rem, 1.9vw, 2.2rem);
  line-height: 1;
  letter-spacing: .25rem;
  color:  var(--c-blue);
  margin: 0 0 10px;
}
#staff .message-txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
}
#staff .ceo{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 200px;
}
#staff .ceo .img{
  width: 50%;
}
#staff .ceo .txt-box{
  padding-top: 80px;
  width: 50%;
}
#staff .ceo .txt-box__inner{
  padding-left:35px;
}
#staff .ceo .txt-box .en-name{
  margin: 0 0 30px -5rem;
  background: none;
}
#staff .sec-tit{
  border-bottom: solid 1px var(--c-blue);
  padding-bottom: 10px;
  width: 100%;
  border-bottom: solid 1px var(--c-blue);
  margin-bottom: 150px;
}
#staff .sec-tit p{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  font-size: clamp(2.4rem, 3.2vw, 4rem);
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 0 40px;
  position: relative;
  letter-spacing: .25rem;
}
#staff .sec-tit p:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 30px;
  height: 48px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
#staff .list{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto 0;
  padding-bottom: 100px;
  justify-content: flex-start;
}
#staff .list li{
  width: calc(100% / 2 - 60px);
  margin: 0 120px 120px 0;
}
#staff .list li:nth-child(2n){
  margin-right: 0;
}
#staff .list li .en-name{
  margin-top: -2rem;
}
@media (max-width: 798px) {
  #staff .en-name{
    padding: 3px 0;
    margin-bottom: 10px;
  }
  #staff .name{
    margin: 0 0 15px;
  }
  #staff .other{
    margin: -10px 0 15px;
  }
  #staff .ceo{
    margin: 0 auto 50px;
    ぢsbl
  }
  #staff .ceo .img{
    width: 100%;
  }
  #staff .ceo .txt-box{
    padding-top: 0;
    width: 100%;
  }
  #staff .ceo .txt-box__inner{
    padding-left:0;
  }
  #staff .ceo .txt-box .en-name{
    margin: -1.5rem 0 10px;
    background: #fff;
  }
  #staff .sec-tit{
    border-bottom: solid 1px var(--c-blue);
    padding-bottom: 10px;
    width: 100%;
    border-bottom: solid 1px var(--c-blue);
    margin-bottom: 30px;
  }
  #staff .sec-tit p{
    padding: 0 0 0 30px;
  }
  #staff .sec-tit p:before{
    width: 20px;
    height: 35px;
  }
  #staff .list{
    display: block;
    padding-bottom: 20px;
  }
  #staff .list li{
    width: 100% ;
    margin: 0 0 30px;
  }
  #staff .list li .en-name{
    margin-top: -1.5rem;
  }
}

/*** ------------------------------------------------------------------------------
#maguideline
-----------------------------------------------------------------------------  ***/
#maguideline .intro{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 80px;
}
#maguideline .intro .sec-tit{
  margin: 0 0 50px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 10px 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
#maguideline .intro .sec-tit:before{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 23px;
  height: 40px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
#maguideline .intro .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  color: var(--c-blue);
}
#maguideline .conts{
  background-color: var(--bg_gray);
  padding: 80px 0;
}
#maguideline .conts .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#maguideline .conts .inner .midashi{
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.4;
  color: var(--c-blue);
  padding-left: 30px;
  position: relative;
  margin-bottom: 40px;
}
#maguideline .conts .inner .midashi:before{
  content: '';
  position: absolute;
  top: 5px;
  left: 0;
  width: 20px;
  height: 20px;
  border-radius: 20px;
  background-color: var(--c-blue);
}
#maguideline .conts .inner p{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin-bottom: 30px;
}
#maguideline .conts .inner .komidashi{
  display: flex;
  justify-content: flex-start;
}
#maguideline .conts .inner .komidashi strong{
  flex: 0 0 auto;
  margin-right: 10px;
}
#maguideline .conts .inner .list{
  padding: 0 0 40px 20px;
  margin-top: -20px;
}
#maguideline .conts .inner .list li{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin-bottom: 10px;
  padding-left: 15px;
  position: relative;
}
#maguideline .conts .inner .list li:before{
  content: '';
  position: absolute;
  top: 12px;
  left: 0;
  width: 4px;
  height: 4px;
  border-radius: 4px;
  background-color: var(--c-black);
}
#maguideline .conts .inner ol{
  list-style: none;
  counter-reset: num;
  padding: 0 0 30px;
}
#maguideline .conts .inner ol.box{
  background-color: #fff;
  padding: 30px;
  margin: 0 0 40px;
}
#maguideline .conts .inner ol li {
  counter-increment: num;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin: 0 0 5px;
  position: relative;
  padding-left: 25px;
} 
#maguideline .conts .inner ol li::before {
  content: counter(num) ". ";
  position: absolute;
  top: 0;
  left: 0;
}
@media (max-width: 798px) {
  #maguideline .intro{
    padding-bottom: 40px;
  }
  #maguideline .intro .sec-tit{
    margin: 0 0 20px;
    padding: 0 0 10px 20px;
  }
  #maguideline .intro .sec-tit:before{
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 15px;
    height: 30px;
  }
  #maguideline .conts{
    background-color: var(--bg_gray);
    padding: 40px 0;
  }
  #maguideline .conts .inner .midashi{
    padding-left: 20px;
    margin-bottom: 20px;
  }
  #maguideline .conts .inner .midashi:before{
    top: 8px;
    width: 12px;
    height: 12px;
  }
  #maguideline .conts .inner p{
    margin-bottom: 20px;
  }
  #maguideline .conts .inner .komidashi{
    display: flex;
    justify-content: flex-start;
  }
  #maguideline .conts .inner .komidashi strong{
    flex: 0 0 auto;
    margin-right: 10px;
  }
  #maguideline .conts .inner .list{
    padding: 0 0 20px 20px;
    margin-top: -10px;
  }
  #maguideline .conts .inner .list li{
    margin-bottom: 5px;
    padding-left: 10px;
  }
  #maguideline .conts .inner .list li:before{
    top: 12px;
    width: 3px;
    height: 3px;
    border-radius: 3px;
  }
  #maguideline .conts .inner ol{
    padding: 0 0 20px;
  }
  #maguideline .conts .inner ol.box{
    padding: 15px;
    margin: 0 0 30px;
  }
  #maguideline .conts .inner ol li {
    padding-left: 20px;
  } 
}

/*** ------------------------------------------------------------------------------
#service
-----------------------------------------------------------------------------  ***/
#service .list{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 10px;
}
#service .list .one-box{
  margin-bottom: 100px;
}
#service .list .one-box .txt-box{
  width: 46%;
}
#service .list .one-box .txt-box .en-txt{
  color: #ceeffc;
  font-size: clamp(4rem,6vw,8rem);
  line-height: 1.2;
  margin: 0 0 20px;
  letter-spacing: .25rem;
}
#service .list .one-box .txt-box .midashi{
  color: #ceeffc;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 20px;
  color: var(--c-blue);
}
#service .list .one-box .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
}
#service .list .one-box .txt-box .more{
  display: block;
  width: fit-content;
  margin: 60px 0 0 auto;
}
#service .list .one-box:hover .txt-box .more:after{
  right: -5px;
}
#service .list .one-box .txt-box .more:hover:after{
  right: 0;
}
#service .list .one-box .img{
  width: 50%;
}
#service .sec-tit{
  margin: 0 0 50px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 10px 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
#service .sec-tit:before{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 23px;
  height: 40px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
@media (max-width: 798px) {
  #service .list .one-box{
    margin-bottom: 50px;
    display: block;
  }
  #service .list .one-box .txt-box{
    width: 100%;
  }
  #service .list .one-box .txt-box .more{
    line-height: 1.4;
    margin: 20px 0 0 auto;
  }
  #service .list .one-box .img{
    width: 100%;
    margin: 0 0 20px;
  }
  #service .sec-tit{
    margin: 0 0 20px;
    padding: 0 0 10px 20px;
  }
  #service .sec-tit:before{
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 15px;
    height: 30px;
  }
}

/*** ------------------------------------------------------------------------------
#service.ma
-----------------------------------------------------------------------------  ***/
#service.ma .under-mv-text span{
  display: flex;
  align-items: center;
}
#service.ma .under-mv-text .sub{
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  font-weight: 500;
  line-height: 1.6;
  display: inline-block;
  margin-left: 20px;
}
#service.ma .page-nav{
  position: relative;
}
#service.ma .page-nav:before{
  content: '';
  position: absolute;
  top: 0;
  leftt: 0;
  width: 100%;
  height: 100%;
  background-color: #ceeffc;
}
#service.ma .page-nav .inner{
  max-width: 1000px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 1;
  padding: 70px 0;
  align-items: stretch;
}
#service.ma .page-nav .inner:after{
  content: '';
  position: absolute;
  top: 0;
  right: -100px;
  height: 100%;
  background-color: var(--c-blue);
  width: calc(200% + 100px);
  z-index: -1;
}
#service.ma .page-nav .inner a{
  display: flex;
  align-items: center;
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  width: calc(100% / 4);
  border-right: solid 1px #fff;
  padding: 10px 15px;
  position: relative;
  transition: .3s;
}
#service.ma .page-nav .inner a:first-of-type{
  border-left: solid 1px #fff;
}
#service.ma .page-nav .inner a:after{
  content: '';
  width: 30px;
  height: 30px;
  background: url(../images/common/arw02-blue.svg) no-repeat center center / 15px #fff;
  border-radius: 50px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  position: absolute;
  transition: .3s;
}
#service.ma .page-nav .inner a:hover{
  background-color: #fff;
  color: var(--c-blue);
}
#service.ma .page-nav .inner a:hover:after{
  background: url(../images/common/arw02-white.svg) no-repeat center center / 15px var(--c-blue);
}
#service.ma .head{
  position: relative;
  margin: 0 0 200px;
}
#service.ma .head:after{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 250px;
  background-color: var(--c-blue);
  width: 100%;
}
#service.ma .head .img{
  width: calc(100% - ((100% - 1200px) / 2));
  margin-left: calc((100% - 1200px) / 2);
  position: relative;
  height: 450px;
  overflow: hidden;
  z-index: 1;
}
#service.ma .head .img img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#service.ma .head .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#service.ma .head .inner .en-tit{
  font-size: clamp(3rem,4vw,5rem);
  line-height: 1.1;
  margin: -4.2% 0 40px;
  letter-spacing: .25rem;
  color: var(--c-blue);
}
#service.ma .head .inner .en-tit span{
  color: #fff;
  display: block;
}
#service.ma .head .inner .txt-box{
  align-items: center;
}
#service.ma .head .inner .txt-box .midashi{
  color: #ceeffc;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue);
  width: 46%;
}
#service.ma .head .inner .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  width: 50%;
}
#service.ma .sec{
  padding-top: 100px;
  margin: -100px 0 150px;
}
#service.ma .sec .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#service.ma .support{
  padding-bottom: 10px;
}
#service.ma .support .one-box{
  margin-bottom: 120px;
  align-items: stretch;
}
#service.ma .support .one-box .phase{
  width: 30%;
  color: var(--c-blue);
  position: relative;
}
#service.ma .support .one-box .phase:after{
  content: '';
  width: 10px;
  height: calc(100% - 140px);
  background-color: #ceeffc;
  position: absolute;
  left: 20%;
  bottom: -60px;
}
#service.ma .support .one-box:nth-of-type(2) .phase:after{
  height: calc(100% - 180px);
}
#service.ma .support .one-box .phase:before{
  content: '';
  width: 45px;
  height: 27px;
  background: url(../images/service/ma/support-arw.svg) no-repeat bottom  center;
  position: absolute;
  left: 20%;
  bottom: -80px;
  transform: translateX(-40%);
}
#service.ma .support .one-box:last-of-type{
  align-items: center;
}
#service.ma .support .one-box:last-of-type .phase:after,
#service.ma .support .one-box:last-of-type .phase:before{
  display: none;
}
#service.ma .support .one-box .phase .num{
  position: relative;
  font-size: clamp(8rem, 12vw, 15rem);
  line-height: .75;
  padding-left: 10%;
}
#service.ma .support .one-box .phase .num span{
  position: absolute;
  top: 20px;
  left: -10px;
  transform: rotate(90deg);
  font-size: clamp(1.8rem, 2vw, 2.7rem);
}
#service.ma .support .one-box .phase .midashi{
  font-size: clamp(1.6rem, 2vw, 2.7rem);
  font-weight: 700;
  line-height: 1.4;
  padding: 30px 0 0 10%;
}
#service.ma .support .one-box .txt-box{
  width: 66.6667%;
  background-color: #ceeffc;
  border-radius: 30px;
  padding: 40px;
}
#service.ma .support .one-box .txt-box .midashi{
  background-color: var(--c-blue);
  color: #fff;
  border-radius: 50px;
  padding: 10px 30px;
  width: fit-content;
  margin: 0 0 15px;
  font-size: clamp(1.6rem, 1.8vw, 2rem);
  font-weight: 500;
  line-height: 1;
}
#service.ma .support .one-box .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  margin: 0 0 30px;
  padding-bottom: 20px;
  border-bottom: solid 1px #fff;
}
#service.ma .support .one-box .txt-box .txt:last-of-type{
  margin-bottom: 0;
  padding-bottom:0;
  border-bottom: none;
}
#service.ma .support .summary{
  border-top: dotted 3px var(--c-blue);
  padding-top: 100px;
}
#service.ma .support .summary .box{
  background-color: var(--c-blue);
  border-radius: 30px;
  padding: 40px;
  color: #fff;
  text-align: center;
}
#service.ma .support .summary .box .txt1{
  margin: 0 0 15px;
  font-size: clamp(1.6rem, 2.4vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
}
#service.ma .support .summary .box .txt2{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
}
#service.ma .feature{
  padding-bottom: 10px;
}
#service.ma .feature li{
  margin-bottom: 80px;
}
#service.ma .feature li:nth-child(even){
  background-color: var(--bg_gray);
  padding: 80px 0;
}
#service.ma .feature li:last-child{
  margin-bottom: 0;
}
#service.ma .feature li:nth-child(even) .inner{
  flex-flow: row-reverse;
}
#service.ma .feature li .txt-box{
  width: 47%;
}
#service.ma .feature li .ill{
  width: 47%;
}
#service.ma .feature li .ill span{
  display: block;
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  margin-top: 30px;
}
#service.ma .feature li .ill span a{
  display: inline;
  color: var(--c-blue);
  text-decoration: underline;
  margin: 0;
}
#service.ma .feature li .ill span a:hover{
  text-decoration: none;
}
#service.ma .feature li .point{
  color: var(--c-blue);
  position: relative;
  margin: 0 0 40px;
}
#service.ma .feature li .point .num{
  position: relative;
  font-size: clamp(8rem, 12vw, 15rem);
  line-height: .75;
  padding-left: 7%;
}
#service.ma .feature li .point .num span{
  position: absolute;
  top: 20px;
  left: -10px;
  transform: rotate(90deg);
  font-size: clamp(1.8rem, 2vw, 2.7rem);
}
#service.ma .feature li .midashi{
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  color: var(--c-blue);
  padding-left: 7%;
}
#service.ma .feature li .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  padding-left: 7%;
}
#service.ma .fee .tit{
  text-align: center;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 30px;
  color: var(--c-blue);
}
#service.ma .fee .tit span{
  display: block;
  font-weight: 400;
  font-size: clamp(2.4rem,3.6vw, 5rem);
}
#service.ma .fee .head-txt{
  text-align: center;
  font-size: clamp(2rem,2.6vw, 3rem);
  font-weight: 700;
  line-height: 2;
  margin: 0 0 60px;
  color: var(--c-blue);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset:10px;
}
#service.ma .fee .box{
  background-color: #ceeffc;
  padding: 50px;
  margin: 0 0 50px;
}
#service.ma .fee .box .midashi{
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 40px;
  color: var(--c-blue);
}
#service.ma .fee .box .agency{
  margin: 0;
  padding-bottom: 50px;
}
#service.ma .fee .box .agency .txt-box{
  width: 55%;
}
#service.ma .fee .box .agency .txt-box .price{
  background-color: var(--c-blue);
  align-items: center;
  color: #fff;
  padding: 10px;
  border-radius: 10px;
  margin: 0 0 30px;
  width: 90%;
}
#service.ma .fee .box .agency .txt-box .price span{
  display: block;
  font-size: clamp(1.4rem,1.8vw, 2.3rem);
  font-weight: 500;
  line-height: 1.4;
  width: calc(100% - 170px);
  text-align: center;
}
#service.ma .fee .box .agency .txt-box .price strong{
  display: block;
  font-size: clamp(2rem,3vw, 4.6rem);
  font-weight: 700;
  line-height: 1.4;
  width: 170px;
  border-left: solid 1px #fff;
  text-align: center;
}
#service.ma .fee .box .txt-box .reward{
  margin: 0 0 20px;
}
#service.ma .fee .box .txt-box .reward span{
  display: block;
  font-size: clamp(1.4rem,1.6vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
  width: 150px;
  text-align: center;
  background-color: var(--c-black);
  border-radius: 50px;
  padding: 5px 0;
  color: #fff;
}
#service.ma .fee .box .txt-box .reward strong{
  display: block;
  font-size: clamp(1.4rem,1.6vw, 1.8rem);
  font-weight: 400;
  line-height: 1.4;
  width: calc(100% - 170px);
}
#service.ma .fee .box .agency .table{
  width: 42%;
}
#service.ma .fee .box .agency .table .in{
  background-color: #fff;
  padding: 20px 30px 20px;
}
#service.ma .fee .box .agency .table .in table{
  width: 100%;
}
#service.ma .fee .box .agency .table .in table th{
  border-bottom: solid 1px var(--c-blue);
  color: var(--c-blue);
  font-size: clamp(1.3rem,1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
  padding: 10px 0;
}
#service.ma .fee .box .agency .table .in table td{
  font-size: clamp(1.3rem,1.5vw, 1.6rem);
  line-height: 1.4;
  padding: 10px 0;
}
#service.ma .fee .box .agency .table .in table th:nth-of-type(2),
#service.ma .fee .box .agency .table .in table td:nth-of-type(2){
  text-align: center;
}
#service.ma .fee .box .timing{
  padding: 50px;
  border-radius: 30px;
  border: solid 1px var(--c-blue);
  background-color: #fff;
}
#service.ma .fee .box .timing .txt{
  font-size: clamp(1.6rem,2vw, 2.4rem);
  font-weight: 500;
  line-height: 1.4;
  margin: 0 0 30px;
  color: var(--c-blue);
}
#service.ma .fee .box .notes{
  display: block;
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  margin-top: 10px;
}
#service.ma .fee .box .timing-notes{
  text-align: right;
}
#service.ma .fee .box.second-opinion .txt-box{
  width: 70%;
}
#service.ma .fee .box.second-opinion .txt-box .price{
  align-items: center;
  color: #fff;
  margin: 0 0 30px;
}
#service.ma .fee .box.second-opinion .txt-box .price span{
  display: block;
  font-size: clamp(1.4rem,1.6vw, 2rem);
  font-weight: 500;
  line-height: 1.4;
  width: 300px;
  text-align: center;
  background-color: var(--c-blue);
  border-radius: 50px;
  color: #fff;
  padding: 10px 5px;
}
#service.ma .fee .box.second-opinion .txt-box .price strong{
  display: block;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  width: calc(100% - 310px);
  color: var(--c-blue);
}
#service.ma .fee .box.second-opinion .txt-box .reward{
  align-items: center;
}
#service.ma .fee .box.second-opinion .img{
  width: 28%;
}
@media (max-width: 1240px) {
  #service.ma .page-nav .inner:after{
    right: -3%;
    width: calc(200% + 100px);
  }
  #service.ma .head .img{
    width: 96%;
    margin-left: auto;
    position: relative;
    height: 450px;
    overflow: hidden;
    z-index: 1;
  }
  #service.ma .support .one-box .phase:after{
    content: '';
    width: 10px;
    height: 86%;
    background-color: #ceeffc;
    position: absolute;
    left: 20%;
    bottom: -60px;
  }
  #service.ma .support .one-box:nth-of-type(2) .phase:after{
    height: 86%;
  }
}
@media (max-width: 798px) {
  #service.ma .under-mv-text span{
    display: block;
  }
  #service.ma .under-mv-text .sub{
    display: block;
    margin: 10px 0 0;
  }
  #service.ma .page-nav{
    background-color: var(--c-blue);
  }
  #service.ma .page-nav:before{
    display: none;
  }
  #service.ma .page-nav .inner{
    padding: 20px 0 10px;
  }
  #service.ma .page-nav .inner:after{
    display: none;
  }
  #service.ma .page-nav .inner a{
    width: calc(100% / 2);
    padding: 5px 10px;
    margin-bottom: 10px;
  }
  #service.ma .page-nav .inner a:nth-of-type(odd){
    border-left: solid 1px #fff;
  }
  #service.ma .page-nav .inner a:after{
    width: 15px;
    height: 15px;
    background: url(../images/common/arw02-blue.svg) no-repeat center center / 8px #fff;
    right: 5px;
  }
  #service.ma .page-nav .inner a:hover:after{
    background: url(../images/common/arw02-white.svg) no-repeat center center / 8px var(--c-blue);
  }
  #service.ma .head{
    position: relative;
    margin: 0 0 100px;
  }
  #service.ma .head:after{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    height: 150px;
    background-color: var(--c-blue);
    width: 100%;
  }
  #service.ma .head .img{
    width: 95%;
    margin-left: auto;
    height: 220px;
  }
  #service.ma .head .inner .en-tit{
    margin: -30px 0 30px;
  }
  #service.ma .head .inner .txt-box{
    display: block;
  }
  #service.ma .head .inner .txt-box .midashi{
    margin: 0 0 20px;
    width: 100%;
  }
  #service.ma .head .inner .txt-box .txt{
    width: 100%;
  }
  #service.ma .sec{
    padding-top: 50px;
    margin: -50px 0 50px;
  }
  #service.ma .support{
    padding-bottom: 10px;
  }
  #service.ma .support .one-box{
    margin-bottom: 20px;
    padding-bottom: 40px;
    position: relative;
  }
  #service.ma .support .one-box:last-of-type{
    padding-bottom: 0;
  }
  #service.ma .support .one-box:after{
    content: '';
    width: 5px;
    height: 40px;
    background-color: #ceeffc;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }
  #service.ma .support .one-box:before{
    content: '';
    width: 30px;
    height: 15px;
    background: url(../images/service/ma/support-arw.svg) no-repeat bottom  center;
    position: absolute;
    left: 50%;
    bottom: -10px;
    transform: translateX(-50%);
  }
  #service.ma .support .one-box .phase{
    width: 100%;
    margin: 0 0 20px;
    display: flex;
    align-items: center;
  }
  #service.ma .support .one-box:last-of-type:after,
  #service.ma .support .one-box:last-of-type:before,
  #service.ma .support .one-box .phase:after,
  #service.ma .support .one-box .phase:before{
    display: none;
  }
  #service.ma .support .one-box .phase .num{
    padding-left: 25px;
  }
  #service.ma .support .one-box .phase .midashi{
    padding: 0 0 0 10px;
  }
  #service.ma .support .one-box .txt-box{
    width: 100%;
    border-radius: 10px;
    padding: 15px;
  }
  #service.ma .support .one-box .txt-box .midashi{
    padding: 5px 20px;
    margin: 0 0 10px;
  }
  #service.ma .support .one-box .txt-box .txt{
    margin: 0 0 20px;
    padding-bottom: 10px;
  }
  #service.ma .support .summary{
    border-top: dotted 2px var(--c-blue);
    padding-top: 20px;
  }
  #service.ma .support .summary .box{
    background-color: var(--c-blue);
    border-radius: 10px;
    padding: 15px;
    color: #fff;
    text-align: center;
  }
  #service.ma .support .summary .box .txt1{
    margin: 0 0 10px;
  }
  #service.ma .support .summary .box .txt2{
    text-align: left;
  }
  #service.ma .feature{
    padding-bottom: 10px;
  }
  #service.ma .feature li{
    margin-bottom: 30px;
  }
  #service.ma .feature li:nth-child(even){
    padding: 30px 0;
  }
  #service.ma .feature li .inner{
    display: block;
  }
  #service.ma .feature li .txt-box{
    width: 100%;
  }
  #service.ma .feature li .ill{
    width: 100%;
    margin-top: 20px;
  }
  #service.ma .feature li .ill span{
    margin-top: 10px;
  }
  #service.ma .feature li .point{
    margin: 0 0 30px;
  }
  #service.ma .fee .tit{
    margin: 0 0 20px;
  }
  #service.ma .fee .head-txt{
    margin: 0 0 30px;
  }
  #service.ma .fee .box{
    padding: 20px 15px;
    margin: 0 0 30px;
    display: block;
  }
  #service.ma .fee .box .midashi{
    margin: 0 0 20px;
  }
  #service.ma .fee .box .agency{
    padding-bottom: 30px;
    display: block;
  }
  #service.ma .fee .box .agency .txt-box{
    width: 100%;
  }
  #service.ma .fee .box .agency .txt-box .price{
    margin: 0 0 20px;
    width: 100%;
  }
  #service.ma .fee .box .agency .txt-box .price span{
    width: calc(100% - 60px);
  }
  #service.ma .fee .box .agency .txt-box .price strong{
    width: 60px;
  }
  #service.ma .fee .box .txt-box .reward{
    margin: 0 0 20px;
    display: block;
  }
  #service.ma .fee .box .txt-box .reward span{
    width: 150px;
    margin: 0 0 10px;
  }
  #service.ma .fee .box .txt-box .reward strong{
    width: 100% ;
  }
  #service.ma .fee .box .agency .table{
    width: 100%;
  }
  #service.ma .fee .box .agency .table .in{
    padding: 10px;
  }
  #service.ma .fee .box .timing{
    padding: 20px 15px;
    border-radius: 10px;
  }
  #service.ma .fee .box .timing .img{
    overflow: hidden;
  }
  #service.ma .fee .box .timing .img img{
    min-width: 600px;
  }
  #service.ma .fee .box .timing .txt{
    margin: 0 0 15px;
  }
  #service.ma .fee .box .notes{
    display: block;
    font-size: clamp(1rem, 1.2vw, 1.3rem);
    margin-top: 10px;
  }
  #service.ma .fee .box.second-opinion{
    display: block;
  }
  #service.ma .fee .box.second-opinion .txt-box{
    width: 100%;
    margin: 0 0 20px;
  }
  #service.ma .fee .box.second-opinion .txt-box .price{
    align-items: center;
    color: #fff;
    margin: 0 0 20px;
  }
  #service.ma .fee .box.second-opinion .txt-box .price span{
    width: 200px;
  }
  #service.ma .fee .box.second-opinion .txt-box .price strong{
    width: calc(100% - 210px);
  }
  #service.ma .fee .box.second-opinion .img{
    width: 100%;
  }
}

/*** ------------------------------------------------------------------------------
#service.dd
-----------------------------------------------------------------------------  ***/
#service.dd .head{
  position: relative;
  margin: 0 0 200px;
}
#service.dd .head .img{
  width: calc(100% - ((100% - 1200px) / 2));
  margin-left: calc((100% - 1200px) / 2);
  position: relative;
  height: 450px;
  overflow: hidden;
  z-index: 1;
}
#service.dd .head .img img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#service.dd .head .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#service.dd .head .inner .en-tit{
  font-size: clamp(3rem,4vw,5rem);
  line-height: 1.1;
  margin: -4.2% 0 40px;
  letter-spacing: .25rem;
  color: var(--c-blue);
}
#service.dd .head .inner .en-tit span{
  color: #fff;
  display: block;
}
#service.dd .head .inner .txt-box{
  align-items: center;
}
#service.dd .head .inner .txt-box .midashi{
  color: #ceeffc;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue);
  width: 46%;
}
#service.dd .head .inner .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  width: 50%;
}
#service.dd .sec{
  padding-top: 100px;
  margin: -100px 0 150px;
}
#service.dd .sec .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#service.dd .feature{
  padding-bottom: 10px;
}
#service.dd .feature li{
  margin-bottom: 80px;
}
#service.dd .feature li:nth-child(even){
  background-color: var(--bg_gray);
  padding: 80px 0;
}
#service.dd .feature li:last-child{
  margin-bottom: 0;
}
#service.dd .feature li:nth-child(even) .inner{
  flex-flow: row-reverse;
}
#service.dd .feature li .txt-box{
  width: 47%;
}
#service.dd .feature li .ill{
  width: 47%;
}
#service.dd .feature li .ill span{
  display: block;
  font-size: clamp(1rem, 1.2vw, 1.3rem);
  margin-top: 30px;
}
#service.dd .feature li .ill span span{
  display: inline;
  color: var(--c-blue);
  text-decoration: underline;
  margin: 0;
}
#service.dd .feature li .point{
  color: var(--c-blue);
  position: relative;
  margin: 0 0 40px;
}
#service.dd .feature li .point .num{
  position: relative;
  font-size: clamp(8rem, 12vw, 15rem);
  line-height: .75;
  padding-left: 7%;
}
#service.dd .feature li .point .num span{
  position: absolute;
  top: 20px;
  left: -10px;
  transform: rotate(90deg);
  font-size: clamp(1.8rem, 2vw, 2.7rem);
}
#service.dd .feature li .midashi{
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  color: var(--c-blue);
  padding-left: 7%;
}
#service.dd .feature li .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  padding-left: 7%;
}
#service.dd .fee .midashi{
  margin: 80px 0 50px;
  font-size: clamp(1.6rem, 2vw, 2.7rem);
  line-height: 1;
  color: var(--c-blue);
}
#service.dd .fee .fee-list{
  align-items: stretch;
}
#service.dd .fee .box{
  background-color: #ceeffc;
  padding: 40px 40px 30px;
  width: calc(100% / 2 - 30px);
}
#service.dd .fee .box .plan{
  background-color: var(--c-blue);
  color: #fff;
  border-radius: 50px;
  padding: 10px 15px;
  max-width: 300px;
  margin: 0 auto 15px;
  font-size: clamp(1.6rem, 2vw, 2.7rem);
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
#service.dd .fee .box .price{
  font-size: clamp(2rem, 2.6vw, 3.4rem);
  font-weight: 700;
  line-height: 1;
  text-align: center;
  color: var(--c-blue);
  position: relative;
  justify-content: center;
  align-items: flex-end;
  margin: 0 0 20px;
  padding-bottom: 20px;
  border-bottom: solid 1px var(--c-blue);
}
#service.dd .fee .box .price strong{
  display: block;
  font-weight: 400;
  font-size: clamp(4rem, 5vw, 7rem);
}
#service.dd .fee .box .price span{
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  align-items: flex-start;
}
#service.dd .fee .box .price span span{
  display: block;
  font-size: clamp(1.2rem, 1.4vw, 1.6rem);
  text-indent: -.5rem;
}
#service.dd .fee .box .txt{
  border-left: solid 10px var(--c-blue);
  padding-left: 20px;
  font-size: clamp(1.4rem, 1.6vw, 1.8rem);
  line-height: 1.8;
  margin: 0 0 20px;
}
#service.dd .fee .box .info{
  align-items: center;
  margin: 0 0 10px;
}
#service.dd .fee .box .info span{
  display: block;
  font-size: clamp(1.4rem,1.6vw, 1.8rem);
  font-weight: 500;
  line-height: 1.4;
  width: 130px;
  text-align: center;
  border: solid 1px var(--c-black);
  padding: 5px;
  color: var(--c-black);
}
#service.dd .fee .box .info strong{
  display: block;
  font-size: clamp(1.4rem,1.6vw, 1.8rem);
  font-weight: 400;
  line-height: 1.4;
  width: calc(100% - 140px);
}
@media (max-width: 1240px) {
  #service.dd .head .img{
    width: 96%;
    margin-left: auto;
    position: relative;
    height: 450px;
    overflow: hidden;
    z-index: 1;
  }
}
@media (max-width: 798px) {
  #service.dd .head{
    position: relative;
    margin: 0 0 100px;
  }
  #service.dd .head .img{
    width: 95%;
    margin-left: auto;
    height: 220px;
  }
  #service.dd .head .inner .en-tit{
    margin: -30px 0 30px;
  }
  #service.dd .head .inner .txt-box{
    display: block;
  }
  #service.dd .head .inner .txt-box .midashi{
    margin: 0 0 20px;
    width: 100%;
  }
  #service.dd .head .inner .txt-box .txt{
    width: 100%;
  }
  #service.dd .sec{
    padding-top: 50px;
    margin: -50px 0 50px;
  }
  #service.dd .feature{
    padding-bottom: 10px;
  }
  #service.dd .feature li{
    margin-bottom: 30px;
  }
  #service.dd .feature li:nth-child(even){
    padding: 30px 0;
  }
  #service.dd .feature li .inner{
    display: block;
  }
  #service.dd .feature li .txt-box{
    width: 100%;
  }
  #service.dd .feature li .ill{
    width: 100%;
    margin-top: 20px;
  }
  #service.dd .feature li .ill span{
    margin-top: 10px;
  }
  #service.dd .feature li .point{
    margin: 0 0 30px;
  }
  #service.dd .fee .midashi{
    margin: 30px 0 20px;
  }
  #service.dd .fee .fee-list{
    display: block;
  }
  #service.dd .fee .box{
    padding: 20px 15px 10px;
    width: 100%;
    margin-bottom: 20px;
  }
  #service.dd .fee .box .plan{
    padding: 5px;
  }
  #service.dd .fee .box .price{
    margin: 0 0 10px;
    padding-bottom: 10px;
  }
  #service.dd .fee .box .txt{
    border-left: solid 5px var(--c-blue);
    padding-left: 10px;
  }
  #service.dd .fee .box .info{
    display: block;
    margin: 0 0 10px;
  }
  #service.dd .fee .box .info span{
    margin-bottom: 5px;
  }
  #service.dd .fee .box .info strong{
    width: 100%;
  }
}
/*** ------------------------------------------------------------------------------
#service.investment
-----------------------------------------------------------------------------  ***/
#service.investment .head{
  position: relative;
  margin: 0 0 200px;
}
#service.investment .head .img{
  width: calc(100% - ((100% - 1200px) / 2));
  margin-left: calc((100% - 1200px) / 2);
  position: relative;
  height: 450px;
  overflow: hidden;
  z-index: 1;
}
#service.investment .head .img img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#service.investment .head .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#service.investment .head .inner .en-tit{
  font-size: clamp(3rem,4vw,5rem);
  line-height: 1.1;
  margin: -4.2% 0 40px;
  letter-spacing: .25rem;
  color: var(--c-blue);
}
#service.investment .head .inner .en-tit span{
  color: #fff;
  display: block;
}
#service.investment .head .inner .txt-box{
  align-items: center;
}
#service.investment .head .inner .txt-box .midashi{
  color: #ceeffc;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue);
  width: 46%;
}
#service.investment .head .inner .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  width: 50%;
}
#service.investment .sec{
  padding: 100px 0 0;
  margin: -100px 0 0;
}
#service.investment .sec .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#service.investment .feature{
}
#service.investment .feature li{
  margin-bottom: 80px;
}
#service.investment .feature li:nth-child(even){
  background-color: var(--bg_gray);
  padding: 80px 0;
}
#service.investment .feature li:last-child{
  margin-bottom: 0;
}
#service.investment .feature li:nth-child(even) .inner{
  flex-flow: row-reverse;
}
#service.investment .feature li .txt-box{
  width: 47%;
}
#service.investment .feature li .img{
  width: 47%;
}
#service.investment .feature li .point{
  color: var(--c-blue);
  position: relative;
  margin: 0 0 40px;
}
#service.investment .feature li .point .num{
  position: relative;
  font-size: clamp(8rem, 12vw, 15rem);
  line-height: .75;
  padding-left: 7%;
}
#service.investment .feature li .point .num span{
  position: absolute;
  top: 20px;
  left: -10px;
  transform: rotate(90deg);
  font-size: clamp(1.8rem, 2vw, 2.7rem);
}
#service.investment .feature li .midashi{
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  color: var(--c-blue);
  padding-left: 7%;
}
#service.investment .feature li .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  padding-left: 7%;
}
@media (max-width: 1240px) {
  #service.investment .head .img{
    width: 96%;
    margin-left: auto;
    position: relative;
    height: 450px;
    overflow: hidden;
    z-index: 1;
  }
}
@media (max-width: 798px) {
  #service.investment .head{
    position: relative;
    margin: 0 0 100px;
  }
  #service.investment .head .img{
    width: 95%;
    margin-left: auto;
    height: 220px;
  }
  #service.investment .head .inner .en-tit{
    margin: -30px 0 30px;
  }
  #service.investment .head .inner .txt-box{
    display: block;
  }
  #service.investment .head .inner .txt-box .midashi{
    margin: 0 0 20px;
    width: 100%;
  }
  #service.investment .head .inner .txt-box .txt{
    width: 100%;
  }
  #service.investment .sec{
    padding-top: 50px;
    margin: -50px 0 0;
  }
  #service.investment .feature{
    padding-bottom: 0;
  }
  #service.investment .feature li{
    margin-bottom: 30px;
  }
  #service.investment .feature li:nth-child(even){
    padding: 30px 0;
  }
  #service.investment .feature li .inner{
    display: block;
  }
  #service.investment .feature li .txt-box{
    width: 100%;
  }
  #service.investment .feature li .img{
    width: 100%;
    margin-top: 20px;
  }
  #service.investment .feature li .point{
    margin: 0 0 30px;
  }
}
/*** ------------------------------------------------------------------------------
#service.succession
-----------------------------------------------------------------------------  ***/
#service.succession .head{
  position: relative;
  margin: 0 0 200px;
}
#service.succession .head .img{
  width: calc(100% - ((100% - 1200px) / 2));
  margin-left: calc((100% - 1200px) / 2);
  position: relative;
  height: 450px;
  overflow: hidden;
  z-index: 1;
}
#service.succession .head .img img{
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate(-50%,-50%);
}
#service.succession .head .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
#service.succession .head .inner .en-tit{
  font-size: clamp(3rem,4vw,5rem);
  line-height: 1.1;
  margin: -4.2% 0 40px;
  letter-spacing: .25rem;
  color: var(--c-blue);
}
#service.succession .head .inner .en-tit span{
  color: #fff;
  display: block;
}
#service.succession .head .inner .txt-box{
  align-items: center;
}
#service.succession .head .inner .txt-box .midashi{
  color: #ceeffc;
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue);
  width: 46%;
}
#service.succession .head .inner .txt-box .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  width: 50%;
}
#service.succession .sec{
  padding: 100px 0 0;
  margin: -100px 0 150px;
}
#service.succession .sec .inner{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
}
#service.succession .feature{
}
#service.succession .feature li{
  margin-bottom: 80px;
}
#service.succession .feature li:nth-child(odd){
  background-color: var(--bg_gray);
  padding: 80px 0;
}
#service.succession .feature li:last-child{
  margin-bottom: 0;
}
#service.succession .feature li:nth-child(even) .inner{
  flex-flow: row-reverse;
}
#service.succession .feature li .txt-box{
  width: 47%;
}
#service.succession .feature li .img{
  width: 47%;
  position: sticky;
  top: 50px;
}
#service.succession .feature li .point{
  color: var(--c-blue);
  position: relative;
  margin: 0 0 40px;
}
#service.succession .feature li .point .num{
  position: relative;
  font-size: clamp(8rem, 12vw, 15rem);
  line-height: .75;
  padding-left: 7%;
}
#service.succession .feature li .point .num span{
  position: absolute;
  top: 20px;
  left: -10px;
  transform: rotate(90deg);
  font-size: clamp(1.8rem, 2vw, 2.7rem);
}
#service.succession .feature li .midashi{
  font-size: clamp(1.8rem,2.2vw, 2.8rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  color: var(--c-blue);
  padding-left: 7%;
}
#service.succession .feature li .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  padding-left: 7%;
}
#service.succession .feature li .feature-box{
  padding-top: 10px;
  padding-left: 7%;
}
#service.succession .feature li .feature-box .box{
  margin-top: 30px;
}
#service.succession .feature li .feature-box .box .midashi2{
  font-size: clamp(1.6rem,1.8vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  background-color: var(--c-blue);
  color: #fff;
  text-align: center;
  padding: 5px 30px;
  width: fit-content;
  border-radius: 50px;
}
#service.succession .feature li .feature-box .box .txt{
  padding: 0;
}
#service.succession .consulting .consulting-list{
  justify-content: flex-start;
  align-items: stretch;
}
#service.succession .consulting .consulting-list li{
  background-color: #ceeffc;
  position: relative;
  width: calc(100% / 3 - 20px);
  margin: 0 30px 60px 0;
  padding: 35px;
  overflow: hidden;
}
#service.succession .consulting .consulting-list li:nth-child(3n){
  margin-right: 0;
}
#service.succession .consulting .consulting-list li .num{
  position: absolute;
  top: -1.5rem;
  left: -.75rem;
  color: #fff;
  font-size: clamp(7rem,8vw,10rem);
  line-height: 1;
}
#service.succession .consulting .consulting-list li .midashi{
  font-size: clamp(1.6rem,1.8vw, 2rem);
  font-weight: 700;
  line-height: 1.4;
  margin: 0 0 15px;
  color: var(--c-blue);
  text-align: center;
  position: relative;
}
#service.succession .consulting .consulting-list li .img{
  margin: 0 0 15px;
  position: relative;
}
#service.succession .consulting .consulting-list li .txt{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 2;
  position: relative;
}
@media (max-width: 1240px) {
  #service.succession .head .img{
    width: 96%;
    margin-left: auto;
    position: relative;
    height: 450px;
    overflow: hidden;
    z-index: 1;
  }
}
@media (max-width: 798px) {
  #service.succession .head{
    position: relative;
    margin: 0 0 100px;
  }
  #service.succession .head .img{
    width: 95%;
    margin-left: auto;
    height: 220px;
  }
  #service.succession .head .inner .en-tit{
    margin: -30px 0 30px;
  }
  #service.succession .head .inner .txt-box{
    display: block;
  }
  #service.succession .head .inner .txt-box .midashi{
    margin: 0 0 20px;
    width: 100%;
  }
  #service.succession .head .inner .txt-box .txt{
    width: 100%;
  }
  #service.succession .sec{
    padding-top: 50px;
    margin: -50px 0 50px;
  }
  #service.succession .feature{
    padding-bottom: 0;
  }
  #service.succession .feature li{
    margin-bottom: 30px;
  }
  #service.succession .feature li:nth-child(even){
    padding: 30px 0;
  }
  #service.succession .feature li .inner{
    display: block;
  }
  #service.succession .feature li .txt-box{
    width: 100%;
  }
  #service.succession .feature li .img{
    width: 100%;
    margin-top: 20px;
  }
  #service.succession .feature li .point{
    margin: 0 0 30px;
  }
  #service.succession .feature li .feature-box{
    padding-top: 5px;
  }
  #service.succession .feature li .feature-box .box{
    margin-top: 20px;
  }
  #service.succession .feature li .feature-box .box .midashi2{
    margin: 0 0 10px;
    padding: 5px 20px;
  }
  #service.succession .consulting .consulting-list{
    display: block;
  }
  #service.succession .consulting .consulting-list li{
    width: 100%;
    margin: 0 0 30px;
    padding: 20px 15px;
  }
  #service.succession .consulting .consulting-list li .num{
    position: absolute;
    top: -1rem;
    left: -.5rem;
  }
}

/*** ------------------------------------------------------------------------------
#company
-----------------------------------------------------------------------------  ***/
#company .conts{
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
}
#company .conts .sec{
  margin: 0 auto 160px;
}
#company .conts .sec-tit{
  margin: 0;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 400;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
#company .conts .sec-tit strong{
  display: block;
  font-size: clamp(2rem, 2.3vw, 2.6rem);
  font-weight: 400;
  margin: 0 0 10px;
}
#company .outline__table dl {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 400;
  line-height: 1.8;
  padding: 20px 0;
  border-bottom: solid 1px #eee;
}
#company .outline__table dl dt {
  width: 100px;
  min-width: 100px;
  font-weight: 500;
  position: relative;
  text-align-last: justify;
  text-justify: inter-ideograph;
  text-align: justify;
  color: var(--c-blue);
}
#company .outline__table dl dd {
  width: calc(100% - 180px);
  justify-content: flex-start;
  padding-left: 20px;
  border-left: solid 1px var(--bg_gray);
}
#company .outline__table dl dd strong{
  font-weight: 500;
}
#company .outline__table dl dd a{
  color: var(--c-blue);
  text-decoration: underline;
}
#company .outline__table dl dd a:hover{
  text-decoration: none;
}
#company .history__table{
  padding: 20px 0;
}
#company .history__table dl {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 400;
  line-height: 1.8;
  align-items: stretch;
}
#company .history__table dl dt {
  width: 90px;
  min-width: 90px;
  position: relative;
  color: var(--c-blue);
  position: relative;
  padding: 20px 10px 0 0;
}
#company .history__table dl:first-of-type dt:before,
#company .history__table dl:last-of-type dt:before{
  content: '';
  width: 4px;
  height: 26px;
  background: url(../images/company/read.svg) no-repeat center center / contain;
  position: absolute;
  right: 0;
}
#company .history__table dl:first-of-type dt:before{
  top: 5px;
}
#company .history__table dl:last-of-type dt:before{
  top: 60px;
}
#company .history__table dl dt:after{
  content: '';
  width: 5px;
  height: 100%;
  background-color: #d3dce0;
  position: absolute;
  top: 40px;
  right: 0;
}
#company .history__table dl:last-of-type dt:after{
  display: none;
}
#company .history__table dl dt span{
  font-size: clamp(2rem, 2.3vw, 2.6rem);
  margin-right: 5px;
}
#company .history__table dl dd {
  width: calc(100% - 90px);
  justify-content: flex-start;
  padding: 32px 0 1px 20px;
  position: relative;
}
#company .history__table dl.pb dd {
  padding-bottom: 40px;
}
#company .history__table dl dd:before{
  content: '';
  position: absolute;
  left: -8px;
  top: 40px;
  width: 12px;
  height: 12px;
  border-radius: 12px;
  background-color: var(--c-blue);
}
#company .history__table dl dd strong{
  font-weight: 500;
  display: block;
  color: var(--c-blue);
}
@media (max-width: 798px) {
  #company .conts .sec{
    margin: 0 auto 60px;
  }
  #company .conts .sec-tit{
    padding: 0 0 20px;
  }
  #company .conts .sec-tit strong{
    margin: 0 0 5px;
  }
  #company .outline__table dl {
    padding: 15px 0;
    display: block;
  }
  #company .outline__table dl dt {
    width: 100%;
    min-width: auto;
    text-align-last: auto;
  }
  #company .outline__table dl dd {
    width: 100%;
    padding: 10px 0 0;
    border: none;
  }
  #company .history__table{
    padding: 10px 0;
  }
  #company .history__table dl dt {
    width: 70px;
    min-width: 70px;
    padding: 15px 5px 0 0;
  }
  #company .history__table dl:first-of-type dt:before,
  #company .history__table dl:last-of-type dt:before{
    width: 3px;
    height: 20px;
    right: 0;
  }
  #company .history__table dl:first-of-type dt:before{
    top: 5px;
  }
  #company .history__table dl:last-of-type dt:before{
    top: 50px;
  }
  #company .history__table dl dt:after{
    width: 3px;
    top: 35px;
  }
  #company .history__table dl:last-of-type dt:after{
    display: none;
  }
  #company .history__table dl dt span{
    margin-right: 3px;
  }
  #company .history__table dl dd {
    width: calc(100% - 70px);
    justify-content: flex-start;
    padding: 22px 0 1px 20px;
    position: relative;
  }
  #company .history__table dl.pb dd {
    padding-bottom: 30px;
  }
  #company .history__table dl dd:before{
    top: 30px;
  }
}

/*** ------------------------------------------------------------------------------
#achievements
-----------------------------------------------------------------------------  ***/
#achievements .conts{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 80px;
}
#achievements .conts .sec-tit{
  margin: 0 0 80px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 10px 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
#achievements .conts .sec-tit:before{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 23px;
  height: 40px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
#achievements .conts .one-box .midashi{
  margin: 0 0 30px;
  font-size: clamp(1.8rem, 2.2vw, 2.4rem);
  font-weight: 500;
  line-height: 1.4;
  color: var(--c-blue);
  position: relative;
  padding-left: 25px;
}
#achievements .conts .one-box .midashi:before{
  content: '';
  width: 20px;
  height: 20px;
  position: absolute;
  top: 8px;
  left: 0;
  background-color: var(--c-blue);
}
#achievements .conts .one-box .txt{
  margin: 0 0 50px;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 400;
  line-height: 1.8;
}
#achievements .conts .border-box{
  margin: 0 0 80px;
  padding-bottom: 120px;
  border-bottom: solid 1px var(--bg_gray);
}
#achievements .conts .transition .img{
  max-width: 1000px;
  margin: 0 auto;
}
#achievements .conts .area,
#achievements .conts .job{
  width: 40%;
}
#achievements .conts .area .img{
  max-width: 440px;
  margin: 0 auto;
}
#achievements .conts .job .img{
  max-width: 470px;
  margin: 0 auto;
}
#achievements .conts .table{
  margin: 120px 0 80px;
}
#achievements .conts .table .tab_area{
  max-width: 250px;
  margin: 0 0 50px auto;
}
#achievements .conts .table .tab_area li{
  width: calc(100% / 2 - 5px);
  cursor: pointer;
  background-color: var(--bg_gray);
  color: var(--c-black);
  text-align: center;
  padding: 10px 5px;
  border-radius: 50px;
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-weight: 500;
  line-height: 1;
  transition: .3s;
}
#achievements .conts .table .tab_area li.select,
#achievements .conts .table .tab_area li:hover{
  background-color: #ceeffc;
}
#achievements .conts .table table{
  width: 100%;
  border-bottom: solid 1px var(--c-blue);
}
#achievements .conts .table table tr:nth-of-type(even){
  background-color: var(--bg_gray);
}
#achievements .conts .table table th{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1;
  padding: 0 0 20px;
  text-align: left;
  border-bottom: solid 1px var(--c-blue);
  width: 22%;
}
#achievements .conts .table table th:nth-of-type(2){
  width: 34%;
}
#achievements .conts .table table th span{
  color: var(--c-blue);
}
#achievements .conts .table table td{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1;
  padding: 20px;
  text-align: left;
  position: relative;
}
#achievements .conts .table table td:before{
  content: '';
  position: absolute;
  left: 0;
  top: 10px;
  width: 1px;
  background-color: #808080;
  height: calc(100% - 20px);
}
#achievements .conts .table table td:first-of-type{
  text-align: center;
}
#achievements .conts .table table td:first-of-type:before{
  display: none;
}
@media (max-width: 798px) {
  #achievements .conts{
    padding-bottom: 40px;
  }
  #achievements .conts .sec-tit{
    margin: 0 0 20px;
    padding: 0 0 10px 20px;
  }
  #achievements .conts .sec-tit:before {
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 15px;
    height: 30px;
  }
  #achievements .conts .sec-tit strong{
    margin: 0 0 5px;
  }
  #achievements .conts .one-box .midashi{
    margin: 0 0 20px;
    padding-left: 20px;
  }
  #achievements .conts .one-box .midashi:before{
    width: 15px;
    height: 15px;
    top: 5px;
    background-color: var(--c-blue);
  }
  #achievements .conts .one-box .txt{
    margin: 0 0 30px;
  }
  #achievements .conts .border-box{
    margin: 0;
    padding-bottom: 0;
    border-bottom: none;
    display: block;
  }
  #achievements .conts .one-box{
    margin: 0 0 40px;
    padding-bottom: 40px;
    border-bottom: solid 1px var(--bg_gray);
  }
  #achievements .conts .transition .img{
    overflow: hidden;
  }
  #achievements .conts .transition .img img{
    min-width: 600px;
  }
  #achievements .conts .area,
  #achievements .conts .job{
    width: 100%;
  }
  #achievements .conts .area .img{
    max-width: 280px;
  }
  #achievements .conts .job .img{
    max-width: 300px;
  }
  #achievements .conts .table{
    margin: 60px 0 30px;
  }
  #achievements .conts .table .tab_area{
    max-width: 150px;
    margin: 0 0 30px auto;
  }
  #achievements .conts .table table{
    min-width: 600px;
  }
  #achievements .conts .table table tr:nth-of-type(even){
    background-color: var(--bg_gray);
  }
  #achievements .conts .table table th{
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    font-weight: 500;
    line-height: 1;
    padding: 0 0 20px;
    text-align: left;
    border-bottom: solid 1px var(--c-blue);
    width: 22%;
  }
  #achievements .conts .table table th:nth-of-type(2){
    width: 34%;
  }
  #achievements .conts .table table th span{
    color: var(--c-blue);
  }
  #achievements .conts .table table td{
    font-size: clamp(1.4rem, 1.5vw, 1.6rem);
    font-weight: 500;
    line-height: 1;
    padding: 20px;
    text-align: left;
    position: relative;
  }
  #achievements .conts .table table td:before{
    content: '';
    position: absolute;
    left: 0;
    top: 10px;
    width: 1px;
    background-color: #808080;
    height: calc(100% - 20px);
  }
  #achievements .conts .table table td:first-of-type{
    text-align: center;
  }
  #achievements .conts .table table td:first-of-type:before{
    display: none;
  }
}

/*** ------------------------------------------------------------------------------
#archive .knowledge
-----------------------------------------------------------------------------  ***/
#archive .conts{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 180px;
}
#archive .knowledge-list{
  justify-content: flex-start;
  padding-bottom: 60px;
}
#archive .knowledge-list a{
  width: calc(100% / 3 - 20px);
  margin: 0 30px 60px 0;
  display: block;
  transition: .3s;
  display: block;
  font-size: clamp(1.5rem, 1.6vw, 1.6rem);
  font-weight: 500;
  line-height: 1.8;
}
#archive .conts .knowledge-list a:nth-of-type(3n){
  margin-right: 0;
}
#archive .knowledge-list a:hover{
  opacity: .7;
}
#archive .knowledge-list a .img{
  position: relative;
  margin: 0 0 15px;
}
#archive .knowledge-list a .img .new{
  position: absolute;
  bottom: 0;
  right: 10px;
  transform: translateY(50%);
  background: linear-gradient(45deg,  #d3dce0 0%,#004097 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  color: #fff;
  font-size: clamp(1.8rem, 1.9vw, 2rem);
  font-size: 400;
  line-height: 1;
  width: 60px;
  height: 60px;
  line-height: 60px;
  text-align: center;
  border-radius: 60px;
}
#archive .knowledge-list a .date{
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-size: 400;
  line-height: 1;
  margin: 0 0 10px;
}
@media only screen and (max-width: 798px) {
  #archive .conts{
    padding-bottom: 60px;
  }
  #archive .knowledge-list{
    display: block;
    padding-bottom: 30px;
  }
  #archive .knowledge-list a{
    width: 100%;
    margin: 0 0 30px;
  }
}

/*** ------------------------------------------------------------------------------
#detail
-----------------------------------------------------------------------------  ***/
#detail .conts{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 180px;
  align-items: stretch;
}
#detail .conts .main{
  width: 62%;
  max-width: 730px;
}
#detail .conts .article h1.wp-block-heading,
#detail .conts .article h1.wp-block-post-title{
  font-size: clamp(2rem, 2.6vw, 3.2rem);
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 30px;
}
#detail .conts .article h2.wp-block-heading{
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 50px 0 30px;
  color: var(--c-blue);
}
#detail .conts .article h3.wp-block-heading{
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 50px 0 30px;
  border-bottom: solid 2px var(--c-black);
  padding-bottom: 10px;
}
#detail .conts .article h4.wp-block-heading{
  position: relative;
  border-left: none;
  background-color: #dcdcdc;
  margin: 50px 0 30px;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
  padding: 5px;
}
#detail .conts .article h4.wp-block-heading::after {
  position: absolute;
  content: "";
  top: 100%;
  left: 1em;
  width: 0;
  height: 0;
  border: 10px solid transparent;
  border-top: 10px solid #dcdcdc;
}
#detail .conts .article h5.wp-block-heading{
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 30px 0 20px;
}
#detail .conts .article h6.wp-block-heading{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 20px 0 10px;
}
#detail .conts .article figure{
  margin: 0 0 30px;
}
#detail .conts .article figure img{
  height: auto;
  max-width: 100%;
}
#detail .conts .article p{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin: 0 0 20px;
}
#detail .conts .article p a{
  color: var(--c-blue);
  text-decoration: underline;
}
#detail .conts .article p a:hover{
  text-decoration: none;
}
#detail .conts .article a img{
  transition: .3s;
}
#detail .conts .article a:hover img{
  opacity: .7;
}
#detail .conts .article table{
  width: 100%;
  border-top: solid 1px #d3dce0;
  border-left: solid 1px #d3dce0;
  table-layout: fixed;
}
#detail .conts .article table thead{
  border: none;
}
#detail .conts .article table th{
  background-color: var(--c-blue);
  color: #fff;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  text-align: center;
  padding: 10px 5px;
  border-right: solid 1px #fff;
}
#detail .conts .article table th:last-of-type{
  border-right: none;
}
#detail .conts .article table td{
  border: none;
  border-bottom: solid 1px #d3dce0;
  border-right: solid 1px #d3dce0;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  padding: 10px;
  vertical-align: middle;
}
#detail .conts .article ol {
  list-style: none;
  counter-reset: num;
  padding-bottom: 30px;
}
#detail .conts .article ol li {
  counter-increment: num;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin: 0 0 5px;
} 
#detail .conts .article ul {
  list-style: disc;
  padding-bottom: 30px;
  padding-left: 25px;
}
#detail .conts .article ul li {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin: 0 0 5px;
} 
#detail .conts{
  position: relative;
}
#detail .conts .article ol li::before {
  content: counter(num) ". ";
}
#detail .conts .article .wp-block-quote {
  box-sizing: border-box;
  overflow-wrap: break-word;
  padding: 50px;
  position: relative;
  border: none;
  background-image: url(../images/archive/top.svg), url(../images/archive/bottom.svg);
  background-position: 0 0, 100% 100%;
  background-repeat: no-repeat;
}
#detail .conts .article .wp-block-quote:before {
  background-image: url(../images/archive/icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: block;
  height: 30px;
  left: 1rem;
  position: absolute;
  top: 1rem;
  width: 30px;
}
#detail .main .pager{
  padding-top: 60px;
}
#detail .main .pager a{
  display: block;
  position: relative;
  overflow: hidden;
  width: 48%;
  height: 0;
  height: 150px;
}
#detail .main .pager a:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--c-black);
  opacity: .6;
  z-index: 1;
  transition: .3s;
}
#detail .main .pager a:hover:before{
  opacity: .7;
}
#detail .main .pager a .img{
  width: 100%;
  height: auto;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#detail .main .pager a .txt{
  position: absolute;
  top: 35px;
  width: 90%;
  left: 5%;
  color: #fff;
  z-index: 2;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.6;
}
#detail .main .pager a .txt .arw{
  display: block;
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  font-weight: 400;
  line-height: 1.4;
  margin-bottom: 5px;
}
#detail .main .pager a.next{
  text-align: right;
}
#detail .main .pager a .arw span{
  display: inline-block;
}
#detail .main .pager a.prev .arw span{
  margin-right: 10px;
}
#detail .main .pager a.next .arw span{
  margin-left: 10px;
}
#detail .main #archive{
  padding-top: 60px;
}
#detail .main #archive .midashi{
  font-size: clamp(1.6rem, 1.8vw, 2rem);
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#detail .main #archive .midashi:after{
  content: '';
  height: 1px;
  width: calc(100% - 100px);
  background-color: var(--c-black);
}
#detail .main #archive .knowledge-list{
  justify-content: flex-start;
  padding: 0;
}
#detail .main #archive .knowledge-list a{
  width: calc(100% / 4 - 8px);
  margin: 0 10px 0 0;
  font-size: clamp(1.1rem, 1.2vw, 1.3rem);
  font-weight: 500;
  line-height: 1.6;
}
#detail .main #archive .knowledge-list a:nth-of-type(4n){
  margin-right: 0;
}
#detail .main #archive .knowledge-list a .img{
  position: relative;
  margin: 0 0 10px;
}
#detail .main #archive .knowledge-list a .date{
  font-size: clamp(1rem, 1.1vw, 1.2rem);
  margin: 0 0 5px;
}
#detail .conts .sub{
  width: 35%;
  max-width: 330px;
}
#detail .conts .sub .search{
  margin: 0 0 50px;
  border: solid 1px var(--c-blue);
  border-radius: 10px;
  overflow: hidden;
  align-items: stretch;
}
#detail .conts .sub .search input{
  border: none;
  outline:none;
  padding: 10px;
  width: calc(100% - 80px);
  background: none;
  display: flex;
}
#detail .conts .sub .search input[type="search"]{
  -webkit-appearance: none;
}
#detail .conts .sub .search input:-webkit-autofill{
  -webkit-box-shadow: 0 0 0 1000px white inset;
}
#detail .conts .sub .search button{
  border: none;
  width: 80px;
  background: none;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1;
  color: var(--c-blue);
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: .3s;
  border-left: solid 1px var(--c-blue);
}
#detail .conts .sub .search button:hover{
  background-color: var(--c-blue);
  color: #fff;
}
#detail .conts .sub .midashi{
  font-size: clamp(2rem, 2.3vw, 2.6rem);
  line-height: 1;
  margin: 0 0 20px;
  padding-bottom: 5px;
  border-bottom: solid 1px var(--c-blue);
  color: var(--c-blue);
}
#detail .conts .sub .post{
  padding-bottom: 30px;
}
#detail .conts .sub .post .link{
  margin-bottom: 20px;
}
#detail .conts .sub .post a{
  color: var(--c-black);
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  line-height: 1.4;
}
#detail .conts .sub .post a:hover{
  text-decoration: underline;
}
#detail .conts .sub .sticky{
  position: sticky;
  top: 100px;
}
#detail .conts .contact-box{
  background-color: var(--bg_gray);
}
#detail .conts .sub .contact-box{
  margin-top: 40px;
}
#detail .conts .contact-box .head{
  padding: 40px 20px;
  background: url(../images/archive/sub-contact-head.png) no-repeat bottom center / cover;
}
#detail .conts .contact-box .head p{
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-weight: 500;
  color: #fff;
  line-height: 1.4;
  padding-left: 18px;
  margin-bottom: 10px;
  background: url(../images/common/logo-mark-w.svg) no-repeat top left / 10px;
}
#detail .conts .contact-box .body{
  padding: 20px 30px;
}
#detail .conts .contact-box .body .txt{
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  color: #fff;
  line-height: 1.8;
  color: var(--c-blue);
  margin: 0 0 30px;
}
#detail .conts .contact-box .body .btn{
  display: block;
  max-width: 290px;
  margin: 0 auto 10px;
  padding: 15px 20px;
  position: relative;
  border: solid 1px var(--c-blue);
  background-color: #fff;
  font-size: clamp(1.2rem, 1.3vw, 1.4rem);
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  color: var(--c-blue);
  border-radius: 50px;
  text-align: left;
  transition: .3s;
  text-align: center;
}
#detail .conts .contact-box .body .btn:hover{
  background-color: var(--c-blue);
  color: #fff;
  text-decoration: none;
}
#detail .conts .contact-box .body .btn.green:hover{
  background-color: var(--c-green);
  border-color: var(--c-green);
  color: #fff;
  text-decoration: none;
}
#detail .conts .contact-box .body .tel{
  font-size: clamp(3rem,3.5vw,3.6rem);
  line-height: 1;
  margin: 10px 0 10px;
  display: block;
  color: var(--c-blue);
  pointer-events: none;
  text-align: center;
}
#detail .conts .contact-box .body .time{
  font-size: clamp(1.1rem,1.2vw,1.2rem);
  line-height: 1;
  text-align: center;
}
#detail .conts #ez-toc-container{
  border: none;
  background-color: var(--bg_gray);
  width: 100%;
  padding: 30px;
}
#detail .conts #ez-toc-container .ez-toc-title{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
}
#detail .conts #ez-toc-container ul{
  border-top: solid 1px #e5e5e5;
}
#detail .conts #ez-toc-container a{
  padding: 10px 0 10px 30px;
  border-bottom: solid 1px #e5e5e5;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
  transition: .3s;
  color: var(--c-black);
  position: relative;
}
#detail .conts #ez-toc-container a:visited{
  color: var(--c-black);
  opacity: 1;
}
#detail .conts #ez-toc-container a:hover{
  color: var(--c-blue);
  text-decoration: none;
}
#detail .conts .ez-toc-counter nav ul li a::before{
  background-color: var(--c-blue);
  color: #fff;
  padding: 1px 8px;
  border-radius: 5px;
  position: absolute;
  top: 10px;
  left: 0;
  content: counter(item, numeric) ;
}
#detail .conts .smb-btn-box{
  text-align: center;
  padding: 80px 0;
}
#detail .conts .smb-btn-box .smb-btn-box__lede{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.8;
  margin: 0 0 30px;
  color: var(--c-blue);
}
#detail .conts .smb-btn-box .smb-btn,
#detail .conts .smb-btn-wrapper .smb-btn{
  display: block;
  max-width: 290px;
  width: 290px;
  margin: 0 auto 10px;
  padding: 15px 20px;
  position: relative;
  border: solid 1px var(--c-blue);
  color: var(--c-blue);
  background-color: #fff;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.2;
  position: relative;
  border-radius: 50px;
  text-align: left;
  transition: .3s;
  text-align: center;
}
#detail .conts .smb-btn-box .smb-btn:hover,
#detail .conts .smb-btn-wrapper .smb-btn:hover{
  background-color: var(--c-blue);
  color: #fff;
  text-decoration: none;
}
#detail .conts .cv-btn{
  width: 100%;
  padding: 100px 0 50px;
}
#detail .conts .cv-btn ul{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
#detail .conts .cv-btn li{
  display: flex;
  text-align: center;
  width: calc(100% / 2 - 10px);
}
#detail .conts .cv-btn li a{
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  width: 100%;
  padding: 10px 5px;
  border-radius: 10px;
  color: #fff;
  font-size: clamp(1.3rem, 1.3vw, 1.4rem);
  font-weight: 500;
  line-height: 1.4;
  transition: .3s;
}
#detail .conts .cv-btn li a:hover{
  opacity: .7;
}
#detail .conts .cv-btn li.form a{
  background-color: #00a4a7;
}
#detail .conts .cv-btn li.form strong{
  display: block;
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 500;
}
#detail .conts .cv-btn li.tel a{
  background-color: #ecb833;
}
#detail .conts .cv-btn li.tel strong:not([class]){
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-size: clamp(2.8rem, 2.9vw, 3rem);
  font-weight: 400;
}
#detail .conts .supervision{
  background-color: var(--bg_gray);
  width: 100%;
  padding: 40px 50px;
  position: relative;
  margin: 50px 0;
}
#detail .conts .supervision .tit{
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  padding: 10px 30px 10px 20px;
  font-size: clamp(1.5rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.2;
  color: #fff;
  transform: translateY(-50%);
}
#detail .conts .supervision .tit:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--c-blue);
  clip-path: polygon(0 0, 90% 0%, 100% 100%, 0% 100%);
  z-index: -1;
}
#detail .conts .supervision .flex{
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-start;
}
#detail .conts .supervision .flex figure{
  width: 180px;
  margin: 0;
}
#detail .conts .supervision .flex figure .name{
  display: block;
  margin-top: 20px;
  font-size: clamp(1.3rem, 1.3vw, 1.4rem);
  line-height: 1.4;
}
#detail .conts .supervision .flex figure .name strong{
  display: block;
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  font-weight: 500;
}
#detail .conts .supervision .flex .txt{
  width: calc(100% - 210px);
}
#detail .conts .supervision .flex .txt > p:last-of-type{
  margin-bottom: 0;
}
@media (max-width: 798px) {
  #detail .conts{
    padding-bottom: 60px;
    display: block;
  }
  #detail .conts .main{
    width: 100%;
    max-width: none;
  }
  #detail .conts .article h2.wp-block-heading{
    padding: 20px 10px;
  }
  #detail .main .pager{
    padding-top: 30px;
    display: block;
    max-width: 400px;
    margin: 0 auto;
  }
  #detail .main .pager a{
    width: 100%;
    height: 130px;
    margin-bottom: 10px;
  }
  #detail .main #archive{
    padding-top: 30px;
  }
  #detail .main #archive .midashi:after{
    content: '';
    height: 1px;
    width: calc(100% - 70px);
    background-color: var(--c-black);
  }
  #detail .main #archive .knowledge-list{
    display: flex;
    padding: 0;
  }
  #detail .main #archive .knowledge-list a{
    width: calc(100% / 2 - 5px);
    margin: 0 10px 0 0;
  }
  #detail .main #archive .knowledge-list a:nth-of-type(2){
    margin-right: 0;
  }
  #detail .main #archive .knowledge-list a:nth-of-type(n + 3){
    display: none;
  }
  #detail .conts .article .wp-block-quote {
    padding: 20px 15px;
  }
  #detail .conts .article .wp-block-quote:before {
    height: 15px;
    width: 15px;
  }
  #detail .conts .sub{
    width: 100%;
    max-width: auto;
    padding-top: 50px;
  }
  #detail .conts .sub .search{
    margin: 0 0 30px;
  }
  #detail .conts .sub .search input{
    padding: 8px;
    width: calc(100% - 60px);
  }
  #detail .conts .sub .search button{
    width: 60px;
  }
  #detail .conts .sub .midashi{
    margin: 0 0 10px;
  }
  #detail .conts .sub .post{
    padding-bottom: 20px;
  }
  #detail .conts .sub .post .link{
    margin-bottom: 15px;
  }
  #detail .conts .sub .sticky{
    position: relative;
    top: initial;
  }
  #detail .conts .sub .contact-box{
    margin-top: 40px;
  }
  #detail .conts .contact-box .head{
    padding: 20px 15px;
  }
  #detail .conts .contact-box .body{
    padding: 20px 15px;
  }
  #detail .conts .contact-box .body .txt{
    margin: 0 0 15px;
  }
  #detail .conts .contact-box .body .tel{
    pointer-events: inherit;
  }
  #detail .conts #ez-toc-container{
    padding: 15px;
  }
  #detail .conts .smb-btn-box{
    text-align: center;
    padding: 30px 0;
  }
  #detail .conts .cv-btn{
    padding: 50px 0 20px;
  }
  #detail .conts .cv-btn ul{
    display: block;
  }
  #detail .conts .cv-btn li{
    width: 100%;
    margin-bottom: 10px;
  }
  #detail .conts .cv-btn li.form a{
    padding: 30px 5px;
  }
  #detail .conts .supervision{
    padding: 30px 20px 20px;
    margin: 30px 0;
  }
  #detail .conts .supervision .tit:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--c-blue);
    clip-path: polygon(0 0, 90% 0%, 100% 100%, 0% 100%);
    z-index: -1;
  }
  #detail .conts .supervision .flex{
    display: block;
  }
  #detail .conts .supervision .flex figure{
    width: 180px;
    margin: 0 auto 10px;
  }
  #detail .conts .supervision .flex figure .name{
    margin-top: 10px;
    text-align: center;
  }
  #detail .conts .supervision .flex .txt{
    width: 100%;
  }
}

/*** ------------------------------------------------------------------------------
.form
-----------------------------------------------------------------------------  ***/
.form header{
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  position: relative;
  top: initial;
  left: initial;
  padding: 50px 0 50px;
}
.form .form-wrap{
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 100px;
}
.form .form-wrap .form-tit{
  margin: 0 0 50px;
  font-size: clamp(2rem, 2.5vw, 3rem);
  font-weight: 500;
  line-height: 1.2;
  color: var(--c-blue);
  padding: 0 0 10px 30px;
  border-bottom: solid 1px var(--c-blue);
  position: relative;
}
.form .form-wrap .form-tit:before{
  content: '';
  position: absolute;
  top: -2px;
  left: 0;
  width: 23px;
  height: 40px;
  background: url(../images/common/logo-mark.svg) no-repeat center center / contain;
}
.form .form-wrap .form-head-txt{
  font-size: clamp(1.5rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin: 0 0 50px;
}
.form .form-wrap .form-thanks{
  font-size: clamp(1.5rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin: 0 0 50px;
  text-align: center;
}
.form .form-wrap .form-thanks__back{
  max-width: 270px;
  width: 100%;
  margin: 30px auto 0;
  text-align: center;
  border-radius: 50px;
  padding: 15px 5px;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  font-weight: 500;
  line-height: 1.2;
  display: block;
  cursor: pointer;
  transition: .3s;
  background-color: var(--c-blue);
  color: #fff;
  border: solid 1px var(--c-blue);
}
.form .form-wrap .form-thanks__back:hover{
  background-color: #fff;
  color: var(--c-blue);
}
.form .form-head-tel{
  max-width: 550px;
  width: 100%;
  text-align: center;
  padding: 30px 10px;
  color: #fff;
  background-color: var(--c-blue);
  margin: 0 0 50px;
}
.form .form-head-tel:last-of-type{
  border: none;
}
.form .form-head-tel .midashi{
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 15px;
}
.form .form-head-tel .tel{
  font-size: clamp(3rem,3.5vw,3.6rem);
  line-height: 1;
  margin-bottom: 10px;
  display: inline-block;
  color: #fff;
  pointer-events: none;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 1px;
}
.form .form-head-tel .txt{
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  line-height: 1.6;
}
.form .form-desc-txt{
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 15px;
}
.form .form-box{
  background-color: var(--bg_gray);
  padding: 60px;
}
@media (max-width: 798px) {
  .form header{
    padding: 20px 0;
  }
  .form .form-wrap{
    padding-bottom: 50px;
  }
  .form .form-wrap .form-tit{
    margin: 0 0 20px;
    padding: 0 0 10px 20px;
  }
  .form .form-wrap .form-tit:before{
    content: '';
    position: absolute;
    top: -2px;
    left: 0;
    width: 15px;
    height: 30px;
  }
  .form .form-wrap .form-head-txt{
    margin: 0 0 30px;
  }
  .form .form-head-tel{
    padding: 20px 5px;
    margin: 0 auto 30px;
  }
  .form .form-head-tel:last-of-type{
    border: none;
  }
  .form .form-head-tel .midashi{
    margin: 0 0 10px;
  }
  .form .form-head-tel .tel{
    margin-bottom: 5px;
    pointer-events: inherit;
  }
  .form .form-desc-txt{
    margin: 0 0 10px;
  }
  .form .form-box{
    padding: 20px 10px;
  }
}

.form .form-box .group_name{
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  font-weight: 500;
  line-height: 1.2;
  margin: 0 0 10px;
}
.form .form-box .group_name span{
  display: inline-block;
  margin-left: 5px;
  padding: 3px 15px;
  border-radius: 50px;
  color: #fff;
  font-size: clamp(1rem,1.1vw,1.2rem);
  background-color: #cbcbcb;
}
.form .form-box .group_name span.hissu{
  background-color: var(--c-blue);
}
.form .form-box .notes{
  font-size: clamp(1rem,1.1vw,1.2rem);
  line-height: 1.2;
  margin: 0 0 10px;
}
.form .form-box .line{
  margin-bottom: 30px;
  padding-bottom: 30px;
  border-bottom: solid 1px #e5e5e5;
}
.form .form-box .line .w2{
  width: 48%;
}
.form .form-box .input input[type="text"],
.form .form-box .input input[type="email"],
.form .form-box .input input[type="number"]{
  border: solid 1px #e5e5e5;
  padding: 15px;
  width: 100%;
}
.form .form-box .input select{
  border: solid 1px #e5e5e5;
  padding: 15px;
  width: 100%;
}
.form .form-box .input textarea{
  border: solid 1px #e5e5e5;
  padding: 15px;
  max-width: 650px;
  width: 100%;
}
.form .form-box input[type=checkbox] {
    display: none;
}
.form .form-box .mw_wp_form_confirm .input,
.form .mw_wp_form_confirm .form-box .input{
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  line-height: 1.6;
}
.form .form-box label{
  position:relative;
  padding-left:30px;
  display: block;
}
.form .form-box label .mwform-checkbox-field-text:before{
  background:#fff;
  border:none;
  content:'';
  display:block;
  height:16px;
  width:16px;
  position:absolute;
  left:5px;
  top:50%;
  margin-top:-8px;
}
.form .form-box label .mwform-checkbox-field-text:after{
  border-right:3px solid var(--c-blue);
  border-bottom:3px solid var(--c-blue);
  content:'';
  display:block;
  height:9px;
  width:5px;
  position:absolute;
  left:10px;
  top:50%;
  margin-top:-7px;
  transform:rotate(45deg);
  opacity:0;
}
.form .form-box label input:checked + .mwform-checkbox-field-text:after{
  opacity:1;
}
.form .form-box .input .mwform-checkbox-field{
  display: block;
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  line-height: 1.2;
  margin-bottom: 10px;
}
.form .form-box .privacy{
 padding-bottom: 60px; 
}
.form .form-box .mw_wp_form_confirm .privacy,
.form .form-box .mw_wp_form_confirm .cs_none_confirm,
.form .mw_wp_form_confirm .form-box .cs_none_confirm,
.form .mw_wp_form_confirm #prev_content02{
  display: none;
}
.form .form-box .privacy .note{
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  line-height: 1.4;
  margin-bottom: 10px;
  color: #989898;
}
.form .form-box .privacy .note a{
  color: var(--c-blue);
  text-decoration: underline;
}
.form .form-box .privacy .note a:hover{
  text-decoration: none;
}
.form .form-box .privacy p{
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  line-height: 1.2;
  display: flex;
}
.form .form-box .privacy p .hissu{
  display: inline-block;
  margin-left: 5px;
  padding: 3px 15px;
  border-radius: 50px;
  color: #fff;
  font-size: clamp(1rem,1.1vw,1.2rem);
  background-color: #cbcbcb;
  background-color: var(--c-blue);
}
.form .submit{
  justify-content: center;
}
.form .btn{
  max-width: 270px;
  width: 100%;
  margin: 0 5px;
  text-align: center;
  border-radius: 50px;
  padding: 15px 5px;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  font-weight: 500;
  line-height: 1.2;
  display: block;
  cursor: pointer;
  transition: .3s;
  border: solid 1px var(--c-blue);
}
.form .btn_submit{
  background-color: var(--c-blue);
  color: #fff;
}
.form .btn_submit:hover{
  background-color: #fff;
  color: var(--c-blue);
}
.form .btn_back{
  background-color: #fff;
  color: var(--c-blue);
}
.form .btn_back:hover{
  background-color: #ccc;
}
@media (max-width: 798px) {
  .form .form-box .group_name{
    margin: 0 0 5px;
  }
  .form .form-box .line{
    margin-bottom: 20px;
    padding-bottom: 20px;
    display: block;
  }
  .form .form-box .line .w2{
    width: 100%;
    margin-bottom: 10px;
  }
  .form .form-box .input input[type="text"],
  .form .form-box .input input[type="email"],
  .form .form-box .input input[type="number"]{
    padding: 10px;
  }
  .form .form-box .input textarea{
    padding: 10px;
  }
  .form .form-box .privacy{
   padding-bottom: 40px; 
  }
  .form .form-box .submit{
    display: block;
  }
  .form .btn{
    margin: 0 auto 10px;
  }
}

.form .o-form__content {
  display: none;
}
.form .mw_wp_form_confirm .o-form__content {
  display: none;
}
.form .mw_wp_form_confirm .o-form__content {
  display: block;
  margin: 0 0 30px;
}
.form .o-form__content.is-active {
  display: block;
}
.form .p-ma_form__content__number ul{
  justify-content: flex-start;
  margin: 0 0 50px;
}
.form .p-ma_form__content__number ul li{
  margin-right: 40px;
}
.form .p-ma_form__content__number ul li strong{
  display: block;
  background-color: #fff;
  color: var(--c-blue);
  border: solid 1px var(--c-blue);
  font-size: clamp(1.4rem,1.6vw,1.8rem);
  font-weight: 400;
  text-align: center;
  border-radius: 50px;
  width: 50px;
  height: 50px;
  line-height: 50px;
  position: relative;
}
.form .p-ma_form__content__number ul li strong:after{
  content: '';
  width: 30px;
  height: 1px;
  position: absolute;
  right: -40px;
  top: 50%;
  background-color: var(--c-blue);
}
.form .p-ma_form__content__number ul li.is-active strong{
  background-color: var(--c-blue);
  color: #fff;
}
.form .p-ma_form__content__number ul li:last-child strong:after{
  display: none;
}
.form .p-ma_form__content__number ul li span{
  display: block;
  text-align: center;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  font-weight: 500;
  line-height: 1.2;
  margin-top: 5px;
}
.form .p-ma_form__content__number ul li.is-active span{
  color: var(--c-blue);
}
.form .step{
  margin-bottom: 10px;
  align-items: center;
  justify-content: flex-start;
  font-size: clamp(1.4rem,1.6vw,1.8rem);
  line-height: 1;
  font-weight: 500;
}
.form .step strong{
  display: block;
  font-size: clamp(2rem,2.3vw,2.6rem);
  font-weight: 400;
  margin-right: 20px;
  color: var(--c-blue);
}
.form .o-form__row__detail{
  max-width: 500px;
}
.form .o-form__row__detail .o-form__row__detail-select{
  margin-bottom: 10px;
}
.form .form-box .o-form__btn {
  justify-content: center;
}
.form .mw_wp_form_confirm .form-box .o-form__btn{
  display: none;
}
.form .mw_wp_form_confirm .last .form-box .o-form__btn{
  display: flex;
}
.form .form-box .o-form__btn__detail{
  max-width: 270px;
  width: 100%;
  margin: 0 5px;
  text-align: center;
  border-radius: 50px;
  padding: 15px 5px;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  font-weight: 500;
  line-height: 1.2;
  display: block;
  cursor: pointer;
  transition: .3s;
  border: solid 1px var(--c-blue);
}
.form .form-box .is-blue{
  background-color: var(--c-blue);
  color: #fff;
}
.form .form-box .is-blue:hover{
  background-color: #fff;
  color: var(--c-blue);
}
.form .form-box .is-grey{
  background-color: #fff;
  color: var(--c-blue);
}
.form .form-box .is-grey:hover{
  background-color: #ccc;
}
.form .form-box .input {
  position: relative;
}
.form .form-box .input input[type="text"].price{
  width: calc(100% - 50px);
}
.form .form-box .input .unit{
  color: #989898;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  line-height: 1.2;
  display: inline-block;
  position: absolute;
  top: 15px;
  right: 10px;
}
.form .form-box .o-form__table{
  width: 100%;
  margin: 0 0 50px;
}
.form .form-box .o-form__table table{
  width: 100%;
  table-layout: fixed;
}
.form .form-box .o-form__table table th{
  border-top: solid 1px #989898;
  border-bottom: solid 1px #989898;
  background-color: #e5e5e5;
  text-align: center;
  padding: 10px 0;
  font-size: clamp(1.4rem,1.5vw,1.6rem);
  line-height: 1.2;
  font-weight: 500;
}
.form .form-box .o-form__table table td{
  padding: 20px 5px;
  border-bottom: solid 1px #e5e5e5;
}
.form .form-box .o-form__table table td p{
  position: relative;
}
.form .form-box .o-form__table table td .notes{
  color: #989898;
  font-size: clamp(1.2rem,1.3vw,1.4rem);
  line-height: 1.2;
  margin-top: 10px;
}
@media (max-width: 798px) {
  .form .form-box .o-form__table table{
    min-width: 600px;
  }
  .form .form-box .o-form__btn{
    display: block;
  }
  .form .form-box .o-form__btn__detail{
    margin: 0 auto 10px;
  }
  .form .form-box .input .unit{
    top: 10px;
    right: 10px;
  }
}

/*** ------------------------------------------------------------------------------
#talk.archive
-----------------------------------------------------------------------------  ***/
#talk.archive .conts{
  max-width: 960px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 180px;
  align-items: stretch;
}
#talk.archive .conts .item{
  box-shadow: 5px 5px 5px rgba(0,0,0,.05);
  margin: 0 0 50px;
  padding-bottom: 10px;
}
#talk.archive .conts .item .txt-box{
  width: 50%;
}
#talk.archive .conts .item .txt-box .midashi01{
  background-color: var(--c-blue);
  font-size: clamp(1.6rem, 1.7vw, 1.8rem);
  line-height: 1.4;
  color: #fff;
  padding: 10px 20px;
}
#talk.archive .conts .item .txt-box .midashi02{
  font-size: clamp(1.8rem, 2.4vw, 2.6rem);
  line-height: 1.6;
  font-weight: 500;
  padding: 15px 25px 25px;
}
#talk.archive .conts .item .txt-box .with{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.4;
  text-align: left;
  padding: 0 25px;
}
#talk.archive .conts .item .txt-box .with .tit{
  display: block;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  background: url(../images/talk/head-arw.svg) no-repeat left bottom / 90px;
  padding-bottom: 2px;
  margin-bottom: 6px;
  color: var(--c-blue);
  width: 90px;
}
#talk.archive .conts .item .txt-box .with .txt{
  width: calc(100% - 120px);
  line-height: 1.8;
}
#talk.archive .conts .item .txt-box .with .txt strong{
  font-weight: 400;
  display: block;
}
#talk.archive .conts .item .txt-box .with .txt span{
  font-size: clamp(1.1rem, 1.2vw, 1.3rem);
}
#talk.archive .conts .item .txt-box .btn{
  display: block;
  font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  line-height: 1;
  font-weight: 500;
  color: var(--c-blue);
  border: solid 2px var(--c-blue);
  border-radius: 50px;
  padding: 10px 20px;
  max-width: 200px;
  text-align: center;
  margin-top: 30px;
  transition: .3s;
}
#talk.archive .conts .item .txt-box .btn:hover{
  background-color: var(--c-blue);
  color: #fff;
}
#talk.archive .conts .item .img-box{
  width: 50%;
  padding: 25px;
}
#talk.archive .conts .item .img-box .img{
  position: relative;
  overflow: hidden;
  width: 100%;
  padding-top: 70%;
}
#talk.archive .conts .item .img-box .img img{
  position: absolute;
  width: 100%!important;
  height: 100%!important;
  object-fit: cover;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
@media (max-width: 798px) {
  #talk.archive .conts{
    padding-bottom: 60px;
  }
  #talk.archive .conts .item{
    margin: 0 0 40px;
    padding-bottom: 15px;
  }
  #talk.archive .conts .item .txt-box{
    width: 100%;
  }
  #talk.archive .conts .item .txt-box .midashi01{
    width: calc(100% - 10px);
    margin-top: -10px;
  }
  #talk.archive .conts .item .txt-box .midashi02{
    padding: 10px 20px 20px;
  }
  #talk.archive .conts .item .txt-box .with{
    padding: 0 20px;
  }
  #talk.archive .conts .item .txt-box .with .tit{
    background: url(../images/talk/head-arw.svg) no-repeat left bottom / 50px;
    width: 50px;
  }
  #talk.archive .conts .item .txt-box .with .txt{
    width: calc(100% - 65px);
  }
  #talk.archive .conts .item .txt-box .btn{
    margin: 15px auto 0;
  }
  #talk.archive .conts .item .img-box{
    width: 100%;
    padding: 15px;
  }
}

/*** ------------------------------------------------------------------------------
#talk.detail
-----------------------------------------------------------------------------  ***/
#talk.detail .conts{
  max-width: 1200px;
  width: 90%;
  margin: 0 auto;
  padding-bottom: 180px;
  align-items: stretch;
}
#talk.detail .conts .article ul {
  list-style: disc;
  padding-bottom: 30px;
  padding-left: 25px;
}
#talk.detail .conts .article ul li {
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  margin: 0 0 5px;
} 
#talk.detail .conts #ez-toc-container{
  border: none;
  background-color: var(--bg_gray);
  width: 100%;
  padding: 30px;
}
#talk.detail .conts #ez-toc-container .ez-toc-title{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
}
#talk.detail .conts #ez-toc-container ul{
  border-top: solid 1px #e5e5e5;
}
#talk.detail .conts #ez-toc-container a{
  padding: 10px 0 10px 30px;
  border-bottom: solid 1px #e5e5e5;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  font-weight: 500;
  line-height: 1.4;
  transition: .3s;
  color: var(--c-black);
  position: relative;
  display: block;
}
#talk.detail .conts #ez-toc-container a:visited{
  color: var(--c-black);
  opacity: 1;
}
#talk.detail .conts #ez-toc-container a:hover{
  color: var(--c-blue);
  text-decoration: none;
}
#talk.detail .conts .ez-toc-counter nav ul li a::before{
  background-color: var(--c-blue);
  color: #fff;
  padding: 1px 8px;
  border-radius: 5px;
  position: absolute;
  top: 10px;
  left: 0;
  content: counter(item, numeric) ;
}
#talk.detail .conts .article h1.wp-block-heading{
  font-size: clamp(2rem, 2.6vw, 3.2rem);
  font-weight: 500;
  line-height: 1.6;
  margin: 0 0 30px;
}
#talk.detail .conts .article h2.wp-block-heading{
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 50px 0 30px;
  background-color: var(--c-blue);
  color: #fff;
}
#talk.detail .conts .article h3.wp-block-heading{
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 700;
  line-height: 1.6;
  margin: 50px 0 30px;
  border-bottom: solid 2px var(--c-black);
  padding-bottom: 10px;
}
#talk.detail .conts .article h3.smb-media-text__title{
  font-size: clamp(1.8rem, 2vw, 2rem);
  font-weight: 700;
  line-height: 1.6;
}
#talk.detail .conts .article h4.wp-block-heading{
  border-left: none;
  margin: 10px 0 10px;
  font-size: clamp(1.8rem, 2vw, 2.2rem);
  font-weight: 400;
  line-height: 1.6;
  padding: 5px;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  color: var(--c-blue);
  border-bottom: solid 1px var(--c-blue);
}
#talk.detail .conts .article p{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.8;
  margin: 0 0 20px;
}
#talk.detail .conts .article p a{
  color: var(--c-blue);
  text-decoration: underline;
}
#talk.detail .conts .article p a:hover{
  text-decoration: none;
}
#talk.detail .conts .article .wp-block-image{
  margin: 0 0 20px;
}
#talk.detail .smb-section-with-bgimage__bgimage{
  position: relative;
  top: initial;
  left: initial;
  bottom: initial;
  right: initial;
  max-width: 740px;
  width: 90%;
}
#talk.detail .smb-section-with-bgimage__bgimage img{
  position: relative;
  height: auto;
  opacity: 1;
}
#talk.detail .smb-section-with-bgimage{
  overflow: initial;
  position: relative;
  padding: 0;
  margin: 0 0 100px;
}
#talk.detail .smb-section__header{
  text-align: left;
  background-color: rgba(255,255,255,.8);
  box-shadow: 5px 5px 25px rgba(0,0,0,.25);
  padding: 30px 40px;
}
#talk.detail .smb-section__inner{
  position: absolute;
  left: 50%;
  bottom: -30px;
  width: calc(50% + 150px);
}
#talk.detail .smb-section__body{
  display: none;
}
#talk.detail .smb-section__inner .has-sm-medium-font-size{
  color: var(--c-blue);
  z-index: 2;
  font-size: clamp(1.6rem, 1.8vw, 2rem);
  font-weight: 500;
  line-height: 1.6;
}
#talk.detail .smb-section__inner .smb-section__title strong{
  font-size: clamp(2rem, 2.6vw, 3.2rem);
  font-weight: 500;
  line-height: 1.6;
}
#talk.detail .smb-section__inner .smb-section__lede-wrapper{
  display: block;
}
#talk.detail .smb-section__inner .smb-section__lede{
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.4;
  text-align: left;
  display: block;
}
#talk.detail .smb-section__inner .smb-section__lede strong{
  display: block;
  font-family: "Oswald", sans-serif;
  font-optical-sizing: auto;
  font-style: normal;
  font-weight: 400;
  background: url(../images/talk/head-arw.svg) no-repeat left bottom / 90px;
  padding-bottom: 2px;
  margin-bottom: 6px;
  color: var(--c-blue);
}
#talk.detail .conts .article .wp-block-pullquote p{
  font-size: clamp(1.6rem, 2vw, 2.4rem);
  line-height: 1.4;
  font-weight: 300;
}
#talk.detail .conts .article .wp-block-pullquote cite{
  font-size: clamp(1.3rem, 1.4vw, 1.5rem);
  line-height: 1.6;
  font-weight: 300;
  font-style: italic;
}
#talk.detail .conts .article .wp-block-post-navigation-link{
  margin-top: 40px;
  font-size: clamp(1.4rem, 1.5vw, 1.6rem);
  line-height: 1.6;
  font-weight: 400;
}
#talk.detail .conts .article .wp-block-post-navigation-link.post-navigation-link-next{
  text-align: right;
}
#talk.detail .conts .article .wp-block-post-navigation-link a{
  color: var(--c-blue);
  text-decoration: underline;
}
#talk.detail .conts .article .wp-block-post-navigation-link a:hover{
  text-decoration: none;
}
@media (max-width: 1600px) {
  #talk.detail .smb-section__inner {
    width: calc(50% + 50px);
  }
}
@media (max-width: 1200px) {
  #talk.detail .smb-section__inner {
    width: calc(50% + 20px);
  }
}
@media (min-width: 1024px) {
  #talk.detail .c-row{
    justify-content: space-between;
    margin-bottom: 3%;
  }
  #talk.detail .c-row__col--lg-1-2,
  #talk.detail .c-row__col--lg-2-4,
  #talk.detail .c-row__col--lg-3-6,
  #talk.detail .c-row__col--lg-4-8,
  #talk.detail .c-row__col--lg-5-10,
  #talk.detail .c-row__col--lg-6-12 {
    --_item-width: 47%;
  }
}
#talk.detail .smb-section__inner>.c-container{
  padding: 0;
}
#talk.detail .wp-embedded-content{
  width: 100%;
}
@media (max-width: 798px) {
  #talk.detail .conts{
    padding-bottom: 60px;
    display: block;
  }
  #talk.detail .conts .article .wp-block-image{
    margin: 0 0 20px;
  }
  #talk.detail .smb-section-with-bgimage__bgimage{
    width: 100%;
  }
  #talk.detail .smb-section-with-bgimage{
    overflow: initial;
    position: relative;
    display: block;
    padding: 0;
    margin: 0 0 50px;
  }
  #talk.detail .conts .article h2.wp-block-heading{
    padding: 20px 10px;
  }
  #talk.detail .smb-section__header{
    text-align: left;
    background-color: rgba(255,255,255,.8);
    box-shadow: 5px 5px 25px rgba(0,0,0,.25);
    padding: 20px 15px;
  }
  #talk.detail .smb-section__inner{
    position: relative;
    left: initial;
    bottom:  initial;
    width: 90%;
    margin: -30px -10px 0 auto;
  }
  #talk.detail .conts .article .wp-block-post-navigation-link{
    margin-top: 30px;
  }
}