@charset "UTF-8";
/* CSS Document */

/*
	00 Commmon
	01 Root
*/

/*
00 Common
========================================================================== */

/* Color

*/


/*
01 Root
========================================================================== */
.dirRoot {}

/* Header ===================== */
header.dirRoot {
  width: 100%;
  height: 100%;
  position: relative;
}
header.dirRoot:before { display: none; }
header.dirRoot h1 {
  width: 35vw;
  min-width: 350px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-57.5%);
}
header.dirRoot h2 {
  width: 200px;
  position: absolute;
  bottom: 50px;
  left: 55px;
}
header.dirRoot ul {
  padding: 0;
  position: absolute;
  top: initial;
  bottom: 50px;
  left: initial;
  right: 50px;
}

/* Main ===================== */
main.dirRoot {}

/* contents */
.contents { border-top: 3px solid var(--black); }
.contents .inner {
  justify-content: flex-end;
  align-items: center;
}
.contents h2 {
  justify-content: center;
  align-items: center;
  width: 32.5%;
  height: 100%;
  position: absolute;
  z-index: 2;
  left: 0;
}
.contents h2:before,
.contents h2:after {
  content: '';
  height: 100%;
  position: absolute;
  top: 0;
  transform: skewX(-15deg);
  z-index: -1;
}
.contents h2:before {
  width: calc(100% + 20%);
  min-width: 400px;
  background-color: var(--yellow);
  right: 0;
}
.contents h2:after {
  width: 3px;
  background-color: var(--black);
  right: 0;
}
.contents .boxText { width: 100%; }
.contents .boxText div {
  padding: 60px 100px 60px 0;
  position: relative;
}
.contents .boxText div:nth-child(1) { padding-left: calc(35% + 160px); }
.contents .boxText div:nth-child(2) { padding-left: calc(35% + 110px); }
.contents .boxText div:nth-child(3) { padding-left: calc(35% + 40px); }
.contents .boxText div:nth-child(4) { padding-left: calc(35% - 15px); }
.contents .boxText > div + div { border-top: 3px solid var(--black); }
.contents .boxText div h3 {
  margin: 0 0 15px 0;
  font-size: 16px;
  letter-spacing: .05rem;
}
.contents .boxText div p {}

/* office */
.office {
  padding: 100px 0 125px;
  border-top: 3px solid var(--black);
  overflow: hidden;
}
.office h2 {
  display: flex;
  align-items: flex-end;
  padding: 0 100px 0 0;
}
.office .maps { padding: 50px 0 0 0; }
.office .maps .block {
  display: flex;
  align-items: center;
}
.office .maps > .block + .block { margin: 45px 0 0 0; }
.office .maps .block picture {
  width: 60%;
  height: 375px;
  background-color: var(--white);
  border-radius: 0 5px 5px 0;
}
.office .maps .block picture iframe {
  width: 100%;
  height: 100%;
}
.office .maps .block .office_info {
  width: 40%;
  padding: 0 0 0 80px;
}
.office .maps .block .office_info h3 {
  display: flex;
  align-items: center;
}
.office .maps .block .office_info h3 i { font-size: 27px; }
.office .maps .block .office_info h3 b {
  padding: 3px 0 0 20px;
  letter-spacing: .05rem;
}
.office .maps .block .office_info p {
  margin: 12px 0 0 0;
  letter-spacing: .05rem;
  line-height: 2.1;
}

.office .deco.top { left: 40vw; }
.office .deco.middle { left: 65vw; }
.office .deco.bottom { left: 90vw; }

/* form */
.leadform {
  padding: 100px 0;
  border-top: 3px solid var(--black);
}
.leadform h2 {
  align-items: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.leadform .inner {
  justify-content: space-between;
  padding: 0 80px;
}
.leadform .inner div {}
.leadform .inner div > * {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 37.5vw;
  height: 37.5vw;
  max-width: 650px;
  max-height: 650px;
  background-color: var(--white);
  border-radius: 50%;
}
.leadform .inner h3 {
  font-size: 18px;
  text-align: center;
  letter-spacing: .05rem;
}
.leadform .inner p {
  margin: 30px;
  text-align: center;
  letter-spacing: .03rem;
}
.leadform .inner sub {
  justify-content: center;
  width: 225px;
  padding: 0 0 20px 0;
  transition: 1s ease-out;
}
.leadform .inner a:hover sub { width: 275px; }

/* topics */
.topics {
  padding: 125px 0 100px 0;
  border-top: 3px solid var(--black);
}
.topics .inner { padding: 0 50px 0 75px; }
.topics h2 {
  align-items: center;
  width: 30%;
  padding: 3px 50px 0 0;
}
.topics .line {
  display: flex;
  flex-wrap: wrap;
  width: 80%;
}
.topics .line .block {
  width: 33.333%;
  padding: 12px 8px 40px;
}
.topics .line picture {
  border-radius: 5px;
  overflow: hidden;
}
.topics .line picture img {}
.topics .line picture img { transition: 1.25s ease-out; }
.topics .line a:hover picture img { transform: scale(1.1); }

.topics .line div { padding: 20px 0 0 0; }
.topics .line time {
  font-size: 11px;
  letter-spacing: .08rem;
}
.topics .line h3 {
  margin: 10px 0;
  font-size: 12px;
  letter-spacing: .05rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.topics .line sub {
  width: 125px;
  padding: 0 0 12px 0;
  font-size: 10px;
  transition: .3s ease-out;
}
.topics .line a:hover sub { width: 150px; }
.dirRoot .topics .line .block:first-child { width: 100%; }
.dirRoot .topics .line .block:first-child > * {
  display: flex;
  align-items: center;
}
.dirRoot .topics .line .block:first-child picture { width: 50%; }
.dirRoot .topics .line .block:first-child div {
  width: 50%;
  padding: 0 0 0 50px;
}
.dirRoot .topics .line .block:first-child time { font-size: 13px; }
.dirRoot .topics .line .block:first-child h3 {
  margin: 18px 0;
  font-size: 14px;
}
.dirRoot .topics .line .block:first-child sub {
  width: 150px;
  padding: 0 0 12px 0;
  font-size: 11px;
}
.dirRoot .topics .line .block:first-child a:hover sub { width: 175px; }

.topics .deco.top { left: 7.5vw; }
.topics .deco.middle { left: 32.5vw; }
.topics .deco.bottom { left: 57.5vw; }

/* partner */
.partner {
  padding: 125px 0 100px 0;
  border-top: 3px solid var(--black);
}
.partner h2 {
  align-items: center;
  width: 100%;
}
.sliderProf {
  padding: 45px 0 25px 0;
  position: relative;
}
.sliderProf .slick-track { min-width: 100%; }
.sliderProf .slick-arrow {
  width: 50px;
  position: absolute;
  top: -10px;
  cursor: pointer;
}
.sliderProf .verPrev.slick-arrow {
  left: 20%;
  transform: scaleX(-1);
}
.sliderProf .verNext.slick-arrow { right: 20%; }
.sliderProf .block { padding: 0 20px; }
.listProf .block > * {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
.listProf picture {
  margin: 0 0 25px 0;
  position: relative;
  border-radius: 15px;
  overflow: hidden;
}
.listProf picture img { transition: 1.25s ease-out; }
.listProf a:hover picture img { transform: scale(1.1); }
.listProf picture:before {
  content: '';
  width: 20px;
  height: 20px;
  background-image: url(/images/common/btn-zoom.svg);
  background-size: cover;
  position: absolute;
  top: 12px;
  left: 12px;
  transition: 1s ease-out;
  z-index: 2;
}
.listProf a:hover picture:before { transform: rotate(360deg); }
.listProf h2 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.listProf h2 > * {
  width: 100%;
  text-align: center;
  letter-spacing: .03rem;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.listProf h2 i {}
.listProf h2 b { font-size: 12px; }
.listProf h3 {
  width: 90%;
  margin: 10px 0 0 0;
  padding: 10px 0 0 0;
  border-top: 2px solid var(--black);
  font-size: 11px;
  text-align: center;
}
.listProf h3 > * {
  letter-spacing: .05rem;
  position: relative;
  white-space: nowrap;
}
.listProf h3 b { padding: 0 0 0 15px; }
.listProf h3 b:before {
  content: '';
  width: 1px;
  height: 12px;
  background-color: var(--black);
  position: absolute;
  top: 2px;
  left: 6px;
  transform: rotate(40deg);
}
.listProf p {
  width: 90%;
  font-size: 11px;
  text-align: center;
  letter-spacing: .05rem;
}
.partner .viewall {
  display: flex;
  justify-content: center;
  margin: 35px 0 0 0;
}
.partner .viewall a {
  padding: 4px 125px;
  margin: auto;
  font-size: 11px;
  text-align: center;
  letter-spacing: .05rem;
  border: 2px solid var(--black);
  border-radius: 18px;
  transition: .3s ease-out;
}
.partner .viewall a:hover { background-color: var(--white); }
.partner .deco.top { right: 2.5vw; }
.partner .deco.middle { right: 25vw; }
.partner .deco.bottom { right: 47.5vw; }

/* interview */
.interview {
  padding: 125px 0 100px 0;
  border-top: 3px solid var(--black);
  background-color: var(--white);
}
.interview .inner { padding: 0 50px 0 75px; }
.interview h2 {
  align-items: center;
  width: 30%;
  padding: 3px 50px 0 0;
}
.interview h2 i {
  font-size: 13px;
  letter-spacing: .05rem;
  margin: 0 0 25px 0;
}
.interview h2 img {
  width: 60%;
  height: initial;
  object-fit: initial;
}
.interview h2 b { margin: 15px 0 15px 0; }
.interview h2 a:hover { background-color: var(--yellow); }
.interview .line {
  display: flex;
  flex-wrap: wrap;
  width: 70%;
}
.interview .line .block {
  width: 100%;
  padding: 12px 0 40px;
}
.interview .line .block a {
  display: flex;
  background-color: var(--black);
  border-radius: 5px;
  overflow: hidden;
}
.interview .line picture {
  width: calc(100% - 330px);
  border-radius: 5px 0 0 5px;
  overflow: hidden;
}
.interview .line picture img { transition: 1.25s ease-out; }
.interview .line a:hover picture img { transform: scale(1.1); }
.interview .line .block div {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 330px;
  min-height: 360px;
  color: var(--white);
  padding: 5px 0 0 0;
  background-color: var(--black);
  border-radius: 0 5px 5px 0;
}
.interview .line h3 {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: .05rem;
}
.interview .line h3 small { font-size: 11px; }
.interview .line h3 i {
  margin: 5px 0 9px;
  font-size: 16px;
  letter-spacing: .2rem;
}
.interview .line h3 b { font-size: 11px; }
.interview .line h4 {
  width: 75%;
  margin: 20px 0 0;
  font-size: 11px;
  text-align: center;
}
.interview .line p {
  width: 75%;
  margin: 28px 0 0 0;
  padding: 28px 0 0 0;
  font-size: 10px;
  letter-spacing: .05rem;
  text-align: center;
  position: relative;
}
.interview .line p:before {
  content: '';
  width: 15%;
  height: 1px;
  background-color: var(--white);
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
  transition: 1s ease-out;
}
.interview .line a:hover p:before { width: 100%; }
.interview .deco {
  background-color: var(--yellow);
  z-index: 0;
  opacity: .4;
}
.interview .deco.top { left: -12.5vw; }
.interview .deco.middle { left: 12.5vw; }
.interview .deco.bottom { left: 37.5vw; }

/* outline */
.outline {
  padding: 100px 0;
  border-top: 3px solid var(--black);
  overflow: hidden;
}
.outline h2 {
  display: flex;
  align-items: center;
}
.outline .line {
  width: 750px;
  margin: 85px auto 35px;
}
.outline dl {
  display: flex;
  padding: 25px ;
  border-top: 2px solid var(--black);
}
.outline dl dt { width: 25%; }
.outline dl dd {
  display: inline-flex;
  flex-direction: column;
}
.outline dl dd em { letter-spacing: .25rem; }
.outline dl dd small {
  margin: 0 0 0 5px;
  letter-spacing: .03rem;
}
.outline dl dd em small { margin: 0 0 0 10px; }
.outline dl dd a {
  display: inline-flex;
  align-items: center;
  letter-spacing: .03rem;
  position: relative;
}
.outline dl dd > a + a { margin: 12px 0 0 0; }
.outline dl dd a img {
  width: 22px;
  height: 22px;
  margin: 0 10px 0 0;
}
.outline .line p {
  padding: 25px 0;
  border-top: 2px solid var(--black);
  font-size: 13px;
  text-align: right;
  letter-spacing: .05rem;
}
.outline .line p > i + i { margin: 0 0 0 15px; }

/* Article */
.verArticle {
  display: flex;
  flex-direction: column;
  margin: 0 0 75px 0;
}
.verArticle .intro {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin: 0 0 40px 0;
}
.verArticle .intro h3 {
  width: 160px;
  margin: 0 0 25px 0;
}
.verArticle .intro h4 {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.verArticle .intro h4 i {
  padding: 0 0 35px 0;
  letter-spacing: .08rem;
}
.verArticle .intro h4 b {
  font-size: 12px;
  text-align: center;
  line-height: 2.1;
}
.verArticle .line {
  width: 100%;
  max-width: 1500px;
  margin: auto;
  padding: 0;
}
.verArticle .topics,
.verArticle .interview {
  max-width: initial;
  padding: 100px 0 140px 0;
  border-top: none;
  background-color: initial;
}
.verArticle .topics { padding: 60px 0 140px 0; }
.verArticle .topics .line .block { width: 50%; }
.verArticle .pagination ul {
  display: flex;
  justify-content: center;
  margin: 75px 0 30px 0;
}
.verArticle .pagination ul li { padding: 0 10px; }
.verArticle .pagination ul li a {
  padding: 0 0 3px 0;
  border-bottom: 2px solid var(--black);
  position: relative;
}
.verArticle .pagination ul li.current a { pointer-events: none; }
.verArticle .pagination ul li.current a:before {
  content: '';
  width: 5px;
  height: 5px;
  background-color: var(--black);
  border-radius: 50%;
  position: absolute;
  top: -8px;
  left: 50%;
  transform: translate(-50%,0);
}

/* verProf */
.verProf {}
.overlay.verProf {
  overflow: auto;
}
.verProf .frame {
  display: flex;
  justify-content: space-between;
  width: 100%;
  margin: 125px auto;
}
.verProf picture {
  width: 50%;
  height: 100%;
  position: relative;
  padding: 0 0 0 225px;
}
.verProf picture img {}
.verProf .boxText {
  width: 45%;
  padding: 0 125px 0 0;
}
.verProf .boxText h3 {
  display: flex;
  flex-direction: column;
  letter-spacing: .03rem;
}
.verProf .boxText h3 i { font-size: 18px; }
.verProf .boxText h3 b {
  margin: 5px 0 0 0;
  font-size: 12px;
}
.verProf .boxText h4 {
  padding: 25px 0 0;
  font-size: 12px;
  letter-spacing: .05rem;
}
.verProf .boxText h4 i {}
.verProf .boxText h4 b {
  margin: 0 0 0 12px;
  padding: 0 0 0 12px;
  position: relative;
}
.verProf .boxText h4 b:before {
  content: '';
  width: 1px;
  height: 12px;
  background-color: var(--black);
  position: absolute;
  top: 2px;
  left: 0;
  transform: rotate(40deg);
}

.history {
  padding: 30px 0 0 0;
  margin: 30px 0 0 0;
  border-top: 2px solid var(--black);
}
.history li {
  display: flex;
  font-size: 12px;
  letter-spacing: .03rem;
  line-height: 1.7;
}
.history > li + li { margin: 12px 0 0 0; }
.history li i { width: 55px; }
.history li b { width: calc(100% - 55px); }

.verProf .boxText .typeMov > * { margin: 0 auto 5px; }

.links {
  padding: 30px 0 0 0;
  margin: 30px 0 0 0;
  border-top: 2px solid var(--black);
}
.links li > * { font-size: 12px; }
.links li i:after {
  content: ':';
  padding: 0 5px;
}
.links li b {
  padding: 0 15px 0 0;
  position: relative;
}
.links li b:after {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 6px;
  border-color: transparent transparent transparent var(--black);
  position: absolute;
  top: 5px;
  right: 0;
}

.listProf .line {
  display: flex;
  flex-wrap: wrap;
  padding: 65px 30px 0;
}
.listProf .line .block {
  width: 50%;
  padding: 20px;
}
.listProf .line .block a {
  padding: 0 0 10px 0;
}



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

.contents .inner {
  flex-direction: column;
  justify-content: center;
  padding: 90px 0 125px;
}
.contents h2 {
  justify-content: center;
  align-items: center;
  width: 100%;
  height: initial;
  padding: 0 0 45px 0;
  position: relative;
  left: initial;
  z-index: initial;
}
.contents h2:before,
.contents h2:after { display: none; }

.contents .boxText div:nth-child(1),
.contents .boxText div:nth-child(2),
.contents .boxText div:nth-child(3),
.contents .boxText div:nth-child(4) { padding: 40px 20%; }
.contents .boxText > div + div { border-top: none; }
.contents .boxText div:before {
  content: '';
  width: 23%;
  height: 210px;
  background-color: rgba(255,255,255,.7);
  position: absolute;
  top: -45px;
  z-index: -1;
}
.contents .boxText div:nth-child(odd):before{
  left: 0;
  transform: skewY(20deg);
}
.contents .boxText div:nth-child(even):before{
  right: 0;
  transform: skewY(-20deg);
}

/* topics */
.topics .inner {
  flex-direction: column;
  padding: 0 15%;
}
.topics h2 {
  width: 100%;
  padding: 0 0 60px 0;
}
.topics .line {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.topics .line .block { width: 50%; }
.dirRoot .topics .line .block:first-child { width: 50%; }
.dirRoot .topics .line .block:first-child > * {
  display: block;
  align-items: initial;
}
.dirRoot .topics .line .block:first-child picture { width: 100%; }
.dirRoot .topics .line .block:first-child div {
  width: 100%;
  padding: 20px 0 0 0;
}
.dirRoot .topics .line .block:first-child time {
  font-size: 11px;
  letter-spacing: .08rem;
}
.dirRoot .topics .line .block:first-child h3 {
  margin: 10px 0;
  font-size: 12px;
  letter-spacing: .05rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dirRoot .topics .line .block:first-child sub {
  width: 125px;
  padding: 0 0 12px 0;
  font-size: 10px;
  transition: .3s ease-out;
}
.dirRoot .topics .line .block:first-child a:hover sub { width: 150px; }

/* Partner */
.sliderProf { padding: 60px 0 25px 0; }
.sliderProf .block { padding: 0 15px; }

/* interview */
.interview .inner {
  flex-direction: column;
  padding: 0 15%;
}
.interview h2 {
  width: 100%;
  padding: 0 0 55px 0;
}
.interview h2 img { width: 140px; }
.interview .line { width: 100%; }
.interview .line .block div { min-height: 340px; }

/* form */
.leadform {}
.leadform h2 {
  top: 0;
  left: 50%;
  transform: translate(-50%,0);
}
.leadform .inner {
  justify-content: center;
  padding: 0;
}
.leadform .inner div { margin: 100px 12px 0; }
.leadform .inner div > * {
  width: 345px;
  height: 345px;
}
.leadform .inner h3 { font-size: 16px; }
.leadform .inner p {
  margin: 25px 0;
  font-size: 12px;
}
.leadform .inner sub { width: 55%; }
.leadform .inner a:hover sub { width: 60%; }

/* office */
.office h2 {
  align-items: center;
  padding: 0;
}
.office .maps { padding: 65px 0 0 0; }
.office .maps .block {
  flex-direction: column;
  align-items: flex-start;
  padding: 0 15%;
}
.office .maps .block picture {
  width: 100%;
  height: 325px;
}
.office .maps .block .office_info {
  width: 100%;
  padding: 25px 0 0 0;
}
.office .maps > .block + .block { margin: 55px 0 0 0; }

/* outline */
.outline .line {
  width: 100%;
  padding: 0 15%;
}

/* Article */
.verArticle {}
.verArticle .topics { padding: 60px 0 60px 0; }
.verArticle .topics .line {
  flex-direction: column;
  width: 75%;
}
.verArticle .topics .line .block { width: 100%; }

/* verProf */
.verProf .frame { margin: 100px auto; }
.verProf picture {
  width: 45%;
  padding: 0 0 0 125px;
}
.verProf .boxText {
  width: 50%;
  padding: 0 100px 0 0;
}
.verArticle .listProf { padding: 0; }
.verArticle .listProf .line {
  flex-direction: column;
  width: 75%;
  padding: 60px 0 0;
}
.verArticle .listProf .line .block {
  width: 100%;
  padding: 12px 8px 40px;
}
.verArticle .listProf .line .block picture { border-radius: 5px; }
.verArticle .listProf .line .block h3 { width: 100%; }

}


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

header.dirRoot h2 {
  width: 185px;
  left: 35px;
}
header.dirRoot ul { right: 35px; }

.contents .boxText div:nth-child(1),
.contents .boxText div:nth-child(2),
.contents .boxText div:nth-child(3),
.contents .boxText div:nth-child(4) { padding: 40px 15%; }
.contents .boxText div:before { top: -5px; }
.contents .boxText div h3 { margin: 0 0 20px 0; }

.topics .inner { padding: 0 15%; }
.topics .line .block,
.dirRoot .topics .line .block:first-child {
  width: 100%;
  padding: 0;
}
.topics .line > .block + .block { margin: 50px 0 0 0; }

.interview .line .block a { flex-direction: column; }
.interview .line picture {
  width: 100%;
  border-radius: 5px 5px 0 0;
}
.interview .line .block div {
  width: 100%;
  min-height: initial;
  position: relative;
  border-radius: 0 0 5px 5px;
  padding: 25px 0;
}
.interview .line h3 {
  width: 100%;
  line-height: 1.5;
}
.interview .line h3 small {
  display: flex;
  align-items: center;
  height: 25px;
  padding: 0 30px;
  background-color: var(--black);
  border-radius: 0 5px 0 0;
  position: absolute;
  top: -25px;
  left: 0;
}
.interview .line h3 b {}
.interview .line h4 {
  width: 100%;
  margin: 22px 0 0 0;
}
.interview .line p {
  width: 100%;
  margin: 25px 0 0 0;
  padding: 25px 0 0 0;
}
.interview .line p:before,
.interview .line a:hover p:before { width: 100%; }

.leadform .inner {
  flex-direction: column;
  justify-content: center;
  align-items: flex-end;
  padding: 0 15% 0 0;
}
.leadform h2 {
  align-items: flex-end;
  padding: 0 0 45px 0;
  position: relative;
  top: initial;
  left: initial;
  transform: none;
}
.leadform .inner div {
  width: 100%;
  margin: 3px 0;
  position: relative;
}
.leadform .inner div:before {
  content: '';
  width: 235px;
  height: 235px;
  background-color: var(--yellow);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: -30px;
  transform: translate(0,-35px);
}
.leadform .inner div > * {
  align-items: flex-start;
  width: 100%;
  height: initial;
  padding: 55px 0 60px 25%;
  border-radius: 0 5px 5px 0;
}
.leadform .inner div > * > * {
  position: relative;
  z-index: 2;
}
.leadform .inner h3 { font-size: 16px; }
.leadform .inner p {
  margin: 25px 0;
  font-size: 12px;
  text-align: left;
}
.leadform .inner sub {
  justify-content: flex-start;
  width: 105%;
}
.leadform .inner a:hover sub { width: 110%; }

.office .maps .block { padding: 0 0 0 15%; }

.outline dl { padding: 25px 0; }
.outline .line p { font-size: 12px; }

.verProf .frame {
  flex-direction: column;
  width: 50%;
}
.verProf picture {
  width: 100%;
  padding: 0;
}
.verProf .boxText {
  width: 100%;
  padding: 45px 0 0 0;
}

}


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

header.dirRoot {
  position: relative;
  top: initial;
  z-index: 1;
}
header.dirRoot h1 {
  width: 65vw;
  min-width: initial;
  right: initial;
  opacity: 1;
}
header.dirRoot h2 {
  width: 150px;
  left: 25px;
}
header.dirRoot ul {
  bottom: 45px;
  right: 25px;
}
header ul li { width: 23px; }

.contents .inner { padding: 80px 0 55px; }
.contents h2 { padding: 0 0 30px 0; }
.contents .boxText div:nth-child(1),
.contents .boxText div:nth-child(2),
.contents .boxText div:nth-child(3),
.contents .boxText div:nth-child(4) { padding: 35px 10%; }
.contents .boxText div:before { top: -12px; }

.topics { padding: 80px 0 100px }
.topics h2 { padding: 0 0 50px 0; }
.topics .inner { padding: 0 10%; }
.topics .line div,
.dirRoot .topics .line .block:first-child div { padding: 15px 0 0 0; }
.topics .line time,
.dirRoot .topics .line .block:first-child time { letter-spacing: .03rem; }
.topics .line h3,
.dirRoot .topics .line .block:first-child h3 {
  margin: 5px 0;
  font-size: 13px;
  letter-spacing: 0;
}
.topics .line sub,
.dirRoot .topics .line .block:first-child sub { font-size: 9px; }

.partner { padding: 80px 0 100px; }
.partner .ttlBasic i { letter-spacing: -.06rem; }
.partner .ttlBasic b { margin: 12px 0 0 0; }
.sliderProf { padding: 50px 0 25px 0; }
.sliderProf .slick-arrow {
  width: 40px;
  top: -8px;
}
.sliderProf .verPrev.slick-arrow { left: 10%; }
.sliderProf .verNext.slick-arrow { right: 10%; }
.listProf picture { margin: 0 0 20px 0; }
.listProf h3 {
  width: 100%;
  padding: 12px 0 0 0;
  margin: 12px 0 0 0;
}
.listProf h3 > * { letter-spacing: .03rem; }

.interview { padding: 80px 0 60px; }
.interview .inner { padding: 0 10%; }
.interview h2 i {
  margin: 0 0 20px 0;
  font-size: 11px;
  letter-spacing: .03rem;
}
.interview h2 img { width: 125px; }
.interview .line .block { padding: 0 0 45px 0; }
.interview .line .block div { padding: 20px 0; }
.interview .line h3 small {
  height: 22px;
  padding: 0 18px;
  font-size: 9px;
  letter-spacing: .03rem;
  top: -22px;
}
.interview .line h3 i {
  font-size: 14px;
  margin: 0 0 9px 0;
}
.interview .line h3 b { font-size: 8px; }
.interview .line h4 {
  margin: 12px 0 0 0;
  font-size: 10px;
}
.interview .line p {
  margin: 22px 0 0 0;
  padding: 20px 0 0 0;
  font-size: 8px;
}

.leadform { padding: 80px 0; }
.leadform .inner { padding: 0 10% 0 0; }
.leadform h2 { padding: 0 0 5px 0; }
.leadform .inner div:before {
  width: 70vw;
  height: 70vw;
  background-color: var(--white);
  left: initial;
  transform: translate(0,-50%);
}
.leadform .inner div:nth-child(2):before { left: -65px; }
.leadform .inner div:nth-child(3):before { right: -65px; }
.leadform .inner div { margin: 12px 0; }
.leadform .inner div > * {
  padding: 50px 0 50px 22.5%;
  background-color: initial;
}
.leadform .inner h3 {
  font-size: 15px;
  letter-spacing: .08rem;
}
.leadform .inner p { margin: 22px 0; }
.leadform .inner sub { width: 100%; }

.office { padding: 80px 0 100px; }
.office .maps .block { padding: 0 10%; }
.office .maps .block picture { height: 300px; }
.office .maps .block .office_info h3 i { font-size: 22px; }
.office .maps .block .office_info h3 b { font-size: 12px; }
.office .maps .block .office_info p {
  font-size: 12px;
  letter-spacing: 0;
}
.outline { padding: 80px 0 50px; }
.outline .line { padding: 0 10%; }
.outline dl {
  flex-direction: column;
  padding: 25px 0 30px;
}
.outline dl dt {
  width: 100%;
  padding: 0 0 0 12px;
  position: relative;
}
.outline dl dt:before {
  content: '';
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 7px 3px 0 3px;
  border-color: var(--black) transparent transparent transparent;
  position: absolute;
  top: 9px;
  left: 0;
}
.outline dl dd { width: 100%; }
.outline dl dd > a + a { margin: 9px 0 0 0; }
.outline dl .sns { margin: 8px 0 0 0; }
.outline dl dd a img { width: 20px; height: 20px; }
.outline .line p {
  font-size: 11px;
  letter-spacing: .02rem;
}
.outline .line p > i + i { margin: 0 0 0 10px; }

.verArticle { margin: 100px 0 25px 0; }
.verArticle .intro h3 { width: 135px; }
.verArticle .intro h4 b { text-align: justify; }
.verArticle .intro h4 br { display: none; }

.verArticle .topics { padding: 90px 0 60px 0; }
.verArticle .topics .line { width: 100%; }

.verArticle .interview { padding: 10px 0 60px 0; }

.verArticle .listProf { padding: 0 0 60px 0; }
.verArticle .listProf .line {
  width: 100%;
  padding: 65px 0 0;
}
.verArticle .listProf .line .block { padding: 0; }
.verArticle .listProf .line .block + .block { margin: 50px 0 0 0; }
.verProf .frame { width: 75%; }
.verProf .boxText { padding: 25px 0 0 0; }
.verProf .boxText h3 i { font-size: 16px; }
.verProf .boxText h3 b {
  margin: 3px 0 0 0;
  font-size: 11px;
}
.verProf .boxText h4 {
  padding: 8px 0 0 0;
  font-size: 10px;
}
.verProf .boxText h4 b {
  margin: 0 0 0 5px;
  padding: 0 0 0 8px;
}
.history {
  padding: 20px 0 0 0;
  margin: 20px 0 0 0;
}
.history li {
  flex-direction: column;
  letter-spacing: 0;
}
.history li i,
.history li b { width: 100%; }
.history li b { margin: 25px 0 0 0; }
.history > li + li { margin: 25px 0 0 0; }
.links {
  padding: 20px 0 0 0;
  margin: 20px 0 0 0;  
}
.links li > * { font-size: 11px; }
.links li b:after { top: 6px; }

.topics .line a:hover picture img,
.listProf a:hover picture img,
.interview .line a:hover picture img { transform: scale(1); }


}


