@charset "UTF-8";
/*--------------------------------
初期設定
---------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap');

html {font-size: 62.5%;} /* 1.6rem=16px */
body {width: 100%; color: #000; font-family: 'Noto Sans JP', sans-serif,"Helvetica Neue",
    Arial,
    "Hiragino Kaku Gothic ProN",
    "Hiragino Sans",
    Meiryo,
    sans-serif;line-height: 1; word-break: break-all; -webkit-font-feature-settings: "palt"; font-feature-settings: "palt";  min-width: 320px; padding: 0px;font-weight: 400;position: relative;
background: #f2f1f0;overflow: hidden}

a:hover img {}
img {max-width: 100%;height: auto;}
p, ul li, ol li, dl dt, dl dd,figure{margin:0; padding:0; font-size:1.4rem}
ul,h1,h2,h3,h4,h5,h6{ margin:0; padding:0}
ul li{ margin:0; padding:0; list-style-type:none}

.pb40{ padding-bottom:40px;}
.mb60{ margin-bottom:60px!important;}
.mb40{ margin-bottom:40px!important;}
.mb10{ margin-bottom:10px!important;}
.mb15{ margin-bottom:15px!important;}
.mb20{ margin-bottom:20px!important;}
.pb20{ padding-bottom:20px;}
.pb80{ padding-bottom:80px;}
.attention,.rd{ color:#C00}
.ib{ display:inline-block}
.f-l{ float:left}
.f-r{ float: right}
.clear{ clear:both}
.w100{ width:100%}
caption{ font-size:1.6rem; padding-bottom:10px; text-align:left}
.min{  font-family: "Times New Roman", Times, serif, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; transform: rotate(.03deg);}
html{overflow-y:scroll;}
.bk{ color:#000!important}
.right{ text-align:right}
.bold{ font-weight:bold}
.clearfix::after,.imgLeft,.imgRight,.pager{ content: ""; display: block; clear: both;}


.pc-mode{display: none}
figcaption{margin-top:10px
}

/*--------------------------------
share
---------------------------------*/
img[src$=".svg"] {width: 100%; height: auto;}
a:hover{ text-decoration:none;}
.center{ text-align:center}
.ggmap {position: relative; padding-bottom: 60.25%; padding-top: 30px; height: 0; overflow: hidden;}
.ggmap iframe,
.ggmap object,
.ggmap embed {position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.main section, ul li {line-height:1.8}
/* page-top */
#pagetop {position: fixed; bottom: 0px; right: 0px; margin:0 0 -1px;}
#pagetop a {width: 80px; height:50px;}
#pagetop a img{width: 80px;height:50px;}
#pagetop a:hover {}
/* パンくず */
.breadcrumb{position: absolute;left:0;top:0}
.BreadcrumbList{  padding:0 10px 10px 10px; box-sizing:border-box;  margin:80px 0 0;}
.BreadcrumbList li{ display:inline; font-size:1.2rem; line-height:1.4;font-weight: bold; color: #fff}
.BreadcrumbList li:after { content: ">"; padding: 0 5px;    color: #fff;}
.BreadcrumbList li:last-child:after { content: "";}
.BreadcrumbList li a{font-weight:normal; color: #fff}
.BreadcrumbList li a:hover{ text-decoration:underline}

/* ページャー */


.pager .pagination {margin: 0;padding: 60px 0 0;
  text-align: center;
}

.pager .pagination li {
  display: inline;
  margin: 0 2px;
  padding: 0;
  display: inline-block;
  width: 30px;
  height: 30px;
  text-align: center;
  position: relative;
  border-radius: 10px;
}


.pager .pagination li a{
  vertical-align: middle;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-align: center;
  display:table;
  text-decoration: none;
  -webkit-transition: all 0.3s ease;
  -moz-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all  0.3s ease;
	color: #333
}

.pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active{
  color: #fff;
  background: #333;
}



.js-fade {
    opacity: 0;
    visibility: hidden;
    transform: translateY(50px);
    transition: opacity 1s,visibility 1s, transform 1s;
}

.scroll {
    opacity: 1;
    visibility: visible;
    transform: translateY(0px);
}


/* btn */

a.anchor {
    display: block;
    padding-top: 100px;
    margin-top: -100px;
}


main{clear: both; padding: 20px;}
section{clear: both; padding: 20px;box-sizing: border-box}
section p{font-size: 1.6rem;line-height: 2;font-weight: 400;}

footer{ background:#333;box-sizing: border-box;padding:20px 15px; text-align: center;color: #000;font-size: 1.2rem}
.footer-wrap div ul{text-align:center}
.footer-wrap div ul li{display:inline-block}
.footer-wrap div ul li a{color: #fff;text-decoration: none;font-size: 1.2rem}
.footer-wrap div ul li::before{content: "｜";color: #fff}
.footer-wrap div ul li:first-child::before{content: none;}
.footer-wrap dl{ text-align: left;}
.footer-wrap dl dt img{max-width: 350px;width: 100%;text-align: left;}
.footer-wrap dl dd{margin-left: 95px; padding-bottom: 10px; font-size: 1.4rem;color: #999}
.footer-wrap dl dd img{width: 60px;height: 60px;}
.footer-company-data div,
.footer-company-data dl{max-width: 480px;width: 100%}
.footer-company-data dl dt{padding-bottom: 10px}
.footer-wrap ul.utility-nav{display: flex;justify-content: space-between}
.footer-wrap ul.utility-nav li{ width: 48%;padding:0 20px 10px;box-sizing: border-box;}
.footer-wrap ul.utility-nav li a{display: block;color: #fff; text-decoration: none}
.footer-wrap ul.utility-nav li:first-child{background:url("../img/footer_img01.jpg")center center no-repeat}
.footer-wrap ul.utility-nav li:last-child{background:url("../img/footer_img02.jpg")center center no-repeat}
.footer-wrap ul.utility-nav li div{padding: 20px 0; font-size: 2rem;font-weight:bold; text-align: center}
.footer-wrap ul.utility-nav li div span{display: block;font-size: 1.2rem;color: #cccccc;font-weight:400;}
.footer-wrap ul.utility-nav li p{line-height: 1.4; font-size: 1rem;text-align: left}
footer small{display: block;padding: 20px 0 0; color: #999}

/* header */

header {position: fixed;top: 0; z-index: 10; width: 100%;padding:10px; background: rgba(51,51,51,0.95);box-sizing: border-box}
header a{color: #000;text-decoration: none}

header h1,
.logo{width: 270px; height: auto}
header h1 a,
.logo a{display: inline-block}

/* nav */
.header-tel img,
.header-mail img{max-width: 400px;width: 100%;text-align: center;}
.header-tel,
.header-mail{text-align: center; line-height: 1}



.title-wrap{display: flex;flex-direction: column-reverse;padding: 20px 0 20px 20px}
.title-wrap div{text-align: center}
.title-wrap p{padding: 10px 0; color: #999700;font-size: 1.4rem;font-weight:500;text-align: center}

.txt01{position: relative;top: -45px; padding-left: 15px; color: #fff;font-size: 2.8rem;max-width: 1200px;margin: 0 auto;font-weight: bold}
.txt01 span{display: inline-block; margin-left: 10px;font-size: 1.4rem;font-weight: 400}
.text02{margin-bottom: 20px; background: #333;color: #fff;padding: 10px 15px;font-size: 1.8rem;line-height: 1.4;text-align: left}
.text03{border-left: 10px solid #333;padding:5px 0 5px 15px;font-size: 1.8rem;line-height: 1.6;}
.recruit .text04{color: #5476b9;font-size: 2.2rem ;text-align: center;line-height: 1.6}
.recruit .text04 span{display: inline-block}
.txt03{position: relative;top:20px; padding-left: 15px; color: #fff;font-size: 2.8rem;max-width: 1200px;margin: 0 auto;font-weight: bold}
.txt03 span{display: inline-block; margin-left: 10px;font-size: 1.4rem;font-weight: 400}



.btn01 a{color: #333;font-size: 1.4rem}
.btn02,
.btn02 a {display: inline-block; background: #333; padding: 15px 25px;text-align: center;border-radius: 5px ;font-size: 1.4rem;color: #fff;}
.btn03,
.btn04 a {display: inline-block; border: 2px solid #333;padding: 15px 25px;text-align: center;font-size: 1.4rem}
.btn05 a {display: inline-block; padding: 15px 25px;text-align: center;font-size: 1.4rem;text-decoration: none;color: #fff;background: #2236b3;border-radius: 30px;}

/* お知らせ */
.news-list{}
.news-list li{padding: 10px 0;border-bottom: 1px dotted #ccc}
.news-list li a{display: block; color: #000;text-decoration: none}
.news-list li a div,
.side-news-list li a div,
.side-case-text div{font-weight: 400;}
.news-list li span{font-weight: 600;}

/* メイン画像 */
.main-img-wrap{padding-top: 65%; margin-bottom: 20px; background: url("../img/bg01.jpg") center bottom no-repeat;background-size:cover}


.main-img-wrap02{position: relative;padding-top: 250px; background: url("../img/bg01.jpg")center center no-repeat;background-size:cover;}
.main-img-wrap02::before{content: ""; position: absolute;left: 0;bottom:-30px;width: 65%;height: 130px; background: #313864;}
.main-img-wrap02::after{content: ""; position: absolute;right: 0;bottom:-60px;width: 45%;height: 130px;background:rgba(184,190,227,0.3);}

/* top-title */
.top-main-title{position: relative}
.top-main-title::before{content: ""; position: absolute;left: 0;top:0;width: 65%;height: 130px; background: #313864;}
.top-main-title::after{content: ""; position: absolute;right: 0;top:47px;width: 45%;height: 130px;background:rgba(184,190,227,0.3);}
.right01{position: relative}
.right01::before{content: ""; position: absolute; right: 0;left: unset; width: 65%}
.right01::after{content: ""; position: absolute;left: 0;right: unset; top:38px;width: 45%;}
.right01 .txt03{padding-right: 30px; text-align: right;}


/* 初期状態は透明 */
.animated {
  opacity: 0;
}

/* 一番上だけアニメーション適用 */
.business-top .animated.active {
  animation-duration: 2s;
}
/* 共通のクラスでアニメーション適用 */
.animated.active {opacity: 1;
  animation-duration: 1s;
  animation-fill-mode: forwards; /* アニメーション後に状態を保持 */
}

/* 左からスライドイン */
@keyframes slideInLeft {
  0% { opacity: 0; transform: translateX(-1000px); }
  70% { opacity: 1; transform: translateX(0); }
}
.slideInLeft { animation-name: slideInLeft; }

/* 右からスライドイン */
@keyframes slideInRight {
  0% { opacity: 0; transform: translateX(1000px); }
  70% { opacity: 1; transform: translateX(0); }
}
.slideInRight { animation-name: slideInRight; }

/* フェードイン */
@keyframes fadeIn {
  0% { opacity: 0; }
  100% { opacity: 1; }
}
.fadeIn { animation-name: fadeIn; }



/* 下層コンテンツ */
.contents-wrap01{position: relative;margin-top: -40px;padding: 20px 20px 0;box-sizing: border-box; }
.contents-wrap01 .section-wrap{background: #fff;max-width: 1200px;margin: 0 auto;padding-bottom:40px; box-sizing: border-box}
.contents-wrap01 .section-wrap02{    background: #fff;max-width: 880px;margin: 0 auto; padding-bottom: 40px; box-sizing: border-box;}


/* お問い合わせ.qa */
.contact{padding:20px; box-sizing: border-box;}
.contact-wrap{max-width: 800px; margin:0px auto 40px; background: #fff;border-radius: 10px;}
.again{padding: 10px; font-size: 1.2rem;}
.privacypolicy h2{margin-bottom: 20px; }
.privacypolicy h3{ font-size: 1.4rem;margin-bottom: 10px; }
.privacypolicy p{margin-bottom: 20px; font-size: 1.2rem;line-height: 1.6}
.privacypolicy section{height: 200px; overflow-y: scroll}
.pp-list-wrap ul ul{margin-bottom: 20px;}
.again{padding: 10px;font-size: 1.2rem;}


/* 業務内容 business-top */
.business-top,
.case-top,
.company-top{position: relative;margin-bottom: 90px; padding: 0}
.news-top{position: relative;margin-bottom: 20px; padding: 0}
.business-top .sub-title{position: relative;color: #fff; max-width: 1200px;margin: 0 auto;font-size: 1rem;padding-left: 15px;top:25px;}
.top-contents{position: relative;max-width: 1200px; padding: 20px;margin:40px 20px 20px; box-sizing: border-box;background: #fff}
.business-top ul li{ line-height: 1;text-align: center}
.business-top ul li img{margin-bottom: 15px;}
.business-top ul li h2{margin-bottom: 15px;text-align: left}
.business-top ul li p{margin-bottom: 15px; font-size: 1.4rem;text-align: left}
.side01{position: absolute;right: -15px;top:-7%;max-width:300px;width: 50%; height: auto}
.side02{position: absolute; left: 0; top: -116px; width: 161px;height: auto}
.side03{position: absolute;right: -10px;top:-95px;width:200px; height: auto}
.side04{position: absolute; left: -130px; top: -90px;  width: 280px;height: auto}


/* TOP事例 .case-top */
.case-top ul li{padding: 20px 0; text-align: right}
.case-top ul li h3{padding-bottom: 5px; color: #000;text-align: left;line-height: 1.4}
.case-top ul li a{color: #000;text-decoration: none}
.top-next01{    position: relative;
    display: inline-block;
    padding: 5px 22px 5px 10px;
    color: #333;
    border: 1px solid #333;}
.top-next01::after {
    content: "";
    display: block;
    position: absolute;
    right: 10px;
    top: 14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-color: transparent transparent transparent #333;
    border-width: 4px 0px 4px 6.93px;
}

.news-top .news-list{margin-bottom: 40px}
.bn01{padding: 0 20px 20px; text-align: center;}


/* 会社概要.company-top */
.company-top .sub-title{position: relative;color: #fff; max-width: 1200px;margin: 0 auto;font-size: 1rem;right: 42px;top:25px;text-align: right}
.greeting p{font-size: 1.4rem;line-height: 1.6;margin-bottom: 10px;}
.greeting img{float: left;width: 160px;margin:0 20px 20px 0;}
.company-recruit {clear: both; padding: 20px; box-sizing: border-box; background: #eff1f9;}
.company-recruit h4{color: #3d4999;font-size: 1.6rem;margin-bottom: 10px;}
.company-recruit p{margin-bottom: 20px; font-size: 1.2rem;line-height: 1.6;}

.company{background: #fff}
.company table{ max-width: 600px;margin: 40px auto;border-collapse: collapse;}
.company th, .company td {padding: 20px 0;border-bottom: 1px dotted #ddd;font-size: 1.2rem;line-height: 1.6;box-sizing: border-box }
.company th {min-width: 110px; width: 20%; padding-right: 20px; color: #999700;text-align: right;vertical-align: top }
.company-contents01,
.company-contents02,
.company-contents03,
.company-contents04{margin-bottom: 40px;}
.company-contents02 p{margin-bottom: 20px; font-size: 1.4rem;line-height: 1.6;}
.company-contents03-data{margin-bottom: 40px}
.company-contents03-data table {width: 100%; border-collapse: collapse;}
.company-contents03-data th, .company-contents03-data td { border-bottom: 1px dotted #666;padding: 10px;line-height: 1.6; text-align: left;font-size: 1.4rem;vertical-align: top}
.company-contents03-data th {width: 100px;}
.company-contents02 img{width: 100%;height: auto}
.company-contents03-media dl{line-height: 1.6}
.company-contents03-media dl dt{display: list-item;margin-left: 20px; font-size: 1.4rem;font-weight: bold;list-style-type: disc;}
.company-contents03-media dl dd{margin:0 0 20px 20px; font-size: 1.2rem}
.image-gallery{display: flex;justify-content: space-around;}
.image-gallery li{position: relative}
.image-gallery li::after{content: "";position: absolute;bottom: 0; right: 0;display: block;width: 20px;height: 20px; background: url("../img/zoom.png") right bottom no-repeat;background-size: 20px 20px;}
.image-gallery img {width: 100px;height: 100px;cursor: pointer; transition: transform 0.2s;object-fit: cover;}
.image-gallery img:hover {transform: scale(1.1); }

/* 拡大画像のスタイル */
.overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.8);
	display: flex;
	justify-content: center;
	align-items: center;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease-in-out;
}
.overlay img {max-width: 90%;max-height: 90%;}
.overlay.active {opacity: 1;visibility: visible;}
.timeline dt,
.timeline dd{line-height: 1.6}
.timeline dt {float: left;width: 120px; font-weight: bold;color: #2236b3;text-align: right}
.timeline dd {  margin-left: 130px;padding-left: 25px;padding-bottom: 40px;background: url("../img/dotted.png")left top 6px no-repeat;background-size:12px auto}
.timeline dd:last-child{padding-bottom:0;background: url("../img/dotted2.png")left top 6px no-repeat;background-size:12px auto}
.recruit-type{display: flex; flex-wrap: wrap;margin-bottom: 40px}
.recruit-type li{width:50%;box-sizing: border-box; font-size: 1.4rem;text-align: center;line-height: 1.4}
.recruit-type li .type{display: inline-block;border-radius: 20px;padding: 2px 8px; background: #5476b9;color: #fff;font-weight: bold}
.recruit-type li span{display:block;font-size: 1.2rem;}
.recruit-type li a{text-decoration: none;color: #333}
.message p{margin-bottom: 20px; font-size: 1.4rem;line-height: 1.6}
.recruit-nav{display: flex;justify-content: space-around; flex-wrap: wrap; margin-bottom: 20px;}
.recruit-nav li{width: 47%;font-size: 1.2rem;line-height: 1.2;margin-bottom: 10px}
.recruit-nav li span{display: inline-block}
.recruit-nav li a{display: block; text-decoration: none;text-align: center; color: #000;background: #fff;border: 1px solid #000;padding: 5px 0px }
.message-top{ margin-bottom: 40px; font-size: 2.6rem;font-weight: 900;line-height: 1.6}
.job-list{margin-bottom: 30px;}
.job-img{max-height: 150px;}
.table-type{width: 100%;margin: 0px 0 100px}
.table-type th,
.table-type td{line-height: 1.4;vertical-align: top;}
.table-type th{font-size: 1.8rem;}
.table-type td{font-size: 1.4rem;}
.schedule {
    position: relative;
    font-size: 14px;
}
.schedule::before {
    position: absolute;
    top: 0px;
    left: 6.5em;
    width: 6px;
    height: 100%;
    background-color: #deeef7;
    content: "";
}

.schedule ul {
    padding: 0px;
    margin: 0 0 60px;
    list-style: none;
}

.schedule li {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}
.schedule li + li {
    margin-top: 2em;
}

.schedule_time {
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    width: 5em;
    height: 2em;
    border-radius: 6px;
    background-color: #3388dd;
    color: #fff;
    text-align: center
}
.schedule_time::before {
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateX(50%) translateY(-50%) rotate(45deg);
    width: 0.5em;
    height: 0.5em;
    z-index: -1;
    background-color: #3388dd;
    content: "";
}
.schedule_time::after {
    position: absolute;
    top: 50%;
    left: 6em;
    transform: translateY(-50%);
    width: 1em;
    height: 1em;
    border: 2px solid #fff;
    border-radius: 50%;
    background-color: #3388dd;
    content: "";
}

.schedule_content_title {
    font-weight: bold;
}

.schedule_content {
    margin: 0px 0px 0px 3em;
    width: calc(100% - 10em);
}
.schedule_content_detail p{font-size: 1.2rem;line-height: 1.4}
.license{margin-bottom: 60px}
.license p{line-height: 1.4;font-size:1.4rem }
.license h3 span{background:#5476b9;color: #fff;padding: 5px;font-size: 1.2rem;margin-right: 10px;}
.license ol{list-style: none;margin:20px 0;padding: 0}
.license ol li ul{margin: 10px 0 40px;}
.license ol li ul li{margin-left: 85px;list-style-type: disc;}



@media screen and (max-width: 767px){
.table-type th,
.table-type td{ display: block;width: 100%;word-break: break-all;text-align: left}
.table-type th{padding:15px 10px 0;}
.table-type td{border-bottom: 1px dashed #ddd;padding: 10px 10px 15px;}
}

@media screen and (min-width: 768px){
.main-img-wrap02{padding-top:300px;}
.main-img-wrap02::before{width: 50%;}
.main-img-wrap02::after{width: 60%;}
	.txt01{padding-left:30px;}
	.contents-wrap01{padding: 30px 30px 0;}
    .form-item {display: flex;align-items: baseline;max-width: 480px; margin: 0 auto; }
	.c-flex .form-item-body{width: 100%}
	.form-item-name{width: 160px}
	.form-item-body{width: calc(100% - 160px)}
	.main-img-wrap{padding-top: 50%;}

.top-main-title::before {width: 50%;}
.top-main-title::after {width: 60%;}
	
.txt03 {padding-left: 30px; }
.business-top .sub-title{font-size: 1.2rem;padding-left: 30px;}
.top-contents{margin:40px 30px 30px}
.business-top ul{display: flex;justify-content: space-between}
.business-top ul li{width: 31%;}
	.side01{top: -280px; max-width: 400px;  }
	.side02{left: 0; top: -192px; width: 268px;}
	.side03{top:-154px;width:340px; }
	.side04{left: 0; top: -165px; width: 450px;}

	
	.case-top ul{display: flex; justify-content: space-between;margin-bottom: 20px}
	.case-top ul li {width: 47%}
	   .case-top .case-list li a div img {
        overflow: hidden;
        max-height: 180px;
        width: 100%;
        height: 180px;
        object-fit: cover;
    }

	
	
.news-top .news-list li{padding: 15px 0;font-size: 1.6rem}
.news-top .news-list li a{display: flex}
.news-top .news-list li a span{width: 130px}
.news-top .news-list li a div{width: calc(100% - 130px);}
.bn01{padding: 0 30px 60px;}

/* 会社概要 */
.side04 {left: 0; top: -132px; width: 343px;}
.company-recruit p{font-size: 1.4rem;}

.image-gallery img{width: 120px; height: 120px;}
.timeline dt {width: 150px;}
.timeline dd {margin-left: 180px;padding-left: 40px;padding-bottom: 40px;}

	/* recruit*/
	.recruit-type {margin-bottom:80px}
	.recruit-type li{width: 25%;}
	.recruit-nav,
	.recruit h1{margin-bottom: 40px}
.recruit-nav li a{padding: 10px;font-size: 1.4rem}
	.recruit-nav li:first-child{border-left:1px solid #000;box-sizing: border-box}
	.recruit-nav li{width: 25%;}
	.recruit-nav li a{border-left: none;}
	.message-top{font-size: 3.6rem;}
	.recruit .text04{font-size: 3.2rem ;}
	.table-type {margin: 20px 0 100px;}
.table-type th,
	.table-type td{line-height: 1.6}
	.table-type th{width: 200px; text-align: left;border-bottom: 1px dashed #ddd;padding:15px 10px;font-size: 1.6rem}
.table-type td{border-bottom: 1px dashed #ddd;padding:  15px 10px;}
	.recruit-type li span{margin-top: 10px; font-size: 1.4rem}
	.schedule_content_detail p{font-size: 1.4rem;line-height: 1.6}
	.schedule_content_title{font-size: 1.8rem}
	.license ol li ul li{font-size: 1.6rem}
	.message p,
	.license p{margin-bottom: 40px; font-size: 1.6rem	}
	.recruit h2,
.recruit .text04{ margin-top: 40px;}

}

@media screen and (max-width: 961px){
}


@media screen and (min-width: 961px){
	
a {color: #282828;transition: 1.0s;}
a{ transition: opacity 0.5s ease-out;}
a:hover{opacity: .7}
a[href*="tel:"] {pointer-events: none;cursor: default;text-decoration: none;}
.title-wrap div{margin-bottom: 40px;}
	
.header-wrap{display: flex; justify-content: space-between;align-items: center;	}
.hamburger-nav-list > li a span{display: block; margin:-50px 0 0 0;}
.header-tel img,
.header-mail img{width:180px;}
.header-tel{position: absolute;right: 20px;top: -5px}
.header-mail{position: absolute;right: 20px; top: 40px}
.Nav{margin-right:23%;	}
footer{padding: 60px 40px 20px}
.footer-wrap div ul{padding-bottom: 40px;}
.footer-wrap{display: flex;justify-content: space-around;max-width: 1260px;margin: 0 auto}
.footer-wrap div ul li a{font-size: 1.4rem}
.footer-wrap ul.utility-nav li div{padding:40px 0; font-size: 3rem;}
.footer-wrap ul.utility-nav li div span{font-size: 1.4rem;}
.footer-wrap ul.utility-nav li p{padding: 0 30px 30px;box-sizing: border-box; line-height: 1.6; font-size: 1.2rem;}
.footer-wrap ul.utility-nav li{max-width: 300px; width: 48%;padding:0 10px 10px;box-sizing: border-box;
-webkit-transition: all .3s ease-out;
-moz-transition: all .3s ease-out;
-ms-transition: all .3s ease-out;
transition: all .3s ease-out;
	}
.footer-wrap ul.utility-nav li:last-child{margin-left: 40px}
.footer-wrap dl{position: relative}
.footer-wrap .inst{text-align: right;margin-right: 20px}
.footer-wrap dl dd img{width: 40px;height:40px;}
.footer-wrap ul.utility-nav li:hover{opacity: .8}
	.main-img-wrap02{padding-top: 600px;background: url(../img/bg01.jpg) center bottom no-repeat;background-size:  cover}
.main-img-wrap02::before{height: 350px;bottom: -60px;}
.main-img-wrap02::after{height: 400px;bottom: -200px;}
	.txt01{font-size: 4.8rem;top: -175px}
	.txt01 span{font-size:1.8rem;margin-left: 40px}
	.contents-wrap01{margin-top: -140px}
	.breadcrumb{left:20px;top:40px}
	.pager .pagination li{font-size: 1.6rem	}
	
	
.top-main-title::after { height: 400px;top:110px; }
.top-main-title::before {height: 350px;top:0;}
.right01::after {top:100px; }
.txt03 {font-size: 4.8rem;top: 60px; }
.txt03 span {font-size: 1.8rem; margin-left: 40px;}
.business-top .sub-title{font-size: 1.4rem;top:80px;}
.main-img-wrap{margin-bottom: 90px;}
.top-contents{margin: 140px 30px 50px}
.business-top{margin-bottom: 90px;}
.business-top ul li{width: 30%;}
.side01{top: -420px;width:600px;max-width: none }
.side02{left: 58px;top: -316px; width:440px;}
.side04{left: -55px;top: -265px; width:640px;}
.side03 {top: -278px; width: 560px;}

.case-top .case-list li a div img {
        max-height: 380px;
        height: 380px;
        object-fit: cover;
    }
	
	
/* お問い合わせ */
.wrap01 .contact,
.wrap01 .recruit{padding: 50px;box-sizing: border-box}
	
.company-top .sub-title{font-size: 1.4rem;top:80px;right: 100px}
 .side04 { left: -55px;top: -265px; width: 640px;    }
	
.company-contents01{position: relative}
.greeting{margin-left: 310px;}
.greeting img{position: absolute;left: 0;top: 0;width: 290px}
.company-recruit{margin-left: 310px}
.company-recruit .btn05{text-align: right	}
.greeting p{font-size: 1.6rem}
.company-recruit h4{font-size: 1.8rem;margin-bottom: 20px}
.company-contents02 p{font-size: 1.6rem;}
.company-contents01,
.company-contents02,
.company-contents04{margin-bottom: 60px;}
.company-contents03{display: flex;justify-content: space-between;margin-bottom: 40px}
.company-contents03-data,
.company-contents03-media{width: 47%}
	.company-contents03-data th,
	.company-contents03-data td{font-size: 1.6rem}
.company-contents03-media dl dt{font-size: 1.6rem}
.company-contents03-media dl dd{margin-bottom: 40px;font-size: 1.4rem}
.timeline dt,
.timeline dd {font-size: 1.6rem}
.timeline{  width: 820px;margin: 40px auto;}
	.type{margin-bottom: 5px}
.recruit-type li{font-size: 1.6rem	}
.recruit-type li span{font-size: 1.4rem	}
	.bn01{padding-bottom: 80px	}
}

@media screen and (min-width: 1024px) {
a.anchor {
    display: block;
    padding-top: 140px;
    margin-top: -140px;
}
	a{transition: all .3s;}
	a:hover{opacity: .75}
	a[href*="tel:"] {pointer-events: none;cursor: default;}

	.Nav ul li a:after{display: block; margin-left:0; text-align: center;}
	.Nav ul li a:hover{opacity: .7}
.top-contents{padding: 50px;}


}

@media screen and (min-width: 1200px){
.footer-wrap .inst{margin-top: -30px}
.BreadcrumbList{  margin-top:70px;}
.top-contents{margin: 140px auto 50px}
.bn01{padding: 0 0 80px;}
.company-top .sub-title{right: 67px}
		.image-gallery img{width: 150px; height: 150px;}
.side01{top:-70%;width:730px;max-width: none }
.side04{left: 0;top: -306px; width:760px;}
	.bn01{padding-bottom: 120px	}

}

@media screen and (min-width: 1260px){

}

@media screen and (min-width: 1366px){
header h1, .logo{max-width: 350px;width: 100%;}

}
