*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}:where([hidden]:not([hidden='until-found'])){display:none!important}:where(html){-webkit-text-size-adjust:none;color-scheme:dark light;tab-size:2;scrollbar-gutter:stable;interpolate-size:allow-keywords;line-height:1.5}:where(html:has(dialog:modal[open])){overflow:clip}@media (prefers-reduced-motion:no-preference){:where(html:focus-within){scroll-behavior:smooth}}:where(body){line-height:inherit;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit;letter-spacing:inherit;word-spacing:inherit;font-feature-settings:inherit;font-variation-settings:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled,label:has(>:disabled,+disabled)){cursor:not-allowed}:where(a){color:inherit;text-underline-offset:.2ex}:where(ul,ol){list-style:none}:where(img,svg,video,canvas,audio,iframe,embed,object){display:block}:where(img,picture,svg,video){max-inline-size:100%;block-size:auto}:where(p,h1,h2,h3,h4,h5,h6){overflow-wrap:break-word}:where(h1,h2,h3){line-height:calc(1em + 0.5rem);text-wrap:balance}:where(hr){border:none;border-block-start:1px solid;color:inherit;block-size:0;overflow:visible}:where(dialog,[popover]){border:none;background:none;color:inherit;inset:unset;max-width:unset;max-height:unset;overflow:unset}:where(dialog:not([open],[popover]),[popover]:not(:popover-open)){display:none!important}:where(:focus-visible){outline:3px solid CanvasText;box-shadow:0 0 0 5px Canvas;outline-offset:1px}:where(:focus-visible,:target){scroll-margin-block:8vh}:where(.visually-hidden:not(:focus-within,:active)){clip-path:inset(50%)!important;height:1px!important;width:1px!important;overflow:hidden!important;position:absolute!important;white-space:nowrap!important;border:0!important;user-select:none!important}

:root {
  --prymary-color: #757d85;
}
html {
  background-color: #fff;
}
body {
  font-family: Hiragino Kaku Gothic ProN, 'メイリオ', sans-serif;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .02em;
  color: #464646;
  overflow-wrap: break-word;
}
@media screen and (width <= 768px) {
  .pcDisp { display: none;}
  body { font-size: 0.875rem;}
}
@media screen and (width > 768px) {
  body {min-width: calc(1040px + 2rem); }
  .spDisp { display: none;}
}

/* ----- template-shimadzu */
/* header */
.siteHeader {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 68px;
  border-top: 3px solid #adadad;
  background-color: #fff;
  transition: height 360ms cubic-bezier(.075,.82,.165,1);
  z-index: 2;
}
.siteHeader::before {
  background-color: #65702B;
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  top: -3px;
  width: 20px;
}

.breadcrumb {
  position: relative;
  border-bottom: 1px solid #d8d8d8;
  background-color: #f5f5f5;
  font-weight: 700;
}
.breadcrumb::before {
  background-color: #d8d8d8;
  bottom: 0;
  content: '';
  display: block;
  left: 0;
  width: 1rem;
  position: absolute;
  right: 50%;
  top: 0;
}
.breadcrumb > ul {
  display: flex;
  max-width: calc(1040px + 2rem);
  margin-inline: auto;
  padding: 0 1rem;
  font-size: .6875rem;
  overflow: hidden;
}
.breadcrumb a,
.breadcrumb span {
  display: block;
  padding: .4em 1.7em .2em 2.4em;
  text-decoration: none;
  position: relative;
}
.breadcrumb a:hover {
  text-decoration: underline;
}
.breadcrumb a::before {
  content: "";
        position: absolute;
        top: -1px;
  border-bottom: 1.2857em solid transparent;
  border-left: 1.2857em solid #d8d8d8;
  border-top: 1.2857em solid transparent;
  right: -1.1428em;
}
.breadcrumb a::after {
  content: "";
  position: absolute;
  top: -1px;
  border-bottom: 1.2857em solid transparent;
  border-left: 1.2857em solid #f5f5f5;
  border-top: 1.2857em solid transparent;
  right: -1.0714em;
}

.breadcrumb > ul > li:first-child > a {
  background-color: #d8d8d8;
  padding-left: 0;
  padding-right: 1.5714em;
}
.breadcrumb > ul > li:first-child > a::after {
  border-bottom: 1.2142em solid transparent;
  border-left: 1.2142em solid #d8d8d8;
  border-top: 1.2142em solid transparent;
  position: absolute;
  top: 0;
  right: -1.1428em;

}

@media screen and (768px >= width) {
  .logo-group {
    padding: 12px 10px;
    text-align: right;
    background-color: #ebebeb;
  }
  .siteHeader_logo {
    display: block;
    margin-top: 17px;
    margin-left: 17px;
  }
  .logo-shimadzu {
    width: 140px;
    /* height: 30px; */
  }
  .logo-group img{
    display: block;
    margin-left: auto;
    height: 12px;
  }
}
@media screen and (768px < width) {
  .siteHeader {
    height: 88px;
    border-top-width: 5px;
    border-bottom: 1px solid #d8d8d8;
  }
  .siteHeader::before {
    height: 5px;
    top: -5px;
    width: 30px;
  }
  .siteHeader_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    width: 1040px;
    margin-inline: auto;
  }
  .siteHeader_logo {
    position: relative;
    display: flex;
    margin-top: 18px;
    margin-left: 30px;
    padding: 3px 0;
    column-gap: 31px;
  }
  .logo-shimadzu {
    width: 172px;
    /* height: 36px; */
  }
  .logo-shimadzu #statement {
    opacity: 1;
    transition: opacity 360ms cubic-bezier(.075,.82,.165,1);
  }
  .logo-group {
    width: auto;
    height: 23px;
  }
  .logo-group::before {
    position: absolute;
    top: 0;
    left: 187px;
    display: block;
    width: 1px;
    height: 42px;
    background-color: #adadad;
    content: '';
  }
  .siteHeader_link {
    display: flex;
    margin-top: 10px;
    font-size: 0.75rem;
    font-weight: 700;
    line-height: 1;
  }
  .siteHeader_link li > img {
    display: inline-block;
    margin-right: .5em;
    vertical-align: middle;
  }
  .siteHeader_link li > a {
    vertical-align: middle;
    text-decoration: none;
  }
  .siteHeader_link li > a:hover {
    text-decoration: underline;
  }
  .siteHeader_link li + li {
    margin-left: 20px;
  }

  .siteHeader.is-scroll {
    height: 74px;
  }

  .is-scroll .logo-shimadzu #statement {
    opacity: 0;
  }
  .is-scroll .siteHeader_link {
    margin-top: 22px;
  }

  .breadcrumb::before {
    width: calc((100% - 1040px) / 2);
  }
  .breadcrumb > ul {
    font-size: .875rem;
  }

}

/* footer */
.siteFooter {
  position: relative;
  border-top: 5px solid #adadad;
}
.siteFooter::before {
  background-color: #65702B;
  content: "";
  height: 5px;
  left: 0;
  position: absolute;
  top: -5px;
  width: 30px;
}

@media screen and (768px >= width) {
  .siteFooter_link {
    background-color: #d8d8d8;
    font-size: 0.75rem;
  }
  .siteFooter_link a {
    position: relative;
    display: block;
    padding: 25px 20px;
    border-bottom: 1px solid #adadad;
    text-decoration: none;
    text-align: center;
  }
  .siteFooter_link a::after {
    position: absolute;
    top: 45%;
    right: 20px;
    display: inline-block;
    width: 8px;
    height: 8px;
    border-top: solid 1px #dd0000;
    border-right: solid 1px #dd0000;
    transform: rotate(45deg);
    content: '';
  }
  .siteFooter-copyright {
    padding: 16px 20px 28px;
    line-height: 1;
    font-size: 0.625rem;
    letter-spacing: normal;
    text-align: center;
    color: #adadad;
    font-family: Arial, Helvetica, sans-serif;
  }
  .pageTop {
    padding-bottom: 17px;
    text-align: center;
  }
  .pageTop a::before {
    display: inline-block;
    width: 22px;
    height: 22px;
    position: relative;
    border: 0;
    border-right: solid 1px #080808;
    border-top: solid 1px #080808;
    transform: rotate(-45deg);
    content: '';
  }
  .pageTop img{ display: none;}
}
@media screen and (768px < width) {
  .siteFooter {
    background-color: #ebebeb;
  }
  .siteFooter_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 1040px;
    margin-inline: auto;
    padding: 11px 0 14px;
  }
  .siteFooter_link {
    display: flex;
    font-size: 0.8125rem;
    line-height: 1;
  }
  .siteFooter_link > li {
    padding: 0 15px;
    border-right: 1px solid #080808;
  }
  .siteFooter_link > li:first-child {
    border-left: 1px solid #080808;
  }
  .siteFooter_link a {
    color: #004ecc;
    text-decoration: none;
  }
  .siteFooter_link a:hover {
    text-decoration: underline;
  }

  .siteFooter-copyright {
    line-height: 1;
    font-size: 0.75rem;
    letter-spacing: normal;
    color: #666;
    font-family: Arial, Helvetica, sans-serif;
  }
  .pageTop {
    position: fixed;
    bottom: 90px;
    left: 50%;
    transform: translateX(570px);
    opacity: 0;
    transition: opacity 360ms cubic-bezier(.075,.82,.165,1);
  }
  .pageTop.is-scroll {
    opacity: 1;
    transition: opacity 400ms cubic-bezier(.075,.82,.165,1);
  }
}

/* -----  contents*/
.main {
  margin-inline: auto;
  padding: 3rem 1rem 8rem;
}
.main > article + article {
  margin-top: 6rem;
}
.mod-h2 {
  font-size: 1.25rem;
  margin-bottom: 1.6em;
  letter-spacing: .2em;
  line-height: 1;
  display: flex;
  align-items: flex-end;
}
.mod-h2::after {
  content: attr(data-en);
	display: inline-block;
	color: var(--prymary-color);
	font-size: .6875rem;
  letter-spacing: 0.06em;
  margin-left: 1em;
  margin-bottom: .2em;
  border-left: 1px solid #adadad;
  padding-left: 1em;
  vertical-align: bottom;
}
.mod-h2.has-border {
  padding-bottom: .5em;
  border-bottom: 1px solid #d8d8d8;
}
.mod-h3 {
  position: relative;
  margin-bottom: 1.2em;
  letter-spacing: .1em;
  padding-right: 5em;
  border-bottom: 1px solid #d8d8d8;
  font-size: 1rem;
}

a.mod-txtLink01 {
  text-decoration: underline;
}
a.mod-txtLink01:hover {
  text-decoration: none;
}

.mod-ul > li {
  position: relative;
  padding-left: 1.2em;
}
.mod-ul > li:before {
  position: absolute;
  left: 0;
  display: block;
  content: '・';
}
.mod-table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}
.mod-table th,
.mod-table td {
  padding: 1em 2em;
  text-align: left;
  vertical-align: top;
  border: 1px solid #d8d8d8;
}
.mod-table th {
  background-color: #ebebeb;
}


.sec_title {
  /* background: #dadada; */
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  /* background-image: radial-gradient( circle farthest-corner at 10% 20%,  rgba(202,248,255,1) 0%, rgba(186,204,227,1) 51.2%, rgba(117,144,179,1) 100.1% ); */
  color: #fff;
  background-image: radial-gradient( circle farthest-corner at 10% 20%, #189193 42%, #2aa380 93.6% );
}
.sec_title_container {
  align-items: center;
  padding: 2rem 1rem;
}
.sec_title h1 {
  display: inline-block;
  font-size: 1.25rem;
  line-height: 1.5;
  margin-bottom: 1em;
}

.worksList {
  display: flex;
  gap: 2.4rem 1.2rem;
  flex-wrap: wrap;
  margin-top: 2rem;
}
.worksList + .worksList { margin-top: 4rem;}

.worksList.sp-2col .worksList-item {
  width: calc((100% - 1.2rem)/2);
}
.worksList-item figcaption {
  margin-top: 1em;
  padding: 0 .8em;
  font-size: 0.8125rem;
  line-height: 1.3;
}
.worksList-icon {
  display: inline-block;
  width: fit-content;
  /* border: 1px solid #adadad; */
  margin-right: .7em;
  font-size: 0.6875rem;
  padding: .4em 1em;
  line-height: 1;
  border-radius: 1.2em;
  letter-spacing: normal;
  margin-bottom: .6em;
  background-color: var(--prymary-color);
  color: #fff;
}
.worksList .worksList { gap: 1.2rem;}
.worksList a {
  display: block;
}
.worksList a:hover img{
  opacity: .8;
}
.worksList .ic-win {
  display: inline-block;
  margin-left: .4em;
}
.recruit_feeTable {
  display: grid;
  grid-template-columns: 7em 1fr;
}
.recruit_feeTable > dt {
  position: relative;
  padding-left: 1.2em;
}
.recruit_feeTable > dt::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '・';
}
.recruit_feeTable > dt::after {
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  content: '：';
}

@media screen and (768px < width) {
  .main {
    width: calc(1040px + 2rem) ;
  }
  .mod-h2 {
    font-size: 1.625rem;
  }
  .mod-h2::after {
    font-size: .8125rem;
  }
  .mod-h3 {
    font-size: 1.125rem;
  }

  .sec_title {
    min-height: 200px;
  }
  .sec_title_container {
    display: grid;
    grid-template-columns: 1fr 3fr;
    gap: 2rem;
    max-width: calc(1040px + 2rem);
    margin-inline: auto;
    /* color: #21282d; */
    align-items: center;
    padding: 1rem;
  }
  .sec_title h1 {
    margin-bottom: 0;
    font-size: 1.5rem;
    line-height: 1.5;
    border: none;
  }

  .worksList { gap: 4rem 2rem; }

  .worksList.pc-2col .worksList-item {
    width: calc((100% - 2rem)/2);
  }
  .worksList.pc-3col .worksList-item {
    width: calc((100% - 4rem)/3);
  }
  .worksList.pc-4col .worksList-item {
    width: calc((100% - 6rem)/4);
  }
  .worksList-item figcaption {
    font-size: 0.875rem;
  }
  .worksList .worksList { gap: 2rem;}

}

.sec_cta {
  display: grid;
  gap: 1.5em;
  margin-top: 3rem;
}
.cta__btnArea {
  width: fit-content;
  margin-inline: auto;
}
.sec_cta > p { text-align: center;}
.sec_cta .fs-sm {
  display: inline-block;
  margin-top: .8em;
  font-size: 0.8125rem;
}
.sec_cta > p img { display: inline-block;}

.cta__btn {
  position: relative;
  display: block;
  width: fit-content;
  margin-inline: auto;
  padding: .8em 3em;
  border-radius: 4px;
  font-size: 1.25rem;
  color: #fff;
  text-decoration: none;
}
.cta__btn::before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background-image: radial-gradient( circle farthest-corner at 10% 20%, #189193 42%, #2aa380 93.6% );
  content: '';
  z-index: -1;
  transition: opacity .2s ease-in-out;
}
.cta__btn::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  background-image: radial-gradient( circle farthest-corner at 10% 20%, #13b083 42%, #0b999b 93.6% );
  content: '';
  z-index: -2;
}
.cta__btn:hover::before {
  opacity: 0;
}
.cta__btn .ic-win {
  display: inline-block;
  margin-left: .2em;
  margin-bottom:.1em
}
