@charset "utf-8";
/* CSS Document */

/* -------------------------
/* Created date: 2024.10.17 
/* Created user: yamaguchi 
/* Last up date: 2024.10.17
/* Last up date user: yamaguchi
/* for sp and pc
--------------------------*/
:root {
  --paddingMax: 90px;
  --paddingMid: 60px;
  --paddingMin: 30px;
  --paddingMinMin: 15px;
}

body {
  background: url('https://s-kyogikai.com/img/module/layout/bg_confetti.png') center / auto repeat;
}

.corpContens {
  margin: 0 auto;
  padding-top: 1rem;
  max-width: 1400px;
}

.firstHd {
  display: block;
  padding-top: 0;
  border-bottom: 1px solid #333;

  h2, p {
    display: inline;
  }
}

.corpHead {
  display: grid;
  gap: 5px;
  margin: 0 auto;
  padding: 5px var(--paddingMinMin);
  width: 100%;
  background: #fff;
}

.corpBox .corpPhoto {
  margin: 0 auto;
  padding: 0 1.5rem;
  text-align: center;
}

.corpBox .corpPhoto figure {
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.corpBox .corpPhoto img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.corpBox .corpBtns {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin: 10px auto 1.5rem;
  padding: 0 var(--paddingMinMin);
  width: 100%;
  max-width: 600px;
  container: scBtns / inline-size;
}

.corpBox .corpBtns .corpBtn,
.corpBox .corpBtns .offerBtn {
  position: relative;
  display: grid;
  width: 100%;
  color: #fff;
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
}

.corpBox .corpBtns .corpBtn.off,
.corpBox .corpBtns .offerBtn.off {
  place-content: center;
  padding: 5px 10px;
  width: 100%;
  height: 100%;
  min-height: 2.5em;
  border-radius: 0.5rem;
  background: rgb(var(--naviGray));
  color: #fff;
}

.corpBox .corpBtns .corpBtn a,
.corpBox .corpBtns .offerBtn a {
  position: relative;
  display: grid;
  place-content: center;
  gap: 5px;
  padding: 5px 10px;
  width: 100%;
  height: 100%;
  min-height: 2.5em;
  background: rgb(var(--kyo-color-04));
  border-radius: 0.5rem;
  box-shadow: var(--btnSahdow);
  line-height: 1.2;
  font-weight: bold;
  text-align: center;
  color: #fff;
}

.corpBox .corpBtns .offerBtn a {
  background: rgb(var(--kyo-color-01));
}


/* tag List */
.corpBox .tagsList {
  position: relative;
  z-index: 1;
  margin: 0 auto var(--paddingMid);
  padding: 0 var(--paddingMinMin);
  max-width: var(--innerWidth);
}

.corpBox .tagsList h2 {
  margin: 0 auto 1.5rem;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
}

.corpBox .tagsList ul {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
  width: fit-content;
  gap: 5px;
  line-height: 1.2;
}

.corpBox .tagsList .next {
  cursor: pointer;
  position: relative;
  display: block;
  margin: 10px auto 0;
  padding: 0 5px 0 2em;
  width: fit-content;
  text-align: center;
  font-weight: bold;
}

.corpBox .tagsList .next::before,
.corpBox .tagsList .next::after {
  content: '';
  top: 50%;
  left: 0.5em;
  width: 1em;
  height: 2px;
  background: #333;
  transform: translate(0, -50%);
  transition: all 0.25s 0s ease;
}

.corpBox .tagsList .next::after {
  transform: translate(0, -50%) rotate(90deg) scale(0, 1);
}

.corpBox .tagsList.overline .next::after {
  transform: translate(0, -50%) rotate(90deg) scale(1, 1);
}

.corpBox .tagsList li {
  display: inline-block;
  letter-spacing: normal;
}

.corpBox .tagsList.overline li {
  margin: 0 5px 5px 0;
}

.corpBox .tagsList li span {
  display: block;
  padding: 5px 10px;
  background: #f5eef8;
  border-radius: 2em;
  font-size: 1.3rem;
}


/* menu Links */
.corpBox .corpGloMenu ul {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 4px 3px;
  margin: 0 auto var(--paddingMid);
  padding: 0 var(--paddingMinMin);
}

.corpBox .corpGloMenu li {
  position: relative;
}

.corpBox .corpGloMenu .inner {
  display: grid;
  place-content: center;
  padding: 5px 3px;
  height: 100%;
  min-height: 32px;
  border: solid 1px rgb(var(--kyo-color-02));
  border-radius: 0.5rem;
  background: #fff;
  font-weight: bold;
  box-shadow: var(--btnSahdow);
  line-height: 1.1;
  color: rgb(var(--kyo-color-04));
  text-align: center;
}

.corpBox .corpGloMenu .on .inner {
  background: #fff;
  border-color: #fff;
  box-shadow: none;
  color: rgb(var(--kyo-color-04));
}

.corpBox .corpGloMenu .off .inner {
  background: rgb(var(--naviGray));
  border-color: rgb(var(--naviGray));
  box-shadow: none;
  color: #fff;
}

@container corpBox (width > 675px) {
  .scMainBtn {
    gap: 15px;
  }

  .scMainBtn .opBtn a,
  .scFoot .saveSchoolBtn label {
    min-height: 50px;
  }

  .corpBox .corpGloMenu ul {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(1px, 1fr));
  }

  .corpBox .corpGloMenu .icon {
    text-align: center;
  }

  .corpBox .corpGloMenu .inner {
    min-height: 40px;
  }
}


.corpBox .corpSection {
  margin: 0 auto var(--paddingMax);
}

.corpBox .corpTtl {
  position: relative;
  margin: 0 auto 1.5rem;
  padding: 0 1.5rem 1.5rem;
  text-align: center;
}

.corpBox .corpTtl::before {
  content: '';
  bottom: 0;
  left: 50%;
  width: 80px;
  height: 4px;
  background: rgb(var(--kyo-color-02));
  border-radius: 2px;
  transform: translateX(-50%);
}

.corpBox .corpTtl h2 {
  margin-bottom: 1rem;
  font-size: 2.4rem;
  line-height: 1.2;
}

.corpBox .corpTtl p {
  font-size: 1.6rem;
  line-height: 1.4;
  font-weight: bold;
}


.corpBox .typeList {
  display: grid;
  gap: 10px 15px;
  padding: 0 1.5rem;
  margin: 0 auto 1.5rem;
}

.corpBox .typeList li {
  position: relative;
  padding-left: 1.5em;
  font-size: 1.3rem;
  line-height: 1.4;
}

.corpBox .typeList li::before {
  content: '';
  top: 0.2em;
  left: 0;
  width: 1em;
  height: 1em;
  background: center / contain no-repeat;
}

.corpBox .typeList .industry::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44.52 56.1"><path fill="rgba(88,88,88,1)" fill-rule="evenodd" d="M0,0V56.1H19.36V42.55h5.8V56.1H44.52V0ZM13.55,48.36H7.74V42.55h5.81Zm0-11.61H7.74V31h5.81Zm0-11.6H7.74V19.34h5.81Zm0-11.61H7.74V7.74h5.81ZM25.16,36.75h-5.8V31h5.8Zm0-11.6h-5.8V19.34h5.8Zm0-11.61h-5.8V7.74h5.8ZM36.78,48.36H31V42.55h5.81Zm0-11.61H31V31h5.81Zm0-11.6H31V19.34h5.81Zm0-11.61H31V7.74h5.81Z" /></svg>');
}

.corpBox .typeList .business::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 44.49 42.92"><path fill="rgba(88,88,88,1)" fill-rule="evenodd" d="M0,42.92V22.64l18,4.2v5.53h8.35V26.84l18.13-4.22v20.3ZM20.1,30.31V23.43h4.17v6.88Zm6.26-8.94H18V24L0,19.83V10.59H44.49v9.22L26.36,24Zm2.45-17a.59.59,0,0,0-.18-.43.61.61,0,0,0-.44-.19H16.3a.65.65,0,0,0-.63.62v3.1H11.92V4.33A4.34,4.34,0,0,1,13.2,1.26,4.46,4.46,0,0,1,16.3,0H28.19a4.42,4.42,0,0,1,3.09,1.26,4.3,4.3,0,0,1,1.28,3.07v3.1H28.81Z" /></svg>');
}

.corpBox .typeList .pref::before {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32.68 43.21"><path fill="rgba(88,88,88,1)" fill-rule="evenodd" d="M27.57,29.16c-3.23,4.28-7.3,9.23-8.57,11.53-1.08,1.94-1.64,2.39-2.23,2.49a3.51,3.51,0,0,1-.57,0c-.87,0-1.39,0-2.77-2.58C12.19,38.3,8.17,33.26,5,28.92S-1.15,17.94.45,11.8A15.55,15.55,0,0,1,13.06.25,19.87,19.87,0,0,1,16.42,0,15.9,15.9,0,0,1,32.27,12.14C33.8,18.31,30.81,24.88,27.57,29.16ZM16.1,4.72a10.26,10.26,0,0,0-1.93.15A11.23,11.23,0,0,0,4.83,16a11.32,11.32,0,0,0,13.1,11.33A11.38,11.38,0,0,0,16.1,4.72Z" /></svg>');
}

/* corpAddress & contactTel kaisha gaiyou & renraku saki*/
.corpBox .corpAddress {
  margin: 0 auto var(--paddingMax);
  padding: var(--paddingMin) var(--paddingMinMin) var(--paddingMid);
  background: #fafafa;
}

.corpBox .corpAddress h2 {
  margin: 0 auto 1.5rem;
  font-size: 2.4rem;
  line-height: 1.2;
  text-align: center;
}

.corpBox .corpAddress .corpLogo {
  margin: 0 auto;
  padding: 1rem;
  max-width: 400px;
  aspect-ratio: auto;
  text-align: center;
}

.corpBox .corpAddress table {
  margin: 0 auto 3rem;
  width: 100%;
  max-width: 900px;
}

.corpBox .corpAddress table tr+tr th {
  box-shadow: 0 1px 0 0 #fff inset;
}

.corpBox .corpAddress th,
.corpBox .corpAddress td {
  word-break: break-all;
  line-height: 1.6;
}

.corpBox .corpAddress th {
  padding: 2rem 0.5rem;
  width: 25%;
  min-width: 6em;
  background: #e6e6e6;
  font-size: 1.3rem;
  font-weight: bold;
}

.corpBox .corpAddress tr+tr td {
  box-shadow: 0 1px 0 0 #e6e6e6 inset;
}

.corpBox .corpAddress td {
  padding: 1.5rem;
  background: #fff;
}

.corpBox .corpAddress table a {
  color: #0049d0;
  text-decoration: underline;
}

.corpBox .corpAddress a[target="_blank"] {
  padding-right: 1.5em;
  background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 57.73 57.73"><path fill="rgba(0,73,208,1)" fill-rule="evenodd" d="M10.82,0V46.9H57.73V0Zm42.4,42.39H15.33V4.51H53.22ZM4.51,10.82H0V57.73H46.9V53.22H4.51ZM26.38,35.18,39.69,21.87v9.7H44V14.43H26.83v4.29H36.3L23.23,32Z" /></svg>') no-repeat right center;
  background-size: 1em auto;
}


/* jobDescription jobWorth */
.corpBox .corpSection {
  display: grid;
  gap: 1.5rem;
  margin: 0 auto var(--paddingMax);
  padding-left: 1.5rem;
  padding-right: 1.5rem;
  max-width: 1300px;
}

.corpBox .corpSection h3 {
  font-size: 1.8rem;
  line-height: 1.4;
  text-align: center;
  color: rgb(var(--kyo-color-04));
}

.corpBox .corpSection figure {
  margin: 0 auto 1rem;
}

.corpBox .corpSection img {
  width: 100%;
  max-width: 500px;
  max-height: 450px;
  object-fit: contain;
}

.corpBox .corpSection .textBox {
  position: relative;
  margin-left: auto;
  margin-right: auto;
  padding: 1.5rem;
  width: 100%;
  background: #fafafa;
}

.corpBox .corpSection .text {
  margin: 0 auto;
  width: fit-content;
  max-width: 900px;
  line-height: 1.8;
}


/* corp message -----------*/
.corpBox .corpMessage {
  margin: 0 auto var(--paddingMax);
  padding: 0 2rem;
  max-width: 350px;
}

.corpBox .corpMessage a {
  display: grid;
  gap: 1.5rem;
  padding: 0 0.5rem 1.5rem;
  background: rgba(225,234,250,1);
  border-radius: 1rem;
  box-shadow: 0 0.25rem 1rem 1px rgba(0, 0, 0, 0.2);
  text-align: center;
}

.corpBox .corpMessage h3 {
  position: relative;
  z-index: 3;
  margin-bottom: -1rem;
  padding: 0.5rem;
  background: #fff;
  border-radius: 2em;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.2;
  color: rgb(var(--kyo-color-01));
  filter: drop-shadow(0 0.25rem 0.25rem rgba(var(--kyo-color-01), 0.3));
  transform: translateY(-1.5rem);
}

.corpBox .corpMessage h3::before {
  content: '';
  z-index: 3;
  top: 100%;
  left: 50%;
  width: 2rem;
  height: 1rem;
  clip-path: polygon(0 0, 50% 100%, 100% 0);
  background: inherit;
  transform: translate(-50%, -1px);
}

.corpBox .corpMessage figure {
  position: relative;
  z-index: 1;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #fff;
}

.corpBox .corpMessage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.corpBox .corpMessage figcaption {
  position: absolute;
  z-index: 2;
  bottom: 0;
  left: 0;
  padding: 0.5rem;
  width: 100%;
  background: rgba(0, 0, 0, 0.45);
  color: #fff;
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1.6;
}

.corpBox .corpMessage p {
  font-size: 1.6rem;
  font-weight: bold;
}

.corpBox .corpMessage .link {
  position: relative;
  margin-left: auto;
  padding: 0 1em;
  width: fit-content;
  text-align: right;
  line-height: 1.4;
  font-size: 1.3rem;
}

.corpBox .corpMessage .link::before {
  content: '';
  top: 50%;
  right: 0.25em;
  width: 0.5em;
  height: 0.5em;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  transform: translateY(-50%) rotate(-45deg);
}


/* corpIntro */
.corpIntro {
  margin: 0 auto var(--paddingMax);
  padding: 0 1.5rem;
  max-width: 1300px;
}

.corpIntro .catchTextWrap {
  position: relative;
  margin: 0 auto;
  padding: 1.5rem;
  width: 100%;
  background: #fafafa;
}

.corpIntro .catchCopy {
  margin: 0 auto var(--paddingMinMin);
  color: rgb(var(--kyo-color-04));
  font-weight: bold;
  font-size: 2rem;
  line-height: 1.4;
  text-align: center;
}

.corpIntro .catchText {
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 8;
  line-height: 1.8;
  margin: 0 auto;
  width: fit-content;
  max-width: 900px;
  max-height: 14.4em;
  word-break: break-all;
}

.corpBox .corpBottom {
  margin: 0 auto;
}

.corpBox .returnSearch{
  margin: 0 auto;
  padding: 0.5rem 0.5rem 1.5rem;
}

.corpBox .corpContens + .returnSearch{
  padding-top: 1rem;
  margin-bottom: var(--paddingMid);
  border-bottom: none;
  border-top: 1px solid #333;
}

.corpBox .returnSearch p{
  margin: 0 auto;
  max-width: 1300px;
}

.corpBox .returnSearch a{
  position: relative;
  padding-left: 1em;
  font-size: 1.3rem;
  line-height: 1.2;
}

.corpBox .returnSearch a::before {
  content: '';
  top: 50%;
  left: 0;
  width: 0.5em;
  height: 0.5em;
  border-left: solid 1px #333;
  border-bottom: solid 1px #333;
  transform: translateY(-50%) rotate(45deg);
}


@media screen and (min-width: 768px) {
  .corpContens {
    background: #fff;
  }

  .firstHd {
    margin: 0 1rem;
    padding-top: 0.25em;
  }

  .corpBox .corpHead {
    padding: 30px 1.5rem 60px;
    gap: 0 10px;
    max-width: 1300px;
  }

  .corpBox .corpSpecs {
    margin: 0 auto var(--paddingMid);
    display: grid;
    align-items: flex-start;
    grid-template-columns: min(500px, 50vw) auto;
    grid-template-areas:
      'thmb typeList'
      'thmb tagsList'
      'thmb corpBtns'
      'corpGloMenu corpGloMenu';
    max-width: 1300px;
    gap: 1.5rem 3rem;
  }

  .corpBox .corpPhoto {
    grid-area: thmb;
    margin: 0;
    padding: 0 0 0 1.5rem;
  }

  .corpBox .typeList {
    grid-area: typeList;
    margin: 0;
    padding: 3rem 0 0;
  }

  .corpBox .corpSpecs .corpBtns {
    align-self: flex-end;
    grid-area: corpBtns;
    margin: 0 0 0 auto;
  }

  .corpBox .corpSpecs .tagsList {
    grid-area: tagsList;
    margin: 0;
    padding: 0 0 3rem;
  }

  .corpBox .corpSpecs .tagsList ul {
    margin: 0;
    justify-content: flex-start;
  }

  .corpBox .tagsList li span {
    font-size: 1.1rem;
  }
  
  .corpBox .corpBtns {
    gap: 1.5rem;
    margin: 0 0 1.5rem auto;
  }

  .corpBox .corpBtns .corpBtn,
  .corpBox .corpBtns .offerBtn,
  .corpBox .corpBtns a {
    font-size: 1.6rem;
  }

  .corpBox .corpGloMenu {
    grid-area: corpGloMenu;
  }

  .corpBox .corpGloMenu ul {
    grid-template-columns: repeat(6, 1fr);
    gap: 0.75rem;
  }

  .corpIntro {
    padding: 0;
  }

  .corpIntro .catchTextWrap,
  .corpBox .corpSection,
  .corpBox .corpSection .textBox {
    padding: 3rem;
  }

  .corpBox .corpMessage {
    position: fixed;
    z-index: 777;
    bottom: 1rem;
    right: 1.5rem;
    margin: 0;
    padding: 0;
    width: min(300px, 35vw);
    transition: all 0.75s 0s linear;
  }

  .corpBox .corpMessage a {
    padding: 1rem;
    gap: 0.5rem;
  }

  .corpBox .corpMessage h3 {
    padding: 0.75rem;
    font-size: 1.3rem;
  }

  .corpBox .corpMessage figcaption,
  .corpBox .corpMessage .link {
    font-size: 1.3rem;
  }

  .corpBox .corpMessage.hide{
    transform: translateY(100%);
  }

  .corpBox .corpBottom {
    max-width: 1300px;
  }
}