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

#TagIcons a {
  align-items: flex-start;
}
.spinner-box {
  width: 100px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: transparent;
}
@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(359deg);
  }
}
.circle-border {
  width: 50px;
  height: 50px;
  padding: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  background: #d66f28;
  animation: none;
}
.circle-core {
  width: 100%;
  height: 100%;
  background-color: #4b2510;
  border-radius: 50%;
}
.card.is-hidden {
  visibility: hidden;
  opacity: 0;
  height: 0;
  padding: 0;
}
.cage.fd-column {
  flex-direction: column;
}
.cage.fd-column .row {
  display: flex;
}
.row.j-center {
  justify-content: center;
}
#page404 .moreNews,
#thanks .moreNews {
  margin-top: 94px;
}
.moreNews .block25 a {
  display: flex;
  color: white;
  padding: 10px 25px;
  align-items: center;
  justify-content: center;
  background-color: #683913;
}
.moreNews .block25 a img {
  width: 25px;
  margin-left: 10px;
}
#page404 .ppCage,
#thanks .cage {
  padding: 0 0 170px 0;
}
.tac {
  text-align: center;
}
body#InterviewInfo section#ContentInfo .row.content1.content-tit {
  margin-bottom: 80px;
}
body#InterviewInfo section#ContentInfo .row.content1 .sideCard {
  margin-top: 12px;
}
body#Contact .row label span:not(.mwform-checkbox-field-text, .mwform-radio-field-text){
  padding: 3px 8px;
  font-size: 10px;
  margin-left: 8px;
  font-family: noto-sans-cjk-jp;
  display: inline-block;
  border-radius: 5px;
  color: white;
  background-color: #af1515;
}
body#Contact .row.checkboxBlock .privacy-box label {
  display: flex;
  justify-content: center;
  gap: 10px;
}
body#Contact .row.checkboxBlock .checkbox-multy-box label {
  display: flex;
  gap: 10px;
}
form #buttonGreen .genButton .btnName::after {
  content: "Check";
}
#confirmWrap form #buttonGreen .genButton .btnName::after {
  content: "Send";
}
body#Contact .row.submit #buttonGreen .genButton {
  position: relative;
}
body#Contact .row.submit input {
  background-color: transparent;
  cursor: pointer;
  font-size: 13px;
  position: absolute;
  width: 100%;
  height: 125%;
  left: 0;
  top: 0;
  padding: 110% 0 0 0 !important;
  text-align: center;
}
.mw_wp_form .error {
  width: 100%;
  padding: 10px;
}
.mw_wp_form .checkboxBlock .error {
  text-align: center;
}
body#Contact #contactWrap .mw_wp_form.mw_wp_form_input .row .infoCheck {
  background-color: transparent;
  padding: 0;
  width: 100%;
}
body#Contact #contactWrap .mw_wp_form.mw_wp_form_input .row .infoCheck.flex {
  display: flex;
  justify-content: space-between;
}

body#Contact #confirmWrap .row label {
  width: 25%;
  font-size: 22px;
}
body#Contact #confirmWrap .row label > span {
  display: none;
}
body#Contact #confirmWrap .row .infoCheck,
body#Contact #confirmWrap .row .wrapper {
  width: 75%;
}
body#Contact #confirmWrap .row .wrapper {
  border: none;
  font-size: 13px;
  color: #683913;
  padding: 25px 35px;
  background-color: #ededee;
  line-height: 22px;
}
body#Contact #confirmWrap .row.checkboxBlock {
  display: none;
}
body#Contact #confirmWrap #mw_wp_form_mw-wp-form-5485 .row.checkboxBlock {
  display: flex;
}
section#InterviewList .contentBlock .block100 a.card .content .lable {
  letter-spacing: 0.05em;
  line-height: 1.3;
  padding: 5px 10px 7px 10px;
}
body#InterviewInfo section#ContentInfo .content1 {
  flex-wrap: wrap;
  margin-bottom: 40px;
}
body#InterviewInfo section#ContentInfo .content1 p {
  font-size: 15px;
  line-height: 38px;
}

body#InterviewInfo section#ContentInfo .content1 .sideCard {
  width: 80%;
  margin-top: 12px;
}
.ml_auto {
  margin-left: auto;
}
.mr_auto {
  margin-right: auto;
}
body#Blog #Content h2.wp-block-heading {
  font-size: 24px;
  font-weight: 600;
  line-height: 30px;
}
body#InterviewInfo section#ContentInfo h3.title,
body#Blog #Content h3.title {
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  padding: 30px 0;
  margin-bottom: 35px;
  border-top: 1px solid #683913;
  border-bottom: 1px solid #683913;
  font-weight: 500;
}
body#InterviewInfo section#ContentInfo h4.rowTitle,
body#Blog #Content h4.rowTitle {
  font-size: 16px;
  letter-spacing: 2px;
  font-weight: 500;
  padding-bottom: 20px;
  margin-bottom: 30px;
  line-height: 30px;
  border-bottom: 1px solid #683913;
}
body#Blog #Content h5 {
  font-size: 16px;
  font-weight: 600;
  line-height: 30px;
  margin-bottom: 0.5em;
}
body#InterviewInfo section#ContentInfo ul,
body#Blog #Content ul,
body#Blog #Content ol {
  margin-bottom: 35px;
}
body#InterviewInfo section#ContentInfo ul li,
body#Blog #Content ul li,
body#Blog #Content ol li {
  font-size: 14px;
  position: relative;
  margin-bottom: 15px;
  padding: 0 0 0 18px;
  line-height: 1.4;
}

body#InterviewInfo section#ContentInfo ul li::before,
body#Blog #Content ul li::before {
  content: "";
  top: 2px;
  left: 0;
  height: 12px;
  width: 12px;
  display: block;
  position: absolute;
  border-radius: 100%;
  background-color: #683913;
}
body#Blog #Content ol {
  counter-reset: number 0;
}
body#Blog #Content ol li:before {
  counter-increment: number 1;
  content: counter(number) ".";
  font-weight: 600;
  left: 0;
  position: absolute;
}
body#Blog section#Content .cage .contentBlock p.jp {
  font-size: 13px;
  line-height: 26px;
  margin-bottom: 40px;
}
body#InterviewInfo section#ContentInfo p.bold,
body#Blog section#Content .cage .contentBlock p.bold {
  font-size: 15px;
  line-height: 27px;
  font-weight: 600;
}

body#InterviewInfo section#ContentInfo .row.videoBlock {
  position: relative;
  margin-bottom: 100px;
}
body#InterviewInfo
  section#ContentInfo
  .row.videoBlock
  #video-background
  #interviewVideo {
  width: 100%;
}
body#InterviewInfo section#ContentInfo .row.videoBlock .mask {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(0, 0, 0, 0.2);
}
body#InterviewInfo section#ContentInfo .row.videoBlock .mask.playActive {
  opacity: 0;
  height: 90%;
}
body#InterviewInfo section#ContentInfo .row.videoBlock .mask .viewMore {
  right: 15%;
  top: calc(50% - 50px);
  text-align: center;
  position: absolute;
  width: 100px;
  height: 100px;
  display: flex;
  color: white;
  border-radius: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  border: 1px solid white;
  transition: 0.5s ease-in-out;
}
body#InterviewInfo section#ContentInfo .row.videoBlock .mask .viewMore span {
  display: block;
  width: 100%;
  font-size: 17px;
  letter-spacing: 2px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  margin-bottom: 10px;
}
body#InterviewInfo section#ContentInfo .row.videoBlock .mask .viewMore img {
  width: 15px;
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}
body#InterviewInfo section#ContentInfo .row + .content-tit {
  margin-top: 180px;
}

#buttonGreen .genButton .btnName a {
  color: #fff;
}

body#Blog section#BlogTitle .cage .blogTitle h1 {
  font-size: 34px;
  line-height: 60px;
  margin-bottom: 20px;
  font-weight: 400;
}

body#Blog .row.others {
  margin-top: 100px;
}
body#Blog section#Content .cage .contentBlock:nth-of-type(1) {
  margin-top: 80px;
}
body#Blog section#Content .cage .MvBlock + .contentBlock {
  margin-top: 0;
}
body#Blog section#Content .cage .contentBlock .visual figure {
  width: 80%;
  margin: auto;
}
body#Blog section#Content .cage .contentBlock .visual figure img {
  width: 100%;
}
body#Blog section#Content .cage .contentBlock .no {
  font-size: 32px;
  letter-spacing: 2px;
}
body#Blog
  section#Content
  .cage
  .contentBlock
  .wp-block-group__inner-container
  > .wp-block-columns {
  margin-top: 40px;
  margin-bottom: 60px;
}
body#Blog
  section#Content
  .cage
  .contentBlock
  .wp-block-group__inner-container
  > .wp-block-columns
  .wp-block-column
  > *:last-child {
  margin-bottom: 0;
}
body#Pages .pageCage .block75 .block.scroller {
  overflow-x: auto;
}
body#Blog section#Recommended .recommendedRow a {
  color: #683913;
}
body#Blog section#Recommended .recommendedRow a .imgbox {
  width: 100%;
  height: auto;
  aspect-ratio: 1/1;
}
body#Blog section#Recommended .recommendedRow a .imgbox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.wp-block-columns.gap20 {
  gap: 20px;
}
body#Blog #buttonGreen {
  gap: 20px;
  margin-top: 40px;
}
body#Blog section#Recommended .others .genButton {
  margin: 0;
}
body#Blog section#Content > .cage:first-child > .contentBlock:nth-of-type(1) {
  margin-top: 0;
}
body#Blog section#Content .lkc-info {
  white-space: normal;
}

.column-page .cage {
  padding: 0 30px;
}
.column-page .cage > .wp-block-image {
  margin-bottom: 40px;
}
.column-page .cage > h2:not(:first-child) {
  margin-top: 80px;
}
.column-page .cage > p:not(:last-child) {
  margin-bottom: 1em;
}
.column-page .cage > h3 {
  font-size: 20px;
  line-height: 30px;
  text-align: center;
  padding: 30px 0;
  margin-bottom: 35px;
  border-top: 1px solid #683913;
  border-bottom: 1px solid #683913;
  font-weight: 500;
}
.column-page .cage > h3:not(:first-child) {
  margin-top: 60px;
}
.column-page .cage > h4 {
  font-size: 16px;
  letter-spacing: 2px;
  font-weight: 500;
  padding-bottom: 20px;
  margin-bottom: 30px;
  line-height: 30px;
  border-bottom: 1px solid #683913;
}
.column-page .cage > h4:not(:first-child) {
  margin-top: 40px;
}
section#InterviewList .contentBlock .block100 {
  gap: 50px 40px;
  justify-content: flex-start;
}
section#InterviewList .contentBlock .block100 a.card {
  margin-bottom: 30px;
  width: calc(100% / 3 - 80px / 3);
}
section#InterviewList .contentBlock .block100 a.card.is-hidden {
  display: none;
}
section#Interview #video-background {
  z-index: 0;
  transform: translate3d(0, 0, 0);
}
section#Interview #video-background .video-box {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
section#Interview #video-background img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 0;
  opacity: 0;
  transition: 0.5s;
  transition-delay: 0.5s;
}
section#Interview #video-background.goplay img {
  opacity: 1;
}
section#Interview #video-background video {
  width: 100vw;
  height: 100vh;
  object-fit: cover;
  object-position: center;
  position: relative;
  z-index: 1;
}
section#Interview #video-background.goplay .video-box {
  opacity: 0;
}
section#Interview #video-background {
  position: relative;
}
section#Interview #video-background::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: rgba(0, 0, 0, 0.25);
  z-index: 11;
}
.section-wrap {
  position: relative;
}
.section-wrap .interviewlink {
  align-items: center;
  display: inline-flex;
  width: 200px;
  height: 27px;
  position: absolute;
  left: 10%;
  top: 50px;
  z-index: 13;
}
.section-wrap .interviewlink a {
  display: inline-block;
  font-size: 0;
}
.section-wrap .interviewlink img {
  height: 13px;
  margin-left: 10px;
  margin-top: 7px;
  width: auto;
}
.section-wrap .interviewlink a img {
  height: 28px;
  margin-top: 2px;
  width: 210px;
}
section#News a.newsRow.show.is-hidden {
  display: none;
  opacity: 0;
  transition: opacity 0.5s ease 0.3s;
}
body#NewsPage #Tabs .block100 {
  justify-content: center;
}

body#Pages .pageCage .block75 table {
  min-width: 0;
}
body#Pages .pageCage .block75 .bookSales {
  align-items: flex-start;
}
body#Pages .pageCage .block75 .bookSales .book img {
  height: 100%;
  max-height: inherit;
  max-width: 329px;
  object-fit: contain;
  width: 100%;
}
body#Pages .pageCage {
  position: relative;
  z-index: 11;
}
body#Pages .pageCage .block75 .cardHolder .card,
body#Pages .pageCage .block75 .btnList.white a {
  background-color: #fff;
}
#comingsoon {
  display: none;
  width: 100%;
}
#comingsoon p {
  font-size: 6vw;
  text-align: center;
  opacity: 0;
  transition: opacity 0.3s ease 0.3s;
}
#comingsoon.view {
  display: block;
}
#comingsoon.view p {
  opacity: 0.6;
}

body#AboutPage section#Message .cage .block50 {
  margin-left: auto;
  margin-right: auto;
}
/**safariデバッグ**/
a.KVbtn {
  overflow: hidden;
}
a.KVbtn::after,
body#Pages .pageCage .block75 .btnList.green a::before {
  border-radius: 10px;
}
body .textColors {
  filter: blur(0);
}
body#Pages .pageCage .block25 .titleBlock {
  overflow: hidden;
}
body#Pages .pageCage .block25 .titleBlock::before {
  border-radius: 15px;
}
#MenuButton .bar {
  height: 1px;
  overflow: hidden;
  box-sizing: border-box;
}

/**Andoroidデバッグ**/
a.KVbtn .arrow {
  width: calc(40 / 428 * 100vw);
  z-index: 1;
  position: relative;
}
body#Contact .row input,
body#Contact .row textarea,
body#Contact .row select,
body#Contact .row .infoCheck {
  padding: calc(20 / 428 * 100vw) calc(10 / 428 * 100vw);
}
body#Contact .row input,
body#Contact .row textarea {
  font-weight: 700;
}
body#Contact .row input::placeholder,
body#Contact .row textarea::placeholder {
  font-weight: 400;
}
body#InterviewPage .navigation,
body#NewsPage .navigation {
  align-items: center;
  display: flex;
  flex-direction: column;
  margin-bottom: 30px;
  margin-top: 0;
}
body#InterviewPage
  .navigation
  nav.navigation
  > div.nav-links
  > .page-numbers
  body#NewsPage
  .navigation
  nav.navigation
  > div.nav-links
  > .page-numbers {
  margin: 10px 5px;
}
body#Blog section#Content .wp-block-gallery.wp-block-gallery-1 img {
  height: auto;
}
body#Blog section#Content .wp-block-spacer {
  height: 50px !important;
}
body#Blog section#Content .wp-block-image {
  margin-bottom: 20px;
}
nav.navigation > div.nav-links > a.prev,
nav.navigation > div.nav-links > a.next {
  font-size: 16px !important;
}
nav.navigation > div.nav-links > .page-numbers {
  padding-top: 5px;
}
body#Contact #confirmWrap .row .infoCheck {
  font-weight: 700;
  width: 100%;
}
body#Contact #confirmWrap .row {
  margin-bottom: 15px;
}
body#Contact #confirmWrap .row label {
  margin-bottom: 5px;
}
body#Contact #confirmWrap .row .wrapper {
  width: 100%;
}
.outlineBanner img {
  height: auto;
  max-width: 100%;
}
.pcDisplay {
  display: block;
}
.spDisplay {
  display: none;
}
.mwform-tel-field {
  align-items: center;
  box-sizing: border-box;
  display: inline-flex;
  font-size: 0;
  position: relative;
}
.mwform-tel-field::before,
.mwform-tel-field::after {
  background-color: #683913;
  content: "";
  display: inline-block;
  height: 2px;
  margin-left: 3px;
  margin-right: 3px;
  order: 2;
  width: 25px;
}
.mwform-tel-field::after {
  order: 4;
}
.mwform-tel-field input:first-child {
  order: 1;
}
.mwform-tel-field input:nth-child(2) {
  order: 3;
}
.mwform-tel-field input:last-child {
  order: 5;
}
.row.checkboxBlock .checkbox-multy-box {
  margin-bottom: 20px;
}
body#Contact .row.checkboxBlock .checkbox-multy-box label {
  align-items: flex-start;
  display: flex;
  font-size: 16px;
}
body#Contact .row.checkboxBlock .checkbox-multy-box input {
  margin-top: -1px;
}
.row.checkboxBlock .checkbox-multy-box label {
  padding-bottom: 0 !important;
}
.checkbox-multy-box .vertical-item + .vertical-item {
  margin-top: 0 !important;
}
.checkbox-multy-box .mwform-checkbox-field.horizontal-item {
  display: block;
  margin-left: 10px;
}
body#Contact .row.checkboxBlock .mwform-checkbox-field.horizontal-item label {
  align-items: flex-start;
  font-size: 16px;
}
body#Contact .row.checkboxBlock input {
  margin-top: 0;
}
body#Contact #cusConfirmWrap .row.checkboxBlock {
  display: block;
}
body#Contact #cusConfirmWrap .row .infoCheck {
  padding: 10px !important;
}
body#Contact #cusConfirmWrap .row.submit {
  margin-bottom: 40px;
}
body#Contact #cusConfirmWrap .row label span:not(.mwform-checkbox-field-text) {
  display: none;
}
body#Contact #contactWrap input[type="checkbox"] {
  height: 15px;
  padding: 0 !important;
  width: 15px;
}
.subTitle.jp a {
  color: #683913;
  text-decoration: underline;
}
.jp.fw400 {
  font-weight: 400;
}
.aboutInfo {
  display: flex;
  padding-top: 100px;
}
.aboutInfo p {
  flex: 1;
}
.aboutInfo img {
  margin-left: 70px;
  max-width: 50%;
  width: 485px;
}
.btnRadius {
  background: url(../images/arrow-white.svg) no-repeat center right 15px/16px;
  border: 1px solid #8f4a20;
  border-radius: 100vw;
  color: #8f4a20;
  display: inline-block;
  font-size: 13px;
  line-height: 1;
  padding: 10px 35px 10px 20px;
  min-width: 200px;
  margin-top: 10px;
  margin-left: auto;
  text-align: center;
}
.aboutAiInfo {
  padding-left: 37px !important;
}
.aboutAiInfo .title,
.aboutAiInfo .jp {
  font-size: 12px;
  text-align: left;
}
.tableTtl {
  font-size: 30px;
  padding-left: 70px;
  position: relative;
}
.tableTtl::before {
  background-color: #683913;
  border-radius: 50%;
  content: "";
  display: inline-block;
  height: 30px;
  left: 30px;
  position: absolute;
  top: 0;
  width: 30px;
}
.whatWeDoTtl {
  font-family: noto-sans-cjk-jp;
  font-size: 26px;
  line-height: 44px;
  margin-bottom: 10px;
}
.whatWeDoTtl small {
  display: block;
  font-style: normal;
  font-size: 20px;
  line-height: 1;
  margin-bottom: 10px;
  padding-left: 15px;
  position: relative;
}
.whatWeDoTtl small::before {
  background-color: #683913;
  content: "";
  height: 22px;
  left: 0;
  display: inline-block;
  position: absolute;
  top: 0;
  width: 5px;
}
body section#About .cage .block50 .bigTitle {
  padding-left: 30px;
}
.aboutAi .btnRadius:hover,
section#whatWeDo .btnRadius:hover {
  background:  #683913 url(../images/arrow-white.svg) no-repeat center right 15px/16px;
  color: #fff;
}
body section#About .aboutAiInfo {
  margin-top: 30px;
}
.aboutAiBox {
  position: relative;
}
.aboutAi .bigAI {
  bottom: 0;
  display: inline-block;
  position: absolute;
  right: 0;
  transform: translate(-35%, 15%);
}
body section#About .cage .block25 .img {
  margin-top: 225px;
}
#bigTitle1, #bigTitle2, #bigTitle3, #bigTitle4 {
  visibility: hidden !important;
}
#bigTitle1.show, #bigTitle2.show, #bigTitle3.show, #bigTitle4.show {
  visibility: visible !important;
}
body#AboutPage section#KV .content p.jp {
  text-align: justify;
  padding-right: 20px;
  padding-left: 10px;
}
body#AboutPage section#KV .cage {
  padding-left: 20px;
}
body#Pages .pageCage .block75 .block ul.groupexams-list li {
  line-height: 1.3;
}
body#Pages .pageCage .block75 .block ul.groupexams-list {
  height: calc(100% - 30px - 1rem);
}
@media only screen and (max-width: 1280px) {
  body .cage {
    width: 90%;
  }
  body section#About .cage .block50 .bigTitle {
    font-size: calc(79 / 1280 * 100vw);
    line-height: 1em;
  }
  body .cage .block25,
  body .cage .block50,
  body .cage .block100 {
    padding: 0 2.5%;
  }
  body#Pages .pageCage .block75 table.template04 th:nth-child(1),
  body#Pages .pageCage .block75 table.template04 td:nth-child(1) {
    width: 20%;
  }
  body#Pages .pageCage .block75 table.template04 th,
  body#Pages .pageCage .block75 table.template04 td {
    padding: 10px 15px;
  }
  body#Pages .pageCage .block75 table.template04 th:nth-child(3),
  body#Pages .pageCage .block75 table.template04 td:nth-child(3) {
    width: 35%;
  }
  body#Pages .pageCage .block75 table.template04 th.mainCol,
  body#Pages .pageCage .block75 table.template04 td.mainCol {
    font-size: 12px;
  }
  body#Pages .pageCage .block75 .bookSales .content {
    width: 48%;
  }
  body#AboutPage section#KV h1.bigTitle {
    font-size: calc(79 / 1280 * 100vw);
    transform-origin: left;
    margin-left: 0;
    line-height: 1;
  }
  body#AboutPage section#Message .sectionTitle {
    font-size: calc(100 / 1280 * 100vw);
  }
}
@media only screen and (max-width: 1024px) {
  .aboutAi .bigAI {
    transform: translate(-50%, 0);
  }
}
@media only screen and (max-width: 850px) {
  .aboutAi {
    width: 100% !important;
  }
  .aboutAi .bigAI {
    transform: translate(0%, 15%);
  }  
  body section#About .cage .block50 .bigTitle {
    height: auto !important;
    font-size: calc(70 / 821* 100vw);
    line-height: 1em;
  }
  .aboutAiInfo {
    width: 100% !important;
  }
}
@media only screen and (min-width: 822px) {
  body#InterviewInfo
    section#ContentInfo
    .row.content2
    .infoCard
    .profile
    .block {
    width: 100%;
  }
  body#InterviewInfo section#ContentInfo .row.content2 .infoCard {
    display: flex;
    gap: 60px;
    flex-flow: wrap;
    align-items: center;
  }
  body#InterviewInfo section#ContentInfo .row.content2 .infoCard .profile {
    flex-flow: column;
    width: calc(25% - 30px);
    margin-bottom: 0;
  }
  body#InterviewInfo section#ContentInfo .row.content2 .infoCard .info {
    width: calc(75% - 30px);
  }
  .max821 {
    display: none;
  }
}
@media only screen and (max-width: 821px) {
  .aboutInfo {
    display: block;
    padding-top: 20px;
  }
  .aboutInfo img {
    margin-left: 0;
    margin-top: 30px;
    max-width: 100%;
    width: 100%;
  }
  body#Blog .row.others {
    margin-top: 0;
  }
  body#InterviewInfo section#ContentInfo .content1 .sideCard {
    width: 100%;
  }
  body#InterviewInfo section#ContentInfo .row.videoBlock .mask .viewMore {
    right: auto;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 50%;
  }
  body#InterviewInfo section#ContentInfo .row.content1.content-tit {
    margin-bottom: 0;
  }
  body#InterviewInfo section#ContentInfo .row + .content-tit {
    margin-top: 20px;
  }
  body#InterviewInfo section#ContentInfo .row.videoBlock {
    margin-bottom: 40px;
  }
  body#Pages .pageCage .block75 .block.scroller {
    overflow-x: scroll;
  }
  #page404 .moreNews,
  #thanks .moreNews .block25 {
    width: 100%;
    max-width: 400px;
  }
  body#Blog
    section#Content
    .cage
    .contentBlock
    .wp-block-group__inner-container
    > .wp-block-columns {
    gap: 0.5em;
  }
  body#Blog section#Content .cage .contentBlock .linkcard {
    margin: 0 !important;
  }
  body#Blog #buttonGreen {
    gap: 20px;
    padding: 0 10px 50px 10px;
  }
  section#InterviewList .contentBlock .block100 a.card {
    width: calc(100% / 2 - 40px / 2);
  }
  body#Pages .pageCage .block75 table.template03 th,
  body#Pages .pageCage .block75 table.template03 td {
    padding: 15px 0 15px 10px;
  }
  body#Pages .pageCage .block75 table.template03 th:first-child,
  body#Pages .pageCage .block75 table.template03 td:first-child {
    white-space: nowrap;
    padding: 15px 10px 15px 0;
    width: 30%;
    text-align: left;
  }
  body#Pages .pageCage .block75 table.template04 th {
    vertical-align: middle;
  }
  body#Pages .pageCage .block75 table.template04 {
    min-width: 720px;
  }
  body#Pages .pageCage .block75 table.template04 th,
  body#Pages .pageCage .block75 table.template04 td {
    padding: 10px 15px;
  }
  body#Pages .pageCage .block75 table.template04 th:nth-child(1),
  body#Pages .pageCage .block75 table.template04 td:nth-child(1) {
    width: 16%;
  }
  body#Pages .pageCage .block75 table.template06 th:first-child,
  body#Pages .pageCage .block75 table.template06 td:first-child {
    white-space: pre-wrap;
  }
  #KVcontent .mobileKV {
    margin: 0 auto 80px auto;
  }
  section#FooterCards a {
    display: flex;
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }
  section#FooterCards a .footerTitle {
    flex-grow: 1;
  }
  body #Menu a.linkBtn.pp .sub {
    font-size: 20px;
  }
  #NewsBar {
    padding: 0 20px;
  }
  #NewsBar .content {
    width: calc(100% - 120px);
  }
  #NewsBar .content .title {
    width: calc(100% - 160px);
  }
  body#AboutPage section#KV h1.bigTitle {
    font-size: calc(79 / 821 * 100vw);
    line-height: 1;
  }
  body#AboutPage section#KV .bigAI {
    font-size: calc(350 / 821 * 100vw);
    text-align: right;
    margin-top: calc(-100 / 821 * 100vw);
    margin-bottom: calc(50 / 821 * 100vw);
  }
  body#AboutPage section#Message .sectionTitle {
    font-size: calc(100 / 821 * 100vw);
  }
  body#AboutPage section#Message .cage .block50 {
    width: 75%;
  }
  body#Pages .pageCage .block25 {
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  body#FAQ .cage.faqHolder {
    padding: 0 calc(50 / 821 * 100vw) calc(100 / 821 * 100vw);
  }
  .mwform-tel-field input {
    max-width: 120px;
  }
  body section#About {
    padding: 30px 20px 50px 20px;
  }
  section#whatWeDo .cage,
  body section#About .cage {
    padding-left: 20px;
    padding-right: 20px;
    width: 100%;
  }
  .aboutAiInfo {
    padding-left: 0 !important;
  }
  .KVbanner {
    bottom: 120px;
    transition: bottom 0.3s;
  }
  .KVbanner.mobile {
    bottom: 75px;
  }
  .KVbannerClose {
    bottom: 225px;
    transition: bottom 0.3s;
  }
  .KVbannerClose.mobile {
    bottom: 180px;
  }
  .footer_links {
    bottom: 53px;
    transition: bottom 0.3s;
  }
  .footer_links.mobile {
    bottom: 20px;
    width: calc(96% - 58px);
    left: 3%;
  }
  #KVcontent {
    padding-top: 110px;
    padding-bottom: 300px;
  }
  body section#About .cage .block25 .img {
    margin-top: 30px;
  }
  section#whatWeDo .row .block25:nth-child(2) {
    padding-top: 0;
  }
  .spDisplay {
    display: block;
  }
  .pcDisplay {
    display: none;
  }
  section#whatWeDo .row .block25 p.jp {
    font-size: 12px;
    line-height: 22px;
    margin-bottom: 10px;
  }
  section#whatWeDo .cage .btnRadius {
    margin-top: 20px;
  }
  .whatWeDoTtl {
    font-size: 15px;
    line-height: 1.4;
  }
  body#AboutPage section#KV .content p.jp {
    padding-right: 10px;
  }
  section#whatWeDo .row .block25 {
    padding-left: 0;
    padding-right: 0;
  }
}
@media only screen and (min-width: 769px) {
  .max768 {
    display: none;
  }
}
@media only screen and (max-width: 1280px) {
  body#Pages .pageCage .block75 .bookSales .content {
    width: 48%;
    margin-right: 30px;
  }
  body#Pages .pageCage .block75 .bookSales .content + .book {
    flex: 1;
  }
}
@media only screen and (max-width: 768px) {
  .aboutAiBox {
    display: block;
    text-align: center;
  }
  #KVcontent .mobileKV {
    width: 50%;
    margin: 0 auto 50px auto;
  }
  section#News .moreNews .block25 {
    padding: 0;
    width: 50%;
  }
  body#Member section#ProfileHolder .cage .profile {
    width: 50%;
  }
  body#Member section#ProfileHolder .cage.smaller .block25 {
    width: calc(100% / 3);
  }
  section#FooterCards .cards .genButton {
    max-width: 135px;
  }
}
@media only screen and (min-width: 577px) {
  .max415 {
    display: none;
  }
}
@media only screen and (max-width: 576px) {
  .outlineBanner {
    margin-bottom: 20px;
  }
  body#Pages .pageCage .block75 .bookSales .content .book {
    margin-bottom: 30px;
  }
  section#Generation .cage .row.footerBlock .box {
    text-align: left;
  }
  body#InterviewInfo
    section#ContentInfo
    .row.content2
    .infoCard
    .profile
    .block {
    width: 100%;
  }
  .mwform-tel-field {
    display: flex;
    align-items: center;
  }
  body#Contact .row {
    display: block;
  }
  body#Contact #confirmWrap .row label {
    width: 100%;
    font-size: 30px;
  }
  body#Contact #confirmWrap .row .infoCheck,
  body#Contact #confirmWrap .row .wrapper {
    width: 100%;
  }
  body#Contact .row .wrapper::after {
    right: 10px;
    width: 20px;
    top: calc(50% - 10px);
  }
  body#Contact .row .wrapper select {
    padding-right: 50px !important;
    white-space: normal;
  }
  body#Contact #contactWrap .row .wrapper::after {
    height: 35px;
    right: 20px;
    top: calc(50% - 15px);
    width: 25px;
}
  body#Blog section#BlogTitle .cage .blogTitle h1 {
    font-size: 20px;
    line-height: 1.5;
  }
  body#Blog section#BlogTitle .cage .catHolder .cat {
    padding: 5px 10px;
    margin-bottom: 30px;
    font-size: 14px;
  }
  body#Blog
    section#Content
    .cage
    .contentBlock
    .wp-block-group__inner-container
    > .wp-block-columns {
    margin-top: 40px;
    margin-bottom: 0;
  }
  body#Blog section#Content .cage .contentBlock p {
    font-size: 15px;
    line-height: 2;
  }
  body#Blog section#Content .cage .contentBlock p:not(:last-child) {
    margin-bottom: 2em;
  }
  body#Blog section#Content .cage .contentBlock p:last-child {
    margin-bottom: 0;
  }
  body#InterviewInfo section#ContentInfo h3.title,
  body#Blog #Content h3.title {
    padding: 20px 0;
  }
  body#InterviewInfo section#ContentInfo h4.rowTitle,
  body#Blog #Content h4.rowTitle {
    padding-bottom: 10px;
    margin-bottom: 1.5em;
    line-height: 1.5;
  }
  .siteCard + .siteCard {
    margin-top: 40px;
  }
  body#Blog section#BlogTitle {
    margin-bottom: 30px;
  }
  body#Blog section#Content .lkc-thumbnail {
    float: none;
  }
  body#Blog section#Content .lkc-thumbnail {
    max-width: 100%;
    text-align: center;
  }
  body#Blog section#Content .lkc-thumbnail img {
    max-width: 100%;
  }
  section#InterviewList .contentBlock .block100 a.card {
    margin-bottom: 0;
    width: 100%;
  }
  section#InterviewList .contentBlock .block100 a.card .content {
    width: 100%;
  }
  section#News a.newsRow .cage::after {
    display: none;
  }
  section#News a.newsRow:hover {
    color: inherit;
  }
  section#News a.newsRow:hover .cage .block75::after {
    width: 100%;
  }
  section#Interview .logolink {
    top: 10px;
  }
  section#whatWeDo .block100 .bigTitle {
    font-size: 13.2vw;
  }
  body footer .footerLinks .block50 .linksHolder a span {
    font-size: 1.125rem;
  }
  body #Menu a.linkBtn .sub {
    font-size: 1.125rem;
    line-height: 1.2em;
  }
  body #Menu a.linkBtn .menuTitle {
    font-size: 0.85rem;
  }
  a.KVbtn.white {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
  body #Menu a.linkBtn.pp .sub {
    font-size: 1rem;
  }
  #memberwrap {
    gap: calc(20 / 428 * 100vw);
  }
  body#Member section#ProfileHolder .cage.smaller .block25 {
    padding: 0;
    width: calc(50% - 10px);
  }
  body#Member section#ProfileHolder .cage.smaller .block25 .profileName {
    font-size: 5.5vw;
  }
  body#Member section#ProfileHolder .cage.smaller .block25 .profileNameJP {
    font-size: 17px;
    padding-bottom: calc(20 / 428 * 100vw);
  }
  body#Member section#ProfileHolder .cage.smaller .block25 .profileJob {
    font-size: 12px;
  }
  body#Member section#ProfileHolder .cage.smaller .block25 p.jp {
    font-size: 12.5px;
    line-height: 1.75;
    margin-bottom: calc(20 / 428 * 100vw);
  }
  body#Member section#ProfileHolder .cage {
    gap: calc(15 / 428 * 100vw);
  }
  body#Member section#ProfileHolder .cage .profile {
    width: 75%;
    padding: 0;
    margin: 0 auto;
  }
  body#Member section#ProfileHolder .cage .profile .profileName {
    font-size: 6.5vw;
    margin: 10px;
  }
  body#Member section#ProfileHolder .profileNameJP {
    font-size: 1.8rem;
    padding-bottom: calc(20 / 428 * 100vw);
    margin-bottom: calc(15 / 428 * 100vw);
  }
  section#News .moreNews .block25 {
    width: 100%;
  }
  body#Pages .pageCage .block75 .bookSales .content {
    width: 100%;
  }
  body#Pages .pageCage .block75 .bookSales .content .titleTag {
    margin: 20px 0 15px 0;
  }
  body#AboutPage section#KV h1.bigTitle {
    font-size: calc(40 / 428 * 100vw);
  }
  body#AboutPage section#KV .bigAI {
    text-align: center;
    font-size: calc(280 / 428 * 100vw);
    margin-top: calc(10 / 428 * 100vw);
    margin-bottom: 0;
  }
  body#AboutPage section#Message .sectionTitle {
    font-size: calc(60 / 428 * 100vw);
  }
  body#AboutPage section#Message .cage .block50 {
    width: 90%;
  }
  body#AboutPage section#Table .cage.tableContent {
    width: 81%;
    padding: 0 2.5% calc(30 / 428 * 100vw);
  }
  body#FAQ .cage.faqHolder {
    padding: 0 calc(30 / 428 * 100vw) 30px;
  }
  section#InterviewList .contentBlock .block100 {
    gap: 20px 40px;
  }
  section#News .sectionTitle {
    margin-bottom: 10px;
  }
  section#FooterCards a {
    padding: 50px 20px;
  }
  section#FooterCards a .footerTitle {
    margin-bottom: 15px;
  }
  section#FooterCards a p {
    margin-bottom: 15px;
  }
  body footer .cage .block25.footerLogo {
    width: 100%;
  }
  body#Contact .row.submit #buttonGreen {
    padding-bottom: 25px;
  }
  body#Member section#Header .block50 {
    padding-bottom: 30px;
    padding-top: 50px;
  }
  body#Member section#BigProfile .block25.content .profileNameJP {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
  body#Member section#ProfileHolder p {
    margin-bottom: 20px;
  }
  body#Member section#ProfileHolder .cage.paginations {
    padding: 30px 50px 50px;
  }
  body#Member section#ProfileHolder {
    padding-bottom: 30px;
  }
  body#NewsPage .navigation {
    margin-bottom: 0;
  }
  body#InterviewInfo .wp-block-image img {
    height: auto;
  }
  body#InterviewInfo .wp-block-spacer {
    height: 30px !important;
  }
  nav.navigation > div.nav-links > a.prev,
  nav.navigation > div.nav-links > a.next {
    font-size: 10px !important;
  }
  body#Contact #contactWrap .row.submit {
    padding-bottom: 20px;
  }
  body#Member section#ProfileHolder {
      padding-bottom: 20px;
  }
  body#Member section#ProfileHolder .cage {
      column-gap: 10px;
      justify-content: flex-start;
      margin-bottom: 50px;
      row-gap: 30px;
  }
  body#Member section#BigProfile .block25.content {
      padding-top: 0;
      transform: translateY(0) !important;
  }
  body#Member section#ProfileHolder .cage.smaller .block25,
  body#Member section#ProfileHolder .cage .profile {
      margin: 0;
      padding: 0;
      transform: translateY(0) !important;
      width: calc((100% - 10px) / 2);
  }
  body#Member section#ProfileHolder .imageBlock {
      margin-bottom: 10px;
  }
  body#Member section#ProfileHolder p {
      display: none;
  }
  body#Member section#ProfileHolder .bigProfile p {
      display: block;
  }
  body#Member section#ProfileHolder .bigProfile .cage {
      row-gap: 0;
  }
  body#Member section#ProfileHolder .profileName {
      font-size: 25px;
      margin-bottom: 5px;
  }
  body#Member section#ProfileHolder .profileNameJP {
      border-bottom-width: 0;
      font-size: 20px;
      letter-spacing: 0;
      margin-bottom: 0;
      padding-bottom: 0;
  }
  body#Member section#ProfileHolder .cage.smaller .block25 .profileNameJP {
      padding-bottom: 0;
  }
  body#Member section#BigProfile .block25.content .profileName {
      font-size: 50px;
      margin-bottom: 15px;
  }
  body#Member section#BigProfile .block25.content .profileNameJP {
      font-size: 20px;
      padding-bottom: 10px;
      margin-bottom: 10px;
  }
  body#Member section#BigProfile .block25.content .profileJob {
      font-size: 15px;
      margin-bottom: 5px;
  }
  body#Member section#BigProfile .block50 {
      margin-bottom: 20px;
  }
  body#Member .cage.profile .block25.content {
      flex: 1;
  }
  body#Member section#ProfileHolder .cage .profile .profileName {
      margin: 0;
  }
  .popup {
      background-color: #fff;
      height: 100vh;
      left: 0;
      opacity: 0;
      position: fixed;
      top: 0;
      transition: opacity 0.5s, visibility 0.5s;
      visibility: hidden;
      width: 100vw;
      z-index: 1000;
  }
  .popup.show {
      opacity: 1;
      visibility: visible;
  }
  .popupContent {
      max-height: 100vh;
      overflow-y: auto;
      padding: 50px 40px 100px;
  }
  .popupAvatar {
      display: block;
      font-size: 0;
      margin-bottom: 20px;
  }
  .popupName {
      display: block;
      color: #683913;
      font-size: 40px;
      margin-bottom: 10px;
  }
  .popupPos {
      color: #683913;
      display: block;
      font-size: 12px;
      font-family: noto-sans-cjk-jp, "sans-serif";
      font-weight: 100;
      margin-bottom: 10px;
  }
  .popupTtl {
      border-bottom: 1px solid #683913;
      color: #683913;
      display: block;
      font-family: noto-sans-cjk-jp, "sans-serif";
      font-size: 1.8rem;
      font-style: normal;
      font-weight: 100;
      margin-bottom: 10px;
      padding-bottom: 10px;
  }
  .popupInfo {
      color: #683913;
      font-family: noto-sans-cjk-jp, "sans-serif";
      font-size: 13px;
      font-weight: 100;
      line-height: 25px;
  }
  .popupClose {
      height: 35px;
      position: absolute;
      right: 5px;
      top: 5px;
      width: 35px;
  }
  .popupClose::before,
  .popupClose::after {
      background-color: #683913;
      content: "";
      border-radius: 5px;
      height: 2px;
      position: absolute;
      transform: rotate(45deg);
      top: 16px;
      width: 36px;
      width: 30px;
  }
  .popupClose::after {
      transform: rotate(-45deg);
  }
  body.popupOpen {
    overflow: hidden;
    position: fixed;
  }
  body.popupOpen > section {
    opacity: 0;
  }
  .mwform-tel-field::before,
  .mwform-tel-field::after {
    width: 15px;
  }
  .mwform-tel-field input {
    max-width: 100px;
  }
  .mw_wp_form .horizontal-item + .horizontal-item,
  .checkbox-multy-box .mwform-checkbox-field.horizontal-item {
    margin-left: 0 !important;
  }
  body#Contact .row.checkboxBlock .checkbox-multy-box label {
    gap: 0;
  }
  body#Contact .row.checkboxBlock .checkbox-multy-box label,
  body#Contact .row.checkboxBlock .mwform-checkbox-field.horizontal-item label {
    font-size: 14px;
    margin-left: 5px;
  }
  body#Contact .row.checkboxBlock input {
    margin-top: -1px;
  }
  body#Contact .row > label {
    font-size: 20px !important;
  }
  body#Contact #contactWrap input[type="checkbox"] {
    height: 13px;
    width: 13px;
  }
  body#Contact #contactWrap .privacy-box {
    margin-bottom: 20px;
  }
  body#Contact #subKV .spDisplay {
    display: block !important;
  }
  [data-enllax-ratio] {
    transform: translateY(0) !important;
  }
  .aboutInfo {
    padding-bottom: 30px;
  }
  .tableTtl {
    font-size: 20px;
    padding-left: 30px;
  }
  .tableTtl::before {
    height: 20px;
    left: 0;
    top: 5px;
    width: 20px;
  }
  section#whatWeDo .cage .content {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
  }
  .whatWeDoInfo {
    display: flex;
    flex-direction: column;
    width: calc(78% - 15px);
  }
  section#whatWeDo .row .block25 .img {
    background-position: center center;
    background-size: cover;
    margin-bottom: 0;
    padding-top: calc(1000 * 43% / 600);
    width: 22%;
  }
  section#whatWeDo .cage .btnRadius {
    min-width: inherit;
    margin-top: auto;
    width: 100%;
  }
  .whatWeDoTtl small {
    font-size: 12.5px;
    padding-left: 10px;
  }
  .whatWeDoTtl small::before {
    height: 13px;
    top: 1px;
    width: 5px;
  }
  body section#About .cage .block50 .bigTitle {
    padding-left: 0;
    text-align: left;
  }
  .aboutAi .bigAI {
    bottom: 0;
    display: inline-block;
    line-height: 0.9;
    font-size: 110px;
    position: absolute;
    right: 0;
  }
  body section#About .aboutAiInfo {
    margin-top: 0;
  }
  section#whatWeDo .block100 .bigTitle {
    font-size: 13.2vw;
    margin-bottom: 5px;
  }
  section#whatWeDo .cage .block100 {
    margin-bottom: 20px;
  }
}
