@charset "UTF-8";
/* BASE
 * * -----------------------------------------------*/
/* MEDIA QUERIES
 * * -----------------------------------------------*/
/* ADDITIONAL RESET
 * * -----------------------------------------------*/
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, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline;
}

html {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}

q, blockquote {
  quotes: none;
}

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

a img {
  border: none;
}

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

*,
*:before,
*:after {
  box-sizing: border-box;
}

body * {
  max-height: 99999em;
  word-break: break-word;
}

img {
  display: inline-block;
  vertical-align: middle;
  max-width: 100%;
  height: auto;
}

input,
label,
select,
button {
  line-height: inherit;
}

input,
label,
select,
button,
textarea {
  margin: 0;
  border: 0;
  padding: 0;
  word-break: normal;
  display: inline-block;
  vertical-align: middle;
  white-space: normal;
  background: none;
  -webkit-appearance: none;
  font: inherit;
}

button:focus {
  outline: 0;
}

input:focus,
textarea:focus,
select:focus {
  outline: auto;
}

/* Make webkit render the search input like a normal text field */
input[type=search] {
  -webkit-appearance: textfield;
}

/* Turn off the recent search for webkit. It adds about 15px padding on the left */
::-webkit-search-decoration {
  display: none;
}

/* Turn off scroll bars in IE unless needed */
textarea {
  overflow: auto;
  white-space: pre-line;
  resize: none;
}

/* PRINTING
 * * -----------------------------------------------*/
@media print {
  body {
    -webkit-print-color-adjust: exact;
  }

  html,
body {
    margin: 0;
  }

  @page {
    margin: 0;
  }
  @page :left {
    margin: 0;
  }
  @page :right {
    margin: 0;
  }
  @page :first {
    margin-top: 0;
  }
}
/* GENERAL
 * * -----------------------------------------------*/
body {
  color: #333;
  font-family: "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Verdana, Meiryo, sans-serif;
  font-weight: 500;
  line-height: 1.4;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  -ms-text-size-adjust: none;
}

.font-serif {
  font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

/* HELPERS
 * * -----------------------------------------------*/
a {
  color: #333;
  text-decoration: none;
}

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-right {
  text-align: right;
}

.text-justify {
  text-align: justify;
}

.text-nowrap {
  white-space: nowrap;
}

.text-lowercase {
  text-transform: lowercase;
}

.text-uppercase {
  text-transform: uppercase;
}

.text-capitalize {
  text-transform: capitalize;
}

/* RESPONSIVE
 * * -----------------------------------------------*/
.container {
  overflow: hidden;
  position: relative;
}

@media print, (min-width: 768px) {
  body {
    font-size: 14px;
  }

  .wrapper {
    max-width: 1100px;
    margin-left: auto;
    margin-right: auto;
    padding: 0 50px;
  }

  .sm {
    display: none !important;
  }

  .trans {
    opacity: 1;
    transition: opacity 0.26s ease;
  }
  .trans:hover {
    opacity: 0.8;
  }
}
@media only screen and (max-width: 767.98px) {
  .md {
    display: none !important;
  }

  html {
    font-size: calc(100vw / 7.5);
  }

  body {
    font-size: 0.28rem;
  }

  .container {
    min-width: 320px;
  }

  .wrapper {
    padding-left: 0.45rem;
    padding-right: 0.45rem;
  }
}

.contact-form-wrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  background-color: #f1f1f1;
  color: #000;
  font-weight: 700;
}
.contact-form-wrapper .wpcf7-list-item {
  margin: 0;
}

.contact-form .form-row.is-select-time .form-content {
  font-weight: 500;
}
.contact-form .form-title,
.contact-form .form-description {
  text-align: center;
}
.contact-form .required-text {
  display: inline-block;
  line-height: 1;
  color: #fff;
  background-color: #0071bc;
  font-weight: 400;
  text-align: center;
}
.contact-form .form-label {
  -ms-flex: 1;
      flex: 1;
  text-align: right;
}
.contact-form .form-content > span {
  display: block;
}
.contact-form .birth span {
  display: inline-block;
}
.contact-form .form-content > span.birth01, .contact-form .form-content > span.birth02, .contact-form .form-content > span.birth03 {
  display: inline-block;
}
.contact-form .form-content textarea,
.contact-form .form-content input {
  width: 100%;
  background-color: #fff;
}
.contact-form .form-content input::-webkit-input-placeholder {
  color: #9b9b9b;
}
.contact-form .form-content input::-moz-placeholder {
  color: #9b9b9b;
  opacity: 1;
}
.contact-form .form-content input[type=checkbox], .contact-form .form-content input[type=radio] {
  display: none;
}
.contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
  display: inline-block;
  transition: opacity 0.25s ease;
  cursor: pointer;
  position: relative;
  font-weight: 600;
}
.contact-form .form-content input[type=checkbox] + span:hover, .contact-form .form-content input[type=radio] + span:hover {
  opacity: 0.8;
}
.contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
  content: "";
  display: inline-block;
  position: relative;
}
.contact-form .form-content input[type=radio] + span::before {
  border-radius: 50%;
}
.contact-form .form-content input[type=radio]:checked + span::before {
  background-color: #000;
}
.contact-form .form-content input[type=checkbox] + span::after {
  content: "";
  display: inline-block;
  position: absolute;
  left: 0;
  top: 0;
}
.contact-form .form-content input[type=checkbox]:checked + span::after {
  background: url(../img/common/checklist_icn_darkblue.svg) center/100% auto no-repeat;
}
.contact-form .form-content .select-wrapper {
  display: inline-block;
  position: relative;
  background: #fff;
}
.contact-form .form-content .select-wrapper::before {
  content: "";
  display: block;
  position: absolute;
  background: url(../img/common/select_icn.svg) center/100% no-repeat;
}
.contact-form .form-content .select-wrapper > span {
  position: relative;
}
.contact-form .form-content .select-wrapper select {
  cursor: pointer;
}
.contact-form .form-content .select-text {
  display: inline-block !important;
  position: relative;
}
.contact-form .contact-button input {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin: 0 auto;
  color: #fff;
  background-color: #0071bc;
  text-align: center;
  transition: opacity 0.26s ease;
  cursor: pointer;
}
.contact-form .contact-button input:hover {
  opacity: 0.8;
}
.contact-form .ajax-loader {
  margin: 0 !important;
  position: absolute !important;
  left: 50%;
  -ms-transform: translateX(-50%);
      transform: translateX(-50%);
}

@media print, (min-width: 768px) {
  .contact-form-wrapper {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding: 50px 0;
  }

  .contact-form {
    width: 800px;
  }
  .contact-form .form-top-content {
    margin-bottom: 62px;
  }
  .contact-form .form-title {
    font-size: 30px;
  }
  .contact-form .form-description {
    margin-top: 25px;
    font-size: 19px;
  }
  .contact-form .form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    margin-bottom: 50px;
    padding-right: 0;
    position: relative;
  }
  .contact-form .form-row.is-align-start {
    -ms-flex-align: start;
        align-items: flex-start;
  }
  .contact-form .form-row.has-radio {
    margin-top: 50px;
    margin-bottom: 50px;
  }
  .contact-form .required-text {
    width: 60px;
    height: 24px;
    padding: 5px 5px 0;
    font-size: 13px;
    position: absolute;
    top: 50%;
    -ms-transform: translateY(-50%);
        transform: translateY(-50%);
    left: 200px;
    border-radius:5px;
  }
  .is-ipad .contact-form .required-text {
    padding-top: 3px;
  }
  .contact-form .form-label {
    -ms-flex: 1;
        flex: 1;
    min-width: 260px;
    margin-right: 20px;
    padding-right: 90px;
    font-size: 15px;
  }
  .contact-form .form-content {
    -ms-flex: calc(63% + 2px) 0 0;
        flex: calc(63% + 2px) 0 0;
    margin-bottom: -10px;
    font-size: 16px;
  }
  .contact-form .form-content .is-half {
    display: inline-block;
    width: calc(50% - 10px);
  }
  .contact-form .form-content .is-half:first-child {
    margin-right: 20px;
  }
  .contact-form .form-content textarea,
.contact-form .form-content input {
    /*border-radius: 7.5px;*/
  }
  .contact-form .form-content input {
    height: 53px;
    margin-bottom: 10px;
    padding: 5px 10px;
  }
  .contact-form .form-content input.short {
    height: 53px;
    width:90px;
    margin-bottom: 10px;
    padding: 5px 10px;
  }
  .contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
    margin-right: 20px;
    margin-bottom: 10px;
  }
  .contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
    width: 18px;
    height: 18px;
    margin-right: 7px;
    border: 1px solid #000;
    top: 2px;
  }
  .contact-form .form-content input[type=checkbox]:checked + span::after {
    width: 21px;
    height: 21px;
  }
  .contact-form .form-content input[type=radio]:checked + span::before {
    box-shadow: inset 0 0 0 2px #f1f1f1;
  }
  .contact-form .form-content .select-wrapper {
    margin-bottom: 10px;
    margin-right: 6px;
    border-radius: 8px;
  }
  .contact-form .form-content .select-wrapper::before {
    width: 11px;
    height: 22px;
    right: 7px;
    top: 12px;
  }
  .contact-form .form-content select {
    min-width: 76px;
    padding: 9px 22px 7px 12px;
    font-size: 20px;
  }
  .is-mac.is-chrome .contact-form .form-content select {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .contact-form .form-content .select-text {
    top: 3px;
    font-size: 22px;
  }
  .is-firefox .contact-form .form-content .select-text {
    top: 2px;
  }
  .contact-form .form-content textarea {
    height: 340px;
    padding: 20px;
  }
  .contact-form .contact-button {
    margin-top: 64px;
  }
  .contact-form .contact-button input {
    min-width: 376px;
    height: 99px;
    padding: 6px 30px 4px;
    border-radius: 12px;
    font-size: 22px;
  }
  .contact-form .ajax-loader {
    bottom: -30px;
  }
}
@media only screen and (max-width: 767.98px) {
  .contact-form-wrapper {
    padding: 0.64rem 0.63rem 1.23rem 0.54rem;
  }

  .contact-form {
    width: 100%;
  }
  .contact-form .form-top-content {
    margin-bottom: 0.6rem;
  }
  .contact-form .form-title {
    font-size: 0.4rem;
  }
  .contact-form .form-description {
    margin-top: 0.22rem;
    font-size: 0.22rem;
  }
  .contact-form .form-row {
    margin-bottom: 0.5rem;
  }
  .contact-form .form-row.has-radio {
    margin-top: 0.02rem;
    margin-bottom: 0.5rem;
  }
  .contact-form .required-text {
    width: 0.85rem;
    height: 0.3rem;
    padding: 0.06rem 0.05rem 0.01rem;
    font-size: 0.2rem;
    position: relative;
    bottom: 0.06rem;
    border-radius:5px;
  }
  .is-android .contact-form .required-text {
    padding-top: 0.07rem;
    bottom: 0.04rem;
  }
  .contact-form .form-label {
    display: inline-block;
    margin-right: 0.2rem;
    margin-bottom: 0.15rem;
    font-size: 0.27rem;
  }
  .contact-form .form-content {
    margin-bottom: -0.1rem;
    font-size: 0.31rem;
  }
  .contact-form .birth {
    display:flex;
    align-items: center;
  }
  .contact-form .birth span {
    margin:0 5px;
  }
  .contact-form .form-content textarea,
.contact-form .form-content input {
    border-radius: 0.1rem;
  }
  .contact-form .form-content input {
    height: 0.7rem;
    margin-bottom: 0.1rem;
    padding: 0.05rem 0.25rem;
  }
  .contact-form .form-content > span.birth01, .contact-form .form-content > span.birth02, .contact-form .form-content > span.birth03 {
    width:20%;
  }
  .contact-form .form-content input.short {
    height: 0.7rem;
    margin-bottom: 0.1rem;
    padding: 0.05rem 0.25rem;
  }
  .contact-form .form-content input[type=checkbox] + span, .contact-form .form-content input[type=radio] + span {
    margin-right: 0.32rem;
    margin-bottom: 0.1rem;
  }
  .contact-form .form-content input[type=checkbox] + span::before, .contact-form .form-content input[type=radio] + span::before {
    width: 0.27rem;
    height: 0.27rem;
    margin-right: 0.11rem;
    border: 1px solid #000;
    top: 0.04rem;
  }
  .is-android .contact-form .form-content input[type=checkbox] + span::before, .is-android .contact-form .form-content input[type=radio] + span::before {
    top: 0.02rem;
  }
  .contact-form .form-content input[type=checkbox]:checked + span::after {
    width: 0.32rem;
    height: 0.32rem;
  }
  .contact-form .form-content input[type=radio]:checked + span::before {
    box-shadow: inset 0 0 0 0.02rem #f1f1f1;
  }
  .contact-form .form-content .select-wrapper {
    margin-right: 0.1rem;
    margin-bottom: 0.1rem;
    border-radius: 0.1rem;
  }
  .contact-form .form-content .select-wrapper::before {
    width: 0.15rem;
    height: 0.3rem;
    right: 0.07rem;
    top: 0.13rem;
  }
  .contact-form .form-content select {
    min-width: 1rem;
    padding: 0.08rem 0.3rem 0.08rem 0.2rem;
  }
  .contact-form .form-content .select-text {
    margin-right: -0.03rem;
    top: 0.02rem;
    font-size: 0.29rem;
  }
  .contact-form .form-content textarea {
    height: 4.47rem;
    padding: 0.2rem;
  }
  .contact-form .radio-wrapper {
    margin: 0.15rem 0 0.35rem;
  }
  .contact-form .contact-button {
    margin-top: 0.66rem;
  }
  .contact-form .contact-button input {
    width: 100%;
    height: 1.67rem;
    padding: 0.15rem 0.4rem;
    border-radius: 0.2rem;
    font-size: 0.4rem;
  }
  .contact-form .ajax-loader {
    bottom: -0.5rem;
  }
}
@media only screen and (max-width: 374px) {
  .contact-form .required-text {
    height: 0.31rem;
    padding-top: 0.059rem;
    padding-bottom: 0;
  }

  .form-content input[type=checkbox] + span::before, .form-content input[type=radio] + span::before {
    top: 0.02rem !important;
  }
}
/* PAGE
 * * -----------------------------------------------*/
/* RECRUIT
 * * -----------------------------------------------*/
.key-visual {
	width:100%;
	height:100vh;
}
.key-visual h3 {
	height: auto;
	margin: auto;
	text-align: center;
	color: #fff;
}
.sec-ttl {
	font-weight:600;
	text-align:center;
}
.sec-ttl img {
	display:block;
}
.flex {
	display:flex;
}
.contents-box {
	align-items:center;
	justify-content:center;
}
.reverse {
	flex-direction:row-reverse;
}
.contents-box .text {
	color:#666;
	line-height:1.8;
}
.contents-box .text h3 {
	border-bottom:#000 1px dotted;
	text-align:center;
}
.contents-box .text h3 span {
	background:#666;
	color:#fff;
	border-radius:50px;
	display:inline-block;
	line-height:1;
}
.section01 .links {
	justify-content:space-between;
	flex-wrap:wrap;
}
.section01 .links a {
	display:block;
}
.section01 .links a img {
	width:100%;
	height:auto;
}
.section01 .links a p {
	text-align:center;
	color:#000;
}
.section01 p {
	color:#666;
	line-height:1.8;
}
.section03 p {
	color:#666;
	line-height:1.8;
}
.section04 p {
	color:#666;
	line-height:1.8;
}
.section04 iframe {
	width:100%;
}
.section05 table {
	width:100%;
	/*color:#666;*/
	vertical-align:top;
	line-height:1.8;
}
.section05 table th {
	font-weight:600;
}
.section05 table td a {
	font-weight:600;
	text-decoration:underline;
	color:#000;
}

@media print, (min-width: 768px) {
	.key-visual {
		background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/bg.jpg)no-repeat;
		background-size:cover;
		padding-top:25%;
		margin-bottom:80px;
		background-position: center;
	}
	.key-visual h1 {
		width:610px;
		height:auto;
		margin:0 auto 5%;
	}
	.key-visual h3 {
		width:800px;
		font-size: 28px;
		letter-spacing:0;
	}
	.sec-ttl {
		font-size:28px;
		margin-bottom:50px;
	}
	.sec-ttl img {
		width:auto;
		height:15px;
		margin:0 auto 15px;
	}
	.contents-box {
		margin-bottom:50px;
	}
	.contents-box img {
		width:53%;
		height:auto;
	}
	.contents-box .text {
		width:47%;
		padding:0 5%;
		font-size:15px;
	}
	.contents-box .text h3 {
		font-size:24px;
		padding-bottom:20px;
		margin-bottom:20px;
	}
	.contents-box .text h3 span {
		width:25px;
		height:25px;
		padding:3px;
		margin-right:10px;
		font-size:20px;
	}
	.section01 {
		margin-bottom:100px;
	}
	.section01 .links {
		width:480px;
		height:auto;
		margin:10px auto 30px;
	}
	.section01 .links a {
		width:195px;
		margin-bottom:25px;
	}
	.section01 .links a p {
		font-size:13px;
		margin-top:10px;
	}
	.section01 p {
		font-size:15px;
	}
	.section02 {
		margin-bottom:100px;
	}
	.section03 {
		margin-bottom:150px;
	}
	.section03 p {
		font-size:15px;
		margin-bottom:50px;
	}
	.section04 {
		margin-bottom:100px;
	}
	.section04 p {
		font-size:15px;
		margin-bottom:50px;
	}
	.section04 iframe {
		height:550px;
		margin-bottom:50px;
	}
	.section05 {
		margin-bottom:100px;
	}
	.section05 table {
		font-size:15px;
	}
	.section05 table tr {
		border-bottom:#000 1px dotted;
	}
	.section05 table th {
		width:23%;
		padding:25px 0;
	}
	.section05 table td {
		width:77%;
		padding:25px 0;
	}
}

@media only screen and (max-width: 767.98px) {
	.key-visual {
		background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sp/bg.jpg)no-repeat;
		background-size:100%;
		padding-top:70%;
		margin-bottom:30px;
		background-position: center;
	}
	.key-visual h1 {
		width:80%;
		height:auto;
		margin:0 auto 15%;
	}
	.key-visual h3 {
		width:90%;
		font-size: 22px;		
	}
	.sec-ttl {
		font-size:24px;
		margin-bottom:30px;
	}
	.sec-ttl img {
		width:auto;
		height:14px;
		margin:0 auto 14px;
	}
	.contents-box {
		margin-bottom:30px;
		display:block;
	}
	.contents-box img {
		width:100%;
		height:auto;
	}
	.contents-box .text {
		width:100%;
		padding:25px 0.45rem 0;
		font-size:14px;
	}
	.contents-box .text h3 {
		font-size:20px;
		padding-bottom:15px;
		margin:0 0 20px;
	}
	.contents-box .text h3 span {
		width:20px;
		height:20px;
		padding:2px;
		margin-right:10px;
		font-size:17px;
	}
	.section01 {
		margin-bottom:80px;
	}
	.section01 .links {
		width:90%;
		height:auto;
		margin:0 auto 30px;
		justify-content:center;
	}
	.section01 .links a {
		width:48%;
		margin:0 1% 20px;
	}
	.section01 .links a p {
		font-size:12px;
		margin-top:10px;
	}
	.section01 p {
		font-size:14px;
	}
	.section02 {
		margin-bottom:80px;
	}
	.section03 {
		margin-bottom:80px;
	}
	.section03 p {
		font-size:14px;
		margin-bottom:30px;
	}
	.section04 {
		margin-bottom:80px;
	}
	.section04 p {
		font-size:14px;
		margin-bottom:30px;
	}
	.section04 iframe {
		height:250px;
		margin-bottom:30px;
	}
	.section05 {
		margin-bottom:80px;
	}
	.section05 table {
		font-size:14px;
	}
	.section05 table th {
		width:100%;
		padding:10px 0;
		border-bottom:#000 1px dotted;
		display:block;
	}
	.section05 table td {
		width:100%;
		padding:10px 0 20px;
		display:block;
	}
}

/*-------------------------
 2022.12 追加
--------------------------*/

/* common */

.fixed-btn {
  position:fixed;
  z-index: 999;
}
.key-visual h1,
.key-visual h2,
.key-visual h3 {
  font-weight:600;
}
.key-visual h2.ttl-fukidashi:before {
  background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/common/icn_left.png)no-repeat;
  background-size:cover;
}
.key-visual h2.ttl-fukidashi:after {
  background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/common/icn_right.png)no-repeat;
  background-size:cover;
}
.key-visual h3.date {
  letter-spacing:0;
  border:1px solid #fff;
}
.intro-about-stap {
  color:#fff;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
}
.intro-about-stap img {
  margin:auto;
  display:block;
}
.intro-about-stap h2 {
  text-align:center;
}
.intro-about-stap p {
  line-height:2;
}
.intro-about-stap .flex {
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
}
.stap-group-trivia h2 {
  text-align:center;
  position:relative;
}
.stap-group-trivia h2 img {
  margin:auto;
  display:block;
}
.stap-group-trivia .box-trivia:nth-of-type(1) {
  background:#f2f2f2;
}
.stap-group-trivia .box-trivia:nth-of-type(2) {
  background:#e6e6e6;
}
.stap-group-trivia .box-trivia:nth-of-type(3) {
  background:#cccccc;
}
.stap-group-trivia .box-trivia img {
  margin:auto;
  display:block;
}
.stap-group-movie h2,
.stap-group-movie h3 {
  text-align:center;
}
.stap-group-movie h2 img,
.stap-group-movie h3 img {
  margin:auto;
  display:block;
}
.stap-group-movie .for-youtube {
  display:block;
  background:#000;
  color:#fff;
  text-align:center;
}
.stap-group-movie .for-youtube:before {
  content:'';
  background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/architect/icn_youtube.png)no-repeat;
  background-size:cover;
  background-position:center;
  display:inline-block;
}

.stap-group-schedule .flex {
  justify-content:space-between;
  align-items:flex-start;
  flex-wrap:wrap;
}
.stap-group-schedule .bg-area {
  color:#fff;
  font-weight:600;
}
.stap-group-schedule .bg-area h2 {
  text-align:center;
}
.stap-group-schedule .bg-area h2 img {
  margin:auto;
  display:block;
}
.stap-group-schedule .bg-area .place,
.stap-group-schedule .bg-area .date {
  text-align:center;
}
.stap-group-schedule .schedule-about .flex {
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
}
.stap-group-schedule .schedule-about .txt-area h3 {
  font-weight:600;
}
/* sales */
.key-visual.sales {
  color:#fff;
  text-align:center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.key-visual.sales .box {
  width:100%;
}
.stap-group-job-sales {
  color:#fff;
  margin-bottom:0;
}
.stap-group-job-sales h2 {
  text-align:center;
}
.stap-group-job-sales h2 img {
  margin:auto;
  display:block;
}
.stap-group-job-sales .flex .about-sales-job img {
  margin:auto;
  display:block;
}
.stap-group-job-sales .flex .about-sales-job h3 {
  text-align:center;
  font-weight:600;
}
.stap-group-job-sales .flex .about-sales-job p {
  margin:auto;
}
.section05 h2.ttl-sales {
  text-align:center;
  font-weight:600;
}
.section05 h2.ttl-sales img {
  margin:auto;
  display:block;
}
.section06 h2.ttl-sales {
  text-align:center;
  font-weight:600;
}
.section06 h2.ttl-sales img {
  margin:auto;
  display:block;
}

/* architect */
.key-visual.architect {
  color:#fff;
  text-align:center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.key-visual.architect .box {
  width:100%;
}
.key-visual.architect h2.catchcopy {
  background:#cccccc;
  font-weight:normal;
  color:#000;
}
.key-visual.architect h2.catchcopy2 {
  color:#fff;
  font-weight:normal;
}
.stap-group-job-architect {
  color:#fff;
  margin-bottom:0;
}
.stap-group-job-architect h2 {
  font-weight:600;
}
.stap-group-job-architect h2 img {
  display:block;
}
.section05 h2.ttl-architect {
  text-align:center;
  font-weight:600;
}
.section05 h2.ttl-architect img {
  margin:auto;
  display:block;
}
.section06 h2.ttl-architect {
  text-align:center;
  font-weight:600;
}
.section06 h2.ttl-architect img {
  margin:auto;
  display:block;
}

/*session*/
.key-visual.session {
  color:#fff;
  text-align:center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.key-visual.session .box {
  width:100%;
}
.stap-group-job-session {
  color:#fff;
  margin-bottom:0;
}
.stap-group-job-session h2 {
  text-align:center;
}
.stap-group-job-session h2 img {
  margin:auto;
  display:block;
}
.stap-group-job-session .flex .about-session-job img {
  margin:auto;
  display:block;
}
.stap-group-job-session .flex .about-session-job h3 {
  text-align:center;
  font-weight:600;
}
.stap-group-job-session .flex .about-session-job p {
  margin:auto;
}
.section05 h2.ttl-session {
  text-align:center;
  font-weight:600;
}
.section05 h2.ttl-session img {
  margin:auto;
  display:block;
}
.section06 h2.ttl-session {
  text-align:center;
  font-weight:600;
}
.section06 h2.ttl-session img {
  margin:auto;
  display:block;
}

@media print, (min-width: 768px) {
  /* common */
  .fixed-btn {
    /*width:150px;
    height:150px;*/
    width:170px;
    height:170px;
    right:50px;
    top:50px;
  }
  .key-visual h2.ttl-fukidashi {
    width:400px;
    margin:0 auto 20px;
    font-size:34px;
  }
  .key-visual h2.ttl-fukidashi:before,
  .key-visual h2.ttl-fukidashi:after {
    content:'';
    width:26px;
    height:34px;
    display:inline-block;
    margin-bottom:-5px;
  }
  .key-visual h2.ttl-fukidashi:before {
    margin-right:15px;
  }
  .key-visual h2.ttl-fukidashi:after {
    margin-left:15px;
  }
  .key-visual h3.date {
    width:650px;
    font-size:20px;
    padding:15px 0;
  }
  .intro-about-stap {
    height:1060px;
    background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/common/bg01.jpg') no-repeat;
    background-size:cover;
  }
  .intro-about-stap h2 {
    font-size:26px;
    margin-bottom:50px;
  }
  .intro-about-stap h2 img {
    margin:0 auto 20px;
  }
  .intro-about-stap p {
    width:550px;
    margin:0 auto 50px;
  }
  .intro-about-stap .flex {
    width:400px;
    margin:50px auto 0;
  }
  .intro-about-stap .flex img {
    margin-bottom:30px;
  }
  .stap-group-trivia {
    margin-bottom:80px;
  }
  .stap-group-trivia h2 {
    font-size:26px;
    margin-bottom:-200px;
    margin-top:80px;
  }
  .stap-group-trivia h2 img {
    margin-bottom:20px;
  }
  .stap-group-trivia .box-trivia {
    padding:280px 0 100px;
  }
  .stap-group-trivia .box-trivia img {
    margin-bottom:30px;
  }
  .stap-group-trivia .box-trivia h3 {
    margin-bottom:30px;
  }
  .stap-group-trivia .box-trivia h3 img {
    margin-bottom:0;
  }
  .stap-group-trivia .box-trivia p {
    width:80%;
    margin:auto;
    line-height:1.9;
  }
  .stap-group-movie {
    margin-bottom:80px;
  }
  .stap-group-movie h2 {
    font-size:20px;
    margin-bottom:80px;
  }
  .stap-group-movie h2 img {
    margin-bottom:20px;
  }
  .stap-group-movie h3 {
    font-size:15px;
    margin-bottom:30px;
  }
  .stap-group-movie h3 img {
    margin-bottom:10px;
  }
  .stap-group-movie .flex {
    margin-bottom:80px;
    justify-content:flex-start;
    flex-wrap:wrap;
  }
  .stap-group-movie .flex iframe {
    width:320px;
    height:220px;
    margin:0 20px 20px 0;
  }
  .stap-group-movie .flex iframe:nth-of-type(3n) {
    margin-right:0;
  }
  .stap-group-movie .for-youtube {
    width:340px;
    margin:0 auto;
    font-size:17px;
    padding:20px 0;
    border-radius:5px;
  }
  .stap-group-movie .for-youtube:before {
    width:32px;
    height:22px;
    margin:0 10px -5px 0;
  }
  .stap-group-schedule {
    margin-bottom:100px;
  }
  .stap-group-schedule .bg-area {
	  background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/session2025/bg03.jpg')no-repeat;
	  background-size:cover;
    background-position:center;
    height:1050px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
  }
  .stap-group-schedule .bg-area h2 {
    font-size:28px;
    margin-bottom:80px;
  }
  .stap-group-schedule .bg-area h2 img {
    margin-bottom:30px;
  }
  .stap-group-schedule .bg-area .place {
    font-size:22px;
    margin-bottom:30px;
    line-height:1.8;
  }
  .stap-group-schedule .bg-area .date {
    font-size:20px;
    border:1px solid #fff;
    padding:15px 30px;
  }
  .stap-group-schedule .schedule-about {
    margin-top:-80px;
  }
  .stap-group-schedule .schedule-about .flex {
    margin-bottom:30px;
  }
  .stap-group-schedule .schedule-about .flex:first-child {
    align-items:flex-end;
  }
  .stap-group-schedule .schedule-about .flex:first-child .txt-area {
    margin-bottom:30px;
  }
  .stap-group-schedule .schedule-about img {
    width:450px;
  }
  .stap-group-schedule .schedule-about .txt-area {
    width:500px;
    line-height:1.9;
  }
  .stap-group-schedule .schedule-about .txt-area h3 {
    font-size:26px;
    line-height:1;
    margin-bottom:25px;
  }
  .section05 h2.ttl-sales {
    font-size:28px;
    margin-bottom:50px;
  }
  .section05 h2.ttl-sales img {
    margin-bottom:25px;
  }
  .section06 h2.ttl-sales {
    font-size:28px;
    margin-bottom:50px;
    letter-spacing:1.2px;
  }
  .section06 h2.ttl-sales img {
    margin-bottom:25px;
  }

  /* sales */
  .key-visual.sales {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/fv.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:center;
    padding-top:0;
  }
  .key-visual.sales h1 {
    width:100%;
    font-size:48px;
    margin-bottom:50px;
    line-height:1.8;
  }
  .key-visual.sales h1 img {
    width:400px;
    margin:0 auto 10px;
    display:block;
  }
  .key-visual.sales h2.catchcopy {
    font-size:30px;
    margin-bottom:50px;
    line-height:1.8;
  }
  .key-visual.sales .flex {
    margin-top:80px;
  }
  .key-visual.sales .flex .box-job-kind {
    width:40%;
    margin:0 auto;
  }
  .key-visual.sales .flex .box-job-kind img {
    margin:0 10px;
  }
  .key-visual.sales .flex .box-job-kind p {
    font-size:16px;
    padding:5px 15px;
    width:fit-content;
    margin:20px auto 0;
    border:2px solid #fff;
  }
  .stap-group-job-sales {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/bg02.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:950px;
    padding:80px 0;
  }
  .stap-group-job-sales h2 {
    font-size:20px;
    margin-bottom:80px;
  }
  .stap-group-job-sales h2 img {
    margin-bottom:20px;
  }
  .stap-group-job-sales .flex {
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;
  }
  .stap-group-job-sales .flex .about-sales-job {
    width:50%;
  }
  .stap-group-job-sales .flex .about-sales-job img {
    margin-bottom:40px;
  }
  .stap-group-job-sales .flex .about-sales-job h3 {
    font-size:30px;
    margin-bottom:30px;
  }
  .stap-group-job-sales .flex .about-sales-job p {
    font-size:15px;
    width:450px;
    line-height:1.9;
  }

 /* architect */
  .key-visual.architect {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/architect/fv.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:center;
    padding-top:0;
  }
  .key-visual.architect h1 {
    width:100%;
    font-size:48px;
    margin-bottom:50px;
    line-height:1.8;
  }
  .key-visual.architect h1 img {
    width:530px;
    margin:0 auto 10px;
    display:block;
  }
	.key-visual.architect h2.ttl-fukidashi {
    width: 400px;
    margin: 0 auto 50px;
    font-size: 34px;
	}
  .key-visual.architect h2.ttl-fukidashi:before,
  .key-visual.architect h2.ttl-fukidashi:after {
    content:'';
    width:35px;
    height:42px;
    display:inline-block;
    margin-bottom:-12px;
  }
  .key-visual.architect h2.ttl-fukidashi:before {
    margin-right:25px;
  }
  .key-visual.architect h2.ttl-fukidashi:after {
    margin-left:25px;
  }
  .key-visual.architect h2.catchcopy {
    font-size:24px;
    margin:0 auto 50px;
    line-height:1.8;
    width:650px;
    padding:8px 0;
  }
  .key-visual.architect h2.catchcopy2 {
    font-size:24px;
    margin:0 auto 30px;
    line-height:1.8;
  }
  .stap-group-movie h2.ttl-architect {
    font-size:26px;
    margin-bottom:40px;
  }
  .stap-group-movie .flex.architect {
    margin-bottom:50px;
  }
  .stap-group-job-architect {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/architect/bg02.jpg)no-repeat;
    background-size:cover;
    background-position:bottom;
    height:1080px;
    padding:0 150px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }
  .stap-group-job-architect h2 {
    font-size:28px;
    margin-bottom:50px;
  }
  .stap-group-job-architect h2 img {
    margin-bottom:20px;
  }
  .stap-group-job-architect p {
    font-size:15px;
    width:500px;
    line-height:1.9;
  }
  .stap-group-schedule .bg-area.architect {
    background-position:top;
  }
  .stap-group-schedule h2.ttl-architect {
    margin-top:80px;
  }
  .section05 h2.ttl-architect {
    font-size:28px;
    margin-bottom:50px;
  }
  .section05 h2.ttl-architect img {
    margin-bottom:25px;
  }
  .section06 h2.ttl-architect {
    font-size:28px;
    margin-bottom:50px;
    letter-spacing:1.2px;
  }
  .section06 h2.ttl-architect img {
    margin-bottom:25px;
	}

/*session*/
	.key-visual.session {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/group/recruit/top/fv_main.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:center;
    padding-top:0;
  }
  .key-visual.session h1 {
    width:100%;
    font-size:48px;
    margin-bottom:10px;
    line-height:1.8;
  }
  .key-visual.session h1 img {
    width:400px;
    margin:0 auto 10px;
    display:block;
  }
  .key-visual.session h2.catchcopy {
    font-size:26px;
    margin-bottom:44px;
    line-height:1.8;
  }
	.key-visual.session h2.ttl-fukidashi img {
    width:23%;
    margin:0 auto 10px;
  }
  .key-visual.session .icon-work{
	  width:207px;
	}
  .key-visual.session .date-time {
    font-size:16px;
    padding:12px 22px;
    width:fit-content;
    margin:20px auto 0;
    border:2px solid #fff;
	 border-radius:10px;
  }
	.key-visual.session .date-time h3 {
		width:100%;
		font-size: 28px;
		letter-spacing:0;
		text-align:left;
		line-height:1.5;
	}
	.key-visual.session .date-time h3 span{
		display:block;
		margin-top:10px;
		font-size:15px;
		text-align:center;
		font-weight:normal;
	}
	.key-visual.session .flex {
    margin-top:80px;
  }
  .key-visual.session .flex .box-job-kind {
    width:40%;
    margin:0 auto;
  }
  .key-visual.session .flex .box-job-kind img {
    margin:0 10px;
  }
	.key-visual.session .flex .box-job-kind p {
    font-size:16px;
    padding:5px 15px;
    width:fit-content;
    margin:20px auto 0;
    border:1px solid #fff;
  }
 /*job*/
  .stap-group-job-session {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/session2024/bg02.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:950px;
    padding:80px 0;
  }
  .stap-group-job-session h2 {
    font-size:20px;
    margin-bottom:80px;
  }
  .stap-group-job-session h2 img {
    margin-bottom:20px;
  }
	.stap-group-job-session .flex {
    justify-content:center;
    align-items:flex-start;
    flex-wrap:wrap;
  }
	.stap-group-job-session .flex.logo-double{
		width: 250px;
		margin: auto;
	}
  .stap-group-job-session .flex .about-session-job {
    width:50%;
  }
  .stap-group-job-session .flex .about-session-job img {
    margin-bottom:40px;
  }

  .stap-group-job-session .flex .about-session-job h3 {
    font-size:30px;
    margin-bottom:30px;
  }
  .stap-group-job-session .flex .about-session-job p {
    font-size:15px;
    width:450px;
    line-height:1.9;
  }
	.section05 .Notes p{
	 text-align: center;
    font-size: 14px;
    font-weight: 600;
    display: block;
    margin: 40px 0;
    line-height: 25px;
	}
}
@media only screen and (max-width: 767.98px) {
  /* common */
  .fixed-btn {
    /*width:100px;
    height:100px;*/
    width:110px;
    height:110px;
    right:10px;
    bottom:10px;
  }
  .key-visual h2.ttl-fukidashi {
    width:150px;
    margin:0 auto 15px;
    font-size:20px;
  }
  .key-visual h2.ttl-fukidashi:before,
  .key-visual h2.ttl-fukidashi:after {
    content:'';
    width:18px;
    height:24px;
    display:inline-block;
    margin-bottom:-5px;
  }
  .key-visual h2.ttl-fukidashi:before {
    margin-right:10px;
  }
  .key-visual h2.ttl-fukidashi:after {
    margin-left:10px;
  }
  .key-visual h3.date {
    width:70%;
    font-size:15px;
    padding:5px 0;
    margin:0 auto;
  }
	.key-visual h3{
		
	}
  .intro-about-stap {
    height:900px;
    background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/common/sp/bg01.jpg') no-repeat;
    background-size:cover;
  }
  .intro-about-stap h2 {
    font-size:17px;
    margin-bottom:30px;
  }
  .intro-about-stap h2 img {
    width:160px;
    margin:0 auto 20px;
  }
  .intro-about-stap p {
    margin:0 auto 40px;
    font-size:14px;
  }
  .intro-about-stap .flex {
    width:100%;
    margin:40px auto 0;
  }
  .intro-about-stap .flex img {
    margin-bottom:20px;
  }
  .stap-group-trivia {
    margin-bottom:50px;
  }
  .stap-group-trivia h2 {
    font-size:17px;
    background:#f2f2f2;
    padding-top:50px;
  }
  .stap-group-trivia h2 img {
    margin-bottom:20px;
    width:170px;
  }
  .stap-group-trivia .flex {
    display:block;
  }
  .stap-group-trivia .box-trivia {
    padding:50px 0;
  }
  .stap-group-trivia .box-trivia img {
    margin-bottom:30px;
  }
  .stap-group-trivia .box-trivia h3 {
    margin-bottom:30px;
  }
  .stap-group-trivia .box-trivia h3 img {
    margin-bottom:0;
  }
  .stap-group-trivia .box-trivia p {
    width:80%;
    margin:auto;
    line-height:1.9;
  }
  .stap-group-movie {
    margin-bottom:80px;
  }
  .stap-group-movie h2 {
    font-size:17px;
    margin-bottom:40px;
  }
  .stap-group-movie h2 img {
    margin-bottom:20px;
    width:165px;
  }
  .stap-group-movie h3 {
    font-size:14px;
    margin-bottom:20px;
  }
  .stap-group-movie h3 img {
    margin-bottom:10px;
    width:140px;
  }
  .stap-group-movie .flex {
    margin-bottom:50px;
    display:block;
  }
  .stap-group-movie .flex iframe {
    width:100%;
    height:200px;
    margin-bottom:20px;
  }
  .stap-group-movie .for-youtube {
    width:90%;
    margin:0 auto;
    font-size:15px;
    padding:15px 0;
    border-radius:5px;
  }
  .stap-group-movie .for-youtube:before {
    width:32px;
    height:22px;
    margin:0 10px -5px 0;
  }
  .stap-group-schedule {
    margin-bottom:80px;
  }
  .stap-group-schedule .bg-area {
	  background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/session2025/sp/bg03.jpg')no-repeat;
    background-size:cover;
    background-position:bottom;
    height:650px;
    align-items:center;
    justify-content:center;
    flex-wrap:wrap;
  }
  .stap-group-schedule .bg-area h2 {
    font-size:20px;
    margin-bottom:30px;
  }
  .stap-group-schedule .bg-area h2 img {
    margin-bottom:20px;
    width:296px;
  }
  .stap-group-schedule .bg-area .place {
    font-size:17px;
    margin-bottom:20px;
    line-height:1.8;
  }
  .stap-group-schedule .bg-area .date {
    font-size:17px;
    border:1px solid #fff;
    padding:5px 10px;
  }
  .stap-group-schedule .schedule-about {
    margin-top:-70px;
  }
  .stap-group-schedule .schedule-about .flex {
    display:block;
    margin-bottom:30px;
  }
  .stap-group-schedule .schedule-about img {
    width:100%;
    margin-bottom:25px;
  }
  .stap-group-schedule .schedule-about .txt-area {
    width:100%;
    line-height:1.9;
  }
  .stap-group-schedule .schedule-about .txt-area h3 {
    font-size:20px;
    line-height:1;
    margin-bottom:20px;
  }
  .section05 h2.ttl-sales {
    font-size:20px;
    margin-bottom:30px;
  }
  .section05 h2.ttl-sales img {
    margin-bottom:15px;
    width:187px;
  }
  .section06 h2.ttl-sales {
    font-size:20px;
    margin-bottom:30px;
    letter-spacing:1.2px;
  }
  .section06 h2.ttl-sales img {
    margin-bottom:15px;
    width:189px;
  }

  /* sales */
  .key-visual.sales {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/sp/fv.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:bottom;
    padding-top: 10vh;
  }
  .key-visual.sales h1 {
    width:100%;
    font-size:25px;
    margin-bottom:15px;
    line-height:1.8;
  }
  .key-visual.sales h1 img {
    width:220px;
    margin:0 auto 10px;
    display:block;
  }
  .key-visual.sales h2.catchcopy {
    font-size:16px;
    margin-bottom:20px;
    line-height:1.8;
  }
  .key-visual.sales .flex {
    display:block;
    margin-top:30px;
  }
  .key-visual.sales .flex .box-job-kind {
    margin-bottom:20px;
    text-align:center;
    padding:0 15px;
  }
  .key-visual.sales .flex .box-job-kind img {
    margin:0 10px 20px;
  }
  .key-visual.sales .flex .box-job-kind p {
    font-size:14px;
    padding:5px 15px;
    width:fit-content;
    margin:0 auto;
    border:1px solid #fff;
  }
  .stap-group-job-sales h2 {
    font-size:17px;
    margin-bottom:50px;
  }
  .stap-group-job-sales h2 img {
    margin-bottom:20px;
  }
  .stap-group-job-sales .flex {
    display:block;
  }
  .stap-group-job-sales .flex .about-sales-job {
    padding:80px 0.45rem;
  }
  .stap-group-job-sales .flex .about-sales-job:nth-child(1) {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/sp/bg02-1.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:750px;
  }
  .stap-group-job-sales .flex .about-sales-job:nth-child(2) {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/sp/bg02-2.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:650px;
  }
  .stap-group-job-sales .flex .about-sales-job img {
    margin-bottom:20px;
  }
  .stap-group-job-sales .flex .about-sales-job h3 {
    font-size:26px;
    margin-bottom:30px;
  }
  .stap-group-job-sales .flex .about-sales-job p {
    font-size:14px;
    width:100%;
    line-height:1.9;
  }

  /* architect */
  .key-visual.architect {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/architect/sp/fv.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:center;
    padding-top:0;
  }
  .key-visual.architect h1 {
    width:100%;
    font-size:25px;
    margin-bottom:40px;
    line-height:1.8;
  }
  .key-visual.architect h1 img {
    width:320px;
    margin:0 auto 10px;
    display:block;
  }
  .key-visual.architect h2.catchcopy {
    width:90%;
    font-size:14px;
    line-height:1;
    margin:0 auto 30px;
    padding:10px 0;
  }
  .key-visual.architect h2.catchcopy2 {
    font-size:18px;
    margin:0 auto 15px;
  }
	.key-visual.architect h2.ttl-fukidashi {
    width:85%;
    margin: 0 auto 30px;
    font-size: 34px;
	}
	.key-visual.architect h2.ttl-fukidashi img {
    width: 140px;
	}
  .key-visual.architect h2.ttl-fukidashi:before,
  .key-visual.architect h2.ttl-fukidashi:after {
    content:'';
    width:21px;
    height:27px;
    display:inline-block;
    margin-bottom:-8px;
  }
  .key-visual.architect h2.ttl-fukidashi:before {
    margin-right:15px;
  }
  .key-visual.architect h2.ttl-fukidashi:after {
    margin-left:15px;
  }
  .intro-about-stap h2.ttl-architect {
    font-size:22px;
  }
  .intro-about-stap h2.ttl-architect img {
    width:85px;
  }
  .stap-group-trivia h2.ttl-architect {
    font-size:22px;
  }
  .stap-group-trivia h2.ttl-architect img {
    width:85px;
  }
  .stap-group-movie h2.ttl-architect {
    font-size:22px;
  }
  .stap-group-movie h2.ttl-architect img {
    width:85px;
  }
  .stap-group-job-architect {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/architect/sp/bg02.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:750px;
    padding:0 5%;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
  }
  .stap-group-job-architect h2 {
    font-size:22px;
    margin-bottom:40px;
  }
  .stap-group-job-architect h2 img {
    width:75px;
    margin-bottom:20px;
  }
  .stap-group-job-architect p {
    font-size:14px;
    line-height:1.9;
  }
  .stap-group-schedule .bg-area.architect {
    background-position:bottom;
  }
  .stap-group-schedule h2.ttl-architect {
    margin-top:30px;
  }
  .stap-group-schedule h2.ttl-architect img {
    width:320px;
  }
  .section05 h2.ttl-architect {
    font-size:22px;
    margin-bottom:30px;
  }
  .section05 h2.ttl-architect img {
    margin-bottom:15px;
    width:100px;
  }
  .section06 h2.ttl-architect {
    font-size:22px;
    margin-bottom:30px;
    letter-spacing:1.2px;
  }
  .section06 h2.ttl-architect img {
    margin-bottom:15px;
    width:150px;
  }
/*session*/
	.key-visual.session {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/group/recruit/top/sp/fv_main.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:bottom;
    padding-top: 5vh;
  }
  .key-visual.session h1 {
    width:100%;
    font-size:25px;
    margin-bottom:12px;
    line-height:1.2;
  }
  .key-visual.session h1 img {
    width:255px;
    margin:0 auto 10px;
    display:block;
  }
	.key-visual.session .icon-work {
		width: 170px;
		margin-bottom: 15px;
	}
  .key-visual.session h2.catchcopy {
    font-size:18px;
    margin-bottom:16px;
    line-height:1.8;
  }
	.key-visual h2.ttl-fukidashi{
		width: 150px;
		margin: 0px auto 10px;
		font-size: 20px;
	}
	.key-visual.session h2.ttl-fukidashi img{
		width: 60px;
		margin-bottom: 12px;
	}
	.key-visual.session .date-time{
		font-size: 16px;
		padding: 10px;
		width: fit-content;
		margin: 0 auto 0;
		border: 2px solid #fff;
		border-radius: 5px;
	}
	.key-visual.session .date-time h3{
		width:100%;
		font-size: 20px;
		text-align:center;
		line-height: 1.5;
	}
	.key-visual.session .date-time h3 span{
		margin-top: 8px;
		display: block;
		font-size: 16px;
		text-align:center;
	}
  .key-visual.session .flex {
    display:block;
    margin-top:25px;
  }
  .key-visual.session .flex .box-job-kind {
    margin-bottom:16px;
    text-align:center;
    padding:0 15px;
  }
  .key-visual.session .flex .box-job-kind img {
    margin:0 10px 12px;
  }
  .key-visual.session .flex .box-job-kind p {
    font-size:14px;
    padding:5px 15px;
    width:fit-content;
    margin:0 auto;
    border:1px solid #fff;
  }
  .stap-group-job-session h2 {
    font-size:17px;
    margin-bottom:50px;
  }
  .stap-group-job-session h2 img {
    margin-bottom:20px;
  }
  .stap-group-job-session .flex {
    display:block;
  }
	.stap-group-job-session .flex.logo-double{
		display: flex;
		width: 70%;
		margin: 0 auto 15px;
	}
  .stap-group-job-session .flex .about-session-job {
    padding:80px 0.45rem;
  }
  .stap-group-job-session .flex .about-session-job:nth-child(1) {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/sales/sp/bg02-1.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:750px;
  }
  .stap-group-job-session .flex .about-session-job:nth-child(2) {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/session2024/sp/bg02-2.jpg)no-repeat;
    background-size:cover;
    background-position:center;
    height:650px;
  }
  .stap-group-job-session .flex .about-session-job img {
    margin-bottom:20px;
  }
  .stap-group-job-session .flex .about-session-job h3 {
    font-size:26px;
    margin-bottom:30px;
  }
  .stap-group-job-session .flex .about-session-job p {
    font-size:14px;
    width:100%;
    line-height:1.9;
  }
	.stap-group-schedule .bg-area .date{
		font-size: 17px;
		border: 1px solid #fff;
		padding: 8px 14px;
		text-align: ;
		margin: 0 auto;
	}
	.section05 .Notes p{
		font-size:14px;
		margin:10px 0 0;
	}
}


/* intern2025 */
.key-visual.intern {
  color:#fff;
  text-align:center;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}
.key-visual.intern .box {
  width:100%;
}
.key-visual.intern h1 img {
  display:block;
}
.key-visual.intern .flex .box-job-kind p {
  width:fit-content;
  border:1px solid #fff;
}
.stap-group-schedule.intern .bg-area .intern_course a {
  display:block;
  background:rgba(0,113,188,0.7);
  color:#fff;
  text-align:center;
}
.stap-group-schedule.intern .schedule-about .txt-area h3 {
  color:#0071BC;
}
.section-intern-entry h2 img {
  display:block;
  margin:auto;
}
.section-intern-entry p {
  font-weight:600;
  text-align:center;
}
.section-intern-entry p.small {
  font-weight:normal;
}
.section-intern-entry .link-entry {
  display:block;
  background:#0071BC;
  color:#fff;
  font-weight:600;
  text-align:center;
  border-radius:5px;
}
.section-intern-entry .link-entry span {
  display:block;
}
.section-intern-entry .link-entry span:before {
  content:'';
  display:inline-block;
  background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/intern2025/ico_link.svg')no-repeat;
  background-size:cover;
  background-position:center;
}
.section06.intern h2 img {
  display:block;
  margin:auto;
}
.section06.intern p.info {
  text-align:center;
}

@media print, (min-width: 768px) {
/*intern2025*/
  .key-visual.intern {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/intern2025/fv_main.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:center;
    padding-top:0;
  }
  .key-visual.intern h1 {
    width:500px;
    margin:40px auto 90px;
  }
  .key-visual.intern h2 img {
    width:150px;
    margin:0 auto 10px;
  }
  .key-visual.intern h2.catchcopy {
    font-size:24px;
    margin-bottom:44px;
  }
  .key-visual.intern .flex {
    margin-top:80px;
  }
  .key-visual.intern .flex .box-job-kind {
    width:40%;
    margin:0 auto;
  }
  .key-visual.intern .flex .box-job-kind img {
    margin:0 10px;
  }
  .key-visual.intern .flex .box-job-kind p {
    font-size:16px;
    padding:5px 15px;
    margin:20px auto 0;
  }
  .stap-group-schedule.intern .bg-area {
    background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/intern2025/bg03.jpg')no-repeat;
    background-size:cover;
    background-position:center;
  }
  .stap-group-schedule.intern .bg-area h2 {
    font-size:24px;
    margin-bottom:80px;
  }
  .stap-group-schedule.intern .bg-area h2 img {
    margin-bottom:30px;
  }
  .stap-group-schedule.intern .bg-area .intern_course {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
    margin-bottom:30px;
  }
  .stap-group-schedule.intern .bg-area .intern_course a {
    padding:10px;
    width:49%;
    font-size:22px;
    margin-bottom:2%;
  }
  .stap-group-schedule.intern .schedule-about {
    margin-top:50px;
  }
  .stap-group-schedule .schedule-about .flex {
    margin-bottom:50px;
    /*align-items:flex-start;*/
  }
  .stap-group-schedule.intern .schedule-about .flex:first-child {
    align-items:flex-start;
  }
  .section-intern-entry {
    margin-bottom:150px;
  }
  .section-intern-entry h2 {
    margin-bottom:30px;
  }
  .section-intern-entry p {
    font-size:22px;
    margin-bottom:10px;
  }
  .section-intern-entry p.small {
    font-size:18px;
  }
  .section-intern-entry .link-entry {
    font-size:22px;
  }
  .section-intern-entry .link-entry span:before {
    width:17px;
    height:19px;
    margin-right:15px;
  }
  .section-intern-entry .link-entry.big {
    width:800px;
    padding:25px 0;
    margin:40px auto 50px;
  }
  .section-intern-entry .link_entry_list {
    display:flex;
    align-items:center;
    justify-content:space-between;
    flex-wrap:wrap;
  }
  .section-intern-entry .link_entry_list a {
    width:49%;
    padding:15px;
    margin-bottom:2%;
  }
  .section06.intern h2 {
    margin-bottom:20px;
  }
  .section06.intern p.info {
    font-size:20px;
    margin-bottom:30px;
  }
}

@media only screen and (max-width: 767.98px) {
/*intern2025*/
  .key-visual.intern {
    background:url(https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/intern2025/sp/fv_main.jpg)no-repeat;
    background-size:cover;
    margin-bottom:0;
    background-position:bottom;
    padding-top: 5vh;
  }
  .key-visual.intern h1 {
    width:290px;
    margin:0 auto 25px;
  }
  .key-visual.intern h2 img {
    width:100px;
    margin:0 auto 15px;
  }
  .key-visual.intern h2.catchcopy {
    font-size:16px;
  }
  .key-visual.intern .flex {
    display:block;
    margin-top:25px;
  }
  .key-visual.intern .flex .box-job-kind {
    margin-bottom:16px;
    text-align:center;
    padding:0 15px;
  }
  .key-visual.intern .flex .box-job-kind img {
    margin:0 10px 12px;
  }
  .key-visual.intern .flex .box-job-kind p {
    font-size:14px;
    padding:5px 15px;
    margin:0 auto;
  }
  .stap-group-schedule.intern {
    margin-bottom:80px;
  }
  .stap-group-schedule.intern .bg-area {
    background:url('https://stap.co.jp/wp-content/themes/fcvanilla/img/recruit/intern2025/sp/bg03.jpg')no-repeat;
    background-size:cover;
    background-position:bottom;
  }
  .stap-group-schedule.intern .bg-area h2 {
    font-size:18px;
    margin-bottom:30px;
  }
  .stap-group-schedule.intern .bg-area h2 img {
    margin-bottom:20px;
  }
  .stap-group-schedule.intern .bg-area .place {
    font-size:17px;
    margin-bottom:20px;
    line-height:1.5;
  }
  .stap-group-schedule.intern .bg-area .intern_course {
    margin-bottom:20px;
  }
  .stap-group-schedule.intern .bg-area .intern_course a {
    padding:10px;
    font-size:16px;
    margin-bottom:10px;
  }
  .stap-group-schedule.intern .schedule-about {
    margin-top:30px;
  }
  .stap-group-schedule.intern .schedule-about .flex {
    display:block;
    margin-bottom:50px;
  }
  .stap-group-schedule.intern .schedule-about img {
    width:100%;
    margin-bottom:25px;
  }
  .stap-group-schedule.intern .schedule-about .txt-area {
    width:100%;
    line-height:1.9;
  }
  .stap-group-schedule.intern .schedule-about .txt-area h3 {
    font-size:20px;
    line-height:1;
    margin-bottom:20px;
  }
  .section-intern-entry {
    margin-bottom:80px;
  }
  .section-intern-entry h2 {
    margin-bottom:30px;
  }
  .section-intern-entry h2 img {
    width:190px;
  }
  .section-intern-entry p {
    font-size:16px;
    margin-bottom:10px;
  }
  .section-intern-entry p.small {
    font-size:14px;
  }
  .section-intern-entry .link-entry {
    font-size:17px;
  }
  .section-intern-entry .link-entry span:before {
    width:14px;
    height:16px;
    margin-right:10px;
  }
  .section-intern-entry .link-entry.big {
    padding:20px 10px;
    margin:40px auto 20px;
  }
  .section-intern-entry .link_entry_list a {
    padding:15px 10px;
    margin-bottom:20px;
  }
  .section06.intern h2 {
    margin-bottom:15px;
  }
  .section06.intern h2 img {
    width:250px;
  }
  .section06.intern p.info {
    font-size:16px;
    margin-bottom:30px;
  }
}

.section_offer .flex {
  background: #f5f5f5;
}
@media print, (min-width: 768px) {
  .section_offer {
    margin-bottom: 150px;
  }
  .section_offer .flex {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 25px;
  }
  .section_offer .flex img {
    width: 480px;
  }
  .section_offer .flex .txt {
    width: 430px;
    font-size: 15px;
  }
  .section_offer .flex .txt h3 {
    font-size: 20px;
    margin-bottom: 30px;
    font-weight: 600;
  }
  .section_offer .flex .txt h3 img {
    width: 265px;
    margin-bottom: 10px;
    display: block;
  }
}
@media only screen and (max-width: 767.98px) {
  .section_offer {
    margin-bottom: 80px;
  }
  .section_offer .flex {
    padding: 30px 20px;
    display: block;
    margin-left: -0.45rem;
    margin-right: -0.45rem;
  }
  .section_offer .flex img {
    margin-bottom:20px;
  }
  .section_offer .flex .txt {
    font-size: 14px;
  }
  .section_offer .flex h3 {
    font-size: 18px;
    margin-bottom: 15px;
    text-align:center;
    font-weight: 600;
  }
  .section_offer .flex h3 img {
    width: 200px;
    margin: 0 auto 10px;
    display: block;
  }
}




footer {
	border-top:30px solid #000;
}
footer .links {
	justify-content:center;
	flex-wrap:wrap;
}
footer .links a {
	display:block;
}
footer .links a img {
	width:100%;
	height:auto;
}
footer .links a p {
	text-align:center;
	color:#000;
}
footer .address {
	text-align:center;
	color:#000;
}
footer .privacy-policy {
	text-align:center;
	color:#000;
	text-decoration:underline;
}
footer .copyright {
	text-align:center;
	color:#000;
}

@media print, (min-width: 768px) {
	footer {
		padding:80px 0;
	}
	footer h3 {
		width:470px;
		height:auto;
		margin:0 auto 80px;
	}
	footer .f-ttl{
		width: 280px;
		display: block;
		margin: 0px auto 60px;
	}
	footer .links {
		margin:0 0 80px;
	}
	footer .links a {
		width:155px;
		height:auto;
		margin:0 15px 30px;
	}
	footer .links a p {
		font-size:13px;
		margin-top:10px;
	}
	footer .address {
		font-size:15px;
		margin-bottom:80px;
	}
	footer .privacy-policy {
		font-size:15px;
		margin-bottom:50px;
	}
	footer .copyright {
		font-size:13px;
	}
}
@media only screen and (max-width: 767.98px) {
	footer {
		padding:50px 0;
	}
	footer h3 {
		width:90%;
		height:auto;
		margin:0 auto 50px;
	}
	footer .f-ttl{
		width: 77%;
		display: block;
		margin: 0 auto 40px;
	}
	footer .links {
		width:85%;
		margin:0 auto 50px;
	}
	footer .links a {
		width:48%;
		height:auto;
		margin:0 1% 20px;
	}
	footer .links a p {
		font-size:12px;
		margin-top:10px;
	}
	footer .address {
		font-size:14px;
		margin-bottom:50px;
	}
	footer .privacy-policy {
		font-size:14px;
		margin-bottom:30px;
	}
	footer .copyright {
		font-size:12px;
	}
}