/*
Template:ystandard
Theme Name:ystandard-child
*/
.keyvisualin{
  position: relative;
	width:100%;
}


.keyvisual__scroll {
    width: 60vw;
    position: absolute;
    bottom: 50vw;
    left: -10vw;
}


.keyvisual__scroll--circle{
  height: auto;
  width: 100%;
  animation: rotate 30s linear infinite;
}

.keyvisual__scroll--arrow{
  height: auto;
    width: 38vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}



@keyframes rotate {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}


body{
width:100%;
height:100%;
margin:0 auto;
padding:0;
font-size:16px;line-height:1.8;
background:#fff;
   overflow-x: hidden;
 font-family: "Zen Maru Gothic", sans-serif;
  font-weight: 400;
}

a{text-decoration:none;}

ol, ul {
    margin: 0;
    padding:0;
}
li{list-style:none;}

h1, h2, h3, h4, h5, h6 {
    margin: 0em;
    padding: 0;
    line-height: 1.5;
    letter-spacing: .05em;
}

h1+h2, h2+h3, h3+h4, h4+h5, h5+h6 {
    margin-top: 0;
}

.entry-content h1, .entry-content h2, .entry-content h3, .entry-content h4, .entry-content h5, .entry-content h6 {
    margin: 0em;}


.entry-content h1+h2, .entry-content h2+h3, .entry-content h3+h4, .entry-content h4+h5, .entry-content h5+h6 {
    margin-top: 0em;
}

td, th {
    border-right:none;
    border-bottom:none;
}

tr {
    border-left:none;
}

amp-img, img {
    vertical-align: bottom;
}

a {
  text-decoration: none;
  color: inherit;
}

p {
    display: block;
    margin-block-start: 0em;
    margin-block-end: 0em;
    margin-inline-start: 0px;
    margin-inline-end: 0px;
}

.grecaptcha-badge{
    visibility: hidden;
}


h2{ font-family: "Oswald", "Zen Maru Gothic", sans-serif;
  font-optical-sizing: auto;
  font-weight: 600;
  font-style: normal;}

.footer-copy{margin:0 auto;width:100%;color:#ffffff;}
#footer-poweredby{display:none;}

.ponly{display:none;}
.monly{display:block;}

.site-branding {
    padding: 0.75em 1em 0.75em 0;
}

.site-header button {
    top:  20%;
}

.site-branding .custom-logo  {
    margin-left: 0.75em;
}

.entry-content>*{margin:0 auto;padding:0;width:100%;}

.container {
    margin-right: auto;
    margin-left: auto;
    padding-right: 0em;
    padding-left: 0em;
    max-width: none;
}

.secinner{width:100%;
max-width:960px;
margin:0 auto;
padding:0;}

.breadcrumbs__list {
	margin: 0 0 0 2em;}


.global-nav__menu>.menu-item.current-menu-item>a:after {
    width: 100%;
    background: none;
}

#menu-item-53,#menu-item-205{font-weight:600;}

#back-to-top {right: 3vh;
	bottom: 3vh;}

/*top*/

.headfb img{width:30px;}

#bgwrap{position:relative;height:100%;    min-height: 90vh;
    max-height: 480px;}

.topbg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }

.eyecopy{position: absolute;
    bottom: 5%;
    left: 5%;
    width: 90%;
	height: auto;}

.circleimg{position: absolute;
  bottom: 20%;
  right: -10%;
    width: 50%;
	height: auto;}

div#n2-ss-2 .n2-ss-slider-2 {
    height: 90vh;
}

.contact-btn {
    background: #666;
    color: white !important;
    padding: 10px 20px;
    border-radius: 25px;
}

.facebook-icon {
    color: #4267B2;
}

/* Section Styles */
.item {
  opacity: 0;
  transform: translateY(2rem);
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.reveal-section:has(.is-visible) .item {
  opacity: 1;
  transform: none;
}


.section-title {
    font-size: 32px;
    font-weight: 300;
    color: #333;
}

.section-title-large {
    font-size: 48px;
    font-weight: 300;
    color: #333;
    margin-bottom: 10px;
}

.topnews-content .section-subtitle {
    color: #2b9be4;
}

.ys-posts.is-list .ys-posts__title {
    color: #666666;
}

.ys-posts.is-list .ys-posts__meta>:last-child {
    color: #ffffff;
    padding: 0.5em 1em 0.75em;
	    background: #2b9be4;
    vertical-align: text-bottom;
}

.btn {
    display: inline-block;
    padding: 12px 30px;
    background: transparent;
    border: 2px solid #333;
    color: #333;
    text-decoration: none;
    font-size: 14px;
    transition: all 0.3s;
    text-align: center;
}

.btn:hover {
    background: #333;
    color: white;
}

/* About Section */

.fadeUp {
animation-name: fadeUpAnime;
animation-duration: 0.5s;
animation-fill-mode: forwards;
opacity: 0;
}

@keyframes fadeUpAnime {
from {
opacity: 0;
transform: translateY(50px);
}
to {
opacity: 1;
transform: translateY(0);
}
}


.topabout .flex{
    display: flex;
    flex-direction: column;
}

.topabout {
	width:100%;
	    background: #2b9be4;
}

.topabout-content {
    color: #ffffff;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    padding: 40px 1em 48px;
}


.topabout .section-title,.toprecruit .section-title{
   font-family: "Oswald", sans-serif;
    font-weight: 600;
    color: #ffffff;
    font-size: 2.5em;
}

.topnews-content .section-title{
   font-family: "Oswald", sans-serif;
    font-weight: 600;
  color: #2b9be4;
    font-size: 2.5em;
}

.topabout-text {
  margin-bottom: 24px;
    line-height: 1.8;
    text-align: justify;
    margin-left: auto;
    margin-right: auto;
	width: 100%;
    max-width: 100%;
}

.topabout .btn {
    color: white;
    border-color: white;
}

.topabout .btn:hover {
    background: white;
    color: #333;
}

.about-image{width:100%;}


/* News Section */
.topnews {width:100%;
    background: #eaeaea;
}

.topnews .flex{
    display: flex;
   flex-direction: column-reverse;
}

.ys-posts__list {
gap:1em;
}

.ys-posts.is-list .ys-posts__text {
    display: flex;
	flex-direction:row-reverse;gap:1em;}

.ys-posts.is-list{margin:1em 0;}

.ys-posts.is-list .ys-posts__item {
   border-bottom: 1px solid #666666;
    padding-bottom: 1em;
}

.topnews-content{    color: #1c339c;
    text-align: center;
    margin: 0 auto;padding: 40px 1em 48px;}

.topnews-content .ys-icon{display:none;}

.topnews-image{width:100%;}


/* Recruit Section */
.toprecruit {
    background-image: linear-gradient(90deg, #ff6d42 12%, #f39e42);
    color: #ffffff;
	width:100%;
}

.toprecruit .flex{
    display: flex;
    flex-direction: column;
}

.toprecruit-content{color: #ffffff;
    text-align: center;
    margin: 0 auto;
    width: 100%;
    padding: 40px 1em 48px;}


.toprecruit-text {
    margin-bottom: 24px;
    line-height: 1.8;
	width:100%;
	max-width:50%;
}

.recruit-text{text-align:justify;width:100%; margin: 0 auto;}

.toprecruit .btn {
    color: white;
    border-color: white;
}

.toprecruit .btn:hover {
    background: white;
    color: #666;
}

.toprecruit-image{width:100%;}



/* Works Section */

.topworks-header{margin: 0 0 40px 0;    padding: 0em 1em;}

.topworks {
     background: url('https://www.marucho-hirosaki.com/wp-content/uploads/2025/06/darkback-2.png') no-repeat center center / cover;
    color: #ffffff;
	position:relative;
	padding:80px 0;
	
}

.topworks-description {
      max-width: 600px;
    margin: 16px 0 40px 0;
    line-height: 1.8;
    color: #ffffff;
}


.topworks-flex {
    display: flex;
    justify-content: center;
    gap: 1em;
    flex-direction: column;
    padding: 0 1em;
}

.topwork-item {
    position: relative;
    overflow: hidden;
}

.topwork-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.3s;
}


.titleimg{position:absolute;top:0;right:0;width: 65%;}

.backimg1{position: absolute;
    bottom: 0;
    right: 0;
    margin-left: 0;
    max-width: 90%;
    text-align: right;display:none;}
.backimg2{position:absolute;bottom:0;right:0;}

.section-topworkstitle{font-size:1.5em;}

.topwork-overlay {
   position: absolute;
    bottom: 55%;
    right: 0%;
    color: white;
    padding: 0;
    transform: translateY(100%);
    transition: transform 0.3s;
    left: 0;
}

.topwork-item:hover .work-overlay {
    transform: translateY(0);
}

.topwork-item:hover img {
    transform: scale(1.05);
}

.topwork-overlay h5 {
font-size: 24px;
    margin-bottom: 16px;
    text-align: center;
}

.topwork-overlay .btn {
    color: white;
    border-color: white;
    padding: 8px 20px;
    font-size: 12px;
}

.ovbtn{position:absolute;right:0;bottom:0;}

/* Contact Section */
.topcontact {
    background: #1c339c;
    color: #ffffff;
    text-align: center;
    padding: 40px 1em 48px;
}

.topcontact-content .section-title{
   font-family: "Oswald", sans-serif;
    font-weight: 600;
    color: #ffffff;
    font-size: 2.5em;
}

.topcontact-text {
    margin: 1em auto;
}

.topcontact-btn-main {
    background: white;
    color: #333;
    border: none;
    padding: 15px 40px;
    font-size: 16px;
    border-radius: 30px;
}

.topcontact-btn-main:hover {
    background: #f0f0f0;
}

/* Footer */
.fnl{margin: 0 auto;
    text-align: center;}
.fnl img{width:100%;max-width:280px;}

.company-logo {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 10px;
}

.logo-circle {
    width: 40px;
    height: 40px;
    border: 2px solid white;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.company-name {
    font-size: 18px;
    font-weight: bold;
}

.company-name-en {
    font-size: 12px;
    color: #ccc;
    margin-bottom: 15px;
}

.company-info {
    font-size: 12px;
    color: #ccc;
}

a.footfb img{width:35px;}

.footer-links {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    margin-bottom: 15px;
}

.footer-links a {
    color: white;
    text-decoration: none;
    font-size: 14px;
}

.footer-links a:hover {
    color: #ccc;
}

.facebook-link {
    color: #4267B2;
}

.footer-policy {
    display: flex;
    gap: 20px;
}

.footer-policy a {
    color: #ffffff;
    text-decoration: none;
    font-size: 12px;
}

.fnaviwrap {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding: 0 1em;
    flex-direction: column;
}

.fad{display:block;margin:1em 0 0.25em;}
.ftel{display:block;}
.fnr{display:none;}
.fnr ul{    display: flex;
    gap: 1.5em;}
.fnr ul.secondline{margin:0.5em 0;justify-content: flex-end;}
.peyewrap{position:relative;}
.peyewrap h2{
	position: absolute;
    top: 50%;
    right: 2%;
    -ms-transform: translate(0%,-50%);
    -webkit-transform: translate(0%,-50%);
    transform: translate(0,-50%);
    color: #fff;
    font-size: 2rem;
margin: 0!important;
    padding: 0!important;
    line-height: 1.1;
    text-align: right;
	
}
.peyewrap h2 span{font-size:0.4em;color:#ffffff; display:block;}


.peyewrap h2:before {
 content: '';
    position: inherit;
    bottom: 0;
    left: 0;
    width: auto;
    height: 0;
    background: none;
}

.eyecopy2{position: absolute;
   bottom: 10%;
    left: 4%;
    width: 50%;
	height: auto;}


.eyecopy2 img{
       width: auto;
    min-height: 124px;}

.archive__item.is-simple .archive__category {
    background-color: #2b9fe8;

}


/*company page*/
.president{background-color:#ffffff;padding: 40px 1em;}
.prewrap{display:flex;justify-content:space-between;}

.pre-text{width:100%;}

.pre-text h3{padding-bottom:1em;text-align:center;}
.pre-text p.piece{padding-bottom:0.5em;}
.pre-text p.piece.top{padding-bottom:0.5em;text-align:center;}
.pre-name{display: flex;
    flex-direction: column;
    text-align: right;
    margin-top: 2em;}

.pre-img{width:30%;}
.pre-img img{width:100%;max-width:380px;}




        /* 会社概要セクション */
        .company-overview,.licenses-section,.group-companies {
            background:url("https://www.marucho-hirosaki.com/wp-content/uploads/2025/06/silver_back-scaled.webp");
            padding: 40px 1em;
			    background-size: cover;
        }

        .company-overview h2,.group-companies h2, .company-history h2,.licenses-section h2,.president h2{
            text-align: center;
            font-size: 2.5rem;
            letter-spacing: 2px;
			color:#2b9be4;
			    line-height: 1;
        }

        .company-overview .subtitle,.group-companies .subtitle,.company-history .subtitle,.licenses-section .subtitle,.president .subtitle{
            text-align: center;
            font-size: 1.25rem;
            margin-bottom: 1.5em;
			color:#2b9be4;
        }

        .overview-table {
            max-width: 800px;
            margin: 0 auto;
        }

        .overview-row {
            display: grid;
            margin-bottom: 16px;
			text-align:justify;
            background-color: #2b9be4;
        }

        .overview-label {
            background-color: #2b9be4;
            padding: 16px 20px;
            font-weight: bold;
			text-align:center;
			color:#ffffff;
			
        }

        .overview-value {
            background-color: white;
            color: #333;
            padding: 15px 20px;
        }

.licenses-section ul{width: 100%;
    max-width: 800px;
    margin: 0 auto;}

.licenses-section table td{display: inline-block;
    width: 80%;}
.licenses-section table td:nth-child(2n){width:20%;}


   /* time-schedule */
.time-schedule {
    max-width: 640px;
    list-style: none;
    margin: 0 auto;
   padding-left: 22px;
    border-left: 3px solid #2b9be4;
    box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0 0;
  padding: 0;
  position: relative;
}

.time-schedule span.time {
    font-family: "Oswald", sans-serif;
    width: 6em;
    display: inline-block;
    margin-left: -110px;
    padding: 0 0 16px;
    margin-top: -5px;
    vertical-align: top;
    position: relative;
    text-align: right;
    box-sizing: border-box;
    color: #2b9be4;
    font-size: 1.75em;
    font-weight: 600;
    line-height: 1;
}

.time-schedule span.time::after {
    content: "";
    position: absolute;
    right: 72px;
    top: 5px;
    background: #2b9be4;
    width: 20px;
    height: 20px;
	border-radius: 10px;}


.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 30px;
  padding: 0px 10px 16px 24px;
  vertical-align: middle;
  box-sizing: border-box;
  border-radius: 6px;
}

.time-schedule .sch_title {
  font-size: 16px;
  font-weight: 700;
}

.time-schedule .sch_tx {
  font-size: 16px;
  font-weight: normal;
}
.time-schedule .sch_tx dl {
    display: flex;
    align-items: baseline;
    margin-block-start: 0em;
    margin-block-end: 0em;
    line-height: 1;
    margin-bottom: 1em;
    flex-direction: column;
}

.time-schedule .sch_tx dl dt {
    margin-top: 0;
    font-size: 0.9em;
    padding-bottom: 0.5em;
    margin-right: 0em;
}
.time-schedule .sch_tx dl dd {
    margin-left: 0.5em;
    line-height: 1.5;
}

.time-schedule .sch_box {
    display: inline-block;
    width: 100%;
    margin-left: 0px;
    padding: 0px 0px 16px 0px;
    vertical-align: middle;
    box-sizing: border-box;
    border-radius: 6px;
}


.time-schedule .sch_tx dl {
    display: flex;
    align-items: baseline;
    margin-block-start: 0em;
    margin-block-end: 0em;
    line-height: 1;
    margin-bottom: 1em;
    flex-direction: column;
}

.time-schedule .sch_tx dl dt {
    margin-top: 0;
    font-size: 0.9em;
    padding-bottom: 0.5em;
    margin-right: 0em;
}
.time-schedule .sch_tx dl dd {
    margin-left: 0.5em;
    line-height: 1.5;
}

.time-schedule span.time {
    font-family: "Oswald", sans-serif;
    width: 6em;
    display: inline-block;
    margin-left: -110px;
    padding: 0 0 16px;
    margin-top: -5px;
    vertical-align: top;
    position: relative;
    text-align: right;
    box-sizing: border-box;
    color: #2b9be4;
    font-size: 1.75em;
    font-weight: 600;
    line-height: 1;
}

.time-schedule span.time::after {
    content: "";
    position: absolute;
    right: 72px;
    top: 5px;
    background: #2b9be4;
    width: 20px;
    height: 20px;
    border-radius: 10px;
}



        .company-history {
            background-color: #ffffff;
            padding: 40px 1em;
        }


        .history-timeline {
            max-width: 800px;
            margin: 0 auto;
        }

        .history-year {
            margin-bottom: 40px;
        }

        .year-header {
            display: flex;
            align-items: center;
            margin-bottom: 15px;
        }

        .year-number {
            font-size: 1.5rem;
            font-weight: bold;
            color: #333;
            margin-right: 20px;
        }

        .year-dot {
            width: 12px;
            height: 12px;
            background-color: #333;
            border-radius: 50%;
        }

        .history-events {
            margin-left: 60px;
        }

        .history-event {
            display: flex;
            margin-bottom: 10px;
            font-size: 0.9rem;
            color: #666;
        }

        .event-month {
            width: 40px;
            flex-shrink: 0;
            font-weight: bold;
        }

        .event-description {
            flex: 1;
        }


   /* ライセンスセクション */
     .lisence-section{   background:url("https://www.marucho-hirosaki.com/wp-content/uploads/2025/06/silver_back-scaled.webp");
            padding: 80px 1em;background-size: cover;}



        /* グループ会社セクション */
    .group-companies{
            padding: 80px 1em;}


        .companies-grid {
            max-width: 800px;
            margin: 0 auto;
            display: flex;
			justify-content: space-between;
			    flex-direction: column;
        }

     .company-item {
    width: 30%;
    max-height: 70px;
    align-items: center;
    font-size: 1rem;
    color: #333;
    text-align: center;
    align-self: center;
}


 /* RECRUIT Cards Section */

.title-box {
      padding: 2rem;
      text-align: center;
      margin-bottom: 2rem;
    }

.title-box h3 img{margin-top:24px;}


.r_intro-txt{text-align: justify;
    margin: 0 auto;
    width: 100%;
    max-width: 640px;
}


        .cards-section {
                     background-image: linear-gradient(90deg, #80daff, #ffffff);
            padding: 40px 1em;
        }
.cards-section .title-box{margin-bottom:1em;}
.cards-section .title-box img{max-width:600px;width:100%;}

.cards-section .title-box img.jobimg{max-width:360px;width:100%;max-height:51px;}
.cards-section .title-box img.jobimgsub{max-width:480px;width:100%;}

.cards-section .title-box img.joinimg{width:100%;max-height: 110px;}
.cards-section .title-box img.joinimgsub{max-width:480px;width:100%;}

.image-placeholder {
    width: 100%;
    margin: 16px auto 40px;
    max-width: 100%;
}
.image-placeholder img{width:100%;}


.r_job_wrap{width:100%;margin:40px auto;position: relative;max-height: 1200px; min-height:720px;}
.r_job_wrap2{width: 100%;
    margin: -100px auto 40px;
    position: relative;
    max-height: 1200px;
    min-height: 560px;}

.r_job_img{position:absolute;top:0;left:0;}
.r_job_img img{width:100%;max-width:100%;}
.r_job_txt {
    position: absolute;
    left: 50%;
    top: 52%;
    background-color: #1c339c;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    width: 100%;
    padding: 1em;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}
.r_job_img2{position: absolute;
    right: 0%;
    text-align: right;}
.r_job_img2 img{width:100%;max-width:100%;}

.r_job_txt2 {
    position: absolute;
    left: 50%;
    top: 67%;
    background-color: #1c339c;
    display: flex;
    flex-direction: column;
    max-width: 100%;
    width: 100%;
    padding: 1em;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}



.r_job_txt h3,.r_job_txt2 h3{
        font-size: 1.4rem;
    margin-bottom: 16px;
    font-weight: 600;
        }


.r-company-section{width:100%; padding: 40px 1em;}

   .numbered-wrap{
      display: flex;
      flex-wrap: wrap;
      gap: 2rem;
      align-items: center;
	   margin-bottom:40px;
	   flex-direction:column;
    }
    .numbered-wrap .com-img {
		width:100%;
    }

 .numbered-wrap.second{
	   flex-direction:column-reverse;
    }

.numbered-wrap.last{
	   margin-bottom:0;
    }

.com-img img{width:100%;}

    .numbered-text {
		width:100%;
		margin:0 auto;
    }
.numbered-text h2 {
    font-size: 1rem;
    margin-bottom: 0.5em;
}

.pointflex{display:flex;justify-content:space-between; align-items: baseline;}
.pointflex h2 img{max-width:50%;}
.numbered-text h3{margin-bottom:1em;color: #1c339c;font-size:1.5em;}

  .rtable-section{   background:url("https://www.marucho-hirosaki.com/wp-content/uploads/2025/06/recback-scaled.webp");
            padding: 40px 1em;}

.table_introwrap{position:relative;top: 32px;    margin-top: -6em;}
.table_introflex{display:flex;margin:0 auto;width:100%;max-width:960px;align-items: center;flex-direction: column;}
.table_intro{color: #ffffff;
    font-size: 1.1em;
    width: 80%;
    margin-right: 4%;
margin-bottom: 0em;    margin-top: 1em;}
.table_introimg {
    width: 25%;
    margin-right: -72%;
}

.recruityokoinnner{border:1px solid #1c339c;width:100%;max-width:960px;margin: 0 auto;background: #ffffff;
    opacity: 0.9;padding: 2em;}
.recruityokotitle h3{background-color:#1c339c;color:#ffffff;text-align:center;padding:0.5em;text-align:center;font-size:1.5em;}
table.recruityoko{width: 100%;
    max-width: 960px;
    background: #ffffff;
    text-align: center;
    padding: 0 1em;
border-top:none;}

table.recruityoko tr{border-bottom: 1px solid #1c339c;
    margin-bottom: 0.5em;}
table.recruityoko tr:last-child {
    border-bottom: none;
}

table.recruityoko th {
    color: #1c339c;
    width: 100%;
    background: none;
    text-align: center;
    display: block;
    padding: 0.5em 0 0 0;
}
table.recruityoko td {
    width: 100%;
    text-align: center;
    display: block;
    padding: 0 0 0.5em 0;
}

.button1 a {
	border: 1px solid #ffffff;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 2em auto 0;
    max-width: 320px;
    padding: 8px 40px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 400;
    font-size: 1em;
}
.button1 a:after {
 content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 1.5rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 1px currentColor;
    border-right: solid 1px currentColor;
    transform: translateY(-50%) rotate(45deg);
}
.button1 a:hover {
  background: #ffffff;
  color: #1c339c;
}
.button1 a:hover:after {
  right: 1.4rem;
}

.button1.top a {
    max-width: 200px;
	color:#ffffff;
}

.button1.top a:hover {
  background: #ffffff;
  color: #2b9fe8;
}
.button1 a:hover:after {
  right: 1.4rem;
}

.button1.third a {
    max-width: 200px;
	color:#ffffff;
}

.button1.third a:hover {
  background:#ffffff;
  color: #F69042;
}


.button2 a {
    background: #1c339c;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 2em auto 0;
    max-width: 280px;
    padding: 10px 25px;
    color: #ffffff;
    transition: 0.3s ease-in-out;
    font-weight: 500;
}
.button2 a:after {
  content: "";
  position: absolute;
  top: 50%;
  bottom: 0;
  right: 2rem;
  font-size: 90%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s;
  width: 6px;
  height: 6px;
  border-top: solid 1px currentColor;
  border-right: solid 1px currentColor;
  transform: translateY(-50%) rotate(45deg);
}
.button2 a:hover {
  background: #ffffff;
  color: #1c339c;
}
.button2 a:hover:after {
  right: 1.4rem;
}

.button3 a {
	border: 1px solid #2B9FE6;
    border-radius: 3px;
    position: relative;
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 2em auto 0;
    max-width: 200px;
    padding: 8px 40px;
    color: #2B9FE6;
    transition: 0.3s ease-in-out;
    font-weight: 400;
    font-size: 1em;
}
.button3 a:after {
 content: "";
    position: absolute;
    top: 50%;
    bottom: 0;
    right: 1.5rem;
    font-size: 90%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: right 0.3s;
    width: 6px;
    height: 6px;
    border-top: solid 1px currentColor;
    border-right: solid 1px currentColor;
    transform: translateY(-50%) rotate(45deg);
}
.button3 a:hover {
  background: #2B9FE6;;
  color: #ffffff;
}
.button3 a:hover:after {
  right: 1.4rem;
}


/*事業案内*/
.service_p-section{padding:40px 1em;}
.service-wrap{display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 2em 1em;
    margin-bottom: 2em;
    text-align: justify;}
.sw_in{width:100%;}
.sw_in img{width:100%;}
.sw_in h3{margin: 0.5em 0 0.25em;
    font-size: 1.5em;
    border-bottom: 2px dotted #404047;
    padding-bottom: 0.25em;
    text-align: center;
    color: #2b9fe8;}
.sw_inimg img{width:100%;}
h4.h4att{    text-align: justify;
    font-size: 1.1em;}



h3.s_p_ctitle{ text-align: center;
    margin: 0em auto 0em;
    color: #1c339c;
    font-size: 1.8em;
    position: relative;
    display: inline-block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

h3.s_p_ctitle.second{margin-top:1em}


h3.s_p_ctitle:before, h3.s_p_ctitle:after {
  content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 2px;
  background-color:#1c339c;
	
}

h3.s_p_ctitle:before {
  left:-60px;
	color:#1c339c;
}
h3.s_p_ctitle:after {
  right: -60px;
	color:#1c339c;
}




/*実績紹介*/

.works-section{padding:40px 1em;}
table.workstable{width:100%;max-width:800px;margin: auto;}
table.workstable th.ttop{background:#2b9be4;color:#ffffff;font-weight:600;text-align:center;}
table.workstable th{text-align:center;}
table.workstable th,table.workstable td{border:1px solid #dedede;}
table.workstable tr:nth-child(even){background:#c2def0;}



/*お問い合わせ*/

.contactbox{padding:0 1em;}

.contactwrap {
    border-radius: 0.5em;
    padding: 2em 2em;
    max-width: 960px;
    text-align: center;
    margin-bottom: 40px;
    background: #eaeaea;
}

table.contactt{border-collapse: collapse;
    border-spacing: 0;
    max-width: 840px;
   margin: 0 auto;
border-top:none;}

.contactt th{
 text-align:left;
	font-size:1em;
 color:#444;
 padding: 8px;
 width:30%;
}

table.contactt th{text-align:center;margin-top: 1em;}
table.contactt th.confirst{margin-top: 0em;}

section.cform{padding: 40px 0rem;}

/*通常欄*/
.contactt td{
 font-size:1em;
}
.contactt td.koumoku{
 font-size:1em;
}

.contactt th p,.contactt td p{margin:0 auto 0.5em;}

.contactt th p span {
    font-weight: 600;
    font-size: 1.1em;
}

.contactt input,.contactt textarea{border:none;}

.spamtxt1{color:#000000;}
.spamtxt1 a{color:#0074be;text-decoration: underline;}

.priatt{margin-top:1em;}

/*横の行とテーブル全体*/
.entry-content .contactt tr,.entry-content table{
 /*border:solid 1px #d7d7d7;*/
	border:none;
}

/*送信ボタンのデザイン変更*/
#formbtn{
	background: #1c339c;
    border-radius: 3px;
     padding: 12px 16px;
 max-width:350px;
	border:2px solid #1c339c;
 color:#ffffff;
 font-size:16px;
 font-weight:bold;	 
 margin:24px auto 0;
}
/*送信ボタンマウスホバー時*/
#formbtn:hover{
 background:#ffffff;
 color:#1c339c;
 border:2px solid #1c339c;
}

input[type=email], input[type=search], input[type=text], input[type=url],  input[type=tel],select, textarea {
    display: block;
    width: 100%;
    -webkit-appearance: none;
}

table.contactt th{
background:none;
}

table.contactt th,table.contactt td {
 display:block;
 width:100%;
 border-top:none;
 -webkit-box-sizing:border-box;
 -moz-box-sizing:border-box;
 box-sizing:border-box;	
    padding: 0 0 4px;
}


div.wpcf7 .ajax-loader{display:none;}


span.caution{font-size:10px;display:block;
    margin-top: 4px;}

.wpcf7-spinner{
	width:0;
	margin:0;
}

.wpcf7-list-item {
    display: inline-block;
    margin: 0 4px 0 0;
}

/*プライバシーポリシー*/
.policy-section{padding:40px 1em;}
.policy{margin:40px auto;}
.policy h3{color:#404040;  padding-bottom: 8px;
  position: relative;
  border-bottom: 3px solid #2b9fe8;
  z-index: 0;}

.policy h3::before {
  content: "";
  position: absolute;
  bottom: -3px;
  left: 0;
  background: #1c339c;
  width: 50px;
  height: 3px;
  display: block;
  z-index: 1;
}
.mod-text{padding-top:8px;}

.policyintro{font-size:1.1em;}

/*サスティナビリティ*/
h3.sustitle{    text-align: center;
    margin: 0em auto 1em;
    color: #1c339c;
    font-size: 1.5em;}


/*アーカイブ*/
.archive__container {
    display: flex;
    flex-direction: column;
    max-width: 640px;
    margin: 0 auto;
}

/* Tablet Styles */
@media (min-width: 768px) {
	
	.ponly{display:block;}
.monly{display:none;}
	
	
	.keyvisual__scroll{
  width: 30vw;
  position: absolute;
  bottom:2vw;
  left: 2vw;
}

	
.keyvisual__scroll--arrow {
    height: auto;
    width: 18vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

div#n2-ss-2 .n2-ss-slider-2 {
    height: 100%;
}

	
		.header-type--row1 .global-nav {
    font-size: 1.1em;
    margin-right: 0em;
}
.site-branding .custom-logo  {
    margin-left: 2em;
}
	
#bgwrap{position:relative;height:100%;    min-height: 19vh;
    max-height: 480px;}

.topbg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
      }	
	
.div#n2-ss-2 .n2-ss-slider-2 {
    height: 100%;
}

.eyecopy{position: absolute;
    bottom: 5%;
    left: 5%;
    width: 50%;
	height: auto;}
	
	.peyewrap h2{
    font-size: 5rem;
	}
	
	.hsnavi1{background: #ff6d41;
    color: #ffffff;
    padding: 1.2em 0.5em;
    width: 125px;}
.hsnavi1 a{color:#ffffff;}
.hsnavi2{background: #1c339c;
    color: #ffffff;
    padding: 1.2em 0.1em;
    margin-left: 0!important;
    width: 125px;}
.hsnavi2 a{color:#ffffff;}



/*top*/
	
	#bgwrap {
    min-height: 737px;
    max-height: 100%;
}
	
	.eyecopy{position: absolute;
    bottom: 5%;
    left: 2%;
    width: 50%;
	height: auto;}
	
.circleimg{position: absolute;
      bottom: 10%;
    right: -22%;
    width: 50%;
	height: auto;}
	
    .topabout .flex,
    .topnews .flex,.toprecruit .flex {
        flex-direction: row;
        align-items: center;
    }
    
    .topworks-grid {
        grid-template-columns: repeat(2, 1fr);
    }
	
	
/* About Section */
.about-image{width:40%;}
.topabout-content {
	  width: 60%;
}
	
	.topabout-content {
	    color: #ffffff;
    text-align: center;
    margin: 0 auto;
	  width: 60%;
		padding:0;
}
	
	.topabout-text {
    max-width: 75%;
}
	
	
	p.section-subtitle{margin-bottom:1em;}
    
.topnews-image{width:40%;}	
	
/*top recruit*/
	
.toprecruit-content {
    color: #ffffff;
    text-align: center;
    margin: 0 auto;
    width: 60%;
    padding: 0;
}	
	
	.toprecruit-image {
    width: 40%;
}

	.recruit-text{text-align:justify;width:60%; margin: 0 auto;}
	
	

/*top works*/
.titleimg {
    width: auto;
}
	
.topworks-header{padding: 0; margin: 48px 0 40px;}	
	
.topworks-flex {
    display: flex;
    justify-content: center;
    gap: 2em;
    flex-direction:row;
    padding: 0;
}	
	
.section-topworkstitle{font-size:2em;}	
	
.backimg1{
    max-width: 35%;display:block;}	
	
/* Contact Section */
.topcontact {
	    padding: 60px 0;
}	
	
	
/*footer*/
	.fnl{margin: 0;
    text-align: left;}
.fnl img{width:100%;}

	
/*company section*/
	.secinner{width:100%;
max-width:960px;
margin:0px auto;
padding:0;}

/*COMPANY page*/
.president{padding: 80px 1em;}	
	
	

        /* 会社概要セクション */
        .company-overview,.licenses-section {
            padding: 80px 1em;
        }
	
	  .overview-row {
            grid-template-columns: 200px 1fr;
        }
	.company-history {
    padding: 80px 1em;
}
	.company-history {
    background-color: #ffffff;
    padding: 80px 1em;
}
	
	
	.licenses-section table td{display: table-cell;
    width: auto;}
.licenses-section table td:nth-child(2n){width:auto;}
	
	  .companies-grid {
		  flex-direction:row;}
	
 /* time-schedule */
.time-schedule {
    min-width: 640px;
    max-width: 640px;
    list-style: none;
    margin: 0 auto;
   padding-left: 22px;
    border-left: 3px solid #2b9be4;
    box-sizing: border-box;
}

.time-schedule li {
  width: 100%;
  margin: 0 0;
  padding: 0;
  position: relative;
}

.time-schedule span.time {
	font-family: "Oswald", sans-serif;
 width: 6em;
    display: inline-block;
    margin-left: -216px;
    padding: 0 0 120px;
    margin-top: -5px;
    vertical-align: top;
    position: relative;
    text-align: right;
    box-sizing: border-box;
    color: #2b9be4;
    font-size: 1.75em;
    font-weight: 600;
	    line-height: 1;
}

.time-schedule span.time::after {
  content: "";
  position: absolute;
  right: -35px;
  top: 5px;
  background: #2b9be4;
  width: 20px;
  height: 20px;
  border-radius: 10px;
}

.time-schedule .sch_box {
  display: inline-block;
  width: 100%;
  margin-left: 30px;
  padding: 0px 10px 16px 24px;
  vertical-align: middle;
  box-sizing: border-box;
  border-radius: 6px;
}

.time-schedule .sch_title {
  font-size: 16px;
  font-weight: 700;
}

.time-schedule .sch_tx {
  font-size: 16px;
  font-weight: normal;
}
.time-schedule .sch_tx dl{
    display: flex;
    align-items: baseline;
    margin-block-start: 0em;
    margin-block-end: 0em;
    line-height: 1;
    margin-bottom: 1em;}

.time-schedule .sch_tx dl dt{
margin-top:0;}

.time-schedule .sch_tx dl dd{}	

	
	
/*事業案内*/
.service_p-section{padding:80px 0;}
.sw_in{width:48%;}	
	
/*実績紹介*/

.works-section{padding:80px 0;}	
	
	
	
/*リクルート*/
 .cards-section {
            padding: 80px 0;
        }
	
.image-placeholder{width:100%;margin:80px auto;max-width:75%;}	
.r_job_img{position:absolute;top:0;left:0;}
.r_job_img img{width:100%;max-width:55%;}
.r_job_txt{ position: absolute;
    left: 65%;
	top:55%;
    background-color: #1c339c;
    display: flex;
    flex-direction: column;
    max-width: 35%;
    padding: 3.5em;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);}

.r_job_img2{position: absolute;
    right: 0%;
    text-align: right;}
.r_job_img2 img{width:100%;max-width:55%;}
.r_job_txt2{ position: absolute;
    right: 30%;
    top: 20%;
    background-color: #1c339c;
    display: flex;
    flex-direction: column;
    max-width: 35%;
    padding: 3.5em;
    align-items: center;
    justify-content: center;
    font-size: 1.2rem;
    color: #ffffff;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);}


.r_job_txt h3,.r_job_txt2 h3{
        font-size: 1.4rem;
    margin-bottom: 16px;
    font-weight: 600;
        }
.r_job_wrap2 {
	margin: 0px auto -40px;}

.cards-section .title-box img.jobimg{max-width:360px;width:100%;max-height: 110px;}
	
.pointflex h2 img {
    max-width: 100%;
}
	
.title-box {
    padding: 0rem 2rem 2rem;
    text-align: center;
    margin-bottom: 2rem;
}	
	
.r-company-section{width:100%; padding: 80px 0;}	
.table_introflex{flex-direction: row;}	

  .rtable-section{ 
            padding: 80px 1em;}	
	
  .numbered-wrap{
	   flex-direction:row;
    }	
	
  .numbered-wrap .com-img {
		width:44%;
    }
    .numbered-text {
		width:45%;
		margin:0 auto;
    }	
	  .numbered-text h2 {
      font-size: 2rem;
		
		margin-bottom:1em;
    }
	
.numbered-wrap.second {
    flex-direction: row;
}	
	
	.table_introimg{width: 13%;
    margin-right: 3%;}
	
.table_intro {
    margin-bottom: 2em;
}
	
	table.recruityoko th{color:#1c339c;width:30%;background:none;text-align: left;
    padding-left: 5em;display:table-cell;padding: 0.5em 1em 0.5em 5em;}
table.recruityoko td{width:70%;text-align:left;display:table-cell;padding: 0.5em 1em 0.5em 5em;}
	
/*プライバシーポリシー*/
.policy-section{padding:80px 0;}
h3.sustitle {
    text-align: center;
    margin: 2em auto 1em;
    color: #1c339c;
    font-size: 1.5em;
}	
	
/*お問い合わせ*/	
.contactt th p span{
    font-weight: 600;
    font-size: 1em;
}
	
	section.cform{padding: 80px 0rem;}	
	
.fnaviwrap{display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding: 0 60px;
flex-direction:row;}	
	
	.fnr{display:block;}
	
}

/* Desktop Styles */
@media (min-width: 1024px) {
 
 
    
    .topworks-grid {
        grid-template-columns: repeat(3, 1fr);
    }

}

/* Large Desktop */
@media (min-width: 1200px) {
  
}
 

    .btn-more {
      display: inline-block;
      background: #444;
      color: #fff;
      padding: 0.5rem 2rem;
      text-decoration: none;
      margin-top: 1rem;
    }
    @media(max-width: 768px) {
      .numbered-section {
        flex-direction: column;
      }
      .two-column {
        flex-direction: column;
      }
    }
