@charset "utf-8";
/*
Theme Name: hp101a
Theme URI:
Description: hp101a
Version: 1.0
Author: TENSHOKU ICHIBA Inc.
Author URI: http://www.1049.cc
*/

/* font import */
@import url(//fonts.googleapis.com/css?family=PT+Sans+Caption:400,700);

/* --------------------------------------------------------------
 * Reset default browser CSS.
-------------------------------------------------------------- */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
  border: 0;
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  outline: 0;
}
:focus {
  outline: 0;
}

article, aside, details, figcaption, figure, footer, header, main, menu, nav, section {
  display: block;
}

caption, th, td {
  font-weight: normal;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
}

blockquote, q {
  quotes: "" "";
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  line-height: 1;
}

b, strong {
  font-weight: bold;
}

button {
  margin: 0;
  padding: 0;
  border: none;
  background-color: transparent;
  cursor: pointer;
}

ol, ul {
  list-style: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

@media print, screen and (min-width: 768px){
  .outer{
    min-width: 1200px;
  }
}
/*------------------------------------------------------------
clearfix -micro
------------------------------------------------------------*/
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
}

.clearfix:after {
  clear: both;
}

/*------------------------------------------------------------
CommonStyle
------------------------------------------------------------*/

:root {
  --main-color: #1891D1;
  --main-color80: #46A7DA;
  --main-color60: #74BDE3;
  --main-color20: #D1E9F6;
  --sub-color: #F0A76C;
  --acc-color: #F06C73;
  --acc-color80: #F3898F;
  --acc-color60: #F6A7AB;
  --acc-color20: #FCE2E3;
  --logo-color01: #ED6D00;
  --logo-color02: #009F41;
  --txt-color: #290002;
  --box-shadow-brown: 0 2px 10px rgba(140,63,66,.2);
  --box-shadow-brown-pc: 0 4px 20px rgba(140,63,66,.2);
  --box-shadow-blue: 0 2px 20px rgba(20,145,209,.2);
  --box-shadow-blue-pc: 0 4px 40px rgba(20,145,209,.2);
  --box-shadow-green: 0 2px 10px rgba(0,159,65,.2);
  --box-shadow-green-pc: 0 4px 20px rgba(0,159,65,.2);
}

body {
  width: 100%;
  display: flex;
  flex-direction: column;
  color: #290002;
  font-style: normal;
  font-size: 1.3em;
  font-weight: 500;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.modal-on {
  overflow: hidden;
}

body,
body * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  box-sizing: border-box;
}

body,
input,
textarea,
select {
  font-family: 'Noto Sans JP', 'Century Gothic', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 游ゴシック体, YuGothic, "Yu Gothic Medium", 游ゴシック, 'Yu Gothic', メイリオ, Meiryo, sans-serif;
}

main {
  flex: 1 1 auto;
  margin-top: var(--header-height-sp);
}

a,
a:hover {
  text-decoration: none;
}

a {
  display: inline-block;
  color: #333333;
}

a img {
  border: 0;
}

input,
textarea,
select {
  border: solid 1px #cccccc;
  background-color: transparent;
  font-size: 1.6rem;
  vertical-align: top;
}

input,
textarea {
  width: 100%;
}

input[type="text"],
input[type="email"],
input[type="tel"],
select {
  height: 2.5em;
}

textarea,
input:not([type="checkbox"]):not([type="radio"]) {
  -webkit-appearance: none;
  appearance: none;
}

input[type="checkbox"],
input[type="radio"] {
  width: auto;
  vertical-align: baseline;
  cursor: pointer;
}

input[type="radio"] {
  margin: 0;
}

select,
label {
  cursor: pointer;
}

select {
  -webkit-appearance: auto;
  appearance: auto;
}

textarea {
  padding: 10px;
}

.pc-br {
  display: none;
}

.js-fadein {
  opacity: 0;
  transform: translate(0, 20px);
  transition-property: opacity, transform;
  transition-duration: 1s;
}

.scroll-in {
  opacity: 1;
  transform: translate(0, 0);
}

.mw_wp_form .error {
  width: 100%;
}

.mwform-tel-field input,
.mwform-zip-field input {
  width: auto;
  vertical-align: middle;
}

.mwform-checkbox-field input,
.mwform-radio-field input {
  margin: 0 5px 0 0;
}

::placeholder {
  color: #dddddd;
}

::-ms-input-placeholder {
  color: #dddddd;
}

:-ms-input-placeholder {
  color: #dddddd;
}

.js-clickitem,
.js-clickitemBlank{
  cursor: pointer;
}

.ttl{
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
}

.txt{
  font-size: 14px;
  font-weight: 500;
  line-height: 1.8;
}

.blue{
  color: var(--main-color);
}

.red{
  color: var(--acc-color);
}

.orange{
  color: var(--logo-color01);
}

.green{
  color: var(--logo-color02);
}

.inner {
  width: calc(100% - 24px);
  max-width: 1200px;
  margin: 0 auto;
}

.font-termina{
  font-family: "termina", sans-serif;
  font-weight: 700;
  font-style: normal;
}
  
.bg-white{
  background-color: #fff;
  border-radius: 15px;
}

.img-line{
  border: solid 3px var(--txt-color);
  border-radius: 10px;
  overflow: hidden;
}

.img-line img{
  max-width: calc(100% + 6px);
  margin: -3px;
}

.list-item-icon{
  position: relative;
  padding-left: 18px;
}

.list-item-icon::before{
  position: absolute;
  content: "";
  width: 10px;
  height: 10px;
  top: 5px;
  left: 0;
  background-color: var(--acc-color);
  border: solid 2px var(--txt-color);
  border-radius: 99px;
  box-sizing: border-box;
}

.list-item-icon.blue-icon::before{
  background-color: var(--main-color);
}

.list-item-icon.green-icon::before{
  background-color: var(--logo-color02);
}

.content-head{
  width: calc(100% - 24px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 140px 0 60px;
}

.content-head .sub{
  display: block;
  margin-bottom: -8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

.content-head .ja{
  display: block;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.8;
}

.content-head .en{
  display: block;
  color: var(--acc-color60);
  font-size: 21px;
  font-weight: 400;
  line-height: 1.2;
}

.inline-block {
  display: inline-block;
}

#contents{
  position: relative;
}

#contents::before{
  position: fixed;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../../uploads/content_bg_sp.png")no-repeat center top / cover;
  z-index: -1;
}

.page-id-196 #contents::before{
  background-image: url("../../uploads/offer_bg_sp.png");
}

.exclamation-ttl{
  position: relative;
  padding-bottom: 7px;
  border-bottom: 2px solid var(--main-color);
}

.exclamation-ttl.border-red{
  border-color: var(--acc-color);
}

.exclamation-ttl .exclamation{
  margin-bottom: 4px;
}

.exclamation-ttl .ttl{
  display: block;
  line-height: 1.6;
}

.exclamation{
  position: relative;
  display: block;
  padding-left: 30px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

.exclamation.ttl{
  font-size: 16px;
}

.exclamation::before{
  position: absolute;
  content: "";
  width: 28px;
  height: 32px;
  background: url("../../uploads/icon_exclamation_sp.png")no-repeat center center / contain;
  left: 0;
  bottom: 0;
}

.menu-list{
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  grid-gap: 12px 32px;
  box-shadow: var(--box-shadow-brown);
  padding: 12px 0;
}

.menu-item a{
  display: block;
  position: relative;
  padding-left: 17px;
  font-size: 13px;
  font-weight: 700;
  z-index: 0;
}

.menu-item a svg{
  position: absolute;
  width: 10px;
  height: 10px;
  top: calc(50% - 4px);
  left: 4px;
  transition: all .3s;
  transform: rotate(90deg);
}

.common-head .sub{
  display: block;
  margin-bottom: -2px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.8;
}

.common-head .ja{
  display: block;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.8;
}

.common-head .en{
  display: block;
  position: relative;
  padding-left: 12px;
  color: var(--logo-color01);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.8;
}

.common-head .en::before{
  position: absolute;
  content: "";
  width: 8px;
  height: 2px;
  top: calc(50% - 1px);
  left: 0;
  background-color: var(--logo-color01);
}


@media only screen and (min-width: 768px) {
  body {
    font-size: 1.6em;
  }
  
  main {
    margin-top: var(--header-height-pc);
  }
  
  a,
  a img {
    transition-property: color, opacity;
    transition-duration: .3s;
  }
  
  a[href^="tel:"] {
    pointer-events: none;
    cursor: default;
  }
  
  a[href^="tel:"]:hover {
    opacity: 1;
  }
  
  a:hover img {
    opacity: .6;
  }
  
  .sp-br {
    display: none;
  }
  
  .pc-br {
    display: inline;
  }
  
  .ttl{
    font-size: 20px;
    line-height: 1.5;
  }
  
  .txt{
    font-size: 16px;
    font-weight: 700;
  }
  
  .bg-white{
    border-radius: 30px;
  }
  
  .img-line{
    border-width: 4px;
    border-radius: 20px;
  }
  
  .img-line img{
    max-width: calc(100% + 8px);
    margin: -4px;
  }
  
  .list-item-icon{
    padding-left: 20px;
  }

  .list-item-icon::before{
    width: 12px;
    height: 12px;
    top: 9px;
  }
  
  .content-head{
    padding: 280px 0 140px;
  }

  .content-head .sub{
    font-size: 18px;
  }
  
  .content-head .ja{
    font-size: 40px;
  }

  .content-head .en{
    font-size: 36px;
  }
  
  #contents::before{
    background-image: url("../../uploads/content_bg_pc.png");
  }
  
  .page-id-196 #contents::before{
    background-image: url("../../uploads/offer_bg_pc.png");
  }
  
  .exclamation-ttl{
    padding-bottom: 14px;
  }

  .exclamation-ttl .exclamation + .ttl{
    margin-top: 8px;
  }

  .exclamation{
    padding-left: 50px;
    font-size: 16px;
  }

  .exclamation.ttl{
    font-size: 20px;
  }

  .exclamation::before{
    width: 48px;
    height: 54px;
    background: url("../../uploads/icon_exclamation.png")no-repeat center center / contain;
  }

  .menu-list{
    justify-content: space-between;
    grid-gap: 0;
    box-shadow: var(--box-shadow-brown-pc);
    margin-top: 0;
    padding: 27px 300px;
  }

  .menu-item a{
    padding-left: 20px;
    font-size: 16px;
    transition: all .3s;
  }

  .menu-item a svg{
    /*top: calc(50% - 6px);*/
    left: 0;
    transition: all .3s;
  }
  
  .menu-item a::after{
    position: absolute;
    content: "";
    width: 18px;
    height: 18px;
    top: calc(50% - 7px);
    left: -4px;
    z-index: -1;
    opacity: 0;
    background: url(../../uploads/navItem_arrow_hover.png) center center / contain no-repeat;
    transform: rotate(90deg);
    transition: all .3s;
  }
  
  .common-head .sub{
    margin-bottom: 16px;
    font-size: 18px;
  }
  
  .common-head .ja{
    font-size: 36px;
  }

  .common-head .en{
    padding-left: 24px;
    font-size: 14px;
  }

  .common-head .en::before{
    width: 16px;
    height: 4px;
    top: calc(50% - 2px);
  }
}

@media only screen and (min-width: 1201px) {/* ---------- Desktop PC ---------- */
  input {
    width: auto;
  }
  
  .menu-item a:hover{
    color: var(--acc-color);
  }
  
  .menu-item a:hover svg{
    fill: var(--acc-color);
  }
  
  .menu-item a:hover::after{
    opacity: 1;
  }
  
  #offer .menu-item a:hover{
    color: var(--logo-color02);
  }
  
  #offer .menu-item a:hover svg{
    fill: var(--logo-color02);
  }
}

/*------------------------------------------------------------
commonLink
------------------------------------------------------------*/
.commonLink {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 8px 20px 8px 28px;
  background-color: #290002;
  border-radius: 99px;
  border: solid 2px #290002;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  box-shadow: 0 2px 10px rgba(140, 63, 66, 0.2);
}

.commonLink a{
  display: inline
}

.commonLink svg {
  width: 10px;
  height: 10px;
  margin: 0 4px 0 6px;
}

.commonLink svg path {
  fill: #ffffff;
}
.commonLink.blank {
  padding-right: 54px;
}

.commonLink.blank.intern {
  background-color: #7ADBA2;
  color: #290002;
}

.commonLink.blank svg {
  display: none;
}

.commonLink.blank::after {
  position: absolute;
  height: 13px;
  width: 14px;
  top: calc(50% - 8px);
  right: 30px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: 0.625rem;
}

.commonLink:hover {
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .commonLink {
    box-shadow: 0 4px 20px rgba(140, 63, 66, 0.2);
  }
  
  .commonLink {
    padding: 16px 40px 16px 48px;
    border: solid 2px #290002;
    font-size: 1.25rem;
    transition: all 0.3s;
  }
  
  .commonLink svg {
    width: 14px;
    height: 14px;
    margin: 0 0 0 20px;
    transition: all 0.3s;
  }
  
  .commonLink.blank {
    padding-right: 84px;
  }
  
  .commonLink.blank::after {
    top: 20px;
    right: 54px;
    font-size: 0.875rem;
  }
}

@media print, screen and (min-width: 1201px) {
  .commonLink.blank.intern:hover {
    background-color: #CCECD9;
  }
  .commonLink:hover {
    background-color: #F0A76C;
  }
  .commonLink:hover svg {
    transform: translateX(6px);
  }
}





/*------------------------------------------------------------
cta
------------------------------------------------------------*/
#cta {
  padding: 70px 0 60px;
  background: rgb(108, 181, 240);
  background: linear-gradient(130deg, rgba(108, 181, 240, .2) 0%, rgba(240, 108, 115, .2) 25%, rgba(237, 109, 0, .2) 80%, rgba(108, 181, 240, .2) 100%)
}
@media screen and (min-width: 768px) {
  #cta {
    padding: 120px 0
  }
}
#cta .ctaContentWrapper {
  padding: 44px 0 46px;
  background-color: #fff;
  border-radius: 30px;
  box-shadow: 0 2px 10px #8c3f4233
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper {
    box-shadow: 0 4px 20px #8c3f4233
  }
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper {
    padding: 50px 64px 64px
  }
}
#cta .ctaContentWrapper .ctaTtl .en {
  display: block;
  color: #f6a7ab;
  font-size: min(17px, 4.5333333333vw);
  font-weight: 400;
  line-height: 1;
  text-align: center;
  text-transform: uppercase
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .en {
    font-size: 1.875rem
  }
}
#cta .ctaContentWrapper .ctaTtl .ja {
  display: block;
  font-size: 2.1875rem;
  font-weight: 700;
  letter-spacing: .3em;
  line-height: 1.5;
  text-align: center
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .ja {
    margin-top: -14px;
    font-size: 4.125rem;
    transform: translate(62px)
  }
}
#cta .ctaContentWrapper .ctaTtl .ja .second {
  display: block;
  width: fit-content;
  margin: 0 auto;
  transform: translate(7px, -8px)
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .ja .second {
    display: inline-block;
    transform: translate(-28px)
  }
}
#cta .ctaContentWrapper .ctaTtl .ja .quotation {
  display: inline-block;
  font-size: 2.5rem;
  transform: translate(8px, -4px)
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .ja .quotation {
    font-size: 4.625rem;
    transform: translate(20px, -8px)
  }
}
#cta .ctaContentWrapper .ctaTtl .ja .quotation.close {
  transform: translate(-8px, -4px)
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .ja .quotation.close {
    transform: translate(-8px, -8px)
  }
}
#cta .ctaContentWrapper .ctaTtl .ja .period {
  display: inline-block;
  text-indent: -.9em
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaTtl .ja .period {
    text-indent: -.75em
  }
}
#cta .ctaContentWrapper .ctaContent {
  width: calc(100% - 46px);
  min-width: 305px;
  margin: 10px auto 0
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 32px 0 0
  }
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock {
    width: calc(100% - 610px)
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .txt {
  font-size: .875rem;
  font-weight: 700;
  line-height: 1.8;
  text-align: center
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .txt {
    margin-top: 24px;
    font-size: 1.125rem;
    text-align: left;
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock {
  margin: 20px 0 36px
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock {
    margin: 40px 0 0
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink {
  position: relative;
  width: fit-content;
  height: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 12px;
  padding: 0 29px 0 16px;
  border: solid 2px #290002;
  border-radius: 99px;
  font-size: .8125rem;
  font-weight: 700;
  transition: all .3s
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink {
    height: 45px;
    margin: 0 0 16px;
    padding: 0 46px 0 20px;
    background-color: #fff;
    font-size: 1rem
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink:before {
  position: absolute;
  content: "";
  background: url(../../uploads/arrow_black.png) no-repeat center center/contain;
  width: 10px;
  height: 10px;
  top: calc(50% - 5px);
  right: 10px;
  transition: all .3s
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink:before {
    right: 20px
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern {
  display: flex;
  margin-bottom: 0;
  background-color: #7adba2
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern:before {
  content: none
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern:after {
  margin-left: 6px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: .625rem;
  transform: translateY(2px);
  position: absolute;
  top: 6px;
  right: 10px
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern:after {
    margin-left: 10px;
    font-size: .875rem;
    transform: translateY(5px);
    right: 24px
  }
}
@media print, screen and (min-width: 1201px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern:hover {
    background-color: #ccecd9
  }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern.block {
    display: flex
}

#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern.none {
    display: none
}

#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern +.intern {
    margin-top: 12px
}

@media screen and (min-width: 768px) {
    #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink.intern +.intern {
        margin-top:16px
    }
}
#cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink:hover {
  opacity: 1
}
@media print, screen and (min-width: 1201px) {
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink:hover {
    background-color: #d1e9f6
  }
  #cta .ctaContentWrapper .ctaContent .txtBlock .linkBlock .searchLink:hover:before {
    transform: translate(4px)
  }
}
@media screen and (min-width: 768px) {
  #cta .ctaContentWrapper .ctaContent .img {
    width: 610px
  }
}
/*------------------------------------------------------------
header
------------------------------------------------------------*/
body.modalOn { /* モーダルON時にbody要素のスクロールを止める＆解除のJS用 */ }
#headerMenu.headerMenu {
  position: relative;
  width: 100%;
  height: auto;
  margin: 0;
}
#headerMenu .PCbr {
  display: none;
}
@media screen and (min-width: 768px) {
  #headerMenu .PCbr {
    display: inline;
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .SPbr {
    display: none;
  }
}
#headerMenu .headerNav {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 70px;
  margin: 0 auto;
  background: #ffffff;
  z-index: 9999;
}
#headerMenu .headerNav.modalOn {
  top: 0 !important;
}
@media screen and (min-width: 768px) {
  #headerMenu .headerNav {
    height: 100px;
  }
}
@media print, screen and (min-width: 1560px) {
  #headerMenu .headerNav > a {
    flex-shrink: 0;
  }
}
#headerMenu .headerLogo {
  flex: 0 1 auto;
  margin-left: 10px;
  transition: all 0.3s ease;
}

@media print, screen and (max-width: 767px){
  .page-id-196 #headerMenu .headerLogo {
    width: 140px;
  }
}
@media screen and (min-width: 768px) {
  #headerMenu .headerLogo {
    margin-left: 0;
  }
}
@media print, screen and (min-width: 1600px) {
  #headerMenu .headerLogo {
    margin: 0 0 0 42px;
  }
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .headerLogo:hover {
    opacity: 0.7;
  }
}
#headerMenu .headerLogo img {
  max-width: 100%;
  height: auto;
  transition: opacity 0.3s;
  text-align: center;
  vertical-align: middle;
}
#headerMenu .headerLogo .noLogoText {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#headerMenu .headerLogo .noLogoText .corpUrl {
  display: inline-block;
  margin-right: 0.5em;
}
#headerMenu .navItems {
  display: block;
  flex: 0 1 auto;
  margin-left: auto;
  padding-left: 10px;
}
@media print, screen and (min-width: 768px){
  #headerMenu .navItems {
    padding-left: 5px;
  }
}
#headerMenu .navItems.modalOn {
  top: 0 !important;
}
#headerMenu .navItemList {
  display: none;
  position: absolute;
  left: 0;
  width: 100%;
  background-color: #F3F3F3;
  overflow-y: auto;
  z-index: 1;
}
#headerMenu .navItemList::before {
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100vh - 70px);
  top: 0;
  left: 0;
  background: url("../../uploads/top_bg_sp.png") no-repeat center center/cover;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemList::before {
    height: calc(100vh - 100px);
    background-image: url("../../uploads/top_bg_pc.png");
  }
}
#headerMenu .navItemList .navItemFavorite {
  display: none;
}
#headerMenu .navItemListInner {
  display: flex;
  flex-wrap: wrap;
  flex-direction: column;
  align-content: flex-start;
  padding-top: 36px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemListInner {
    max-width: 730px;
    margin: 0 auto;
    padding-top: 88px;
  }
}
#headerMenu .navItemFlex {
  display: flex;
  align-items: center;
  width: 100%;
  height: 100%;
  margin: 0 auto 0 50%;
  font-size: 0.875rem;
  font-weight: 700;
  transform: translateX(-122px);
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemFlex {
    font-size: 1.5rem;
    transform: translateX(-360px);
  }
}
#headerMenu .navItem {
  width: calc(100% - 24px);
  margin: 0 auto;
  margin-bottom: 16px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem {
    margin-bottom: 32px;
  }
}
#headerMenu .navItem .js-clickitem,
#headerMenu .navItem .js-clickitemBlank {
  position: relative;
  height: 100%;
  padding-left: 16px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem .js-clickitem,
#headerMenu .navItem .js-clickitemBlank {
    padding: 0 0 0 37px;
    transition: all 0.3s;
  }
}
#headerMenu .navItem .js-clickitem:hover,
#headerMenu .navItem .js-clickitemBlank:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .navItem .js-clickitem:hover,
#headerMenu .navItem .js-clickitemBlank:hover {
    color: #F06C73;
  }
  #headerMenu .navItem .js-clickitem:hover::before,
#headerMenu .navItem .js-clickitemBlank:hover::before {
    opacity: 1;
  }
  #headerMenu .navItem .js-clickitem:hover .navItemArrow,
#headerMenu .navItem .js-clickitemBlank:hover .navItemArrow {
    fill: #F06C73;
  }
}
#headerMenu .navItem .js-clickitem::before,
#headerMenu .navItem .js-clickitemBlank::before {
  position: absolute;
  content: "";
  width: 18px;
  height: 18px;
  background: url("../../uploads/navItem_arrow_hover.png") no-repeat center center/contain;
  top: calc(50% - 9px);
  left: 15px;
  z-index: -1;
  opacity: 0;
  transition: all 0.3s;
}
#headerMenu .navItem .navItemArrow {
  position: absolute;
  width: 6px;
  height: 6px;
  top: calc(50% - 3px);
  left: 6px;
  fill: #290002;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem .navItemArrow {
    width: 12px;
    height: 12px;
    top: calc(50% - 6px);
    left: 18px;
    transition: all 0.3s;
  }
}
#headerMenu .navItem [class*=letter] {
  display: block;
  min-height: 0;
  color: #ffffff;
  line-height: 1.4;
  text-align: center;
}
#headerMenu .navItem .letterBottom {
  display: block;
  margin-top: 2px;
  font-size: 1.5625rem;
  font-style: normal;
  line-height: 1.24;
  letter-spacing: 0.04em;
}
#headerMenu .navItem.support {
  position: relative;
  margin-bottom: 48px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.support {
    margin-bottom: 128px;
  }
}
#headerMenu .navItem.support::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  left: 12px;
  bottom: -24px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.support::before {
    width: calc(100% + 24px);
    height: 4px;
    left: 0;
    bottom: -64px;
  }
}
#headerMenu .navItem.casualtalking, #headerMenu .navItem.entry {
  margin-bottom: 12px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.casualtalking, #headerMenu .navItem.entry {
    margin-bottom: 24px;
  }
}
#headerMenu .navItem.offer {
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.offer {
    margin-bottom: 48px;
  }
}
#headerMenu .navItem.entryNext {
  margin-bottom: 36px;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItem.entryNext {
    margin-bottom: 72px;
  }
}
#headerMenu .navItem.entryNext+.entryNext {
    margin-top: -24px
}

@media screen and (min-width: 768px) {
    #headerMenu .navItem.entryNext+.entryNext {
        margin-top:-48px
    }
}
#headerMenu .navItem.entryNext.block{
  display: block;
}
#headerMenu .navItem.entryNext.none{
  display: none;
}
@media print, screen and (min-width: 768px) and (max-height: 1000px) {
    #headerMenu .navItemListInner {
        padding-top:40px
    }
    #headerMenu .navItem {
        margin-bottom: 16px
    }
    #headerMenu .navItem.support {
        margin-bottom: 60px
    }
    #headerMenu .navItem.support:before {
        bottom: -30px
    }
    #headerMenu .navItem.casualtalking,#headerMenu .navItem.entry {
        margin-bottom: 12px
    }
    #headerMenu .navItem.offer,#headerMenu .navItem.entryNext {
        margin-bottom: 30px
    }
    #headerMenu .navItem.entryNext+.entryNext {
        margin-top: -18px
    }
    #headerMenu .navItemFlex {
        font-size: 1.25rem
    }
}
#headerMenu .blankIconImg {
  display: inline-block;
  padding: 5px 0 0 10px;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1;
  vertical-align: top;
}
#headerMenu .blankIcon {
  display: flex;
}
#headerMenu .blankIcon::after {
  margin-left: 6px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: 0.625rem;
  transform: translateY(2px);
}
@media screen and (min-width: 768px) {
  #headerMenu .blankIcon::after {
    margin-left: 10px;
    font-size: 0.875rem;
    transform: translateY(8px);
  }
}
@media print, screen and (min-width: 768px) and (max-height: 1000px) {
  #headerMenu .blankIcon::after {
    transform: translateY(5px);
  }
}
#headerMenu .navItemListSp {
  display: flex;
}
#headerMenu .navItemListSp .navItem {
  width: auto;
  margin-bottom: 0;
  border: none;
}
#headerMenu .navItemListSp .navItemFavorite {
  width: 75px;
  height: 70px;
  padding: 0;
  border: none;
  background-color: #F06C73;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemListSp .navItemFavorite {
    width: 100px;
    height: 100px;
    flex-shrink: 0;
  }
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .navItemListSp .navItemFavorite:hover {
    background-color: #F9C4C7;
  }
}
#headerMenu .navItemListSp .navItemFavorite .navItemFlex {
  justify-content: center;
  margin-left: 0;
  transform: none;
}
#headerMenu .navItemListSp .navItemFavorite .navItemArrow {
  display: none;
}
#headerMenu .navItemListSp .navItemFavorite .heartBox {
  display: block;
  background-image: url("../../uploads/fav_icon.png");
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
  width: 50px;
  height: 35px;
  margin: 0 auto;
  position: relative;
}
#headerMenu .navItemListSp .navItemFavorite .heartBox .heartIcon {
  overflow: inherit;
}
#headerMenu .navItemListSp .navItemFavorite .heartBox .heartIcon .cls-1 {
  fill: transparent;
  stroke: #F06C73;
  stroke-width: 30px;
}
#headerMenu .navItemListSp .navItemFavorite .badge {
  display: none;
  align-items: center;
  justify-content: center;
  position: absolute;
  right: -2px;
  bottom: -5px;
  width: 16px;
  height: 16px;
  background-color: #fff;
  border-radius: 50%;
  color: #290002;
  font-size: 0.625rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemListSp .navItemFavorite .badge {
    width: 22px;
    height: 22px;
    right: -8px;
    bottom: -12px;
    font-size: 0.75rem;
  }
}
#headerMenu .navItemListSp .navItemFavorite .js-clickitem {
  height: 70px;
  padding: 6px 0 0;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemListSp .navItemFavorite .js-clickitem {
    width: 100px;
    height: 100px;
    padding: 20px 0 0;
  }
}
#headerMenu .navItemListSp .navItemFavorite .letterBottom {
  margin-top: 10px;
  min-height: 0;
  color: #fff;
  font-size: 0.8125rem;
  letter-spacing: -.02em;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #headerMenu .navItemListSp .navItemFavorite .letterBottom {
    margin-top: 18px;
    font-size: 1rem;
    letter-spacing: 0.04em;
  }
}
#headerMenu .searchLinkList {
  max-width: 1000px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
#headerMenu .searchLinkList .searchLink {
  position: relative;
  height: 45px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: calc(5px + (100vw - 1200px) * 10 / 360);
  padding: 0 calc(28px + (100vw - 1200px) * 12 / 360) 0 12px;
  border: solid 2px #290002;
  border-radius: 99px;
  font-size: 0.875rem;
  font-weight: 700;
  font-size: min(16px, calc(0.875rem + (1vw - 12px) * 0.6667));
  transition: all 0.3s;
}
@media print, screen and (max-width: 1200px)  and (min-width: 768px){
  
  #headerMenu .searchLinkList .searchLink {
    margin-right: 6px;
    padding: 0 28px 0 12px;
    font-size: calc(0.875rem + (7.68px - 12px) * 0.6667);
  }
}

@media print, screen and (min-width: 1560px) {
  #headerMenu .searchLinkList .searchLink {
    margin-right: 16px;
    padding: 0 40px 0 24px;
    font-size: 1rem;
  }
}
#headerMenu .searchLinkList .searchLink::before {
  position: absolute;
  content: "";
  background: url("../../uploads/arrow_black.png") no-repeat center center/contain;
  width: 10px;
  height: 10px;
  top: calc(50% - 5px);
  right: 10px;
  transition: all 0.3s;
}
@media print, screen and (min-width: 1500px) {
  #headerMenu .searchLinkList .searchLink::before {
    right: 18px;
  }
}
#headerMenu .searchLinkList .searchLink.intern {
  background-color: #7ADBA2;
}
#headerMenu .searchLinkList .searchLink.intern::before {
  content: none;
}
#headerMenu .searchLinkList .searchLink.intern::after {
  position: absolute;
  top: 6px;
  right: 10px;
  transform: translateY(4px);
}
@media print, screen and (min-width: 1500px) {
  #headerMenu .searchLinkList .searchLink.intern::after {
    right: 24px;
  }
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .searchLinkList .searchLink.intern:hover {
    background-color: #CCECD9;
  }
}
#headerMenu .searchLinkList .searchLink:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .searchLinkList .searchLink:hover {
    background-color: #D1E9F6;
  }
  #headerMenu .searchLinkList .searchLink:hover::before {
    transform: translateX(2px);
  }
}
#headerMenu .searchLinkList .searchLink.block {
    display: flex
}
#headerMenu .searchLinkList .searchLink.none {
    display: none
}
#headerMenu .searchLinkList .linkItemOffer {
  width: 90%;
}
#headerMenu .searchLinkList .linkItemOffer .searchLink {
  width: fit-content;
  border: none;
  margin-left: auto;
  padding-right: 28px;
  padding-left: 0;
}
#headerMenu .searchLinkList .linkItemOffer .searchLink::before {
  right: 12px;
}
#headerMenu .searchLinkList .linkItemOffer .searchLink::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 2px;
  background-color: #290002;
  bottom: 6px;
  left: 0;
  opacity: 0;
  transition: all 0.3s;
}
#headerMenu .searchLinkList .linkItemOffer .searchLink:hover {
  background-color: transparent;
}
#headerMenu .searchLinkList .linkItemOffer .searchLink.js-clickitemBlank {
  height: 40px;
  margin-bottom: -6px;
  margin-top: 4px;
}
@media print, screen and (min-width: 1201px) {
  #headerMenu .searchLinkList .linkItemOffer .searchLink:hover::after {
    opacity: 1;
  }
}
@media print, screen and (max-width: 1199px) {
  #headerMenu .searchLinkList {
    display: none;
  }
}

#headerMenu .offerPageTtl{
  position: absolute;
  width: 46px;
  height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  top: 12px;
  left: min(165px,calc(100vw / 375 * 165));
  background-color: var(--logo-color02);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  #headerMenu .offerPageTtl{
    width: 164px;
    height: 32px;
    top: 38px;
    left: 170px;
    font-size: 18px;
    font-weight: 500;
  }
}

@media print, screen and (min-width: 960px) {
  #headerMenu .offerPageTtl{
    left: 400px;
  }
  
}

@media print, screen and (min-width: 1600px) {
  #headerMenu .offerPageTtl{
    left: 450px;
  }
  
}



/*------------------------------------------------------------
hamburger
------------------------------------------------------------*/
.hamburger {
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  border: 0;
  outline: none;
  margin: 0;
  overflow: visible;
  border-radius: 0;
  cursor: pointer;
  align-items: flex-start;
  justify-content: center;
  position: relative;
  width: 75px;
  height: 70px;
  background: #ED6D00;
  text-align: center;
  z-index: 1;
  transition: all 0.3s;
}
@media screen and (min-width: 768px) {
  .hamburger {
    width: 100px;
    height: 100px;
  }
}
@media print, screen and (min-width: 1201px) {
  .hamburger:hover {
    background: #F0A76C;
  }
}
.hamburger::after {
  color: #ffffff;
  font-family: "termina", sans-serif;
  font-weight: 600;
  font-style: normal;
  content: "MENU";
  position: absolute;
  bottom: 4px;
  left: 50%;
  line-height: 1.1;
  transform: translateX(-50%);
  font-size: 0.875rem;
  margin-bottom: 1px;
}
@media screen and (min-width: 768px) {
  .hamburger::after {
    bottom: 6px;
    font-size: 1.125rem;
    margin-bottom: 2px;
  }
}
.hamburger-box {
  display: block;
  position: absolute;
  top: 8px;
  width: 50px;
  height: 35px;
}
@media screen and (min-width: 768px) {
  .hamburger-box {
    width: 80px;
    height: 52px;
    top: 12px;
  }
}
.hamburger-box::before {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: url("../../uploads/menu_open_sp.png") no-repeat center center/contain;
  transition: all 0.5s;
}
@media screen and (min-width: 768px) {
  .hamburger-box::before {
    background-image: url("../../uploads/menu_open.png");
  }
}
.hamburger-inner::after {
  display: none;
  bottom: -10px;
}
.hamburger--collapse .hamburger-inner {
  top: auto;
  bottom: 0;
  transition-duration: 0.13s;
  transition-delay: 0.13s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse .hamburger-inner::after {
  top: -20px;
  transition: top 0.2s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), opacity 0.1s linear;
}
.hamburger--collapse .hamburger-inner::before {
  transition: top 0.12s 0.2s cubic-bezier(0.33333, 0.66667, 0.66667, 1), transform 0.13s cubic-bezier(0.55, 0.055, 0.675, 0.19);
}
.hamburger--collapse.js-hb-active .hamburger-box::before {
  transform: rotate(180deg);
  background-image: url("../../uploads/menu_close_sp.png");
}
@media screen and (min-width: 768px) {
  .hamburger--collapse.js-hb-active .hamburger-box::before {
    background-image: url("../../uploads/menu_close.png");
  }
}

/*------------------------------------------------------------
notFound
------------------------------------------------------------*/
.not-found-box {
  width: calc(100% - 24px);
  max-width: 1200px;
  margin: 0 auto;
  padding: 120px 0;
}

.not-found-text {
  margin-bottom: 25px;
  font-size: 16px;
}


@media only screen and (min-width: 960px) {/* ---------- Laptop PC ---------- */
  .not-found-box {
    padding: 300px 0 200px;
  }
  
  .not-found-text {
    margin-bottom: 50px;
    font-size: 24px;
    text-align: center;
  }
}

@media only screen and (min-width: 1280px) {/* ---------- Desktop PC ---------- */
}

/*------------------------------------------------------------
footer
------------------------------------------------------------*/
#footer.footer {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 40px 0 8px;
  background: #290002;
  color: #ffffff;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  #footer.footer {
    padding: 80px 0 16px;
  }
}
#footer.footer::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: 44px;
  background: #290002;
  z-index: 0;
}
@media (max-width: 767px) {
  #footer.footer::after {
    height: 70px;
  }
}
#footer * {
  box-sizing: border-box;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
#footer .pageTop {
  display: none;
  position: fixed;
  right: 10px;
  bottom: 10px;
  width: 70px;
  height: 70px;
  z-index: 9998;
}
@media screen and (min-width: 768px) {
  #footer .pageTop {
    width: 90px;
    height: 90px;
    right: 20px;
    bottom: 20px;
  }
}
#footer .pageTopAnchor {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 70px;
  height: 70px;
  color: #290002;
  transition: all 0.3s ease;
}
@media screen and (min-width: 768px) {
  #footer .pageTopAnchor {
    width: 90px;
    height: 90px;
  }
}
#footer .pageTopAnchor span {
  padding: 40px 0 0 24px;
  color: #fff;
  font-family: "termina", sans-serif;
  font-size: 0.625rem;
  font-weight: 700;
  font-style: normal;
  line-height: 1.1;
  text-align: center;
}
@media screen and (min-width: 768px) {
  #footer .pageTopAnchor span {
    padding: 54px 0 0 33px;
    font-size: 0.75rem;
    transition: all .3s;
    transform: scale(.9);
    transform-origin: right bottom;
  }
}
#footer .pageTopAnchor::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../../uploads/page_top_sp.png") no-repeat center center/contain;
  z-index: -1;
}
@media screen and (min-width: 768px) {
  #footer .pageTopAnchor::before {
    background-image: url("../../uploads/page_top.png");
    transform: scale(0.9);
    transform-origin: right bottom;
    transition: all 0.3s;
  }
}
#footer .pageTopAnchor::after {
  position: absolute;
  content: "";
  width: 16px;
  height: 16px;
  top: 28px;
  left: 42px;
  background: url("../../uploads/arrow_white.png") no-repeat center center/contain;
  transform: rotate(-90deg);
  z-index: 1;
}
@media screen and (min-width: 768px) {
  #footer .pageTopAnchor::after {
    width: 20px;
    height: 20px;
    top: 40px;
    left: 54px;
    transition: all .3s;
  }
}
@media print, screen and (min-width: 1201px) {
  #footer .pageTopAnchor:hover span {
    transform: none;
  }
  #footer .pageTopAnchor:hover::before {
    transform: none;
  }
  #footer .pageTopAnchor:hover::after {
    transform: translate(0,-10px) rotate(-90deg);
  }
}
#footer #searchJobsBtn {
  display: none;
  position: fixed;
  right: 0;
  bottom: 0;
  z-index: 9997;
  background-color: rgba(140, 140, 140, 0.6);
  width: 100%;
}
#footer #searchJobsBtn .searchJobsBtn-bnr {
  padding: 12px;
  text-align: center;
}
#footer #searchJobsBtn .searchJobsBtn-bnr a {
  display: block;
  width: 100%;
  margin: 0 auto;
  padding: 5px 10px;
  background: #ED6D00;
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .en,
#footer #searchJobsBtn .searchJobsBtn-bnr a .ja {
  display: block;
  color: #ffffff;
  font-weight: 500;
  line-height: 1;
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .en {
  margin-bottom: 5px;
  font-size: 1.5rem;
}
#footer #searchJobsBtn .searchJobsBtn-bnr a .ja {
  font-size: 0.8125rem;
}
#footer #searchJobsBtn .searchJobsBtn-bnr a img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
}
#footer .footerLayout {
  display: flex;
  position: relative;
  flex-direction: column;
  width: calc(100% - 35px);
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  #footer .footerLayout {
    flex-direction: row;
    align-items: baseline;
    justify-content: space-between;
    padding-bottom: 200px;
  }
}
#footer .footerCorpInfo {
  display: flex;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  #footer .footerCorpInfo {
    width: 380px;
  }
}
#footer .footerCorpInfo img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  line-height: 1;
  object-fit: contain;
}
#footer .footerTitle {
  margin-bottom: 8px;
  padding-bottom: 79px;
  position: relative;
}
@media screen and (min-width: 768px) {
  #footer .footerTitle {
    margin-bottom: 16px;
    padding-bottom: 64px;
  }
}
#footer .footerTitle::after {
  position: absolute;
  display: block;
  content: "株式会社平山 新卒採用サイト";
  /*content: none;*/
  color: #ffffff;
  width: 240px;
  line-height: 1.6;
  bottom: 0;
  left: 0;
}
@media screen and (min-width: 768px) {
  #footer .footerTitle::after {
    font-size: 1.125rem ;
    width: 260px;
  }
}
@media (max-width: 767px) {
  #footer .footerTitle::after {
    font-size: 1rem;
  }
}
#footer .footerCorpName {
  margin-bottom: 8px;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  #footer .footerCorpName {
    font-size: 1.125rem;
    font-weight: 500;
    line-height: 1.8;
  }
}
#footer .footerAddress {
  width: 180px;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  #footer .footerAddress {
    width: 220px;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
  }
}
#footer .footerAddress p:last-of-type {
  margin-top: 4px;
}

#footer .footerAddress .tel {
  color: #fff;
}
@media (max-width: 767px) {
  #footer .footerAddress .tel {
    pointer-events: none;
  }
}
#footer .footerAddress a:visited {
  color: #fff;
}

#footer .blankIconImg {
  display: inline-block;
  padding: 5px 0 0 10px;
  color: #ffffff;
  font-size: 0.75rem;
  line-height: 1;
  vertical-align: top;
}
#footer .blankIcon {
  display: flex;
}
@media screen and (min-width: 768px) {
  #footer .blankIcon {
    display: inline-block;
  }
}
#footer .blankIcon::after {
  height: 13px;
  width: 15px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: 0.81rem;
}
#footer .footerRemoteNav,
#footer .copyright {
  min-height: 0;
}
#footer .footerRemoteNav {
  padding-bottom: 20px;
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNav {
    width: calc(100% - 380px);
    padding-bottom: 0;
  }
}
#footer .footerRemoteNav .letter {
  position: relative;
  padding-left: 17px;
  font-size: 0.875rem;
  line-height: 1.5;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNav .letter {
    padding-left: 30px;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.8;
    transition: all 0.3s;
  }
}
#footer .footerRemoteNav .letter::before {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  top: calc(50% - 12px);
  left: -8px;
  background: url("../../uploads/arrow_white.png") no-repeat center center/contain;
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNav .letter::before {
    width: 30px;
    height: 30px;
    top: calc(50% - 14px);
    left: -4px;
  }
}
#footer .footerRemoteNav .letter::after {
  position: static;
  display: inline-block;
  font-size: 0.625rem;
  margin-left: 8px;
  transform: translateY(2px);
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNav .letter::after {
    font-size: 0.875rem;
    transform: translateY(-1px);
  }
}
#footer .footerRemoteNav .letter:hover {
  opacity: 1;
}
@media print, screen and (min-width: 1201px) {
  #footer .footerRemoteNav .letter:hover {
    color: #F06C73;
  }
  #footer .footerRemoteNav .letter:hover::before {
    background-image: url("../../uploads/arrow_link.png");
  }
}
#footer .footerRemoteNavList {
  display: grid;
  grid-auto-flow: column;
}
@media screen and (min-width: 768px) {
  #footer .footerRemoteNavList {
    display: flex;
    flex-wrap: wrap;
    padding: 8px 0 8px 40px;
    border-left: solid 1px #EEEEEE;
    transform: translateY(70px);
  }
}
@media (max-width: 767px) {
  #footer .footerRemoteNavList {
    display: none;
  }
}
#footer .footerRemoteNavList .footerRemoteNavItem {
  position: relative;
}

@media screen and (min-width: 768px) {
    #footer .footerRemoteNavList .footerRemoteNavItem {
        margin:0 16px 8px 0
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerTop {
        width: 100%
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerStrength {
        grid-area: 2/1/3/2
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerCasual {
        width: 100%
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerOffer {
        width: 100%;
        margin-bottom: 30px
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerOffer .blankIcon:after {
        content: none
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerIntern.block {
        display: block
    }
    #footer .footerRemoteNavList .footerRemoteNavItem.footerIntern.none {
        display: none
    }
}

#footer .footerBlankRemoteNavList {
  position: relative;
  margin: 28px 0 50px;
  z-index: 1;
}
#footer .footerBlankRemoteNavList .remoteNav {
  position: relative;
}
#footer .footerBlankRemoteNavList .remoteNav:not(:last-of-type) {
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  #footer .footerBlankRemoteNavList {
    display: flex;
    position: absolute;
    bottom: -10px;
    right: 0;
    margin: 0;
    z-index: 1;
  }
  #footer .footerBlankRemoteNavList .remoteNav {
    margin-right: 34px;
  }
}
@media screen and (min-width: 768px) {
  #footer .copyright {
    text-align: left;
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
}
@media (max-width: 767px) {
  #footer .copyright {
    text-align: center;
    width: 100%;
    position: absolute;
    bottom: 0;
    z-index: 1;
  }
}
#footer .copyright small {
  font-style: normal;
  font-size: 0.75rem;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  #footer .copyright small {
    font-size: 0.875rem;
  }
}


/*------------------------------------------------------------
コンテンツページ
------------------------------------------------------------*/
#strength #content01{
  padding: 70px 0 60px;
}

#strength .main-num{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 165px;
  border-right: 2px solid var(--txt-color);
}

#strength .main-num .en{
  width: 100%;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.8;
}

#strength .main-num .ttl{
  width: fit-content;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.1;
}

#strength .main-num .num{
  margin: 0 20px 0 0;
  font-size: 38px;
  font-weight: 700;
  line-height: 1.8;
  transform: translateY(-20px);
}

#strength .main-head{
  margin: 20px 0 16px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

#strength .strength-welfare{
  width: 320px;
  margin: 32px auto 0;
}

#strength .strength-welfare-list{
  display: grid;
  grid-template-columns: repeat(2,1fr);
  grid-gap: 24px 20px;
  padding: 20px 0;
}

#strength .strength-welfare-list .list-item .icon{
  border-radius: 50%;
  box-shadow: var(--box-shadow-blue);
}

#strength .strength-welfare-list .list-item .txt{
  width: calc(100% + 20px);
  margin: 8px -10px 0;
  font-weight: 700;
  text-align: center;
}

#strength .strength-welfare-satisfaction{
  padding: 20px 0 0;
}

#strength .strength-welfare-satisfaction .ttl{
  width: fit-content;
  margin: 0 auto;
  padding: 6px 46px;
  background-color: #fff;
  border: solid 2px var(--txt-color);
  border-radius: 99px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

#strength .strength-welfare-satisfaction .illust{
  width: 220px;
  margin: 12px auto 0;
}

#strength .strength-esports{
  margin-bottom: 32px;
  padding: 40px 24px 32px;
}

#strength .esports-ttl{
  position: relative;
}

#strength .esports-ttl .ttl{
  width: calc(100% - 40px);
  margin-top: 8px;
}

#strength .esports-ttl .medal{
  position: absolute;
  right: 0;
  bottom: 6px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 40px;
  height: 128px;
}

#strength .movie-block{
  margin: 28px 0;
}

#strength .movie-block .txt{
  margin-bottom: 28px;
}

#strength .movie-block .movie{
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 56.25%;
}

#strength .movie-block .movie iframe{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#strength .esports-voice{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 20px;
}

#strength .esports-voice .voice-block{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

#strength .esports-voice .voice-txt{
  width: calc(100% - 72px);
  padding: 13px 21px;
  border: solid 3px var(--txt-color);
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

#strength .esports-voice .voice-person{
  width: 60px;
  height: 105px;
}

#strength #content02{
  padding: 70px 0 60px;
  background-color: var(--acc-color20);
}

@media print, screen and (max-width: 767px){
  #strength #content02 .main-head{
    font-size: 14px;
    line-height: 1.8;
  }
}

#strength .strength-jobchange{
  margin: 32px 0 0;
  padding: 20px 24px 32px;
}

#strength #content02 .exclamation{
  padding: 20px 0 0;
}

#strength #content02 .exclamation::before{
  bottom: auto;
  top: 0;
}

#strength #content02 .exclamation-ttl .num{
  display: inline-block;
  width: 24px;
  font-size: 40px;
  line-height: 1;
  margin: 0 3px;
  transform: translateY(-7px);
}

#strength .jobchange-list{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 20px;
  width: 280px;
  margin: 28px auto 20px;
}

#strength .jobchange-item{
  padding: 10px;
  border: solid 2px var(--txt-color);
}

#strength .jobchange-ttl{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}

#strength .jobchange-ttl .num{
  width: 52px;
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}

#strength .jobchange-ttl .txt{
  width: calc(100% - 52px);
  font-weight: 700;
  line-height: 1.4;
}

#strength .jobchange-item .img{
  width: 214px;
  margin: 10px auto 0;
}

#strength .jobchange-message{
  width: 280px;
  margin: 0 auto;
  font-size: 13px;
  line-height: 1.8;
}

#strength #content03{
  padding: 60px 0 85px;
  background-color: var(--main-color20);
}

#strength .sterngth-culture-message{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 20px;
  margin: 32px 0 0;
  padding: 25px 24px 28px;
}

#strength .sterngth-culture-message .txt{
  margin-top: 12px;
}

#strength .strength-gj{
  margin-bottom: 28px;
  padding: 30px 22px;
  border: solid 2px var(--txt-color);
}

#strength .gj-txt-block .ttl{
  margin-bottom: 28px;
}

#strength .gj-txt-block .txt:not(:last-of-type){
  margin-bottom: 1.8em;
}

#strength .gj-img{
  width: 150px;
  margin: 12px auto 0;
}

#strength .strength-culture-voice{
  position: relative;
  padding: 20px 24px 0;
  overflow: hidden;
}

#strength .strength-culture-voice .voice-img{
  width: calc(100% + 48px);
  margin: 20px -24px 0;
  text-align: center;
}

#strength .strength-culture-voice .voice-txt{
  position: absolute;
  bottom: 52px;
  left: 50%;
  transform: translateX(-50%);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  z-index: 1;
}

#strength #content04{
  padding: 70px 0 60px;
  background-color: var(--acc-color20);
}

#strength .strength-support{
  margin: 32px 0;
}

#strength .support-ttl{
  border-bottom: 2px solid var(--acc-color);
}

#strength .support-content{
  position: relative;
  padding: 28px 24px 0;
}

#strength .support-main-img{
  width: 303px;
  margin: 0 auto 20px;
}

#strength .support-step-list{
  display: flex;
  flex-direction: column;
  grid-gap: 20px;
}

#strength .support-step-item{
  position: relative;
  padding: 8px 12px;
}

#strength .support-step-ttl{
  position: relative;
  padding-bottom: 8px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

#strength .support-step-ttl::before{
  position: absolute;
  content: "";
  width: 100%;
  height: 3px;
  background: url(../../uploads/line_dash.png) repeat-x center center / 6px 3px;
  bottom: 0;
  left: 0;
  z-index: 1;
}

#strength .support-step-ttl .num{
  padding-right: 8px;
  font-size: 10px;
  font-weight: 700;
}

#strength .support-step-txt{
  margin-top: 8px;
}

#strength .support-step-txt .en{
  position: absolute;
  top: 13px;
  right: 12px;
  color: #CCCCCC;
  font-size: 12px;
}

#strength .support-step-txt .step-list{
  margin: 8px 0;
  padding: 0 12px;
  font-size: 0;
}

#strength .support-step-txt .step-item{
  position: relative;
  display: inline-block;
  margin: 0 8px 0 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

#strength .support-step-txt .step-item .etc{
  padding-left: 10px;
}

#strength .support-step-txt .summary{
  padding: 2px 0;
  background-color: var(--acc-color60);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-align: center;
}

#strength .strength-support-message{
  margin-bottom: 32px;
  padding: 20px 24px 32px;
}

#strength .strength-support-message .txt{
  width: calc(100% - 23px);
  margin: 28px auto;
}

#strength .support-message-img{
  width: calc(100% - 23px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 20px;
}

#strength #content05{
  padding: 70px 0 60px;
  background-color: rgba(255,255,255,.4);
}

#strength .strength-reason{
  margin: 32px 0;
  padding: 20px 24px 32px;
}

#strength .reason-block-wrapper{
  width: 280px;
  margin: 0 auto;
}

#strength .reason-list-ttl{
  margin: 18px 0 8px;
  font-size: 14px;
  font-weight: 700;
}

#strength .reason-list{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  grid-gap: 12px 12px;
}

#strength .reason-item{
  position: relative;
  padding: 0 0 8px;
  background-color: #fff;
  border: solid 2px var(--txt-color);
  border-radius: 10px;
  text-align: center;
}

#strength .reason-item .txt{
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 6px;
  font-size: 12px;
  font-weight: 700;
}

#strength .reason-list .reason-item .icon{
  margin-top: -8px;
}

#strength .reason-item:last-of-type .icon{
  margin: 0 0 -8px;
}
@media print, screen and (min-width: 768px){

  #strength #content01{
    padding: 120px 0;
    background-color: rgba(243,243,243,.4);
  }

  #strength .main-block{
    display: flex;
    justify-content: space-between;
  }
  
  #strength .main-num{
    width: 330px;
    align-items: stretch;
    border-width: 4px;
  }

  #strength .main-num .en{
    height: 70px;
    font-size: 40px;
  }

  #strength .main-num .ttl{
    height: calc(100% - 70px);
    font-size: 40px;
    line-height: 1;
  }

  #strength .main-num .num{
    margin: 0 40px 0 0;
    font-size: 76px;
    line-height: 1;
    transform: translateY(-10px);
  }
  
  #strength .main-txt{
    width: calc(100% - 370px);
  }
  
  #strength .main-head{
    margin: 0 0 32px;
    font-size: 28px;
    line-height: 1.8;
  }
  
  #strength .strength-welfare{
    display: flex;
    flex-wrap: wrap;
    width: auto;
    margin: 56px 0 80px;
  }

  #strength .strength-welfare-list{
    width: calc(100% - 440px);
    grid-template-columns: repeat(3,1fr);
    grid-gap: 40px 40px;
    padding: 40px;
  }

  #strength .strength-welfare-list .list-item .icon{
    box-shadow: var(--box-shadow-blue-pc);
  }

  #strength .strength-welfare-satisfaction{
    width: 440px;
    padding: 40px 20px;
  }

  #strength .strength-welfare-satisfaction .ttl{
    width: 100%;
    margin: 0 auto;
    padding: 0;
    border-width: 4px;
    font-size: 18px;
    line-height: 1.8;
    text-align: center;
  }

  #strength .strength-welfare-satisfaction .illust{
    width: 400px;
    margin: 24px auto 0;
  }

  #strength .strength-esports{
    margin-bottom: 56px;
    padding: 50px 120px 64px;
  }
  
  #strength .esports-ttl .ttl{
    width: calc(100% - 300px);
  }

  #strength .esports-ttl .medal{
    width: 300px;
    height: 80px;
    position: absolute;
    bottom: 14px;
    flex-direction: row;
    grid-gap: 30px;
  }

  #strength .movie-block{
    max-width: 640px;
    margin: 40px auto 64px;
  }

  #strength .esports-voice{
    grid-template-columns: repeat(2,1fr);
  grid-gap: 20px;
}

  #strength .esports-voice .voice-block{
    align-items: center;
  }

  #strength .esports-voice .voice-txt{
    width: calc(100% - 136px);
    padding: 20px 28px;
    border-width: 4px;
    font-size: 16px;
  }

  #strength .esports-voice .voice-person{
    width: 120px;
    height: 210px;
  }

  #strength #content02{
    padding: 120px 0;
  }

  #strength .strength-jobchange{
    margin: 56px 0 0;
    padding: 50px 120px 64px;
  }

  #strength #content02 .exclamation{
    padding: 60px 0 10px;
  }

  #strength #content02 .exclamation-ttl .num{
    font-size: 36px;
  }

  #strength .jobchange-list{
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 40px;
    width: 100%;
    margin: 40px auto;
  }

  #strength .jobchange-item{
    padding: 0 16px;
    border-width: 4px;
    border-radius: 20px;
  }

  #strength .jobchange-ttl .num{
    width: 92px;
    font-size: 40px;
  }

  #strength .jobchange-ttl .txt{
    width: calc(100% - 92px);
    font-size: 16px;
    line-height: 1.8;
  }

  #strength .jobchange-item .img{
    width: 428px;
    margin: 0 auto;
  }

  #strength .jobchange-message{
    width: 100%;
    font-size: 16px;
    font-weight: 700;
  }

  #strength #content03{
    padding: 120px 0 170px;
  }

  #strength .sterngth-culture-message{ 
    grid-template-columns: repeat(2,1fr);
    grid-gap: 40px;
    margin: 56px 0 0;
    padding: 46px 0 56px;
  }

  #strength .sterngth-culture-message .txt{
    margin-top: 24px;
  }

  #strength .strength-gj{
    display: flex;
    justify-content: space-between;
    margin-bottom: 56px;
    padding: 64px 120px;
    border-width: 4px;
  }

  #strength .gj-txt-block{
    width: calc(100% - 360px);
  }
  
  #strength .gj-txt-block .ttl{
    margin-bottom: 32px;
  }

  #strength .gj-img{
    width: 300px;
    margin: 0;
  }

  #strength .strength-culture-voice{
    padding: 64px 120px 0;
  }

  #strength .strength-culture-voice .voice-img{
    width: 100%;
    margin: 10px auto 0;
  }

  #strength .strength-culture-voice .voice-txt{
    bottom: 16px;
    font-size: 24px;
  }

  #strength #content04{
    padding: 120px 0;
  }

  #strength .strength-support{
    margin: 56px 0;
  }

  #strength .support-ttl{
    padding-bottom: 16px;
  }

  #strength .support-content{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 40px 0 0;
  }

  #strength .support-main-img{
    width: 500px;
    margin: 0;
  }

  #strength .support-step-list{
    width: calc(100% - 517px);
    flex-direction: column-reverse;
    justify-content: center;
  }

  #strength .support-step-item{
    padding: 16px 24px;
    border-radius: 20px;
  }

  #strength .support-step-item:last-of-type{
    margin-left: 180px;
  }
  
  #strength .support-step-item:nth-of-type(2){
    margin-left: 90px;
  }
  
  #strength .support-step-ttl{
    font-size: 18px;
  }

  #strength .support-step-ttl::before{
    height: 2px;
    background: url(../../uploads/line_dash_pc.png) repeat-x center center / 12px 2px;
  }

  #strength .support-step-ttl .num{
    padding-right: 16px;
    font-size: 14px;
  }

  #strength .support-step-txt{
    margin-top: 10px;
  }

  #strength .support-step-txt .en{
    top: 16px;
    right: 24px;
    font-size: 20px;
  }

  #strength .support-step-txt .step-list{
    padding: 0 20px;
  }

  #strength .support-step-txt .step-item{
    margin: 0 20px 2px 0;
    font-size: 16px;
  }
  
  #strength .support-step-txt .step-item .etc{
    padding-left: 16px;
  }

  #strength .support-step-txt .summary{
    padding: 3px 0;
    font-size: 16px;
  }

  #strength .strength-support-message{
    margin-bottom: 56px;
    padding: 80px 120px 64px;
  }

  #strength .strength-support-message .txt{
    width: 100%;
    margin: 40px 0;
  }

  #strength .support-message-img{
    width: 100%;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 40px;
  }

  #strength #content05{
    padding: 120px 0;
  }

  #strength .strength-reason{
    margin: 56px 0;
    padding: 48px 120px 50px;
  }

  #strength .reason-block-wrapper{
    width: 100%;
  }

  #strength .reason-list-ttl{
    margin: 40px 0 8px;
    font-size: 16px;
  }

  #strength .reason-list{
    grid-template-columns: repeat(6,1fr);
    grid-gap: 24px
  }

  #strength .reason-item{
    padding: 0;
    border-width: 4px;
    border-radius: 20px;
  }

  #strength .reason-item .txt{
    bottom: 12px;
    font-size: 16px;
  }

  #strength .reason-list .reason-item .icon{
    margin-top: 0!important;
  }

  #strength .reason-content{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 56px;
  }
  
  #strength .reason-content .reason-block{
    width: calc((100% - 40px) / 2);
  }
}




#support .menu-list{
  margin-top: -30px;
}

#support #welfare{
  position: relative;
  padding: 50px 0;
  z-index: 0;
}

#support #welfare::before{
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% - 50px);
  top: 50px;
  left: 0;
  background-color: #F3F3F3;
  z-index: -1;
}

#support .support-content{
  margin: 28px 0;
  padding: 28px 24px;
}

#support .support-content:last-of-type{
  margin-bottom: 0;
}

#support .underline{
  position: relative;
  padding-bottom: 6px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  border-bottom: solid 2px #ED6D00;
}

#support .underline.blue-line{
  border-color: var(--main-color);
}

#support .support-list{
  position: relative;
  display: flex;
  flex-direction: column;
  grid-gap: 4px;
  margin: 20px 0 0;
  z-index: 0;
}

#support .support-list-item{
  line-height: 1;
}

#support .support-list-item::before{
  top: 9px;
}

#support .support-list-item .txt{
  margin-right: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

#support .support-list-item .small{
  display: inline-block;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

#support .welfare-esports .txt .small{
  font-size: 13px;
}

#support .support-img-list{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 28px;
  margin: 32px 0 0; 
}

#support .support-img-item .support-list-item{
  margin: 8px -10px 4px 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

#support .support-content.allowance .support-list{
  margin-bottom: 44px;
}

#support .support-content.allowance .support-list::before{
  position: absolute;
  content: "";
  width: 94px;
  height: 115px;
  background: url("../../uploads/support_welfare01_illust.png")no-repeat center center / contain;
  bottom: 0;
  right: 0;
  z-index: -1;
}

#support .support-content.vacation .support-list::before{
  position: absolute;
  content: "";
  width: 120px;
  height: 120px;
  right: 0;
  top: 23px;
  background: url("../../uploads/support_welfare02_illust.png")no-repeat center center / contain;
  z-index: -1;
}

#support .support-content.health .support-list{
  padding-bottom: 160px;
}

#support .support-content.health .support-list::before{
  position: absolute;
  content: "";
  width: 240px;
  height: 110px;
  background: url("../../uploads/support_welfare03_illust.png")no-repeat center center / contain;
  bottom: 25px;
  left: 50%;
  transform: translateX(-50%);
}

#support .welfare-esports .support-img-list{
  width: calc(100% - 71px);
  margin: 32px auto 0;
}

#support #careersupport{
  padding: 70px 0 60px;
  background-color: #F3F3F3;
  z-index: 0;
}

#support #careersupport .overview{
  margin: 28px 0;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

#support .en-gray{
  position: absolute;
  top: 28px;
  right: 24px;
  color: #CCCCCC;
  font-size: 20px;
  font-weight: 700;
}

#support .target-txt{
  display: flex;
  margin: 4px 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8
}

#support .target-txt .target{
  margin-right: 5px;
}

#support .txt-list-item{
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

#support .etc{
  display: block;
  text-align: right;
}

#support #careersupport .support-content{
  position: relative;
}

#support .support-content.basic .support-img-list,
#support .support-content.application .support-img-list{
  width: calc(100% - 23px);
  margin: 32px auto 0;
}

#support .support-content.option .exclamation::before{
  bottom: 26px;
}

#support .support-content.option .en-gray{
  top: 94px;
}

#support .option-overview{
  margin: 32px 0 16px;
}

#support .option-content{
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  justify-content: space-between;

}
#support .option-list{
  width: 160px;
  padding: 16px 0;
}

#support .option-illust{
  width: calc(100% - 160px);
  padding-bottom: 10px;
}

#support .option-list-ttl{
  width: fit-content;
  margin-bottom: 8px;
  padding: 2px 14px;
  border: solid 2px var(--acc-color);
  border-radius: 99px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
  text-align: center;
}

#support #careersupport .support-list{
  margin: 0;
}

#support .option-end{
  margin-top: 16px;
}

@media print, screen and (max-width: 767px){
  #support .top .option-list:nth-of-type(2){
    width: 100%;
    border-top: solid 1px #EEEEEE;
    border-bottom: solid 1px #EEEEEE;
    order: 1;
  }

  #support .bottom .option-list:first-of-type{
    width: 100%;
    border-bottom: solid 1px #EEEEEE;
    order: -1;
  }

  #support .bottom .option-list:nth-of-type(2){
    width: 160px;
  }
}
@media print, screen and (min-width: 768px){
  #support .menu-list{
    margin-top: 0;
  }

  #support #welfare{
    margin-top: 0;
    padding: 120px 0;
  }

  #support #welfare::before{
    height: calc(100% - 120px);
    top: 120px;
  }

  #support .support-content{
    margin: 56px 0;
    padding: 56px 120px 64px;
  }

  #support .underline{
    margin-bottom: 40px;
    padding: 16px 0;
    font-size: 20px;
    line-height: 1.5;
  }

  #support .support-list{
    grid-gap: 8px;
    margin: 0;
  }
  
  #support .support-list-item::before{
    top: 12px;
  }
  
  #support .img-line + .support-list-item::before{
    top: 9px;
  }

  #support .support-list-item .txt{
    margin-right: 16px;
    font-size: 16px;
  }

  #support .support-list-item .small{
    font-size: 16px;
  }

  #support .support-list-item .small.min{
    font-size: 14px;
  }

  #support .welfare-esports .txt .small{
    font-size: 14px;
  }
  
  #support .column-2{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 8px 40px;
  }
  
  #support .support-img-list{
    grid-gap: 32px 40px;
  }

  #support .support-img-item .support-list-item{
    margin: 16px 0 8px;
    font-size: 16px;
  }
  
  #support .support-img-item .txt{
    font-weight: 500;
  }

  #support .support-content.allowance .support-list{
    margin-bottom: 64px;
    padding-right: 120px;
  }

  #support .support-content.allowance .support-list::before{
    width: 188px;
    height: 230px;
    bottom: -50px;
  }

  #support .support-content.vacation .support-list{
    padding-right: 120px;
  }
  
  #support .support-content.vacation .support-list::before{
    width: 180px;
    height: 180px;
    right: 50px;
    top: -20px;
  }
  
  #support .support-content.health .support-list{
    padding-bottom: 208px;
  }

  #support .support-content.health .support-list::before{
    width: 400px;
    height: 184px;
    bottom: 0;
    left: 0;
    transform: none;
  }

  #support .welfare-esports{
    margin-top: 110px;
  }
  
  #support .welfare-esports .support-img-list{
    width: 100%;
    margin: 40px 0 0;
  }
  
  #support .welfare-esports .support-img-item{
    padding-right: 20px;
  }

  #support #careersupport{
    padding: 120px 0;
  }

  #support #careersupport .overview{
    margin: 56px 0;
    font-size: 28px;
    line-height: 1.8;
  }

  #support #careersupport .support-img-list{
    grid-gap: 40px;
  }
  
  #support .en-gray{
    top: 56px;
    right: 120px;
    font-size: 40px;
  }

  #support #careersupport .support-img-item{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 40px;
  }
  
  #support #careersupport .support-img-item .support-list-item{
    margin: 0 0 24px;
    font-size: 18px;
  }
  
  #support .target-txt{
    margin: 24px 0 8px;
    font-size: 16px;
  }

  #support .target-txt .target{
    margin-right: 10px;
  }

  #support .support-content.basic .support-img-list,
  #support .support-content.application .support-img-list{
    width: 100%;
    margin: 0;
  }

  #support .support-content.option{
    padding-top: 80px;
  }
  
  #support .support-content.option .exclamation::before{
    bottom: 0;
  }

  #support .support-content.option .en-gray{
    top: 80px;
  }

  #support .option-overview{
    margin: 40px 0 24px;
  }

  #support .option-content{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    padding: 28px 0;
  }
  
  #support .option-content.bottom{
    padding-top: 40px;
    border-top: solid 1px #EEEEEE;
  }
  
  #support .option-content.bottom .option-illust{
    order: -1;
  }
  
  #support .option-list{
    width: auto;
    padding: 0;
  }
  
  #support .option-illust{
    width: auto;
  }

  #support .option-list-ttl{
    margin-bottom: 24px;
    padding: 0px 22px;
  }
  
  #support .option-end{
    margin-top: 24px;
    font-weight: 500;
  }

}


#casualtalking #about{
  position: relative;
  margin-top: 50px;
  padding: 20px 0 50px;
  z-index: 0;
}

#casualtalking #about::before{
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% - 20px);
  top: 20px;
  left: 0;
  background-color: #F3F3F3;
  z-index: -1;
}

#casualtalking .about-main{
  width: calc(100% - 71px);
  margin: 40px auto;
}

#casualtalking .about-txt .txt{
  margin: 20px 0 40px;
  font-weight: 700;
}

#casualtalking .about-main .exclamation-ttl{
  margin-bottom: 8px;
  padding-bottom: 0;
  border-bottom: none;
}

#casualtalking .about-main .exclamation.ttl{
  margin-bottom: 0;
}

#casualtalking .about-main .exclamation::before{
  bottom: 4px;
}

#casualtalking .about-recommend{
  margin: 40px 0;
}

#casualtalking .recommend-item{
  margin-bottom: 8px;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

#casualtalking .recommend-item .etc{
  margin-left: 8px;
}

#casualtalking .about-message{
  padding: 21px 25px;
  border: solid 3px var(--txt-color);
}

#casualtalking .about-message .ttl{
  margin-bottom: 12px;
}

#casualtalking .about-message .list-item-icon::before{
  top: 7px;
}

#casualtalking .about-message-img{
  width: calc(100% + 5px);
  margin: 24px -2.5px 0;
}

#casualtalking #guideline{
  position: relative;
  margin-top: 50px;
  padding: 20px 0 50px;
  z-index: 0;
}

#casualtalking #guideline::before{
  position: absolute;
  content: "";
  width: 100%;
  height: calc(100% + 70px);
  top: -60px;
  left: 0;
  background-color: #F3F3F3;
  z-index: -1;
}

#casualtalking .guideline-list{
  margin: 40px 0;
}

#casualtalking .guideline-list-item:not(:last-of-type){
  margin-bottom: 20px;
}

#casualtalking .guideline-ttl{
  margin-bottom: 8px;
  padding: 12px 26px;
  background-color: var(--main-color60);
  border-radius: 10px 10px 0 0;
  box-shadow: var(--box-shadow-blue);
  font-weight: 700;
}

#casualtalking .guideline-txt{
  padding: 12px 28px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
  box-shadow: var(--box-shadow-blue);
  font-weight: 700;
}

#casualtalking .guideline-message{
  position: relative;
  padding: 44px 0 211px;
  border: solid 3px var(--txt-color);
}

#casualtalking .guideline-message::before{
  position: absolute;
  content: "";
  width: 303px;
  height: 200px;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  background: url("../../uploads/casualtalk_guideline_img_sp.png")no-repeat center center / contain;
}

#casualtalking .guideline-message .ttl{
  position: relative;
  max-width: 303px;
  margin: 0 auto 28px;
  z-index: 0;
}

#casualtalking .guideline-message .ttl .en{
  position: absolute;
  top: 50%;
  left: 0;
  color: var(--acc-color20);
  font-size: 17px;
  font-weight: 400;
  letter-spacing: -.03em;
  line-height: 1.6;
  text-transform: uppercase;
  transform: translateY(-50%);
  z-index: -1;
}

#casualtalking .guideline-message .txt{
  max-width: 303px;
  margin: 0 auto;
  font-weight: 700;
}

#casualtalking #faq{
  padding: 60px 0;
  background-color: rgba(243,243,243,.4);
}

#casualtalking .faq-list{
  margin: 28px 0 0;
}

#casualtalking .faq-item{
  padding: 28px 24px 32px;
}

#casualtalking .faq-item:not(:last-of-type){
  margin-bottom: 16px;
}

#casualtalking .faq-ttl{
  position: relative;
  padding: 0 0 4px 68px;
  border-bottom: solid 1px var(--main-color);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

#casualtalking .faq-ttl::before{
  position: absolute;
  content: "";
  width: 40px;
  height: 25px;
  bottom: 4px;
  left: 16px;
  background: url("../../uploads/casualtalk_faq_q.png")no-repeat center center / contain;
}

#casualtalking .faq-txt{
  position: relative;
  margin-top: 20px;
  padding: 0 8px 0 66px;
  font-size: 13px;
  line-height: 1.8;
}

#casualtalking .faq-txt::before{
  position: absolute;
  content: "";
  width: 30px;
  height: 30px;
  top: 0;
  left: 24px;
  background: url("../../uploads/casualtalk_faq_a.png")no-repeat center center / contain;
}

#casualtalking #form{
  padding: 60px 0;
  background-color: var(--acc-color20);
}

#casualtalking .form-overview{
  margin: 28px 0;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.8;
}

#casualtalking .form-content{
  padding: 40px 13px 55px;
}

#casualtalking .form-step-list{
  position: relative;
  z-index: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  width: 240px;
  margin: 0 auto 20px;
}

#casualtalking .form-step-list::before{
  position: absolute;
  content: "";
  width: 200px;
  height: 2px;
  background-color: var(--txt-color);
  top: 32px;
  left: 18px;
  z-index: -1;
}

#casualtalking .form-step-item{
  text-align: center;
}

#casualtalking .form-step-item .step{
  font-size: 11px;
  font-weight: 700;
}

#casualtalking .form-step-item .num{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 35px;
  height: 35px;
  margin: 0 auto;
  background-color: #fff;
  border: solid 2px var(--txt-color);
  border-radius: 50%;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

#casualtalking .form-step-item .txt{
  font-size: 13px;
}

@media print, screen and (min-width: 768px){
  #casualtalking .content-head{
    padding-top: 260px;
  }
  
  #casualtalking .menu-list{
    padding: 27px 120px;
  }
  
  #casualtalking #about{
    margin-top: 100px;
    padding: 20px 0 120px;
  }

  #casualtalking .about-main{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    width: 100%;
    margin: 56px 0 48px;
  }

  #casualtalking .about-img{
    width: 560px;
  }
  
  #casualtalking .about-txt{
    width: calc(100% - 632px);
  }
  
  #casualtalking .about-txt .txt{
    margin: 0 0 56px;
  }

  #casualtalking .about-main .exclamation-ttl{
    margin-bottom: 16px;
  }

  #casualtalking .about-recommend{
    margin: 0;
  }
  
  #casualtalking .recommend-item{
    font-size: 16px;
  }

  #casualtalking .recommend-item .etc{
    margin-left: 16px;
  }
  
  #casualtalking .about-recommend.pc-wide{
    width: 100%;
    margin-top: 64px;
  }
  
  #casualtalking .about-recommend.pc-wide .recommend-list{
    padding: 0 50px;
  }
  
  #casualtalking .about-recommend.pc-wide .recommend-item{
    display: inline-block;
    margin: 0 32px 16px 0;
  }
  
  #casualtalking .about-message{
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 48px 72px;
    border-width: 4px;
  }

  #casualtalking .about-message-txt{
    width: 420px;
  }
  
  #casualtalking .about-message .ttl{
    margin-bottom: 24px;
  }

  #casualtalking .about-message .list-item-icon::before{
    top: 10px;
  }

  #casualtalking .about-message-img{
    width: calc(100% - 448px);
    margin: 0;
  }

  #casualtalking #guideline{
    margin-top: -20px;
    padding: 20px 0 120px;
  }

  #casualtalking .guideline-list{
    margin: 56px 0 120px;
  }

  #casualtalking .guideline-list-item{
    display: grid;
    grid-template-columns: 300px 1fr;
    grid-gap: 16px;
  }
  
  #casualtalking .guideline-list-item:not(:last-of-type){
    margin-bottom: 16px;
  }

  #casualtalking .guideline-ttl{
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 48px;
    border-radius: 10px 0 0 10px;
  }

  #casualtalking .guideline-txt{
    padding: 16px 48px;
    border-radius: 0 10px 10px 0;
    box-shadow: var(--box-shadow-blue-pc);
  }

  #casualtalking .guideline-message{
    padding: 77px 28px 60px 400px;
    border-width: 4px;
  }

  #casualtalking .guideline-message::before{
    width: 330px;
    height: 380px;
    left: 0;
    transform: none;
    background: url("../../uploads/casualtalk_guideline_img_pc.png")no-repeat center center / contain;
  }

  #casualtalking .guideline-message .ttl{
    max-width: none;
    margin: 0 0 56px;
  }

  #casualtalking .guideline-message .ttl .en{
    font-size: 40px;
    line-height: 1.2;
  }

  #casualtalking .guideline-message .txt{
    max-width: none;
    margin: 0;
    font-size: 18px;
  }

  #casualtalking #faq{
    padding: 120px 0;
  }

  #casualtalking .faq-list{
    margin: 56px 0 0;
  }

  #casualtalking .faq-item{
    padding: 24px 120px;
  }

  #casualtalking .faq-item:not(:last-of-type){
    margin-bottom: 32px;
  }

  #casualtalking .faq-ttl{
    padding: 12px 48px 20px 146px;
    border-width: 2px;
    font-size: 18px;
    line-height: 1.5;
  }

  #casualtalking .faq-ttl::before{
    width: 74px;
    height: 46px;
    bottom: 4px;
    left: 48px;
  }

  #casualtalking .faq-txt{
    margin-top: 32px;
    padding: 0 120px 0 194px;
    font-size: 16px;
    line-height: 1.6;
  }

  #casualtalking .faq-txt::before{
    width: 50px;
    height: 50px;
    left: 120px;
  }

  #casualtalking #form{
    padding: 120px 0;
  }

  #casualtalking .form-overview{
    margin: 56px 0;
    padding: 0 120px;
    font-size: 16px;
  }

  #casualtalking .form-content{
    padding: 80px 96px;
  }

  #casualtalking .form-step-list{ 
    width: 310px;
    margin: 0 auto 40px;
  }

  #casualtalking .form-step-list::before{
    width: 250px;
    height: 4px;
    top: 52px;
    left: 30px;
  }

  #casualtalking .form-step-item .step{
    font-size: 16px;
  }

  #casualtalking .form-step-item .num{
    width: 60px;
    height: 60px;
    border-width: 4px;
    font-size: 24px;
  }

  #casualtalking .form-step-item .txt{
    font-size: 18px;
  }

}


#offer .content-head{
  padding-bottom: 84px;
}

#offer .content-head .ja{
  font-size: min(20px,calc(100vw / 375 * 20));
  text-align: center;
}

#offer .menu-list{
  box-shadow: var(--box-shadow-green);
}

#offer #greeting{
  position: relative;
  z-index: 0;
  margin-top: 60px;
  padding: 100px 0 50px;
  background: url("../../uploads/offer_greeting_bg_sp.png")no-repeat center top / cover;
  background-color: #F2FAF5;
}

#offer .greeting-ttl{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 321px;
  height: 43px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 99px;
  border: solid 3px var(--logo-color02);
  box-shadow: var(--box-shadow-green);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.8;
  outline: 5px solid #fff;
  text-align: center;
}

#offer .greeting-ttl::before{
  position: absolute;
  content: "";
  width: 180px;
  height: 100px;
  background: url("../../uploads/offer_greeting_ttl_bg_pc.png")no-repeat center bottom / cover;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

#offer .greeting-overview{
  max-width: 315px;
  margin: 40px auto;
}

#offer .greeting-overview .txt{
  font-weight: 700;
  text-align: center;
}

#offer .greeting-overview .txt:not(:last-of-type){
  margin-bottom: 1.8rem;
}

#offer .greeting-link .exclamation-ttl{
  padding: 0;
  border: none;
}

#offer .greeting-link .exclamation{
  margin-bottom: 16px;
  padding: 0;
  font-size: 15px;
  line-height: 2;
  text-align: center;
}

#offer .greeting-link .exclamation::before{
  bottom: auto;
  top: -16px;
  left: calc(50% - 96px);
}

#offer .greeting-link-list{
  display: grid;
  grid-template-columns: repeat(1,1fr);
  grid-gap: 20px;
  width: 250px;
  margin: 0 auto;
}

#offer .greeting-link-item .link-item{
  position: relative;
}

#offer .greeting-link-item .link-item a{
  display: inline;
}

#offer .greeting-link-item .link-txt{
  position: absolute;
  width: 100%;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  left: 0;
  bottom: 0;
}

#offer .greeting-link-item .link-txt .txt{
  position: relative;
  padding-right: 20px;
  display: inline-block;
  font-size: 14px;
  font-weight: 700;
}

#offer .greeting-link-item .link-txt .txt::before{
  position: absolute;
  content: "";
  background: url(../../uploads/arrow_black.png) no-repeat center center/contain;
  width: 9px;
  height: 9px;
  top: calc(50% - 4px);
  right: 0;
  transition: all .3s
}

#offer .greeting-link-item .js-clickitemBlank .link-txt .txt::before{
  height: 13px;
  width: 14px;
  top: calc(50% - 10px);
  right: 0;
  background: none;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: 0.625rem;
}

#offer #about{
  padding: 60px 0;
  background-color: #F3F3F3;
}

#offer .offer-head{
  margin-bottom: 40px;
  text-align: center;
}

#offer .offer-head .ja{
  display: block;
  font-size: 26px;
  font-weight: 700;
  line-height: 1.8;
}

#offer #document .offer-head .ja{
  line-height: 1.4;
}

#offer .offer-head .en{
  display: block;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.8;
}

#offer .offer-common-wrapper{
  padding: 40px 24px;
  box-shadow: var(--box-shadow-green);
}

#offer .about-content-wrapper-ttl{
  padding-bottom: 6px;
  border-bottom: solid 2px var(--logo-color02);
}

#offer .about-target{
  margin-bottom: 8px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

#offer .occupation-list{
  width: calc(100% + 8px);
  margin-right: -8px;
}

#offer .occupation-list .list-item{
  display: inline-block;
  margin: 0 8px 8px 0;
  padding: 2px 12px;
  border: solid 1px var(--logo-color02);
  border-radius: 99px;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

#offer .about-content-block{
  padding-top: 40px;
}

#offer .about-content-block:not(:last-of-type){
  margin-bottom: 12px;
}

#offer .offer-common-ttl{
  width: fit-content;
  padding: 4px 20px;
  background-color: #CCECD9;
  border-radius: 99px;
  font-size: 15px;
  font-weight: 700;
  line-height: 2;
}

#offer .about-content .about-content-overview{
  padding: 12px 0 28px;
  font-weight: 700;
}

#offer .about-content-list-item:not(:last-of-type){
  margin-bottom: 20px;
}

#offer .about-content-ttl{
  margin-bottom: 8px;
  padding: 12px 28px;
  background-color: #E5F5EC;
  border-radius: 10px 10px 0 0;
  box-shadow: var(--box-shadow-green);
  font-weight: 700;
}

#offer .about-content-txt{
  padding: 12px 28px;
  background-color: #fff;
  border-radius: 0 0 10px 10px;
  box-shadow: var(--box-shadow-green);
  font-weight: 700;
}

#offer .about-content-txt .txt{
  font-weight: 700;
}

#offer .about-content-txt .note{
  margin-top: .5em;
}

#offer .about-content-txt .deadline{
  display: inline-block;
}

#offer .about-content-txt .mail{
  display: block;
}

#offer .about-content-txt .commonLink{
  margin: 12px auto;
  padding: 2px 36px 2px 20px;
  background-color: #66C58D;
}

#offer .about-content-txt .commonLink::after{
  top: calc(50% - 10px);
  right: 14px;
}

#offer .about-content-txt .qr{
  display: none;
}

#offer .about-content-txt.undecided > div,
#offer .about-content-txt.undecided > a{
  display: none;
}

#offer .about-content-txt.decided > p{
  display: none;
}

#offer .about-content-txt .map-block{
  position: relative;
  height: 0;
  margin-top: 12px;
  padding-top: 66%;
  border-radius: 10px;
  overflow: hidden;
}

#offer .about-content-txt.decided .map-block + a{
  position: relative;
  display: block;
  width: fit-content;
  margin: 4px 0 0 auto;
}

#offer .about-content-txt .map-block + a::after{
  display: inline-block;
  margin-left: 6px;
  font-family: "Font Awesome 5 Free";
  content: "\f35d";
  font-weight: 600;
  font-size: 0.625rem;
  transform: translateY(-2px);
}

#offer .about-content-txt .map-block iframe{
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}

#offer .offer-common-wrapper.general-position{
  margin-top: 40px;
  box-shadow: var(--box-shadow-brown);
}

#offer .general-position .occupation-list .list-item,
#offer .general-position .about-content-wrapper-ttl{
  border-color: var(--logo-color01);
}

#offer .general-position .offer-common-ttl{
  background-color: #FBE2CC;
}

#offer .general-position .about-content-ttl{
  background-color: #FDF0E5;
  box-shadow: var(--box-shadow-brown);
}

#offer .general-position .about-content-txt{
  box-shadow: var(--box-shadow-brown);
}

#offer #document{
  padding: 60px 0;
  background-color: #F2FAF5;
}

#offer .document-note .txt{
  margin: 20px 0 40px;
  font-weight: 700;
}

#offer .document-preparation{
  padding-bottom: 80px;
}

#offer .preparation-list{
  margin: 20px 0 28px;
  counter-reset: listnum;
}

#offer .preparation-item:not(:last-of-type){
  min-height: 30px;
  margin-bottom: 16px;
}

#offer .preparation-item .ttl{
  position: relative;
  margin-bottom: 4px;
  padding-left: 38px;
  line-height: 1.4;
}

#offer .preparation-item .ttl::before,
#offer .document-content-ttl::before{
  position: absolute;
  top: calc(50% - 16px);
  left: 0;
  display: inline-flex;
  width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  background-color: #CCECD9;
  box-sizing: border-box;
  border: 2px solid var(--txt-color);
  border-radius: 50%;
  counter-increment: listnum;
  content: counter(listnum);
  font-size: 20px;
  font-family: "termina", sans-serif;
  font-weight: 700;
  font-style: normal;
}

#offer .preparation-item .txt{
  padding-left: 28px;
  line-height: 1.5;
}

#offer .document-preparation .message{
  font-size: 13px;
  font-weight: 500;
  line-height: 1.8;
}

#offer .document-content-list{
  counter-reset: listnum02;
}

#offer .document-content{
  padding-bottom: 24px;
  border-bottom: 2px solid #EEEEEE;
}

#offer .document-content:not(:last-of-type){
  margin-bottom: 28px;
}

#offer .document-content .document-content-ttl{
  position: relative;
  padding: 10px 0 10px 38px;
  border-bottom: solid 2px var(--logo-color02);
  font-size: 15px;
  font-weight: 700;
  line-height: 1.4;
}

#offer .document-content .document-content-ttl::before{
  counter-increment: listnum02;
  content: counter(listnum02);
}

#offer .document-content-txt{
  margin: 20px 0 0;
}

#offer .document-content01-list-block{
  padding: 32px 20px 20px;
  background-color: #E5F5EC;
  border-radius: 15px;
}

#offer .document-content01-list-block .exclamation-ttl{
  margin-bottom: 12px;
  padding-bottom: 0;
  border-bottom: none;
}

#offer .document-content01-list-block .exclamation{
  color: var(--txt-color);
}

#offer .document-content01-list-block .exclamation::before{
  bottom: auto;
  top: -10px;
}

#offer .document01-list .list-item .txt{
  font-weight: 700;
}

#offer .document01-list .list-item .small{
  padding-left: 8px;
  font-weight: 500;
}

#offer .document-content01-note{
  margin: 28px 20px;
}

#offer .document-content01-note-ttl{
  width: fit-content;
  margin-bottom: 12px;
  padding: 2px 14px;
  border: solid 2px var(--sub-color);
  border-radius: 99px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.8;
}

#offer .document-content01-note-txt{
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
}

#offer .document-content01-note-txt:not(:last-of-type){
  margin-bottom: 24px;
}

#offer .document-content01-note + .note{
  font-weight: 700;
}

#offer .document-content-overview{
  margin-bottom: 16px;
  font-weight: 700;
}

#offer .document-content-detail-list{
  font-size: 13px;
  font-weight: 500;
  line-height: 1.5;
}

#offer #faq{
  padding: 60px 0;
  background-color: #F3F3F3;
}

#offer .faq-list{
  margin: 60px 0 0;
}

#offer .faq-list-item{
  padding: 20px 24px;
  box-shadow: var(--box-shadow-green);
}

#offer .faq-list-item:not(:last-of-type){
  margin-bottom: 20px;
}

#offer .faq-list-item .faq-ttl{
  position: relative;
  padding: 36px 24px 24px;
  border-bottom: solid 2px var(--logo-color02);
}

#offer .faq-list-item .faq-ttl .txt{
  font-weight: 700;
}

#offer .faq-list-item .faq-ttl .q{
  position: absolute;
  top: 0;
  left: 24px;
  font-size: 20px;
}

#offer .faq-list-item .faq-txt{
  position: relative;
  padding: 56px 24px 0;
}

#offer .faq-list-item .faq-txt .a{
  position: absolute;
  top: 20px;
  left: 24px;
  font-size: 20px;
}

#offer #message{
  background-color: rgba(0,159,65,.1);
  overflow: hidden;
}

#offer .message-content-wrapper{
  position: relative;
}

#offer .message-ttl{
  position: absolute;
  top: 38px;
  left: calc(50% - 188px);
  width: 375px;
  height: 90px;
  padding: 22px 0 0;
  background: url("../../uploads/offer_message_ttl_sp.png") no-repeat center center/contain;
  pointer-events: none;
}

#offer .message-ttl .en{
  display: block;
  font-size: 12px;
  text-align: center;
}

#offer .message-ttl .ja{
  display: block;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -.08em;
  line-height: 1.8;
  text-align: center;
}

#offer .message-content{
  overflow-x: auto;
  max-width: 100%;
  padding-top: 116px;
}

#offer .message-content img{
  max-width: 705px;
}

@media print, screen and (min-width: 768px){
  #offer .content-head{
    padding: 280px 0 168px;
  }

  #offer .content-head .ja{
    font-size: 40px;
    text-align: center;
  }

  #offer .menu-list{
    padding: 27px 120px;
    box-shadow: var(--box-shadow-green-pc);
  }
  
  #offer .menu-item a::after{
    background-image: url(../../uploads/navItem_arrow_hover_green.png);
  }
  
  #offer #greeting{
    margin-top: 120px;
    padding: 200px 0 60px;
    background: url("../../uploads/offer_greeting_bg_pc.png")no-repeat center top / cover;
  }

  #offer .greeting-ttl{
    width: 772px;
    height: 86px;
    border-width: 6px;
    box-shadow: var(--box-shadow-green-pc);
    font-size: 32px;
    outline: 10px solid #fff;
  }

  #offer .greeting-ttl::before{
    width: 400px;
    height: 236px;
    top: -142px;
  }

  #offer .greeting-overview{
    max-width: none;
    margin: 40px auto 80px;
  }

  #offer .greeting-overview .txt{
    font-size: 18px;
  }

  #offer .greeting-link .exclamation{
    margin-bottom: 32px;
    font-size: 20px;
    line-height: 1.5;
  }

  #offer .greeting-link .exclamation::before{
    top: -56px;
    left: calc(50% - 320px);
  }

  #offer .greeting-link-list{
    grid-template-columns: repeat(3,1fr);
    grid-gap: 60px;
    width: 100%;
  }
  
  #offer .greeting-link-item .link-item{
    border-width: 2px;
  }
  
  #offer .greeting-link-item .link-item img{
    transition: all .3s;
  }

  #offer .greeting-link-item .link-txt{
    height: 50px;
  }

  #offer .greeting-link-item .link-txt .txt{
    padding-right: 26px;
    font-size: 16px;
    transition: all .3s;
  }

  #offer .greeting-link-item .link-txt .txt::before{
    width: 12px;
    height: 12px;
    top: calc(50% - 5px);
  }

  #offer .greeting-link-item .js-clickitemBlank .link-txt .txt::before{
    top: calc(50% - 13px);
    font-size: 14px;
  }

  #offer #about{
    padding: 120px 0;
  }

  #offer .offer-head{
    margin-bottom: 80px;
  }

  #offer .offer-head .ja{
    font-size: 36px;
  }

  #offer #document .offer-head .ja{
    line-height: 1.8;
  }

  #offer .offer-head .en{
    font-size: 14px;
  }

  #offer .offer-common-wrapper{
    padding: 80px 120px;
    box-shadow: var(--box-shadow-green-pc);
  }

  #offer .about-content-wrapper-ttl{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
  }

  #offer .about-target{
    margin-bottom: 0;
    font-size: 26px;
    line-height: 1.8;
  }

  #offer .occupation-list{
    width: fit-content;
    margin-right: -16px;
  }

  #offer .occupation-list .list-item{
    margin: 0 16px 0 0;
    padding: 3px 15px;
    font-size: 16px;
    line-height: 1.8;
  }

  #offer .about-content-block{
    padding-top: 64px;
  }

  #offer .about-content-block:not(:last-of-type){
    margin-bottom: 32px;
  }
  
  #offer .offer-common-ttl{
    padding: 8px 24px;
    font-size: 20px;
    line-height: 1.5;
  }

  #offer .about-content .about-content-overview{
    padding: 24px 0 40px;
    font-weight: 500;
  }

  #offer .about-content-list-item{
    display: grid;
    grid-template-columns: 240px 1fr;
    grid-gap: 16px;
  }
  
  #offer .about-content-list-item:not(:last-of-type){
    margin-bottom: 16px;
  }

  #offer .about-content-ttl{
    display: flex;
    align-items: center;
    margin-bottom: 0;
    padding: 0 48px;
    border-radius: 10px 0 0 10px;
    box-shadow: var(--box-shadow-green-pc);
  }

  #offer .about-content-txt{
    padding: 24px 48px;
    border-radius: 0 10px 10px 0;;
    box-shadow: var(--box-shadow-green-pc);
    font-weight: 500;
    line-height: 1.6;
  }
  
  #offer .about-content-txt.column-2{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
  }

  #offer .about-content-txt .commonLink{
    margin: 16px 0;
    padding: 4px 60px 4px 24px;
    font-size: 16px;
  }

  #offer .about-content-txt .commonLink::after{
    top: calc(50% - 11px);
    right: 28px;
    font-size: 13px;
  }

  #offer .about-content-txt .qr{
    display: block;
    width: 150px;
  }
  
  #offer .about-content-txt .txt{
    font-weight: 500;
    line-height: 1.6;
  }
  
  #offer .about-content-txt .txt + .txt{
    margin-top: 1.8em;
  }
  
  #offer .about-content-txt .deadline{
    padding-left: 1em;
  }
  
  #offer .about-content-txt.column-2:has(.map-block-wrapper){
    align-items: flex-start;
  }
  
  #offer .about-content-txt .map-block{
    width: 300px;
    margin-top: 0;
    border-radius: 20px;
  }

  #offer .about-content-txt.decided .map-block + a{
    margin: 8px 0 0 auto;
  }

  #offer .about-content-txt .map-block + a::after{
    font-size: 13px;
    transform: translateY(-1px);
  }

  #offer .offer-common-wrapper.general-position{
    margin-top: 80px;
    box-shadow: var(--box-shadow-brown-pc);
  }

  #offer .general-position .about-content-ttl{
    box-shadow: var(--box-shadow-brown-pc);
  }

  #offer .general-position .about-content-txt{
    box-shadow: var(--box-shadow-brown-pc);
  }

  #offer #document{
    padding: 120px 0;
  }

  #offer .document-note .ttl{
    font-size: 28px;
  }
  
  #offer .document-note .txt{
    margin: 16px 0 80px
  }

  #offer .preparation-list{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(2,1fr);
    grid-gap: 20px 0;
    margin: 40px 0;
  }

  #offer .preparation-item{
    padding-left: 16px;
  }
  #offer .preparation-item:not(:last-of-type){
    margin: 0;
  }

  #offer .preparation-item .ttl{
    margin-bottom: 8px;
    padding-left: 56px;
    line-height: 1.5;
  }

  #offer .preparation-item .ttl::before,
  #offer .document-content-ttl::before{
    width: 40px;
    height: 40px;
    top: calc(50% - 20px);
    border-width: 4px;
    font-size: 24px;
  }

  #offer .preparation-item .txt{
    padding-left: 56px;
    font-weight: 500;
    line-height: 1.6;
  }

  #offer .document-preparation .message{
    padding-left: 16px;
    font-size: 16px;
  }

  #offer .document-content{
    padding-bottom: 48px;
  }

  #offer .document-content:not(:last-of-type){
    margin-bottom: 56px;
  }

  #offer .document-content .document-content-ttl{
    padding: 12px 0 12px 56px;
    font-size: 20px;
    line-height: 1.5;
  }

  #offer .document-content-txt{
    margin: 40px 0 0;
  }

  #offer .document-content01-list-block{
    padding: 64px 40px 40px;
    border-radius: 30px;
  }

  #offer .document-content01-list-block .exclamation-ttl{
    margin-bottom: 24px;
  }

  #offer .document-content01-list-block .exclamation{
    padding-left: 0;
  }

  #offer .document-content01-list-block .exclamation::before{
    top: -50px;
    left: -10px;
  }

  #offer .document01-list{
    display: grid;
    grid-auto-flow: column;
    grid-template-rows: repeat(3, auto);
    grid-template-columns: repeat(2,1fr);
    grid-gap: 8px 0;
  }
  
  #offer .document01-list .list-item{
    padding: 0 40px 0 18px;
  }
  
  #offer .document01-list .list-item .txt{
    font-weight: 500;
  }

  #offer .document01-list .list-item .small{
    font-weight: 400;
  }

  #offer .document01-list .list-item::before{
    width: 8px;
    height: 8px;
    top: calc(50% - 4px);
  }
  
  #offer .document-content01-note{
    margin: 40px;
  }

  #offer .document-content01-note-ttl{
    margin-bottom: 8px;
    padding: 2px 22px;
    line-height: 1.2;
  }

  #offer .document-content01-note-txt{
    font-size: 16px;
    line-height: 1.8;
  }

  #offer .document-content01-note + .note{
    font-weight: 500;
  }

  #offer .document-content-overview{
    margin-bottom: 32px;
  }

  #offer .document-content-detail-list{
    padding-left: 1em;
    font-size: 16px;
    line-height: 1.8;
    text-indent: -1em;
  }

  #offer #faq{
    padding: 120px 0;
  }

  #offer .faq-list{
    margin: 120px 0 0;
  }

  #offer .faq-list-item{
    padding: 36px 120px;
    box-shadow: var(--box-shadow-green-pc);
  }

  #offer .faq-list-item:not(:last-of-type){
    margin-bottom: 32px;
  }

  #offer .faq-list-item .faq-ttl{
    padding: 0 48px 8px 128px;
  }

  #offer .faq-list-item .faq-ttl .q{
    left: 48px;
    font-size: 24px;
    line-height: 1;
    top: 4px;
  }

  #offer .faq-list-item .faq-txt{
    padding: 40px 120px 0 188px;
  }

  #offer .faq-list-item .faq-txt .a{
    top: 40px;
    left: 120px;
    font-size: 24px;
  }
  
  #offer .message-content-wrapper{
    padding-top: max(0px, calc((1920px - 100vw) * 0.075));
  }
  
  #offer .message-ttl{
    top: 87px;
    left: calc(50% - 420px);
    width: 840px;
    height: 176px;
    padding: 33px 0 0;
    background: url("../../uploads/offer_message_ttl_pc.png") no-repeat center center/contain
  }

  #offer .message-ttl .en{
    margin-bottom: 10px;
    font-size: 24px;
  }

  #offer .message-ttl .ja{
    font-size: 24px;
    letter-spacing: 0;
  }

  #offer .message-content{
    overflow: hidden;
    padding-top: 0px;
  }

  #offer .message-content img{
    max-width: none;
    width: calc(100% + 100px);
    transform: translateX(-50px);
  }

  
}

@media print, screen and (min-width: 1201px){
  
  #offer .greeting-link-item .link-item:hover img{
    transform: scale(1.1);
  }
  
  #offer .greeting-link-item .link-item:hover .link-txt .txt{
    padding-right: 36px;
  }
  
  #offer .about-content-txt .commonLink:hover{
    background-color: #CCECD9;
  }
}


#data .data-content{
  padding: 60px 0;
}

#data #about{
  margin-top: 60px;
  background-color: var(--acc-color20);
}

#data #workstyle{
  background-color: #D1E9F6;
}

#data .data-list{
  display: flex;
  align-items: stretch;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 60px;
  grid-gap: 44px;
}

#data .data-item{
  position: relative;
}

#data .data-item-ttl{
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  transform: translate(0,-50%);
  z-index: 1; 
}

#data .data-item-ttl .ttl{
  width: fit-content;
  padding: 8px 36px;
  background-color: #fff;
  border: solid 2px var(--acc-color);
  border-radius: 99px;
  color: var(--acc-color);
  font-size: 16px;
  line-height: 1.6;
  text-align: center;
}

#data .data-item-ttl .ttl:has(.small){
  display: flex;
  align-items: center
}

#data .data-item-ttl .ttl .small{
  margin-right: 5px;
  font-size: 12px;
}

#data .data-txt{
  width: 290px;
  height: 90px;
  top: calc(100vw / 375 * 185);
  left: 50%;
  position: absolute;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.6;
  transform: translateX(-50%);
  z-index: 1;
}

#data #workstyle .data-item-ttl .ttl{
  border-color: var(--main-color);
  color: var(--main-color);
}

@media print, screen and (min-width: 768px){

  #data #about{
    margin-top: 120px;
  }
  
  #data .data-content{
    padding: 120px 0;
  }

  #data .data-list{
    margin-top: 120px; 
    grid-gap: 64px;
  }

  #data .data-list.column-2{
    grid-gap: 94px 40px;
  }
  
  #data .data-list.column-2 .data-item{
    width: calc((100% - 40px) / 2);
  }
  
  #data .data-list .data-item.w-100{
    width: 100%;
  }
  
  #data .data-item-ttl .ttl{
    padding: 8px 72px;
    border-width: 4px;
    font-size: 26px;
  }
  
  #data .data-item-ttl .ttl:has(.small){
    padding: 8px 32px;
  }

  #data .data-item-ttl .ttl .small{
    margin-right: 10px;
    font-size: 16px;
    line-height: 1.1;
    text-align: left;
  }

  #data .data-txt{
    width: 460px;
    height: 96px;
    top: auto;
    bottom: 30px;
    font-size: 18px;
  }

}

/*---------------[jobs]---------------*/
#jobs .ls-minus50 {
  letter-spacing: -.05em;
}

#jobs .menu-list {
  padding-left: 12px;
  padding-right: 12px;
}

#jobs .content-overview .jobs-ttl {
  position: relative;
  margin-bottom: 32px;
  margin-top: 60px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
}

#jobs .content-overview-inner {
  counter-reset: listnum;
  margin-bottom: 80px;
}

#jobs .content-overview-item {
  position: relative;
  padding: 12px 16px 42px;
  background-color: #fff;
  border-radius: 0 0 15px 15px;
  box-shadow: var(--box-shadow-brown);
  z-index: 0;
}

#jobs .content-overview-item:not(:last-of-type) {
  margin-bottom: 28px;
}

#jobs .content-overview-item .content-overview-ttl {
  /*padding: 18px 0 10px 40px;*/
  padding-bottom: 8px;
  border-bottom: solid 2px var(--acc-color);
}

#jobs .content-overview-item.blue .content-overview-ttl {
  border-bottom-color: var(--main-color);
}

#jobs .content-overview-item .ttl {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  min-height: 45px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
  color: #000;
  padding-left: 41px;
}

#jobs .content-overview-item .ttl::before {
  position: absolute;
  width: 32px;
  height: 32px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  left: 0;
  background-color: var(--acc-color);
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-family: termina,sans-serif;
  font-weight: 700;
  padding-top: 2px;
  counter-increment: listnum;
  content: "0" counter(listnum);
}

#jobs .content-overview-item.blue .ttl::before {
  background-color: var(--main-color);
}

#jobs .content-overview-item .ttl::after {
  position: absolute;
  display: block;
  content: "TYPE";
  color: var(--acc-color);
  font-family: termina,sans-serif;
  font-size: 8px;
  /*transform: scale(.8);*/
  font-weight: 700;
  bottom: 32px;
  left: 2px;
}

#jobs .content-overview-item.blue .ttl::after {
  color: var(--main-color);
}

#jobs .content-overview-list {
  padding: 0 6px;
  margin-top: 12px;
}

#jobs .content-overview-list .item {
  font-size: 13px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 6px;
}

#jobs .content-overview-img {
  position: absolute;
  width: 110px;
  height: 110px;
  bottom: 35px;
  right: 5px;
  z-index: -1;
}

#jobs .content-overview-item .type-link {
  position: absolute;
  width: 100%;
  height: 30px;
  bottom: 0;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--acc-color);
  color: #fff;
  border-radius: 0 0 15px 15px;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
}

#jobs .content-overview-item.blue .type-link {
  background-color: var(--main-color);
}

#jobs .content-overview-item .type-link svg {
  width: 10px;
  height: 10px;
  margin: 0 0 0 10px;
}

#jobs .jobs-content-wrap {
  counter-reset: listnum;
}

#jobs .jobs-content {
  padding: 40px 0 60px;
  background: var(--acc-color20);
}

#jobs .jobs-content:nth-of-type(2n) {
  background: var(--main-color20);
}

#jobs .jobs-content-ttl {
  border-bottom: 3px solid var(--acc-color);
  padding-bottom: 9px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-ttl {
  border-bottom-color: var(--main-color);
}

#jobs .jobs-content-ttl .ja {
  color: var(--acc-color80);
  font-size: 25px;
  font-weight: 700;
  text-align: right;
  margin-right: 4px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-ttl .ja {
  color: var(--main-color80);
}

#jobs .jobs-content-ttl .ttl {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  min-height: 45px;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  padding-left: 41px;
  margin-top: -15px;
}

#jobs .jobs-content-ttl .ttl::before {
  position: absolute;
  width: 32px;
  height: 32px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  bottom: 0;
  left: 0;
  background-color: var(--acc-color);
  border-radius: 50%;
  color: #fff;
  font-size: 12px;
  font-family: termina,sans-serif;
  font-weight: 700;
  /*padding-top: 2px;*/
  counter-increment: listnum;
  content: "0" counter(listnum);
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-ttl .ttl::before {
  background-color: var(--main-color);
}

#jobs .jobs-content-ttl .ttl::after {
  position: absolute;
  display: block;
  content: "TYPE";
  color: var(--acc-color);
  font-family: termina,sans-serif;
  font-size: 8px;
  font-weight: 700;
  bottom: 32px;
  left: 2px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-ttl .ttl::after {
  color: var(--main-color);
}

#jobs .jobs-content-block{
  margin-top: -60px;
  padding-top: 60px;
}

#jobs .jobs-content-inner {
  padding: 32px 24px;
  margin-top: 32px;
}

#jobs .jobs-content-top {
  position: relative;
  border-bottom: 3px solid var(--acc-color);
  padding-bottom: 5px;
  margin-bottom: 20px;
  z-index: 0;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-top {
  border-bottom-color: var(--main-color);
}

#jobs .jobs-content-top .head {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  padding-top: 4px;
}

#jobs .jobs-content-top .head .gray {
  display: block;
  color: #ccc;
  font-size: 16px;
  line-height: 1.2;
}

#jobs .jobs-content-top .lead {
  font-size: 16px;
  font-weight: 700;
  margin: 12px 0;
}

#jobs .jobs-content-top .txt {
  max-width: 720px;
  font-weight: 700;
}

#jobs .jobs-content-top .img {
  position: absolute;
  width: 120px;
  height: auto;
  top: 0;
  right: 0;
  opacity: .4;
  z-index: -1;
}

#jobs .jobs-content-main {
  width: calc(100% - 23px);
  margin: 0 auto;
}

#jobs .jobs-content-item {
  margin-bottom: 24px;
}

#jobs .jobs-content-item .ttl {
  width: fit-content;
  font-size: 14px;
  border: 2px solid var(--acc-color);
  border-radius: 20px;
  padding: 2px 14px;
  margin-bottom: 8px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-item .ttl {
  border-color: var(--main-color);
}

#jobs .jobs-content-item .list-item-icon {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 6px;
}

#jobs .jobs-content-item .list-item-icon:last-of-type {
  margin-bottom: auto;
}

#jobs .jobs-content-item .list-item-icon::before {
  top: 6px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-item .list-item-icon::before {
  background-color: var(--main-color);
}

#jobs .jobs-content-img {
  border: solid 3px var(--txt-color);
  border-radius: 10px;
  overflow: hidden;
  margin-bottom: 20px;
}

#jobs .jobs-content-inner .commonLink {
  background-color: var(--acc-color);
  border: none;
  box-shadow: none;
  padding: 10px 20px 10px 24px;
}

#jobs .jobs-content:nth-of-type(2n) .jobs-content-inner .commonLink {
  background-color: var(--main-color);
}

#jobs .jobs-content-inner .commonLink .link-txt {
  color: #fff;
}

#jobs .jobs-content-inner .commonLink svg {
  margin: 0 0 0 12px;
}

@media print, screen and (min-width: 768px){
  #jobs .ls-minus50 {
    letter-spacing: 0;
  }
  
  #jobs a:hover img {
    opacity: 1;
  }
  
  #jobs .menu-list {
    padding-left: 300px;
    padding-right: 300px;
  }
  
  #jobs .content-overview .jobs-ttl {
    font-size: 28px;
    line-height: 1.8;
    margin-top: 120px;
    margin-bottom: 48px;
  }
  
  #jobs .content-overview-inner {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 20px;
    margin-bottom: 160px;
  }
  
  #jobs .content-overview-item {
    padding: 16px 15px 105px;
    border-radius: 0 0 30px 30px;
  }
  
  #jobs .content-overview-item:not(:last-of-type) {
    margin-bottom: 0;
  }
  
  #jobs .content-overview-item a {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  
  #jobs .content-overview-item .content-overview-ttl {
    width: 100%;
    border-width: 4px;
    padding-bottom: 4px;
    margin-bottom: 40px;
  }
  
  #jobs .content-overview-list {
    max-width: 300px;
    padding: 0 15px;
    margin-top: 0;
    order: 1;
  }
  
  #jobs .content-overview-list .item {
    font-size: 18px;
    padding-left: 24px;
    margin-bottom: 8px;
  }
  
  #jobs .content-overview-list .item:last-of-type {
    margin-bottom: auto;
  }
  
  #jobs .content-overview-item .ttl {
    min-height: auto;
    font-size: 24px;
    line-height: 1.8;
    padding: 24px 0 4px 60px;
  }
  
  #jobs .content-overview-item .ttl::before {
    width: 50px;
    height: 50px;
    font-size: 20px;
  }
  
  #jobs .content-overview-item .ttl::after {
    font-size: 14px;
    bottom: auto;
    top: 0;
    left: 0;
  }
  
  #jobs .content-overview-img {
    position: static;
    width: calc(100% - 300px);
    height: auto;
  }
  
  #jobs .content-overview-item .type-link {
    height: 76px;
    font-size: 24px;
    transition: all .3s;
  }
  
  #jobs .content-overview-item .type-link svg {
    width: 14px;
    height: 14px;
    margin-top: 4px;
    transition: all .3s;
  }
  
  #jobs .content-overview-item .type-link svg path {
    transition: all .3s;
  }
  
  #jobs .jobs-content {
    padding: 120px 0;
  }
  
  #jobs .jobs-content-ttl {
    display: flex;
    flex-direction: row-reverse;
    justify-content: space-between;
    border-bottom-width: 4px;
  }
  
  #jobs .jobs-content-ttl .ja {
    font-size: 50px;
    line-height: 1.8;
    margin-right: 8px;
  }
  
  #jobs .jobs-content-ttl .ttl {
    min-height: auto;
    font-size: 26px;
    line-height: 1.8;
    padding: 40px 0 0px 86px;
    margin-top: 2px;
  }
  
  #jobs .jobs-content-ttl .ttl::before {
    width: 60px;
    height: 60px;
    font-size: 24px;
  }
  
  #jobs .jobs-content-ttl .ttl::after {
    font-size: 18px;
    bottom: auto;
    top: 0;
    left: 0;
  }

  #jobs .jobs-content-block{
    margin-top: -80px;
    padding-top: 80px;
  }
  
  #jobs .jobs-content-inner {
    padding: 40px 120px;
    margin-top: 64px;
  }
  
  #jobs .jobs-content-top {
    border-bottom-width: 4px;
    padding-bottom: 16px;
    margin-bottom: 32px;
    display: grid;
    grid-template-rows: 1fr auto auto;
    grid-template-areas:
      "head img" 
      "lead img" 
      "txt img";
    justify-content: space-between;
  }
  
  #jobs .jobs-content-top .head {
    font-size: 32px;
    line-height: 1.6;
    padding-top: 0;
    margin-top: auto;
    grid-area: head;
  }
  
  #jobs .jobs-content-top .head .gray {
    font-size: 24px;
  }
  
  #jobs .jobs-content-top .lead {
    font-size: 24px;
    line-height: 1.8;
    margin: 16px 0 8px;
    grid-area: lead;
  }
  
  #jobs .jobs-content-top .txt {
    grid-area: txt;
  }
  
  #jobs .jobs-content-top .img {
    position: static;
    width: 240px;
    opacity: 1;
    grid-area: img;
  }
  
  #jobs .jobs-content-main {
    width: 100%;
    display: flex;
    justify-content: space-between;
    margin-bottom: 32px;
  }
  
  #jobs .jobs-content-item {
    margin-bottom: 48px;
  }
  
  #jobs .jobs-content-item:last-of-type {
    margin-bottom: 0;
  }
  
  #jobs .jobs-content-item .ttl {
    line-height: 1.2;
    padding: 3px 23px;
    margin-bottom: 16px;
  }
  
  #jobs .jobs-content-item .txt {
    font-weight: 500;
  }
  
  #jobs .jobs-content-item .list-item-icon {
    font-size: 16px;
    padding-left: 24px;
    margin-bottom: 8px;
    margin-left: 4px;
  }
  
  #jobs .jobs-content-item .list-item-icon::before {
    top: 7px;
  }
  
  #jobs .jobs-content-img {
    flex-shrink: 0;
    width: 460px;
    height: 300px;
    border-radius: 20px;
    margin-bottom: 0;
    margin-left: 30px;
  }
  
  #jobs .jobs-content-inner .commonLink {
    padding: 19px 44px 19px 48px;
  }
  
  #jobs .jobs-content-inner .commonLink svg {
    margin-left: 26px;
  }
}
@media print, screen and (min-width: 1201px) {
  
  #jobs .content-overview-item:hover .type-link {
    background-color: var(--acc-color20);
    color: var(--acc-color);
  }
  
  #jobs .content-overview-item:hover .type-link svg {
    transform: translateY(4px);
  }
  
  #jobs .content-overview-item:hover .type-link svg path {
    fill: var(--acc-color);
  }
  
  #jobs .content-overview-item.blue:hover .type-link {
    background-color: var(--main-color20);
    color: var(--main-color);
  }
  
  #jobs .content-overview-item.blue:hover .type-link svg path {
    fill: var(--main-color);
  }
  
  #jobs .jobs-content-inner .commonLink:hover {
    background-color: var(--acc-color60);
  }
  
  #jobs .jobs-content:nth-of-type(2n) .jobs-content-inner .commonLink:hover {
    background-color: var(--main-color60);
  }
  
}