/*reset*/
*,*::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}: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:1.5;font-family:system-ui,sans-serif;-webkit-font-smoothing:antialiased}:where(button){all:unset}:where(input,button,textarea,select){font:inherit;color:inherit}:where(textarea){resize:vertical;resize:block}:where(button,label,select,summary,[role='button'],[role='option']){cursor:pointer}:where(:disabled){cursor:not-allowed}:where(label:has(>input:disabled),label:has(+input: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){border:none;background:none;inset:unset;max-width:unset;max-height:unset}:where(dialog:not([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}

/*variable*/
:root{
  --color-black: #000000;
  --color-light-black: #403937;
  --color-gray: #969696;
  --color-white: #ffffff;
  --color-primary: #078084;
  --color-secondary: #78C2B8;
  --color-gradient-green-to-gray: linear-gradient(to right, #63B19E, #CBCCCC);
  --color-gradient-green-to-white: linear-gradient(to right, rgba(145, 222, 202, 0.85), rgba(255, 255, 255, 0.85));

  --contents-width: 1300px;

  --font-family-mincho: "Shippori Mincho B1", serif;
  --font-family-gothic: "IBM Plex Sans JP", sans-serif;
  --font-family-en: "Playwrite DE Grund", cursive;
}

/*-------------------------------------*/
/*base*/
/*-------------------------------------*/
*::-webkit-scrollbar {
  display: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: var(--font-family-gothic);
  color: var(--color-black);
  background-color: var(--color-white);
  font-size: 16px;
  line-height: 1.5;
  overflow-x: clip;
}

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

svg {
  width: 100%;
  height: auto;
}

button {
  cursor: pointer;
}

button:disabled {
  cursor: auto;
}

/*iPhoneの文字サイズ*/
body {
  -webkit-text-size-adjust: 100%;
}

ul{
  padding: 0;
}

li{
  list-style: none;
}

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

button{
  background-color: transparent;
  border: none;
  padding: 0;
  color: inherit;
}

:where(dialog) {
  width: unset;
  max-width: unset;
  height: unset;
  max-height: unset;
  padding: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

a {
  transition: opacity .3s;
}

a:focus-visible {
  opacity: .6;
}

@media (any-hover: hover) {
  a:hover {
    opacity: .6;
  }
}

/*-------------------------------------*/
/*common*/
/*-------------------------------------*/
.contents-width{
  margin: 0 auto;
  width: min(var(--contents-width), 100%);
}

/*-------------------------------------*/
/*header*/
/*-------------------------------------*/
/*header*/
.header{
  position: absolute/*fixed上部固定*/;
  top: 0;
  left: 0;
  width: 100%;
  display: grid;
  justify-items: center;
  z-index: 100;
}

.header__inner{
  padding-left: 6px;
  width: min(var(--contents-width), 100%);
  display: grid;
  grid-template-columns: 250px 1fr;
}

.header__logo{
  margin-top: min(24px, calc(24 / 1300 * 100vw));
}
.header__logo img{
  width: 100%;
}

.header__hamburger-button{
  display: block;
  width: max(40px, calc(80 / 1940 * 100vw));
  height: max(18px,  calc(36 / 1940 * 100vw));
  position: fixed;
  top:  18px;
  right:  16px;
}

.header__hamburger-bar {
  position: absolute;
  width: 100%;
  height: max(2px, calc(4 / 1940 * 100vw));
  background-color: var(--color-primary);
  transform: translate(-50%, 0);
  transition: transform .3s, opacity .3s, background-color .3s;
}

.is-open .header__hamburger-bar {
  background-color: var(--color-white);
}

.header__hamburger-bar--top{
  top: 0;
  left: 50%;
}

.header__hamburger-bar--mid{
  top: 50%;
  left: 50%;
}

.header__hamburger-bar--bottom{
  top: 100%;
  left: 50%;
}

.is-open .header__hamburger-bar--top{
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.is-open .header__hamburger-bar--mid{
  opacity: 0;
}

.is-open .header__hamburger-bar--bottom{
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/*nav*/
.nav {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s, visibility 0.3s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100lvh;
  background-color: var(--color-primary);
  padding: 60px 16px;
}

.nav.is-open{
  opacity: 1;
  visibility: visible;
  overflow-y: auto;
}

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

.nav__item{
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.02em;
  position: relative;
  color: var(--color-white);
}

.nav__item > a{
  display: block;
  padding: 12px 4px;
  border-bottom: 1px solid;
}

.nav__icon--contact{
  display: none;
}

.nav__subnav {
  margin-top: 16px;
  display: grid;
  padding: 0 24px;
}

.nav__subnav-icon{
  display: none;
}

.nav__subnav-item{
  padding: 8px 0;
  display: grid;
  font-size: 14px;
  font-weight: 600;
  color: var(--color-white);
}

.nav__item--has-subnav:focus-visible .nav__subnav-wrapper {
  opacity: 1;
  visibility: visible;
}

@media (any-hover: hover) {
  .nav__item--has-subnav:hover .nav__subnav-wrapper {
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (min-width: 768px) {
  .header__inner{
    grid-template-columns: min(400px, calc(400 / 1300 * 100vw)) 1fr;
  }
  .header__logo{
    margin-top: min(10px, calc(10 / 1300 * 100vw));
  }
  .header__hamburger-button{
    display: none;
  }
  .nav {
    opacity: 1;
    visibility: visible;
    display: grid;
    justify-items: flex-end;
    position: static;
    width: auto;
    height: auto;
    background-color: inherit;
    padding: 0;
  }
  .nav__list{
    height: min(94px, calc(94 / 1300 * 100vw));
    flex-direction: row;
    gap: min(66px, calc(66 / 1300 * 100vw));
    align-items: center;
  }
  .nav__item{
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.02em;
    position: relative;
    color: var(--color-black);
  }
  .nav__item > a{
    display: grid;
    padding: 0;
    border-bottom: none;
  }
  .nav__item--top{
    display: none;
  }
  .nav__subnav-wrapper{
    transition: opacity .3s, visibility .3s;
    opacity: 0;
    visibility: hidden;
  }
  .nav__subnav-icon{
    display: block;
    margin: 6px auto 0;
    width: 12px;
  }
  .nav__subnav {
    min-width: 146px;
    position: absolute;
    top: calc(100% + 20px);
    left: 50%;
    transform: translateX(-50%);
    display: grid;
    border-top: 4px solid var(--color-light-black);
    background-color: var(--color-primary);
    margin-top: 0;
    padding: 0 16px;
  }
  .nav__subnav-item{
    padding: 16px 0;
    display: grid;
    font-size: 14px;
    font-weight: 600;
    color: var(--color-white);
    white-space: nowrap;
  }
  .nav__subnav-item:not(:first-of-type){
    border-top: 1px solid var(--color-white);
  }
  .nav__item--contact{
    width: 136px;
    height: 100%;
    background-color: var(--color-primary);
    color: var(--color-white);
  }
  .nav__link--contact{
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
  }
  .nav__link--contact-inner{
    display: grid;
    place-items: center;
    gap: 10px;
  }
  .nav__icon--contact{
    display: block;
    width: 24px;
  }
}

/*-------------------------------------*/
/*footer*/
/*-------------------------------------*/
.footer{
  color: var(--color-white);
}

.footer__map{
  height: 200px;
}

.footer__map iframe{
  width: 100%;
  height: 100%;
}

.footer__contents{
  padding-top: 20px;
  position: relative;
}

.footer__inner{
  padding: 0 40px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.footer__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
}

.footer__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.footer__logo{
  display: block;
  width: 280px;
  margin-left: auto;
  margin-right: auto;
}

.footer__address{
  margin-top: 10px;
  font-size: 12px;
  line-height: 20px;
}

.footer__nav{
  display: grid;
  gap: 10px;
}

.footer__nav-link{
  display: block;
  font-size: 14px;
  line-height: 20px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.footer__nav-link:not(:first-of-type){
  margin-top: 10px;
}

.footer__sub-nav{
  margin-top: 8px;
  padding-left: 12px;
  display: grid;
  gap: 4px;
}

.footer__sub-link{
  font-size: 11px;
  line-height: 20px;
  font-weight: 500;
}

.footer__company{
  margin-top: 10px;
  padding: 0 16px;
}

.footer__company img{
  width: 100%;
  max-width: 1100px;
}

.footer__copyright{
  margin-top: -4px;
  height: 20px;
  display: grid;
  place-items: center;
  background-color: var(--color-primary);
  position: relative;
  z-index: 1;
}

.footer__copyright-text{
  font-size: 12px;
}

@media screen and (min-width: 1024px) {
  .footer__map{
    height: min(415px, calc(415 / 1300 * 100vw));
  }
  .footer__contents{
    padding-top: min(40px, calc(40 / 1300 * 100vw));
  }
  .footer__inner{
    padding: 0 min(80px, calc(80 / 1300 * 100vw));
    display: grid;
    grid-template-columns: auto auto;
    justify-content: space-between;
  }
  .footer__logo{
    width: min(300px, calc(300 / 1300 * 100vw));
  }
  .footer__address{
    margin-top: min(20px, calc(20 / 1300 * 100vw));
    font-size: min(15px, calc(15 / 768 * 100vw));
    line-height: min(24px, calc(24 / 768 * 100vw));
  }
  .footer__address-phone{
    pointer-events: none;
  }
  .footer__nav{
    display: flex;
    gap: min(60px, calc(60 / 1300 * 100vw));
  }
  .footer__nav-link{
    font-size: min(13px, calc(13 / 768 * 100vw));
    line-height: min(22px, calc(22 / 768 * 100vw));
  }
  .footer__nav-link:not(:first-of-type){
    margin-top: min(20px, calc(20 / 1300 * 100vw));
  }
  .footer__sub-nav{
    margin-top: min(10px, calc(10 / 1300 * 100vw));
    padding-left: 0;
    gap: 2px;
  }
  .footer__company{
    margin-top: min(24px, calc(24 / 1300 * 100vw));
    padding: 0 min(40px, calc(40 / 1300 * 100vw));
  }
  .footer__copyright{
    margin-top: max(-14px, calc(-14 / 1300 * 100vw));
    height: min(44px, calc(44 / 1300 * 100vw));
  }
}
/*-------------------------------------*/
/*kv*/
/*-------------------------------------*/
.top-kv{
  margin-top: 100px;
  position: relative;
  overflow-x: clip;
}

.top-kv__bg{
  height: 450px;
  position: relative;
  z-index: -1;
}

.top-kv__bg-img-pc{
  display: none;
}

.top-kv__bg-img-sp{
  position: absolute;
}

.top-kv__bg-img-sp:nth-of-type(1){
  width: 73vw;
  top: -51px;
  right: -23px;
}

.top-kv__bg-img-sp:nth-of-type(2){
  width: 100vw;
  top: 183px;
  right: 0;
}

.top-kv__inner{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: min(var(--contents-width), 100%);
}

.top-kv__contents{
  padding-right: 24px;
  position: absolute;
  top: 20px;
  left: 40px;
}

.top-kv__title{
  font-size: 32px;
  line-height: 37px;
  font-weight: 500;
  letter-spacing: 0.2em;
  font-family: var(--font-family-mincho);
}

.top-kv__message-en{
  margin-top: 16px;
  font-size: 14px;
  line-height: 24px;
  font-family: var(--font-family-en);
}

.top-kv__message-ja{
  margin-top: 15px;
  font-size: 16px;
  line-height: 28px;
}

@media screen and (min-width: 768px) {
  .top-kv{
    margin-top: min(192px, calc(192 / 1300 * 100vw));
    padding-bottom: 0;
  }
  .top-kv__bg{
    height: 1234px;
  }
  .top-kv__bg-img-pc{
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .top-kv__bg-img-sp{
    display: none;
  }
  .top-kv__contents{
    padding-right: 0;
    top: min(42px, calc(42 / 1300 * 100vw));
    left: min(178px, calc(178 / 1300 * 100vw));
  }
  .top-kv__title{
    font-size: min(42px, calc(42 / 1300 * 100vw));
    line-height: min(74px, calc(74 / 1300 * 100vw));
  }
  .top-kv__message-en{
    margin-top: min(32px, calc(32 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .top-kv__message-ja{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
}

@media screen and (min-width: 2000px) {
  .top-kv__bg{
    height: calc(1234 / 2000 * 100vw);
  }
}

/*-------------------------------------*/
/*top business*/
/*-------------------------------------*/

.top-business__title{
  margin-left: 24px;
  width: 245px;
}

.top-business__contents{
  margin-top: -36px;
}

.top-business-section{
  position: relative;
  overflow-x: clip;
}

.top-business-section__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

/* .top-business-section__bg--energy{
  z-index: 1;
} */

.top-business-section__bg-img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-business-section__bg-img--energy{
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 2000px;
  max-width: none;
}

.top-business-section__bg-img--energy:nth-of-type(2){
  opacity: .6;
}

.top-business-section_title-num{
  margin-left: -16px;
  height: 40px;
}

.top-business-section_title-num img{
  width: auto;
  height: 100%;
}

.top-business-section_title-text{
  margin-top: -24px;
  font-size: 28px;
  font-weight: 700;
  color: var(--color-primary);
  font-family: var(--font-family-mincho);
}

.top-business-section_title-sub-text{
  margin-top: 8px;
  padding-right: 40px;
  font-size: 12px;
  line-height: 20px;
}

.top-business-section_title-sub-text > br{
  display: none;
}

.top-business-section__sub-title{
  font-size: 10px;
  font-family: var(--font-family-en);
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  white-space: nowrap;
  position: absolute;
  right: 4px;
  top: 60px;
  z-index: 1;
}

.top-business-section__message{
  font-size: 20px;
  font-weight: 500;
  font-family: var(--font-family-mincho);
}

.top-business-section__message--01{
  margin-top: 8px;
  margin-bottom: 8px;
}

.top-business-section__text{
  font-size: 12px;
  line-height: 28px;
  letter-spacing: 0.01em;
}

@media screen and (min-width: 768px) {
  .top-business{
    margin-top: max(-200px, calc(-200 / 1300 * 100vw));
  }
  .top-business__title{
    margin-left: min(140px, calc(140 / 1300 * 100vw));
    width: min(591px, calc(591 / 1300 * 100vw));
  }
  .top-business-section_title-num{
    margin-left: max(-38px, calc(-38 / 1300 * 100vw));
    height: min(112px, calc(112 / 1300 * 100vw));
  }
  .top-business-section_title-text{
    margin-top: max(-62px, calc(-62 / 1300 * 100vw));
    font-size: min(80px, calc(80 / 1300 * 100vw));
  }
  .top-business-section__sub-title{
    font-size: min(20px, calc(20 / 768 * 100vw));
    right: min(36px, calc(36 / 1300 * 100vw));
    top: min(188px, calc(188 / 1300 * 100vw));
  }
  .top-business-section__message{
    font-size: min(53px, calc(52 / 1300 * 100vw));
  }
  .top-business-section__message--01{
    margin-top: 0;
    margin-bottom: 0px;
  }
  .top-business-section__text{
    font-size: min(16px, calc(12 / 768 * 100vw));
    line-height: min(28px, calc(24 / 768 * 100vw));
  }
  .top-business-section_title-sub-text{
    position: absolute;
    padding-right: 0;
    left: min(720px, calc(720 / 1300 * 100vw));
    bottom: min(12px, calc(12 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .top-business-section_title-sub-text > br{
    display: block;
  }
}

.top-civil{
  position: relative;
  padding: 50px 35px 0 30px;
}

.top-civil__text-wrapper{
  margin-top: min(10px, calc(10 / 1300 * 100vw));
}

.top-civil__link-wrapper{
  margin-top: 24px;
  display: grid;
  gap: min(74px, calc(74 / 1300 * 100vw));
}

.top-civil__link{
  margin-left: -10vw;
  width: 100vw;
}

.top-civil__link-text-wrapper{
  padding: 0 30px 0 30px;
}

.top-civil__slide-wrapper{
  margin-top: 24px;
  padding-bottom: 60px;
  width: 100vw;
}

.top-civil__list{
  align-items: center;
  height: 76vw;
}

.top-civil__slide{
  position: relative;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
  overflow: hidden;
  transition: width .3s, height .3s;
  width: 50vw;
  height: 100%;
}

.top-civil__track{
padding-bottom: 10px;
}

.top-civil__slide--double{
  width: 100vw;
}

.top-civil__slide-title{
  position: absolute;
  top: 0;
  right: calc(10px / 2);
  width: 32px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

.top-civil__slide-wrapper .splide__pagination{
  justify-content: flex-end;
  padding-right: 20px;
  gap: calc(24px / 2);
  bottom: -30px;
}

.top-civil__slide-wrapper .splide__pagination__page{
  margin: 0;
  width: calc(13px / 2);
  height: calc(13px / 2);
  background-color: var(--color-gray);
}

.top-civil__slide-wrapper .splide__pagination__page.is-active{
  transform: scale(1);
  background-color: var(--color-black);
}

@media screen and (min-width: 768px) {
  .top-civil{
    padding: calc(100 / 1300 * 100vw) calc(90 / 1300 * 100vw) 0 calc(180 / 1300 * 100vw);
  }
  .top-civil__link-wrapper{
    margin-left: max(-28px, calc(-28 / 1300 * 100vw));
    padding-right: 60px;
    width: min(calc(100% + 28px), calc(1328 / 1300 * 100vw));
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    grid-template-columns: min(647px, calc(657 / 1300 * 100vw)) 1fr;
    gap: min(74px, calc(74 / 1300 * 100vw));
  }
  .top-civil__link{
    margin-left: 0;
    width: auto;
  }
  .top-civil__link-text-wrapper{
    padding: 0;
  }
  .top-civil__slide-wrapper{
    margin: min(60px, calc(60 / 1300 * 100vw)) calc(50% - 50vw) 0;
    padding-bottom: min(120px, calc(120 / 1300 * 100vw));
    width: 100vw;
  }
  .top-civil__list{
    height: min(calc(325px * 1.3), calc((325 * 1.3) / 1300 * 100vw));
  }
  .top-civil__slide{
    width: min(214px, calc(214 / 1300 * 100vw));
    height: min(325px, calc(325 / 1300 * 100vw));
  }
  .top-civil__slide.is-active{
    width: min(calc(214px * 1.3), calc((214 * 1.3) / 1300 * 100vw));
    height: min(calc(325px * 1.3), calc((325 * 1.3) / 1300 * 100vw));
  }
  .top-civil__slide--double{
    width: min(428px, calc(428 / 1300 * 100vw));
  }
  .top-civil__slide--double.is-active{
    width: min(calc(428px * 1.3), calc((428 * 1.3) / 1300 * 100vw));
    height: min(calc(325px * 1.3), calc((325 * 1.3) / 1300 * 100vw));
  }
  .top-civil__slide-title{
    right: min(10px, calc(10 / 1300 * 100vw));
    width: min(48px, calc(48 / 1300 * 100vw));
  }
  .top-civil__slide-wrapper .splide__pagination{
    padding-right: 20px;
    gap: min(24px, calc(24 / 1300 * 100vw));
    bottom: 0;
  }
  .top-civil__slide-wrapper .splide__pagination__page{
    width: min(13px, calc(13 / 1300 * 100vw));
    height: min(13px, calc(13 / 1300 * 100vw));
  }
}

@media screen and (min-width: 1440px) {
  .top-civil{
    padding: 100px 0 0 180px;
  }
  .top-civil__slide-wrapper .splide__pagination{
    padding-right: clamp(0px, calc((430 / (2000 - 1300)) * (100vw - 1300px)), 430px);
  }
}

/*スライダートップmorse*/
.slider-wrapper{
    width: 100vw;
    margin-top: 60px;
    padding-bottom: min(120px, calc(120 / 1300 * 100vw));
}
.slider-container {
  position: relative;
  width: 100%;
  height: 450px;
  overflow: hidden;
  transition: height 0.3s ease;
  padding-top: 50px;
  padding-left: min(0px, calc(0 / 1300 * 100vw));

}
.slider {
  display: flex;
  transition: transform 0.3s ease;
}
.slide {
  flex: 0 0 auto;
  height: 300px;
  position: relative;
  transition: transform 0.3s ease, height 0.3s ease;
  overflow: visible;
  box-shadow: 5px 5px 10px 0px rgba(0, 0, 0, 0.16);
}
.slide img {
  height: 100%;
  width: auto;
  object-fit: cover;
  transition: transform 0.3s ease;
  user-select: none;
  pointer-events: none;
}
.slide a {
  display: block;
  height: 100%;
}
.active {
  height: 400px;
  top: -50px;
  transition: height 0.3s ease, width 0.3s ease;
}
.dot-indicators {
  position: absolute;
  bottom: min(180px, calc(180 / 1300 * 100vw));
  right: 20px;
  display: flex;
  gap: 5px;
}
.dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: gray;
  transition: background-color 0.3s;
  margin: 0 5px;
}
.dot.active {
  background-color: black;
}

@media (max-width: 768px) {
  .slider-wrapper{
      margin: 30px 0 0;
      padding-bottom: min(120px, calc(120 / 1300 * 100vw));
      width: 100vw;
  }
  .slider-container {
    height: auto;
    padding-top: 0px;
  }
  .slide {
    flex: 0 0 50%; /* 各スライドを50%幅に */
    height: inherit;
    box-shadow: none;
  }
  .slide img {
    height: auto;
    width: 100%;
  }
  .slide.active {
    height: auto;
    top: 0px;
  }
  .dot-indicators {
    position: relative;
    bottom: 0;
    justify-content:  flex-end; 
    margin-top: 20px;
  }
  .dot {
    margin: 0 5px;
  }
}

.top-energy{
  position: relative;
  padding-top: 30px;
  padding-left: 16px;
}

.top-energy__contents{
  position: relative;
  padding-top: 24px;
  padding-right: 40px;
}

.top-energy__bg{
  position: absolute;
  width: calc(100% + (50vw - 50%));
  margin-left: calc(50% - 50vw);
  height: 100%;
  z-index: -1;
  overflow:hidden;
}

.top-energy__bg img{
  width: 150%;
  height: 150%;
  object-fit: cover;
  position: relative;
  z-index: -1;
}

.top-energy__text-wrapper{
  padding-top: 24px;
  padding-left: 30px;
  top: 25px;
  left: 30px;
}

.top-energy__title{
  font-size: 20px;
  font-weight: 600;
  color: var(--color-white);
  font-family: var(--font-family-mincho);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
}

.top-energy__text{
  margin-top: 16px;
  font-size: 12px;
  line-height: 24px;
}

.top-energy__link-wrapper{
  margin-top: 40px;
  padding-left: 30px;
  padding-right: 30px;
  padding-bottom: 40px;
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.top-energy__link{
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 768px) {
  .top-energy{
    padding-top: min(100px, calc(100 / 1300 * 100vw));
    padding-left: min(180px, calc(180 / 1300 * 100vw));
  }
  .top-energy__contents{
    padding-top: min(60px, calc(60 / 1300 * 100vw));
    padding-right: min(200px, calc(200 / 1300 * 100vw));
  }
  .top-energy__bg{
    position: static;
    width: calc(100% + (50vw - 50%));
    margin-left: calc(50% - 50vw);
  }
  .top-energy__text-wrapper{
    position: absolute;
    padding-top: 0;
    padding-left: 0;
    padding-right: min(336px, calc(336 / 1300 * 100vw));
    top: min(100px, calc(100 / 1300 * 100vw));
    left: min(180px, calc(180 / 1300 * 100vw));
  }
  .top-energy__title{
    font-size: min(52px, calc(52 / 1300 * 100vw));
    font-family: var(--font-family-mincho);
    text-shadow: 8px 8px 0 rgba(0, 0, 0, 0.2);
  }
  .top-energy__text{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    font-size: min(16px, calc(12 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .top-energy__link-wrapper{
    margin-top: max(-84px, calc(-84 / 1300 * 100vw));
    padding-left: min(186px, calc(186 / 1300 * 100vw));
    padding-right: 0;
    padding-bottom: min(100px, calc(100 / 1300 * 100vw));
    grid-template-columns: 1fr 1fr;
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
}

.top-agriculture-text{
padding-left: 14px;
}
.top-agriculture{
  padding-top: 16px;
  padding-left: 30px;
  padding-bottom: 70px;
}

.top-agriculture__inner{
  position: relative;
}

.top-agriculture__main-img{
  width: calc(100% + (50vw - 50%));
  margin-right: calc(50% - 50vw);
}

.top-agriculture__sub-img{
  position: absolute;
  bottom: -35px;
  right: 0;
  width: 40vw;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

.top-agriculture__link{
  position: absolute;
  left: -16px;
  bottom: -40px;
  width: 80px;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
}

@media screen and (min-width: 768px) {
.top-agriculture-text{
padding-left: 0px;
}
  .top-agriculture{
    padding-top: min(40px, calc(40 / 1300 * 100vw));
    padding-left: min(160px, calc(160 / 1300 * 100vw));
    padding-bottom: min(132px, calc(132 / 1300 * 100vw));
  }
  .top-agriculture__sub-img{
    bottom: max(-70px, calc(-70 / 1300 * 100vw));
    right: 0;
    width: min(554px, calc(554 / 1300 * 100vw));
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
  }
  .top-agriculture__link{
    left: max(-70px, calc(-70 / 1300 * 100vw));
    bottom: max(-50px, calc(-50 / 1300 * 100vw));
    width: min(154px, calc(154 / 1300 * 100vw));
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
  }
}

/*-------------------------------------*/
/*top about*/
/*-------------------------------------*/
.top-about{
  position: relative;
  padding: 30px 0 50px;
}

.top-about__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
}

.top-about__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-about__inner{
  display: grid;
  grid-template-columns: calc(100% - 48px);
  justify-content: center;
}

.top-about__title{
  margin: 0 auto;
  width: 236px;
}

.top-about__text{
  margin-top: 16px;
  font-size: 12px;
  line-height: 20px;
}

.top-about__link{
  margin-top: 16px;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 768px) {
  .top-about{
    padding: min(66px, calc(66 / 1300 * 100vw)) 0 min(100px, calc(100 / 1300 * 100vw));
  }
  .top-about__inner{
    grid-template-columns: min(657px, calc(657 / 1300 * 100vw));
  }
  .top-about__title{
    width: min(592px, calc(592 / 1300 * 100vw));
  }
  .top-about__text{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .top-about__link{
    margin-top: min(65px, calc(65 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*top works*/
/*-------------------------------------*/
.top-works{
  padding: 30px 0 50px;
}

.top-works__title-wrapper{
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.top-works__title{
  width: 156px;
}

.top-works__title-text{
  font-size: 12px;
  line-height: 20px;
  padding-left: 14px;
  padding-right: 14px;
}

.top-works__slide-wrapper{
  margin-top: 30px;
  padding: 0 40px;
}

.top-works__slide-text{
  margin-left: 4px;
  padding: 10px 5px 10px 9px;
  font-size: 12px;
  line-height: 20px;
  font-weight: 900;
  font-family: var(--font-family-mincho);
  border-left: 1px solid;
}

.top-works .splide__pagination{
  justify-content: flex-end;
  gap: calc(24px / 2);
  bottom: -15px;
}

.top-works .splide__pagination__page{
  margin: 0;
  width: calc(13px / 2);
  height: calc(13px / 2);
  background-color: var(--color-gray);
}

.top-works .splide__pagination__page.is-active{
  transform: scale(1);
  background-color: var(--color-black);
}

.top-works .splide__arrow{
  padding: 10px;
  width: 10px;
  background: inherit;
  top: calc(75 / 375 * 100vw);
}

.top-works .splide__arrow--prev{
  left: -32px;
}

.top-works .splide__arrow--next{
  right: -32px;
}

@media screen and (min-width: 768px) {
  .top-works{
    padding: min(100px, calc(100 / 1300 * 100vw)) 0 min(170px, calc(170 / 1300 * 100vw));
  }
  .top-works__title-wrapper{
    padding: 0 min(150px, calc(150 / 1300 * 100vw));
    grid-template-columns: min(433px, calc(433 / 1300 * 100vw)) 1fr;
    align-items: flex-end;
    gap: min(150px, calc(150 / 1300 * 100vw));
  }
  .top-works__title{
    width: auto;
  }
  .top-works__title-text{
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
    padding: 0;
  }
  .top-works__slide-wrapper{
    margin-top: min(80px, calc(80 / 1300 * 100vw));
    padding: 0 min(80px, calc(80 / 1300 * 100vw));
  }
  .top-works__slide-text{
    margin-left: min(10px, calc(10 / 1300 * 100vw));
    padding: min(20px, calc(20 / 1300 * 100vw)) min(10px, calc(10 / 1300 * 100vw)) min(20px, calc(20 / 1300 * 100vw)) min(18px, calc(18 / 1300 * 100vw));
    font-size: min(20px, calc(20 / 768 * 100vw));
    line-height: min(25px, calc(25 / 768 * 100vw));
  }
  .top-works .splide__pagination{
    justify-content: flex-end;
    gap: 12px;
    bottom: max(-50px, calc(-50 / 1300 * 100vw));
  }
  .top-works .splide__pagination__page{
    margin: 0;
    width: min(13px, calc(13 / 1300 * 100vw));
    height: min(13px, calc(13 / 1300 * 100vw));
    background-color: var(--color-gray);
  }
  .top-works .splide__pagination__page.is-active{
    transform: scale(1);
    background-color: var(--color-black);
  }
  .top-works .splide__arrow{
    padding: min(12px, calc(12 / 1300 * 100vw));
    width: min(12px, calc(12 / 1300 * 100vw));
    background: inherit;
    top: min(146px, calc(146 / 1300 * 100vw));
  }
  .top-works .splide__arrow{
    padding: min(12px, calc(12 / 1300 * 100vw));
    width: min(12px, calc(12 / 1300 * 100vw));
    background: inherit;
    top: min(146px, calc(146 / 1300 * 100vw));
  }
  .top-works .splide__arrow--prev{
    left: max(-40px, calc(-40 / 1300 * 100vw));
  }
  .top-works .splide__arrow--next{
    right: max(-40px, calc(-40 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*top recruit*/
/*-------------------------------------*/
.top-recruit{
  position: relative;
  padding: 30px 0 100px;
}

.top-recruit__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
}

.top-recruit__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-recruit__title-wrapper{
  padding: 0 16px;
  display: grid;
  grid-template-columns: 215px 70px;
  justify-content: space-between;
  align-items: flex-end;
}

.top-recruit__title-link{
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
}

.top-recruit__text-wrapper{
  margin-top: 20px;
  padding-left: 25px;
  padding-right: 25px;
}

.top-recruit__message{
  font-size: 20px;
  font-weight: 600;
  font-family: var(--font-family-mincho);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  letter-spacing: 0.08em;
}

.top-recruit__text{
  margin-top: 16px;
  font-size: 12px;
  line-height: 24px;
}

.top-recruit__list{
  padding: 0 24px;
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 30px;
}

.top-recruit__item{
  position: relative;
  box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
}

.top-recruit__profile-box{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: var(--color-gradient-green-to-white);
  padding: 8px;
  display: grid;
  grid-template-columns: auto auto;
  justify-content: space-between;
  align-items: flex-end;
}

.top-recruit__profile-year{
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
}

.top-recruit__profile-job{
  font-size: 12px;
  line-height: 20px;
  font-weight: 500;
}

.top-recruit__name{
  font-size: 16px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
  font-style: italic;
}

@media screen and (min-width: 768px) {
  .top-recruit{
    padding: min(100px, calc(100 / 1300 * 100vw)) 0 min(275px, calc(275 / 1300 * 100vw));
  }
  .top-recruit__title-wrapper{
    padding: 0 min(150px, calc(150 / 1300 * 100vw)) 0;
    display: grid;
    grid-template-columns: min(537px, calc(537 / 1300 * 100vw)) min(192px, calc(192 / 1300 * 100vw));
    justify-content: space-between;
    align-items: flex-end;
  }
  .top-recruit__text-wrapper{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
    padding-left: min(180px, calc(180 / 1300 * 100vw));
    padding-right: 0;
  }
  .top-recruit__message{
    font-size: min(52px, calc(52 / 1300 * 100vw));
    text-shadow: 8px 8px 0 rgba(0, 0, 0, 0.2);
  }
  .top-recruit__text{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 1300 * 100vw));
  }
  .top-recruit__list{
    padding: 0;
    margin-top: min(70px, calc(70 / 1300 * 100vw));
    grid-template-columns: repeat(4, 1fr);
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
  .top-recruit__profile-box{
    padding: min(16px, calc(16 / 1300 * 100vw)) min(16px, calc(16 / 1300 * 100vw)) min(14px, calc(14 / 1300 * 100vw));
  }
  .top-recruit__profile-year{
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(16px, calc(16 / 768 * 100vw));
  }
  .top-recruit__profile-job{
    display: block;
    margin-top: 10px;
    font-size: min(19px, calc(19 / 768 * 100vw));
    line-height: 1;
  }
  .top-recruit__name{
    font-size: min(27px, calc(27 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*page kv*/
/*-------------------------------------*/
.page-kv{
  padding-top: min(128px, calc(128 / 1300 * 100vw));
  overflow-x: clip;
  background-color: var(--color-white);
  box-shadow: 0px min(6px, calc(6 / 1300 * 100vw)) min(6px, calc(6 / 1300 * 100vw)) rgba(0, 0, 0, 0.2);
}

.page-kv__inner{
  position: relative;
}

.page-kv__bg{
  margin-left: auto;
  margin-right: max(-160px, calc(-160 / 1300 * 100vw));
  width: min(1132px, calc(1132 / 1300 * 100vw));
  height: min(403px, calc(202 / 375 * 100vw));
}

.page-kv__bg img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page-kv__title{
  position: absolute;
  top: 35%;
  left: min(100px, calc(100 / 1300 * 100vw));
  height: 80px;
}

.page-kv__title > img{
  width: auto;
  height: 100%;
}

.page-kv__border{
  position: absolute;
  top: max(-593px, calc(-593 / 1300 * 100vw));
  left: max(-1222px, calc(-1222 / 1300 * 100vw));
  width: min(2447px, calc(2447 / 1300 * 100vw));
  z-index: -1;
}

.page-kv__border--business{
  left: max(-552px, calc(-552 / 1300 * 100vw));
}

@media screen and (min-width: 768px){
  .page-kv__title{
    position: absolute;
    top: 30%;
    left: min(100px, calc(100 / 1300 * 100vw));
    height: min(192px, calc(192 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*page*/
/*-------------------------------------*/
.page__section{
  position: relative;
  padding-top: min(128px, calc(128 / 1300 * 100vw));
  overflow-x: clip;
}

.page__section-bg{
  position: absolute;
  inset: 0;
  z-index: -1;
}

.page__section-bg--business{
  width: min(1294px, calc(1294 / 1300 * 100vw));
  inset: inherit;
  top: max(-345px, calc(-345 / 1300 * 100vw));
  right: max(-483px, calc(-483 / 1300 * 100vw));
}

.page__section-bg > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.page__section-inner{
  padding: 0 min(120px, calc(120 / 1300 * 100vw)) 0 min(120px, calc(120 / 1300 * 100vw));
}

.page__title{
  height: 40px;
}

.page__title > img{
  width: auto;
  height: 100%;
}

.page__contents{
  margin-top: 8px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.page__contents--no-sub-title{
  margin-top: 24px;
  display: block;
}

.page__sub-title-text{
  font-size: 12px;
  font-family: var(--font-family-en);
  position: relative;
}

.page__sub-title-text:after{
  content: '';
  width: 100px;
  height: 0.5px;
  background-color: var(--color-black);
  position: absolute;
  top: 50%;
  left: calc(100% + 10px);
}

.page__sub-title-text--short:after{
  height: 1px;
}

.page__sub-title-text--middle:after{
  height: 1px;
}

.page__message-wrapper{ 
  display: grid;
  grid-template-columns: 1fr;
  gap: min(60px, calc(60 / 1300 * 100vw));
}

.page__message-title{
  display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 4px;
}

.page__message-title-text{
  display: inline-block;
  font-size: 18px;
  font-weight: 500;
  font-family: var(--font-family-mincho);
  color: var(--color-white);
  background-color: var(--color-black);
  padding: 2px 8px;
  letter-spacing: min(0.06em, calc(0.06em / 1300 * 100vw));
  white-space: nowrap;
}

.page__message-title-text--business:nth-of-type(1){
  margin-left: 20px;
}

.page__message-text{
  font-size: 14px;
  line-height: 1.6;
}

@media screen and (min-width: 768px) {
  .page__title{
    height: min(72px, calc(72 / 1300 * 100vw));
  }
  .page__contents{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    display: grid;
    grid-template-columns: auto 1fr;
    gap: min(90px, calc(90 / 1300 * 100vw));
  }
  .page__sub-title-text{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: min(20px, calc(20 / 1300 * 100vw));
    font-family: var(--font-family-en);
    position: relative;
  }
  .page__contents--no-sub-title{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    display: block;
  }
  .page__sub-title-text:after{
    content: '';
    width: min(1px, calc(1 / 1300 * 100vw));
    height: min(420px, calc(420 / 1300 * 100vw));
    background-color: var(--color-black);
    position: absolute;
    top: calc(100% + min(35px, calc(35 / 1300 * 100vw)));
    left: 20%;
  }
  .page__sub-title-text--short:after{
    height: min(130px, calc(130 / 1300 * 100vw));
  }
  .page__sub-title-text--middle:after{
    height: min(254px, calc(254 / 1300 * 100vw));
  }
  .page__message-wrapper{
    display: grid;
    grid-template-columns: auto 1fr;
    gap: min(60px, calc(60 / 1300 * 100vw));
  }
  .page__message-title{
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: flex-start;
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
  .page__message-title{
    display: inline-grid;
    grid-template-columns: auto auto;
    align-items: flex-start;
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
  .page__message-title-text{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: inline-block;
    font-size: min(40px, calc(40 / 1300 * 100vw));
    font-weight: 500;
    font-family: var(--font-family-mincho);
    color: var(--color-white);
    background-color: var(--color-black);
    padding: min(10px, calc(10 / 1300 * 100vw)) 0;
    letter-spacing: min(0.06em, calc(0.06em / 1300 * 100vw));
    white-space: nowrap;
  }
  .page__message-title-text--business:nth-of-type(1){
    margin-top: min(50px, calc(50 / 1300 * 100vw));
    margin-left: 0;
  }
  .page__message-text{
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
}

/*-------------------------------------*/
/*company message*/
/*-------------------------------------*/
.company-message__name-wrapper{
  margin-top: 16px;
  text-align: right;
}

.company-message__job{
  font-size: 14px;
  line-height: 1.6;
}

.company-message__name{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.6;
  font-weight: 500;
  font-family: var(--font-family-mincho);
}

.company-message__img{
  margin-top: 16px;
  margin-left: max(-200px, calc(-200 / 1300 * 100vw));
  width: calc(100% + min(200px, calc(200 / 1300 * 100vw)));
  position: relative;
  z-index: -1;
}


@media screen and (min-width: 768px){
  .company-message__name-wrapper{
    margin-top: min(50px, calc(50 / 1300 * 100vw));
    text-align: right;
  }
  .company-message__job{
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .company-message__name{
    margin-top: min(16px, calc(16 / 1300 * 100vw));
    font-size: min(27px, calc(27 / 1300 * 100vw));
    line-height: min(40px, calc(40 / 1300 * 100vw));
    font-weight: 500;
    font-family: var(--font-family-mincho);
  }
  .company-message__img{
    margin-top: max(-200px, calc(-200 / 1300 * 100vw));
    margin-left: max(-100px, calc(-100 / 1300 * 100vw));
    width: calc(100% + min(200px, calc(200 / 1300 * 100vw)));
    position: relative;
    z-index: -1;
  }
}

/*-------------------------------------*/
/*company overview*/
/*-------------------------------------*/
.company-overview{
  margin-top: max(-280px, calc(-280 / 1300 * 100vw));
  position: relative;
  z-index: -2;
}

.company-overview__inner{
  padding-top: min(220px, calc(220 / 1300 * 100vw));
  padding-bottom: min(150px, calc(150 / 1300 * 100vw));
}

.company-overview__item{
  display: grid;
  gap: 2px;
}

.company-overview__item:not(:first-of-type){
  margin-top: 16px;
}

.company-overview__item:not(:first-of-type).company-overview__item--no-margin{
  margin-top: 0;
}

.company-overview__title{
  width: 100%;
  font-size: 14px;
  line-height: 1.5;
}

.company-overview__data{
  font-size: 14px;
  line-height: 1.5;
}
#overview .page__title-wrapper{
margin-top: 20px;
}

@media screen and (min-width: 768px) {
  .company-overview__item{
    display: grid;
    grid-template-columns: min(128px, calc(128 / 1300 * 100vw)) 1fr;
    gap: min(40px, calc(40 / 1300 * 100vw));
  }
  .company-overview__item:not(:first-of-type){
    margin-top: min(24px, calc(24 / 1300 * 100vw));
  }
  .company-overview__item:not(:first-of-type).company-overview__item--no-margin{
    margin-top: 0;
  }
  .company-overview__title{
    width: 100%;
    font-size: min(16px, calc(16 / 1300 * 100vw));
    line-height: min(28px, calc(28 / 1300 * 100vw));
    text-align: justify;
    text-align-last: justify;
  }
  .company-overview__data{
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
#overview .page__title-wrapper{
margin-top: 0;
}
}

/*-------------------------------------*/
/*company office*/
/*-------------------------------------*/
.company-office__inner{
  padding-bottom: min(150px, calc(150 / 1300 * 100vw));
}

.company-office__contents{
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.company-office__item{
  border: 1px solid;
}

.company-office__title{
  height: 32px;
  display: grid;
  place-items: center;
  font-size: 16px;
  font-weight: 700;
  color: var(--color-white);
  background-color: #63B19E;
  letter-spacing: 0.06em;
}

.company-office__item-contents{
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.company-office__item-contents:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 60px;
  height: 100%;
  background-color: #E4E4E4;
  z-index: -1;
}

.company-office__info{
  display: grid;
  grid-template-columns: 60px 1fr;
}

.company-office__info:not(:first-of-type) .company-office__info-title-text{
  border-top: 1px solid var(--color-white);
}

.company-office__info:not(:first-of-type) .company-office__info-data-text{
  border-top: 1px solid #E4E4E4;
}

.company-office__info-title{
  padding: 0 0 0 10px;
}

.company-office__info-title-text{
  padding: 8px 6px 8px 0;
  display: block;
  font-size: 14px;
  line-height: 1.5;
}

/* .company-office__item:last-of-type .company-office__info-title-text{
  padding: min(12px, calc(12 / 1300 * 100vw)) 0;
} */

.company-office__info-data{
  padding: 0 10px 0 0;
}

.company-office__info-data-text{
  padding: 8px 0 8px 6px;
  display: block;
  font-size: 14px;
  line-height: 1.5;
}

/* .company-office__item:last-of-type .company-office__info-data-text{
  padding: min(12px, calc(12 / 1300 * 100vw)) 0;
} */

.company-office__map{
  padding: 0 10px 10px 10px;
  height: calc(200 / 375 * 100vw);
}

.company-office__map iframe{
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 768px) {
  .company-office__inner{
    padding-bottom: min(100px, calc(100 / 1300 * 100vw));
  }
  .company-office__contents{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
  .company-office__item{
    border: min(1px, calc(1 / 1300 * 100vw)) solid;
  }
  .company-office__title{
    height: min(64px, calc(64 / 1300 * 100vw));
    display: grid;
    place-items: center;
    font-size: min(24px, calc(24 / 1300 * 100vw));
    font-weight: 700;
    color: var(--color-white);
    background-color: #63B19E;
    letter-spacing: min(0.06em, calc(0.06em / 1300 * 100vw));
  }
  .company-office__item-contents{
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: calc(100% - min(64px, calc(64 / 1300 * 100vw)));
  }
  .company-office__item-contents:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: min(94px, calc(94 / 1300 * 100vw));
    height: 100%;
    background-color: #E4E4E4;
    z-index: -1;
  }
  .company-office__info{
    display: grid;
    grid-template-columns: min(94px, calc(94 / 1300 * 100vw)) 1fr;
  }
  .company-office__info:not(:first-of-type) .company-office__info-title-text{
    border-top: min(1px, calc(1 / 1300 * 100vw)) solid var(--color-white);
  }
  .company-office__info:not(:first-of-type) .company-office__info-data-text{
    border-top: min(1px, calc(1 / 1300 * 100vw)) solid #E4E4E4;
  }
  .company-office__info-title{
    padding: 0 min(6px, calc(6 / 1300 * 100vw)) 0 min(20px, calc(20 / 1300 * 100vw));
  }
  .company-office__info-title-text{
    padding: min(20px, calc(20 / 1300 * 100vw)) 0 min(0px, calc(0 / 1300 * 100vw)) 0;
    display: block;
    font-size: min(16px, calc(16 / 1300 * 100vw));
    line-height: min(28px, calc(28 / 1300 * 100vw));
  }
  /* .company-office__item:last-of-type .company-office__info-title-text{
    padding: min(12px, calc(12 / 1300 * 100vw)) 0;
  } */
  .company-office__info-data{
    padding: 0 min(20px, calc(20 / 1300 * 100vw)) 0 min(6px, calc(6 / 1300 * 100vw));
  }
  .company-office__info-data-text{
    padding: min(20px, calc(20 / 1300 * 100vw)) 0 min(20px, calc(20 / 1300 * 100vw)) 0;
    display: block;
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  /* .company-office__item:last-of-type .company-office__info-data-text{
    padding: min(12px, calc(12 / 1300 * 100vw)) 0;
  } */
  .company-office__map{
    padding: 0 min(16px, calc(16 / 1300 * 100vw)) min(16px, calc(16 / 1300 * 100vw)) min(16px, calc(16 / 1300 * 100vw));
    height: min(216px, calc(216 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*company history*/
/*-------------------------------------*/
.company-history{
  padding: 40px 0 60px;
  position: relative;
}

.company-history__bg{
  position: absolute;
  inset: 0;
  z-index: -1;
}

.company-history__bg > img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.company-history__inner{
  position: relative;
}

.company-history__title{
  position: absolute;
  top: 19px;
  left: 50%;
  transform: translateX(calc(-50% - 140px));
  font-size: 28px;
  font-weight: 700;
  color: var(--color-white);
  font-family: var(--font-family-mincho);
}

.company-history__item{
  display: grid;
  justify-content: center;
  gap: min(40px, calc(40 / 1300 * 100vw));
}

.company-history__item-title{
  font-size: 50px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
  color: var(--color-white);
  opacity: 0.2;
  text-align: center;
}

.company-history__item-img{
  width: min(400px, 90vw);
}

@media screen and (min-width: 400px) {
  .company-history__title{
    position: absolute;
    top: 24px;
    left: 50%;
    transform: translateX(calc(-50% - 155px));
    font-size: 32px;
    font-weight: 700;
    color: var(--color-white);
    font-family: var(--font-family-mincho);
  }
  .company-history__item-title{
    font-size: 60px;
    font-weight: 700;
    font-family: var(--font-family-mincho);
    color: var(--color-white);
    opacity: 0.2;
    text-align: center;
  }
}

@media screen and (min-width: 768px) {
  .company-history{
    padding: min(70px, calc(70 / 1300 * 100vw)) 0 min(100px, calc(100 / 1300 * 100vw));
    position: relative;
  }
  .company-history__bg{
    position: absolute;
    inset: 0;
    z-index: -1;
  }
  .company-history__bg > img{
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .company-history__inner{
    position: relative;
  }
  .company-history__title{
    position: absolute;
    top: min(34px, calc(34 / 1300 * 100vw));
    left: min(120px, calc(120 / 1300 * 100vw));
    transform: translateX(0);
    font-size: min(66px, calc(66 / 1300 * 100vw));
    font-weight: 700;
    color: var(--color-white);
    font-family: var(--font-family-mincho);
  }
  .company-history__item{
    display: grid;
    justify-content: center;
    gap: min(40px, calc(40 / 1300 * 100vw));
  }
  .company-history__item-title{
    font-size: min(100px, calc(100 / 1300 * 100vw));
    font-weight: 700;
    font-family: var(--font-family-mincho);
    color: var(--color-white);
    opacity: 0.2;
    text-align: center;
  }
  .company-history__item-img{
    width: min(540px, calc(540 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*company access*/
/*-------------------------------------*/
.company-access{
  padding: 40px 0;
}

.company-access__title-wrapper{
  padding: 0 24px;
}

.company-access__title{
  height: 40px;
}

.company-access__title > img{
  width: auto;
  height: 100%;
}

.company-access__list{
  margin-top: 24px;
  padding: 0 16px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.company-access__item{
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.2);
}

.company-access__item-contents{
  padding: 16px 16px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 16px;
}

.company-access__item-title{
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
  letter-spacing: 0.1em;
}

.company-access__item-text{
  position: relative;
  font-size: 14px;
  line-height: 1.5;
}

.company-access__item-text:before{
  content: '';
  width: 1px;
  height: 100%;
  background-color: var(--color-black);
  position: absolute;
  top: 0;
  left: -8px;
}

@media screen and (min-width: 768px) {
  .company-access{
    padding: min(170px, calc(170 / 1300 * 100vw)) 0 min(150px, calc(150 / 1300 * 100vw));
  }
  .company-access__title-wrapper{
    padding: 0 min(110px, calc(110 / 1300 * 100vw));
  }
  .company-access__title{
    height: min(60px, calc(60 / 1300 * 100vw));
  }
  .company-access__title > img{
    width: auto;
    height: 100%;
  }
  .company-access__list{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(20px, calc(20 / 1300 * 100vw));
  }
  .company-access__item{
    box-shadow: min(6px, calc(6 / 1300 * 100vw)) min(6px, calc(6 / 1300 * 100vw)) min(6px, calc(6 / 1300 * 100vw)) rgba(0, 0, 0, 0.2);
  }
  .company-access__item-contents{
    padding: min(20px, calc(20 / 1300 * 100vw)) min(40px, calc(40 / 1300 * 100vw));
    display: grid;
    grid-template-columns: auto 1fr;
    gap: min(50px, calc(50 / 1300 * 100vw));
  }
  .company-access__item-title{
    font-size: min(30px, calc(30 / 1300 * 100vw));
    font-weight: 700;
    font-family: var(--font-family-mincho);
    letter-spacing: min(0.3em, calc(0.3em / 1300 * 100vw));
  }
  .company-access__item-text{
    position: relative;
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .company-access__item-text:before{
    content: '';
    width: min(1px, calc(1 / 1300 * 100vw));
    height: 100%;
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    left: max(-25px, calc(-25 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*business message*/
/*-------------------------------------*/
.business-message__inner{
  position: relative;
}

/*-------------------------------------*/
/*business nav*/
/*-------------------------------------*/
.business-nav{
  margin-top: 24px;
  overflow-x: clip;
}

.business-nav__list{
  display: grid;
  grid-template-columns: 300px;
  justify-content: center;
  gap: 8px;
}

.business-nav__link{
  display: block;
  aspect-ratio: 428 / 199;
}

.business-nav__link--current{
  box-shadow: 6px 6px 6px rgba(0, 0, 0, 0.2);
}

@media screen and (min-width: 500px) {
  .business-nav__list{
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(8px, calc(8 / 1300 * 100vw));
  }
}

@media screen and (min-width: 768px) {
  .business-nav{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
    overflow-x: clip;
  }
  .business-nav__link--current{
    box-shadow: min(6px, calc(6 / 1300 * 100vw)) min(6px, calc(6 / 1300 * 100vw)) min(6px, calc(6 / 1300 * 100vw)) rgba(0, 0, 0, 0.2);
  }
}

/*-------------------------------------*/
/*business 01*/
/*-------------------------------------*/
.business-01{
  margin-top: 40px;
  overflow-x: clip;
}

.business-01__title-wrapper{
  margin: 0 auto;
  width: 140px;
  aspect-ratio: 322 / 121;
}

.business-01__contents{
  margin: 0 auto;
  width: 90vw;
  position: relative;
  aspect-ratio: 985 / 568;
}


.business-01__contents svg{
  position: absolute;
  inset: 0;
}

.business-01__contents .hexagon{
  opacity: 0;
}

.business-01__arrow{
  margin: min(60px, calc(60 / 1300 * 100vw)) auto 0;
  width: min(320px, calc(320 / 1300 * 100vw));
  aspect-ratio: 320 / 194;
}

@media screen and (min-width: 768px) {
  .business-01{
    margin-top: min(90px, calc(90 / 1300 * 100vw));
    overflow-x: clip;
  }
  .business-01__title-wrapper{
    margin: 0 auto;
    width: min(322px, calc(322 / 1300 * 100vw));
  }
  .business-01__contents{
    margin: 0 auto;
    width: min(985px, calc(985 / 1300 * 100vw));
    position: relative;
  }
  .business-01__contents svg{
    position: absolute;
    inset: 0;
  }
  .business-01__contents .hexagon{
    opacity: 0;
  }
  .business-01__arrow{
    margin: min(60px, calc(60 / 1300 * 100vw)) auto 0;
    width: min(320px, calc(320 / 1300 * 100vw));
  }
}
/*-------------------------------------*/
/*business works*/
/*-------------------------------------*/
.business-works{
  margin-top: -40px;
  padding-bottom: 100px;
}

.business-works__section{
  padding-top: 40px;
  position: relative;
}

.business-works__section:nth-of-type(odd):before{
  content: '';
  width: 100vw;
  height: calc(100% - 100px);
  position: absolute;
  left: calc(50% - 50vw);
  bottom: -20px;
  background-image: url("../images/business/bg.png");
  background-size: cover;
  z-index: -1;
}

.business-works__section-first{
  padding: 40px 0 40px;
  background-image: url("../images/business/bg.png");
  background-size: cover;
}

.business-works__info-wrapper{
  padding: 0 24px;
}

.business-works__title{
  height: 34px;
}

.business-works__title > img{
  width: auto;
  height: 100%;
}

.business-works__text{
  margin-top: 16px;
  margin-bottom: 16px;
  padding-left: 0;
  min-height: min(195px, calc(195 / 1300 * 100vw));
  font-size: 14px;
  line-height: 1.5;
  position: relative;
}
.business-works__text--first{
}
.business-works__text--first:before{
  height: min(195px, calc(195 / 1300 * 100vw));
}

.business-works__first-contents{
  margin-top: min(20px, calc(20 / 1300 * 100vw));
}

.business-works__first-item{
  position: relative;
  /* display: flex; */
}

.business-works__first-item:nth-of-type(odd){
  margin-left: 24px;
}

.business-works__first-item:nth-of-type(even){
  margin-right: 24px;
}

.business-works__first-item:not(:first-of-type){
  margin-top: calc(30 / 375 * 100vw);
}

.business-works__first-title{
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-size: 20px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
  position: absolute;
  letter-spacing: 0.2rem;
}

.business-works__first-item:nth-of-type(odd) .business-works__first-title{
  top: -3px;
  left: 14vw;
}

.business-works__first-item:nth-of-type(even) .business-works__first-title{
  top: 3px;
  right: 14vw;
}

.business-works__first-image{
  width: 70vw;
  aspect-ratio: 715 / 490;
  margin-top: 30px;
}

.business-works__first-item:nth-of-type(odd) .business-works__first-image{
  margin-left: auto;
}

.business-works__first-item:nth-of-type(even) .business-works__first-image{
  margin-right: auto;
}

.business-works__first-text{
  margin-top: -40px;
  width: min(500px, 90%);
  position: relative;
  padding: min(50px, calc(50 / 1300 * 100vw));
  font-size: 12px;
  line-height: 1.5;
  background-color: var(--color-white);
  z-index: 1;
}

.business-works__first-item:nth-of-type(odd) .business-works__first-text{

}

.business-works__first-item:nth-of-type(even) .business-works__first-text{
  margin-left: auto;
}

.business-works__contents{
  aspect-ratio: 1080 / 397;
}

.business-works__section:nth-of-type(odd) .business-works__contents{
  margin-right: min(220px, calc(220 / 1300 * 100vw));
}

.business-works__section:nth-of-type(even) .business-works__contents{
  margin-left: min(220px, calc(220 / 1300 * 100vw));
}

@media screen and (min-width: 768px) {
  .business-works{
    margin-top: max(-80px, calc(-80 / 1300 * 100vw));
    padding-bottom: min(200px, calc(200 / 1300 * 100vw));
  }
  .business-works__section{
    padding-top: min(140px, calc(140 / 1300 * 100vw));
    position: relative;
  }
  .business-works__section:nth-of-type(odd):before{
    content: '';
    width: 100vw;
    height: calc(100% - min(130px, calc(130 / 1300 * 100vw)));
    position: absolute;
    left: calc(50% - 50vw);
    bottom: min(-60px, calc(-60 / 1300 * 100vw));
    background-image: url("../images/business/bg.png");
    background-size: cover;
    z-index: -1;
  }
  .business-works__section-first{
    padding: min(56px, calc(56 / 1300 * 100vw)) 0 min(140px, calc(140 / 1300 * 100vw));
    background-image: url("../images/business/bg.png");
    background-size: cover;
  }
  .business-works__info-wrapper{
    padding: 0 min(225px, calc(225 / 1300 * 100vw));
  }
  .business-works__title{
    height: min(66px, calc(66 / 1300 * 100vw));
  }
  .business-works__title > img{
    width: auto;
    height: 100%;
  }
  .business-works__text{
    margin-top: min(35px, calc(35 / 1300 * 100vw));
    margin-bottom: calc(35 / 1300 * 100vw);
    padding-left: min(140px, calc(140 / 1300 * 100vw));
    min-height: min(195px, calc(195 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
    position: relative;
  }
  .business-works__text:before{
    content: '';
    width: min(1px, calc(1 / 1300 * 100vw));
    height: min(160px, calc(160 / 1300 * 100vw));
    background-color: var(--color-black);
    position: absolute;
    top: 0;
    left: min(80px, calc(80 / 1300 * 100vw));
  }
  .business-works__text--first:before{
    height: min(195px, calc(195 / 1300 * 100vw));
  }
  .business-works__first-contents{
    margin-top: min(20px, calc(20 / 1300 * 100vw));
  }
  .business-works__first-item{
    position: relative;
    display: flex;
  }
  .business-works__first-item:nth-of-type(odd){
    margin-left: min(220px, calc(220 / 1300 * 100vw));
  }
  .business-works__first-item:nth-of-type(even){
    margin-right: min(220px, calc(220 / 1300 * 100vw));
  }
  .business-works__first-item:not(:first-of-type){
    margin-top: calc(50 / 375 * 100vw);
  }
  .business-works__first-title{
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: min(30px, calc(30 / 1300 * 100vw));
    font-weight: 700;
    font-family: var(--font-family-mincho);
    position: absolute;
  }
  .business-works__first-item:nth-of-type(odd) .business-works__first-title{
    top: 0;
    left: min(63px, calc(63 / 1300 * 100vw));
  }
  .business-works__first-item:nth-of-type(even) .business-works__first-title{
    top: min(3px, calc(3 / 1300 * 100vw));
    right: min(300px, calc(300 / 1300 * 100vw));
  }
  .business-works__first-item:nth-of-type(even) .business-works__first-title:before{
    content: '';
    width: min(1px, calc(1 / 1300 * 100vw));
    height: min(195px, calc(195 / 1300 * 100vw));
    background-color: var(--color-black);
    position: absolute;
    top: min(-20px, calc(-20 / 1300 * 100vw));
    left: min(80px, calc(80 / 1300 * 100vw));
  }
  .business-works__first-image{
    width: min(715px, calc(715 / 1300 * 100vw));
  }
  .business-works__first-item:nth-of-type(odd) .business-works__first-image{
    margin-left: auto;
  }
  .business-works__first-item:nth-of-type(even) .business-works__first-image{
    margin-right: auto;
  }
  .business-works__first-text{
    margin-top: 0;
    position: absolute;
    width: 600px;
    padding: min(35px, calc(35 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .business-works__first-item:not(:first-of-type){
    margin-top: 200px;
  }
  .business-works__first-item:nth-of-type(odd) .business-works__first-text{
    left: -15%;
    bottom: -80px;
  }
  .business-works__first-item:nth-of-type(even) .business-works__first-text{
    right: -15%;
    bottom: -80px;
  }
  .business-works__section:nth-of-type(odd) .business-works__contents{
    margin-right: min(220px, calc(220 / 1300 * 100vw));
  }
  .business-works__section:nth-of-type(even) .business-works__contents{
    margin-left: min(220px, calc(220 / 1300 * 100vw));
  }
  .business-works__text{
    margin-bottom: 0;
  }
}

@media screen and (min-width: 1200px) {
  .business-works__first-text{
    margin-top: 0;
    position: absolute;
    width: 458px;
    padding: min(35px, calc(35 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .business-works__first-item:not(:first-of-type){
    margin-top: 100px;
  }
  .business-works__first-item:nth-of-type(odd) .business-works__first-text{
    left: 0;
    bottom: min(-50px, calc(-10 / 1300 * 100vw));
  }
  .business-works__first-item:nth-of-type(even) .business-works__first-text{
    right: 0;
    bottom: min(-60px, calc(-60 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*business 02*/
/*-------------------------------------*/
.business-02{
  margin-top: 60px;
}

.business-02__img{
  margin: 0 auto;
  width: 300px;
  transform: translateX(21px);
}

@media screen and (min-width: 768px) {
  .business-02{
    margin-top: min(90px, calc(90 / 1300 * 100vw));
  }
  .business-02__img{
    margin: 0 auto;
    width: min(843px, calc(843 / 1300 * 100vw));
    transform: translateX(min(53px, calc(53 / 1300 * 100vw)));
  }
}

/*-------------------------------------*/
/*energy*/
/*-------------------------------------*/
.energy{
  margin-top: 32px;
  padding-bottom: 60px;
  position: relative;
  background-image: url("../images/business/bg.png");
  background-size: cover;
}

.energy__text-wrapper{
  padding-top: 32px;
  padding-bottom: 150px;
  width: 100%;
  background-image: url("../images/business/energy_bg.jpg");
  background-size: cover;
}

.energy__title{
  margin: 0 auto;
  width: min(400px, 100vw);
}

.energy__text{
  margin-top: 8px;
  padding: 0 calc(24 / 375 * 100vw);
  font-size: 14px;
  line-height: 1.5;
}

.energy__image-wrapper{
  margin-top: -100px;
  padding: 0 calc(24 / 375 * 100vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(8 / 375 * 100vw);
}

.energy__image-wrapper > img{
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

@media screen and (min-width: 768px) {
  .energy{
    margin-top: min(50px, calc(50 / 1300 * 100vw));
    padding-bottom: min(170px, calc(170 / 1300 * 100vw));
    position: relative;
    background-image: url("../images/business/bg.png");
    background-size: cover;
  }
  .energy__text-wrapper{
    padding-top: min(150px, calc(150 / 1300 * 100vw));
    padding-bottom: min(500px, calc(500 / 1300 * 100vw));
    width: 100%;
    background-image: url("../images/business/energy_bg.jpg");
    background-size: cover;
  }
  .energy__title{
    margin: 0 auto;
    width: min(1000px, calc(1000 / 1300 * 100vw));
  }
  .energy__text{
    margin-top: min(-16px, calc(-16 / 1300 * 100vw));
    padding: 0 min(140px, calc(140 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .energy__image-wrapper{
    margin-top: max(-200px, calc(-200 / 1300 * 100vw));
    padding: 0 min(140px, calc(140 / 1300 * 100vw));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(12px, calc(12 / 1300 * 100vw));
  }
  .energy__image-wrapper > img{
    aspect-ratio: 1 / 1;
    object-fit: cover;
  }
}

/*-------------------------------------*/
/*business 03*/
/*-------------------------------------*/
.business-03{
  margin-top: min(90px, calc(90 / 1300 * 100vw));
}

.business-03__img{
  margin: 50px auto 0;
  width: min(600px, calc(600 / 1300 * 100vw));
}

.business-03__main-img{
  margin-top: calc(-20 / 375 * 100vw);
  position: relative;
  z-index: -1;
}

@media screen and (min-width: 768px) {
  .business-03{
    margin-top: min(90px, calc(90 / 1300 * 100vw));
  }
  .business-03__img{
    margin: 0 auto;
    width: min(471px, calc(471 / 1300 * 100vw));
  }
  .business-03__main-img{
    margin-top: min(-50px, calc(-80 / 1300 * 100vw));
  }
}
/*-------------------------------------*/
/*agriculture*/
/*-------------------------------------*/
.agriculture{
  margin-top: 40px;
}

.agriculture__inner{
  padding: 0 16px;
}

.agriculture__detail{
  display: grid;
  gap: 30px;
}

.agriculture__detail-item{
  display: grid;
  gap: 24px;
}

.agriculture__detail-text{
  font-size: 16px;
  line-height: 1.6;
}

.agriculture__detail-img{
  margin: 0 auto;
  width: 240px;
}
.agriculture__detail-img2{
  margin: 0 auto;
  width: 100%;
  padding: 0;
}
.agriculture__detail-img2:nth-of-type(2){
  margin: -16px auto 0;
}

.agriculture__list{
  margin-top: 50px;
  display: grid;
  grid-template-columns: 1fr;
  gap: 40px;
}

.agriculture__item{
  padding: 20px 16px 16px;
  position: relative;
  border: 1px solid;
  background-color: var(--color-white);
}

.agriculture__item:before{
  content: '';
  position: absolute;
  inset: 0;
  transform: translate(15px, 25px);
  background-image: url("../images/business/agri_bg.jpg");
  background-size: cover;
  background-position: center;
  z-index: -1;
}

.agriculture__item-header{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}

.agriculture__item-name{
  display: grid;
  place-items: center;
  height: calc(20px * 1.6 * 2);
  font-size: 20px;
  line-height: 1.3;
  text-align: center;
  font-weight: 500;
  font-family: var(--font-family-mincho);
}

.agriculture__item-img{
  margin-top: 16px;
  text-align: center;
}
.agriculture__item-img img{
  width: 60%;
  margin-left: auto;
  margin-right: auto;
}

.agriculture__item-list-wrapper{
  margin-top: 16px;
  display: grid;
  gap: 5px;
}

.agriculture__item-list{
  display: grid;
  grid-template-columns: 60px 1fr;
  gap: 10px;
}

.agriculture__item-title{
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
  text-align:justify;
  text-align-last:justify;
}

.agriculture__item-data{
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
}

.agriculture__item-text{
  margin-top: 16px;
  padding-top: 16px;
  border-top: 4px solid #D6E6C2;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 500;
}

@media screen and (min-width: 768px) {
  .agriculture{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
  }
  .agriculture__inner{
    padding: 0 min(190px, calc(190 / 1300 * 100vw)) 0 min(190px, calc(190 / 1300 * 100vw));
  }
  .agriculture__list{
    margin-top: min(60px, calc(60 / 1300 * 100vw));
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: min(60px, calc(60 / 1300 * 100vw)) min(45px, calc(45 / 1300 * 100vw));
  }
  .agriculture__item{
    padding: min(88px, calc(88 / 1300 * 100vw)) min(28px, calc(28 / 1300 * 100vw)) min(32px, calc(32 / 1300 * 100vw));
  }
  .agriculture__item-name{
    height: min(calc(32px * 1.6 * 2), calc(32px * 1.6 * 2 / 1300 * 100vw));
    font-size: min(32px, calc(32 / 1300 * 100vw));
  }
  .agriculture__item-img{
    margin-top: min(24px, calc(24 / 1300 * 100vw));
  }
  .agriculture__item-img img{
    width: 100%;
  }
  .agriculture__item-list{
    grid-template-columns: min(80px, calc(80 / 1300 * 100vw)) 1fr;
    gap: min(20px, calc(20 / 1300 * 100vw));
  }
  .agriculture__item-title{
    font-size: min(16px, calc(16 / 1300 * 100vw));
  }
  .agriculture__item-data{
    font-size: min(16px, calc(16 / 1300 * 100vw));
  }
  .agriculture__item-text{
    margin-top: min(28px, calc(28 / 1300 * 100vw));
    padding-top: min(28px, calc(28 / 1300 * 100vw));
    font-size: min(15px, calc(15 / 1300 * 100vw));
  }
  .agriculture__detail{
    grid-template-columns: repeat(2, 1fr);
    gap: min(45px, calc(45 / 1300 * 100vw));
  }
  .agriculture__detail-item{
    gap: 0;
  }
  .agriculture__detail-img{
    width: 100%;
  }
  .agriculture__detail-img--ice{
    width: 90%;
    margin-bottom: 40px;
  }
  .agriculture__detail-text{
    font-size: min(18px, calc(18 / 1300 * 100vw));
  }
}


/*-------------------------------------*/
/*recipe*/
/*-------------------------------------*/
.recipe{
  margin-top: 60px;
  padding: 40px 0 60px;
  background-image: url("../images/business/bg.png");
  background-size: cover;
  color: #231815;
}

.recipe__inner{
  padding: 0 16px;
}

.recipe__box{
  padding: 6px;
  border: 1px solid var(--color-black);
  background-color: #6FBBA9;
  border-radius: 20px;
  position: relative;
}

.recipe__box:before{
  content: '';
  border: 1px solid var(--color-black);
  background-color: #6FBBA9;
  border-radius: 50%;
  width: 150px;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}

.recipe__header-bg{
  background-color: #6FBBA9;
  border-radius: 50%;
  width: 148px;
  aspect-ratio: 1 / 1;
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
}

.recipe__header{
  position: absolute;
  width: 138px;
  top: 20px;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
}

.recipe__box-bg{
  background-color: var(--color-white);
  border-radius: 14px;
  position: absolute;
  inset: 6px;
  z-index: 1;
}

.recipe__box-contents{
  position: relative;
  z-index: 2;
  padding: 60px 24px 40px;
}

.recipe__message-wrapper{
  display: grid;
  justify-content: center;
}

.recipe__message{
  font-size: 16px;
  font-weight: 500;
  text-align: center;
  position: relative;
}

.recipe__message:after{
  content: '';
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 10px;
  background-image: url("../images/business/recipe_border.png");
  background-size: 100% 100%;
}

.recipe__main{
  margin-top: 16px;
  display: grid;
  gap: 16px;
}

.recipe__main-text{
  font-size: 14px;
  line-height: 1.5;
}

.recipe__arrow{
  margin: 24px auto 0;
  width: 24px;
}

.recipe__list{
  display: grid;
  gap: 40px;
}

.recipe__title-wrapper{
  display: grid;
  grid-template-columns: 50px 1fr;
  gap: 12px;
  align-items: flex-end;
}

.recipe__title-text{
  font-size: 16px;
  font-weight: 500;
  padding-bottom: 2px;
  background-image : linear-gradient(to right, #231815 2px, transparent 2px);
  background-size: 6px 2px;
  background-repeat: repeat-x;
  background-position: left bottom;
}

.recipe__item-contents{
  margin-top: 16px;
  display: grid;
  gap: 16px;
  align-items: flex-start;
}

.recipe__number-list{
  display: grid;
  gap: 8px;
  counter-reset: number 0;
}

.recipe__number-item{
  display: grid;
  grid-template-columns: 16px 1fr;
  gap: 8px;
  font-size: 14px;
  line-height: 1.5;
}

.recipe__number-item:before{
  margin-top: 1px;
  display: grid;
  place-items: center;
  counter-increment: number 1;
  content: counter(number);
  border: 1px solid;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  font-size: 10px;
}


@media screen and (min-width: 768px) {
  .recipe{
    margin-top: min(120px, calc(120 / 1300 * 100vw));
    padding: min(180px, calc(180 / 1300 * 100vw)) 0 min(100px, calc(100 / 1300 * 100vw));
    background-image: url("../images/business/bg.png");
    background-size: cover;
  }
  .recipe__inner{
    padding: 0 min(130px, calc(130 / 1300 * 100vw)) 0 min(130px, calc(130 / 1300 * 100vw));
  }
  .recipe__box:before{
    border: min(4px, calc(4 / 1300 * 100vw)) solid var(--color-black);
    width: min(430px, calc(430 / 1300 * 100vw));
    top: min(50px, calc(50 / 1300 * 100vw));
  }
  .recipe__header-bg{
    width: min(422px, calc(422 / 1300 * 100vw));
    top: min(50px, calc(50 / 1300 * 100vw));
  }
  .recipe__header{
    width: min(382px, calc(382 / 1300 * 100vw));
    top: min(50px, calc(50 / 1300 * 100vw));
  }
  .recipe__box{
    padding: 6px;
    border: min(4px, calc(4 / 1300 * 100vw)) solid var(--color-black);
    border-radius: min(40px, calc(40 / 1300 * 100vw));
  }
  .recipe__box-bg{
    border-radius: min(20px, calc(20 / 1300 * 100vw));
    inset: min(20px, calc(20 / 1300 * 100vw));
  }
  .recipe__box-contents {
    padding: min(160px, calc(160 / 1300 * 100vw)) min(140px, calc(140 / 1300 * 100vw));
  }
  .recipe__message{
    font-size: min(22px, calc(22 / 1300 * 100vw));
  }
  .recipe__main{
    margin-top: min(32px, calc(32 / 1300 * 100vw));
    grid-template-columns: min(360px, calc(360 / 1300 * 100vw)) 1fr;
    gap: min(24px, calc(24 / 1300 * 100vw));
  }
  .recipe__main-text{
    font-size: min(15px, calc(15 / 1300 * 100vw));
  }
  .recipe__arrow{
    margin: min(46px, calc(46 / 1300 * 100vw)) auto 0;
    width: min(56px, calc(56 / 1300 * 100vw));
  }
  .recipe__title-wrapper{
    grid-template-columns: min(156px, calc(156 / 1300 * 100vw)) 1fr;
    gap: min(26px, calc(26 / 1300 * 100vw));
  }
  .recipe__title-text{
    font-size: min(28px, calc(28 / 1300 * 100vw));
    padding-bottom: min(8px, calc(8 / 1300 * 100vw));
    background-image : linear-gradient(to right, #231815 min(4px, calc(4 / 1300 * 100vw)), transparent min(4px, calc(4 / 1300 * 100vw)));
    background-size: min(12px, calc(12 / 1300 * 100vw)) min(4px, calc(4 / 1300 * 100vw));
  }
  .recipe__list{
    gap: min(60px, calc(60 / 1300 * 100vw));
  }
  .recipe__item-contents{
    margin-top: min(32px, calc(32 / 1300 * 100vw));
    grid-template-columns: min(348px, calc(348 / 1300 * 100vw)) 1fr;
    gap: min(24px, calc(24 / 1300 * 100vw));
  }
  .recipe__number-list{
    gap: min(16px, calc(16 / 1300 * 100vw));
  }
  .recipe__number-item{
    grid-template-columns: min(16px, calc(16 / 1300 * 100vw)) 1fr;
    gap: min(8px, calc(8 / 1300 * 100vw));
    font-size: min(15px, calc(15 / 1300 * 100vw));
  }
  .recipe__number-item:before{
    margin-top: 1px;
    width: min(16px, calc(16 / 1300 * 100vw));
    height: min(16px, calc(16 / 1300 * 100vw));
    font-size: min(10px, calc(10 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*works message*/
/*-------------------------------------*/
.works-message__img{
  margin: 24px auto 0;
  width: min(400px, 100%);
  aspect-ratio: 661 / 365;
  position: relative;
}

.works-message__img svg{
  position: absolute;
  inset: 0;
}

.works-message__img .hexagon{
  opacity: 0;
}

@media screen and (min-width: 768px) {
  .works-message__img{
    margin: min(70px, calc(70 / 1300 * 100vw)) auto 0;
    width: min(661px, calc(661 / 1300 * 100vw));
    position: relative;
  }
  .works-message__img svg{
    position: absolute;
    inset: 0;
  }
  .works-message__img .hexagon{
    opacity: 0;
  }
}

/*-------------------------------------*/
/*works*/
/*-------------------------------------*/
.works{
  margin-top: 24px;
  padding: 32px 0;
  background-image: url("../images/business/bg.png");
  background-size: cover;
}

.works__inner{
  padding: 0 16px;
}

.works__title{
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  font-family: var(--font-family-mincho);
  letter-spacing: 0.06em;
}

.works__list{
  margin-top: 24px;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: center;
  gap: 16px min(16px, calc(8 / 375 * 100vw));
}

.works__item{
  display: none;
  filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
  transition: opacity 0.3s, visibility 0.3s;
}

.works__item.is-hidden{
  opacity: 0;
  visibility: hidden;
}

.works__item.is-show{
  display: block;
}

.works__category{
  background-color: #63B19E;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-white);
  letter-spacing: 0.06em;
  padding: 4px 16px;
}

.works__text-wrapper{
  padding: 8px;
  background-color: var(--color-white);
}

.works__item-title{
  font-size: 14px;
  line-height: 1.5;
  height: 42px;
  font-weight: 500;
  padding-bottom: 8px;
  border-bottom: 1px solid;
}

.works__item-img{
  margin-top: 16px;
  aspect-ratio: 214 / 160;
}

.works__item-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.works__inner .works__cap{
  font-size: 90%;
  margin: 30px 0 0 10px;
}


@media screen and (min-width: 768px) {
  .works{
    margin-top: min(45px, calc(45 / 1300 * 100vw));
    padding: min(60px, calc(60 / 1300 * 100vw)) 0 min(140px, calc(140 / 1300 * 100vw));
    background-image: url("../images/business/bg.png");
    background-size: cover;
  }
  .works__inner{
    padding: 0 min(110px, calc(110 / 1300 * 100vw)) 0 min(110px, calc(110 / 1300 * 100vw));
  }
  .works__title{
    font-size: min(20px, calc(20 / 1300 * 100vw));
    font-weight: 700;
    text-align: center;
    font-family: var(--font-family-mincho);
    letter-spacing: min(0.06em, calc(0.06em / 1300 * 100vw));
  }
  .works__list{
    margin-top: min(45px, calc(45 / 1300 * 100vw));
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(200 / 1300 * 100vw)), min(254px, calc(254 / 1300 * 100vw))));
    justify-content: center;
    gap: min(40px, calc(40 / 1300 * 100vw)) min(15px, calc(15 / 1300 * 100vw));
  }
  .works__item{
    display: none;
    filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.2));
    transition: opacity 0.3s, visibility 0.3s;
  }
  .works__item.is-hidden{
    opacity: 0;
    visibility: hidden;
  }
  .works__item.is-show{
    display: block;
  }
  .works__category{
    background-color: #63B19E;
    font-size: min(12px, calc(12 / 1300 * 100vw));
    font-weight: 700;
    color: var(--color-white);
    letter-spacing: min(0.06em, calc(0.06em / 1300 * 100vw));
    padding: min(4px, calc(4 / 1300 * 100vw)) min(20px, calc(20 / 1300 * 100vw));
  }
  .works__text-wrapper{
    padding: min(8px, calc(8 / 1300 * 100vw)) min(20px, calc(20 / 1300 * 100vw)) min(20px, calc(20 / 1300 * 100vw));
    background-color: var(--color-white);
  }
  .works__item-title{
    font-size: min(16px, calc(16 / 1300 * 100vw));
    line-height: min(28px, calc(28 / 1300 * 100vw));
    height: min(56px, calc(56 / 1300 * 100vw));
    font-weight: 500;
    padding-bottom: min(6px, calc(6 / 1300 * 100vw));
    border-bottom: min(1px, calc(1 / 1300 * 100vw)) solid;
  }
  .works__item-img{
    margin-top: 24px;
  }
}

/*-------------------------------------*/
/*contact message*/
/*-------------------------------------*/
.contact-message__img{
  display: block;
  margin: 30px auto;
  width: 300px;
}

@media screen and (min-width: 768px) {
  .contact-message__img{
    margin: min(70px, calc(70 / 1300 * 100vw)) auto 0;
    width: min(661px, calc(661 / 1300 * 100vw));
  }
}


@media screen and (min-width: 1024px) {
  .contact-message__img{
    pointer-events: none;
  }
}

/*-------------------------------------*/
/*contact*/
/*-------------------------------------*/
.contact{
  margin-top: 20px;
  padding: 40px 0;
  background-image: url("../images/business/bg.png");
  background-size: cover;
}

.contact__message{
  display: grid;
  place-items: center;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
}

.contact__inner{
  padding: 0 24px 0 24px;
}

.contact__box{
  margin-top: 24px;
  padding: 24px 16px;
  background-color: var(--color-white);
}

.contact__sub-title{
  font-size: 12px;
  font-family: var(--font-family-en);
}

.contact__title{
  margin-top: 12px;
  font-size: 20px;
  font-weight: 700;
}

.contact__text{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.5;
}

.contact__form{
  margin-top: 15px;
}

@media screen and (min-width: 768px) {
  .contact{
    margin-top: min(44px, calc(44 / 1300 * 100vw));
    padding: min(80px, calc(80 / 1300 * 100vw)) 0 min(180px, calc(180 / 1300 * 100vw));
    background-image: url("../images/business/bg.png");
    background-size: cover;
  }
  .contact__message{
    display: grid;
    place-items: center;
    font-size: min(18px, calc(18 / 1300 * 100vw));
    line-height: min(32px, calc(32 / 1300 * 100vw));
    font-weight: 600;
  }
  .contact__inner{
    padding: 0 min(220px, calc(220 / 1300 * 100vw)) 0 min(220px, calc(220 / 1300 * 100vw));
  }
  .contact__box{
    margin-top: min(120px, calc(120 / 1300 * 100vw));
    padding: min(60px, calc(60 / 1300 * 100vw)) min(120px, calc(120 / 1300 * 100vw));
    background-color: var(--color-white);
  }
  .contact__sub-title{
    font-size: min(20px, calc(20 / 1300 * 100vw));
    font-family: var(--font-family-en);
  }
  .contact__title{
    margin-top: min(20px, calc(20 / 1300 * 100vw));
    font-size: min(60px, calc(60 / 1300 * 100vw));
    font-weight: 700;
  }
  .contact__text{
    margin-top: min(26px, calc(26 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .contact__form{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*recruit kv*/
/*-------------------------------------*/
.recruit-kv{
  padding-bottom: 40px;
  background-image: url("../images/recruit/kv_bg.png");
  background-size: cover;
}

.recruit-kv__text-wrapper{
  padding: 100px 40px 0;
}

.recruit-kv__title{
  width: 170px;
}

.recruit-kv__message{
  margin-top: 16px;
  font-size: 28px;
  font-weight: 600;
  font-family: var(--font-family-mincho);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
}

.recruit-kv__text{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.5;
}

.recruit-kv__link-wrapper{
  margin-top: 24px;
  display: grid;
  gap: 16px;
}

.recruit-kv__link-item{
  width: 98vw;
  margin-left: auto;
  margin-right: auto;
}


@media screen and (min-width: 768px) {
  .recruit-kv{
    padding-bottom: min(150px, calc(150 / 1300 * 100vw));
    background-image: url("../images/recruit/kv_bg.png");
    background-size: cover;
  }
  .recruit-kv__text-wrapper{
    padding: min(240px, calc(240 / 1300 * 100vw)) min(150px, calc(150 / 1300 * 100vw)) 0;
  }
  .recruit-kv__title{
    width: min(494px, calc(494 / 1300 * 100vw));
  }
  .recruit-kv__message{
    margin-top: min(40px, calc(40 / 1300 * 100vw));
    font-size: min(50px, calc(50 / 1300 * 100vw));
    font-weight: 600;
    font-family: var(--font-family-mincho);
    text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  }
  .recruit-kv__text{
    margin-top: min(30px, calc(30 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .recruit-kv__link-wrapper{
    margin-top: min(50px, calc(50 / 1300 * 100vw));
    display: grid;
    gap: min(20px, calc(20 / 1300 * 100vw));
  }
  .recruit-kv__link-item{
    width: min(1200px, calc(1200 / 1300 * 100vw));
    margin-left: 0;
  }
  .recruit-kv__link-item:nth-of-type(even){
    margin-right: 0;
    margin-left: auto;
  }
}

/*-------------------------------------*/
/*recruit*/
/*-------------------------------------*/
.recruit__title-wrapper{
  padding-top: 40px;
}

.recruit__title-wrapper--bg{
  background-image: url("../images/recruit/bg_01.png");
  background-size: cover;
  background-position: center;
}

.recruit__title-inner{
  margin-left: 16px;
  padding-right: 16px;
  padding-bottom: 24px;
  position: relative;
}

.recruit__title{
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--color-primary);
  font-family: var(--font-family-mincho);
  text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
}

.recruit__title-text{
  margin-top: 16px;
  font-size: 14px;
  line-height: 1.5;
}

.recruit__sub-title{
  display: none;
}

.recruit__sub-title--job{
  top: 0;
  bottom: auto;
}

.recruit__sub-title:after{
  content: '';
  display: block;
  width: 100px;
  height: 1px;
  background-color: var(--color-black);
}

.recruit__contents{
  padding-top: 24px;
  padding-bottom: 40px;
}

.recruit__contents--bg{
  background-image: url("../images/recruit/bg_2.png");
  background-size: cover;
  background-position: center;
}

.recruit__list{
  margin-left: 16px;
  display: grid;
  gap: min(110px, calc(110 / 1300 * 100vw));
}

.recruit__item{
  position: relative;
}

.recruit__item-person{
  position: absolute;
  left: 0;
  top: 0;
  width: min(340px, calc(340 / 1300 * 100vw));
}

.recruit__item-name-wrapper{
  margin-top: min(4px, calc(4 / 1300 * 100vw));
  margin-left: min(28px, calc(28 / 1300 * 100vw));
  padding-left: min(30px, calc(30 / 1300 * 100vw));
  padding-bottom: min(30px, calc(30 / 1300 * 100vw));
  border-left: 1px solid var(--color-primary);
}

.recruit__item-job{
  padding-top: min(20px, calc(20 / 1300 * 100vw));
  font-size: 12px;
  line-height: 1.2;
  font-weight: 500;
}

.recruit__item-name{
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
  font-style: italic;
}

.recruit__detail{
  margin-top: min(45px, calc(45 / 1300 * 100vw));
  margin-left: min(85px, calc(85 / 1300 * 100vw));
  display: grid;
  gap: min(8px, calc(8 / 1300 * 100vw));
}

.recruit__detail-item{
  padding: min(35px, calc(35 / 1300 * 100vw)) min(75px, calc(75 / 1300 * 100vw)) min(35px, calc(35 / 1300 * 100vw)) min(300px, calc(300 / 1300 * 100vw));
  background-color: var(--color-white);
}

.recruit__detail-title{
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-family-mincho);
}

.recruit__detail-text{
  margin-top: min(20px, calc(20 / 1300 * 100vw));
  font-size: 12px;
  line-height: 1.4;
}

.recruit__job-wrapper{
  margin-top: -24px;
  padding: 0 16px;
  position: relative;
  z-index: 1;
}

.recruit__tab-wrapper{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: min(30px, calc(30 / 1300 * 100vw));
}

.recruit__tab{
  display: grid;
  place-items: center;
  height: 40px;
  border-top: 4px solid #E9E9E9;
  outline: 1px solid;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  font-family: var(--font-family-mincho);
  background-color: var(--color-white);
}

.recruit__tab.is-current{
  box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.2);
}

.recruit__job-contents{
  margin-top: 24px;
}

.recruit__job-box{
  border: 1px solid;
  display: none;
}

.recruit__job-box.is-current{
  display: block;
}

.recruit__job-detail-wrapper{
  padding: 0 10px;
  position: relative;
}

.recruit__job-detail-wrapper:before{
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  background-color: rgba(180, 220, 200, .2);
  width: 130px;
  height: 100%;
}

.recruit__job-title{
  background-image: url("../images/recruit/job_bg.png");
  background-size: cover;
  background-position: center;
  font-size: 14px;
  font-weight: 700;
  color: var(--color-white);
  font-family: var(--font-family-mincho);
  padding: 8px 10px;
}

.recruit__job-detail{
  display: grid;
  grid-template-columns: 120px 1fr;
}

.recruit__job-detail-title,
.recruit__job-detail-data{
  padding: 8px 10px;
}

.recruit__job-detail:not(:first-of-type){
  border-top: 1px solid;
}

.recruit__job-detail-title{
  font-size: 12px;
  line-height: 1.5;
  text-align: justify;
  text-align-last: justify;
}

.recruit__job-detail-data{
  font-size: 12px;
  line-height: 1.5;
}

.recruit__job-detail-data--small{
  display: inline-block;
  font-size: 12px;
  line-height: 1.5;
}

.recruit__job-contact-wrapper{
  margin-top: 40px;
  display: grid;
  justify-content: center;
}

.recruit__job-contact{
  display: inline-grid;
  place-items: center;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 700;
  color: var(--color-white);
  letter-spacing: 0.1em;
  background-color: var(--color-primary);
  width: 300px;
  height: 40px;
}

@media screen and (min-width: 768px) {
  .recruit__title-wrapper{
    padding-top: min(80px, calc(80 / 1300 * 100vw));
  }
  .recruit__title-wrapper--bg{
    background-image: url("../images/recruit/bg_01.png");
    background-size: cover;
    background-position: center;
  }
  .recruit__title-inner{
    margin-left: min(264px, calc(264 / 1300 * 100vw));
    padding-right: min(150px, calc(150 / 1300 * 100vw));
    padding-bottom: min(240px, calc(240 / 1300 * 100vw));
    position: relative;
  }
  .recruit__title{
    font-size: min(80px, calc(80 / 1300 * 100vw));
    font-weight: 700;
    letter-spacing: 0.1em;
    color: var(--color-primary);
    font-family: var(--font-family-mincho);
    text-shadow: 4px 4px 0 rgba(0, 0, 0, 0.2);
  }
  .recruit__title-text{
    margin-top: min(24px, calc(24 / 1300 * 100vw));
    margin-left: min(24px, calc(24 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .recruit__sub-title{
    display: block;
    position: absolute;
    bottom: 0;
    left: max(-80px, calc(-80 / 1300 * 100vw));
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    font-size: min(20px, calc(20 / 1300 * 100vw));
    font-family: var(--font-family-en);
    font-style: italic;
    display: flex;
    align-items: center;
    gap: min(30px, calc(30 / 1300 * 100vw));
  }
  .recruit__sub-title--job{
    top: 0;
    bottom: auto;
  }
  .recruit__sub-title:after{
    content: '';
    display: block;
    width: 1px;
    height: min(138px, calc(138 / 1300 * 100vw));
    background-color: var(--color-black);
  }
  .recruit__contents{
    padding-top: min(30px, calc(30 / 1300 * 100vw));
    padding-bottom: min(200px, calc(200 / 1300 * 100vw));
  }
  .recruit__contents--bg{
    background-image: url("../images/recruit/bg_2.png");
    background-size: cover;
    background-position: center;
  }
  .recruit__list{
    margin-top: max(-250px, calc(-250 / 1300 * 100vw));
    margin-left: min(264px, calc(264 / 1300 * 100vw));
    display: grid;
    gap: min(110px, calc(110 / 1300 * 100vw));
  }
  .recruit__item{
    position: relative;
  }
  .recruit__item-person{
    position: absolute;
    left: 0;
    top: 0;
    width: min(340px, calc(340 / 1300 * 100vw));
  }
  .recruit__item-name-wrapper{
    margin-top: min(4px, calc(4 / 1300 * 100vw));
    margin-left: min(28px, calc(28 / 1300 * 100vw));
    padding-left: min(30px, calc(30 / 1300 * 100vw));
    padding-bottom: min(30px, calc(30 / 1300 * 100vw));
    border-left: 1px solid var(--color-primary);
  }
  .recruit__item-job{
    padding-top: min(20px, calc(20 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 1300 * 100vw));
    line-height: min(28px, calc(28 / 1300 * 100vw));
    font-weight: 500;
  }
  .recruit__item-name{
    font-size: min(32px, calc(32 / 1300 * 100vw));
    font-weight: 700;
    font-family: var(--font-family-mincho);
    font-style: italic;
  }
  .recruit__detail{
    margin-top: min(45px, calc(45 / 1300 * 100vw));
    margin-left: min(85px, calc(85 / 1300 * 100vw));
    display: grid;
    gap: min(8px, calc(8 / 1300 * 100vw));
  }
  .recruit__detail-item{
    padding: min(35px, calc(35 / 1300 * 100vw)) min(75px, calc(75 / 1300 * 100vw)) min(35px, calc(35 / 1300 * 100vw)) min(300px, calc(300 / 1300 * 100vw));
    background-color: var(--color-white);
  }
  .recruit__detail-title{
    font-size: min(25px, calc(25 / 1300 * 100vw));
    font-weight: 700;
    font-family: var(--font-family-mincho);
  }
  .recruit__detail-text{
    margin-top: min(20px, calc(20 / 1300 * 100vw));
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
  }
  .recruit__job-wrapper{
    margin-top: max(-100px, calc(-100 / 1300 * 100vw));
    padding: 0 min(150px, calc(150 / 1300 * 100vw));
    position: relative;
    z-index: 1;
  }
  .recruit__tab-wrapper{
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: min(8px, calc(8 / 1300 * 100vw));
  }
  .recruit__tab{
    display: grid;
    place-items: center;
    height: min(112px, calc(112 / 1300 * 100vw));
    border-top: min(5px, calc(5 / 1300 * 100vw)) solid #E9E9E9;
    outline: 1px solid;
    font-size: min(21px, calc(21 / 1300 * 100vw));
    font-weight: 700;
    letter-spacing: 0.1em;
    font-family: var(--font-family-mincho);
    background-color: var(--color-white);
  }
  .recruit__tab.is-current{
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.2);
  }
  .recruit__job-contents{
    margin-top: min(74px, calc(74 / 1300 * 100vw));
  }
  .recruit__job-box{
    border: 1px solid;
    display: none;
  }
  .recruit__job-box.is-current{
    display: block;
  }
  .recruit__job-detail-wrapper{
    padding: 0 min(24px, calc(24 / 1300 * 100vw));
    position: relative;
  }
  .recruit__job-detail-wrapper:before{
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: rgba(180, 220, 200, .2);
    width: min(240px, calc(240 / 1300 * 100vw));
    height: 100%;
  }
  .recruit__job-title{
    background-image: url("../images/recruit/job_bg.png");
    background-size: cover;
    background-position: center;
    font-size: min(30px, calc(30 / 1300 * 100vw));
    font-weight: 700;
    color: var(--color-white);
    font-family: var(--font-family-mincho);
    padding: min(20px, calc(20 / 1300 * 100vw)) min(50px, calc(50 / 1300 * 100vw));
  }
  .recruit__job-detail{
    display: grid;
    grid-template-columns: min(212px, calc(212 / 1300 * 100vw)) 1fr;
  }
  .recruit__job-detail-title,
  .recruit__job-detail-data{
    padding: min(20px, calc(20 / 1300 * 100vw)) min(50px, calc(50 / 1300 * 100vw));
  }
  .recruit__job-detail:not(:first-of-type){
    border-top: 1px solid;
  }
  .recruit__job-detail-title{
    font-size: min(18px, calc(18 / 1300 * 100vw));
    line-height: min(33px, calc(33 / 1300 * 100vw));
    text-align: justify;
    text-align-last: justify;
  }
  .recruit__job-detail-data{
    font-size: min(18px, calc(18 / 768 * 100vw));
    line-height: min(33px, calc(33 / 768 * 100vw));
  }
  .recruit__job-detail-data--small{
    display: inline-block;
    font-size: min(15px, calc(15 / 768 * 100vw));
    line-height: 2;
  }
  .recruit__job-contact-wrapper{
    margin-top: min(120px, calc(120 / 1300 * 100vw));
    display: grid;
    justify-content: center;
  }
  .recruit__job-contact{
    display: inline-grid;
    place-items: center;
    font-size: min(16px, calc(16 / 768 * 100vw));
    line-height: min(28px, calc(28 / 768 * 100vw));
    font-weight: 700;
    color: var(--color-white);
    letter-spacing: 0.1em;
    background-color: var(--color-primary);
    width: min(657px, calc(657 / 1300 * 100vw));
    height: min(85px, calc(85 / 1300 * 100vw));
  }
}

/*-------------------------------------*/
/*Privacy Policy*/
/*-------------------------------------*/
.privacy-box .page__contents-inner {
padding: 30px 0 100px;
}

.privacy-box .page__contents-inner h5{
margin: 20px 0 10px;
font-size: 16px;
}


/*-------------------------------------*/


/*追加*/
.sp{
display: block;
}
.pc{
display: none;
}
@media screen and (min-width: 768px) {
.sp{
display: none;
}
.pc{
display: block;
}
}




































