@charset "utf-8";
/*
Theme Name: 大進
Author:サイバーウェーブ
Version:999
*/

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

ol, ul {list-style: none;}
table {border-collapse: separate;border-spacing: 0;}
caption, th, td {font-weight: normal;text-align: left;}
blockquote:before, blockquote:after,q:before, q:after {content: "";}
blockquote, q {quotes: "" "";}
a img {border: 0;}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

body{
line-height:1.5;
font-family: "Noto Sans JP","Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;
color:#333;
-webkit-text-size-adjust: none;
}

img{max-width:100%;height:auto;pointer-events: none;}

.pc{display:block;}
.sp{display:none;}

@media only screen and (max-width:1024px){
body {font-size: 90%;}
.pc{display:none;}
.sp{display:block;}
}

.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}


/* リンク設定
------------------------------------------------------------*/
a{
  margin:0;
  padding:0;
  text-decoration:underline;
  outline:0;
  vertical-align:baseline;
  background:transparent;
  font-size:100%;
  color:#000;
}

a:hover, a:active{
  -webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
  outline: none;
  text-decoration:none;
}

/**** Clearfix ****/
.nav .panel:before,nav .panel:after, nav#mainNav:before,nav#mainNav:after, .newsTitle:before,.newsTitle:after{content: ""; display: table;}
nav .panel:after,nav#mainNav:after,.newsTitle:after{clear: both;}
nav .panel,nav#mainNav,.newsTitle{zoom: 1;}


/* フォーム
------------------------------------------------------------*/
input[type="text"], textarea,select,input[type="email"],input[type="tel"]{
  vertical-align:middle;
  max-width:90%;
  line-height:30px;
  height:30px;
  padding:1px 5px;
  border:1px solid #d4d4d7;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  font-size:100%;
  color:#555;
  background:#fcfcfc;
}

textarea{
  height:auto;
  line-height:1.5;
}

input[type="submit"],input[type="reset"],input[type="button"]{
  padding:3px 10px;
  background: #5a0000;
  background: -moz-linear-gradient(top, #781f12 0%, #5a0000 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#781f12), color-stop(100%,#5a0000));
  background: -webkit-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -o-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: -ms-linear-gradient(top, #781f12 0%,#5a0000 100%);
  background: linear-gradient(to bottom, #781f12 0%,#5a0000 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#781f12', endColorstr='#5a0000',GradientType=0 );
  border:0;
  border-radius:3px;
  -webkit-border-radius:3px;
  -moz-border-radius:3px;
  line-height:1.5;
  font-size:100%;
  color:#fff;
}

input[type="submit"]:hover,input[type="reset"]:hover,input[type="button"]:hover{
  background: #5a0000;
  background: -moz-linear-gradient(top, #5a0000 0%, #781f12 100%);
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#5a0000), color-stop(100%,#781f12));
  background: -webkit-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -o-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: -ms-linear-gradient(top, #5a0000 0%,#781f12 100%);
  background: linear-gradient(to bottom, #5a0000 0%,#781f12 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#5a0000', endColorstr='#781f12',GradientType=0 );
}

*:first-child+html input[type="submit"]{padding:3px;}




/* レイアウト
------------------------------------------------------------*/
#wrapper{margin-top: 76px;}

.inner{
  margin:0 auto;
  width:1100px;
}

.inner:after{content: "";clear: both;display: block;}

#header{overflow:hidden;}


#content-sub{
  float:left;
  width:1100px;
  padding:30px 0;
}


#sidebar{
  float:right;
  width:265px;
  padding:30px 0;
}

#footer {
  clear: both;
  padding-top: 30px;
  padding-bottom:300px;
  background: url(images/footer-illust.svg) no-repeat center bottom #DEF5FF;
  background-size:100%;
  font-size: 90%;
}

@media only screen and (max-width:1950px){
  #content-sub{width:90%;}
}

@media only screen and (max-width:1600px){
  #content-sub{width:75%;}
}

@media only screen and (max-width:1100px){
  .inner{
    width:auto;
    padding:0 20px;
  }
  #content-sub {
    width: 68%;
  }
  #sidebar{
    width:28%;
  }
  #footer{
    background-size:1100px;
    background-position:left bottom;
    padding-bottom:150px;
  }
}

@media only screen and (max-width:1024px){
  #content-sub, #sidebar {
    float: none;
    width: auto;
    padding:0;
  }
}


/* ヘッダー
*****************************************************/

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h1{
  padding:10px 0 0 3px;
  color: #781f12;
  font-size:90%;
  font-weight:normal;
}

/* メインメニュー
------------------------------------------------------------*/
.header-inner{padding:0 30px;}

#top-head {
  top: -100px;
  position: absolute;
  width: 100%;
  margin: 100px auto 0;
  padding: 20px 0;
  line-height: 1;
  z-index: 999;
  background: #fff;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
  -moz-transition: top 0.65s ease-in;
}
#top-head a,#top-head {
  color: #000;
  text-decoration: none;
}
#top-head .inner {
  position: relative;
}
#top-head .logo {
  float: left;
  font-size: 36px;
  margin-left:10px;
}
#global-nav ul {
  list-style: none;
  position: absolute;
  right: 10px;
  top:10px;
  margin:0;
}
#global-nav ul li {
  float: left;
}
#global-nav ul li a {
  padding: 10px 25px;
  text-align:center;
  display: block;
  font-weight:500;
}
#global-nav ul li a span{
  display:block;
  color:#26AF4B;
  font-size:80%;
  margin-top:5px;
  font-weight:400;
  font-family: 'outfit';
}
#global-nav ul li.navi-green a{
  background:#56B770;
  color:#fff;
  padding:10px 25px;
  border-radius:5px;
}
#global-nav ul li a:hover{
  color:#26AF4B;
}
#global-nav ul li.navi-green a span,#global-nav ul li.navi-green a:hover{
  color:#fff;
}
#global-nav ul li.navi-green a:hover{
  background:#128330;
}



/* Fixed */
#top-head.fixed {
  margin-top: 0;
  top: 0;
  position: fixed;
}
#top-head.fixed .logo {
  font-size: 24px;
  color: #333;
}
#top-head.fixed #global-nav ul li a {
  padding: 10px 25px;
}

/* Toggle Button */
#nav-toggle {
  display: none;
  position: absolute;
  right: 12px;
  top: 14px;
  width: 34px;
  height: 36px;
  cursor: pointer;
  z-index: 101;
}
#nav-toggle div {
  position: relative;
}
#nav-toggle span {
  display: block;
  position: absolute;
  height: 4px;
  width: 100%;
  background: #000;
  left: 0;
  -webkit-transition: .35s ease-in-out;
  -moz-transition: .35s ease-in-out;
  transition: .35s ease-in-out;
}
#nav-toggle span:nth-child(1) {
  top: 0;
}
#nav-toggle span:nth-child(2) {
  top: 11px;
}
#nav-toggle span:nth-child(3) {
  top: 22px;
}

@media screen and (max-width: 1024px) {
.header-inner{padding:0;}

#top-head {
  top: 0;
  position: fixed;
  margin-top: 0;
  padding: 10px 0;
}
/* Fixed reset */
#top-head.fixed {
  padding-top: 0;
  /*background: transparent;*/
}
#mobile-head {
  width: 100%;
  height: 56px;
  z-index: 999;
  position: relative;
}
#top-head.fixed .logo,
#top-head .logo {
  position: absolute;
  left: 13px;
  top: 10px;
  color: #333;
  font-size: 26px;
  width:230px;
}
#global-nav {
  position: absolute;
  /* 開いてないときは画面外に配置 */
  top: -500px;
  background: #fff;
  width: 100%;
  text-align: center;
  padding: 10px 0;
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
}
#global-nav ul {
  list-style: none;
  position: static;
  right: 0;
  bottom: 0;
}
#global-nav ul li {
  float: none;
  position: static;
}
#top-head #global-nav ul li a,
#top-head.fixed #global-nav ul li a {
  width: 100%;
  display: block;
  color: #000;
  padding: 18px 0;
}

#top-head #global-nav ul li.navi-green a{color:#fff;}

#nav-toggle {
  display: block;
}
/* #nav-toggle 切り替えアニメーション */
.open #nav-toggle span:nth-child(1) {
  top: 11px;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}
.open #nav-toggle span:nth-child(2) {
  width: 0;
  left: 50%;
}
.open #nav-toggle span:nth-child(3) {
  top: 11px;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}
/* #global-nav スライドアニメーション */
.open #global-nav {
  /* #global-nav top + #mobile-head height */
  -moz-transform: translateY(556px);
  -webkit-transform: translateY(556px);
  transform: translateY(556px);
}
}
/*メニューここまで*/
@media screen and (min-width: 901px) {
.sp-none{display:none;}
}


/*パンくず*/
.crumbs {
  font-size: 95%;
  margin-bottom: 50px;
  background: #EEEEEE;
  padding: 7px 0;
}

.crumbs ul{width:1100px;margin:0 auto;}

.crumbs li{
  display: inline-block;
  font-size: 80%;
}
.crumbs li::after{
  content:'›';
  padding:0 7px;
  color: #666;
}
.crumbs li:last-child::after{display: none;}
@media only screen and (max-width: 1100px){
  .crumbs ul{width: auto;}
}



/* トップページ　メイン画像
----------------------------------*/
#mainImg{
  line-height:0;
  text-align:center;
  z-index:0;
  position:relative;
  overflow:hidden;
}

#mainImg img{width:100%;height:auto;}

#mainImg .slick-dots{
	bottom:10px;
  text-align: left;
  padding: 0 2%;
  width:96%;
}
#mainImg .slick-dotted.slick-slider{
	margin-bottom:0;
}
#mainImg .slick-dots li{margin: 0px;}
.single-item .slick-dots li button:before{
	font-size:10px;
	color:#E3E3E3;
	opacity:1;
}
.single-item .slick-dots li.slick-active button:before{
	color:#56B770;
}

.slide-txt{
  position:absolute;
  left:10%;
  top:30%;
  width:40%;
}

#mainImg .card{text-align:center;}
#mainImg .card img{margin:0 auto;}

@media only screen and (max-width:1100px){
  .slide-txt{top:18%;}
}
@media only screen and (max-width:1024px){
  #mainImg .slideshow img{max-width: inherit;width:1250px;margin-left: -207px;}
  .slide-txt{top:35%;}
}
@media only screen and (max-width:800px){
  .slide-txt{width:60%;}
}
@media only screen and (max-width:700px){
  #mainImg .slideshow img{width:1000px;margin-left: -250px;}
}


/* タイポグラフィ
*****************************************************/


img.aligncenter {
  display: block;
  margin:5px auto;
}

img.alignright, img.alignleft{
  padding:4px;
  margin:0 0 2px 7px;
  display:inline;
}

img.alignleft{margin: 0 7px 2px 0;}

.alignright{float:right;}
.alignleft{float: left;}
.center{text-align:center;}


/* サイドバー　ウィジェット
*****************************************************/

#searchform input[type="text"]{
  line-height:1.7;
  height:24px;
  width:130px;
  vertical-align:bottom;
}

#sidebar .newsTitle h3 {
  font-size: 120%;
  font-weight: bold;
  letter-spacing: 1px;
  padding-bottom: 5px;
  border-bottom: 1px solid #000;
  margin-top: 7px;
}

.side_news_box {
  border-bottom: 1px dashed #000;
  padding: 10px 0;
}

#sidebar time {
  display: block;
}

#sidebar .btn-black {
  text-align: center;
  margin: 30px 0;
}





/* フッター
*****************************************************/

.footer-address{
  width:30%;
  float:left;
}
.footer-menu{
  width:65%;
  float:right;
  display:flex;
  gap:20px;
}
@media only screen and (max-width:900px){
  .footer-address,.footer-menu{width:auto;float:none;margin-bottom:20px;}
}

.footer-logo{margin-bottom:20px;}
.footer-address p{margin-bottom:20px;}
.footer-sns a{
  display:inline-block;
  margin-right:10px;
}
.footer-btn a{
  display:inline-block;
  background:#fff;
  border-radius:5px;
  padding:3px 10px;
  text-decoration:none;
}
.footer-menu ul{
  width:30%;
}
.footer-menu li{
  margin-bottom:15px;
  background:url(images/arrow-gray.svg) no-repeat 0 7px;
  padding-left:20px;
}

@media only screen and (max-width:500px){
  .footer-menu{display:block;}
  .footer-menu ul{width:auto;}
}

#copyright{
  clear:both;
  padding:5px;
  text-align:center;
  font-style:normal;
  font-size:85%;
  zoom:1;
}


/*上に戻る*/
.page_top {
	position:fixed;
	bottom:10px;
	right:10px;
	padding:10px 20px;
	color:#fff;
	font-size:20px;
	text-decoration:none;
  z-index: 1000;
}
.page_top:hover {

	opacity:0.5;
}


/* page navigation
------------------------------------------------------------*/
.pagenav{
  clear:both;
  width: 100%;
  height: 30px;
  margin: 5px 0 20px;
}

.prev{float:left}

.next{float:right;}

#pageLinks{
  clear:both;
  color:#5a0000;
  text-align:center;
}

/* 共通
------------------------------------------------------------*/

/*ボタン*/
.btn-white-arrow{
  text-align:center;
}
.btn-white-arrow a{
  display:inline-block;
  padding:15px 25px;
  border-radius:30px;
  background:#fff;
  text-decoration:none;
  color:#000;
  position: relative;
  z-index:990;
  margin-bottom:20px;
}
.btn-white-arrow a::before{
  content:'';
  width:24px;
  height:24px;
  background:url(images/arrow-green.svg) no-repeat center center;
  display:inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.btn-white-arrow a:hover{
  background:#b0f1c2;
  transition:0.5s;
}
.btn-white-arrow{
  text-align:center;
}
.btn-gray-arrow a{
  display:inline-block;
  padding:15px 25px;
  border-radius:30px;
  background:#eee;
  text-decoration:none;
  color:#000;
  position: relative;
  z-index:990;
  margin-bottom:20px;
}
.btn-gray-arrow a::before{
  content:'';
  width:24px;
  height:24px;
  background:url(images/arrow-green.svg) no-repeat center center;
  display:inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.btn-gray-arrow a:hover{
  background:#b0f1c2;
  transition:0.5s;
}
.btn-white-line-arrow a{
  display:inline-block;
  border:1px solid #ccc;
  padding:15px 25px;
  border-radius:30px;
  background:#fff;
  text-decoration:none;
  color:#000;
  position: relative;
  z-index:990;
  margin-bottom:20px;
}
.btn-white-line-arrow a::before{
  content:'';
  width:24px;
  height:24px;
  background:url(images/arrow-green.svg) no-repeat center center;
  display:inline-block;
  vertical-align: middle;
  margin-right: 10px;
}
.btn-white-line-arrow a:hover{
  background:#b0f1c2;
  transition:0.5s;
}

@media screen and (max-width: 400px){
  .btn-gray-arrow a{font-size:100%;}
}

/*アニメーション*/
.effect-fade {
    opacity : 0;
    transform : translate(0, 100px);
    transition : all 1500ms;
}
.effect-fade.effect-scroll {
    opacity : 1;
    transform : translate(0, 0);
}
.effect-slide-left{
    opacity : 0;
    transform : translate(-1000px, 0);
    transition : all 1500ms;
}
.effect-slide-left.effect-scroll {
    opacity : 1;
    transform : translate(0, 0);
}
.effect-slide-right{
    opacity : 0;
    transform : translate(1000px, 0);
    transition : all 1500ms;
}
.effect-slide-right.effect-scroll {
    opacity : 1;
    transform : translate(0, 0);
}


.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

.katakata{
  animation: katakata 3s infinite;
  transition: 0.5s;
}
@keyframes katakata {
  0%, 95% {
    transform: translate(0, 0);
  }
  96%, 98% {
    transform: translate(2px, 2px);
  }
  99%, 100% {
    transform: translate(0, 0);
  }
}

/*流れる文字*/
.flowing-txt{
  overflow:hidden;
  width: 100%;
  z-index: 500;
}
.flowing-txt span{
  display:block;
  animation: loop 40s linear -20s infinite;
  font-size:120px;
  white-space: nowrap;
  color:#D2E4EF;
  font-weight:100;
  font-family: 'outfit';
  width: min-content;
}
@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}
@media only screen and (max-width:1024px){
  .flowing-txt span{animation: loop 20s linear -20s infinite;}
}

/*ボックス*/
.whitebox{
  border:1px solid #ccc;
  background:#fff;
  padding:40px 30px;
  border-radius:30px;
}


/* トップページ
------------------------------------------------------------*/
.title-top{
  text-align:center;
  color:#52C129;
  font-family: 'outfit';
  font-size:300%;
  font-weight:400;
  margin-bottom:50px;
}
.title-top span{
  font-family:inherit;
  font-size:30%;
  color:#000;
  display:block;
  letter-spacing:0.1em;
  font-weight:400;
  margin-top: -10px;
}

#information{
  background:#DEF5FF;
  padding:50px 0;
}

/*新着情報*/
.news-content{
  display:grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap:55px;
  margin-bottom:30px;
}
.news-img{
  overflow:hidden;
  border-radius:10px;
  margin-bottom:5px;
  line-height: 0;
}
.news-img a{
  display:block;
}
.news-img img{
  height: auto;
  transition: transform .6s ease;
}
.news-img:hover img {
  transform: scale(1.1); /* 拡大 */
}
.news-cat-container{
  display:flex;
  gap:15px;
  align-items: center;
  margin-bottom:10px;
}
.news-cat a{
  border-radius:20px;
  color:#fff;
  background:#666;
  font-size:80%;
  padding:3px 15px;
  text-decoration:none;
}
.news-cat-container .icon-news a{background:#56B770;}
.news-cat-container .icon-interview a{background:#75c826;}
.news-cat-container .icon-shanai a{background:#D0987A;}
.news-cat-container .icon-media a{background:#9758b7;}
.news-cat-container .icon-jusho a{background:#CCBE6E;}
.news-cat-container .icon-gijutsu_happyou a{background:#CCBE6E;}
.news-cat-container .icon-chiki a{background:#9758b7;}

.news-time{
  font-size:80%;
}
@media only screen and (max-width:1024px){
  .news-content{display:block;}
  .news-img{display:none;}
  .news-box{margin-bottom:20px;padding-bottom:20px;border-bottom:1px dotted #666;}
}
@media only screen and (max-width:900px){
  .news-content{grid-template-columns: 1fr 1fr;}
}
@media only screen and (max-width:500px){
  .news-content{display:block;}
  .news-box{margin-bottom:20px;}
}

/*イントロ*/
#intro{
  background:url(images/intro-illust2.svg) #DEF5FF no-repeat center top;
  padding:250px 0 50px 0;
  text-align:center;
  background-size:100%;
}
#intro .inner{
  position:relative;
}
.illust-lunch{
  position:absolute;
  top:120px;
  right:120px;
}
.intro-kids{
  position:absolute;
  bottom:100px;
  left:30px;
}
.title-intro{
  font-size:180%;
  font-weight:700;
  margin-bottom:50px;
}
.intro-container{
  line-height:2;
}
.intro-container p{
  margin-bottom:20px;
}

@media only screen and (min-width:1500px){
  #intro{padding:400px 0 50px 0;}
}
@media only screen and (max-width:1024px){
  #intro{background-size:1100px;padding-top:200px;}
}
@media only screen and (max-width:900px){
  .illust-lunch,.intro-kids{display:none;}
}
@media only screen and (max-width:700px){
  #intro{background-size: 130%;padding-top: 150px;padding-bottom:70px;}
}
@media only screen and (max-width:420px){
  #intro{padding-bottom: 30px;padding-top:100px;background-size:500px auto;}
  .title-intro{font-size:150%;margin-bottom:30px;}
  .intro-container{line-height: 1.7;}
  .intro-container br{display:none;}
}

/*大進について*/
#about{
  background:#DEF5FF;
  padding:70px 0;
  position:relative;
}
#about .inner{
  display:flex;
  gap:50px;
}
.about-img,.about-txt{
  width:50%;
  z-index: 950;
}
.about-img .slick-slide li{
  border-radius:20px;
  overflow: hidden;
}
.about-img .slick-slide img{
  transition: transform .6s ease;
}
.about-img .slick-slide a:hover img{
  transform: scale(1.1);
}
.about-txt .title-top{
  text-align:left;
  margin-bottom:;
}
.about-catch{
  font-size:150%;
  font-weight:bold;
  margin-bottom:20px;
}
.about-txt-shousai{
  margin-bottom:30px;
}
.about-desk{
  position:absolute;
  top:70px;
  right:10%;
}
.about-meeting{
  position:absolute;
  bottom:70px;
  left:5%;
}

#about .flowing-txt{
  position:absolute;
  bottom:-70px;
}
@media only screen and (max-width:1400px){
  .about-desk,.about-meeting{display:none;}
}
@media only screen and (max-width:800px){
  #about{padding-top:30px;}
  #about .inner{display:block;}
  .about-txt,.about-img{width:auto;margin-bottom:20px;}
  .about-img img{margin:0 auto;}
}

/*業務内容*/
#gyoumunaiyo{
  background:url(images/gyoumu-illust.svg) #FFF5C9 top center no-repeat;
  background-size:100%;
  padding:70px 0 80px 0;
  position:relative;
}
#gyoumunaiyo .inner{
  position:relative;
}
#gyoumunaiyo .inner::before{
  content:'';
  width:100px;
  height:100px;
  background:url(images/gyoumu-family.svg) no-repeat;
  display:block;
  position:absolute;
  top:40px;
  right:25%;
}
#gyoumunaiyo .inner::after{
  content:'';
  width:100px;
  height:100px;
  background:url(images/gyoumu-running.svg) no-repeat;
  display:block;
  position:absolute;
  bottom:0;
  right:40px;
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  transition: 1.5s ease-in-out;
}
@media only screen and (max-width:900px){
  #gyoumunaiyo .inner::before{width: 50px;right: 5px;background-size: 100% auto;}
  #gyoumunaiyo .inner::after{width: 80px;right: 5px;background-size: 100% auto;}
}
@media only screen and (max-width:480px){
  #gyoumunaiyo .inner::before,#gyoumunaiyo .inner::after{display:none;}
}
.gyoumunaiyo-txt{
  width:550px;
  margin-bottom:50px;
}
#gyoumunaiyo h2{
  text-align:left;
}
.gyoumunaiyo-catch{
  font-size:140%;
  margin-bottom:40px;
  font-weight:bold;
}
.gyoumunaiyo-shousai-txt{
  line-height:2;
}
.bumon-container{overflow:hidden;}
.bumon-container p a{
  position:relative;
  width:70%;
  height:360px;
  color:#fff;
  font-size:230%;
  font-weight:bold;
  display:block;
  text-decoration:none;
  margin-bottom:20px;
  overflow:hidden;
}
.bumon-container p a::before{
  position:absolute;
  content:'';
  display:block;
  background-size:cover;
  width:100%;
  height:100%;
  z-index: 500;
  transition: all .3s ease-out;
}
.bumon-container p a span{
  position:absolute;
  display: block;
  bottom:70px;
  z-index: 999;
}
.bumon-container p:nth-child(odd) a{
  margin-left: auto;
  text-align:right;
  border-radius:20px 0 0 20px;
}
.bumon-container p:nth-child(odd) a span{
  right:50px;
}
.bumon-container p:nth-child(even) a{
  border-radius:0 20px 20px 0;
}
.bumon-container p:nth-child(even) a span{
  left:50px;
}
.bumon-container a:hover::before{
  transform: scale(1.1);
}

.gyoumu-bumon01 a::before{
  background:url(images/gyoumu01.jpg) no-repeat center center;
}
.gyoumu-bumon02 a::before{
  background:url(images/gyoumu02.jpg) no-repeat center center;
}
.gyoumu-bumon03 a::before{
  background:url(images/gyoumu03.jpg) no-repeat center center;
}
.gyoumu-bumon04 a::before{
  background:url(images/gyoumu04.jpg) no-repeat center center;
}
.gyoumu-bumon05 a::before{
  background:url(images/gyoumu05.jpg) no-repeat center center;
}
.gyoumu-bumon06 a::before{
  background:url(images/gyoumu06.jpg) no-repeat center center;
}

.bumon-container p:nth-child(1){
  background:url(images/gyoumu-dog.svg) no-repeat center left 10%;
}
.bumon-container p:nth-child(2){
  background:url(images/gyoumu-car.svg) no-repeat center right 7%;  
}
.bumon-container p:nth-child(3){
  background:url(images/gyoumu-cat.svg) no-repeat center left 7%;  
}
.bumon-container p:nth-child(4){
  background:url(images/gyoumu-tanbo.svg) no-repeat center right 7%;  
}
.bumon-container p:nth-child(5){
  background:url(images/gyoumu-sokuryo.svg) no-repeat center left 7%;  
}
.bumon-container p:nth-child(6){
  background:url(images/gyoumu-machinami.svg) no-repeat center right 7%;  
}

#gyoumunaiyo .flowing-txt{
  position:absolute;
  bottom:-90px;
}

@media only screen and (max-width:600px){
  .gyoumunaiyo-txt{width:auto;text-shadow: 0 0 15px #fff5c9,0 0 15px #fff5c9,0 0 15px #fff5c9;}
  .bumon-container p:nth-child(odd) a,.bumon-container p:nth-child(even) a{width:90%;}
  .bumon-container p a{height:250px;}
}
@media only screen and (max-width:430px){
  .bumon-container p a{height:200px;}
  .bumon-container p:nth-child(odd) a, .bumon-container p:nth-child(even) a{width: 97%;font-size:190%;}
  .bumon-container p:nth-child(odd) a span{right: 20px;}
  .bumon-container p:nth-child(even) a span{left:20px;}
}

/*業務実績*/
#jisseki{
  padding:130px 0 350px 0;
  background:url(images/jisseki-illust2.svg) no-repeat center bottom #DEF5FF;
  background-size:100%;
  position:relative;
}
#jisseki .title-top{
  padding-bottom:50px;
  margin-bottom:50px;
  background:url(images/jisseki-kumo01.svg) no-repeat 60% center;
}
#jisseki .multiple{
  margin-bottom:50px;
}
#jisseki .multiple .slick-slide{
  padding:10px;
}

#jisseki .multiple .slick-slide li{
  border-radius: 10px;
  overflow:hidden;
}
#jisseki .multiple .slick-slide a img{
  transition: all .3s ease-out;
}
#jisseki .multiple .slick-slide a:hover img{
  transform: scale(1.1);
}

.multiple .slick-prev:before, .multiple .slick-next:before{
  color:#56B770;
  font-size: 30px;
  opacity: 1;
}
.multiple .slick-prev{
  left: -35px;
}
@media only screen and (max-width:1000px){
  #jisseki .inner{padding:0 40px;}
  .multiple .slick-next{right: -20px;z-index:600;}
  .multiple .slick-prev{left:-30px;z-index:600;}
  #jisseki .slick-dots li button{padding:5px 3px;width:10px;width:10px;}
  #jisseki .slick-dots li,#jisseki .slick-dots li button:before{width:10px;width:10px;}
}
#jisseki .multiple li{
  position:relative;
}
#jisseki .multiple li p{
  position:absolute;
  bottom:0;
  left:0;
  width:100%;
  background:rgba(0,0,0,0.4);
  padding:10px 0;
  color:#fff;
  text-align:center;
  font-size:110%;
  border-radius:0 0 10px 10px;
}
.jisseki-kumo2{
  position:absolute;
  bottom:350px;
  left:15%;
}
.jisseki-kumo3{
  position:absolute;
  bottom:330px;
  right:15%;
}
.jisseki-drone{
  position:absolute;
  bottom:280px;
  right:30%;
  animation: dronemove 5s linear infinite forwards alternate;
}
@keyframes dronemove {
  0% {
    translate: 0 0;
}
  25% {
    translate: 40px 20px;
}  
  50% {
    translate: 80px 0;
}  
  75% {
    translate: 150px 20px;
}  
  100% {
    translate: 200px 0;
}  
}
@media only screen and (max-width:800px){
  #jisseki{background-size:900px;background-position:bottom right -100px;padding-bottom: 300px;}
}


/*技術情報*/
#gijutsu{
  background:#F9FFCA;
  padding:40px 0 150px 0;
  position:relative;
}
#gijutsu h2{text-align:left;}
.gijutsu-naiyou{
  display:flex;
  gap:50px;
  margin-bottom:40px;
}
.gijutsu-naiyou:nth-child(odd){
  flex-direction: row-reverse;
}
.gijutsu-img,.gijutsu-txt{
  width:50%;
}

.gijutsu-img .slick-slide li{
  border-radius:20px;
  overflow:hidden;
}
.gijutsu-img .slick-slide a img{
  transition: all .3s ease-out;
}
.gijutsu-img .slick-slide a:hover img{
  transform: scale(1.1);
}
.gijutsu-txt-title{
  font-size:150%;
  font-weight:bold;
  margin-bottom:20px;
}
.gijutsu-txt p{
  font-size:90%;
  margin-bottom:20px;
  line-height:1.8;
}
#gijutsu .btn-white-arrow{
  text-align:right;
}
#gijutsu .btn-white-arrow a{
  min-width:150px;
  text-align:center;
}
@media only screen and (max-width:800px){
  .gijutsu-naiyou{display:block;}
  .gijutsu-img,.gijutsu-txt{width:auto;}
}
.gijutsu-bn{
  display:flex;
  gap:60px;
}
.gijutsu-bn p{
  width:50%;
}
.gijutsu-bn a{
  background:#fff;
  border-radius:10px;
  padding:20px;
  display:flex;
  gap:30px;
  align-items: center;
  justify-content: center;
  text-decoration:none;
  min-height:100px;
}
.gijutsu-bn a:hover{
  background:#b0f1c2;
  transition: 0.5s;
}
.gijutsu-bn a span{
  color:#52C129;
  font-weight:bold;
}
.gijutsu-bn a strong{
  color:#000;
  font-size:130%;
  display:block;
}
.gijutsu-desk{
  position:absolute;
  left:40px;
  bottom:70px;
}
.gijutsu-house{
  position:absolute;
  right:5%;
  top:250px;
}
.gijutsu-yama{
  position:absolute;
  left:1%;
  top:550px;
}
.gijutsu-ike{
  position:absolute;
  right:5%;
  top:750px;
}
.gijutsu-building{
  position:absolute;
  left:5%;
  top:950px;
}
.gijutsu-school{
  position:absolute;
  right:5%;
  top:1250px;
}

#gijutsu .flowing-txt{
  position:absolute;
  bottom:-90px;
}
@media only screen and (max-width:1600px){
  .gijutsu-house,.gijutsu-yama,.gijutsu-ike,.gijutsu-building,.gijutsu-school{display:none;}
}
@media only screen and (max-width:900px){
  .gijutsu-bn{display:block;}
  .gijutsu-bn p{margin-bottom:20px;width:auto;}
}
@media only screen and (max-width:700px){
  .gijutsu-desk{width:150px;background-size:100% auto;bottom:100px;}
}

/*採用について*/
#top-recruit{
  padding:120px 0 70px 0;
  background:#DEF5FF;
  position:relative;
}
#top-recruit .title-top{
  background:url(images/saiyo-kumo01.svg) no-repeat left 5% center,url(images/saiyo-kumo02.svg) no-repeat right 5% center;
}
.recruit-naiyou{
  display:flex;
  gap:50px;
}
.recruit-txt,.recruit-img{
  width:50%;
}
.recruit-img .recruit-img-img{
  overflow:hidden;
  border-radius:20px;
  line-height: 0;
}
.recruit-img .recruit-img-img a{display:block;}
.recruit-img .recruit-img-img a:hover img{
  transform: scale(1.1);
  transition: all .3s ease-out;
}
.recruit-txt h3{
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 20px;
}
.recruit-txt p{
  margin-bottom:20px;
}
#top-recruit .btn-white-arrow{margin-top:20px;}
#top-recruit .btn-white-arrow a {
    min-width: 150px;
    text-align: center;
}
.saiyo-illust{
  position:absolute;
  bottom:0;
  left:20%;
}
@media only screen and (max-width:900px){
  .recruit-naiyou{display:block;}
  .recruit-txt,.recruit-img{width:auto;margin-bottom:20px;}
  #top-recruit{padding-bottom:200px;}
  .saiyo-illust{bottom:40px;width: 150px;}
}


/* サブページ
------------------------------------------------------------*/

.page-container{padding-bottom:30px;}

.dateLabel{text-align:right;}

.subpage p{margin-bottom:20px;}

.subpage strong{font-weight:bold;}

.subpage h2 {
  font-size: 200%;
  font-weight: 600;
  letter-spacing: 3px;
  border-bottom: 1px solid #000;
  padding-bottom: 10px;
  margin-bottom: 30px;
}

.subpage h3 {
  background: #56B770;
  border-radius: 10px;
  color: #fff;
  font-weight: bold;
  font-size: 175%;
  letter-spacing: 3px;
  padding: 10px 20px;
  margin-bottom: 20px;
}

.subpage h4 {
  background: #EEEEEE;
  border-radius: 10px;
  font-weight: bold;
  font-size: 140%;
  letter-spacing: 3px;
  padding: 10px 20px;
  margin-bottom: 20px;
}

.subpage h5 {
  font-size: 125%;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  position: relative;
  border-left: 10px solid #56B770;
  padding-left: 10px;
}

.subpage h6{
  font-size: 110%;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 20px;
  color:#56B770;
}
.subpage h6::before{
  content:'●';
  color:#56B770;
  margin-right:5px;
}
@media only screen and (max-width:600px){
  .subpage h2{font-size:160%;letter-spacing:inherit;}
  .subpage h3{font-size:140%;letter-spacing:inherit;}
  .subpage h4{font-size:120%;letter-spacing:inherit;}
  .subpage h5{font-size:110%;letter-spacing:inherit;}
  .subpage h6{font-size:105%;letter-spacing:inherit;}
}

/*リスト*/

.subpage ul li{
  position: relative;
  list-style:none;
  padding-bottom:5px;
  margin-left:1em;
}
.subpage ul li:after{
  display: block;
  content: '';
  position: absolute;
  top: .4em;
  left: -1em;
  width: 0.7em;
  height: 0.7em;
  background-color: #56B770;
  border-radius: 150%;
}

.subpage ul li ul{
  border:none;
  padding:0;
}

.subpage ul li ul li{
  margin-top:5px;
  padding-bottom:0px;
}

.subpage ul{
  margin-bottom:20px;
  margin-left:0px;
  padding:0;
  border-radius:10px;
}

.subpage ol{
  padding:0;
  margin:0 0 20px 0;
  list-style:none;
  counter-reset:circle-number;/* 任意の名前*/
}
.subpage  ol li{
  line-height: 2;
  margin-bottom: 0.4em;
  margin-left:2.3em;
}
.subpage ol li:before {
  counter-increment: circle-number; /* 任意の名前を付ける（もちろん英語で） */
  content: counter(circle-number); /* 名前を付けたカウンターをcontentで発動！ */
  background:#eeeeee;
  border-radius: 50%;
  width: 2em;
  height: 2em;
  text-align: center;
  display: inline-block;
  margin-right: .3em;
  margin-left:-2.3em;
}


/*テーブル*/

.subpage table{
  margin-bottom:15px;
  border-collapse:collapse;
  border:none;
}
.subpage table thead{border:none;}
.subpage table th,.subpage .left-color td:first-child{
  background:#F7FDEA;
  color:#000;
  vertical-align:top;
  text-align:center;
  border:1px solid #CCCCCC;
  border-collapse:collapse;
  width:30%;
}
.subpage table td{
  padding:20px 15px;
  vertical-align:top;
  border:1px solid #CCCCCC;
  border-collapse:collapse;
  text-align:left;
}
.subpage .left-bold td:first-child{
  font-weight:bold;
  font-size:120%;
}

@media screen and (max-width: 600px){
  .subpage table td{
    padding:20px 5px;
    font-size: 90%;
  }
  .subpage table th,.subpage .left-color td:first-child{
    padding:20px 0;
  }
}


/* 詳細ブロック */
.subpage .wp-block-details {
  border: 1px solid #CCCCCC;
  border-radius: 10px;
  padding: 15px;
  margin-bottom:20px;
}

.subpage .wp-block-details summary{
  font-size: 175%;
  font-weight: bold;
  letter-spacing: 3px;
  position:relative;
  list-style:none;
}
.subpage .wp-block-details summary::after{
  content:'';
  position:absolute;
  top:10px;
  right:0px;
  display:block;
  width:25px;
  height:25px;
  background: url(images/icon-plus.svg) no-repeat center center;
  transition: 0.3s;
}
.subpage .wp-block-details[open] summary{
  margin-bottom:20px;
}
.subpage .wp-block-details[open]{transition: 0.3s;}
.subpage .wp-block-details[open] summary::after{
  transform: rotate(45deg);
  transition: 0.3s;
}

/* details[open] > summary:first-of-type{
  background: url(images/icon-plus.svg) no-repeat right center;
  background-size: cover;
  transform: rotate(45deg);
} */

@media screen and (max-width: 500px){
  .subpage .wp-block-details {
    padding: 15px 10px;
  }
}

/*ページ送り*/

.tablenav {
	color: #424242;
	margin: 1em auto;
	line-height:2em;
	text-align:center;
}

a.page-numbers, .tablenav .current {
	color: #424242;
	padding: 2px 7px;
	border:solid 1px #ccc;
	text-decoration:none;
	font-size:110%;
	background:#fff;
}

a.page-numbers:hover {
	color:white;
	background: #57b770;
}

.tablenav .current {
	color: white;
	background: #57b770;
	border-color: #57b770;
	font-weight:bold:
}

.tablenav .next, .tablenav .prev {
	border:0 none;
	background:transparent;
	text-decoration:underline;
	font-size:90%;
	font-weight:bold;
}

/*アーカイブ*/
.archive-box{
  border:1px solid #ccc;
  background:#fff;
  padding:15px;
  margin-bottom:10px;
  border-radius:10px;
}
.archive-box:after {content: "";clear: both;display: block;}
.archive-img{
  width:30%;
  float:right;
}
.archive-excerpt{
  width:65%;
  float:left;
}

.archive-excerpt .btn-more{margin-top:20px;}



@media only screen and (max-width:600px){
  .archive-img,.archive-excerpt{float:none;width:auto;}
}

/*メールフォーム*/
.mw_wp_form em {
  display: inline-block;
  background: #cd4d4d;
  border-radius: 5px;
  padding: 0 10px;
  margin-left: 10px;
  color: #fff;
  font-weight: normal;
  font-size: 90%;
}

.tel_num {
  font-size: 200%;
  font-weight: bold;
}

/*サイトマップ*/
.sitemap-list li{
  margin-top:10px;
  background:url(images/sitemap-list-arrow.png) no-repeat 0 8px;
  padding-left:20px;
  font-size:120%;
  border-bottom:1px dotted #ccc;
  padding-bottom:10px;
}
.sitemap-list li ul li{
  margin-top:5px;
  padding-bottom:5px;
  padding-left:15px;
  background:url(images/sitemap-list-child-arrow.png) no-repeat 0 8px;
  font-size:90%;
  border-bottom:none;
}
.sitemap-list li ul li ul li{
  border-bottom:none;
  background:url(images/sitemap-list-grandchild-arrow.png) no-repeat 0 8px;
}
.subpage .sitemap-list ul li:after{display:none;}

/*404ページ*/
.not_found {
  text-align: center;
  font-size: 600%;
  line-height: 0.8em;
  color: #109548;
  font-weight: bold;
}
.not_found span {
  font-size: 50%;
  display: block;
  letter-spacing: 0.1em;
  color: #000;
  font-weight: normal;
}

/*右固定メニュー*/
.subpage .fixed-menu{
  position:absolute;
  right:2%;
  top:210px;
  width:20%;
  background:#fff;
  padding: 0 10px;
}
.subpage .fixed-menu-fixed{
  position:fixed;
  right:2%;
  top:100px;
  transition: top 0.65s ease-in;
  -webkit-transition: top 0.65s ease-in;
}
.fixed-menu::before{
  content:'メニュー';
  display:block;
  font-weight:bold;
  font-size:120%;
  border-bottom:1px solid #999;
  padding-bottom:10px;
  margin-bottom:20px;
}
.subpage .fixed-menu li{
  background:url(images/arrow-green.svg) no-repeat left top 2px;
  margin-left:0;
  margin-bottom:10px;
  padding-left:30px;
  font-weight:500;
}
.subpage .fixed-menu li::after{display:none;}
.subpage .fixed-menu li ul{margin-bottom:0;}
.subpage .fixed-menu li ul li{
  background:none;
  padding-left:0;
  margin-bottom:0;
}
.subpage .fixed-menu li ul li::before{
  content:'';
  width:15px;
  display:inline-block;
  border-top:1px solid #ccc;
  vertical-align: middle;
  margin-right:10px;
}

@media only screen and (max-width:1600px){
  .fixed-menu,.fixed-menu-fixed{width:20%;right:2%;}
}

@media only screen and (max-width:1024px){
  #content-sub .fixed-menu{position:static;width:auto;border:1px solid #999;padding:20px 5%;}
}

/*hoverでzoomする画像*/
.zoom-img img{transition: transform .6s ease;}
.zoom-img .wp-block-image{overflow:hidden;}
.zoom-img .wp-block-image a{
  display:block;
}
.zoom-img a:hover img{transform: scale(1.1);}

/*標準ギャラリー*/
#wrapper .subpage .wp-element-caption{
  background:#fff;
  position:static;
  text-shadow: none;
  color:#000;
  font-size: inherit;
  flex-basis: auto;
}
#wrapper .subpage .wp-block-image::before{display:none;}

/*会社概要*/
.btn-bigbn{
  background:#eee;
  margin-bottom:20px;
}
.btn-bigbn .wp-block-media-text__media{
  overflow:hidden;
}
#wrapper .btn-bigbn .wp-block-media-text__content{
  height:100%;
  padding:0;
}
#wrapper .btn-bigbn .wp-block-media-text__content p{
  margin-bottom:0;
  height:100%;
}
#wrapper .btn-bigbn .wp-block-media-text__content p strong{
  font-size:150%;
  font-weight:bold;
}
#wrapper .btn-bigbn .wp-block-media-text__content a{
  text-decoration:none;
  height:100%;
  display:flex;
  padding:0 8%;
  align-items: center;
}
.btn-bigbn .wp-block-media-text__media img{
  transition: transform .6s ease;
}
.btn-bigbn .wp-block-media-text__media a:hover img{
  transform: scale(1.1);
}
@media only screen and (max-width:600px){
  #wrapper .btn-bigbn{grid-template-columns: 50% 1fr !important;}
  #wrapper .btn-bigbn .wp-block-media-text__content{grid-column:1;grid-row:1;}
  #wrapper .btn-bigbn .wp-block-media-text__media{grid-column:2;grid-row:1;}
}

/* 業務内容 */
.sub-gyoumu h4 {clear: both;}
.sub-gyoumu h4 em {float: right;}
.sub-gyoumu h4 em a {
  background: #57b770;
  text-decoration: none;
  color: #fff;
  font-size: 80%;
  font-weight: normal;
  padding: 4px 15px;
  border-radius: 30px;
}
.sub-gyoumu h4 em a:hover{
  background:#a1a1a1;
  transition: 0.5s;
}

figcaption.wp-element-caption{text-align: center;}

figcaption.wp-element-caption strong,.green-strong strong{
  font-weight: bold;
  font-size: 90%;
  background: linear-gradient(transparent 50%, #D2EFD9 50%);
}

/*サブ受注実績*/
#sub-jisseki{
  display: grid;
  gap:20px;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}
#wrapper #sub-jisseki .wp-block-image{
  border-radius:10px;
  width: auto;
}
#wrapper #sub-jisseki .wp-element-caption{
  position:absolute;
  background: rgba(0, 0, 0, 0.4);
  color:#fff;
  font-size:110%;
  padding:10px;
}
@media only screen and (max-width:800px){
  #sub-jisseki{grid-template-columns: 1fr 1fr 1fr;}
}
@media only screen and (max-width:600px){
  #sub-jisseki{grid-template-columns: 1fr 1fr;}
}

/*技術情報*/
.btn-bigbn-green{
  border:1px solid #52C129;
  margin-bottom: 20px;
}
#wrapper .bn-title{
  font-size:250%;
  font-weight:bold;
  line-height: 1.2;
    margin-bottom: 20px;
}
.btn-bigbn-green .wp-block-media-text__media{
  overflow:hidden;
}
.btn-bigbn-green .wp-block-media-text__content p:last-child{
  margin-bottom:0;
}
.btn-bigbn-green .wp-block-media-text__content a{
  text-decoration:none;
}
.btn-bigbn-green .wp-block-media-text__media img{
  transition: transform .6s ease;
}
.btn-bigbn-green .wp-block-media-text__media a:hover img{
  transform: scale(1.1);
}
@media only screen and (max-width:600px){
  .subpage .btn-bigbn-green .wp-block-media-text__content{padding:15px;}
}

/*記事リスト*/
.subpage .wp-block-latest-posts__list li{margin-bottom:10px;}
.subpage .wp-block-latest-posts.is-grid  li::after{display:none;}
.subpage .wp-block-latest-posts__featured-image{margin-bottom:10px;}

/*注釈*/
.subpage .wp-block-quote{
  border:2px solid #e5e5e5;
  padding:20px;
  border-radius:10px;
  font-size:90%;
  margin-bottom:20px;
}
.subpage .wp-block-quote p:last-child{
  margin-bottom:0;
}

/*404*/
.notFound{
  text-align:center;
  font-size:150px;
  color:#DEF5FF;
  font-weight:bold;
}

/*採用について*/
.sub-recruit .page-container{
  padding-bottom:0;
}
.recruit-slide{
  position:relative;
  padding:0 30px;
  margin-bottom:30px;
  overflow: hidden;
}
.recruit-slide::after{
  content:'社員ひとりひとりの幸せを実現する。';
  display:block;
  position:absolute;
  top:30%;
  background:#fff;
  font-size:50px;
  letter-spacing:0.1em;
  font-weight:bold;
  width:500px;
  padding:20px;
}
.recruit-slide .slick-list{
  width:80%;
  margin-left:auto;
}
.subpage .slick-dots li{
  margin-left:inherit;
}
.subpage .slick-dots li::after{display:none;}

@media only screen and (min-width:1600px){
  .recruit-slide::after{width:38%;font-size:60px;}
}
@media only screen and (max-width:1000px){
  .recruit-slide{padding-top:50px;}
  .recruit-slide::after{top:0;font-size:30px;width:45%;}
  .recruit-slide .slick-list{width:auto;}
}
@media only screen and (max-width:650px){
  .recruit-slide{padding:0;}
  .recruit-slide::after{position:static;width:auto;}
}

/*採用メニュー*/
.recruit-menu a{
  background:none;
  color:#000;
  font-weight:500;
  border-radius:0;
  margin:0 10px;
  font-size:120%;
  letter-spacing:0.1em;
}
.recruit-menu a:hover{
  border-bottom:1px solid #000;
}
@media only screen and (max-width:800px){
  #wrapper .recruit-menu{display:grid;grid-template-columns: 1fr 1fr;padding:0 10px;}
  .recruit-menu a{border-radius:10px;color:#fff;background:#56B770;margin:0;}
}
@media only screen and (max-width:500px){
  #wrapper .recruit-menu{grid-template-columns: 1fr;}
}

/*大進ってどんな会社*/
.sub-recruit h2{
  border:none;
}
#recruit-about{margin-bottom:30px;}
.recruit-about-left{
  position:relative;
}
.recruit-about-img01{
  position:absolute;
  top:0;
  left:-100px;
}
.recruit-about-img02{
  position:absolute;
  top:330px;
  right:0;
}
.recruit-about-right{
  padding:0 30px;
}
.recruit-about-right p{
  margin-bottom:30px;
  line-height:2;
}
.recruit-about-right p strong{
  font-weight:bold;
}
@media only screen and (max-width:1024px){
  .recruit-about-img01,.recruit-about-img02{position:static;}
}
@media only screen and (max-width:781px){
  .recruit-about-img01,.recruit-about-img02{max-width:430px;margin:0 auto 20px auto;}
}

/*数字で見る*/
.recruit-suuji{margin-bottom:30px;}
.recruit-suuji .wp-block-column{
  background:#EDFCF5;
  border-radius:30px;
  padding:30px 20px;
}
.recruit-suuji .wp-block-column p{
  margin-bottom:0;
}
.recruit-suuji-cap{
  font-weight:bold;
  font-size:120%;
}
.recruit-time{
  font-size:150%;
  font-weight:bold;
}
.recruit-time em{
  font-size:250%;
  line-height: 1.3;
  padding-left:75px;
  background:url(images/icon-time.svg) no-repeat left bottom 10px;
}
.recruit-day{
  font-size:150%;
  font-weight:bold;
}
.recruit-day em{
  font-size:250%;
  line-height: 1.3;
  padding-left:75px;
  background:url(images/icon-calendar.svg) no-repeat left bottom 10px;
}
.max750{
  max-width:750px;
  margin:0 auto 30px auto;
}
.recruit-percent{
  font-weight:bold;
  font-size: 110%;
  margin-top:10px;
  gap:30px;
}
.recruit-percent em{
  font-size:250%;
}
.recruit-people{
  font-size:150%;
  font-weight:bold;
}
.recruit-people em{
  font-size:250%;
  line-height: 1.3;
  padding-left:90px;
  background:url(images/icon-people.svg) no-repeat left bottom 3px;
}
.recruit-table table{
  background:#fff;
}
.subpage .recruit-table td{
  text-align:center;
}
.subpage .recruit-table strong{
  font-weight:bold;
}
@media only screen and (max-width:960px){
  .subpage .recruit-suuji{display:block;margin-bottom:0;}
  .subpage .recruit-suuji .wp-block-column{margin-bottom:20px;}
  .subpage .recruit-suuji.max750{width:auto;padding:0 20px;}
}

.recruit-shingakusaki strong{
  font-size:120%;
  font-weight:bold;
}
.subpage .recruit-shingakusaki p{margin-bottom:20px;}

/*福利厚生*/
#fukurikousei p{margin-bottom:10px;}
#fukurikousei strong{
  font-size:120%;
  font-weight:bold;
}
.bg-grad-naname{
  position: relative;
  padding: 100px 0;
  top: 50px;
  width:100%;
  margin-bottom: 100px;
}
.bg-grad-naname::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background-image:linear-gradient(#D0EFEC, #FFFDC7);
    transform: skewY(7deg);
    z-index: -1;
}
#wrapper .subpage .left-line{
  display:flex;
  gap:10px;
  margin-bottom:20px;
}
#wrapper .subpage .left-line::before{
  content:'';
  width:10%;
  display:block;
  border-top:1px solid #707070;
  margin-top:13px;
}
#recruit-message{margin-bottom:30px;}

#recruit-message h2{
  font-size:150%;
}

/*インタビュー*/
#recruit-interview::before{
  content:'';
  display:block;
  width:100%;
  height:330px;
  background:url(images/recruit-interview-bg.jpg) no-repeat center center;
  background-size:cover;
  background-attachment:fixed;
  margin-bottom:50px;
}
@media only screen and (max-width:1000px){
  #recruit-interview::before{background-attachment:inherit;}
}
.recruit-interview-box{
  border-bottom:1px dotted #707070;
  padding-bottom:10px;
  margin-bottom:25px;
}
.recruit-interview-box:nth-child(odd){
  flex-direction: row-reverse;
}
.recruit-interview-box h3{
  background:none;
  color:#000;
  padding:0;
  font-size:140%;
}
.recruit-saiyotantou-box{
  background:#EDFCF5;
  border-radius:20px;
  padding:30px;
  margin-bottom:30px;
}
.recruit-saiyotantou-box h3{
  background:none;
  color:#000;
  padding:0;
  font-size:150%;
}

.subpage .recruit-mynavi img{
  width:auto;
  height:18px;
}
.recruit-mynavi .wp-block-image{
  background:#fff;
  border-radius:10px;
  padding:15px 20px;
  line-height:0;
  margin-bottom:20px;
}
.recruit-rikunavi figure{
  background:#fff;
  border-radius:10px;
  padding:15px 20px;
  line-height:0;
  margin-bottom:20px;
}

/*メールフォーム*/
.mailform-box{
  max-width:800px;
  margin:0 auto 30px auto;
}
.mailform-box table{width:100%;}
.subpage .mailform-box th,.subpage .mailform-box td{vertical-align: middle;}
.mailform-box em{
  display:inline-block;
  background:#cc0000;
  color:#fff;
  padding:3px 10px;
  margin-left:10px;
  border-radius:5px;
  font-size:80%;
}
.subpage .mailform-box .wpcf7-list-item{display:block;}
@media only screen and (max-width:500px){
  .subpage .mailform-box th,.subpage .mailform-box td{display:block;width:auto;text-align: left;padding: 10px 10px;}
  .subpage .mailform-box th p{margin-bottom:0;}
}
@media only screen and (max-width:320px){
  .subpage .mailform-box input{width:90%;}
}