/* ============================================================
   responsive-fluid.css  — 自動生成 (px→vw 比例スケール)
   1200px以上=基準(触らない)。以下を後読みで上書き:
   ・600–1200px : Xpx → (X/12)vw   (1200で等倍)
   ・≤600px     : Xpx → (X/6)vw    (600で等倍, 既存モバイル値を踏襲)
   切り戻し: このファイル読み込みを外す or 削除。生成元: /tmp/vwgen.py
   ============================================================ */
@media (min-width:600px) and (max-width:1199.98px){
:root{--color-primary:       rgb(0 118 129 / 75%); 
  --color-primary-light: #008C96; 
  --color-primary-dark:  #007c8f; 
  --color-text-teal:     #007c8f; 
  --color-gold:          #796428; 
  --header-pull: 12.3333vw;           
  --color-accent-green:  #3A8C5C;
  --color-accent-warm:   #D97A45;

  
  --color-text:          #1A1A2E;
  --color-text-sub:      #5A6476;
  --color-text-white:    #FFFFFF;

  
  --color-bg:            #FFFFFF;
  --color-bg-light:      #cddfe2; 
  --color-bg-seafoam:    #c7dbdf; 
  --color-bg-dark:       #003A3F; 
  --color-bg-gray:       #EEEFF2;

  
  --color-border:        #BCD4DD; 
  --color-border-light:  #DCE8EE; 

  
  
  --font-jp:   'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Zen Kaku Gothic New', 'Noto Sans JP', 'Meiryo', sans-serif;
  
  --font-en:   'Source Sans 3', 'Source Sans Pro', 'Hiragino Sans', sans-serif;
  --base-size: 1.3333vw;
  --lh-body:   1.8;
  --lh-heading: 1.35;

  
  --sp-xs:  .5rem;
  --sp-sm:  1rem;
  --sp-md:  2rem;
  --sp-lg:  4rem;
  --sp-xl:  6rem;

  
  --container-max: 100vw;
  --container-pad: 2vw;

  
  --radius:      0.3333vw;
  --radius-lg:   0.6667vw;
  --shadow-sm:   0 0.1667vw 0.6667vw rgba(0,0,0,.08);
  --shadow-md:   0 0.3333vw 1.6667vw rgba(0,0,0,.12);
  --transition:  .25s ease;

  
  --header-h: 5.8333vw;}
*, *::before, *::after{box-sizing: border-box; margin: 0; padding: 0;}
html{font-size: var(--base-size); scroll-behavior: smooth;}
body{font-family: var(--font-jp);
  font-size: 1rem;
  line-height: var(--lh-body);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;}
img, video{max-width: 100%; height: auto; display: block;}
a{color: inherit; text-decoration: none;}
a:hover{color: var(--color-primary);}
ul, ol{list-style: none;}
button{cursor: pointer; border: none; background: none; font: inherit;}
input, textarea, select{font: inherit;}
table{border-collapse: collapse; width: 100%;}
h1, h2, h3, h4, h5, h6{line-height: var(--lh-heading);
  font-weight: 700;
  letter-spacing: .02em;}
h1{font-size: 3.6667vw;}
h2{font-size: 3vw;}
h3{font-size: 2.3333vw;}
h4{font-size: 1.6667vw;}
h5{font-size: 1.5vw;}
p{margin-bottom: 1.25em;}
p:last-child{margin-bottom: 0;}
.container{max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);}
.container--narrow{max-width: 71.6667vw;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  color: #007c8f;}
.section{padding-block: var(--sp-xl);}
.section--sm{padding-block: var(--sp-lg);
  padding-top: 9rem;
  padding-bottom: 10.5rem;}
.section--bg-light{background: var(--color-bg-light);}
.section--bg-seafoam{background: var(--color-bg-seafoam);}
.section--bg-gray{background: var(--color-bg-gray);}
.section--bg-dark{background: var(--color-bg-dark); color: var(--color-text-white);}
.grid{display: grid; gap: var(--sp-md);}
.grid--2{grid-template-columns: repeat(2, 1fr);}
.grid--3{grid-template-columns: repeat(3, 1fr);}
.grid--4{grid-template-columns: repeat(4, 1fr);}
.sec-head{margin-bottom: var(--sp-lg);}
.top-hero__scroll-cue{display: none;}
.page-id-18 .sec-head, .page-id-19 .sec-head{padding-left: 2vw;}
.page-id-18 .l-main p, .page-id-19 .l-main p{padding-left: 2vw;}
.page-id-18 .compliance-list, .page-id-19 .privacy-dl{padding-left: 2vw;}
.page-id-19 .privacy-basics{margin-left: 2vw;}
.sec-head__en{display: block;
  font-family: var(--font-en);
  font-size: 1.375rem; 
  font-weight: 300;    
  letter-spacing: 0.02em; 
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: .4em;}
.sec-head__en{font-weight: 600 !important;}
.sec-head__ja{font-size: 2.1667vw;     
  font-weight: 500;    
  color: var(--color-text);}
.sec-head__sub{margin-top: .75em;
  color: var(--color-text-teal);
  font-size: 1.35rem;
  order: -1;}
.sec-head--center{text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;}
.sec-head.sec-head--center span.sec-head__en{order: 1;
  font-weight: 300;}
.sec-head.sec-head--center h2.about-dash-head__ja{font-weight: 400;}
.sec-head--line .sec-head__ja::after{content: '';
  display: block;
  width: 3.3333vw;
  height: 0.25vw;
  background: var(--color-primary);
  margin-top: .6em;}
.sec-head--center.sec-head--line .sec-head__ja::after{margin-inline: auto;}
.btn{display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: .75em 2em;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .05em;
  border-radius: 0; 
  transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);}
.btn--primary{background: var(--color-primary);
  color: #fff;
  border: 0.1667vw solid transparent;}
.btn--primary:hover{background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: #fff;}
.btn--outline{background: transparent;
  color: var(--color-primary);
  border: 0.0833vw solid var(--color-primary); 
  font-weight: 400;      
  justify-content: center;}
.btn--outline:hover{background: var(--color-primary);
  color: #fff;}
.btn--white{background: #fff;
  color: var(--color-primary);
  border: 0.1667vw solid #fff;}
.btn--white:hover{background: transparent;
  color: #fff;}
.btn--arrow::after{content: '→';
  font-family: var(--font-en);}
.breadcrumb{padding-block: .75rem;
  border-bottom: 0;          
  background: transparent;}
.breadcrumb ol{display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  font-size: .8rem;
  color: var(--color-text-sub);}
.breadcrumb__item{display: flex; align-items: center;}
.breadcrumb__item + .breadcrumb__item::before{content: '›';
  margin-right: .25rem;
  color: var(--color-border);}
.breadcrumb__item a:hover{color: var(--color-primary);}
.breadcrumb__item--current span{color: var(--color-text-sub);}
.page-hero{position: relative;
  min-height: calc(33.3333vw + var(--header-pull)); 
  
  margin-top: calc(-1 * var(--header-pull));    
  padding-top: var(--header-pull);
  display: flex;
  align-items: center;
  background: var(--color-bg-dark);
  overflow: hidden;}
.page-hero::before{content: '';
  position: absolute;
  inset: 0;
  
  background: none;
  z-index: 1;}
.page-hero__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;}
.page-hero__inner{position: relative;
  z-index: 2;
  width: 100%;
  padding-block: var(--sp-lg);
  margin-left: 7vw;}
.page-hero__title{color: #fff;
  font-size: 2.1667vw; 
  font-weight: 400;
  letter-spacing: .03em;}
.page-hero__title em{display: block;
  font-style: normal;
  font-family: var(--font-en);
  font-size: .82em; 
  font-weight: 400;
  letter-spacing: .1em;
  opacity: .85;
  margin-top: .5em;
  text-transform: none;}
.page-id-8 .page-hero__title em{letter-spacing: 0.04em;}
.page-hero--news .page-hero__bg{background: var(--color-bg-light) !important;}
.page-hero--news::before{background: none;}
.page-hero--news .page-hero__title, .page-hero--news .page-hero__title em{color: var(--color-primary-dark);}
.page-hero--news{min-height: calc(12.5vw + var(--header-pull)) !important;}
.card{background: var(--color-bg);
  border: 0.0833vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition);}
.card:hover{box-shadow: var(--shadow-md);
  transform: translateY(-0.1667vw);}
.card__img{overflow: hidden; aspect-ratio: 4/3;}
.card__img img{width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;}
.card:hover .card__img img{transform: scale(1.04);}
.card__body{padding: var(--sp-sm) var(--sp-md);}
.card__cat{display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--color-primary);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .4em;}
.card__title{font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: .5em;}
.card__meta{font-size: .8rem;
  color: var(--color-text-sub);}
.news-item{display: grid;
  grid-template-columns: 9em 1fr;
  gap: .75rem var(--sp-sm);
  align-items: baseline;
  padding-block: 1rem;
  border-bottom: 0.0833vw solid var(--color-border-light);
  font-size: .9rem;}
.news-item:first-child{border-top: 0.0833vw solid var(--color-border-light);}
.news-item__date{color: var(--color-text-sub);
  font-family: var(--font-en);
  font-size: .85rem;
  white-space: nowrap;}
.news-item__cat{display: inline-block;
  padding: .1em .6em;
  font-size: .7rem;
  font-weight: 600;
  border: 0.0833vw solid var(--color-primary);
  color: var(--color-primary);
  border-radius: var(--radius);
  white-space: nowrap;
  margin-right: .5em;}
.news-item__title a:hover{color: var(--color-primary); text-decoration: underline;}
.pagination{display: flex;
  justify-content: center;
  gap: .5rem;
  padding-block: var(--sp-lg);}
.pagination a, .pagination span{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.0833vw solid var(--color-border);
  border-radius: var(--radius);
  font-size: .9rem;
  transition: background var(--transition), color var(--transition);}
.pagination a:hover{background: var(--color-primary); color: #fff; border-color: var(--color-primary);}
.pagination .current{background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
  font-weight: 700;}
.tag{display: inline-block;
  padding: .2em .8em;
  font-size: .75rem;
  font-weight: 600;
  border-radius: 2em;
  background: var(--color-bg-light);
  color: var(--color-text-sub);
  border: 0.0833vw solid var(--color-border);}
.tag--primary{background: var(--color-primary); color: #fff; border-color: var(--color-primary);}
.tag--green{background: var(--color-accent-green); color: #fff; border-color: var(--color-accent-green);}
.related-pages{padding-block: var(--sp-xl); background: var(--color-bg);}
.related-pages__grid{display: grid;
  gap: 0.1667vw; 
  background: transparent;}
.related-page-item{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--sp-lg) var(--sp-md);
  background: var(--color-bg-light);
  transition: opacity var(--transition);
  min-height: 11.6667vw;}
.related-page-item:hover{opacity: .8;}
.related-page-item__ja{font-size: 1.5vw;
  font-weight: 300;
  color: var(--color-gold);
  margin-bottom: .1em;   
  line-height: 1.2;}
.related-page-item__en{font-family: var(--font-en);
  font-size: 1.1667vw;
  font-weight: 300;
  color: var(--color-gold);
  letter-spacing: .08em;}
.related-pages__grid--left{background: transparent;
  gap: 0.1667vw; 
  padding-inline: 0;}
.social-links{display: flex;
  align-items: center;
  gap: var(--sp-sm);}
.social-link{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0.0833vw solid var(--color-border);
  border-radius: 50%;
  font-size: .85rem;
  color: var(--color-text-sub);
  transition: background var(--transition), color var(--transition), border-color var(--transition);}
.social-link:hover{background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);}
.entry-content{max-width: 66.6667vw;}
.entry-content h2, .entry-content h3, .entry-content h4{margin-top: 2em;
  margin-bottom: .75em;}
.entry-content h2{font-size: 1.5rem;
  padding-left: .75em;
  border-left: 0.3333vw solid var(--color-primary);}
.entry-content h3{font-size: 1.2rem;
  color: var(--color-primary-dark);}
.entry-content ul, .entry-content ol{list-style: disc;
  padding-left: 1.5em;
  margin-bottom: 1.25em;}
.entry-content ol{list-style: decimal;}
.entry-content table{margin-bottom: 1.5em;
  font-size: .9rem;}
.entry-content th, .entry-content td{padding: .6em 1em;
  border: 0.0833vw solid var(--color-border);
  text-align: left;
  vertical-align: top;}
.entry-content th{background: var(--color-bg-light);
  font-weight: 700;}
.entry-content a{color: var(--color-primary);
  text-decoration: underline;}
.entry-content figure{margin-block: 1.5em;}
.entry-content figcaption{font-size: .8rem; color: var(--color-text-sub); margin-top: .5em;}
.site-header{position: sticky;
  top: 0;
  z-index: 1000;
  background: rgb(0 118 129 / 85%); 
  color: #fff;
  height: 12.3333vw;   
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition);}
.site-header.is-scrolled{box-shadow: var(--shadow-sm);}
.site-header{transition: transform .55s ease, opacity .55s ease, box-shadow var(--transition);}
.site-header.is-idle-hidden{transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;}
.site-header__utility-inner{display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-top: 1.1667vw;}
.utility-nav{display: flex;
  align-items: center;}
.utility-nav li a{display: inline-block;
  padding: 0.3333vw 1.3333vw;
  font-size: 1.0833vw;
  color: rgba(255,255,255,.85);
  letter-spacing: .04em;
  transition: color var(--transition);}
.utility-nav li:last-child a{padding-right: 0;}
.utility-nav li a:hover{color: #fff;}
.site-header__main{flex: 1;
  display: flex;
  align-items: flex-end;}
.site-header__main-inner{display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad); 
  padding-bottom: 1.1667vw;
  gap: 2.6667vw;}
.site-header__logo a{display: flex;
  flex-direction: column;
  line-height: 1;
  color: #fff;
  gap: 0.5vw;}
.site-header__logo-name{display: flex;
  justify-content: space-between;   
  font-family: var(--font-en);
  font-size: 4vw;
  font-weight: 800;
  letter-spacing: 0;                 
  color: #fff;
  line-height: 1;}
.site-header__logo-tagline{font-size: 1vw;
  color: rgba(255,255,255,.85);
  letter-spacing: .08em;
  font-family: var(--font-en);
  white-space: nowrap;}
.site-header__logo-link{display: block;}
.site-header__logo-img{width: 15.4167vw; height: auto; display: block;}
.site-header__nav{align-self: flex-end;}
.main-nav{display: flex;
  align-items: flex-end;
  gap: 0;}
.main-nav li{position: relative;}
.main-nav > li > a{display: inline-flex;
  align-items: center;
  padding: 0.5vw 1.1667vw;
  font-size: 1.1667vw;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  transition: opacity var(--transition);
  letter-spacing: .04em;}
.main-nav > li:last-child > a{padding-right: 0;}
.main-nav > li > a:hover, .main-nav > li.current-menu-item > a, .main-nav > li.current-page-ancestor > a{opacity: .7;}
.hamburger{display: none;
  flex-direction: column;
  justify-content: center;
  gap: 0.4167vw;
  width: 3.3333vw;
  height: 3.3333vw;
  padding: 0.5vw;
  flex-shrink: 0;}
.hamburger__bar{display: block;
  width: 100%;
  height: 0.1667vw;
  background: #fff;
  border-radius: 0.1667vw;
  transition: transform var(--transition), opacity var(--transition);}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(1){transform: translateY(0.5833vw) rotate(45deg);}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(2){opacity: 0;}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(3){transform: translateY(-0.5833vw) rotate(-45deg);}
.mobile-menu{position: fixed;
  top: 0;
  right: 0;
  z-index: 1100;   
  width: 26.6667vw;
  max-width: calc(100% - 4vw);
  height: 100dvh;
  background: #fff;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  padding-top: 5.3333vw;   
  box-shadow: var(--shadow-md);}
.mobile-menu__close{position: absolute;
  top: 1.5vw;
  right: 1.5vw;
  width: 2.6667vw;
  height: 2.6667vw;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;}
.mobile-menu__close span{position: absolute;
  left: 0.3333vw;
  top: 1.25vw;
  width: 2vw;
  height: 0.1667vw;
  background: var(--color-primary);}
.mobile-menu__close span:first-child{transform: rotate(45deg);}
.mobile-menu__close span:last-child{transform: rotate(-45deg);}
.mobile-menu.is-open{transform: translateX(0);}
.mobile-nav{padding: var(--sp-sm) 0;}
.mobile-nav li a{display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.5rem;
  font-size: .95rem;
  border-bottom: 0.0833vw solid var(--color-border-light);
  color: var(--color-text);}
.mobile-nav li a::after{content: '›'; color: var(--color-primary);}
.mobile-nav li a:hover{background: var(--color-bg-light); color: var(--color-primary);}
.mobile-menu__utility{padding: 0 0 var(--sp-md);
  display: flex;
  flex-direction: column;}
.mobile-menu__utility a{display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.5rem;
  font-size: .95rem;
  border-bottom: 0.0833vw solid var(--color-border-light);
  color: var(--color-text);}
.mobile-menu__utility a::after{content: '›'; color: var(--color-primary);}
.mobile-menu__utility a:hover{background: var(--color-bg-light); color: var(--color-primary);}
.mobile-overlay{position: fixed;
  inset: 0;
  z-index: 1099;   
  background: rgba(0,0,0,.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);}
.mobile-overlay.is-active{opacity: 1;
  pointer-events: all;}
.site-footer{position: relative;
  background: var(--color-bg-dark);
  color: rgba(255,255,255,.85);
  overflow: hidden;
  text-shadow: 0 0.0833vw 0.25vw rgba(0,0,0,.6);}
.site-footer::before{content: '';
  position: absolute;
  inset: 0;
  background: url(../images/footer-bg.jpg?v=4) center / cover no-repeat;
  z-index: 0;}
.site-footer > *{position: relative; z-index: 1;}
.site-footer__main{padding-block: var(--sp-xl) var(--sp-lg);}
.site-footer__main-inner{display: flex;
  flex-direction: column;
  gap: var(--sp-lg);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-left: 9.3333vw;}
.footer-top{display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-lg);}
.footer-brand__logo{font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: .04em;
  margin-bottom: .3rem;}
.footer-brand__name{font-size: 1.3rem;    
  font-weight: 700;
  color: rgba(255,255,255,.9);
  margin-bottom: .25rem;}
.footer-brand__tagline{font-size: .75rem;
  opacity: .6;
  margin-bottom: var(--sp-md);
  font-family: var(--font-en);
  letter-spacing: .04em;}
.footer-brand__address{font-size: .86rem;    
  line-height: 1.8;
  opacity: 1;
  font-style: normal;}
.footer-brand__address a{opacity: .85;
  transition: opacity var(--transition);}
.footer-brand__address a:hover{opacity: 1; color: #fff;}
.footer-social{display: flex;
  gap: .6rem;
  justify-content: flex-end;
  margin-top: 0;
  margin-right: 2.5vw;}
.footer-social__link{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.6667vw;   
  height: 2.6667vw;
  transition: opacity var(--transition);
  flex-shrink: 0;}
.footer-social__link img, .footer-social__link svg{pointer-events: none; width: 100%; height: 100%;}
.footer-social__link:hover{opacity: .6;}
.footer-nav{display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  gap: var(--sp-sm) var(--sp-lg);}
.footer-nav__col h4{font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.45);
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  border-bottom: 0.0833vw solid rgba(255,255,255,.1);}
.footer-nav__col ul li a{display: block;
  font-size: .66rem;  
  padding-block: .3rem;
  opacity: .68;
  transition: opacity var(--transition), color var(--transition);
  line-height: 1.4;}
.footer-nav__col ul li a:hover{opacity: 1; color: #e6cf92; text-decoration: underline;}
.site-footer__bottom{border-top: 0.0833vw solid rgba(255,255,255,.08);
  padding-block: 1rem;
  background: rgba(0,0,0,.25);}
.site-footer__bottom-inner{display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);}
.footer-legal{display: flex;
  gap: var(--sp-sm);
  font-size: .75rem;
  opacity: .55;}
.footer-legal a:hover{opacity: 1; text-decoration: underline;}
.footer-copy{font-size: .72rem;
  font-family: var(--font-en);
  opacity: .45;
  letter-spacing: .03em;}
.l-main{padding-top: 0;}
.visually-hidden{position: absolute;
  width: 0.0833vw;
  height: 0.0833vw;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;}
.js-reveal{opacity: 0;
  transform: translateY(2vw);
  transition: opacity .6s ease, transform .6s ease;}
.js-reveal.is-visible{opacity: 1;
  transform: none;}
.text-center{text-align: center;}
.text-right{text-align: right;}
br.sp-only{display: none;}
.mt-sm{margin-top: var(--sp-sm);}
.mt-md{margin-top: var(--sp-md);}
.mt-lg{margin-top: var(--sp-lg);}
.back-to-top{position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 900;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.3333vw 1.3333vw rgba(0, 128, 172, .35);
  opacity: 0;
  transform: translateY(1vw);
  transition: opacity .3s ease, transform .3s ease, background .2s ease;
  pointer-events: none;}
.back-to-top.is-visible{opacity: 1;
  transform: translateY(0);
  pointer-events: auto;}
.back-to-top:hover{background: var(--color-primary-dark);
  box-shadow: 0 0.5vw 1.6667vw rgba(0, 128, 172, .45);}
.back-to-top svg{flex-shrink: 0;}
.top-hero{position: relative;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-pull));}
.top-hero__video{display: block;
  width: 100%;
  max-width: none;   
  height: auto;
  margin-inline: auto;}
.top-hero__bg{width: 100%;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;}
.top-hero__content{position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;}
.top-hero__copy{display: flex;
  flex-direction: column;
  gap: .6em;
  font-weight: 700;
  text-shadow: 0 0.1667vw 2vw rgba(0,30,45,.45);}
.top-hero__copy-ja{font-size: 4.5vw;
  letter-spacing: .08em;
  line-height: 1.4;}
.top-hero__copy-en{font-family: var(--font-en);
  font-weight: 400;
  font-size: 1.5vw;
  letter-spacing: .28em;
  text-transform: none;
  opacity: .92;}
.top-lead{text-align: center;
  padding-block: 9.3333vw;}
.top-lead__heading-en{font-family: var(--font-en);
  font-size: 2.5vw;           
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  color: #796428;            
  margin-bottom: 0;}
.top-lead__heading{font-size: 1.6667vw;           
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--color-gold);
  margin-bottom: 4.6667vw;}
.top-lead__body{font-size: 1.5vw;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--color-text-teal);
  margin: 0;}
.top-lead__body + .top-lead__body{margin-top: 3.8333vw;}
.top-brand-story{position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1685 / 592;  
  overflow: hidden;
  color: #fff;
  text-align: center;}
.top-brand-story__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.2s ease;}
.top-brand-story:hover .top-brand-story__bg{transform: scale(1.05);}
.top-brand-story__overlay{position: absolute;
  inset: 0;
  background: rgba(3,40,63,.38);}
.top-brand-story__content{position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6667vw;}
.top-brand-story:hover{color: #fff;}
.top-brand-story__ja{font-size: 2.1667vw;           
  font-weight: 400;
  letter-spacing: .04em;     
  margin-top: 4.25vw;
  margin-bottom: 0;}
.top-brand-story__en{font-family: var(--font-en);
  font-size: 2.4167vw;           
  font-weight: 400;
  letter-spacing: .04em;}
.top-brand-story__since{font-family: var(--font-en);
  font-size: 1.9167vw;           
  font-weight: 400;
  letter-spacing: .04em;     
  margin-top: -1.6667vw;}
.sec-head--inline .sec-head__ja{color: #007681;            
  font-size: 1.8333vw;
  font-weight: 500;          
  letter-spacing: .08em;
  position: relative;
  left: -0.5vw;}
.sec-head__en-inline{font-family: var(--font-en);
  font-size: 2.0833vw;
  font-weight: 700;          
  letter-spacing: .06em;
  margin-left: .4em;
  position: relative;
  left: -0.3333vw;}
.top-quality{padding-block: 10.8333vw;}
.quality-grid{max-width: 86.6667vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);   
  gap: 3vw 2.6667vw;}
.quality-card{display: flex;
  flex-direction: column;
  background: var(--color-bg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);}
.quality-card:hover{box-shadow: var(--shadow-md);
  transform: translateY(-0.25vw);}
.quality-card__img{position: relative;
  height: 18.8333vw;             
  background: var(--color-primary-dark);
  overflow: hidden;}
.quality-card__img img{width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;}
.quality-card:hover .quality-card__img img{transform: scale(1.06);}
.quality-card__img-overlay{position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.5vw;
  padding: 1.3333vw;
  background: none;}
.quality-card__ja{color: #fff;
  font-size: 2.1667vw;           
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.3;}
.quality-card__en{color: #fff;
  font-family: var(--font-en);
  font-size: 1.75vw;           
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.3;}
.quality-card__body{padding: 2.5vw 2vw;
  text-align: center;
  background: var(--color-bg);}
.quality-card__sub{font-size: 1.75vw;           
  font-weight: 300;          
  color: var(--color-gold);  
  letter-spacing: .04em;
  line-height: 1.6;}
.top-fish{padding-top: 10.8333vw;}
.fish-grid{display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--sp-lg) 3.6667vw;   
  max-width: 81.6667vw;
  margin-inline: auto;}
.fish-grid__break{flex-basis: 100%;
  height: 0;
  margin: 0;
  padding: 0;}
.fish-grid__break ~ .fish-item{margin-top: -8.75vw;}
.fish-item{width: 12.5vw;
  flex: 0 0 auto;}
.fish-item__link{display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .12rem;}
.fish-item__circle{width: 12.5vw;
  height: 12.5vw;
  border-radius: 50%;
  background: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .35rem;
  transition: transform var(--transition), box-shadow var(--transition);}
.fish-item__link:hover .fish-item__circle{transform: translateY(-0.3333vw);
  box-shadow: var(--shadow-md);}
.fish-item__circle img{width: 100%;
  height: 100%;
  object-fit: cover;}
.fish-item__ja{font-size: 1.4167vw;
  font-weight: 700;
  line-height: 1.1;          
  color: var(--color-text-teal);}
.fish-item__en{font-family: var(--font-en);
  font-size: 1.3333vw;           
  letter-spacing: .04em;
  line-height: 1.2;
  margin-top: 0;             
  color: var(--color-text-teal);}
.top-banners{padding-top: 10.5833vw; background: var(--color-bg);}
.top-banner-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.top-banner-item{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 0.6667vw;
  min-height: 15.8333vw;
  padding: 2vw;
  background: var(--color-bg-light); 
  border-radius: 0;
  transition: opacity var(--transition);}
.top-banner-item:hover{opacity: .8;}
.top-banner-item__ja{font-size: 1.6667vw;           
  font-weight: 400;
  color: #796428;            
  letter-spacing: .04em;}
.top-banner-item__en{font-family: var(--font-en);
  font-size: 1.6667vw;
  letter-spacing: 0;
  color: #796428;}
.top-news{padding-top: 10vw;}
.news-table{width: 100%;
  border-collapse: collapse;}
.news-table td{border: none;
  background: none;
  padding: 0.1667vw 0;
  vertical-align: top;
  line-height: 1.6;
  color: var(--color-text-teal);}
.news-table td a{color: var(--color-text-teal);}
.news-table__date{width: 7em;
  white-space: nowrap;
  font-family: var(--font-en);
  font-size: 1.25vw;               
  color: var(--color-text-teal);}
.news-table__cat{width: 9em;
  white-space: nowrap;
  padding-right: 1.4em;
  color: var(--color-text-sub);
  letter-spacing: .04em;}
.news-table__title{font-size: 1.25vw;}
.news-table__title a{transition: color var(--transition);}
.news-table__title a:hover, .news-table__row:hover .news-table__title a{color: var(--color-primary);
  text-decoration: underline;}
.news-table__row{cursor: pointer;}
.section--bg-seafoam .container{max-width: 87.1667vw;}
.top-news .container.container--narrow{max-width: 87.1667vw;
  padding-left: 2.75vw;
  padding-right: 2.75vw;}
.top-news__read-more{display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  margin-top: var(--sp-lg);
  color: var(--color-primary);
  font-family: var(--font-en);
  font-size: .75rem;
  letter-spacing: 0.1em;  
  transition: opacity var(--transition);}
.top-news__read-more:hover{opacity: .65; color: var(--color-primary);}
.top-news__read-more svg{width: 2.3333vw;   
  height: 2.3333vw;
  animation: top-hero-bounce 2s ease-in-out infinite;}
:root{--color-gold: #796428;}
.about-col2__sub, .about-lead__sub{color: var(--color-gold);}
.about-brand-intro{text-align: center;}
.about-brand-intro__logo{font-family: var(--font-en);
  font-size: 10.4167vw;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 0.4167vw;}
.about-brand-intro__tagline{font-family: var(--font-en);
  font-size: 1.9167vw;
  font-weight: 400;
  letter-spacing: .12em;
  color: var(--color-primary-light);}
.about-brand-intro__logo-img{display: block;
  margin-inline: auto;
  width: 39.1667vw;
  max-width: 80%;
  height: auto;}
.about-lead__sub{text-align: center;
  font-size: 2.1667vw;
  font-weight: 400;
  letter-spacing: .08em;
  color: var(--color-gold);
  margin-bottom: 1.2em;}
.about-lead__heading{text-align: center;
  font-size: 1.8333vw;           
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 1.8em;
  color: #007c8f;        
  padding-top: 3vw;
  letter-spacing: -0.04em;}
.about-lead__body{text-align: center;
  font-size: 1.3333vw;       
  font-weight: 300;      
  line-height: 1.8;
  color: var(--color-text-teal, #007C8F); 
  padding: 0 12.5vw 0;
  margin-bottom: 3.5em;}
.about-lead-section{padding-top: 7.1667vw;
  padding-bottom: 11.5vw;
  background: var(--color-bg);}
.about-lead-divider{border: 0;
  border-top: 0.0833vw solid var(--color-gold);
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2); 
  margin: 0 auto;}
.about-col2{display: grid;
  grid-template-columns: 1.7fr 1fr;   
  align-items: start;                 
  padding-left: 2vw;   
  padding-right: 7.0833vw;
  gap: 2.8333vw;}
.about-col2--rev .about-col2__text{order: 2; margin-left: -15.4167vw; margin-top: 0;}
.about-col2--rev .about-col2__img{order: 1;}
.about-col2__sub{display: block;
  font-family: var(--font-en);
  font-size: 2.4167vw;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: none;   
  color: var(--color-gold);
  text-align: center;
  margin-bottom: 0.1em;}
.about-col2__heading{text-align: center;
  font-size: 1.6667vw;       
  font-weight: 300;
  margin-bottom: .9em;
  color: var(--color-gold);}
.about-col2__heading::before, .about-col2__heading::after{content: 'ー';
  color: var(--color-gold);
  font-weight: 400;
  margin: 0 .4em;}
.about-col2__sub-heading{text-align: center;
  font-size: 1.9167vw;       
  color: var(--color-text-sub);
  margin-bottom: 1.6em;}
.about-col2__body{font-size: 1.1667vw;       
  line-height: 1.8;
  color: var(--color-text-teal, #007C8F);}
.about-col2__img{width: 38.5833vw;
  margin-top: 0;
  margin-left: 5vw;}
.about-col2__img img{width: 100%;
  border-radius: 0;
  box-shadow: var(--shadow-sm);
  margin-top: 0; 
  max-width: 38.75vw;}
.about-col2__head{text-align: center;
  margin-bottom: 6.6667vw;
  margin-top: 2.5vw;}
.about-col2__body{text-align: left;
  padding-top: 0;       
  padding-left: 5.25vw;}
.journey-timeline{max-width: 65vw;      
  margin: 0 auto var(--sp-lg);
  display: flex;
  flex-direction: column;
  gap: 1.1667vw;}
.journey-item{display: grid;
  grid-template-columns: 9.1667vw 1fr;
  align-items: stretch;            
  gap: 0;
  background: var(--color-bg);
  border: 0.0833vw solid var(--color-border);
  border-radius: 0;
  overflow: hidden;                
  position: relative;}
.journey-item:not(:last-child)::after{content: '';
  position: absolute;
  left: 50%;
  bottom: -1.25vw;
  transform: translateX(-50%);
  width: 0.8333vw;
  height: 0.8333vw;
  border-right: 0.1667vw solid var(--color-border);
  border-bottom: 0.1667vw solid var(--color-border);
  rotate: 45deg;}
.journey-item__year{display: flex;
  align-items: center;
  justify-content: center;
  background: #007681;           
  color: #fff;
  font-family: var(--font-en);
  font-weight: 600;
  font-size: 1.1667vw;
  letter-spacing: .04em;
  text-align: center;}
.journey-item__text{font-size: 1.125vw;
  line-height: 1.7;
  color: var(--color-text-teal);
  padding: 1.3333vw 2vw;}
.about-for-future{position: relative;
  padding-block: var(--sp-xl);
  background: #bcdce8;        
  overflow: hidden;
  aspect-ratio: 1687 / 1084;}
.about-for-future__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 1;}
.about-for-future__bg::after{content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 91, 113, .35);}
.about-for-future__inner{position: relative; z-index: 1;}
.for-future-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  padding-inline: 6.6667vw;}
.for-future-card{display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 1.5vw;
  padding: var(--sp-lg) var(--sp-md);
  background: rgba(255,255,255,.75);          
  backdrop-filter: blur(0.5vw);
  -webkit-backdrop-filter: blur(0.5vw);
  border: 0.0833vw solid rgba(255,255,255,.45);
  border-radius: var(--radius-lg);
  box-shadow: none;}
.for-future-card__title{order: 1;}
.for-future-card__icon{order: 2;}
.for-future-card__sub{display: none;}
.for-future-card__icon{width: 7.8333vw;           
  height: 7.8333vw;
  color: #5f93c3;}
.for-future-card__icon svg{width: 100%; height: 100%;}
.for-future-card__icon img{width: 100%; height: 100%; object-fit: contain;}
.for-future-card__title{font-size: 1.4167vw;       
  font-weight: 700;
  line-height: 1.6;
  color: #5f93c3;}
.philosophy-intro{text-align: center;
  padding-block: 9.3333vw;}
.philosophy-intro__heading{color: #796428;        
  margin: 0;
  font-size: 1.9167vw;
  font-weight: 500;}
.philosophy-intro__label{display: block;
  font-family: var(--font-en);
  font-size: 1.8333vw;       
  font-weight: 600;      
  letter-spacing: .12em;
  text-transform: none;
  color: var(--color-gold);}
.philosophy-section{position: relative;
  overflow: hidden;
  background: #12608f; 
  color: #fff;
  
  aspect-ratio: 1686 / 562;}
#sec-company-mission, #sec-philosophy-mission{aspect-ratio: 1686 / 600;}
#sec-company-value, #sec-philosophy-value{aspect-ratio: 1686 / 676;}
.philosophy-section--light{color: var(--color-text);}
.philosophy-section__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;}
.philosophy-section__bg::after{content: none;}
.philosophy-section--light .philosophy-section__bg::after{content: none;}
.philosophy-section__inner{position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 26.6667vw 1fr;
  gap: var(--sp-xl);
  align-items: start;   
  max-width: var(--container-max);
  margin-inline: auto;
  padding: 7.5vw var(--container-pad);}
.philosophy-section--label-right .philosophy-section__inner{grid-template-columns: 1fr 26.6667vw;}
.philosophy-section--label-right .philosophy-section__label{order: 2; text-align: right;}
.philosophy-section--label-right .philosophy-section__content{order: 1;}
.philosophy-section__content{padding-top: 1.4167vw;}
.philosophy-section__label{font-family: var(--font-en);
  line-height: 1;}
.philosophy-section__type{display: block;
  font-size: 6.0833vw;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1;}
.philosophy-section__type-ja{display: block;
  font-size: 2.5833vw;
  font-weight: 300;
  letter-spacing: .1em;
  margin-top: .5em;
  color: rgba(255,255,255,.92);}
.philosophy-section__heading{font-size: 1.9167vw;       
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: .6em;
  color: #fff;}
.philosophy-section__sub-ja{display: block;
  margin-bottom: 1em;
  font-weight: 600;
  color: rgba(255,255,255,.95);}
.philosophy-section__sub-en{display: block;
  font-family: var(--font-en);
  font-size: 1.25vw;       
  letter-spacing: .1em;
  margin-bottom: 1em;
  color: rgba(255,255,255,.85);}
.philosophy-section__body{font-size: 1.25vw;       
  line-height: 2;
  color: rgba(255,255,255,.92);}
.philosophy-section--light .philosophy-section__type{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__type-ja{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__heading{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__sub-ja{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__sub-en{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__body{color: #0d5c9b;}
.value-list{display: flex;
  flex-direction: column;
  gap: 2.1667vw;
  margin-top: 2em;}
.value-item{display: grid;
  grid-template-columns: 12.5vw 1fr;
  gap: var(--sp-md);
  align-items: baseline;
  padding-bottom: 0;
  border-bottom: none;}
.value-item dt{font-family: var(--font-en);
  font-size: 2vw;       
  font-weight: 600;
  line-height: 1.2;
  color: #fff;}
.value-item dd{color: rgba(255,255,255,.9); line-height: 1.9;}
.value-item__ja{font-size: 1.1667vw;       
  font-weight: 600;
  margin-right: 1.25em;}
.value-item__en{display: inline;
  font-family: var(--font-en);
  font-size: 1.3333vw;       
  font-weight: 400;
  letter-spacing: .02em;}
.value-item__desc{display: block;
  font-size: 1.1667vw;       
  font-weight: 300;
  line-height: 1.9;
  margin-top: .25em;}
.philosophy-section--light .value-item dt{color: #0d5c9b;}
.philosophy-section--light .value-item dd{color: #0d5c9b;}
.corp-sec-head{text-align: center;
  margin-bottom: 4vw;}
.corp-sec-head .sec-head__ja{font-size: 1.9167vw;       
  font-weight: 500;      
  color: #796428;        
  margin-bottom: .35em;}
.corp-sec-head .sec-head__en{display: block;
  font-family: var(--font-en);
  font-size: 1.8333vw;       
  font-weight: 300;      
  letter-spacing: .12em;
  text-transform: none;
  color: #796428;        
  margin-bottom: 0;}
.page-id-17 .corp-sec-head .sec-head__en{letter-spacing: .04em;}
.about-dash-head .sec-head__en, .sec-head.sec-head--center.about-dash-head span.sec-head__en{color: var(--color-gold);
  text-transform: none;   
  order: 0;}
.about-dash-head .sec-head__ja{font-size: 1.9167vw;
  font-weight: 300;
  color: var(--color-gold);}
.about-dash-head .sec-head__ja::before, .about-dash-head .sec-head__ja::after{content: 'ー';
  color: var(--color-gold);
  font-weight: 400;
  margin: 0 .4em;}
.about-for-future .about-dash-head .sec-head__ja::before, .about-for-future .about-dash-head .sec-head__ja::after{color: #fff;}
.about-for-future .sec-head.sec-head--center.about-dash-head span.sec-head__en{order: 1;}
.about-for-future__closing{text-shadow: 0 0.0833vw 0.5vw rgba(0,40,60,.45);}
.company-table{width: 100%;
  font-size: 1.1667vw;       
  max-width: 56.6667vw;
  margin-inline: auto;}
.company-table th, .company-table td{padding: .45em 0;
  text-align: left;
  vertical-align: top;
  border: none;
  line-height: 1.9;
  background: transparent;
  font-weight: 300;      
  color: var(--color-text);}
.company-table th{width: 8.5em;
  font-weight: 400;
  color: var(--color-text);
  white-space: nowrap;
  text-align: justify;
  text-align-last: justify;
  padding-right: .25em;}
.company-table th::after{content: '：';}
.company-table td{padding-left: .25em;
  color: var(--color-text);  
  font-weight: 300;}
.company-table a{color: var(--color-text-teal); text-decoration: underline;}
.company-table tr.row-gap th, .company-table tr.row-gap td{padding-top: 1.9em;}
.history-table{width: 100%;
  font-size: 1.0833vw;       
  border-collapse: collapse;
  background: #fff;}
.history-table th, .history-table td{padding: 1em 1.5em;
  text-align: left;
  vertical-align: top;
  border: 0.0833vw solid #d9dde0;
  line-height: 1.8;
  font-weight: 300;
  color: var(--color-text);}
.history-table tbody tr:nth-child(odd){background: #f2f3f5;}
.history-table th{width: 7em;
  font-family: inherit;  
  font-weight: 300;
  color: var(--color-text);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;}
.history-table .jp-first{color: var(--color-text-teal);}
.access-lead{text-align: center;
  color: var(--color-text-sub);
  margin-bottom: var(--sp-lg);}
.access-grid{display: grid;
  gap: var(--sp-lg);}
.access-item{display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--sp-lg);
  align-items: start;
  padding-bottom: var(--sp-lg);
  border-bottom: 0.0833vw solid var(--color-border-light);}
.access-item__name{font-size: 1.5833vw;
  font-weight: 700;
  margin-bottom: .75em;
  color: var(--color-primary-dark);}
.access-item__address, .access-item__info{font-size: 1.1667vw;
  line-height: 1.9;
  color: var(--color-text-sub);
  font-style: normal;
  
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: .3em;
  align-items: baseline;}
.access-item__info dt{margin: 0; text-align: right; font-weight: inherit;}
.access-item__info dt::after{content: '：';}
.access-item__info dd{margin: 0;}
.access-item__map{aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-bg-gray);}
.access-item__map iframe{width: 100%; height: 100%; border: 0;}
.access-item__map-btn{margin-top: 1em;}
.divisions-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.division-item{padding: var(--sp-md);
  background: var(--color-bg);
  border: 0.0833vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  transition: box-shadow var(--transition), transform var(--transition);}
.division-item:hover{box-shadow: var(--shadow-md); transform: translateY(-0.25vw);}
.division-item__ja{font-size: 1.5vw; font-weight: 600; margin-bottom: .2em; color: var(--color-text-teal);}
.division-item__catch{font-size: 1.1667vw;
  font-weight: 500;
  color: var(--color-gold);
  margin-bottom: .8em;}
.division-item__list{margin-top: .9em; list-style: none; padding: 0;}
.division-item__list li{position: relative;
  padding-left: 1.1em;
  font-size: 1.0833vw;
  line-height: 1.8;
  color: var(--color-text-sub);}
.division-item__list li::before{content: '●';
  position: absolute;
  left: 0;
  top: .15em;
  font-size: .7em;
  color: var(--color-text-teal);}
.division-item__en{display: block;
  font-family: var(--font-en);
  font-size: 1vw;
  letter-spacing: .08em;
  color: var(--color-text-sub);
  margin-bottom: .8em;}
.division-item__body{font-size: 1.1667vw; line-height: 1.8; color: var(--color-text-sub);}
.company-faq-link{text-align: center; margin-top: var(--sp-lg);}
#access-map{padding-top: 0;}
#access-map{padding-top: 0;}
.access-photo{max-width: none; margin: 0 0 var(--sp-xl);}
.access-photo img{display: block; width: 100%; height: auto;}
.company-faq-link .btn--outline{color: #007c8f;
  border-color: #007c8f;
  font-weight: 400;}
.company-faq-link .btn--outline:hover{background: #007c8f; color: #fff;}
.access-offices-note{text-align: center;
  color: #007c8f;
  font-size: 1.1667vw;
  margin-bottom: var(--sp-lg);}
.office-list{max-width: 63.3333vw; margin: 0 auto;}
.office-item{margin-bottom: var(--sp-lg);}
.office-item__name{color: #007c8f;
  font-size: 1.3333vw;
  font-weight: 700;
  margin: 0 0 .5em;
  padding-bottom: .3em;
  border-bottom: 0.0833vw solid #cfe0e4;}
.office-item__line{font-size: 1.0833vw;
  line-height: 1.8;
  color: #333;
  margin: 0;}
.office-item__line a{color: #007c8f;}
.office-item__line a[href^="tel:"]{color: var(--color-text);}
.office-map-link{color: #007c8f;}
.access-offices-note a{color: #007c8f; text-decoration: underline;}
.office-item{scroll-margin-top: 8.3333vw;}
.office-map-link{color: #007c8f; text-decoration: underline; font-size: 1vw;}
.quality-page .sec-head, .products-page .sec-head, .global-reach-page .sec-head, .sustainability-page .sec-head, .safety-page .sec-head{display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 0.5vw;}
.global-reach-page .page-hero__bg{background-position: center top;}
.products-page .page-hero{aspect-ratio: 1685 / 629;
  min-height: 0 !important;}
.products-page .page-hero::before{background: none;}
.products-page .page-hero__bg{background-position: center !important;}
.quality-page .sec-head--center, .products-page .sec-head--center, .global-reach-page .sec-head--center, .sustainability-page .sec-head--center, .safety-page .sec-head--center{align-items: center;}
.quality-page .sec-head__ja, .products-page .sec-head__ja, .global-reach-page .sec-head__ja, .sustainability-page .sec-head__ja, .safety-page .sec-head__ja{color: #796428;
  margin: 0;
  font-size: 1.9167vw;}
.quality-page .sec-head__en, .products-page .sec-head__en, .global-reach-page .sec-head__en, .sustainability-page .sec-head__en, .safety-page .sec-head__en{color: #796428;
  text-transform: none;
  letter-spacing: .04em;
  font-size: 1.8333vw;       
  font-weight: 300;
  margin: 0;}
.quality-page > .section:first-of-type .container--narrow > p, .products-page > .section:first-of-type .container--narrow > p, .global-reach-page > .section:first-of-type .container--narrow > p, .sustainability-page > .section:first-of-type .container--narrow > p, .safety-page > .section:first-of-type .container--narrow > p{text-align: center;
  color: var(--color-text-teal);
  line-height: 1.8;      
  font-size: 1.3333vw;       
  font-weight: 300;      
  padding-inline: 6.6667vw;}
.content-col2 p{font-size: 1.1667vw;       
  color: var(--color-text-teal); 
  line-height: 1.9;}
.content-col2 p.catch-block{font-size: 1.4167vw;       
  color: var(--color-text-teal);
  font-weight: 400;}
.products-page .sec-head__en{font-weight: 400;}
.quality-lead-head .sec-head__en{font-weight: 300;}
.sec-head--teal .sec-head__ja, .sec-head--teal .sec-head__en{color: #007c8f;}
.sec-head--teal{flex-direction: column;}
.sec-head--teal .sec-head__ja{order: 3;}
.sec-head--teal .sec-head__sub{order: 2;}
.sec-head--teal .sec-head__en{order: 3; visibility: hidden;}
.quality-photo-divider{width: 100%;
  height: auto;             
  aspect-ratio: 562 / 227;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/quality-divider.jpg?v=5');}
.catch-block{font-size: 1.4167vw;       
  font-weight: 400;      
  color: var(--color-text-teal);
  line-height: 1.6;
  margin-bottom: 1.2em;}
#aquaculture{background: #cddfe2;}
#logistics{background: #fff;}
#processing{background: var(--color-bg-light);}
.quality-page #global{background: #fff;}
#sec-products-cards{background: #fff;}
.hub-photo{margin: var(--sp-lg) auto;}
.hub-photo img{display: block;
  width: 100%;
  height: auto;}
.hub-body{max-width: 80vw;
  margin-inline: auto;
  color: #007c8f;}
.hub-body p{color: #007c8f;}
.hub-body p:not(.catch-block){font-size: 1.1667vw;
  line-height: 1.9;}
.hub-body p{margin-bottom: 1.4em;}
.hub-list{list-style: none;
  margin: 0 0 1.4em;
  padding: 0;
  color: #007c8f;
  font-size: 1.1667vw;
  line-height: 1.9;}
.hub-list li{position: relative;
  padding-left: 1.2em;}
.hub-list li::before{content: '・';
  position: absolute;
  left: 0;}
.trade-country-list{display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.2rem;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 80vw;
  color: #007c8f;
  font-size: 1.1667vw;}
.trade-country-list li{white-space: nowrap;}
.cert-block{display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 83.3333vw;
  margin: var(--sp-lg) auto 0;
  align-items: center;}
.cert-block__photo{position: relative;
  overflow: hidden;
  aspect-ratio: 1200 / 710;}
.cert-block__photo img{position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;}
.cert-block__logos{border: 0.0833vw solid #007c8f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2vw;
  padding: 2.6667vw 2vw;
  aspect-ratio: 1200 / 710;  
  box-sizing: border-box;}
.cert-block__row{display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.8333vw;}
.cert-logo{display: block; height: auto;}
.cert-logo--fssc{width: 19.1667vw;}
.cert-logo--haccp{width: 12.5vw;}
.cert-logo--brcs{width: 9vw;}
.cert-text-list{max-width: 83.3333vw;
  margin: 1.1667vw auto 0;
  text-align: right;    
  padding-right: 0;
  color: var(--color-text-teal);
  font-size: 1.0833vw;
  font-weight: 300;     
  line-height: 1.6;}
.trade-map{max-width: 63.3333vw;
  margin: 0 auto var(--sp-xl);}
.trade-map img{display: block; width: 100%; height: auto;}
.trade-box{border: 0.0833vw solid var(--color-text-teal);
  padding: 1.8333vw 2.5vw;    
  margin: 0 auto;
  width: 63.3333vw;          
  max-width: 100%;}
.trade-box__head{font-weight: 500;
  color: var(--color-text-teal);
  font-size: .92rem;     
  letter-spacing: .02em;
  margin-bottom: .9em;}
.trade-box__head span{margin-left: .35em;}
.trade-box__list{color: var(--color-text-teal);
  font-size: 1.0417vw;     
  line-height: 1.6;}
.trade-box__note{font-size: 1vw;
  color: #8a98a0;
  margin-left: 1.2em;
  white-space: nowrap;}
.global-worldmap{margin: var(--sp-lg) auto 0;
  max-width: 63.3333vw;}
.global-worldmap img{display: block; width: 100%; height: auto;}
.safety-dash-sub{text-align: center;
  color: var(--color-text-teal);
  font-size: 1.5vw;
  font-weight: 400;
  margin: 0 0 var(--sp-lg);  
  white-space: nowrap;}
.safety-figure{display: flex;
  align-items: center;
  justify-content: center;}
.safety-figure img{width: 100%; height: auto; display: block;}
#haccp .safety-figure img{max-width: 30vw; margin-inline: auto;}
.sustain-cluster-img{max-width: 46.6667vw;
  margin: 2vw auto 0;}
.sustain-cluster-img img{display: block; width: 100%; height: auto;}
.global-twocol{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-xl);}
.global-twocol__item .sec-head{margin-bottom: 3rem;}
.global-twocol__body{color: var(--color-text-teal);
  font-size: 1.1667vw;
  font-weight: 300;      
  line-height: 1.9;
  margin-bottom: var(--sp-md);}
.global-twocol__photo{aspect-ratio: 16 / 10;
  background: var(--color-bg-seafoam) center / cover no-repeat;}
.global-export-note{text-align: center;
  max-width: 80vw;
  margin: var(--sp-lg) auto 0;
  line-height: 2;
  color: var(--color-text-teal);
  font-size: 1.4167vw;       
  font-weight: 300;}
.global-reach-page #partnership{background: #fff;}
.gold-divider{border: 0;
  border-top: 0.0833vw solid var(--color-gold);
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2); 
  margin: 0 auto;}
.hub-body p{color: var(--color-text-teal); font-weight: 300;}
.sustainability-page .sec-head__en{line-height: 1.25;}
.sustainability-page #cycle, .sustainability-page #resource{padding-bottom: 11.6667vw;}
.products-lead-rule{border: 0;
  border-top: 0.0833vw solid var(--color-gold);
  margin: var(--sp-lg) auto 0;
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2);}
.logistics-grid{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  align-items: start;}
.logistics-grid .content-col2__img{position: static;     
  left: 0;
  width: auto;
  aspect-ratio: 150 / 97;}
.logistics-grid__text{color: #007c8f; 
  font-size: 1.1667vw;}
.content-col2__img, .fish-card__img, .fish-card__img img, .export-card, .export-card__img, .world-map-box, .haccp-box{border-radius: 0;}
.content-col2{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);     
  align-items: start;}
.content-col2--wide-text{grid-template-columns: 1.25fr 1fr;}
.content-col2--rev.content-col2--wide-text{gap: 0.9167vw;}
#global .content-col2--wide-text{grid-template-columns: 1.1fr 1.25fr;}
.content-col2--rev > :first-child{order: 2;}
.content-col2--rev > :last-child{order: 1;}
.content-col2__photos{display: flex;
  flex-direction: column;
  gap: var(--sp-md);}
.content-col2__img{aspect-ratio: 400 / 259;  
  border-radius: 0;
  background: var(--color-bg-seafoam) center / cover no-repeat;
  box-shadow: var(--shadow-sm);
  position: relative;
  left: -0.25vw;
  width: 38.3333vw;}
.content-col2__photos .content-col2__img:nth-child(2){aspect-ratio: 16/10;}
#business-model{background: #c8dbe0;}
.quality-network-field{margin: 2vw auto 0;
  max-width: 68.3333vw;}
.quality-network-img{display: block;
  width: 100%;
  height: auto;}
.qnet-center{position: absolute;
  top: 25vw; left: 31.6667vw;
  transform: translate(-50%, -50%);
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;}
.qnet-center__logo{font-family: var(--font-en);
  font-size: 3.6667vw;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;}
.qnet-pillar, .qnet-node{position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;}
.qnet-pillar{z-index: 3;
  width: 14.3333vw;
  height: 10.3333vw;
  background: radial-gradient(ellipse at center, rgba(0,108,156,.74) 0%, rgba(61,157,173,.36) 52%, rgba(61,157,173,0) 74%);
  color: rgba(255,255,255,.95);
  font-size: 1.6667vw;       
  font-weight: 600;
  letter-spacing: .04em;}
.qnet-pillar--aqua{top: 20.8333vw; left: 25vw;}
.qnet-pillar--export{top: 20.8333vw; left: 39.1667vw;}
.qnet-pillar--logi{top: 30.1667vw; left: 25vw;}
.qnet-pillar--proc{top: 30.1667vw; left: 39.1667vw;}
.qnet-node{z-index: 2;
  width: 10.6667vw;
  height: 7.6667vw;
  font-size: 1.4167vw;       
  font-weight: 600;
  color: #2c4a4a;
  letter-spacing: .04em;}
.qnet-node--seisansha, .qnet-node--kaigai, .qnet-node--chiiki, .qnet-node--gaishoku{background: radial-gradient(ellipse at center, rgba(140,192,178,.55) 0%, rgba(162,203,196,.18) 55%, transparent 76%);}
.qnet-node--shiryo, .qnet-node--seika, .qnet-node--sengyo, .qnet-node--reito, .qnet-node--katsugyo, .qnet-node--reito2, .qnet-node--kokunai, .qnet-node--ryohan{background: radial-gradient(ellipse at center, rgba(107,178,209,.52) 0%, rgba(150,198,222,.18) 55%, transparent 76%);}
.qnet-node--seisansha{top: 12.5vw; left: 12.5vw;}
.qnet-node--kaigai{top: 12.5vw; left: 50.8333vw;}
.qnet-node--shiryo{top: 20.6667vw; left: 10.6667vw;}
.qnet-node--seika{top: 26.8333vw; left: 9.8333vw;}
.qnet-node--katsugyo{top: 32.6667vw; left: 13.1667vw;}
.qnet-node--sengyo{top: 20.8333vw; left: 53vw;}
.qnet-node--reito{top: 26.8333vw; left: 54vw;}
.qnet-node--reito2{top: 32.6667vw; left: 53vw;}
.qnet-node--chiiki{top: 39.1667vw; left: 12.6667vw;}
.qnet-node--gaishoku{top: 36vw; left: 54.1667vw;}
.qnet-node--kokunai{top: 39.8333vw; left: 49.8333vw;}
.qnet-node--ryohan{top: 41.6667vw; left: 39vw;}
.fish-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.fish-card{display: flex;
  flex-direction: column;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  padding: var(--sp-md);
  transition: box-shadow var(--transition), transform var(--transition);}
.fish-card:hover{box-shadow: var(--shadow-md); transform: translateY(-0.25vw);}
.fish-card__head{text-align: center;
  margin-bottom: var(--sp-sm);
  line-height: 1.25;}
.fish-card__ja{font-size: 1.6667vw;       
  font-weight: 700;
  color: #007c8f;        
  margin-bottom: .15em;}
.fish-card__romaji{font-family: var(--font-en);
  font-size: 1.4167vw;       
  color: #007c8f;
  margin-bottom: 0;}
.fish-card__en{font-family: var(--font-en);
  font-size: 1.4167vw;       
  font-weight: 400;
  color: #007c8f;
  margin-bottom: .15em;}
.fish-card__latin{font-family: var(--font-en);
  font-style: italic;
  font-size: 1.1667vw;       
  color: #666464;        
  margin-bottom: 0;}
.fish-card__img{display: flex;
  align-items: center;
  justify-content: center;
  height: 10.8333vw;
  margin-bottom: var(--sp-sm);
  border-radius: var(--radius);
  overflow: hidden;}
.fish-card__img img{width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);}
.fish-card__body{font-size: 1.1667vw;       
  line-height: 1.6;
  color: #007c8f;}
.processing-list{border: 0.1667vw dashed #007c8f;
  border-radius: 1.6667vw;
  padding: var(--sp-md) var(--sp-lg);
  display: flex;
  flex-direction: column;}
.processing-item{display: grid;
  grid-template-columns: 16.6667vw 1fr;
  gap: var(--sp-md);
  align-items: center;
  padding-block: 1rem;
  border-bottom: none;}
.processing-item:last-child{border-bottom: none;}
.processing-item__icon{color: var(--color-primary);}
.processing-item__icon svg{width: 4.6667vw; height: 2.3333vw;}
.processing-item__icon{width: 16.6667vw;
  height: 4.1667vw;
  overflow: hidden;}
.processing-item__icon img{width: 16.6667vw;
  height: 4.1667vw;
  object-fit: contain;
  object-position: center;
  display: block;}
.processing-item__name{font-size: 1.3333vw;       
  font-weight: 700;
  color: #007c8f;
  margin-bottom: .2em;}
.processing-item__name em{font-style: normal;
  font-family: var(--font-en);
  font-size: 1.3333vw;
  font-weight: 700;
  color: #007c8f;
  margin-left: .15em;}
.processing-item__desc{font-size: 1.1667vw; color: #007c8f;}
.export-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.export-card{display: flex;
  flex-direction: column;
  background: var(--color-bg);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm);}
.export-card__img{aspect-ratio: 16/10;
  background: var(--color-bg-seafoam) center/cover no-repeat;}
.export-card__img img{width: 100%; height: 100%; object-fit: cover;}
.export-card__body{padding: var(--sp-md);}
.export-card__en{display: block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: .2em;}
.export-card__ja{display: block;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .6em;}
.export-card__desc{font-size: .85rem; line-height: 1.85; color: var(--color-text-sub);}
.export-card--teal{background: var(--color-primary-dark);
  box-shadow: var(--shadow-sm);}
.export-card--teal .export-card__head{padding: 1.8333vw 1.6667vw 1.5vw;
  color: #fff;}
.export-card--teal .export-card__ja{display: block;
  font-size: 1.6667vw;       
  font-weight: 500;      
  color: #fff;
  margin-bottom: 0.8333vw;
  text-align: center;}
.export-card--teal .export-card__desc{color: rgba(255,255,255,.88);
  font-size: 1.0833vw;
  line-height: 1.8;
  margin: 0;}
.export-card--teal .export-card__img{aspect-ratio: 700/454;   
  height: auto;
  background: var(--color-bg-seafoam) center/cover no-repeat;}
.world-map-box{display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);}
.world-map-box img{width: 100%; height: auto;}
.cert-logos{display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-block: 1.2em;}
.cert-logo-item{display: inline-flex;
  align-items: center;
  padding: .5em 1.1em;
  background: var(--color-bg);
  border: 0.0833vw solid var(--color-primary);
  border-radius: 2em;
  font-family: var(--font-en);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--color-primary);}
.cert-note{font-size: .78rem; color: var(--color-text-sub);}
.haccp-box{display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: var(--sp-md);}
.haccp-box img{width: min(100%, 36.6667vw); height: auto;}
.quality-flow{display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-block: 1.2em;}
.quality-flow__step{display: inline-flex;
  align-items: center;
  padding: .4em .9em;
  background: var(--color-primary);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  border-radius: var(--radius);
  white-space: nowrap;}
.quality-flow__arrow{color: var(--color-primary); font-weight: 700;}
.safety-flow-ring{position: relative;
  width: 33.3333vw;
  height: 33.3333vw;
  max-width: 100%;
  margin-inline: auto;}
.safety-flow-ring__node{position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 6.3333vw;
  height: 6.3333vw;
  margin: -3.1667vw 0 0 -3.1667vw; 
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 1.0833vw;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  box-shadow: var(--shadow-sm);}
.safety-flow-ring__node:nth-child(1){left: 16.6667vw; top: 3.3333vw;}
.safety-flow-ring__node:nth-child(2){left: 25.25vw; top: 6.0833vw;}
.safety-flow-ring__node:nth-child(3){left: 29.3333vw; top: 14.0833vw;}
.safety-flow-ring__node:nth-child(4){left: 27.75vw; top: 23vw;}
.safety-flow-ring__node:nth-child(5){left: 21vw; top: 28.75vw;}
.safety-flow-ring__node:nth-child(6){left: 12.3333vw; top: 28.75vw;}
.safety-flow-ring__node:nth-child(7){left: 5.5833vw;  top: 23vw;}
.safety-flow-ring__node:nth-child(8){left: 4vw;  top: 14.0833vw;}
.safety-flow-ring__node:nth-child(9){left: 8.0833vw;  top: 6.0833vw;}
.safety-photo-divider{width: 100%;
  height: 28.3333vw;
  background: var(--color-accent-green) center/cover no-repeat;
  background-image: url('../images/safety-divider.jpg?v=5');}
.safety-list{list-style: none;
  margin-block: 1em;
  display: flex;
  flex-direction: column;
  gap: .6rem;}
.safety-list li{position: relative;
  padding-left: 1.5em;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--color-text-sub);}
.safety-list li::before{content: '';
  position: absolute;
  left: 0;
  top: .65em;
  width: .5em;
  height: .5em;
  background: var(--color-primary);
  border-radius: 50%;}
.photo-divider{height: 31.6667vw;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/section-sustainability-1.jpg');}
.sustainability-photo-divider{width: 100%;
  height: 30vw;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/sustainability-divider.jpg');}
.sustain-cluster{position: relative;
  width: 38.3333vw;
  height: 26.6667vw;
  max-width: 100%;
  margin: 2vw auto 0;}
.sustain-cluster__node{position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.3333vw;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--color-primary-dark);
  text-align: center;}
.sustain-cluster__node--future{top: 0.6667vw; left: 50%; transform: translateX(-50%);
  width: 18.3333vw; height: 11vw;
  font-size: 1.6667vw;       
  color: #fff;
  background: radial-gradient(ellipse at center,
              rgba(24,138,108,.62) 0%, rgba(56,160,128,.26) 50%, rgba(56,160,128,0) 76%);}
.sustain-cluster__node--industry, .sustain-cluster__node--people, .sustain-cluster__node--ocean{width: 11.6667vw; height: 8.3333vw;
  bottom: 3.3333vw;
  color: #2c4a64;
  background: radial-gradient(ellipse at center,
              rgba(86,134,196,.46) 0%, rgba(120,162,210,.18) 54%, rgba(120,162,210,0) 78%);}
.sustain-cluster__node--industry{left: 1.8333vw;}
.sustain-cluster__node--people{left: 50%; transform: translateX(-50%); bottom: 0.8333vw;}
.sustain-cluster__node--ocean{right: 1.8333vw;}
.sdgs-goals{display: flex;
  flex-wrap: wrap;
  gap: .75rem;}
.sdgs-goal{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 800;
  border-radius: var(--radius);}
.sustainability-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.sustain-cert-img{width: 100%; height: auto; display: block;}
.sdgs-photo{width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-bottom: var(--sp-xl);}
.sdgs-photo img{display: block; width: 100%; height: auto;}
.sustainability-page #cycle{background: #fff;}
.sustainability-page #community{background: var(--color-bg-light);}
.sustainability-page #resource{background: #fff;}
section#sec-sustainability-sdgs{padding-top: 0;}
#sec-sustainability-sdgs .sec-head--center{align-items: flex-start;
  text-align: left;}
.safety-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 300;}
.quality-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.products-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.global-reach-page .sec-head.sec-head--center span.sec-head__en{order: 1;
  font-weight: 700;}
#sec-sustainability-cert .sec-head--center{align-items: flex-start;
  text-align: left;}
#sec-sustainability-cert .content-col2 p, #sec-sustainability-cert .content-col2 .hub-list{text-align: left;}
#cycle .content-col2--wide-text, #resource .content-col2--wide-text{grid-template-columns: 1fr 1.5fr;
  gap: 3.3333vw;}
.global-reach-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 300;}
.page-id-14 .sec-head{margin-bottom: 2rem;}
.contact-info-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.contact-info-card{text-align: center;
  padding: var(--sp-md);
  background: var(--color-bg);
  border: 0.0833vw solid var(--color-border-light);
  border-radius: var(--radius-lg);}
.contact-info-card__label{display: inline-block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--color-primary);
  margin-bottom: .6em;}
.contact-info-card__value{font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-en);
  margin-bottom: .4em;
  line-height: 1.3;}
.contact-info-card__value a:hover{color: var(--color-primary);}
.contact-info-card__sub{font-size: .8rem;
  color: var(--color-text-sub);
  line-height: 1.6;}
.contact-form{margin-top: var(--sp-md);}
.form-group{margin-bottom: var(--sp-md);}
.form-row{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);}
.form-label{display: block;
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: .5em;}
.req{margin-left: .6em;
  font-size: .8rem;
  font-weight: 500;
  color: #e9473f;}
.req::before{content: '※';}
.form-control{width: 100%;
  padding: .75em 1em;
  font-size: .95rem;
  background: var(--color-bg);
  border: 0.0833vw solid var(--color-border);
  border-radius: var(--radius);
  transition: border-color var(--transition), box-shadow var(--transition);}
.form-control:focus{outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.25vw rgba(0,128,172,.12);}
textarea.form-control{resize: vertical; min-height: 8em; line-height: 1.8;}
.form-radio-group{display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;}
.form-radio, .form-check{display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: .9rem;
  cursor: pointer;}
.form-radio input, .form-check input{accent-color: var(--color-primary); width: 1.1em; height: 1.1em;}
.form-check a{color: var(--color-primary); text-decoration: underline;}
.form-message{margin-top: var(--sp-md);
  font-size: .9rem;
  text-align: center;}
.form-message.is-error{color: #c0392b;}
.form-message.is-success{color: var(--color-accent-green);}
.value-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  justify-items: center;}
.value-card{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .35rem;
  width: 100%;
  max-width: 23.3333vw;
  aspect-ratio: 1/1;
  padding: var(--sp-md);
  border-radius: 50%;}
.value-card:nth-child(1){background: rgba(122,140,134,.20);}
.value-card:nth-child(2){background: rgba(122,150,96,.22);}
.value-card:nth-child(3){background: rgba(196,164,110,.26);}
.value-card__keyword{font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .04em;}
.value-card:nth-child(1) .value-card__keyword{color: #5F7268;}
.value-card:nth-child(2) .value-card__keyword{color: #5E7E47;}
.value-card:nth-child(3) .value-card__keyword{color: #9A7B3F;}
.value-card__ja{font-size: .9rem; font-weight: 700;}
.value-card__title{font-size: .72rem;
  color: var(--color-text-sub);
  letter-spacing: .02em;}
.value-card__desc{font-size: .8rem;
  line-height: 1.8;
  color: var(--color-text-sub);
  margin-top: .3rem;}
.recruit-points{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-sm);}
.recruit-point{position: relative;
  padding: 1rem 1.25rem 1rem 2.75rem;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  font-size: .92rem;
  font-weight: 500;}
.recruit-point::before{content: '✓';
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-primary);
  font-weight: 700;}
.recruit-table{width: 100%; font-size: .9rem;}
.recruit-table th, .recruit-table td{padding: 1em 1.25em;
  text-align: left;
  vertical-align: top;
  border-bottom: 0.0833vw solid var(--color-border-light);
  line-height: 1.8;}
.recruit-table th{width: 11em;
  font-weight: 700;
  color: var(--color-primary-dark);
  background: var(--color-bg);
  white-space: nowrap;}
.faq-list{display: flex; flex-direction: column; gap: var(--sp-sm);}
.faq-item{border: 0.0833vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;}
.faq-item dt{position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  background: var(--color-bg-light);
  font-weight: 700;
  font-size: .95rem;}
.faq-item dt::before{content: 'Q';
  position: absolute;
  left: 1.25em;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 800;}
.faq-item dd{position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  font-size: .9rem;
  line-height: 1.9;
  color: var(--color-text-sub);}
.faq-item dd::before{content: 'A';
  position: absolute;
  left: 1.25em;
  color: var(--color-accent-warm);
  font-family: var(--font-en);
  font-weight: 800;}
.compliance-list{display: flex; flex-direction: column; gap: 1.25rem; margin-block: var(--sp-md);}
.compliance-list dt{font-weight: 400;      
  font-size: 1rem;
  color: var(--color-primary-dark);
  padding-left: .75em;
  border-left: 0.25vw solid var(--color-primary); 
  margin-bottom: .4em;}
.compliance-list dd{font-size: .92rem; line-height: 1.9; color: var(--color-text-sub); padding-left: 1em;}
.prose-section h2{font-size: 1.1rem;     
  margin-top: 2em;
  margin-bottom: .75em;
  padding-left: .75em;
  border-left: 0.3333vw solid var(--color-primary);}
.privacy-sections h2{border-left: none; padding-left: 0;}
.prose-section p{line-height: 1.95; color: var(--color-text-sub);}
.prose-section ul{margin: .75em 0 1.25em; padding-left: 1.4em;}
.prose-section ul li{line-height: 1.9; color: var(--color-text-sub); list-style: disc;}
.prose-section a{color: var(--color-primary); text-decoration: underline; word-break: break-all;}
.privacy-basics{margin: var(--sp-sm) 0 0; padding-left: 1.6em; display: flex; flex-direction: column; gap: 1em;}
.privacy-basics li{line-height: 1.95; color: var(--color-text-sub); list-style: decimal;}
.privacy-dl{margin: 1em 0 1.5em;}
.privacy-dl dt{font-weight: 400; color: var(--color-primary-dark); margin-top: 1em;}
.privacy-dl dd{line-height: 1.9; color: var(--color-text-sub); padding-left: 1em;}
.contact-faq-jump{text-align: center; margin-top: var(--sp-md);}
.recruit-movie-section{padding-top: 0;}
.recruit-movie{position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm);}
.recruit-movie iframe{position: absolute; inset: 0; width: 100%; height: 100%; border: 0;}
.recruit-values-lead{text-align: center; margin-bottom: var(--sp-md); color: var(--color-text-sub);}
.recruit-values-close{text-align: center; margin-top: var(--sp-md); color: var(--color-text-sub);}
.voice-grid{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.3333vw;
  margin-top: var(--sp-md);}
.voice-card{background: #fff;
  border: 0.0833vw solid rgba(0, 118, 129, .18);
  border-radius: var(--radius);
  padding: 2.6667vw 2.5vw;
  box-shadow: var(--shadow-sm);}
.voice-card__quote{font-size: 1.15rem; color: var(--color-primary-dark); margin-bottom: .5em; line-height: 1.6;}
.voice-card__meta{font-size: .82rem; color: var(--color-accent-warm); margin-bottom: 1em;}
.voice-card__body{font-size: .9rem; line-height: 1.95; color: var(--color-text-sub);}
.recruit-career-list{display: flex; flex-direction: column; gap: .9em; margin-top: var(--sp-sm);}
.recruit-career-list li{position: relative;
  padding-left: 1.4em;
  line-height: 1.9;
  color: var(--color-text-sub);
  list-style: none;}
.recruit-career-list li::before{content: "";
  position: absolute;
  left: 0; top: .72em;
  width: .6em; height: .6em;
  border-radius: 50%;
  background: var(--color-primary);}
.contact-page .sec-head, .recruit-page .sec-head{display: flex;
  flex-direction: column-reverse; 
  align-items: flex-start;}
.contact-page .sec-head--center, .recruit-page .sec-head--center{align-items: center;
  text-align: center;}
.contact-page .sec-head__ja, .recruit-page .sec-head__ja{color: var(--color-text-teal);
  font-size: 1.75vw;
  font-weight: 300;
  line-height: 1.5;}
.contact-page .sec-head__en, .recruit-page .sec-head__en{color: var(--color-gold);
  text-transform: none;
  font-size: 1.3333vw;
  letter-spacing: .08em;
  font-weight: 300;
  margin-top: 0.5vw;
  margin-bottom: 0;}
.contact-form-note{margin-bottom: 2.6667vw;
  font-size: 1.0833vw;       
  line-height: 2;
  color: var(--color-text-teal);
  text-align: center;}
.contact-page .contact-form{margin-top: 3.3333vw;}
.contact-page .form-group{margin-bottom: 3vw;}
.contact-page .form-row{grid-template-columns: 1fr; gap: 0;}
.contact-page .form-label{font-size: 1.1667vw;       
  font-weight: 400;      
  margin-bottom: 1vw;}
.contact-page .form-control{padding: 1.0833vw 1.25vw;
  font-size: 1.1667vw;       
  border: 0.0833vw solid var(--color-border);
  border-radius: 0.1667vw;
  background: var(--color-bg);}
.contact-page textarea.form-control{min-height: 16.6667vw;}
.contact-page .req{color: #e9473f;
  font-weight: 500;
  font-size: 1.1667vw;}
.contact-page .form-radio-group{gap: 1.1667vw 3.3333vw;}
.contact-page .form-radio, .contact-page .form-check{font-size: 1.25vw;}
.contact-page .contact-form .btn{background: var(--color-bg);
  color: var(--color-text-teal);
  border: 0.0833vw solid var(--color-text-teal);
  border-radius: 0;
  font-weight: 400;
  letter-spacing: .3em;
  padding: 1.5vw 4.6667vw;}
.contact-page .contact-form .btn:hover{background: var(--color-primary);
  color: var(--color-text-white);
  border-color: var(--color-primary);}
.contact-faq .sec-head{margin-bottom: 3.3333vw;}
.contact-faq .sec-head__ja{color: var(--color-text-teal);}
.contact-faq .faq-list{max-width: 73.3333vw;
  margin-inline: auto;
  display: block;}
.contact-faq .faq-item{border: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  margin-bottom: 1.6667vw;}
.contact-faq .faq-item__q{cursor: pointer;
  list-style: none;
  position: relative;
  padding: 0 2vw 0 2.3333vw;
  font-weight: 400;      
  font-size: 1.25vw;       
  color: var(--color-text);
  background: transparent;
  line-height: 1.8;}
.contact-faq .faq-item__q::-webkit-details-marker{display: none;}
.contact-faq .faq-item__q::before{content: "Q";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 700;}
.contact-faq .faq-item__q::after{content: "+";
  position: absolute;
  right: 0.3333vw;
  top: 0;
  color: var(--color-primary);
  font-size: 1.5vw;}
.contact-faq .faq-item[open] .faq-item__q::after{content: "−";}
.contact-faq .faq-item__a{position: relative;
  padding: 0.6667vw 2vw 0 2.3333vw;
  font-size: 1.25vw;       
  line-height: 1.95;
  color: var(--color-text-sub);}
.contact-faq .faq-item__a::before{content: "A";
  position: absolute;
  left: 0;
  color: var(--color-gold);
  font-family: var(--font-en);
  font-weight: 700;}
.recruit-page .section:first-of-type .sec-head{align-items: center; text-align: center;}
.recruit-page .section:first-of-type .sec-head__ja{font-size: 1.6667vw;
  font-weight: 600;
  color: #796428;}
.recruit-page .section:first-of-type p{text-align: center;
  color: var(--color-text-teal); 
  line-height: 2.1;
  font-size: 1.4167vw;       
  font-weight: 300;
  max-width: 63.3333vw;
  margin-inline: auto;
  padding-inline: 0;}
.recruit-values-section{background: var(--color-bg);}
.recruit-page .value-card-grid{gap: 2.6667vw; align-items: stretch;}
.recruit-page .value-card{max-width: 23.3333vw;
  aspect-ratio: 1 / 1;
  gap: 0.6667vw;
  padding: 3vw 2.3333vw;}
.recruit-page .value-card__keyword{font-size: 2.1667vw;}
.recruit-page .value-card__ja{font-size: 1.1667vw;
  font-weight: 600;
  color: var(--color-text-sub);}
.recruit-page .value-card__title{font-family: var(--font-en);
  font-size: 1vw;
  line-height: 1.5;}
.recruit-page .value-card__desc{font-size: 1vw; line-height: 1.85;}
.recruit-page .recruit-points{grid-template-columns: 1fr;
  gap: 0.8333vw;}
.recruit-page .recruit-point{background: transparent;
  border-radius: 0;
  padding: 0 0 0 2vw;
  font-size: 1.1667vw;       
  font-weight: 400;
  line-height: 1.8;}
.recruit-page .recruit-point::before{content: "●";          
  left: 0;
  color: var(--color-text);
  font-size: 0.8333vw;}
.recruit-page .recruit-table th{width: 9em;
  background: transparent;
  color: var(--color-text);
  font-weight: 600;}
.recruit-page .recruit-table th::after{content: "：";}
.recruit-page .recruit-table th, .recruit-page .recruit-table td{border-bottom: 0.0833vw solid var(--color-border-light);
  font-size: 1.3333vw;}
.recruit-page .faq-list{display: block;
  max-width: 73.3333vw;}
.recruit-page .faq-item{border: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 2vw;}
.recruit-page .faq-item dt{position: relative;
  background: transparent;
  padding: 0 0 0.5vw 2.3333vw;
  font-size: 1.4167vw;       
  font-weight: 600;}
.recruit-page .faq-item dt::before{content: "Q：";
  left: 0;
  color: var(--color-primary);}
.recruit-page .faq-item dd{position: relative;
  padding: 0 0 0 2.3333vw;
  font-size: 1.4167vw;       
  line-height: 1.95;}
.recruit-page .faq-item dd::before{content: "A：";
  left: 0;
  color: var(--color-gold);}
.recruit-page .sec-head__ja{color: #796428;
  font-size: 1.9167vw;
  font-weight: 600;}
.recruit-page .sec-head__en{color: #796428;
  font-family: var(--font-en);
  font-size: 1.8333vw; 
  font-weight: 300;
  letter-spacing: .06em;
  text-transform: none;}
.recruit-page .section .container--narrow{padding-inline: 8.3333vw;}
.recruit-page .sec-head--center span.sec-head__en{order: 0;}
.recruit-page .sec-head--center .sec-head__ja{color: #796428;}
.recruit-lead-head .sec-head__ja{font-size: 1.6667vw;
  color: #796428;}
.recruit-lead-body{text-align: center;
  color: var(--color-text-teal);
  font-size: 1.75vw;
  font-weight: 300;
  line-height: 1.5;
  margin-top: 3.6667vw;}
.recruit-movie{position: relative;
  aspect-ratio: 16 / 9;
  max-width: 53.3333vw;
  margin: 4.6667vw auto 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: #eef1f1;}
.recruit-divider{display: block;
  border: 0;
  border-top: 0.0833vw solid var(--color-gold);
  margin-block: 0;
  margin-inline: clamp(2vw, 10vw, 13.3333vw);}
.recruit-values-lead{text-align: center;
  color: var(--color-text-teal);
  font-size: 1.3333vw;       
  font-weight: 300;
  margin: 3.3333vw 0 0;}
.value-card-grid{display: grid;
  grid-template-columns: repeat(3, 23.75vw);
  gap: 4vw;
  justify-content: center;
  margin-top: 9.3333vw;     
  margin-bottom: 9.3333vw;}
.value-card{width: 23.75vw;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 3.1667vw;
  min-height: 0;}
.value-card--respect{background: #d0dee0; color: #407980;}
.value-card--challenge{background: #d7e3d0; color: #728b56;}
.value-card--originality{background: #ebdec0; color: #ad7a00;}
.value-card:nth-child(1) .value-card__keyword, .value-card:nth-child(2) .value-card__keyword, .value-card:nth-child(3) .value-card__keyword{color: inherit;}
.value-card__keyword{font-family: var(--font-en);
  font-size: 2.5vw;      
  font-weight: 700;     
  color: inherit;
  margin: 0;}
.value-card__ja{font-size: 1.25vw;      
  font-weight: 400;
  margin: .15em 0 .45em;}
.value-card__sub-en{font-family: var(--font-en);
  font-size: 1.1667vw;      
  font-weight: 400;
  line-height: 1.22;}
.value-card__desc{font-size: 1.0833vw;      
  font-weight: 300;
  line-height: 1.45;    
  margin-top: .55em;}
.recruit-values-close{text-align: center;
  color: var(--color-text-teal);
  font-size: 1.1667vw;
  font-weight: 300;
  margin-top: 4.6667vw;}
.recruit-values-cta{text-align: center; margin-top: 4em;}
.recruit-values-cta .btn--outline{color: var(--color-text-teal);
  border-color: var(--color-text-teal);
  font-weight: 300;
  font-size: 1.1667vw;
  padding: .7em 2.2em;}
.recruit-values-cta .btn--outline:hover{background: var(--color-text-teal); color: #fff;}
.recruit-voices{background: #9dc4d8 url('../images/recruit-voices-photo.jpg?v=5') center / cover no-repeat;}
.voice-grid{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.6667vw 3vw;
  max-width: 91.6667vw;
  margin: 4.6667vw auto 0;}
.voice-card{position: relative;
  background: rgba(0, 116, 140, .62); 
  color: #fff;
  border-radius: 0.8333vw;
  padding: 2.5vw 2.6667vw 2.8333vw;
  box-shadow: none;}
.voice-card::after{display: none;}
.voice-card__quote{color: #fff;
  font-size: 1.4167vw;      
  font-weight: 600;
  margin-bottom: .5em;
  line-height: 1.5;}
.recruit-page .page-hero__bg{background-position: center top;}
.value-card-grid--img{display: flex;
  justify-content: center;
  gap: 2.8333vw;               
  flex-wrap: wrap;}
.value-circle-img{width: 24.4167vw;            
  height: auto;}
.voice-card__quote span{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='8' viewBox='0 0 160 8'%3E%3Cpath d='M2 5.2 C 30 3.6, 62 6, 92 4.6 S 140 5.6, 158 4.4' fill='none' stroke='%23E6E400' stroke-width='3.4' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 13.3333vw 0.6667vw;
  padding-bottom: 0.5833vw;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;}
.voice-card__meta{color: #fff;
  font-size: 1.1667vw;      
  font-weight: 500;
  margin-bottom: 1.1em;}
.voice-card__body{color: #fff;
  font-size: 1.0833vw;      
  font-weight: 300;
  line-height: 1.58;}
.recruit-career-list{display: flex; flex-direction: column; gap: .55em; margin-top: 3.3333vw;}
.recruit-career-list li{position: relative;
  padding: 0 0 0 1.25em;
  background: none;
  border: none;
  color: var(--color-text-teal);
  font-size: 1.1667vw;       
  font-weight: 300;
  line-height: 1.6;}
.recruit-career-list li::before{content: '●';
  position: absolute;
  left: 0;
  top: .12em;
  font-size: .75em;
  color: var(--color-text-teal);
  background: none;
  width: auto;
  height: auto;}
.recruit-outline{background: #ebf3f5;}
.recruit-outline__grid{display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 4.6667vw;
  margin-top: 3.3333vw;}
.recruit-spec__row{display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 0 .5em;
  margin-bottom: .6em;}
.recruit-spec dt{color: var(--color-text-teal);
  font-size: 1.3333vw;
  font-weight: 300;
  text-align: justify;
  text-align-last: justify;
  white-space: nowrap;}
.recruit-spec dt::after{content: '：';}
.recruit-spec dd, .recruit-qa dt, .recruit-qa dd{color: var(--color-text-teal);
  font-size: 1.3333vw;
  font-weight: 300;
  line-height: 1.9;}
.recruit-qa__item{margin-bottom: 1.6em;}
.recruit-qa__item:last-child{margin-bottom: 0;}
.news-list .news-item{grid-template-columns: 8.6667vw 1fr;
  gap: 0.3333vw 2vw;
  align-items: baseline;
  padding-block: 0.8333vw;
  font-size: 1.1667vw;
  line-height: 1.7;
  border-bottom: 0.0833vw solid var(--color-border-light);}
.news-list .news-item__date{color: #231916;
  font-family: var(--font-en);
  font-size: 1.1667vw;
  letter-spacing: .02em;
  white-space: nowrap;}
.news-list .news-item__title{color: #231916;}
.news-list .news-item__title a{color: #231916;
  transition: color var(--transition);}
.news-list .news-item__title a:hover{color: var(--color-primary);
  text-decoration: underline;}
.news-list .news-item__cat{font-size: 0.9167vw;}
.news-card-grid{display: flex;
  flex-direction: column;}
.news-card{border-bottom: 0.0833vw solid var(--color-border-light);
  transition: background var(--transition);}
.news-card__body{display: flex;
  align-items: baseline;
  gap: 2.3333vw;
  padding: 1.5vw 0.3333vw;}
.news-card__date{flex: 0 0 auto;
  font-family: var(--font-en);
  font-size: 1.1667vw;
  color: var(--color-text-sub);}
.news-card__title{font-size: 1.25vw;
  font-weight: 300;   
  line-height: 1.6;
  margin: 0;}
.news-card__title a:hover{color: var(--color-primary);}
.news-filter{display: flex;
  flex-wrap: wrap;
  gap: 0.6667vw;
  margin-bottom: var(--sp-md);}
.news-filter__btn{display: inline-flex;
  align-items: center;
  padding: 0.5vw 1.5vw;
  font-size: 1.0833vw;
  font-weight: 600;
  border: 0.0833vw solid var(--color-border);
  border-radius: 83.25vw;
  color: var(--color-text-sub);
  transition: background var(--transition), color var(--transition), border-color var(--transition);}
.news-filter__btn:hover{border-color: var(--color-primary); color: var(--color-primary);}
.news-filter__btn.is-active{background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;}
.news-readmore{text-align: center;
  margin-top: 4.6667vw;}
.news-readmore__link{display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 0.6667vw;
  color: #007c8f;
  font-family: var(--font-en);
  font-size: 1.1667vw;
  letter-spacing: .08em;
  transition: opacity var(--transition);}
.news-readmore__link:hover{opacity: .65; color: #007c8f;}
.news-readmore__chevron{width: 1.8333vw;
  height: 1.8333vw;
  display: block;}
.no-posts{text-align: center;
  padding-block: var(--sp-xl);
  color: var(--color-text-sub);}
.single-article__header{margin-bottom: var(--sp-md);
  padding-bottom: var(--sp-md);
  border-bottom: 0.0833vw solid var(--color-border-light);}
.single-article__meta{display: flex;
  align-items: center;
  gap: 1vw;
  margin-bottom: 1vw;}
.single-article__date{font-family: var(--font-en);
  font-size: 1.1667vw;
  color: var(--color-text-sub);}
.single-article__title{font-size: 2vw;        
  font-weight: 400;       
  line-height: 1.45;
  color: rgba(35,25,22,.8);}
.single-article__thumb{margin-bottom: var(--sp-md);
  border-radius: var(--radius-lg);
  overflow: hidden;}
.postid-52 .single-article__thumb img{display: block;
  width: 70%;
  height: auto;
  margin-inline: auto;}
.single-article__body{margin-top: var(--sp-lg);}
.single-article__body, .single-article__body p{color: var(--color-text-sub);}
.post-nav{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  margin-top: var(--sp-xl);
  padding-top: var(--sp-md);
  border-top: 0.0833vw solid var(--color-border-light);}
.post-nav__prev, .post-nav__next{display: flex;
  flex-direction: column;
  gap: 0.5vw;}
.post-nav__next{text-align: right;}
.post-nav__label{font-size: 1.0833vw;
  color: var(--color-primary);
  font-weight: 600;}
.post-nav a{font-size: 1.1667vw;
  line-height: 1.5;
  transition: color var(--transition);}
.post-nav a:hover{color: var(--color-primary);}
.post-back{text-align: center;
  margin-top: var(--sp-lg);}
}
@media (max-width:599.98px){
:root{--color-primary:       rgb(0 118 129 / 75%); 
  --color-primary-light: #008C96; 
  --color-primary-dark:  #007c8f; 
  --color-text-teal:     #007c8f; 
  --color-gold:          #796428; 
  --header-pull: 24.6667vw;           
  --color-accent-green:  #3A8C5C;
  --color-accent-warm:   #D97A45;

  
  --color-text:          #1A1A2E;
  --color-text-sub:      #5A6476;
  --color-text-white:    #FFFFFF;

  
  --color-bg:            #FFFFFF;
  --color-bg-light:      #cddfe2; 
  --color-bg-seafoam:    #c7dbdf; 
  --color-bg-dark:       #003A3F; 
  --color-bg-gray:       #EEEFF2;

  
  --color-border:        #BCD4DD; 
  --color-border-light:  #DCE8EE; 

  
  
  --font-jp:   'Hiragino Sans', 'Hiragino Kaku Gothic ProN', 'Zen Kaku Gothic New', 'Noto Sans JP', 'Meiryo', sans-serif;
  
  --font-en:   'Source Sans 3', 'Source Sans Pro', 'Hiragino Sans', sans-serif;
  --base-size: 2.6667vw;
  --lh-body:   1.8;
  --lh-heading: 1.35;

  
  --sp-xs:  .5rem;
  --sp-sm:  1rem;
  --sp-md:  2rem;
  --sp-lg:  4rem;
  --sp-xl:  6rem;

  
  --container-max: 200vw;
  --container-pad: 4vw;

  
  --radius:      0.6667vw;
  --radius-lg:   1.3333vw;
  --shadow-sm:   0 0.3333vw 1.3333vw rgba(0,0,0,.08);
  --shadow-md:   0 0.6667vw 3.3333vw rgba(0,0,0,.12);
  --transition:  .25s ease;

  
  --header-h: 11.6667vw;}
*, *::before, *::after{box-sizing: border-box; margin: 0; padding: 0;}
html{font-size: var(--base-size); scroll-behavior: smooth;}
body{font-family: var(--font-jp);
  font-size: 1rem;
  line-height: var(--lh-body);
  color: var(--color-text);
  background: var(--color-bg);
  -webkit-font-smoothing: antialiased;}
img, video{max-width: 100%; height: auto; display: block;}
a{color: inherit; text-decoration: none;}
a:hover{color: var(--color-primary);}
ul, ol{list-style: none;}
button{cursor: pointer; border: none; background: none; font: inherit;}
input, textarea, select{font: inherit;}
table{border-collapse: collapse; width: 100%;}
h1, h2, h3, h4, h5, h6{line-height: var(--lh-heading);
  font-weight: 700;
  letter-spacing: .02em;}
h1{font-size: 7.3333vw;}
h2{font-size: 6vw;}
h3{font-size: 4.6667vw;}
h4{font-size: 3.3333vw;}
h5{font-size: 3vw;}
p{margin-bottom: 1.25em;}
p:last-child{margin-bottom: 0;}
.container{max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);}
.container--narrow{max-width: 143.3333vw;
  margin-inline: auto;
  padding-inline: var(--container-pad);
  color: #007c8f;}
.section{padding-block: var(--sp-xl);}
.section--sm{padding-block: var(--sp-lg);
  padding-top: 9rem;
  padding-bottom: 10.5rem;}
.section--bg-light{background: var(--color-bg-light);}
.section--bg-seafoam{background: var(--color-bg-seafoam);}
.section--bg-gray{background: var(--color-bg-gray);}
.section--bg-dark{background: var(--color-bg-dark); color: var(--color-text-white);}
.grid{display: grid; gap: var(--sp-md);}
.grid--2{grid-template-columns: repeat(2, 1fr);}
.grid--3{grid-template-columns: repeat(3, 1fr);}
.grid--4{grid-template-columns: repeat(4, 1fr);}
.sec-head{margin-bottom: var(--sp-lg);}
.top-hero__scroll-cue{display: none;}
.page-id-18 .sec-head, .page-id-19 .sec-head{padding-left: 4vw;}
.page-id-18 .l-main p, .page-id-19 .l-main p{padding-left: 4vw;}
.page-id-18 .compliance-list, .page-id-19 .privacy-dl{padding-left: 4vw;}
.page-id-19 .privacy-basics{margin-left: 4vw;}
.sec-head__en{display: block;
  font-family: var(--font-en);
  font-size: 1.375rem; 
  font-weight: 300;    
  letter-spacing: 0.02em; 
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: .4em;}
.sec-head__en{font-weight: 600 !important;}
.sec-head__ja{font-size: 4.3333vw;     
  font-weight: 500;    
  color: var(--color-text);}
.sec-head__sub{margin-top: .75em;
  color: var(--color-text-teal);
  font-size: 1.35rem;
  order: -1;}
.sec-head--center{text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;}
.sec-head.sec-head--center span.sec-head__en{order: 1;
  font-weight: 300;}
.sec-head.sec-head--center h2.about-dash-head__ja{font-weight: 400;}
.sec-head--line .sec-head__ja::after{content: '';
  display: block;
  width: 6.6667vw;
  height: 0.5vw;
  background: var(--color-primary);
  margin-top: .6em;}
.sec-head--center.sec-head--line .sec-head__ja::after{margin-inline: auto;}
.btn{display: inline-flex;
  align-items: center;
  gap: .5em;
  padding: .75em 2em;
  font-size: .9rem;
  font-weight: 600;
  letter-spacing: .05em;
  border-radius: 0; 
  transition: background var(--transition), color var(--transition), border-color var(--transition), box-shadow var(--transition);}
.btn--primary{background: var(--color-primary);
  color: #fff;
  border: 0.3333vw solid transparent;}
.btn--primary:hover{background: var(--color-primary-dark);
  border-color: var(--color-primary-dark);
  color: #fff;}
.btn--outline{background: transparent;
  color: var(--color-primary);
  border: 0.1667vw solid var(--color-primary); 
  font-weight: 400;      
  justify-content: center;}
.btn--outline:hover{background: var(--color-primary);
  color: #fff;}
.btn--white{background: #fff;
  color: var(--color-primary);
  border: 0.3333vw solid #fff;}
.btn--white:hover{background: transparent;
  color: #fff;}
.btn--arrow::after{content: '→';
  font-family: var(--font-en);}
.breadcrumb{padding-block: .75rem;
  border-bottom: 0;          
  background: transparent;}
.breadcrumb ol{display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .25rem;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  font-size: .8rem;
  color: var(--color-text-sub);}
.breadcrumb__item{display: flex; align-items: center;}
.breadcrumb__item + .breadcrumb__item::before{content: '›';
  margin-right: .25rem;
  color: var(--color-border);}
.breadcrumb__item a:hover{color: var(--color-primary);}
.breadcrumb__item--current span{color: var(--color-text-sub);}
.page-hero{position: relative;
  min-height: calc(66.6667vw + var(--header-pull)); 
  
  margin-top: calc(-1 * var(--header-pull));    
  padding-top: var(--header-pull);
  display: flex;
  align-items: center;
  background: var(--color-bg-dark);
  overflow: hidden;}
.page-hero::before{content: '';
  position: absolute;
  inset: 0;
  
  background: none;
  z-index: 1;}
.page-hero__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  z-index: 0;}
.page-hero__inner{position: relative;
  z-index: 2;
  width: 100%;
  padding-block: var(--sp-lg);
  margin-left: 14vw;}
.page-hero__title{color: #fff;
  font-size: 4.3333vw; 
  font-weight: 400;
  letter-spacing: .03em;}
.page-hero__title em{display: block;
  font-style: normal;
  font-family: var(--font-en);
  font-size: .82em; 
  font-weight: 400;
  letter-spacing: .1em;
  opacity: .85;
  margin-top: .5em;
  text-transform: none;}
.page-id-8 .page-hero__title em{letter-spacing: 0.04em;}
.page-hero--news .page-hero__bg{background: var(--color-bg-light) !important;}
.page-hero--news::before{background: none;}
.page-hero--news .page-hero__title, .page-hero--news .page-hero__title em{color: var(--color-primary-dark);}
.page-hero--news{min-height: calc(25vw + var(--header-pull)) !important;}
.card{background: var(--color-bg);
  border: 0.1667vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: box-shadow var(--transition), transform var(--transition);}
.card:hover{box-shadow: var(--shadow-md);
  transform: translateY(-0.3333vw);}
.card__img{overflow: hidden; aspect-ratio: 4/3;}
.card__img img{width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease;}
.card:hover .card__img img{transform: scale(1.04);}
.card__body{padding: var(--sp-sm) var(--sp-md);}
.card__cat{display: inline-block;
  font-size: .75rem;
  font-weight: 600;
  color: var(--color-primary);
  letter-spacing: .05em;
  text-transform: uppercase;
  margin-bottom: .4em;}
.card__title{font-size: 1rem;
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: .5em;}
.card__meta{font-size: .8rem;
  color: var(--color-text-sub);}
.news-item{display: grid;
  grid-template-columns: 9em 1fr;
  gap: .75rem var(--sp-sm);
  align-items: baseline;
  padding-block: 1rem;
  border-bottom: 0.1667vw solid var(--color-border-light);
  font-size: .9rem;}
.news-item:first-child{border-top: 0.1667vw solid var(--color-border-light);}
.news-item__date{color: var(--color-text-sub);
  font-family: var(--font-en);
  font-size: .85rem;
  white-space: nowrap;}
.news-item__cat{display: inline-block;
  padding: .1em .6em;
  font-size: .7rem;
  font-weight: 600;
  border: 0.1667vw solid var(--color-primary);
  color: var(--color-primary);
  border-radius: var(--radius);
  white-space: nowrap;
  margin-right: .5em;}
.news-item__title a:hover{color: var(--color-primary); text-decoration: underline;}
.pagination{display: flex;
  justify-content: center;
  gap: .5rem;
  padding-block: var(--sp-lg);}
.pagination a, .pagination span{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 0.1667vw solid var(--color-border);
  border-radius: var(--radius);
  font-size: .9rem;
  transition: background var(--transition), color var(--transition);}
.pagination a:hover{background: var(--color-primary); color: #fff; border-color: var(--color-primary);}
.pagination .current{background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);
  font-weight: 700;}
.tag{display: inline-block;
  padding: .2em .8em;
  font-size: .75rem;
  font-weight: 600;
  border-radius: 2em;
  background: var(--color-bg-light);
  color: var(--color-text-sub);
  border: 0.1667vw solid var(--color-border);}
.tag--primary{background: var(--color-primary); color: #fff; border-color: var(--color-primary);}
.tag--green{background: var(--color-accent-green); color: #fff; border-color: var(--color-accent-green);}
.related-pages{padding-block: var(--sp-xl); background: var(--color-bg);}
.related-pages__grid{display: grid;
  gap: 0.3333vw; 
  background: transparent;}
.related-page-item{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: var(--sp-lg) var(--sp-md);
  background: var(--color-bg-light);
  transition: opacity var(--transition);
  min-height: 23.3333vw;}
.related-page-item:hover{opacity: .8;}
.related-page-item__ja{font-size: 3vw;
  font-weight: 300;
  color: var(--color-gold);
  margin-bottom: .1em;   
  line-height: 1.2;}
.related-page-item__en{font-family: var(--font-en);
  font-size: 2.3333vw;
  font-weight: 300;
  color: var(--color-gold);
  letter-spacing: .08em;}
.related-pages__grid--left{background: transparent;
  gap: 0.3333vw; 
  padding-inline: 0;}
.social-links{display: flex;
  align-items: center;
  gap: var(--sp-sm);}
.social-link{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0.1667vw solid var(--color-border);
  border-radius: 50%;
  font-size: .85rem;
  color: var(--color-text-sub);
  transition: background var(--transition), color var(--transition), border-color var(--transition);}
.social-link:hover{background: var(--color-primary);
  color: #fff;
  border-color: var(--color-primary);}
.entry-content{max-width: 133.3333vw;}
.entry-content h2, .entry-content h3, .entry-content h4{margin-top: 2em;
  margin-bottom: .75em;}
.entry-content h2{font-size: 1.5rem;
  padding-left: .75em;
  border-left: 0.6667vw solid var(--color-primary);}
.entry-content h3{font-size: 1.2rem;
  color: var(--color-primary-dark);}
.entry-content ul, .entry-content ol{list-style: disc;
  padding-left: 1.5em;
  margin-bottom: 1.25em;}
.entry-content ol{list-style: decimal;}
.entry-content table{margin-bottom: 1.5em;
  font-size: .9rem;}
.entry-content th, .entry-content td{padding: .6em 1em;
  border: 0.1667vw solid var(--color-border);
  text-align: left;
  vertical-align: top;}
.entry-content th{background: var(--color-bg-light);
  font-weight: 700;}
.entry-content a{color: var(--color-primary);
  text-decoration: underline;}
.entry-content figure{margin-block: 1.5em;}
.entry-content figcaption{font-size: .8rem; color: var(--color-text-sub); margin-top: .5em;}
.site-header{position: sticky;
  top: 0;
  z-index: 1000;
  background: rgb(0 118 129 / 85%); 
  color: #fff;
  height: 24.6667vw;   
  display: flex;
  flex-direction: column;
  transition: box-shadow var(--transition);}
.site-header.is-scrolled{box-shadow: var(--shadow-sm);}
.site-header{transition: transform .55s ease, opacity .55s ease, box-shadow var(--transition);}
.site-header.is-idle-hidden{transform: translateY(-100%);
  opacity: 0;
  pointer-events: none;}
.site-header__utility-inner{display: flex;
  justify-content: flex-end;
  align-items: center;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-top: 2.3333vw;}
.utility-nav{display: flex;
  align-items: center;}
.utility-nav li a{display: inline-block;
  padding: 0.6667vw 2.6667vw;
  font-size: 2.1667vw;
  color: rgba(255,255,255,.85);
  letter-spacing: .04em;
  transition: color var(--transition);}
.utility-nav li:last-child a{padding-right: 0;}
.utility-nav li a:hover{color: #fff;}
.site-header__main{flex: 1;
  display: flex;
  align-items: flex-end;}
.site-header__main-inner{display: flex;
  align-items: flex-end;
  justify-content: space-between;
  width: 100%;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad); 
  padding-bottom: 2.3333vw;
  gap: 5.3333vw;}
.site-header__logo a{display: flex;
  flex-direction: column;
  line-height: 1;
  color: #fff;
  gap: 1vw;}
.site-header__logo-name{display: flex;
  justify-content: space-between;   
  font-family: var(--font-en);
  font-size: 8vw;
  font-weight: 800;
  letter-spacing: 0;                 
  color: #fff;
  line-height: 1;}
.site-header__logo-tagline{font-size: 2vw;
  color: rgba(255,255,255,.85);
  letter-spacing: .08em;
  font-family: var(--font-en);
  white-space: nowrap;}
.site-header__logo-link{display: block;}
.site-header__logo-img{width: 30.8333vw; height: auto; display: block;}
.site-header__nav{align-self: flex-end;}
.main-nav{display: flex;
  align-items: flex-end;
  gap: 0;}
.main-nav li{position: relative;}
.main-nav > li > a{display: inline-flex;
  align-items: center;
  padding: 1vw 2.3333vw;
  font-size: 2.3333vw;
  font-weight: 500;
  color: #fff;
  white-space: nowrap;
  transition: opacity var(--transition);
  letter-spacing: .04em;}
.main-nav > li:last-child > a{padding-right: 0;}
.main-nav > li > a:hover, .main-nav > li.current-menu-item > a, .main-nav > li.current-page-ancestor > a{opacity: .7;}
.hamburger{display: none;
  flex-direction: column;
  justify-content: center;
  gap: 0.8333vw;
  width: 6.6667vw;
  height: 6.6667vw;
  padding: 1vw;
  flex-shrink: 0;}
.hamburger__bar{display: block;
  width: 100%;
  height: 0.3333vw;
  background: #fff;
  border-radius: 0.3333vw;
  transition: transform var(--transition), opacity var(--transition);}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(1){transform: translateY(1.1667vw) rotate(45deg);}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(2){opacity: 0;}
.hamburger[aria-expanded="true"] .hamburger__bar:nth-child(3){transform: translateY(-1.1667vw) rotate(-45deg);}
.mobile-menu{position: fixed;
  top: 0;
  right: 0;
  z-index: 1100;   
  width: 53.3333vw;
  max-width: calc(100% - 8vw);
  height: 100dvh;
  background: #fff;
  overflow-y: auto;
  transform: translateX(100%);
  transition: transform .35s cubic-bezier(.4,0,.2,1);
  padding-top: 10.6667vw;   
  box-shadow: var(--shadow-md);}
.mobile-menu__close{position: absolute;
  top: 3vw;
  right: 3vw;
  width: 5.3333vw;
  height: 5.3333vw;
  background: none;
  border: 0;
  cursor: pointer;
  padding: 0;}
.mobile-menu__close span{position: absolute;
  left: 0.6667vw;
  top: 2.5vw;
  width: 4vw;
  height: 0.3333vw;
  background: var(--color-primary);}
.mobile-menu__close span:first-child{transform: rotate(45deg);}
.mobile-menu__close span:last-child{transform: rotate(-45deg);}
.mobile-menu.is-open{transform: translateX(0);}
.mobile-nav{padding: var(--sp-sm) 0;}
.mobile-nav li a{display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.5rem;
  font-size: .95rem;
  border-bottom: 0.1667vw solid var(--color-border-light);
  color: var(--color-text);}
.mobile-nav li a::after{content: '›'; color: var(--color-primary);}
.mobile-nav li a:hover{background: var(--color-bg-light); color: var(--color-primary);}
.mobile-menu__utility{padding: 0 0 var(--sp-md);
  display: flex;
  flex-direction: column;}
.mobile-menu__utility a{display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .9rem 1.5rem;
  font-size: .95rem;
  border-bottom: 0.1667vw solid var(--color-border-light);
  color: var(--color-text);}
.mobile-menu__utility a::after{content: '›'; color: var(--color-primary);}
.mobile-menu__utility a:hover{background: var(--color-bg-light); color: var(--color-primary);}
.mobile-overlay{position: fixed;
  inset: 0;
  z-index: 1099;   
  background: rgba(0,0,0,.5);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition);}
.mobile-overlay.is-active{opacity: 1;
  pointer-events: all;}
.site-footer{position: relative;
  background: var(--color-bg-dark);
  color: rgba(255,255,255,.85);
  overflow: hidden;
  text-shadow: 0 0.1667vw 0.5vw rgba(0,0,0,.6);}
.site-footer::before{content: '';
  position: absolute;
  inset: 0;
  background: url(../images/footer-bg.jpg?v=4) center / cover no-repeat;
  z-index: 0;}
.site-footer > *{position: relative; z-index: 1;}
.site-footer__main{padding-block: var(--sp-xl) var(--sp-lg);}
.site-footer__main-inner{display: flex;
  flex-direction: column;
  gap: var(--sp-lg);
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);
  padding-left: 18.6667vw;}
.footer-top{display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--sp-lg);}
.footer-brand__logo{font-family: var(--font-en);
  font-size: 1.5rem;
  font-weight: 800;
  color: #fff;
  letter-spacing: .04em;
  margin-bottom: .3rem;}
.footer-brand__name{font-size: 1.3rem;    
  font-weight: 700;
  color: rgba(255,255,255,.9);
  margin-bottom: .25rem;}
.footer-brand__tagline{font-size: .75rem;
  opacity: .6;
  margin-bottom: var(--sp-md);
  font-family: var(--font-en);
  letter-spacing: .04em;}
.footer-brand__address{font-size: .86rem;    
  line-height: 1.8;
  opacity: 1;
  font-style: normal;}
.footer-brand__address a{opacity: .85;
  transition: opacity var(--transition);}
.footer-brand__address a:hover{opacity: 1; color: #fff;}
.footer-social{display: flex;
  gap: .6rem;
  justify-content: flex-end;
  margin-top: 0;
  margin-right: 5vw;}
.footer-social__link{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 5.3333vw;   
  height: 5.3333vw;
  transition: opacity var(--transition);
  flex-shrink: 0;}
.footer-social__link img, .footer-social__link svg{pointer-events: none; width: 100%; height: 100%;}
.footer-social__link:hover{opacity: .6;}
.footer-nav{display: grid;
  grid-template-columns: max-content max-content;
  justify-content: start;
  gap: var(--sp-sm) var(--sp-lg);}
.footer-nav__col h4{font-size: .72rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .12em;
  color: rgba(255,255,255,.45);
  margin-bottom: .75rem;
  padding-bottom: .5rem;
  border-bottom: 0.1667vw solid rgba(255,255,255,.1);}
.footer-nav__col ul li a{display: block;
  font-size: .66rem;  
  padding-block: .3rem;
  opacity: .68;
  transition: opacity var(--transition), color var(--transition);
  line-height: 1.4;}
.footer-nav__col ul li a:hover{opacity: 1; color: #e6cf92; text-decoration: underline;}
.site-footer__bottom{border-top: 0.1667vw solid rgba(255,255,255,.08);
  padding-block: 1rem;
  background: rgba(0,0,0,.25);}
.site-footer__bottom-inner{display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: .75rem;
  max-width: var(--container-max);
  margin-inline: auto;
  padding-inline: var(--container-pad);}
.footer-legal{display: flex;
  gap: var(--sp-sm);
  font-size: .75rem;
  opacity: .55;}
.footer-legal a:hover{opacity: 1; text-decoration: underline;}
.footer-copy{font-size: .72rem;
  font-family: var(--font-en);
  opacity: .45;
  letter-spacing: .03em;}
.l-main{padding-top: 0;}
.visually-hidden{position: absolute;
  width: 0.1667vw;
  height: 0.1667vw;
  overflow: hidden;
  clip: rect(0,0,0,0);
  white-space: nowrap;}
.js-reveal{opacity: 0;
  transform: translateY(4vw);
  transition: opacity .6s ease, transform .6s ease;}
.js-reveal.is-visible{opacity: 1;
  transform: none;}
.text-center{text-align: center;}
.text-right{text-align: right;}
br.sp-only{display: none;}
.mt-sm{margin-top: var(--sp-sm);}
.mt-md{margin-top: var(--sp-md);}
.mt-lg{margin-top: var(--sp-lg);}
.back-to-top{position: fixed;
  bottom: 2rem;
  right: 2rem;
  z-index: 900;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  border: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0.6667vw 2.6667vw rgba(0, 128, 172, .35);
  opacity: 0;
  transform: translateY(2vw);
  transition: opacity .3s ease, transform .3s ease, background .2s ease;
  pointer-events: none;}
.back-to-top.is-visible{opacity: 1;
  transform: translateY(0);
  pointer-events: auto;}
.back-to-top:hover{background: var(--color-primary-dark);
  box-shadow: 0 1vw 3.3333vw rgba(0, 128, 172, .45);}
.back-to-top svg{flex-shrink: 0;}
.top-hero{position: relative;
  overflow: hidden;
  margin-top: calc(-1 * var(--header-pull));}
.top-hero__video{display: block;
  width: 100%;
  max-width: none;   
  height: auto;
  margin-inline: auto;}
.top-hero__bg{width: 100%;
  aspect-ratio: 16 / 9;
  background-size: cover;
  background-position: center;}
.top-hero__content{position: relative;
  z-index: 2;
  text-align: center;
  color: #fff;}
.top-hero__copy{display: flex;
  flex-direction: column;
  gap: .6em;
  font-weight: 700;
  text-shadow: 0 0.3333vw 4vw rgba(0,30,45,.45);}
.top-hero__copy-ja{font-size: 9vw;
  letter-spacing: .08em;
  line-height: 1.4;}
.top-hero__copy-en{font-family: var(--font-en);
  font-weight: 400;
  font-size: 3vw;
  letter-spacing: .28em;
  text-transform: none;
  opacity: .92;}
.top-lead{text-align: center;
  padding-block: 18.6667vw;}
.top-lead__heading-en{font-family: var(--font-en);
  font-size: 5vw;           
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: none;
  color: #796428;            
  margin-bottom: 0;}
.top-lead__heading{font-size: 3.3333vw;           
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--color-gold);
  margin-bottom: 9.3333vw;}
.top-lead__body{font-size: 3vw;
  line-height: 1.7;
  letter-spacing: .04em;
  color: var(--color-text-teal);
  margin: 0;}
.top-lead__body + .top-lead__body{margin-top: 7.6667vw;}
.top-brand-story{position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1685 / 592;  
  overflow: hidden;
  color: #fff;
  text-align: center;}
.top-brand-story__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 1.2s ease;}
.top-brand-story:hover .top-brand-story__bg{transform: scale(1.05);}
.top-brand-story__overlay{position: absolute;
  inset: 0;
  background: rgba(3,40,63,.38);}
.top-brand-story__content{position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3333vw;}
.top-brand-story:hover{color: #fff;}
.top-brand-story__ja{font-size: 4.3333vw;           
  font-weight: 400;
  letter-spacing: .04em;     
  margin-top: 8.5vw;
  margin-bottom: 0;}
.top-brand-story__en{font-family: var(--font-en);
  font-size: 4.8333vw;           
  font-weight: 400;
  letter-spacing: .04em;}
.top-brand-story__since{font-family: var(--font-en);
  font-size: 3.8333vw;           
  font-weight: 400;
  letter-spacing: .04em;     
  margin-top: -3.3333vw;}
.sec-head--inline .sec-head__ja{color: #007681;            
  font-size: 3.6667vw;
  font-weight: 500;          
  letter-spacing: .08em;
  position: relative;
  left: -1vw;}
.sec-head__en-inline{font-family: var(--font-en);
  font-size: 4.1667vw;
  font-weight: 700;          
  letter-spacing: .06em;
  margin-left: .4em;
  position: relative;
  left: -0.6667vw;}
.top-quality{padding-block: 21.6667vw;}
.quality-grid{max-width: 173.3333vw;
  margin: 0 auto;
  display: grid;
  grid-template-columns: repeat(2, 1fr);   
  gap: 6vw 5.3333vw;}
.quality-card{display: flex;
  flex-direction: column;
  background: var(--color-bg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
  transition: box-shadow var(--transition), transform var(--transition);}
.quality-card:hover{box-shadow: var(--shadow-md);
  transform: translateY(-0.5vw);}
.quality-card__img{position: relative;
  height: 37.6667vw;             
  background: var(--color-primary-dark);
  overflow: hidden;}
.quality-card__img img{width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s ease;}
.quality-card:hover .quality-card__img img{transform: scale(1.06);}
.quality-card__img-overlay{position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1vw;
  padding: 2.6667vw;
  background: none;}
.quality-card__ja{color: #fff;
  font-size: 4.3333vw;           
  font-weight: 400;
  letter-spacing: .12em;
  line-height: 1.3;}
.quality-card__en{color: #fff;
  font-family: var(--font-en);
  font-size: 3.5vw;           
  font-weight: 400;
  letter-spacing: .06em;
  line-height: 1.3;}
.quality-card__body{padding: 5vw 4vw;
  text-align: center;
  background: var(--color-bg);}
.quality-card__sub{font-size: 3.5vw;           
  font-weight: 300;          
  color: var(--color-gold);  
  letter-spacing: .04em;
  line-height: 1.6;}
.top-fish{padding-top: 21.6667vw;}
.fish-grid{display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: var(--sp-lg) 7.3333vw;   
  max-width: 163.3333vw;
  margin-inline: auto;}
.fish-grid__break{flex-basis: 100%;
  height: 0;
  margin: 0;
  padding: 0;}
.fish-grid__break ~ .fish-item{margin-top: -17.5vw;}
.fish-item{width: 25vw;
  flex: 0 0 auto;}
.fish-item__link{display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: .12rem;}
.fish-item__circle{width: 25vw;
  height: 25vw;
  border-radius: 50%;
  background: none;
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: .35rem;
  transition: transform var(--transition), box-shadow var(--transition);}
.fish-item__link:hover .fish-item__circle{transform: translateY(-0.6667vw);
  box-shadow: var(--shadow-md);}
.fish-item__circle img{width: 100%;
  height: 100%;
  object-fit: cover;}
.fish-item__ja{font-size: 2.8333vw;
  font-weight: 700;
  line-height: 1.1;          
  color: var(--color-text-teal);}
.fish-item__en{font-family: var(--font-en);
  font-size: 2.6667vw;           
  letter-spacing: .04em;
  line-height: 1.2;
  margin-top: 0;             
  color: var(--color-text-teal);}
.top-banners{padding-top: 21.1667vw; background: var(--color-bg);}
.top-banner-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.top-banner-item{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1.3333vw;
  min-height: 31.6667vw;
  padding: 4vw;
  background: var(--color-bg-light); 
  border-radius: 0;
  transition: opacity var(--transition);}
.top-banner-item:hover{opacity: .8;}
.top-banner-item__ja{font-size: 3.3333vw;           
  font-weight: 400;
  color: #796428;            
  letter-spacing: .04em;}
.top-banner-item__en{font-family: var(--font-en);
  font-size: 3.3333vw;
  letter-spacing: 0;
  color: #796428;}
.top-news{padding-top: 20vw;}
.news-table{width: 100%;
  border-collapse: collapse;}
.news-table td{border: none;
  background: none;
  padding: 0.3333vw 0;
  vertical-align: top;
  line-height: 1.6;
  color: var(--color-text-teal);}
.news-table td a{color: var(--color-text-teal);}
.news-table__date{width: 7em;
  white-space: nowrap;
  font-family: var(--font-en);
  font-size: 2.5vw;               
  color: var(--color-text-teal);}
.news-table__cat{width: 9em;
  white-space: nowrap;
  padding-right: 1.4em;
  color: var(--color-text-sub);
  letter-spacing: .04em;}
.news-table__title{font-size: 2.5vw;}
.news-table__title a{transition: color var(--transition);}
.news-table__title a:hover, .news-table__row:hover .news-table__title a{color: var(--color-primary);
  text-decoration: underline;}
.news-table__row{cursor: pointer;}
.section--bg-seafoam .container{max-width: 174.3333vw;}
.top-news .container.container--narrow{max-width: 174.3333vw;
  padding-left: 5.5vw;
  padding-right: 5.5vw;}
.top-news__read-more{display: flex;
  flex-direction: column;
  align-items: center;
  gap: .25rem;
  margin-top: var(--sp-lg);
  color: var(--color-primary);
  font-family: var(--font-en);
  font-size: .75rem;
  letter-spacing: 0.1em;  
  transition: opacity var(--transition);}
.top-news__read-more:hover{opacity: .65; color: var(--color-primary);}
.top-news__read-more svg{width: 4.6667vw;   
  height: 4.6667vw;
  animation: top-hero-bounce 2s ease-in-out infinite;}
:root{--color-gold: #796428;}
.about-col2__sub, .about-lead__sub{color: var(--color-gold);}
.about-brand-intro{text-align: center;}
.about-brand-intro__logo{font-family: var(--font-en);
  font-size: 20.8333vw;
  font-weight: 800;
  letter-spacing: .06em;
  color: var(--color-primary);
  line-height: 1;
  margin-bottom: 0.8333vw;}
.about-brand-intro__tagline{font-family: var(--font-en);
  font-size: 3.8333vw;
  font-weight: 400;
  letter-spacing: .12em;
  color: var(--color-primary-light);}
.about-brand-intro__logo-img{display: block;
  margin-inline: auto;
  width: 78.3333vw;
  max-width: 80%;
  height: auto;}
.about-lead__sub{text-align: center;
  font-size: 4.3333vw;
  font-weight: 400;
  letter-spacing: .08em;
  color: var(--color-gold);
  margin-bottom: 1.2em;}
.about-lead__heading{text-align: center;
  font-size: 3.6667vw;           
  font-weight: 400;
  line-height: 1.7;
  margin-bottom: 1.8em;
  color: #007c8f;        
  padding-top: 6vw;
  letter-spacing: -0.04em;}
.about-lead__body{text-align: center;
  font-size: 2.6667vw;       
  font-weight: 300;      
  line-height: 1.8;
  color: var(--color-text-teal, #007C8F); 
  padding: 0 25vw 0;
  margin-bottom: 3.5em;}
.about-lead-section{padding-top: 14.3333vw;
  padding-bottom: 23vw;
  background: var(--color-bg);}
.about-lead-divider{border: 0;
  border-top: 0.1667vw solid var(--color-gold);
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2); 
  margin: 0 auto;}
.about-col2{display: grid;
  grid-template-columns: 1.7fr 1fr;   
  align-items: start;                 
  padding-left: 4vw;   
  padding-right: 14.1667vw;
  gap: 5.6667vw;}
.about-col2--rev .about-col2__text{order: 2; margin-left: -30.8333vw; margin-top: 0;}
.about-col2--rev .about-col2__img{order: 1;}
.about-col2__sub{display: block;
  font-family: var(--font-en);
  font-size: 4.8333vw;
  font-weight: 600;
  letter-spacing: .03em;
  text-transform: none;   
  color: var(--color-gold);
  text-align: center;
  margin-bottom: 0.1em;}
.about-col2__heading{text-align: center;
  font-size: 3.3333vw;       
  font-weight: 300;
  margin-bottom: .9em;
  color: var(--color-gold);}
.about-col2__heading::before, .about-col2__heading::after{content: 'ー';
  color: var(--color-gold);
  font-weight: 400;
  margin: 0 .4em;}
.about-col2__sub-heading{text-align: center;
  font-size: 3.8333vw;       
  color: var(--color-text-sub);
  margin-bottom: 1.6em;}
.about-col2__body{font-size: 2.3333vw;       
  line-height: 1.8;
  color: var(--color-text-teal, #007C8F);}
.about-col2__img{width: 77.1667vw;
  margin-top: 0;
  margin-left: 10vw;}
.about-col2__img img{width: 100%;
  border-radius: 0;
  box-shadow: var(--shadow-sm);
  margin-top: 0; 
  max-width: 77.5vw;}
.about-col2__head{text-align: center;
  margin-bottom: 13.3333vw;
  margin-top: 5vw;}
.about-col2__body{text-align: left;
  padding-top: 0;       
  padding-left: 10.5vw;}
.journey-timeline{max-width: 130vw;      
  margin: 0 auto var(--sp-lg);
  display: flex;
  flex-direction: column;
  gap: 2.3333vw;}
.journey-item{display: grid;
  grid-template-columns: 18.3333vw 1fr;
  align-items: stretch;            
  gap: 0;
  background: var(--color-bg);
  border: 0.1667vw solid var(--color-border);
  border-radius: 0;
  overflow: hidden;                
  position: relative;}
.journey-item:not(:last-child)::after{content: '';
  position: absolute;
  left: 50%;
  bottom: -2.5vw;
  transform: translateX(-50%);
  width: 1.6667vw;
  height: 1.6667vw;
  border-right: 0.3333vw solid var(--color-border);
  border-bottom: 0.3333vw solid var(--color-border);
  rotate: 45deg;}
.journey-item__year{display: flex;
  align-items: center;
  justify-content: center;
  background: #007681;           
  color: #fff;
  font-family: var(--font-en);
  font-weight: 600;
  font-size: 2.3333vw;
  letter-spacing: .04em;
  text-align: center;}
.journey-item__text{font-size: 2.25vw;
  line-height: 1.7;
  color: var(--color-text-teal);
  padding: 2.6667vw 4vw;}
.about-for-future{position: relative;
  padding-block: var(--sp-xl);
  background: #bcdce8;        
  overflow: hidden;
  aspect-ratio: 1687 / 1084;}
.about-for-future__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 1;}
.about-for-future__bg::after{content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 91, 113, .35);}
.about-for-future__inner{position: relative; z-index: 1;}
.for-future-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  padding-inline: 13.3333vw;}
.for-future-card{display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 3vw;
  padding: var(--sp-lg) var(--sp-md);
  background: rgba(255,255,255,.75);          
  backdrop-filter: blur(1vw);
  -webkit-backdrop-filter: blur(1vw);
  border: 0.1667vw solid rgba(255,255,255,.45);
  border-radius: var(--radius-lg);
  box-shadow: none;}
.for-future-card__title{order: 1;}
.for-future-card__icon{order: 2;}
.for-future-card__sub{display: none;}
.for-future-card__icon{width: 15.6667vw;           
  height: 15.6667vw;
  color: #5f93c3;}
.for-future-card__icon svg{width: 100%; height: 100%;}
.for-future-card__icon img{width: 100%; height: 100%; object-fit: contain;}
.for-future-card__title{font-size: 2.8333vw;       
  font-weight: 700;
  line-height: 1.6;
  color: #5f93c3;}
.philosophy-intro{text-align: center;
  padding-block: 18.6667vw;}
.philosophy-intro__heading{color: #796428;        
  margin: 0;
  font-size: 3.8333vw;
  font-weight: 500;}
.philosophy-intro__label{display: block;
  font-family: var(--font-en);
  font-size: 3.6667vw;       
  font-weight: 600;      
  letter-spacing: .12em;
  text-transform: none;
  color: var(--color-gold);}
.philosophy-section{position: relative;
  overflow: hidden;
  background: #12608f; 
  color: #fff;
  
  aspect-ratio: 1686 / 562;}
#sec-company-mission, #sec-philosophy-mission{aspect-ratio: 1686 / 600;}
#sec-company-value, #sec-philosophy-value{aspect-ratio: 1686 / 676;}
.philosophy-section--light{color: var(--color-text);}
.philosophy-section__bg{position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;}
.philosophy-section__bg::after{content: none;}
.philosophy-section--light .philosophy-section__bg::after{content: none;}
.philosophy-section__inner{position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 53.3333vw 1fr;
  gap: var(--sp-xl);
  align-items: start;   
  max-width: var(--container-max);
  margin-inline: auto;
  padding: 15vw var(--container-pad);}
.philosophy-section--label-right .philosophy-section__inner{grid-template-columns: 1fr 53.3333vw;}
.philosophy-section--label-right .philosophy-section__label{order: 2; text-align: right;}
.philosophy-section--label-right .philosophy-section__content{order: 1;}
.philosophy-section__content{padding-top: 2.8333vw;}
.philosophy-section__label{font-family: var(--font-en);
  line-height: 1;}
.philosophy-section__type{display: block;
  font-size: 12.1667vw;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;
  line-height: 1;}
.philosophy-section__type-ja{display: block;
  font-size: 5.1667vw;
  font-weight: 300;
  letter-spacing: .1em;
  margin-top: .5em;
  color: rgba(255,255,255,.92);}
.philosophy-section__heading{font-size: 3.8333vw;       
  font-weight: 700;
  line-height: 1.6;
  margin-bottom: .6em;
  color: #fff;}
.philosophy-section__sub-ja{display: block;
  margin-bottom: 1em;
  font-weight: 600;
  color: rgba(255,255,255,.95);}
.philosophy-section__sub-en{display: block;
  font-family: var(--font-en);
  font-size: 2.5vw;       
  letter-spacing: .1em;
  margin-bottom: 1em;
  color: rgba(255,255,255,.85);}
.philosophy-section__body{font-size: 2.5vw;       
  line-height: 2;
  color: rgba(255,255,255,.92);}
.philosophy-section--light .philosophy-section__type{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__type-ja{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__heading{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__sub-ja{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__sub-en{color: #0d5c9b;}
.philosophy-section--light .philosophy-section__body{color: #0d5c9b;}
.value-list{display: flex;
  flex-direction: column;
  gap: 4.3333vw;
  margin-top: 2em;}
.value-item{display: grid;
  grid-template-columns: 25vw 1fr;
  gap: var(--sp-md);
  align-items: baseline;
  padding-bottom: 0;
  border-bottom: none;}
.value-item dt{font-family: var(--font-en);
  font-size: 4vw;       
  font-weight: 600;
  line-height: 1.2;
  color: #fff;}
.value-item dd{color: rgba(255,255,255,.9); line-height: 1.9;}
.value-item__ja{font-size: 2.3333vw;       
  font-weight: 600;
  margin-right: 1.25em;}
.value-item__en{display: inline;
  font-family: var(--font-en);
  font-size: 2.6667vw;       
  font-weight: 400;
  letter-spacing: .02em;}
.value-item__desc{display: block;
  font-size: 2.3333vw;       
  font-weight: 300;
  line-height: 1.9;
  margin-top: .25em;}
.philosophy-section--light .value-item dt{color: #0d5c9b;}
.philosophy-section--light .value-item dd{color: #0d5c9b;}
.corp-sec-head{text-align: center;
  margin-bottom: 8vw;}
.corp-sec-head .sec-head__ja{font-size: 3.8333vw;       
  font-weight: 500;      
  color: #796428;        
  margin-bottom: .35em;}
.corp-sec-head .sec-head__en{display: block;
  font-family: var(--font-en);
  font-size: 3.6667vw;       
  font-weight: 300;      
  letter-spacing: .12em;
  text-transform: none;
  color: #796428;        
  margin-bottom: 0;}
.page-id-17 .corp-sec-head .sec-head__en{letter-spacing: .04em;}
.about-dash-head .sec-head__en, .sec-head.sec-head--center.about-dash-head span.sec-head__en{color: var(--color-gold);
  text-transform: none;   
  order: 0;}
.about-dash-head .sec-head__ja{font-size: 3.8333vw;
  font-weight: 300;
  color: var(--color-gold);}
.about-dash-head .sec-head__ja::before, .about-dash-head .sec-head__ja::after{content: 'ー';
  color: var(--color-gold);
  font-weight: 400;
  margin: 0 .4em;}
.about-for-future .about-dash-head .sec-head__ja::before, .about-for-future .about-dash-head .sec-head__ja::after{color: #fff;}
.about-for-future .sec-head.sec-head--center.about-dash-head span.sec-head__en{order: 1;}
.about-for-future__closing{text-shadow: 0 0.1667vw 1vw rgba(0,40,60,.45);}
.company-table{width: 100%;
  font-size: 2.3333vw;       
  max-width: 113.3333vw;
  margin-inline: auto;}
.company-table th, .company-table td{padding: .45em 0;
  text-align: left;
  vertical-align: top;
  border: none;
  line-height: 1.9;
  background: transparent;
  font-weight: 300;      
  color: var(--color-text);}
.company-table th{width: 8.5em;
  font-weight: 400;
  color: var(--color-text);
  white-space: nowrap;
  text-align: justify;
  text-align-last: justify;
  padding-right: .25em;}
.company-table th::after{content: '：';}
.company-table td{padding-left: .25em;
  color: var(--color-text);  
  font-weight: 300;}
.company-table a{color: var(--color-text-teal); text-decoration: underline;}
.company-table tr.row-gap th, .company-table tr.row-gap td{padding-top: 1.9em;}
.history-table{width: 100%;
  font-size: 2.1667vw;       
  border-collapse: collapse;
  background: #fff;}
.history-table th, .history-table td{padding: 1em 1.5em;
  text-align: left;
  vertical-align: top;
  border: 0.1667vw solid #d9dde0;
  line-height: 1.8;
  font-weight: 300;
  color: var(--color-text);}
.history-table tbody tr:nth-child(odd){background: #f2f3f5;}
.history-table th{width: 7em;
  font-family: inherit;  
  font-weight: 300;
  color: var(--color-text);
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;}
.history-table .jp-first{color: var(--color-text-teal);}
.access-lead{text-align: center;
  color: var(--color-text-sub);
  margin-bottom: var(--sp-lg);}
.access-grid{display: grid;
  gap: var(--sp-lg);}
.access-item{display: grid;
  grid-template-columns: 1fr 1.2fr;
  gap: var(--sp-lg);
  align-items: start;
  padding-bottom: var(--sp-lg);
  border-bottom: 0.1667vw solid var(--color-border-light);}
.access-item__name{font-size: 3.1667vw;
  font-weight: 700;
  margin-bottom: .75em;
  color: var(--color-primary-dark);}
.access-item__address, .access-item__info{font-size: 2.3333vw;
  line-height: 1.9;
  color: var(--color-text-sub);
  font-style: normal;
  
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: .3em;
  align-items: baseline;}
.access-item__info dt{margin: 0; text-align: right; font-weight: inherit;}
.access-item__info dt::after{content: '：';}
.access-item__info dd{margin: 0;}
.access-item__map{aspect-ratio: 4/3;
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--color-bg-gray);}
.access-item__map iframe{width: 100%; height: 100%; border: 0;}
.access-item__map-btn{margin-top: 1em;}
.divisions-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.division-item{padding: var(--sp-md);
  background: var(--color-bg);
  border: 0.1667vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  transition: box-shadow var(--transition), transform var(--transition);}
.division-item:hover{box-shadow: var(--shadow-md); transform: translateY(-0.5vw);}
.division-item__ja{font-size: 3vw; font-weight: 600; margin-bottom: .2em; color: var(--color-text-teal);}
.division-item__catch{font-size: 2.3333vw;
  font-weight: 500;
  color: var(--color-gold);
  margin-bottom: .8em;}
.division-item__list{margin-top: .9em; list-style: none; padding: 0;}
.division-item__list li{position: relative;
  padding-left: 1.1em;
  font-size: 2.1667vw;
  line-height: 1.8;
  color: var(--color-text-sub);}
.division-item__list li::before{content: '●';
  position: absolute;
  left: 0;
  top: .15em;
  font-size: .7em;
  color: var(--color-text-teal);}
.division-item__en{display: block;
  font-family: var(--font-en);
  font-size: 2vw;
  letter-spacing: .08em;
  color: var(--color-text-sub);
  margin-bottom: .8em;}
.division-item__body{font-size: 2.3333vw; line-height: 1.8; color: var(--color-text-sub);}
.company-faq-link{text-align: center; margin-top: var(--sp-lg);}
#access-map{padding-top: 0;}
#access-map{padding-top: 0;}
.access-photo{max-width: none; margin: 0 0 var(--sp-xl);}
.access-photo img{display: block; width: 100%; height: auto;}
.company-faq-link .btn--outline{color: #007c8f;
  border-color: #007c8f;
  font-weight: 400;}
.company-faq-link .btn--outline:hover{background: #007c8f; color: #fff;}
.access-offices-note{text-align: center;
  color: #007c8f;
  font-size: 2.3333vw;
  margin-bottom: var(--sp-lg);}
.office-list{max-width: 126.6667vw; margin: 0 auto;}
.office-item{margin-bottom: var(--sp-lg);}
.office-item__name{color: #007c8f;
  font-size: 2.6667vw;
  font-weight: 700;
  margin: 0 0 .5em;
  padding-bottom: .3em;
  border-bottom: 0.1667vw solid #cfe0e4;}
.office-item__line{font-size: 2.1667vw;
  line-height: 1.8;
  color: #333;
  margin: 0;}
.office-item__line a{color: #007c8f;}
.office-item__line a[href^="tel:"]{color: var(--color-text);}
.office-map-link{color: #007c8f;}
.access-offices-note a{color: #007c8f; text-decoration: underline;}
.office-item{scroll-margin-top: 16.6667vw;}
.office-map-link{color: #007c8f; text-decoration: underline; font-size: 2vw;}
.quality-page .sec-head, .products-page .sec-head, .global-reach-page .sec-head, .sustainability-page .sec-head, .safety-page .sec-head{display: flex;
  flex-direction: column-reverse;
  align-items: flex-start;
  gap: 1vw;}
.global-reach-page .page-hero__bg{background-position: center top;}
.products-page .page-hero{aspect-ratio: 1685 / 629;
  min-height: 0 !important;}
.products-page .page-hero::before{background: none;}
.products-page .page-hero__bg{background-position: center !important;}
.quality-page .sec-head--center, .products-page .sec-head--center, .global-reach-page .sec-head--center, .sustainability-page .sec-head--center, .safety-page .sec-head--center{align-items: center;}
.quality-page .sec-head__ja, .products-page .sec-head__ja, .global-reach-page .sec-head__ja, .sustainability-page .sec-head__ja, .safety-page .sec-head__ja{color: #796428;
  margin: 0;
  font-size: 3.8333vw;}
.quality-page .sec-head__en, .products-page .sec-head__en, .global-reach-page .sec-head__en, .sustainability-page .sec-head__en, .safety-page .sec-head__en{color: #796428;
  text-transform: none;
  letter-spacing: .04em;
  font-size: 3.6667vw;       
  font-weight: 300;
  margin: 0;}
.quality-page > .section:first-of-type .container--narrow > p, .products-page > .section:first-of-type .container--narrow > p, .global-reach-page > .section:first-of-type .container--narrow > p, .sustainability-page > .section:first-of-type .container--narrow > p, .safety-page > .section:first-of-type .container--narrow > p{text-align: center;
  color: var(--color-text-teal);
  line-height: 1.8;      
  font-size: 2.6667vw;       
  font-weight: 300;      
  padding-inline: 13.3333vw;}
.content-col2 p{font-size: 2.3333vw;       
  color: var(--color-text-teal); 
  line-height: 1.9;}
.content-col2 p.catch-block{font-size: 2.8333vw;       
  color: var(--color-text-teal);
  font-weight: 400;}
.products-page .sec-head__en{font-weight: 400;}
.quality-lead-head .sec-head__en{font-weight: 300;}
.sec-head--teal .sec-head__ja, .sec-head--teal .sec-head__en{color: #007c8f;}
.sec-head--teal{flex-direction: column;}
.sec-head--teal .sec-head__ja{order: 3;}
.sec-head--teal .sec-head__sub{order: 2;}
.sec-head--teal .sec-head__en{order: 3; visibility: hidden;}
.quality-photo-divider{width: 100%;
  height: auto;             
  aspect-ratio: 562 / 227;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/quality-divider.jpg?v=5');}
.catch-block{font-size: 2.8333vw;       
  font-weight: 400;      
  color: var(--color-text-teal);
  line-height: 1.6;
  margin-bottom: 1.2em;}
#aquaculture{background: #cddfe2;}
#logistics{background: #fff;}
#processing{background: var(--color-bg-light);}
.quality-page #global{background: #fff;}
#sec-products-cards{background: #fff;}
.hub-photo{margin: var(--sp-lg) auto;}
.hub-photo img{display: block;
  width: 100%;
  height: auto;}
.hub-body{max-width: 160vw;
  margin-inline: auto;
  color: #007c8f;}
.hub-body p{color: #007c8f;}
.hub-body p:not(.catch-block){font-size: 2.3333vw;
  line-height: 1.9;}
.hub-body p{margin-bottom: 1.4em;}
.hub-list{list-style: none;
  margin: 0 0 1.4em;
  padding: 0;
  color: #007c8f;
  font-size: 2.3333vw;
  line-height: 1.9;}
.hub-list li{position: relative;
  padding-left: 1.2em;}
.hub-list li::before{content: '・';
  position: absolute;
  left: 0;}
.trade-country-list{display: flex;
  flex-wrap: wrap;
  gap: .5rem 1.2rem;
  justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0 auto;
  max-width: 160vw;
  color: #007c8f;
  font-size: 2.3333vw;}
.trade-country-list li{white-space: nowrap;}
.cert-block{display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 166.6667vw;
  margin: var(--sp-lg) auto 0;
  align-items: center;}
.cert-block__photo{position: relative;
  overflow: hidden;
  aspect-ratio: 1200 / 710;}
.cert-block__photo img{position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;}
.cert-block__logos{border: 0.1667vw solid #007c8f;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4vw;
  padding: 5.3333vw 4vw;
  aspect-ratio: 1200 / 710;  
  box-sizing: border-box;}
.cert-block__row{display: flex;
  align-items: center;
  justify-content: center;
  gap: 5.6667vw;}
.cert-logo{display: block; height: auto;}
.cert-logo--fssc{width: 38.3333vw;}
.cert-logo--haccp{width: 25vw;}
.cert-logo--brcs{width: 18vw;}
.cert-text-list{max-width: 166.6667vw;
  margin: 2.3333vw auto 0;
  text-align: right;    
  padding-right: 0;
  color: var(--color-text-teal);
  font-size: 2.1667vw;
  font-weight: 300;     
  line-height: 1.6;}
.trade-map{max-width: 126.6667vw;
  margin: 0 auto var(--sp-xl);}
.trade-map img{display: block; width: 100%; height: auto;}
.trade-box{border: 0.1667vw solid var(--color-text-teal);
  padding: 3.6667vw 5vw;    
  margin: 0 auto;
  width: 126.6667vw;          
  max-width: 100%;}
.trade-box__head{font-weight: 500;
  color: var(--color-text-teal);
  font-size: .92rem;     
  letter-spacing: .02em;
  margin-bottom: .9em;}
.trade-box__head span{margin-left: .35em;}
.trade-box__list{color: var(--color-text-teal);
  font-size: 2.0833vw;     
  line-height: 1.6;}
.trade-box__note{font-size: 2vw;
  color: #8a98a0;
  margin-left: 1.2em;
  white-space: nowrap;}
.global-worldmap{margin: var(--sp-lg) auto 0;
  max-width: 126.6667vw;}
.global-worldmap img{display: block; width: 100%; height: auto;}
.safety-dash-sub{text-align: center;
  color: var(--color-text-teal);
  font-size: 3vw;
  font-weight: 400;
  margin: 0 0 var(--sp-lg);  
  white-space: nowrap;}
.safety-figure{display: flex;
  align-items: center;
  justify-content: center;}
.safety-figure img{width: 100%; height: auto; display: block;}
#haccp .safety-figure img{max-width: 60vw; margin-inline: auto;}
.sustain-cluster-img{max-width: 93.3333vw;
  margin: 4vw auto 0;}
.sustain-cluster-img img{display: block; width: 100%; height: auto;}
.global-twocol{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-xl);}
.global-twocol__item .sec-head{margin-bottom: 3rem;}
.global-twocol__body{color: var(--color-text-teal);
  font-size: 2.3333vw;
  font-weight: 300;      
  line-height: 1.9;
  margin-bottom: var(--sp-md);}
.global-twocol__photo{aspect-ratio: 16 / 10;
  background: var(--color-bg-seafoam) center / cover no-repeat;}
.global-export-note{text-align: center;
  max-width: 160vw;
  margin: var(--sp-lg) auto 0;
  line-height: 2;
  color: var(--color-text-teal);
  font-size: 2.8333vw;       
  font-weight: 300;}
.global-reach-page #partnership{background: #fff;}
.gold-divider{border: 0;
  border-top: 0.1667vw solid var(--color-gold);
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2); 
  margin: 0 auto;}
.hub-body p{color: var(--color-text-teal); font-weight: 300;}
.sustainability-page .sec-head__en{line-height: 1.25;}
.sustainability-page #cycle, .sustainability-page #resource{padding-bottom: 23.3333vw;}
.products-lead-rule{border: 0;
  border-top: 0.1667vw solid var(--color-gold);
  margin: var(--sp-lg) auto 0;
  max-width: var(--container-max);
  width: calc(100% - var(--container-pad) * 2);}
.logistics-grid{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  align-items: start;}
.logistics-grid .content-col2__img{position: static;     
  left: 0;
  width: auto;
  aspect-ratio: 150 / 97;}
.logistics-grid__text{color: #007c8f; 
  font-size: 2.3333vw;}
.content-col2__img, .fish-card__img, .fish-card__img img, .export-card, .export-card__img, .world-map-box, .haccp-box{border-radius: 0;}
.content-col2{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);     
  align-items: start;}
.content-col2--wide-text{grid-template-columns: 1.25fr 1fr;}
.content-col2--rev.content-col2--wide-text{gap: 1.8333vw;}
#global .content-col2--wide-text{grid-template-columns: 1.1fr 1.25fr;}
.content-col2--rev > :first-child{order: 2;}
.content-col2--rev > :last-child{order: 1;}
.content-col2__photos{display: flex;
  flex-direction: column;
  gap: var(--sp-md);}
.content-col2__img{aspect-ratio: 400 / 259;  
  border-radius: 0;
  background: var(--color-bg-seafoam) center / cover no-repeat;
  box-shadow: var(--shadow-sm);
  position: relative;
  left: -0.5vw;
  width: 76.6667vw;}
.content-col2__photos .content-col2__img:nth-child(2){aspect-ratio: 16/10;}
#business-model{background: #c8dbe0;}
.quality-network-field{margin: 4vw auto 0;
  max-width: 136.6667vw;}
.quality-network-img{display: block;
  width: 100%;
  height: auto;}
.qnet-center{position: absolute;
  top: 50vw; left: 63.3333vw;
  transform: translate(-50%, -50%);
  z-index: 4;
  display: flex;
  align-items: center;
  justify-content: center;}
.qnet-center__logo{font-family: var(--font-en);
  font-size: 7.3333vw;
  font-weight: 800;
  letter-spacing: .04em;
  color: #fff;}
.qnet-pillar, .qnet-node{position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;}
.qnet-pillar{z-index: 3;
  width: 28.6667vw;
  height: 20.6667vw;
  background: radial-gradient(ellipse at center, rgba(0,108,156,.74) 0%, rgba(61,157,173,.36) 52%, rgba(61,157,173,0) 74%);
  color: rgba(255,255,255,.95);
  font-size: 3.3333vw;       
  font-weight: 600;
  letter-spacing: .04em;}
.qnet-pillar--aqua{top: 41.6667vw; left: 50vw;}
.qnet-pillar--export{top: 41.6667vw; left: 78.3333vw;}
.qnet-pillar--logi{top: 60.3333vw; left: 50vw;}
.qnet-pillar--proc{top: 60.3333vw; left: 78.3333vw;}
.qnet-node{z-index: 2;
  width: 21.3333vw;
  height: 15.3333vw;
  font-size: 2.8333vw;       
  font-weight: 600;
  color: #2c4a4a;
  letter-spacing: .04em;}
.qnet-node--seisansha, .qnet-node--kaigai, .qnet-node--chiiki, .qnet-node--gaishoku{background: radial-gradient(ellipse at center, rgba(140,192,178,.55) 0%, rgba(162,203,196,.18) 55%, transparent 76%);}
.qnet-node--shiryo, .qnet-node--seika, .qnet-node--sengyo, .qnet-node--reito, .qnet-node--katsugyo, .qnet-node--reito2, .qnet-node--kokunai, .qnet-node--ryohan{background: radial-gradient(ellipse at center, rgba(107,178,209,.52) 0%, rgba(150,198,222,.18) 55%, transparent 76%);}
.qnet-node--seisansha{top: 25vw; left: 25vw;}
.qnet-node--kaigai{top: 25vw; left: 101.6667vw;}
.qnet-node--shiryo{top: 41.3333vw; left: 21.3333vw;}
.qnet-node--seika{top: 53.6667vw; left: 19.6667vw;}
.qnet-node--katsugyo{top: 65.3333vw; left: 26.3333vw;}
.qnet-node--sengyo{top: 41.6667vw; left: 106vw;}
.qnet-node--reito{top: 53.6667vw; left: 108vw;}
.qnet-node--reito2{top: 65.3333vw; left: 106vw;}
.qnet-node--chiiki{top: 78.3333vw; left: 25.3333vw;}
.qnet-node--gaishoku{top: 72vw; left: 108.3333vw;}
.qnet-node--kokunai{top: 79.6667vw; left: 99.6667vw;}
.qnet-node--ryohan{top: 83.3333vw; left: 78vw;}
.fish-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.fish-card{display: flex;
  flex-direction: column;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  padding: var(--sp-md);
  transition: box-shadow var(--transition), transform var(--transition);}
.fish-card:hover{box-shadow: var(--shadow-md); transform: translateY(-0.5vw);}
.fish-card__head{text-align: center;
  margin-bottom: var(--sp-sm);
  line-height: 1.25;}
.fish-card__ja{font-size: 3.3333vw;       
  font-weight: 700;
  color: #007c8f;        
  margin-bottom: .15em;}
.fish-card__romaji{font-family: var(--font-en);
  font-size: 2.8333vw;       
  color: #007c8f;
  margin-bottom: 0;}
.fish-card__en{font-family: var(--font-en);
  font-size: 2.8333vw;       
  font-weight: 400;
  color: #007c8f;
  margin-bottom: .15em;}
.fish-card__latin{font-family: var(--font-en);
  font-style: italic;
  font-size: 2.3333vw;       
  color: #666464;        
  margin-bottom: 0;}
.fish-card__img{display: flex;
  align-items: center;
  justify-content: center;
  height: 21.6667vw;
  margin-bottom: var(--sp-sm);
  border-radius: var(--radius);
  overflow: hidden;}
.fish-card__img img{width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius);}
.fish-card__body{font-size: 2.3333vw;       
  line-height: 1.6;
  color: #007c8f;}
.processing-list{border: 0.3333vw dashed #007c8f;
  border-radius: 3.3333vw;
  padding: var(--sp-md) var(--sp-lg);
  display: flex;
  flex-direction: column;}
.processing-item{display: grid;
  grid-template-columns: 33.3333vw 1fr;
  gap: var(--sp-md);
  align-items: center;
  padding-block: 1rem;
  border-bottom: none;}
.processing-item:last-child{border-bottom: none;}
.processing-item__icon{color: var(--color-primary);}
.processing-item__icon svg{width: 9.3333vw; height: 4.6667vw;}
.processing-item__icon{width: 33.3333vw;
  height: 8.3333vw;
  overflow: hidden;}
.processing-item__icon img{width: 33.3333vw;
  height: 8.3333vw;
  object-fit: contain;
  object-position: center;
  display: block;}
.processing-item__name{font-size: 2.6667vw;       
  font-weight: 700;
  color: #007c8f;
  margin-bottom: .2em;}
.processing-item__name em{font-style: normal;
  font-family: var(--font-en);
  font-size: 2.6667vw;
  font-weight: 700;
  color: #007c8f;
  margin-left: .15em;}
.processing-item__desc{font-size: 2.3333vw; color: #007c8f;}
.export-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.export-card{display: flex;
  flex-direction: column;
  background: var(--color-bg);
  border-radius: 0;
  overflow: hidden;
  box-shadow: var(--shadow-sm);}
.export-card__img{aspect-ratio: 16/10;
  background: var(--color-bg-seafoam) center/cover no-repeat;}
.export-card__img img{width: 100%; height: 100%; object-fit: cover;}
.export-card__body{padding: var(--sp-md);}
.export-card__en{display: block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--color-primary);
  margin-bottom: .2em;}
.export-card__ja{display: block;
  font-size: 1.15rem;
  font-weight: 700;
  margin-bottom: .6em;}
.export-card__desc{font-size: .85rem; line-height: 1.85; color: var(--color-text-sub);}
.export-card--teal{background: var(--color-primary-dark);
  box-shadow: var(--shadow-sm);}
.export-card--teal .export-card__head{padding: 3.6667vw 3.3333vw 3vw;
  color: #fff;}
.export-card--teal .export-card__ja{display: block;
  font-size: 3.3333vw;       
  font-weight: 500;      
  color: #fff;
  margin-bottom: 1.6667vw;
  text-align: center;}
.export-card--teal .export-card__desc{color: rgba(255,255,255,.88);
  font-size: 2.1667vw;
  line-height: 1.8;
  margin: 0;}
.export-card--teal .export-card__img{aspect-ratio: 700/454;   
  height: auto;
  background: var(--color-bg-seafoam) center/cover no-repeat;}
.world-map-box{display: flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow-sm);}
.world-map-box img{width: 100%; height: auto;}
.cert-logos{display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin-block: 1.2em;}
.cert-logo-item{display: inline-flex;
  align-items: center;
  padding: .5em 1.1em;
  background: var(--color-bg);
  border: 0.1667vw solid var(--color-primary);
  border-radius: 2em;
  font-family: var(--font-en);
  font-size: .8rem;
  font-weight: 600;
  letter-spacing: .04em;
  color: var(--color-primary);}
.cert-note{font-size: .78rem; color: var(--color-text-sub);}
.haccp-box{display: flex;
  align-items: center;
  justify-content: center;
  background: var(--color-bg-seafoam);
  border-radius: var(--radius-lg);
  overflow: hidden;
  padding: var(--sp-md);}
.haccp-box img{width: min(100%, 73.3333vw); height: auto;}
.quality-flow{display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .4rem;
  margin-block: 1.2em;}
.quality-flow__step{display: inline-flex;
  align-items: center;
  padding: .4em .9em;
  background: var(--color-primary);
  color: #fff;
  font-size: .8rem;
  font-weight: 600;
  border-radius: var(--radius);
  white-space: nowrap;}
.quality-flow__arrow{color: var(--color-primary); font-weight: 700;}
.safety-flow-ring{position: relative;
  width: 66.6667vw;
  height: 66.6667vw;
  max-width: 100%;
  margin-inline: auto;}
.safety-flow-ring__node{position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.6667vw;
  height: 12.6667vw;
  margin: -6.3333vw 0 0 -6.3333vw; 
  border-radius: 50%;
  background: var(--color-primary);
  color: #fff;
  font-size: 2.1667vw;
  font-weight: 600;
  text-align: center;
  line-height: 1.25;
  box-shadow: var(--shadow-sm);}
.safety-flow-ring__node:nth-child(1){left: 33.3333vw; top: 6.6667vw;}
.safety-flow-ring__node:nth-child(2){left: 50.5vw; top: 12.1667vw;}
.safety-flow-ring__node:nth-child(3){left: 58.6667vw; top: 28.1667vw;}
.safety-flow-ring__node:nth-child(4){left: 55.5vw; top: 46vw;}
.safety-flow-ring__node:nth-child(5){left: 42vw; top: 57.5vw;}
.safety-flow-ring__node:nth-child(6){left: 24.6667vw; top: 57.5vw;}
.safety-flow-ring__node:nth-child(7){left: 11.1667vw;  top: 46vw;}
.safety-flow-ring__node:nth-child(8){left: 8vw;  top: 28.1667vw;}
.safety-flow-ring__node:nth-child(9){left: 16.1667vw;  top: 12.1667vw;}
.safety-photo-divider{width: 100%;
  height: 56.6667vw;
  background: var(--color-accent-green) center/cover no-repeat;
  background-image: url('../images/safety-divider.jpg?v=5');}
.safety-list{list-style: none;
  margin-block: 1em;
  display: flex;
  flex-direction: column;
  gap: .6rem;}
.safety-list li{position: relative;
  padding-left: 1.5em;
  font-size: .9rem;
  line-height: 1.8;
  color: var(--color-text-sub);}
.safety-list li::before{content: '';
  position: absolute;
  left: 0;
  top: .65em;
  width: .5em;
  height: .5em;
  background: var(--color-primary);
  border-radius: 50%;}
.photo-divider{height: 63.3333vw;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/section-sustainability-1.jpg');}
.sustainability-photo-divider{width: 100%;
  height: 60vw;
  background: var(--color-primary-dark) center/cover no-repeat;
  background-image: url('../images/sustainability-divider.jpg');}
.sustain-cluster{position: relative;
  width: 76.6667vw;
  height: 53.3333vw;
  max-width: 100%;
  margin: 4vw auto 0;}
.sustain-cluster__node{position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 2.6667vw;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--color-primary-dark);
  text-align: center;}
.sustain-cluster__node--future{top: 1.3333vw; left: 50%; transform: translateX(-50%);
  width: 36.6667vw; height: 22vw;
  font-size: 3.3333vw;       
  color: #fff;
  background: radial-gradient(ellipse at center,
              rgba(24,138,108,.62) 0%, rgba(56,160,128,.26) 50%, rgba(56,160,128,0) 76%);}
.sustain-cluster__node--industry, .sustain-cluster__node--people, .sustain-cluster__node--ocean{width: 23.3333vw; height: 16.6667vw;
  bottom: 6.6667vw;
  color: #2c4a64;
  background: radial-gradient(ellipse at center,
              rgba(86,134,196,.46) 0%, rgba(120,162,210,.18) 54%, rgba(120,162,210,0) 78%);}
.sustain-cluster__node--industry{left: 3.6667vw;}
.sustain-cluster__node--people{left: 50%; transform: translateX(-50%); bottom: 1.6667vw;}
.sustain-cluster__node--ocean{right: 3.6667vw;}
.sdgs-goals{display: flex;
  flex-wrap: wrap;
  gap: .75rem;}
.sdgs-goal{display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 3.5rem;
  height: 3.5rem;
  background: var(--color-primary);
  color: #fff;
  font-family: var(--font-en);
  font-size: 1.3rem;
  font-weight: 800;
  border-radius: var(--radius);}
.sustainability-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.sustain-cert-img{width: 100%; height: auto; display: block;}
.sdgs-photo{width: 100vw;
  margin-inline: calc(50% - 50vw);
  margin-bottom: var(--sp-xl);}
.sdgs-photo img{display: block; width: 100%; height: auto;}
.sustainability-page #cycle{background: #fff;}
.sustainability-page #community{background: var(--color-bg-light);}
.sustainability-page #resource{background: #fff;}
section#sec-sustainability-sdgs{padding-top: 0;}
#sec-sustainability-sdgs .sec-head--center{align-items: flex-start;
  text-align: left;}
.safety-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 300;}
.quality-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.products-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 400;}
.global-reach-page .sec-head.sec-head--center span.sec-head__en{order: 1;
  font-weight: 700;}
#sec-sustainability-cert .sec-head--center{align-items: flex-start;
  text-align: left;}
#sec-sustainability-cert .content-col2 p, #sec-sustainability-cert .content-col2 .hub-list{text-align: left;}
#cycle .content-col2--wide-text, #resource .content-col2--wide-text{grid-template-columns: 1fr 1.5fr;
  gap: 6.6667vw;}
.global-reach-page .sec-head.sec-head--center span.sec-head__en{order: 0;
  font-weight: 300;}
.page-id-14 .sec-head{margin-bottom: 2rem;}
.contact-info-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);}
.contact-info-card{text-align: center;
  padding: var(--sp-md);
  background: var(--color-bg);
  border: 0.1667vw solid var(--color-border-light);
  border-radius: var(--radius-lg);}
.contact-info-card__label{display: inline-block;
  font-family: var(--font-en);
  font-size: .72rem;
  font-weight: 600;
  letter-spacing: .14em;
  color: var(--color-primary);
  margin-bottom: .6em;}
.contact-info-card__value{font-size: 1.4rem;
  font-weight: 700;
  font-family: var(--font-en);
  margin-bottom: .4em;
  line-height: 1.3;}
.contact-info-card__value a:hover{color: var(--color-primary);}
.contact-info-card__sub{font-size: .8rem;
  color: var(--color-text-sub);
  line-height: 1.6;}
.contact-form{margin-top: var(--sp-md);}
.form-group{margin-bottom: var(--sp-md);}
.form-row{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);}
.form-label{display: block;
  font-size: .9rem;
  font-weight: 700;
  margin-bottom: .5em;}
.req{margin-left: .6em;
  font-size: .8rem;
  font-weight: 500;
  color: #e9473f;}
.req::before{content: '※';}
.form-control{width: 100%;
  padding: .75em 1em;
  font-size: .95rem;
  background: var(--color-bg);
  border: 0.1667vw solid var(--color-border);
  border-radius: var(--radius);
  transition: border-color var(--transition), box-shadow var(--transition);}
.form-control:focus{outline: none;
  border-color: var(--color-primary);
  box-shadow: 0 0 0 0.5vw rgba(0,128,172,.12);}
textarea.form-control{resize: vertical; min-height: 8em; line-height: 1.8;}
.form-radio-group{display: flex;
  flex-wrap: wrap;
  gap: .75rem 1.5rem;}
.form-radio, .form-check{display: inline-flex;
  align-items: center;
  gap: .5em;
  font-size: .9rem;
  cursor: pointer;}
.form-radio input, .form-check input{accent-color: var(--color-primary); width: 1.1em; height: 1.1em;}
.form-check a{color: var(--color-primary); text-decoration: underline;}
.form-message{margin-top: var(--sp-md);
  font-size: .9rem;
  text-align: center;}
.form-message.is-error{color: #c0392b;}
.form-message.is-success{color: var(--color-accent-green);}
.value-card-grid{display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--sp-md);
  justify-items: center;}
.value-card{display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: .35rem;
  width: 100%;
  max-width: 46.6667vw;
  aspect-ratio: 1/1;
  padding: var(--sp-md);
  border-radius: 50%;}
.value-card:nth-child(1){background: rgba(122,140,134,.20);}
.value-card:nth-child(2){background: rgba(122,150,96,.22);}
.value-card:nth-child(3){background: rgba(196,164,110,.26);}
.value-card__keyword{font-family: var(--font-en);
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: .04em;}
.value-card:nth-child(1) .value-card__keyword{color: #5F7268;}
.value-card:nth-child(2) .value-card__keyword{color: #5E7E47;}
.value-card:nth-child(3) .value-card__keyword{color: #9A7B3F;}
.value-card__ja{font-size: .9rem; font-weight: 700;}
.value-card__title{font-size: .72rem;
  color: var(--color-text-sub);
  letter-spacing: .02em;}
.value-card__desc{font-size: .8rem;
  line-height: 1.8;
  color: var(--color-text-sub);
  margin-top: .3rem;}
.recruit-points{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--sp-sm);}
.recruit-point{position: relative;
  padding: 1rem 1.25rem 1rem 2.75rem;
  background: var(--color-bg-light);
  border-radius: var(--radius);
  font-size: .92rem;
  font-weight: 500;}
.recruit-point::before{content: '✓';
  position: absolute;
  left: 1rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--color-primary);
  font-weight: 700;}
.recruit-table{width: 100%; font-size: .9rem;}
.recruit-table th, .recruit-table td{padding: 1em 1.25em;
  text-align: left;
  vertical-align: top;
  border-bottom: 0.1667vw solid var(--color-border-light);
  line-height: 1.8;}
.recruit-table th{width: 11em;
  font-weight: 700;
  color: var(--color-primary-dark);
  background: var(--color-bg);
  white-space: nowrap;}
.faq-list{display: flex; flex-direction: column; gap: var(--sp-sm);}
.faq-item{border: 0.1667vw solid var(--color-border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;}
.faq-item dt{position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  background: var(--color-bg-light);
  font-weight: 700;
  font-size: .95rem;}
.faq-item dt::before{content: 'Q';
  position: absolute;
  left: 1.25em;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 800;}
.faq-item dd{position: relative;
  padding: 1.1em 1.5em 1.1em 3em;
  font-size: .9rem;
  line-height: 1.9;
  color: var(--color-text-sub);}
.faq-item dd::before{content: 'A';
  position: absolute;
  left: 1.25em;
  color: var(--color-accent-warm);
  font-family: var(--font-en);
  font-weight: 800;}
.compliance-list{display: flex; flex-direction: column; gap: 1.25rem; margin-block: var(--sp-md);}
.compliance-list dt{font-weight: 400;      
  font-size: 1rem;
  color: var(--color-primary-dark);
  padding-left: .75em;
  border-left: 0.5vw solid var(--color-primary); 
  margin-bottom: .4em;}
.compliance-list dd{font-size: .92rem; line-height: 1.9; color: var(--color-text-sub); padding-left: 1em;}
.prose-section h2{font-size: 1.1rem;     
  margin-top: 2em;
  margin-bottom: .75em;
  padding-left: .75em;
  border-left: 0.6667vw solid var(--color-primary);}
.privacy-sections h2{border-left: none; padding-left: 0;}
.prose-section p{line-height: 1.95; color: var(--color-text-sub);}
.prose-section ul{margin: .75em 0 1.25em; padding-left: 1.4em;}
.prose-section ul li{line-height: 1.9; color: var(--color-text-sub); list-style: disc;}
.prose-section a{color: var(--color-primary); text-decoration: underline; word-break: break-all;}
.privacy-basics{margin: var(--sp-sm) 0 0; padding-left: 1.6em; display: flex; flex-direction: column; gap: 1em;}
.privacy-basics li{line-height: 1.95; color: var(--color-text-sub); list-style: decimal;}
.privacy-dl{margin: 1em 0 1.5em;}
.privacy-dl dt{font-weight: 400; color: var(--color-primary-dark); margin-top: 1em;}
.privacy-dl dd{line-height: 1.9; color: var(--color-text-sub); padding-left: 1em;}
.contact-faq-jump{text-align: center; margin-top: var(--sp-md);}
.recruit-movie-section{padding-top: 0;}
.recruit-movie{position: relative; aspect-ratio: 16 / 9; border-radius: var(--radius); overflow: hidden; box-shadow: var(--shadow-sm);}
.recruit-movie iframe{position: absolute; inset: 0; width: 100%; height: 100%; border: 0;}
.recruit-values-lead{text-align: center; margin-bottom: var(--sp-md); color: var(--color-text-sub);}
.recruit-values-close{text-align: center; margin-top: var(--sp-md); color: var(--color-text-sub);}
.voice-grid{display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.6667vw;
  margin-top: var(--sp-md);}
.voice-card{background: #fff;
  border: 0.1667vw solid rgba(0, 118, 129, .18);
  border-radius: var(--radius);
  padding: 5.3333vw 5vw;
  box-shadow: var(--shadow-sm);}
.voice-card__quote{font-size: 1.15rem; color: var(--color-primary-dark); margin-bottom: .5em; line-height: 1.6;}
.voice-card__meta{font-size: .82rem; color: var(--color-accent-warm); margin-bottom: 1em;}
.voice-card__body{font-size: .9rem; line-height: 1.95; color: var(--color-text-sub);}
.recruit-career-list{display: flex; flex-direction: column; gap: .9em; margin-top: var(--sp-sm);}
.recruit-career-list li{position: relative;
  padding-left: 1.4em;
  line-height: 1.9;
  color: var(--color-text-sub);
  list-style: none;}
.recruit-career-list li::before{content: "";
  position: absolute;
  left: 0; top: .72em;
  width: .6em; height: .6em;
  border-radius: 50%;
  background: var(--color-primary);}
.contact-page .sec-head, .recruit-page .sec-head{display: flex;
  flex-direction: column-reverse; 
  align-items: flex-start;}
.contact-page .sec-head--center, .recruit-page .sec-head--center{align-items: center;
  text-align: center;}
.contact-page .sec-head__ja, .recruit-page .sec-head__ja{color: var(--color-text-teal);
  font-size: 3.5vw;
  font-weight: 300;
  line-height: 1.5;}
.contact-page .sec-head__en, .recruit-page .sec-head__en{color: var(--color-gold);
  text-transform: none;
  font-size: 2.6667vw;
  letter-spacing: .08em;
  font-weight: 300;
  margin-top: 1vw;
  margin-bottom: 0;}
.contact-form-note{margin-bottom: 5.3333vw;
  font-size: 2.1667vw;       
  line-height: 2;
  color: var(--color-text-teal);
  text-align: center;}
.contact-page .contact-form{margin-top: 6.6667vw;}
.contact-page .form-group{margin-bottom: 6vw;}
.contact-page .form-row{grid-template-columns: 1fr; gap: 0;}
.contact-page .form-label{font-size: 2.3333vw;       
  font-weight: 400;      
  margin-bottom: 2vw;}
.contact-page .form-control{padding: 2.1667vw 2.5vw;
  font-size: 2.3333vw;       
  border: 0.1667vw solid var(--color-border);
  border-radius: 0.3333vw;
  background: var(--color-bg);}
.contact-page textarea.form-control{min-height: 33.3333vw;}
.contact-page .req{color: #e9473f;
  font-weight: 500;
  font-size: 2.3333vw;}
.contact-page .form-radio-group{gap: 2.3333vw 6.6667vw;}
.contact-page .form-radio, .contact-page .form-check{font-size: 2.5vw;}
.contact-page .contact-form .btn{background: var(--color-bg);
  color: var(--color-text-teal);
  border: 0.1667vw solid var(--color-text-teal);
  border-radius: 0;
  font-weight: 400;
  letter-spacing: .3em;
  padding: 3vw 9.3333vw;}
.contact-page .contact-form .btn:hover{background: var(--color-primary);
  color: var(--color-text-white);
  border-color: var(--color-primary);}
.contact-faq .sec-head{margin-bottom: 6.6667vw;}
.contact-faq .sec-head__ja{color: var(--color-text-teal);}
.contact-faq .faq-list{max-width: 146.6667vw;
  margin-inline: auto;
  display: block;}
.contact-faq .faq-item{border: none;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  margin-bottom: 3.3333vw;}
.contact-faq .faq-item__q{cursor: pointer;
  list-style: none;
  position: relative;
  padding: 0 4vw 0 4.6667vw;
  font-weight: 400;      
  font-size: 2.5vw;       
  color: var(--color-text);
  background: transparent;
  line-height: 1.8;}
.contact-faq .faq-item__q::-webkit-details-marker{display: none;}
.contact-faq .faq-item__q::before{content: "Q";
  position: absolute;
  left: 0;
  color: var(--color-primary);
  font-family: var(--font-en);
  font-weight: 700;}
.contact-faq .faq-item__q::after{content: "+";
  position: absolute;
  right: 0.6667vw;
  top: 0;
  color: var(--color-primary);
  font-size: 3vw;}
.contact-faq .faq-item[open] .faq-item__q::after{content: "−";}
.contact-faq .faq-item__a{position: relative;
  padding: 1.3333vw 4vw 0 4.6667vw;
  font-size: 2.5vw;       
  line-height: 1.95;
  color: var(--color-text-sub);}
.contact-faq .faq-item__a::before{content: "A";
  position: absolute;
  left: 0;
  color: var(--color-gold);
  font-family: var(--font-en);
  font-weight: 700;}
.recruit-page .section:first-of-type .sec-head{align-items: center; text-align: center;}
.recruit-page .section:first-of-type .sec-head__ja{font-size: 3.3333vw;
  font-weight: 600;
  color: #796428;}
.recruit-page .section:first-of-type p{text-align: center;
  color: var(--color-text-teal); 
  line-height: 2.1;
  font-size: 2.8333vw;       
  font-weight: 300;
  max-width: 126.6667vw;
  margin-inline: auto;
  padding-inline: 0;}
.recruit-values-section{background: var(--color-bg);}
.recruit-page .value-card-grid{gap: 5.3333vw; align-items: stretch;}
.recruit-page .value-card{max-width: 46.6667vw;
  aspect-ratio: 1 / 1;
  gap: 1.3333vw;
  padding: 6vw 4.6667vw;}
.recruit-page .value-card__keyword{font-size: 4.3333vw;}
.recruit-page .value-card__ja{font-size: 2.3333vw;
  font-weight: 600;
  color: var(--color-text-sub);}
.recruit-page .value-card__title{font-family: var(--font-en);
  font-size: 2vw;
  line-height: 1.5;}
.recruit-page .value-card__desc{font-size: 2vw; line-height: 1.85;}
.recruit-page .recruit-points{grid-template-columns: 1fr;
  gap: 1.6667vw;}
.recruit-page .recruit-point{background: transparent;
  border-radius: 0;
  padding: 0 0 0 4vw;
  font-size: 2.3333vw;       
  font-weight: 400;
  line-height: 1.8;}
.recruit-page .recruit-point::before{content: "●";          
  left: 0;
  color: var(--color-text);
  font-size: 1.6667vw;}
.recruit-page .recruit-table th{width: 9em;
  background: transparent;
  color: var(--color-text);
  font-weight: 600;}
.recruit-page .recruit-table th::after{content: "：";}
.recruit-page .recruit-table th, .recruit-page .recruit-table td{border-bottom: 0.1667vw solid var(--color-border-light);
  font-size: 2.6667vw;}
.recruit-page .faq-list{display: block;
  max-width: 146.6667vw;}
.recruit-page .faq-item{border: none;
  border-radius: 0;
  overflow: visible;
  margin-bottom: 4vw;}
.recruit-page .faq-item dt{position: relative;
  background: transparent;
  padding: 0 0 1vw 4.6667vw;
  font-size: 2.8333vw;       
  font-weight: 600;}
.recruit-page .faq-item dt::before{content: "Q：";
  left: 0;
  color: var(--color-primary);}
.recruit-page .faq-item dd{position: relative;
  padding: 0 0 0 4.6667vw;
  font-size: 2.8333vw;       
  line-height: 1.95;}
.recruit-page .faq-item dd::before{content: "A：";
  left: 0;
  color: var(--color-gold);}
.recruit-page .sec-head__ja{color: #796428;
  font-size: 3.8333vw;
  font-weight: 600;}
.recruit-page .sec-head__en{color: #796428;
  font-family: var(--font-en);
  font-size: 3.6667vw; 
  font-weight: 300;
  letter-spacing: .06em;
  text-transform: none;}
.recruit-page .section .container--narrow{padding-inline: 16.6667vw;}
.recruit-page .sec-head--center span.sec-head__en{order: 0;}
.recruit-page .sec-head--center .sec-head__ja{color: #796428;}
.recruit-lead-head .sec-head__ja{font-size: 3.3333vw;
  color: #796428;}
.recruit-lead-body{text-align: center;
  color: var(--color-text-teal);
  font-size: 3.5vw;
  font-weight: 300;
  line-height: 1.5;
  margin-top: 7.3333vw;}
.recruit-movie{position: relative;
  aspect-ratio: 16 / 9;
  max-width: 106.6667vw;
  margin: 9.3333vw auto 0;
  border-radius: 0;
  overflow: hidden;
  box-shadow: none;
  background: #eef1f1;}
.recruit-divider{display: block;
  border: 0;
  border-top: 0.1667vw solid var(--color-gold);
  margin-block: 0;
  margin-inline: clamp(4vw, 10vw, 26.6667vw);}
.recruit-values-lead{text-align: center;
  color: var(--color-text-teal);
  font-size: 2.6667vw;       
  font-weight: 300;
  margin: 6.6667vw 0 0;}
.value-card-grid{display: grid;
  grid-template-columns: repeat(3, 47.5vw);
  gap: 8vw;
  justify-content: center;
  margin-top: 18.6667vw;     
  margin-bottom: 18.6667vw;}
.value-card{width: 47.5vw;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 6.3333vw;
  min-height: 0;}
.value-card--respect{background: #d0dee0; color: #407980;}
.value-card--challenge{background: #d7e3d0; color: #728b56;}
.value-card--originality{background: #ebdec0; color: #ad7a00;}
.value-card:nth-child(1) .value-card__keyword, .value-card:nth-child(2) .value-card__keyword, .value-card:nth-child(3) .value-card__keyword{color: inherit;}
.value-card__keyword{font-family: var(--font-en);
  font-size: 5vw;      
  font-weight: 700;     
  color: inherit;
  margin: 0;}
.value-card__ja{font-size: 2.5vw;      
  font-weight: 400;
  margin: .15em 0 .45em;}
.value-card__sub-en{font-family: var(--font-en);
  font-size: 2.3333vw;      
  font-weight: 400;
  line-height: 1.22;}
.value-card__desc{font-size: 2.1667vw;      
  font-weight: 300;
  line-height: 1.45;    
  margin-top: .55em;}
.recruit-values-close{text-align: center;
  color: var(--color-text-teal);
  font-size: 2.3333vw;
  font-weight: 300;
  margin-top: 9.3333vw;}
.recruit-values-cta{text-align: center; margin-top: 4em;}
.recruit-values-cta .btn--outline{color: var(--color-text-teal);
  border-color: var(--color-text-teal);
  font-weight: 300;
  font-size: 2.3333vw;
  padding: .7em 2.2em;}
.recruit-values-cta .btn--outline:hover{background: var(--color-text-teal); color: #fff;}
.recruit-voices{background: #9dc4d8 url('../images/recruit-voices-photo.jpg?v=5') center / cover no-repeat;}
.voice-grid{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.3333vw 6vw;
  max-width: 183.3333vw;
  margin: 9.3333vw auto 0;}
.voice-card{position: relative;
  background: rgba(0, 116, 140, .62); 
  color: #fff;
  border-radius: 1.6667vw;
  padding: 5vw 5.3333vw 5.6667vw;
  box-shadow: none;}
.voice-card::after{display: none;}
.voice-card__quote{color: #fff;
  font-size: 2.8333vw;      
  font-weight: 600;
  margin-bottom: .5em;
  line-height: 1.5;}
.recruit-page .page-hero__bg{background-position: center top;}
.value-card-grid--img{display: flex;
  justify-content: center;
  gap: 5.6667vw;               
  flex-wrap: wrap;}
.value-circle-img{width: 48.8333vw;            
  height: auto;}
.voice-card__quote span{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='8' viewBox='0 0 160 8'%3E%3Cpath d='M2 5.2 C 30 3.6, 62 6, 92 4.6 S 140 5.6, 158 4.4' fill='none' stroke='%23E6E400' stroke-width='3.4' stroke-linecap='round' opacity='.5'/%3E%3C/svg%3E");
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 26.6667vw 1.3333vw;
  padding-bottom: 1.1667vw;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;}
.voice-card__meta{color: #fff;
  font-size: 2.3333vw;      
  font-weight: 500;
  margin-bottom: 1.1em;}
.voice-card__body{color: #fff;
  font-size: 2.1667vw;      
  font-weight: 300;
  line-height: 1.58;}
.recruit-career-list{display: flex; flex-direction: column; gap: .55em; margin-top: 6.6667vw;}
.recruit-career-list li{position: relative;
  padding: 0 0 0 1.25em;
  background: none;
  border: none;
  color: var(--color-text-teal);
  font-size: 2.3333vw;       
  font-weight: 300;
  line-height: 1.6;}
.recruit-career-list li::before{content: '●';
  position: absolute;
  left: 0;
  top: .12em;
  font-size: .75em;
  color: var(--color-text-teal);
  background: none;
  width: auto;
  height: auto;}
.recruit-outline{background: #ebf3f5;}
.recruit-outline__grid{display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 9.3333vw;
  margin-top: 6.6667vw;}
.recruit-spec__row{display: grid;
  grid-template-columns: 5.5em 1fr;
  gap: 0 .5em;
  margin-bottom: .6em;}
.recruit-spec dt{color: var(--color-text-teal);
  font-size: 2.6667vw;
  font-weight: 300;
  text-align: justify;
  text-align-last: justify;
  white-space: nowrap;}
.recruit-spec dt::after{content: '：';}
.recruit-spec dd, .recruit-qa dt, .recruit-qa dd{color: var(--color-text-teal);
  font-size: 2.6667vw;
  font-weight: 300;
  line-height: 1.9;}
.recruit-qa__item{margin-bottom: 1.6em;}
.recruit-qa__item:last-child{margin-bottom: 0;}
.news-list .news-item{grid-template-columns: 17.3333vw 1fr;
  gap: 0.6667vw 4vw;
  align-items: baseline;
  padding-block: 1.6667vw;
  font-size: 2.3333vw;
  line-height: 1.7;
  border-bottom: 0.1667vw solid var(--color-border-light);}
.news-list .news-item__date{color: #231916;
  font-family: var(--font-en);
  font-size: 2.3333vw;
  letter-spacing: .02em;
  white-space: nowrap;}
.news-list .news-item__title{color: #231916;}
.news-list .news-item__title a{color: #231916;
  transition: color var(--transition);}
.news-list .news-item__title a:hover{color: var(--color-primary);
  text-decoration: underline;}
.news-list .news-item__cat{font-size: 1.8333vw;}
.news-card-grid{display: flex;
  flex-direction: column;}
.news-card{border-bottom: 0.1667vw solid var(--color-border-light);
  transition: background var(--transition);}
.news-card__body{display: flex;
  align-items: baseline;
  gap: 4.6667vw;
  padding: 3vw 0.6667vw;}
.news-card__date{flex: 0 0 auto;
  font-family: var(--font-en);
  font-size: 2.3333vw;
  color: var(--color-text-sub);}
.news-card__title{font-size: 2.5vw;
  font-weight: 300;   
  line-height: 1.6;
  margin: 0;}
.news-card__title a:hover{color: var(--color-primary);}
.news-filter{display: flex;
  flex-wrap: wrap;
  gap: 1.3333vw;
  margin-bottom: var(--sp-md);}
.news-filter__btn{display: inline-flex;
  align-items: center;
  padding: 1vw 3vw;
  font-size: 2.1667vw;
  font-weight: 600;
  border: 0.1667vw solid var(--color-border);
  border-radius: 166.5vw;
  color: var(--color-text-sub);
  transition: background var(--transition), color var(--transition), border-color var(--transition);}
.news-filter__btn:hover{border-color: var(--color-primary); color: var(--color-primary);}
.news-filter__btn.is-active{background: var(--color-primary);
  border-color: var(--color-primary);
  color: #fff;}
.news-readmore{text-align: center;
  margin-top: 9.3333vw;}
.news-readmore__link{display: inline-flex;
  flex-direction: column;
  align-items: center;
  gap: 1.3333vw;
  color: #007c8f;
  font-family: var(--font-en);
  font-size: 2.3333vw;
  letter-spacing: .08em;
  transition: opacity var(--transition);}
.news-readmore__link:hover{opacity: .65; color: #007c8f;}
.news-readmore__chevron{width: 3.6667vw;
  height: 3.6667vw;
  display: block;}
.no-posts{text-align: center;
  padding-block: var(--sp-xl);
  color: var(--color-text-sub);}
.single-article__header{margin-bottom: var(--sp-md);
  padding-bottom: var(--sp-md);
  border-bottom: 0.1667vw solid var(--color-border-light);}
.single-article__meta{display: flex;
  align-items: center;
  gap: 2vw;
  margin-bottom: 2vw;}
.single-article__date{font-family: var(--font-en);
  font-size: 2.3333vw;
  color: var(--color-text-sub);}
.single-article__title{font-size: 4vw;        
  font-weight: 400;       
  line-height: 1.45;
  color: rgba(35,25,22,.8);}
.single-article__thumb{margin-bottom: var(--sp-md);
  border-radius: var(--radius-lg);
  overflow: hidden;}
.postid-52 .single-article__thumb img{display: block;
  width: 70%;
  height: auto;
  margin-inline: auto;}
.single-article__body{margin-top: var(--sp-lg);}
.single-article__body, .single-article__body p{color: var(--color-text-sub);}
.post-nav{display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-md);
  margin-top: var(--sp-xl);
  padding-top: var(--sp-md);
  border-top: 0.1667vw solid var(--color-border-light);}
.post-nav__prev, .post-nav__next{display: flex;
  flex-direction: column;
  gap: 1vw;}
.post-nav__next{text-align: right;}
.post-nav__label{font-size: 2.1667vw;
  color: var(--color-primary);
  font-weight: 600;}
.post-nav a{font-size: 2.3333vw;
  line-height: 1.5;
  transition: color var(--transition);}
.post-nav a:hover{color: var(--color-primary);}
.post-back{text-align: center;
  margin-top: var(--sp-lg);}
.main-nav > li > a{padding-inline: .55rem; font-size: .78rem;}
.grid--4{grid-template-columns: repeat(2, 1fr);}
.grid--3{grid-template-columns: repeat(2, 1fr);}
.quality-grid{grid-template-columns: repeat(2, 1fr);}
.fish-grid{gap: var(--sp-md) var(--sp-sm);}
.fish-grid__break{display: none;}
.fish-grid__break ~ .fish-item{margin-top: 0;}
.top-banner-grid{grid-template-columns: repeat(2, 1fr);}
br.pc-only{display: none;}
:root{--header-h: 12vw; --header-pull: 12vw;}
.site-header{height: var(--header-h); flex-direction: row; align-items: center;}
.site-header__main{flex: 1; align-items: center;}
.site-header__main-inner{align-items: center; padding-bottom: 0;}
.site-header__logo-name{font-size: 4vw;}
.site-header__logo-img{width: 19.6667vw;}
.site-header__main-inner{padding-left: 5vw;}
.site-header__utility{display: none;}
.main-nav{display: none;}
.hamburger{display: flex;}
.site-footer__main-inner{gap: var(--sp-lg);
    padding-left: var(--container-pad);}
.footer-top{flex-direction: column-reverse;
    align-items: flex-start;
    gap: var(--sp-md);}
.footer-social{justify-content: flex-start;}
.footer-nav{grid-template-columns: repeat(2, 1fr);}
.page-hero{min-height: calc(36.6667vw + var(--header-pull));}
.about-col2, .philosophy-section__inner, .philosophy-section--label-right .philosophy-section__inner{grid-template-columns: 1fr;
    gap: var(--sp-lg);}
.about-col2--rev .about-col2__text{order: 0;}
.about-col2--rev .about-col2__img{order: 0;}
.philosophy-section--label-right .philosophy-section__label{order: 0; text-align: left;}
.philosophy-section--label-right .philosophy-section__content{order: 0;}
.philosophy-section__bg{background-attachment: scroll;}
.for-future-grid, .divisions-grid{grid-template-columns: 1fr;}
.access-item{grid-template-columns: 1fr;}
.global-twocol{grid-template-columns: 1fr; gap: var(--sp-lg);}
.logistics-grid{grid-template-columns: 1fr;}
.content-col2, .content-col2--wide-text{grid-template-columns: 1fr;
    gap: var(--sp-lg);}
.content-col2--rev > :first-child{order: 0;}
.content-col2--rev > :last-child{order: 0;}
.fish-card-grid, .export-card-grid{grid-template-columns: repeat(2, 1fr);}
.voice-grid{grid-template-columns: 1fr;}
.value-card-grid{grid-template-columns: repeat(auto-fit, 47.5vw);}
.recruit-outline__grid{grid-template-columns: 1fr; gap: 5.3333vw;}
.quality-network-field{height: auto;
    background: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 1.6667vw;
    padding: 4vw 0;}
.qnet-center, .qnet-pillar, .qnet-node{position: static;
    transform: none;
    width: auto;
    height: auto;
    padding: 1.3333vw 2.3333vw;
    border-radius: 3.3333vw;
    background: rgba(255,255,255,.7);}
.qnet-center{order: -1; flex-basis: 100%; background: none;}
.qnet-center__logo{color: var(--color-primary-dark);}
.qnet-pillar{background: var(--color-primary); color: #fff;}
.qnet-node{color: var(--color-primary);}
.cert-block{grid-template-columns: 1fr;}
.cert-text-list{text-align: left;}
.contact-info-grid, .value-card-grid{grid-template-columns: 1fr;}
.value-card{max-width: 40vw;}
.form-row, .recruit-points{grid-template-columns: 1fr;}
.contact-page .sec-head__ja, .recruit-page .sec-head__ja{font-size: 3.6667vw;}
.grid--4, .grid--3, .grid--2{grid-template-columns: 1fr;}
:root{--sp-xl: 4rem;
    --sp-lg: 3rem;
    --container-pad: 3.3333vw;}
h1{font-size: 4.6667vw;}
h2{font-size: 4vw;}
h3{font-size: 3.3333vw;}
.sec-head__ja{font-size: 4vw;}
.page-hero__title{font-size: 4.6667vw;}
.footer-nav{grid-template-columns: 1fr;}
.news-item{grid-template-columns: 1fr;}
.news-item__date{display: none;}
.site-footer__bottom-inner{flex-direction: column; align-items: flex-start;}
.back-to-top{bottom: 1.25rem;
    right: 1.25rem;
    width: 2.75rem;
    height: 2.75rem;}
.news-table, .news-table tbody, .news-table__row{display: block;}
.news-table__date, .news-table__cat{display: inline-block;
    width: auto;
    padding: 1.6667vw 1em 0 0;}
.news-table__title{display: block;
    padding: 0.3333vw 0 1.6667vw;}
.quality-grid{grid-template-columns: 1fr;}
.fish-grid{gap: var(--sp-md) 2.6667vw;}
.top-banner-grid{grid-template-columns: 1fr;}
.journey-item{grid-template-columns: 13.3333vw 1fr; gap: 0; padding: 0;}
.journey-item__year{padding-block: 2vw;}
.journey-item__text{padding: 2vw 2.3333vw;}
.value-item{grid-template-columns: 1fr; gap: 0.6667vw;}
.company-table th, .history-table th{width: auto;}
.fish-card-grid, .export-card-grid{grid-template-columns: 1fr;}
.processing-item{grid-template-columns: 7.3333vw 1fr; gap: var(--sp-sm);}
.sustain-cluster{width: 100%;}
.news-list .news-item{grid-template-columns: 1fr;
    gap: 0.3333vw;}
.post-nav{grid-template-columns: 1fr;}
.post-nav__next{text-align: left;}
}
@media (max-width:479.98px){
.safety-dash-sub{white-space: normal;}
.safety-flow-ring{height: auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 1.3333vw;
    padding: 1.3333vw 0;}
.safety-flow-ring__node{position: static;
    margin: 0;
    width: 11.3333vw;
    height: 11.3333vw;}
}
