/**
 * フロントとエディタの両方に適応するスタイル
 */

@charset "UTF-8";

/*共通*/


body * {
  font-feature-settings: "palt";
}

a {
  text-decoration: none !important;
}

@media (hover: hover) {

  a:hover,
  .ek-linked-block:hover {
    opacity: 0.7 !important;
    cursor: pointer;
  }
}

/* :hoverが使えない端末を想定 */
@media (hover: none) {

  a:active,
  .ek-linked-block:active {
    opacity: 0.7 !important;
  }
}

/*フォント*/
:root {
  --zenkakugo-font: "Zen Kaku Gothic New", var(--swl-font_family);
  --robot-font: "Roboto", var(--swl-font_family);
  --mplus1p-font: "M PLUS 1p", var(--swl-font_family);
  --notosanstc-font: "Noto Sans TC", var(--swl-font_family);
}
h1, h2, h3, h4, h5, h6 {
  font-family: "Roboto", var(--zenkakugo-font) !important;
}

.zen-kaku-gothic{
  font-family: var(--zenkakugo-font)!important;
  font-weight:600;
}
.roboto {
  font-family: var(--robot-font)!important;
  font-optical-sizing: auto;
  font-style: normal;
  font-variation-settings: "wdth" 95.7;
}
.m-plus-1p {
  font-family: var(--mplus1p-font)!important;
	transform: rotate(0.05deg);
}
.noto-sans-tc {
  font-family: var(--notosanstc-font)!important;
  font-optical-sizing: auto;
  font-style: normal;
}
/*リンクカラーリセット*/
.link-color-unset>a {
  color: unset !important
}

sub,
sup {
  font-size: 10px;
  letter-spacing: .1em;
  display: block;
}

/*幅広オーバーライド from 1230px to 1200px*/
@media (min-width: 1238px) {
  .alignwide {
    left: -85px;
    width: calc(100% + 170px);
  }
}

/*リストスタイルnone*/
ul.list-style-none {
  list-style: none !important;
  padding-left: 0 !important;
}

/*リストスタイルnone*/

/*リストスタイル四角*/
ul.is-style-square {
  list-style: none;
}

ul.is-style-square li {
  position: relative;
}

ul.is-style-square li:before {
  content: "";
  width: 0.7em;
  height: 0.7em;
  position: absolute;
  border: 1px solid var(--color_text);
  top: 0.4em;
  left: -1.5em;
}

/*リストスタイル四角*/

/*背景スタイル*/
.swl-bg-color {
    border-radius: 0px;
    padding: 0 0.25em;
}
/*●付きアコーディオン
.beg-aq-aco summary:before {
  color: var(--color_list_good);
  content: "\ea56";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: none;
  border: none;
  border-radius: 0;
  display: block;
  font-family: icomoon;
  position: absolute;
  width: 1em;
  height: 1em;
  left: 35px;
  top: 40px;
}

.beg-aq-aco {
  font-size: 1.125rem;
}

.beg-aq-aco summary {
  background: #fff;
  padding: 35px 70px;

}

.beg-aq-aco .swell-block-accordion__body {
  background: #fff;
  padding: 0px 70px 35px;
}

.beg-aq-aco .icon-plus:before,
.beg-aq-aco .icon-minus:before {
  font-size: 40px;
  color: #FFD255;
}
*/

/*swellのリッチカラムセンター配置*/
.swell-rich-col-center .swell-block-columns__inner {
  justify-content: center !important;
}

/*swellのリッチカラムspace-around配置*/
.swell-rich-col-around .swell-block-columns__inner {
  justify-content: space-around !important;
}

/*swellのリッチカラムspace-around配置*/
.swell-rich-col-between .swell-block-columns__inner {
  justify-content: space-between !important;
}

/*swellのリッチカラム幅均等配置(リッチカラムの幅設定は効かなくなる)*/
.swell-rich-col-evenly .swell-block-columns__inner .swell-block-column {
  flex: 1 !important;
}

/* 投稿リストブロックのカード型とサムネイル型を4,5列表示にする */
@media (min-width: 960px) {

  .-col4 .-type-card.-pc-col3 .p-postList__item,
  .-col4 .-type-thumb.-pc-col3 .p-postList__item {
    width: calc(100% / 4);
  }

  .-col5 .-type-card.-pc-col3 .p-postList__item,
  .-col4 .-type-thumb.-pc-col3 .p-postList__item {
    width: calc(100% / 5);
  }
}

/*テキストの前後に＼/をつける*/
.text-decoration-slash {
  position: relative;
}

/*背景スタイル*/
/*台形*/
.trapezoid-left:before {
  content: "";
  background: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  clip-path: polygon(0 48%, 100% 0, 100% 100%, 0% 100%);
}

.text-decoration-slash:before,
.text-decoration-slash:after {
  content: "";
  position: absolute;
  width: 19px;
  height: 1.4px;
  background-color: black;
  top: 7px;
}

.text-decoration-slash:before {
  transform: rotate(55deg) translate(-11px, 11px);
  transform-origin: 0 0;

}

.text-decoration-slash:after {
  transform: rotate(-55deg) translate(0px, -7px);
  transform-origin: 100% 0;
}

.f-before-btn a {
  width: 280px;
  padding: 23px 50px !important;
  border-radius: 34.5px !important;
}

/*moreボタン*/
/*moreボタン*/
.more.is-style-more_btn {
  padding: 0 !important;
  margin: 0 !important;
  line-height: 1;
}

.more.is-style-more_btn a {
  color: #141414;
  padding: 0;
  text-align: left;
  box-shadow: none;
  background: transparent;
}

.more.is-style-more_btn a:after {
  content: "";
  background: url(/wp-content/uploads/2025/09/arrow.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  width: 33px;
  height: 7px;
  right: 0em;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  transition: -webkit-transform .25s;
  transition: transform .25s;
  transition: transform .25s, -webkit-transform .25s;
}
.more.is-style-more_btn.orange a:after {
  background: url(/wp-content/uploads/2025/10/arrow-orange.svg);
}

.more.is-style-more_btn a:hover {
  background-color: transparent;
  box-shadow: none;
  color: #000;
  opacity: 0.7;
}

/*共通*/


/*ユーティリティ*/
.width-100 {
  width: 100%;
}

.sec-child-width-100 :nth-child(n+2) {
  width: 100%;
}

.ps-relative {
  position: relative;
}

.pd-0 {
  padding: 0 !important;
}

.pd-04em {
  padding: .4em !important;
}

.pd-05em {
  padding: .5em !important;
}

.pd-l-04em {
  padding-left: .4em !important;
}

.pd-l-0 {
  padding-left: 0 !important;
}

.pd-r-0 {
  padding-right: 0 !important;
}

.mg-0 {
  margin: 0 !important;
}

.mg-b-0 {
  margin-bottom: 0 !important;
}

.mg-b-125em {
  margin-bottom: 1.25em !important;
}

.mg-b-08em {
  margin-bottom: .8em !important;
}

.mg-b-07em {
  margin-bottom: .7em !important;
}

.mg-l-auto {
  margin-left: auto !important;
}

.mg-auto {
  margin: 0 auto !important;
}

.fw-light {
  font-weight: 400;
}

.fw-normal {
  font-weight: 500;
}

.fw-bold {
  font-weight: 600;
}

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

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

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

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

.text-align-last-justify {
  text-align-last: justify;
  text-justify: inter-ideograph;
}

.align-item-cnt {
  display: flex !important;
  align-items: center !important;
}

.justify-content-cnt {
  display: flex !important;
  justify-content: center !important;
}

.justify-content-btw {
  display: flex !important;
  justify-content: space-between !important;
}

.w-article {
  width: var(--article_size);
}

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

.d-block {
  display: block;
}

.d-flex {
  display: flex;
}

.obj-fit-cover {
  object-fit: cover;
}

.text-narrow-08 {
  transform: scale(0.8, 1);
}

.zindex-1 {
  z-index: 1;
}
.zindex-2 {
  z-index: 2;
}
.zindex-3 {
  z-index: 3;
}
.zindex-4 {
  z-index: 4;
}
.zindex-5 {
  z-index: 5;
}

.border-bt-dotted {
  border-bottom: 1px dotted;
}

.ovf-visible,
.ovf-visible * {
  overflow: visible;
}

/*スクロールバー非表示*/
.scb-none::-webkit-scrollbar {
  display: none;
}

.scb-none {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/*改行禁止*/
.nowrap {
  white-space: nowrap !important;
}

/*縦書き*/
.is-style-vertical-text {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}

/*縦書き*/
.icon-posted:before {
  display: none;
}

.p-postList__meta :before {
  display: none;
}

/*テキスト波線*/
.text-with-wave {
  text-decoration: underline;
  text-decoration-style: wavy;
  text-decoration-color: var(--color_main);
  text-underline-offset: 6px;
}

/*破線*/
.dotted01-bottom {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.dotted01-top {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px;
  background-repeat: repeat-x;
  background-position: left top;
}

.dotted01-right {
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 1px 3.8px;
  background-repeat: repeat-y;
  background-position: right top;
}

.dotted01-left {
  background-image: linear-gradient(to bottom, #000 1px, transparent 1px);
  background-size: 1px 3.8px;
  background-repeat: repeat-y;
  background-position: left top;
}

.dotted01-top-bottom {
  background-image: linear-gradient(to right, #000 0.8px, transparent 0.8px), linear-gradient(to right, #000 0.8px, transparent 0.8px);
  background-size: 3.8px 0.8px, 3.8px 0.8px;
  background-repeat: repeat-x, repeat-x;
  background-position: left top, left bottom;
}

/*ジグザグ境界線
 * backgroundの色は背景色によって変える
 * linera-gradientで角度変える*/
.zigzag-under::after {
  content: "";
  position: absolute;
  bottom: -17px;
  left: 0;
  width: 100%;
  height: 20px;
  background: linear-gradient(30deg, transparent 75%, #5cb531 75%) 0 0, linear-gradient(150deg, #5cb531 25%, transparent 25%) 0 0;
  background-size: 40px 40px;
}

/*投稿リストの一個目を消す*/
.disp-none-first-post ul>li:first-child {
  display: none;
}

/*
 * 画像の上に文字を重ねる
 * 以下の構成でグループに指定
 * グループ
 *  -画像
 *  -テキスト
 * */

.is-style-overlay-text {
  position: relative;
}

.is-style-overlay-text div:nth-child(n+2) {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.overlay-text-parent {
  position: relative;
}

.overlay-text-child-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/*ユーティリティ*/

/*フルワイドのサイト幅を1200pxに*/
@media only screen and (min-width: 1201px) {
  .swell-block-fullWide__inner.l-container {
    width: 1200px;
    max-width: 1200px;
  }
}

/*swellで要素をフルワイド*/
.swl-custom-fullwide {
  width: 100vw;
  height: 100%;
  position: absolute;
  top: 0;
  left: calc((100vw - var(--container_size, 0px)) / -2);
}

/*max-widthはサイト幅設定によって変更する
*1030px + 64px = 1094px*/
@media (max-width: 1094px) {
  .swl-custom-fullwide {
    left: calc(var(--swl-pad_container, 0)*-1);
  }
}

/*ページ共通*/
div#content {
    margin-top: var(--swl-headerH) !important;
}
.wp-block-image.is-style-photo_frame img, .wp-block-video.is-style-photo_frame video, img.photo_frame {
    border: min(1.36svh,11px) solid #fff;
    box-shadow: 0 0 0 min(0.99svh,8px) var(--color_main);
}

/*ヘッダー*/
.l-header {
    background: transparent;
    position: fixed;
    top: 0;
    left: 0;
}
.-parallel .l-header__inner{
	flex-wrap:nowrap;
	max-width: var(--article_size);
	padding-top: 45px;
}
#gnav .c-gnav {
    flex-direction: column;
	    padding-top: 8px;
    padding-bottom: 11px;
	    text-align: left;
}
.-parallel .l-header__gnav .c-gnav>li>a {
	padding: 0;
	width: fit-content;
}
#gnav .c-gnav>.menu-item>a .ttl{
	font-size: 1em!important;
    font-family: "M PLUS 1p", var(--swl-font_family);
	transform: rotate(0.05deg);
    font-weight: 500!important;
	letter-spacing:0.04em;
}
#gnav .c-gnav a::after {
    background: var(--color_text);
	height:1px;
	bottom:5px;
}
.-parallel-top .l-header__logo {
        order: 2;
        padding: 6px 0 0;
    }
.l-header.-parallel .w-header {
        width: 100%;
        justify-content: flex-end;
    }
ul#menu-global-navi-right {
    display: flex;
    font-size: 1em;
    font-family: "M PLUS 1p", var(--swl-font_family);
	transform: rotate(0.05deg);
    font-weight: 500;
    align-items: center;
    justify-content: space-between;
	letter-spacing:0.04em;
}
ul#menu-global-navi-right li a {
    width: 105px;
    height: 105px;
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
	border: 4px solid var(--color_main);
}
li#menu-item-59 a {
    background: var(--color_main);
}
li#menu-item-58 a {
    background: #fff;
}
.-parallel .w-header {
        margin-bottom: 0px;
        margin-top: 0px;
}

/*ヘッダーh4*/
h4.h4-orange {
    border-left: solid 7px #ff5c48!important;
}
/*ページトップボタン*/
#pagetop {
    width: 85px;
    height: 65px;
    border-radius: 0;
    opacity: 1;
    background: transparent;
	border:none;
	box-shadow:none;
}
#pagetop:hover{
	opacity:0.7;
	background-color:transparent!important;
}
#pagetop.c-fixBtn .c-fixBtn__icon {
    display: block;
    background-image: url(/wp-content/uploads/2025/10/page-top.svg);
    background-repeat: no-repeat;
    background-size: contain;
    width: 100%;
    height: 100%;
}
#pagetop.c-fixBtn .c-fixBtn__icon:before{
	display:none;
}
.p-fixBtnWrap {
        bottom: 3.5em;
        right: calc((100vw - var(--article_size)) / 2);
    }
/*下層ページヘッダー*/
.page-header-wp{
	padding-left:2.125em;
}

/*ハンバーガーメニュー*/
.p-spMenu__closeBtn{
	top:4vw;
	left:4vw;
}
.p-spMenu__nav li a {
    font-weight: 500;
}
.c-widget__title.-spmenu {
    display: none;
}
.p-spMenu__body {
    padding-top: 9vw;
}
/*リクルートバナー*/
.page-recruitbana {
    background: #ff7913;
    padding: 27px 27px 27px 36px;
	border-radius:20px;
	width:945px;
	margin:0 auto;
}
.page-recruitbana-left {
    padding-right: 4em!important;
}
.page-recruitbana figure {
    margin: 0 !important;
}
.page-recruitbana figure img {
    border-radius: 20px;
}
.recruit-btn{
    display: flex;
    justify-content: flex-end;
}
.recruit-btn a {
    background: #141414;
    color: #ff5c48;
    border-radius: 0;
    padding: 0;
    line-height: 1;
    height: 42px;
    padding: 0px;
    display: flex;
    align-items: center;
    justify-content: center;
	letter-spacing:0.1em;
}
/*Global Expansion*/
.global-exp{
    height: min(930px, 77.5vw);
	position:relative;
}
.global-exp.more .more {
    position: absolute;
    top: min(630px,52.5vw);
    right: min(60px,5vw);
}
.global-exp.more > div {
    background: url(/wp-content/uploads/2025/10/global-ex-bg-2.svg);
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}
/*フッター直前ボタン(RECRUIT/CONTACT)*/
.fbefore-btn {
    width: 906px;
    margin: 0 auto;
}
.fbefore-btn-left,
.fbefore-btn-right{
    border: 6px solid var(--color_main);
}
.fbefore-btn-left a,
.fbefore-btn-right a{
    width: 100%;
    height: 100%;
    border-radius: 0;
    box-shadow: none;
	padding-top: 2.59375rem;
    padding-bottom: 2.59375rem;
}
.fbefore-btn-right a{
	background:#fff;
}
.fbefore-btn-left a > span,
.fbefore-btn-right a > span{
    display: flex;
    flex-flow: column;
}
.fbefore-btn-left a > span .mininote,
.fbefore-btn-right a > span .mininote{
    opacity:1;
	font-size: 0.54em;
}
.fbefore-text{
	position:relative;
}
.fbefore-text:before {
    content: "";
    width: 100%;
    height: 1px;
    background: #141414;
    position: absolute;
    bottom: 2px;
    left: 0;
}
/*Global Expansion内 フッター直前ボタン(RECRUIT/CONTACT)*/
.global-exp .fbefore-btn {
    position: absolute;
    left: 50%;
    top: min(714px, 59vw);
    transform: translateX(-50%);
}
/*エントリーボタン*/
.entry-btn a {
    background: #ff5c48;
    color: var(--color_text);
    border-radius: 17.6941px;
    padding: 21px 48px;
justify-content: space-between!important;
}
.entry-btn a span {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
	line-height: 1;
    gap: 0.625rem;
}
.parallax-scroll-image {
    overflow: hidden;
    clip-path: inset(0 0 10% 0);
	transition: all 0.5s ease;
	will-change: transform;
}

/*トップ*/
.top-company-wp {
    margin-top: -90px !important;
}
.top-company-col {
    margin-top: -60px !important;
}
.top-company-img01 figure {
    margin-right: 0 !important;
}
.top-company-img02 figure,
.top-company-img03 figure{
    margin-left: 0 !important;
}
.top-company-img01 {
    margin-left: -50px;
	margin-top:-98px!important;
}
.top-company-img02 {
    margin-right: 75px;
    margin-top: -130px !important;
}
.top-company-img03 {
    transform: translateX(-19px);
}
.top-company-img04 {
    margin-left: 54px;
    margin-top: 50px !important;
}
.top-company-img05 {
    margin-left: -48px;
    margin-top: 25px !important;
}
.top-company-img06 {
    margin-right: 20px;
    margin-top: -100px !important;
}
.top-company-right-inner{
	will-change:transform;
	backface-visibility: hidden;
  transform: translateZ(0);
	contain: layout paint;
}
@media (min-width: 960px) {
.top-company-right-inner {
    position: sticky;
    top: 20%;
}
}

.top-sdgs-wp {
    padding: 73px 0 !important;
}
.top-sdgs-left {
    padding-right: 34px !important;
}
.top-sdgs-right {
    margin-left: 0 !important;
    padding-left: 26px!important;
}
/*企業情報*/
.company-phil-wp > div:before {
    content: "";
    background: url(https://ssk.webtechx.net/wp-content/uploads/2025/10/bg-square.svg);
    background-size: cover;
    background-repeat: no-repeat;
    position: absolute;
    width: 1126.3813px;
    height: 728.4829px;
    top: 52px;
    left: -42px;
	z-index:-1;
}
.company-table {
	--table-border: 1px solid #1e1e1e!important;
	letter-spacing: 0.05em;
}
.company-table table{
	letter-spacing: 0.05em;
}

.company-table td,
.company-table th {
    border: none;
    border-bottom: var(--table-border) !important;
    padding: 2.0625rem !important;
}

.company-table tr td:first-child,
.company-table tr td:nth-child(2) {
    border-top: var(--table-border) !important;
}
.company-address-title:before {
    content: "";
    height: 1px;
    width: 93px;
    background: #1e1e1e;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}
.company-address-title,
.company-address-item-title {
    padding: 9px 0 10px!important;
}
.company-address-wp {
    padding: 3.4375em 4.4375em!important;
}
.company-greeting-title {
    width: 132px;
    height: 47px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto !important;
}
.company-greeting-border {
    border-bottom: 1px solid #000;
	width:432px;
	margin:0 auto;
}
.company-greeting-text figure {
    padding-right: min(66px, 5.5vw);
}

/*採用情報*/
.recruit-h-text{
	width:fit-content;
	padding:9px 19px 9px 26px!important;
}
.recruit-h-text-wp {
    position: absolute;
    bottom: 37px;
    left: 0;
}
.recruit-interview-title {
    border-bottom: 1px solid #1e1e1e;
}
.recruit-interview-col-1 .recruit-interview-col-h {
    width: fit-content;
    padding: 13px 18px!important;
}
.recruit-interview-col-1 .recruit-interview-col-right
{
    padding-left: 93px!important;
}
.recruit-interview-col-1 .recruit-interview-name {
    border-left: 1px solid #ff5c48;
    padding-left: 32px;
    padding-top: 36px;
}
.recruit-interview-col-2 .recruit-interview-col-left {
    padding-right: 102px;
}
.recruit-interview-col-3-wp {
    background: linear-gradient(to right, #26d5dc, #96ecea);
	position:relative;
}
.recruit-interview-col-3{
	padding-top:73px;
	padding-bottom:73px;
}
.recruit-interview-col-3 .recruit-interview-col-left {
    display: flex;
    justify-content: center;
    align-items: center;
}
.recruit-interview-col-3 .recruit-interview-col-right{
	padding-left:10px;
}
.recruit-interview-col-3 .recruit-interview-col-left-text{
	position:relative;
}
.recruit-interview-col-3 .recruit-interview-col-left-text:before {
    content: "";
    width: 77px;
    height: 1px;
    background: #ff5c48;
    position: absolute;
    left: 0;
    top: -35px;
}
.recruit-interview-col-4-text {
   
}
.recruit-interview-col-4:not(.last){
	border-bottom: 1px solid #1e1e1e;
}
.recruit-table table{
	font-weight:600;
	letter-spacing:0.1em;
}
.recruit-table table tr{
	border-top:1px solid #000000;
}
.recruit-table table tr:last-child{
	border-bottom:1px solid #000000;
}

.recruit-table table td:nth-child(1) {
  background-color: var(--color_main);
}
.recruit-table table td{
	padding:2em 1.1825em;
	border:none;
}
/*お問い合わせ*/
.contact-wp > div{
	padding:0 7.5em!important;
}
.contact-tel-wp{
	display:flex;
	justify-content:center;
	align-items:center;
	background:#fff;
	border:1px solid #141414;
	width:788.5px;
	height:249.5276px;
}
.contact-form-wp {
    margin-bottom: 3.375em;
	letter-spacing:0.02em;
}

.contact-form-row {
    display: flex;
	flex-flow:column;
    justify-content: flex-start;
    align-items: stretch;
}

.contact-form-label {
    flex-basis: 30%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    position: relative;
    padding-left: 0px;
}

.contact-form-items {
    flex-basis: 100%;
    padding: 10px 0px 35px 0px;
    max-width: 100%;
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

input:not([type="radio"]).wpcf7-form-control,
textarea.wpcf7-form-control {
    width: 100%;
    border-radius: 8.6399px;
}


.file-field .contact-form-items {
    column-gap: 1em;
    padding-right: 0;
}


span.wpcf7-list-item-label {
    line-height: 1;
}

span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item {
    margin-left: 0;
}

span.wpcf7-form-control.wpcf7-radio.matter {
    display: grid;
  grid-template-columns: repeat(4, 1fr); /* 2行目の最大列数に合わせる */
  grid-template-rows: auto auto;
  gap: 10px;
  border: none;
  padding: 0;
  margin: 0;
}

span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(1) { grid-column: 1; grid-row: 1; }
span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(2) { grid-column: 2; grid-row: 1; }
span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(3) { grid-column: 3; grid-row: 1; }

span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(4) { grid-column: 1; grid-row: 2; }
span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(5) { grid-column: 2; grid-row: 2; }
span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(6) { grid-column: 3; grid-row: 2; }
span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(7) { grid-column: 4; grid-row: 2; }


span.wpcf7-form-control.wpcf7-radio.contact-kind .wpcf7-list-item.first {
    margin-left: 0;
}

.contact-kind .wpcf7-list-item {
    margin: 0 0 0 0em;
}

.contact-kind .wpcf7-list-item.last label {
    margin-right: 0px;
}

.contact-form-item label {
    margin-right: 7px;
}

.contact-form-item {
    width: 100%;
}

.name-field .contact-form-items,
.kana-field .contact-form-items {
    gap: 1em;
}

.mail-field .contact-form-item {
    flex: 1;
}


.phone-field .contact-form-item p {
    display: flex;
}


.address-field .contact-form-items {
    flex-flow: column;
    align-items: flex-start;
    gap: 0.5em;
}

.address-field .contact-form-item {
    width: 100%;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
    content: " ";
}

.contact-form-requred {
    color: #fff;
    background-color: #FF5C48;
    border-radius: 5px;
    width: 42px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    flex-wrap: nowrap;
    font-size: 0.875em;
	margin-left:10px;
	margin-right:10px;
}

.wpcf7 textarea {
    height: 374px;
    width: 100% !important;
}

.contact-form-under {
    text-align: center;
    margin-bottom: 2.8125em;
}

.contact-form-under a {
    color: #007DFF;
}

.contact-form-submit{
	width:517px;
	height:132px;
	margin:0 auto;
	position:relative;
	margin-bottom:4em;
}

.contact-form-submit input {
    background: #ff5c48;
    color: #141414;
    height: 100%;
    border-radius: 17.6941px!important;
    box-shadow: 7px 7px 5px 0 rgba(153, 193, 163, 0.75);
    font-size: 1.625em;
    font-weight: 600;
    text-align: left;
    padding-left: 54px;
}
.contact-form-submit svg {
    position: absolute;
    top: 50%;
    right: 47px;
    transform: translateY(-50%);
	width:3.6rem;
	height: 3.6rem;
}
.contact-form-submit:hover *{
	opacity:0.7;
}
.contact-form-submit input.wpcf7-form-control.wpcf7-submit:hover,
.contact-form-submit input.wpcf7-form-control.wpcf7-previous.return:hover {
    opacity: .7;
}

.wpcf7-form-control.wpcf7-acceptance .wpcf7-list-item {
    margin-left: 0;
    padding-right: 1em;
}

.wpcf7-not-valid-tip {
    position: absolute;
}

.privacy-field.contact-form-row{
 	justify-content:center;
	align-items:center;
	margin-bottom: 4em;
}

.contact-field,.matter-field{
	font-size:0.9375em;
}
.contact-field .wpcf7-list-item.first{
	margin:0;
}

.contact-field .contact-form-items{
	padding-bottom:3.75em;
	font-family:var(--swl-font_family);
	font-weight:300;
}
.matter-field .contact-form-items{
	padding-bottom:4.8125em;
    font-family:var(--swl-font_family);
	font-weight:300;
}
.message-field{
	margin-bottom:2.2em;
}
/*フッター*/
.l-footer{
	z-index:1;
}
.l-container.w-footer {
    max-width: var(--container_size, 0px);
    padding-left: 44px;
    padding-right: 44px;
	padding-bottom: 2em;
    padding-top: 4.375em;
	border-bottom: 1px solid #fff;
}
.l-footer__widgetArea {
    padding-bottom: 0em;
    padding-top: 0em;
}
.footer-logo-wp {
    width: 145.4775px;
    margin-left: 29px;
}
.footer-links {
    width: 327px;
    margin-left: auto;
}
.w-footer__box{
	padding:0!important;
}
.l-footer .copyright {
    font-size: 13px;
    font-family: var(--mplus1p-font);
    letter-spacing: 0.078em;
}
.l-footer__foot {
    padding-bottom: 2.75em;
    padding-top: 1.875em;
}
/* SwellのスマホとPC切り替わり */
@media (min-width: 960px) {}

@media (max-width: 959px) {

  /*text-align*/
  .sp-text-align-center {
    text-align: center !important;
  }

  .sp-text-align-justify {
    text-align: justify !important;
  }

  /*font-size*/
  .sp-fs-06em {
    font-size: 0.6em !important;
  }

  .sp-fs-07em {
    font-size: 0.7em !important;
  }

  .sp-fs-08em {
    font-size: 0.8em !important;
  }

  .sp-fs-085em {
    font-size: 0.85em !important;
  }

  .sp-fs-09em {
    font-size: 0.9em !important;
  }

  .sp-fs-095em {
    font-size: 0.95em !important;
  }

  .sp-fs-1em {
    font-size: 1em !important;
  }

  .sp-fs-11em {
    font-size: 1.1em !important;
  }

  .sp-fs-12em {
    font-size: 1.2em !important;
  }

  .sp-fs-13em {
    font-size: 1.3em !important;
  }

  .sp-fs-135em {
    font-size: 1.35em !important;
  }

  .sp-fs-14em {
    font-size: 1.4em !important;
  }

  .sp-fs-15em {
    font-size: 1.5em !important;
  }

  .sp-fs-16em {
    font-size: 1.6em !important;
  }

  .sp-fs-17em {
    font-size: 1.7em !important;
  }

  .sp-fs-18em {
    font-size: 1.8em !important;
  }

  .sp-fs-19em {
    font-size: 1.9em !important;
  }

  .sp-fs-20em {
    font-size: 2.0em !important;
  }

  .sp-fs-21em {
    font-size: 2.1em !important;
  }

  .sp-fs-25em {
    font-size: 2.5em !important;
  }

  .sp-fs-29em {
    font-size: 2.9em !important;
  }

  .sp-fs-3em {
    font-size: 3em !important;
  }

  .sp-fs-48em {
    font-size: 4.8em !important;
  }

  .sp-fs-5em {
    font-size: 5em !important;
  }
	
  .sp-fs-1rem {
    font-size: 1rem !important;
  }
  /*margin*/
  .sp-margin-0-auto {
    margin: 0 auto !important;
  }

  .sp-mg-bt-0 {
    margin-bottom: 0 !important;
  }

  .sp-mg-bt-05em {
    margin-bottom: .5em !important;
  }

  .sp-mg-bt-1em {
    margin-bottom: 1em !important;
  }

  .sp-mg-bt-2em {
    margin-bottom: 2em !important;
  }

  .sp-mg-bt-3em {
    margin-bottom: 3em !important;
  }

  .sp-mg-bt-4em {
    margin-bottom: 4em !important;
  }

  .sp-mg-lf-0 {
    margin-left: 0 !important;
  }

  /*padding*/
  .sp-pd-0 {
    padding: 0 !important;
  }

  .sp-pd-05em {
    padding: 0.5em !important;
  }

  .sp-pd-1em {
    padding: 1em !important;
  }

  .sp-pd-l-04em {
    padding-left: 0.4em !important;
  }

  /*width*/
  .sp-width-91 {
    width: 91% !important;
  }

  .sp-width-90 {
    width: 90% !important;
  }

  .sp-width-80 {
    width: 80% !important;
  }

  /*height*/
  .sp-height-0 {
    height: 0 !important;
  }

  .sp-height-05em {
    height: 0.5em !important;
  }

  .sp-height-1em {
    height: 1em !important;
  }

  .sp-height-15em {
    height: 1.5em !important;
  }

  .sp-height-2em {
    height: 2em !important;
  }

  .sp-height-25em {
    height: 2.5em !important;
  }

  .sp-height-3em {
    height: 3em !important;
  }

  .sp-height-35em {
    height: 3.5em !important;
  }

  .sp-height-4em {
    height: 4em !important;
  }

  .sp-height-5em {
    height: 5em !important;
  }

  .sp-height-6em {
    height: 6em !important;
  }

  .sp-height-7em {
    height: 7em !important;
  }

  .sp-height-8em {
    height: 8em !important;
  }

  .sp-height-9em {
    height: 9em !important;
  }

  .sp-height-10em {
    height: 10em !important;
  }

  .sp-height-11em {
    height: 11em !important;
  }

  .sp-height-12em {
    height: 12em !important;
  }

  .sp-height-13m {
    height: 13em !important;
  }

  .sp-height-14em {
    height: 14em !important;
  }


  /*line-height*/
  .sp-lh-12 {
    line-height: 1.2 !important;
  }

  .sp-lh-13 {
    line-height: 1.3 !important;
  }

  .sp-lh-14 {
    line-height: 1.4 !important;
  }

  .sp-lh-2 {
    line-height: 2 !important;
  }

  /*letter-space*/
  .sp-ls-0 {
    letter-spacing: 0 !important;
  }

  /*scale*/
  .sp-scale-x-09 {
    transform: scaleX(0.9) !important;
  }

  /*flex*/
  .sp-flex-wrap {
    flex-wrap: wrap !important;
  }

  .sp-flex-nowrap {
    flex-wrap: nowrap !important;
  }

  /*gap*/
  .sp-row-gap-2em {
    row-gap: 2em !important;
  }

  .sp-figure-width img {
    width: 70vw !important;
  }

  /*スマホでswellのリッチカラムをセンター*/
  .sp-swell-rich-col-center .swell-block-columns__inner {
    justify-content: center !important;
  }
	/*GlobalExpansion*/
	.global-exp {
    height: 177.86vw;
   }
	.global-exp.more > div {
    background: url(/wp-content/uploads/2025/10/global-ex-bg-sp-3.svg);
    height: 100%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
	}
	.global-exp.more .more {
    position: absolute;
    top: 160vw;
    right: min(60px, 8vw);
	}

.-parallel .l-header__inner {
padding-top: 15px;
}
	/*下層ページヘッダー*/
.page-header-wp{
	padding-left:0;
	text-align:center!important;
}
	.page-header-wp h2{
		text-align:center!important;
	}
	
	div#content {
		margin-top: 10px !important;
	}
	
	/*ページトップボタン*/
	#pagetop {
    width: 76.5px;
    height: 58.5px;
    }
	.p-fixBtnWrap {
        right: 4vw;
    }
	
	/*トップ*/
	.top-mv-catch-wp{
		justify-content:center;
	}
	.top-section3 > div {
		padding: 0;
	}
	.sec3-title {
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		position: absolute!important;
        left: 0;
		white-space:nowrap;
		font-size: 25.44529vw !important;
	}
	.top-section3-text-left {
		width: 70vw!important;
		margin-left: auto!important;
		padding-right:4vw!important;
		line-height:1.8;
		font-size:16px!important;
	}
	.top-section3-text-left > p{
		margin-bottom:2em!important;
	}
	.top-company-title{
	   text-align: center !important;
	}
	.post_content .top-company-delight{
	text-align:center!important;
	font-size:3.45em!important;
	}
	.top-company-img00 figure {
    width: 100%;
    margin: 0 !important;
	}
	.top-company-img01 {
    margin-left: -5vw;
    margin-top: 35px !important;
	}
	.top-company-img02 {
    margin-right: 0;
    margin-top: -38px !important;
	}
	.top-company-img04 figure {
    margin: 0 !important;
	}
	.top-company-img04 {
    margin-top: 40px !important;
    width: 80%;
    margin: 0 auto;
	}
	.top-company-img05 {
    margin-left: 0px;
    margin-top: 55px !important;
	}
	.top-company-img06 {
    margin-right: 0px;
    margin-top: -35px !important;
	}
	.top-sdgs-left {
    padding-right: 0px !important;
    }
	.top-sdgs-wp figure {
    margin: 0 auto!important;
		width:100%!important;
	}
	.top-sdgs-wp img {
		width:90%!important;
	}
	.top-sdgs-right {
     margin: 0 0 0 var(--swl-clmn-mrgn--x)!important;
     padding-left: 0px !important;
	}
	/*会社概要*/
	
	.company-phil-img img {width: 70% !important;}
	.company-table {
        font-size: 1rem !important;
    }

    .company-table table {
        --swl-cell1-width: 30vw !important;
    }

    .company-table td,
    .company-table th {
        padding: 0.6rem 1rem !important;
    }

	.company-address-wp {
    padding: 3.4375em 1.4375em !important;
	}
	.page-recruitbana {
    padding: 0px 18px 0px 18px;
    width: 100%;
    margin: 0 auto;
	}
	.page-recruitbana-right figure{
		width:100%;
    }
	.page-recruitbana-left {
    padding-right: 0em !important;
		text-align:center;
	}
	.recruit-btn {
    justify-content: center;
	}
	/*Recruit/contactボタン*/
	.fbefore-btn {
    width: 88%;
    }
	/*採用情報*/
	.recruit-h-text-wp {
    bottom: -6.25em;
	}
	.recruit-interview-col-1 .recruit-interview-col-right {
    padding-left: 0px !important;
	}
	.recruit-interview-col-h{
		margin:0 auto!important;
	}
	.recruit-interview-col-1 .recruit-interview-name {
    padding-left: 18px;
    padding-top: 0px;
	}
	.recruit-interview-col-2 .recruit-interview-col-left {
    padding-right: 0px;
	}
	.recruit-interview-col-3 .recruit-interview-col-right {
    padding-left: 0px;
	}
	.recruit-interview-col-4-text {
    padding-left: 4vw;
    padding-right: 4vw;
	}
	.recruit-table{
		font-size:0.875rem!important;
	}
	.recruit-table.wp-block-table>table tr>:first-child:not(.-no1) {
    max-width: 25%;
    min-width: 25%;
    width: 25%;
}
	.recruit-table table td {
    padding: 1em 0.8em;
    border: none;
}
	.entry-btn a {
    padding: 19px 31px;
    justify-content: space-between !important;
    width: 83%;
	}
	.recruit-interview-col-3 .recruit-interview-col-left-text:before {
    left: 50%;
    top: -35px;
    transform: translateX(-50%);
	}
	/*お問合せ*/
	.contact-wp > div {
    padding: 0 4vw !important;
	}
	.contact-tel-wp{
		width: 100%;
        height: min(249px, 43vw);
	}
	span.wpcf7-form-control.wpcf7-radio.matter {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
    }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(1) { grid-column: 1; grid-row: 1; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(2) { grid-column: 2; grid-row: 1; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(3) { grid-column: 1; grid-row: 2; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(4) { grid-column: 2; grid-row: 2; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(5) { grid-column: 1; grid-row: 3; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(6) { grid-column: 2; grid-row: 3; }
	span.wpcf7-form-control.wpcf7-radio.matter .wpcf7-list-item:nth-child(7) { grid-column: 1; grid-row: 4; }
	
	.contact-form-submit {
    width: 80%;
    height: 80px;
	}
	.contact-form-submit input {
    font-size: 1em;
    padding-left: 34px;
	}
	.contact-form-submit svg {
    right: 40px;
    width: 2.8rem;
    height: 2.8rem;
	}
	.contact-field .contact-form-items {
    padding-bottom: 2em;
	}
	.matter-field .contact-form-items {
    padding-bottom: 2.5em;
    }
	.message-field {
    margin-bottom: 0em;
}
	.wpcf7 textarea {
    height: 220px;
	}
	.privacy-field.contact-form-row {
    margin-bottom: 2em;
}
	/*フッター*/
	div#custom_html-2{
    display: flex;
    justify-content: center;
    align-items: center;
		margin-bottom:6em;
}
	div#custom_html-3{
		margin-bottom:6em;
}
	.footer-logo-wp{
		margin:0 auto;
	}
	.footer-links {
    width: 100%;
	}
}

/* SwellのスマホとPC切り替わり */

/*小デバイス*/
@media (max-width: 768px) {

  /*text-align*/
  .xs-text-align-center {
    text-align: center !important;
  }

  .xs-text-align-justify {
    text-align: justify !important;
  }

  /*font-size*/
  .xs-fs-06em {
    font-size: 0.6em !important;
  }

  .xs-fs-07em {
    font-size: 0.7em !important;
  }

  .xs-fs-08em {
    font-size: 0.8em !important;
  }

  .xs-fs-09em {
    font-size: 0.9em !important;
  }

  .xs-fs-095em {
    font-size: 0.95em !important;
  }

  .xs-fs-01em {
    font-size: 1em !important;
  }

  .xs-fs-12em {
    font-size: 1.2em !important;
  }

  .xs-fs-13em {
    font-size: 1.3em !important;
  }

  .xs-fs-17em {
    font-size: 1.7em !important;
  }

  .xs-fs-18em {
    font-size: 1.8em !important;
  }

  /*line-height*/
  .xs-lh-10 {
    line-height: 1;
  }

  .xs-lh-11 {
    line-height: 1.1;
  }

  .xs-lh-12 {
    line-height: 1.2;
  }

  .xs-lh-13 {
    line-height: 1.3;
  }

  .xs-lh-14 {
    line-height: 1.4;
  }

  .xs-lh-15 {
    line-height: 1.5;
  }

  .xs-lh-2 {
    line-height: 2;
  }

  .xs-lh-25 {
    line-height: 2.5;
  }

  /*margin*/
  .xs-mg-bt-0 {
    margin-bottom: 0 !important;
  }

  .xs-mg-bt-05em {
    margin-bottom: 0.5em !important;
  }

  .xs-mg-bt-1em {
    margin-bottom: 1em !important;
  }

  .xs-mg-bt-2em {
    margin-bottom: 2em !important;
  }

  .xs-mg-bt-3em {
    margin-bottom: 3em !important;
  }

  .xs-mg-bt-4em {
    margin-bottom: 4em !important;
  }

  /*height*/
  .xs-height-1em {
    height: 1em !important;
  }

  .xs-height-6em {
    height: 6em !important;
  }

  .xs-height-7em {
    height: 7em !important;
  }

  .xs-height-8em {
    height: 8em !important;
  }

  /*padding*/
  .xs-pd-0 {
    padding: 0 !important;
  }

  .xs-pd-15 {
    padding: 15px !important;
  }

  .xs-pd-lr-10 {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .xs-pd-lr-15 {
    padding-left: 15px !important;
    padding-right: 15px !important;
  }

  /*line-height*/
  .xs-lh-2 {
    line-height: 2 !important;
  }

  /*flex*/
  .xs-flex-wrap {
    flex-wrap: wrap !important;
  }
	
	/*トップ*/
	
	.top-company-title{
		font-size: 4.7em !important;
        text-align: center !important;
	}
	.post_content div> .top-company-img00 {
    margin-top: 1.6em !important;
	}
	
	/*お問い合わせ*/
	.wpcf7-not-valid-tip{
		line-height:1.4;
	}
	
	
}

/* WPカラム切り替わり*/
@media (min-width: 782px) {}

@media (max-width: 781px) {}

/* WPカラム切り替わり*/

/*swellの可変サイズブレイクポイント*/
@media (min-width: 600px) and (max-width: 959px) {}

/* ビューポートの高さが768px以下の場合 */
@media (max-height: 768px) {
	/*高さ583pxまで*/
  .top-main-visual img {
    height: min(46.15svh, 478px);
    }
}