@charset "utf-8";

/*========================================================================*\

$root

\*========================================================================*/

/* -- 基本 -- */
:root {
  --font-weight: 400;
  --line-height: 2;
  --sans_serif: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3",
    "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  --serif: "Noto Serif JP", "Times New Roman", "游明朝", YuMincho,
    "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
  --english: "Oswald", sans-serif;
}

/* -- color-size -- */
:root {
  --primary-color: #113961;
  --secondary-color: #198be7;
  /*--tertiary-color:;*/
  --color-white: #ffffff;
}

/* -- font-size -- */
:root {
  --font_h2: 3.2rem;
  --font_h3: 2.6rem;
  --font_h4: 2.1rem;
  --font_h5: 1.8rem;
  --font_h6: 1.6rem;
}

:root {
  --font-size_xl: 2rem;
  --font-size_lg: 1.8rem;
  --font-size: 1.6rem; /*デフォルト*/
  --font-size_sm: 1.4rem;
  --font-size_xs: 1.2rem;
  --font-size_xxs: 1.1rem;
}

/* -- font -- */
:root {
  --font-color: #222222;
  --btn-color: #121212;
  --hover-color: #121212;
  --link-color: ;
  --font-red: #ff0000;
  --font-bold: 700;
}

/* -- size -- */
:root {
  --inner-padding: 15rem 0; /*デフォルト*/
  --inner-padding_md: 15rem 2rem;
  --inner-padding_sm: 8rem 2rem;
}

/* -- section -- */
:root {
  --section_bg: #f5f5f5;
}

/* -- width -- */
:root {
  --max-width: 1100px;
}

/* -- シャドウ系 -- */
:root {
  --box-shadow: 2px 2px 15px 0 rgba(0, 0, 0, 0.05);
  --text-shadow: 0px 0px 16px 0 rgba(5, 22, 47, 0.8);
}

/*========================================================================*\

$bg_statement

\*========================================================================*/

.bg_statement {
  height: 100vh;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: -1;
}

.fit {
  overflow: hidden;
  position: relative;
}

.fitsize {
  position: absolute;
}

/*========================================================================*\

$loading

\*========================================================================*/

.loading {
  background-color: var(--color-white);
  height: 100vh;
  left: 0;
  opacity: 1;
  position: fixed;
  top: 0;
  transition: all 1s;
  visibility: visible;
  width: 100vw;
  z-index: 9999;
}

.loading.is-active {
  opacity: 0;
  visibility: hidden;
}

.loading-animation {
  align-items: center;
  background-color: var(--color-white);
  display: flex;
  height: 100vh;
  justify-content: center;
  opacity: 0;
  transition: all 1s;
  visibility: hidden;
  width: 100vw;
  z-index: 9999;
}

.loading-animation.is-active {
  opacity: 1;
  visibility: visible;
}

/* fadeUpをするアイコンの動き */
.fadeUp {
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
  animation-name: fadeUpAnime;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(100px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/*========================================================================*\

$main

\*========================================================================*/

#topmain {
  position: relative;
  width: 100%;
  min-height: 100vh;
  background-attachment: fixed;
}

#topmain .mainInner {
  height: 100vh;
  left: 0;
  margin: auto;
  position: relative;
  top: 0;
  width: 100%;
  z-index: 2000;
}

#topmain .mainInner .textBox {
  left: 7.4%;
  margin: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  z-index: 100;
}

#topmain .mainInner p.logo {
  margin-bottom: 3rem;
}

#topmain .mainInner h1 {
  color: var(--color-white);
  font-size: 5.6rem;
  font-weight: var(--font-bold);
  line-height: 1.4;
  margin-bottom: 2rem;
  text-shadow: 0px 0px 15px rgba(0, 0, 0, 1);
}

#topmain .mainInner p {
  color: var(--color-white);
  font-size: var(--font-size_xl);
  font-weight: var(--font-bold);
}

/*========================================================================*\

$aboutSection

\*========================================================================*/

#aboutSection {
  background: rgba(0, 70, 128, 0.8);
  padding: 13rem 0;
  position: relative;
  z-index: 30;
}

#aboutSection .sectionInner {
  padding: 0;
  position: relative;
}

#aboutSection::before {
  background-image: url(../images/bg_whiles.png);
  background-size: cover;
  background-repeat: repeat-x;
  content: "";
  display: inline-block;
  height: 6%;
  left: 0;
  opacity: 0.8;
  position: absolute;
  top: -6%;
  vertical-align: middle;
  width: 100%;
  z-index: 100;
}

#aboutSection h2,
#aboutSection p {
  color: var(--color-white);
  font-size: 4.2rem;
  font-weight: var(--font-bold);
  margin-bottom: 2rem;
  text-align: center;
  text-shadow: var(--text-shadow);
}

#aboutSection p {
  font-size: var(--font-size_xl);
  margin-bottom: 0;
}

#aboutSection .sectionInner .fish {
  position: absolute;
}

#aboutSection .sectionInner .fishL {
  left: 0;
  top: 0;
}

#aboutSection .sectionInner .fishR {
  right: 0;
  top: 0;
}

@media print, screen and (max-width: 1100px) {
  #aboutSection {
    padding: 20rem 2rem;
  }
}

/*========================================================================*\

$Co

\*========================================================================*/

#Co {
  background-color: #113961;
  position: relative;
}

#Co h2 {
  color: #ffffff;
  font-size: 4rem;
  font-weight: var(--font-bold);
  letter-spacing: 1rem;
  margin-bottom: 9rem;
  position: relative;
  text-align: center;
  z-index: 10;
}

#Co h2 .title,
#index #aboutSection h2 {
  position: relative;
  display: inline-block;
}

#index #Co h2::after,
#Co #recruitSection h2::after {
  color: rgba(255, 255, 255, 0.1);
  content: "";
  font-size: 11.3rem;
  font-weight: 400;
  left: 50%;
  letter-spacing: 0;
  margin: auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%) translateX(-50%);
  z-index: -1;
}

#Co h2 .title,
#index #aboutSection h2 {
  position: relative;
  display: inline-block;
}

#Co h3 {
  font-size: 3.2rem;
  font-weight: var(--font-bold);
  margin-bottom: 4.5rem;
  z-index: 10;
  padding: 0.2rem 0 0.4rem 1.5rem;
  line-height: 0.9;
  border-image: linear-gradient(
      180deg,
      rgba(17, 57, 97, 1) 0%,
      rgba(25, 139, 231, 1) 100%
    )
    1/0 0 0 3px;
  border-image-slice: 1;
  border-left: solid;
}

#Co h3 .sub {
  color: var(--primary-color);
  font-weight: 400;
  font-size: var(--font-size_sm);
}

/*========================================================================*\

$serviceSection

\*========================================================================*/

#Co #serviceSection h2 {
  margin-bottom: 15rem;
}

#index #Co #serviceSection h2::after {
  content: "SERVICE";
}

#Co #serviceSection .menu {
  margin-bottom: 5rem;
}

#Co #serviceSection .menu .box04Inner {
  padding: 4rem 2rem;
  position: relative;
  text-decoration: none;
  width: 25%;
}

#Co #serviceSection .menu .box04Inner::after {
  border-right: solid 2px var(--primary-color);
  border-top: solid 2px var(--primary-color);
  bottom: 32px;
  content: "";
  height: 10px;
  left: 50%;
  margin-left: -5px;
  position: absolute;
  transform: rotate(135deg);
  width: 10px;
}

#Co #serviceSection .menu .box04Inner::before {
  background: var(--color-white);
  border: 1px solid var(--primary-color);
  border-radius: 50%;
  bottom: 20px;
  content: "";
  height: 32px;
  left: 50%;
  transform: translateX(-50%);
  margin: auto;
  position: absolute;
  width: 32px;
}

#Co #serviceSection .menu .box04Inner:hover {
  background: #e0f4ff;
  box-shadow: 1px 1px 12px 0 rgba(0, 70, 128, 0.08);
  transform: translateY(-10px);
  border-radius: 10px;
}

#Co #serviceSection .menu figure {
  align-items: center;
  background: var(--color-white);
  border-radius: 50%;
  box-shadow: 1px 1px 12px 0 rgba(0, 70, 128, 0.08);
  display: flex;
  height: 176px;
  justify-content: center;
  margin: 0 auto 2rem auto;
  width: 176px;
}

#Co #serviceSection .menu p {
  font-size: 2.4rem;
  font-weight: var(--font-bold);
  line-height: 1.1;
  margin-bottom: 3rem;
  text-align: center;
  text-decoration: none;
}

#Co #serviceSection .menu .ss {
  color: var(--secondary-color);
  font-weight: 400;
}

#Co #serviceSection .itemBox {
  background: var(--color-white);
  padding: 6rem 0 6rem 6rem;
  display: flex;
  position: relative;
  justify-content: space-between;
  margin: 0 calc(50% - 50vw) 15rem auto !important;
  width: 76vw !important;
}

#Co #serviceSection .itemBox.reverse {
  flex-direction: row-reverse;
  padding: 6rem 6rem 6rem 0;
}

#Co #serviceSection .itemBox.reverse figure {
  margin: -10rem 0 0 5rem;
}

#Co #serviceSection .itemBox:nth-child(even) {
  margin: 0 auto 15rem calc(50% - 50vw) !important;
}

#Co #serviceSection .itemBox:last-child {
  margin-bottom: 0 !important;
}

#Co #serviceSection .itemBox figure {
  width: 44%;
  margin: -10rem 5rem 0 0;
}

#Co #serviceSection .itemBox .itemBoxInner {
  width: 48%;
}

#Co #serviceSection .itemBox .ico {
  position: absolute;
  bottom: -120px;
}

#Co #serviceSection .itemBox .ico_seafood {
  left: 350px;
}

#Co #serviceSection .itemBox .ico_fishing {
  right: 80px;
}

#Co #serviceSection .itemBox .ico_shipping {
  left: 380px;
}

#Co #serviceSection .itemBox .ico_energy {
  right: -20px;
}

/*========================================================================*\

$newsSection

\*========================================================================*/

#Co #newsSection {
  background: var(--color-white);
  border-radius: 40px 40px 0 0;
}

#Co #newsSection .sectionInner {
  padding: 10rem 0;
}

#Co #newsSection .sectionInner .newsBoxInner {
  text-decoration: none;
}

#Co #newsSection .sectionInner .detailBox .day {
  font-size: var(--font-size_m);
  margin-bottom: 0;
  font-weight: 700;
  color: var(--primary-color);
}

#Co #newsSection .sectionInner .detailBox h4 {
  font-size: var(--font-size);
  font-weight: var(--font-bold);
  line-height: 1.6;
  font-weight: 400;
  margin: 0 0 2rem 0 !important;
  padding: 0 0 2rem 0 !important;
}

#Co #newsSection .sectionInner .detailBox h4::before {
  content: none;
}

#Co #newsSection .more_area {
  position: absolute;
  top: 6rem;
  right: 0;
}

/*========================================================================*\

$shopSection

\*========================================================================*/

#Co #shopSection {
  background: #fff;
  border-radius: 40px 40px 0 0;
}

#index #Co #shopSection {
  background: transparent;
}

#Co #shopSection h3 {
  margin-top: 0 !important;
}

#Co #shopSection .box02Inner {
  position: relative;
  overflow: hidden;
  max-height: 280px;
  width: 48.5%;
  box-shadow: 1px 1px 12px 0 rgba(0, 0, 0, 0.08);
}

#Co #shopSection .box02Inner:after {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: 0;
  z-index: 0;
  transition: all 0.2s ease-out;
}

#Co #shopSection .box02Inner:first-child:after {
  background: url(../images/bg_kanimonogatari.jpg) no-repeat center center;
  background-size: cover;
}

#Co #shopSection .box02Inner:last-child:after {
  background: url(../images/bg_kanipara.jpg) no-repeat center center;
  background-size: cover;
}

#Co #shopSection .box02Inner figure {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 0;
}

#Co #shopSection .box02Inner:hover:after {
  transform: scale(1.1);
}

#Co #shopSection .more_area {
  display: flex;
  position: absolute;
  bottom: 10px;
  right: 10px;
  margin: 0;
  z-index: 10;
}

#Co .circle {
  align-items: center;
  display: flex;
  text-decoration: none;
}

.circle__arrow {
  border: 1px solid var(--primary-color);
  border-radius: 50%;
  color: var(--color-white);
  height: 48px;
  overflow: hidden;
  position: relative;
  transition: all 0.3s;
  width: 48px;
  background: #fff;
}

#Co .circle__arrow:before,
#Co .circle__arrow:after {
  background-image: url(../images/arrow_b.svg);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 12px;
  position: absolute;
  right: 50%;
  top: 50%;
  transform: translate(50%, -50%);
  transition: 300ms;
  transition: all 2000ms cubic-bezier(0.17, 0.815, 0.4, 1);
  width: 18px;
  z-index: 10;
}

#Co .circle__arrow:after {
  opacity: 0;
  right: 100%;
}

#Co #shopSection .box02Inner:hover .circle__arrow {
  background: var(--primary-color);
  transform: scale(1.1);
  transition: all 0.3s;
}

#Co #shopSection .box02Inner:hover .circle__arrow:before,
#Co #shopSection .box02Inner:hover .circle__arrow:after {
  animation-fill-mode: forwards;
  background-image: url(../images/arrow_w.svg);
}

#Co #shopSection .box02Inner:hover .circle__arrow:before {
  animation: arrowbefore 0.5s;
}

#Co #shopSection .box02Inner:hover .circle__arrow:after {
  animation: arrowafter 0.5s;
}

@keyframes arrowbefore {
  100% {
    opacity: 0;
    right: -50%;
  }
}

@keyframes arrowafter {
  100% {
    opacity: 1;
    right: 50%;
  }
}

@media print, screen and (max-width: 767px) {
  #Co .more_area {
    justify-content: flex-end;
  }

  .circle__arrow {
    height: 36px;
    width: 36px;
  }

  #Co .circle__arrow:before,
  #Co .circle__arrow:after {
    height: 8px;
    width: 14px;
  }
}

/*========================================================================*\

$recruitSection

\*========================================================================*/
#Co #recruitSection {
  background: url(../images/bg_recruit.jpg) no-repeat center center;
  background-size: cover;
  position: relative;
}

#Co #recruitSection::before {
  background: rgba(24, 55, 100, 0.6);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

#Co #recruitSection .sectionInner {
  position: relative;
  z-index: 10;
}

#Co #recruitSection h2 {
  margin-bottom: 7rem !important;
  color: var(--color-white);
  font-size: 4rem;
}

#Co #recruitSection p {
  margin-bottom: 4rem;
  color: var(--color-white);
  text-align: center;
  font-weight: var(--font-bold);
  font-size: 2rem;
}

#Co #recruitSection h2::after {
  content: "RECRUIT";
  color: rgba(255, 255, 255, 0.25);
  font-size: 15rem;
}

#Co #recruitSection .more_area {
  justify-content: center;
  margin-top: 3rem;
}

#Co #recruitSection .more_area p {
  font-size: 1.4rem;
}

#Co #recruitSection .circle_btn {
  border: 1px solid var(--color-white);
  background: var(--primary-color);
  width: 280px;
  text-align: center;
}

#Co #recruitSection .circle_btn::after {
  background-color: var(--color-white);
}

#Co #recruitSection .circle_btn__arrow:before,
#Co #recruitSection .circle_btn__arrow:after {
  background-image: url(../images/arrow_w.svg);
}

/*========================================================================*\

$footer

\*========================================================================*/

footer {
  background: #ffffff /*#1c1c1c*/;
  position: relative;
  padding-top: 44px;
}

footer::before {
  background-image: url(../images/bg_whiles_w.png);
  background-size: cover;
  background-repeat: repeat-x;
  content: "";
  display: inline-block;
  height: 44px;
  left: 0;
  position: absolute;
  top: -43px;
  vertical-align: middle;
  width: 100%;
  z-index: 100;
}

footer #footerInner {
  margin: 0 auto;
  max-width: var(--max-width);
  padding: 6rem 0;
  position: relative;
  width: 100%;
}

footer #footerInner #footerTop {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 3rem;
}

footer #footerInner #footerTop .footerInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer #footerInner #footerTop .footerInner h2 {
  margin-right: 2rem;
}

footer .contactArea a {
  border-radius: 6px;
  font-size: 2rem;
  font-weight: 700;
  width: 350px;
  align-items: center;
  background: var(--primary-color);
  padding: 1.5rem 3rem;
  text-align: center;
  text-decoration: none;
  color: var(--color-white);
}

footer .contactArea a:hover {
  background: var(--secondary-color);
}

footer .contactArea a .ss {
  display: inline-block;
  font-family: var(--english);
  font-size: 1.2rem;
  font-weight: 400;
  margin-left: 1rem;
}

footer .contactArea .circle_point__arrow {
  border: 2px solid #ffffff;
  margin: 0 0 0 auto;
}

footer .contactArea .circle_point:hover p {
  color: #ffffff;
}

footer .contactArea .circle_point:hover .circle_point__arrow {
  border: 2px solid #ffffff;
}

footer #footerBottom {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
}

footer #footerBottom a {
  text-decoration: none;
}

footer .footerLInner {
  width: 340px;
}

footer .footerLInner .box02,
footer .footerLInner .box05 {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

footer .more_area {
  justify-content: flex-start;
  font-size: var(--font-size_sm);
}

footer .footerLInner .box02 .more_area:first-child {
  margin-right: 2rem;
}

footer .footerLInner .box05 {
  padding: 0 1.5rem;
  margin-bottom: 4rem;
}

footer .footerLInner .box05 li {
  width: 13.5%;
}

footer #footerBottom h3 {
  font-family: var(--english);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--secondary-color);
  margin-bottom: 2rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e1f8ff;
}

footer .footerRInner .innerBox {
  display: flex;
  justify-content: space-between;
}

footer .footerRInner .innerBox .ttl {
  font-weight: 700;
  font-size: 1.5rem;
}

footer .footerRInner {
  width: 680px;
}

footer #copy {
  text-align: center;
  font-size: var(--font-size_xs);
}

@media only screen and (max-width: 1100px) {
  footer #footerInner {
    max-width: 100%;
    padding: 6rem 2rem;
  }
}

/*========================================================================*\

$Main

\*========================================================================*/

.commonMain {
  background: url(../company/img/main_company.jpg) no-repeat center top;
  position: relative;
  min-height: 100%;
  height: 550px;
  z-index: 0;
  background-attachment: fixed;
  background-repeat: no-repeat;
  display: flex;
  justify-content: center;
  align-items: center;
  background-attachment: fixed;
}

#fishingMain {
  background: url(../business/img/main_fishing.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

#shippingMain {
  background: url(../business/img/main_shipping.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

#energyMain {
  background: url(../business/img/main_energy.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

#internshipMain {
  background: url(../internship/img/main.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

#bbMain {
  background: url(../business/img/main_bb.jpg) no-repeat bottom center;
  background-size: cover;
  background-attachment: fixed;
}

#bb_02Main {
  background: url(../business/img/main_bb_02.jpg) no-repeat bottom center;
  background-size: cover;
  background-attachment: fixed;
}

#bcMain {
  background: url(../business/img/main_bc.jpg) no-repeat bottom center;
  background-size: cover;
  background-attachment: fixed;
}

#abroadMain {
  background: url(../business/img/main_abroad.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

#manufacturingMain {
  background: url(../business/img/main_manufacturing.jpg) no-repeat top center;
  background-size: cover;
  background-attachment: fixed;
}

.commonMain::before {
  background: rgba(0, 0, 0, 0.3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 1;
}

.commonMain .titleBox {
  position: relative;
  text-align: center;
  z-index: 10;
  color: var(--color-white);
  line-height: 1.6;
  margin-top: 12rem;
}

.commonMain h2 {
  font-size: 4.5rem;
  font-weight: var(--font-bold);
  letter-spacing: 0.5rem;
  margin-bottom: 0;
}

.commonMain .main_catch {
  font-size: 2rem;
  font-weight: var(--font-bold);
  margin: 2rem 0;
}

/*========================================================================*\

$page

\*========================================================================*/

#Co .page .firstSection .sectionInner {
  padding-top: 10rem;
  margin: 0 auto;
  position: static;
}

#Co .page .sectionInner .mainInner {
  z-index: 1000;
  padding: 7rem 5rem;
  width: var(--max-width);
  background: var(--color-white);
  box-shadow: var(--box-shadow);
  position: relative;
}

#Co .page .sectionInner .mainInner .titleBox,
#Co .page .contactArea,
#Co .page .entrySection {
  position: relative;
}

#Co .page .sectionInner .mainInner .titleBox .en,
#Co .page .contactArea .en,
#Co .page .entrySection .en {
  font-family: var(--english);
  font-size: 1.2rem;
  font-weight: 400;
  color: var(--primary-color);
  text-align: center !important;
  margin: 0 0 2rem 0;
}

#Co .page .sectionInner .mainInner .catch_b {
  font-size: var(--font-size_lg);
  text-align: left;
}

#Co .page .sectionInner .mainInner p:last-child {
  margin-bottom: 0;
}

#Co .page .sectionInner .btnGroup.linkBox {
  margin-top: 0 !important;
}

#Co .page .sectionInner .btnGroup.linkBox ul li a {
  background: transparent;
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
}

#Co .page .sectionInner .btnGroup.linkBox ul li a:after {
  border-right: solid 2px var(--primary-color);
  border-top: solid 2px var(--primary-color);
}

@media only screen and (max-width: 1100px) {
  #Co .page .firstSection {
    margin: 0 2rem;
  }

  #Co .page .sectionInner .mainInner {
    padding: 20rem 2rem;
  }

  #Co .page .firstSection .sectionInner .mainInner {
    padding: 6rem 5rem;
    max-width: 100%;
  }
}

/*========================================================================*\

$Co

\*========================================================================*/

#Co .page h2 {
  color: var(--font-color);
  font-size: var(--font_h2);
  font-weight: var(--font-bold);
  margin-bottom: 0 !important;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 1rem;
  margin: 0;
  position: relative;
  text-align: center;
  z-index: 10;
}

#Co .page h3 {
  margin-bottom: 2.5rem;
}

#Co .page h2.white,
#Co .page h3.white,
#Co .page h3.white .sub,
#Co .page p.white {
  color: #ffffff;
}

#Co h4 {
  font-size: var(--font_h4);
  font-weight: var(--font-bold);
  border-bottom: 1px solid rgba(204, 204, 204, 0.7);
  line-height: 1.6;
  margin: 3rem 0 2rem 0 !important;
  padding: 0 0 1rem 0;
  position: relative;
}

#Co h4::before {
  background: var(--primary-color);
  content: "";
  display: block;
  width: 20%;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
}

#Co h5 {
  color: var(--primary-color);
  font-size: var(--font_h5);
  font-weight: var(--font-bold);
  line-height: 1.4;
  margin: 0 0 1rem 0;
  padding: 0 0 0 2.8rem;
  position: relative;
}

#Co h5::before {
  background: #0099ff;
  content: "";
  display: inline-block;
  height: 2px;
  left: 0;
  margin: 0 8px 0 0;
  padding: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 12px;
}

#Co h6 {
  font-size: var(--font_h6);
  background-color: #f3f5f6;
  border-radius: 4px;
  border-radius: 25px 0 0 25px;
  line-height: 1.8;
  margin: 0 0 1rem 0;
  padding: 0.8rem 2.4rem;
}

#Co .page h6:before {
  color: white;
  content: "●";
  margin-right: 8px;
}

#Co .page .catch_b {
  font-size: var(--font-size_lg);
  color: var(--primary-color);
  font-weight: var(--font-bold);
}

#Co .page .readTxt {
  font-size: var(--font-size_lg);
  color: var(--primary-color);
  font-weight: var(--font-bold);
  text-align: center;
  background: rgba(25, 139, 231, 0.07);
}

#Co .page .readTxt {
  font-size: var(--font-size);
  color: var(--primary-color);
  font-weight: var(--font-bold);
  text-align: center;
  background: rgba(25, 139, 231, 0.07);
  padding: 1rem 0;
}

#Co .page .cf {
  color: #ffffff;
}

/*========================================================================*\

$contactArea

\*========================================================================*/

#Co .page .sectionInner .contactArea {
  z-index: 1000;
  padding: 6rem;
  margin: 5rem auto 0 auto;
  width: var(--max-width);
  background: #eff7fd;
  box-shadow: var(--box-shadow);
}

#Co .page .entrySection h2,
#Co .page .entrySection p {
  color: #ffffff;
}

#Co .page .sectionInner .contactArea .en,
#Co .page .entrySection .en {
  margin-bottom: 1rem !important;
}

#Co .page .sectionInner .contactArea p,
#Co .page .entrySection p {
  text-align: center;
  margin-bottom: 0;
}

#Co .page .sectionInner .contactArea .main_catch,
#Co .page .entrySection .main_catch {
  margin-bottom: 2rem !important;
}

#Co .page .sectionInner .contactArea .btnGroup {
  margin: 2rem auto;
}

#Co .page .sectionInner .contactArea .btnGroup ul li a {
  background: var(--color-white);
  color: var(--primary-color);
  font-size: var(--font-size_lm);
}

#Co .page .sectionInner .contactArea .btnGroup ul li.tel a:before {
  content: ""; /*何も入れない*/
  display: inline-block;
  width: 18px; /*画像の幅*/
  height: 18px; /*画像の高さ*/
  background-image: url(../images/ico_tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 0.6rem;
}

#Co .page .sectionInner .contactArea .btnGroup ul li.fax a:before {
  content: ""; /*何も入れない*/
  display: inline-block;
  width: 18px; /*画像の幅*/
  height: 18px; /*画像の高さ*/
  background-image: url(../images/ico_fax.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 0.6rem;
}

#Co .page .sectionInner .contactArea .btnGroup ul li.no a:before {
  content: none;
}

#Co .page .sectionInner .contactArea .btnGroup ul li a:after {
  border-right: solid 2px var(--primary-color);
  border-top: solid 2px var(--primary-color);
}

/*========================================================================*\

$anchorBox

\*========================================================================*/

#Co .page .anchorBox ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}

#Co .page .anchorBox ul li {
  position: relative;
  box-shadow: var(--box-shadow);
}

#Co .page .anchorBox ul li a {
  display: block;
  position: relative;
  background: #ffffff;
  border: 1px solid var(--primary-color);
  text-align: center;
  border-radius: 200px;
  padding: 1.2rem 0;
  color: var(--primary-color);
  font-weight: 700;
  text-decoration: none;
}

#Co .page .anchorBox ul li a:after {
  border-right: solid 2px var(--primary-color);
  border-top: solid 2px var(--primary-color);
  content: "";
  height: 8px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
  width: 8px;
}

#Co .page .anchorBox ul li a:hover {
  border: 1px solid var(--secondary-color);
  color: var(--secondary-color);
}

#Co .page .anchorBox ul li a:hover:after {
  border-right: solid 2px var(--secondary-color);
  border-top: solid 2px var(--secondary-color);
  right: 5px;
}

/*========================================================================*\

$commonBox

\*========================================================================*/

#Co .page .commonBox {
  z-index: 1000;
  padding: 8rem 6rem 6rem 6rem;
  margin: 5rem auto 0 auto;
  width: var(--max-width);
  background: var(--color-white);
  box-shadow: var(--box-shadow);
  position: relative;
}

#Co .page .commonBox .commonBoxInner {
  border-bottom: 1px dashed #198be7;
  padding-bottom: 5rem;
  margin-bottom: 5rem;
}

#Co .page .commonBox h3:first-child {
  margin: 0rem 0 3rem 0 !important;
}

#Co .page .commonBox.halfBox {
  padding: 0 !important;
  margin: 4rem auto 0 auto;
  background: transparent !important;
  box-shadow: none !important;
  box-shadow: none;
}

#Co .page .commonBox.halfBox .box02 {
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}

#Co .page .commonBox.halfBox .box02Inner {
  z-index: 1000;
  padding: 4rem 3rem;
  background: var(--color-white);
  box-shadow: var(--box-shadow);
  position: relative;
  width: 48.5%;
  margin-right: 1.5%;
  display: flex;
  flex-direction: column;
}

#Co .page .commonBox.halfBox .box02Inner h3:first-child {
  margin: 0 !important;
}

#Co .page .commonBox.halfBox .box02Inner:nth-child(n + 3) {
  margin: 4rem auto 0 auto;
}

#Co .page .commonBox.halfBox .box02Inner p.catch {
  margin-bottom: 0;
  border-top: 1px dashed #198be7;
  padding-top: 3rem;
}

#Co .page .commonBox.halfBox .box02Inner p.catch:first-of-type {
  border-top: none;
}

#Co .page .commonBox.halfBox .box02Inner:nth-child(odd) {
  margin-right: 1.5%;
  margin-left: 0;
}

#Co .page .commonBox.halfBox .box02Inner:nth-child(even) {
  margin-left: 1.5%;
  margin-right: 0;
}

@media only screen and (max-width: 1100px) {
  #Co .page .commonBox {
    width: 100%;
  }
}

/*========================================================================*\

$swiper

\*========================================================================*/

/* スライドの動き等速 */
.swiper-wrapper {
  transition-timing-function: linear;
}
/* 画像のサイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}

/*========================================================================*\

$companyPage

\*========================================================================*/

#Co #companyPage #greetingBox #greetingBoxL {
  width: 65%;
}

#Co #companyPage #greetingBox figure.human {
  position: absolute;
  right: 2rem;
  bottom: 0;
}

#Co #companyPage #greetingBox .name {
  line-height: 1.6;
  text-align: right;
}

/*---------------- basePage ----------------*/

#Co #companyPage #basePage .sectionInner .mainInner,
#Co #companyPage #basePage .commonBox {
  background: transparent;
  box-shadow: none;
  padding: 0;
}

#Co #companyPage #basePage .sectionInner .mainInner .box02Inner,
#Co #companyPage #basePage .commonBox .box02Inner {
  background: var(--color-white);
  box-shadow: var(--box-shadow);
  padding: 3rem;
}

#Co #companyPage #basePage .box02Inner figure {
  margin-bottom: 2rem;
}

#Co #companyPage #basePage .box02Inner .btnGroup,
#Co #companyPage #basePage .box02Inner .btn {
  margin: 0 auto !important;
  text-align: center;
}

#Co #companyPage #basePage .box02Inner .btnGroup {
  width: 100%;
}

#Co #companyPage #basePage .box02Inner .btnGroup a,
#Co #companyPage #basePage .box02Inner .btn a {
  font-size: 1.3rem;
  padding: 1.5rem;
}

/*========================================================================*\

$businessPage

\*========================================================================*/

#Co .page #serviceSection .commonBox {
  margin: 0 auto 10rem auto !important;
}

#Co .page #serviceSection .itemBox,
#Co .page #serviceSection .itemBox:nth-child(even) {
  padding: 0;
  margin: 0 auto 10rem auto !important;
  width: 100% !important;
}

#Co .page #serviceSection .itemBox:last-child {
  margin-bottom: 0 !important;
}

#Co .page #serviceSection .itemBox figure {
  width: 45%;
  margin: 0;
}

#Co .page #serviceSection .itemBox.reverse {
  padding: 0;
}

#Co .page #serviceSection .itemBox.reverse figure {
  margin: 0;
}

#Co .page #serviceSection .itemBox .itemBoxInner {
  width: 55%;
  padding: 0 4.5rem;
}

#Co .page #serviceSection .itemBox .itemBoxInner h3 {
  margin-top: 5rem !important;
  margin-bottom: 3rem !important;
}

#Co .page #serviceSection .itemBox.policyBox .itemBoxInner {
  width: 100%;
  padding: 4.5rem;
}

#Co .page #serviceSection .itemBox.policyBox .itemBoxInner h3 {
  border-left: none;
  border-image: none;
  position: relative;
  text-align: center;
  margin-bottom: 6rem !important;
  padding-left: 0 !important;
}

#Co .page #serviceSection .itemBox#a05 .itemBoxInner h3:before {
  position: absolute;
  bottom: -30px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: "";
  border-radius: 3px;
  background: var(--primary-color);
}

#Co .page #serviceSection .itemBox#a05 .itemBoxInner .nameBox {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 1rem !important;
}

#Co .page #serviceSection .itemBox#a05 .itemBoxInner .nameBox .name {
  font-size: 1.8rem;
  font-weight: bold;
  line-height: 1.8;
}

#Co .page #serviceSection .itemBox#a05 .itemBoxInner ol li {
  border-bottom: 1px dotted #cccccc;
  padding-bottom: 2rem;
  margin-bottom: 2rem;
}

#Co .page #serviceSection .itemBox#a05 .itemBoxInner ol {
  width: 80%;
  margin: 5rem auto;
}

#Co .page #serviceSection .itemBox .itemBoxInner .detailBox {
  background: rgba(25, 139, 231, 0.07);
  padding: 3rem;
  border-radius: 6px;
}

#Co .page #serviceSection .itemBox .itemBoxInner .detailBox h4 {
  margin: 0 0 1rem 0 !important;
  font-size: 1.6rem;
}

/*---------------- abroadpage ----------------*/

#Co .page.abroadpage .commonBox h4 {
  margin-top: 0 !important;
}

#Co .page.abroadpage .commonBox .box02Inner:nth-child(n + 3) {
  margin-top: 4rem !important;
}

#Co .page.abroadpage .commonBox .box03 li:nth-child(n + 4) {
  margin-top: 1rem !important;
}

#Co .page.abroadpage .swiper {
  margin-bottom: 3rem;
}

/*---------------- bbpage ----------------*/
#Co .page.bbpage .swiper {
  margin-bottom: 3rem;
}

/*---------------- bcpage ----------------*/

#Co .page.bcpage .commonBox ul.box02 {
  justify-content: space-between;
}

#Co .page.bcpage .commonBox.halfBox .box02Inner h3 {
  margin-bottom: 2rem !important;
}

#Co .page.bcpage .commonBox .box02Inner {
  overflow: hidden !important;
  position: relative;
}

#Co .page.bcpage .commonBox .box02Inner .btn {
  margin: 0 auto;
}

#Co .page.bcpage .snsBox {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  width: 40%;
  margin: 2rem auto 0 auto;
  position: absolute;
  top: 2rem;
  right: 2rem;
  z-index: 30;
}

#Co .page.bcpage .snsBox li {
  width: 18%;
  margin: 0 0.3rem !important;
  text-align: center;
  font-size: 1.2rem;
}

#Co .page.bcpage .snsBox li a {
  display: block;
  width: 100%;
  text-decoration: none;
}

/*---------------- fishingpage ----------------*/

#Co #businessPage .secondBox .box03Inner {
  text-decoration: none;
  display: flex;
  flex-direction: column;
  background: #ffffff;
}

#Co #businessPage .secondBox .detailBox {
  padding: 2rem;
}

#Co #businessPage .secondBox .detailBox h4 {
  margin: 0 0 1rem 0 !important;
}

#Co #businessPage .secondBox .detailBox p {
  font-size: 1.4rem;
  line-height: 2;
}

#Co #businessPage .moveBox {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10rem;
}

#Co #businessPage .moveBox h3 {
  font-size: 4rem;
  color: #ffffff;
  padding: 0 !important;
  border: none;
  margin-bottom: 3rem;
}

#Co #businessPage .moveBox h3 .extend:after {
  height: 3px;
}

#Co #businessPage .moveBox p {
  color: #ffffff;
}

#Co #businessPage .moveBox {
  overflow: hidden;
  position: relative;
}

#Co #businessPage .moveBox .loopBox {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  font-weight: 700;
  font-family: var(--english);
}

#Co #businessPage .moveBox .swiper-wrapper {
  transition: all 0.3s ease;
  -webkit-transition-timing-function: linear !important;
  -o-transition-timing-function: linear !important;
  transition-timing-function: linear !important;
}

#Co #businessPage .moveBox .swiper-wrapper .swiper-slide {
  font-size: 19.4rem;
  color: rgba(25, 139, 231, 0.1);
}

#Co #energyPage.fuelpage .mainInner {
  margin: 0 0 10rem 0 !important;
}

#Co #energyPage.fuelpage .point.box03 li:nth-child(n + 3),
#Co #energyPage.fuelpage .point.box03 li:nth-child(n + 4) {
  margin: 0 !important;
}

#Co #energyPage .logo_reforme {
  position: absolute;
  right: 50px;
  top: 50px;
}

@media only screen and (max-width: 767px) {
  #Co #energyPage.fuelpage .point.box03.half {
    display: flex !important;
  }

  #Co #energyPage.fuelpage .point.box03.half li {
    width: 48.5%;
  }

  #Co #energyPage .logo_reforme {
    position: absolute;
    right: 20px;
    top: 30px;
  }
}

#energyMain {
  background: transparent;
  display: block;
  height: 550px;
  position: relative;
}

#energyMain::before {
  background: rgba(0, 0, 0, 0.3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

#energyMain .swiper-container {
  position: relative;
}

#energyMain .swiper-slide {
  background-repeat: no-repeat;
  overflow: hidden;
  backface-visibility: hidden;
  width: 100%;
  height: 100vh;
  display: block;
}

#energyMain .titleBox {
  text-align: center;
  z-index: 1000;
  color: var(--color-white);
  line-height: 1.6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#energyMain h2 {
  font-size: 4.5rem;
  font-weight: var(--font-bold);
  letter-spacing: 0.5rem;
  margin-bottom: 0;
}

#energyMain .swiper-slide.main_01 {
  background: url(../business/energy/img/main_energy_01.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#energyMain .swiper-slide.main_02 {
  background: url(../business/energy/img/main_energy_02.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#energyMain .swiper-slide.main_03 {
  background: url(../business/energy/img/main_energy_03.jpg) no-repeat;
  background-position: bottom center;
  background-size: cover;
}

#energyMain.energyMainFuel {
  background: url(../business/energy/img/main_energy_03.jpg) no-repeat bottom
    center;
  background-size: cover;
  background-attachment: fixed;
}

#energyMain.energyMainGas {
  background: url(../business/energy/img/main_energy_01.jpg) no-repeat top
    center;
  background-size: cover;
  background-attachment: fixed;
}

#energyMain.energyMainSales {
  background: url(../business/energy/img/main_energy_04.jpg) no-repeat top
    center;
  background-size: cover;
  background-attachment: fixed;
}

/*---------------- fishingpage ----------------*/

#Co #businessPage.fishingPage .itemBox {
  padding: 5rem !important;
  display: block;
}

#Co #businessPage.fishingPage .itemBox .more_area {
  margin: 0 0 5rem auto;
  justify-content: flex-end;
}

#Co #businessPage.fishingPage .itemBoxArea {
  display: flex;
  justify-content: space-between;
}

#Co #businessPage.fishingPage .itemBox .itemBoxInner {
  padding: 0 !important;
  margin-right: 5rem;
  position: relative;
}

#Co #businessPage.fishingPage .itemBox .itemBoxInner h3 {
  margin-top: 0 !important;
}

#Co #businessPage.fishingPage .itemBox .itemBoxInner .detailBox li {
  font-size: 1.4rem;
  margin: 0rem;
}

/*---------------- shippingPage ----------------*/

#Co #businessPage.shippingPage .gridBox {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(2, 1fr);
  grid-column-gap: 0px;
  grid-row-gap: 0px;
  column-gap: 2rem;
  row-gap: 2rem;
}

#Co #businessPage.shippingPage .gridBox .Box_01 {
  grid-area: 1 / 1 / 3 / 3;
}
#Co #businessPage.shippingPage .gridBox .Box_02 {
  grid-area: 1 / 3 / 2 / 4;
}
#Co #businessPage.shippingPage .gridBox .Box_03 {
  grid-area: 1 / 4 / 2 / 5;
}
#Co #businessPage.shippingPage .gridBox .Box_04 {
  grid-area: 2 / 3 / 3 / 4;
}
#Co #businessPage.shippingPage .gridBox .Box_05 {
  grid-area: 2 / 4 / 3 / 5;
}

#Co #businessPage.shippingPage .shiire {
  color: #ff0008;
}

#Co #businessPage.shippingPage .seizou {
  color: #fff700;
}

#Co #businessPage.shippingPage .hanbai {
  color: #00c853;
}

/*---------------- bb_02page ----------------*/

#Co #businessPage.bb_02page .mainInner {
  margin-bottom: 10rem;
}

#Co #businessPage.bb_02page .box02Inner h4 {
  margin-top: 0 !important;
}

#Co #businessPage.bb_02page .box02Inner .box03 li {
  margin-top: 0 !important;
}

#Co #businessPage.bb_02page .box02Inner .box03 li:nth-child(n + 4) {
  margin-top: 0.5rem !important;
}

/*---------------- manufacturingpage ----------------*/

.manufacturingpage .mainInner {
  margin-bottom: 10rem;
}

.manufacturingpage .slider {
  margin-inline: auto;
  overflow: hidden;
}

.manufacturingpage .slick-img img {
  width: 100%;
}

@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1);
  }
}

.manufacturingpage .add-animation {
  animation: zoomUp 10s linear 0s normal both;
}

.manufacturingpage .slick-dotted.slick-slider {
  margin-bottom: 0;
}

.manufacturingpage .slick-dots,
.abroadpage .slick-dots {
  bottom: 15px;
}

.manufacturingpage .slick-dots li,
.abroadpage .slick-dots li {
  flex-shrink: 0;
  margin: 0;
  max-width: none !important;
  width: 20px !important;
  z-index: 3000;
}

.manufacturingpage .slick-dots li button:before,
.abroadpage .slick-dots li button:before {
  color: #ffffff;
  opacity: 0.75;
}

.manufacturingpage .slick-dots li.slick-active button:before,
.abroadpage .slick-dots li.slick-active button:before {
  color: #198be7;
  opacity: 1;
}

/*---------------- energyPage ----------------*/

#Co .page#energyPage .more_area {
  margin-top: 2rem;
}

#Co .page#energyPage .circle_btn {
  width: 320px;
}

#Co .page#energyPage .guideBox .box04Inner {
  background: #dbf3ff;
  border-radius: 10px;
  padding: 3rem 1rem;
  text-align: center;
}

#Co .page#energyPage .guideBox .box04Inner p {
  text-align: center;
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 700;
  margin-top: 1.5rem;
}

#Co .page#energyPage .guideBox .box04Inner .ms {
  font-size: 1.4rem;
}

#Co .page#energyPage .guideBox .box04Inner p .ss {
  font-size: 1.2rem;
  font-weight: 500;
  display: block;
}

#Co #energyPage .detailBox {
  background: rgba(25, 139, 231, 0.07);
  padding: 3rem;
  border-radius: 6px;
}

#Co #energyPage .detailBox figure.nayami {
  margin-bottom: 3rem;
  padding: 5rem 0;
  background: #def7f8;
}

#Co #energyPage .detailBox li {
  text-align: center;
  font-size: 1.4rem;
}

#Co #energyPage .nayamiBox h4 {
  background-color: var(--secondary-color);
  text-align: center;
  border: none;
  color: #ffffff;
  line-height: 1;
  padding: 2rem 0;
  margin: 0 !important;
}

#Co #energyPage .nayamiBox h4::before {
  content: none;
}

#Co #energyPage .nayamiBox .nayamiBoxInner {
  padding: 1rem 5rem 5rem 5rem;
  background: #ffffff;
}

#Co #energyPage .nayamiBox .nayamiBoxInner .btn a {
  font-size: 1.8rem;
}

#Co #energyPage .nayamiBox .nayamiBoxInner .btn a:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(../images/ico_tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 0.6rem;
}

#Co #energyPage .nayamiBox.paymentBox {
  margin: 3rem 0 0 0;
}

#Co #energyPage .nayamiBox.paymentBox .box02 {
  align-items: center;
}

#Co #energyPage .nayamiBox.paymentBox .box02Inner {
  width: 82%;
}

#Co #energyPage .nayamiBox.paymentBox .box02Inner:first-child {
  width: 15%;
  border-radius: 10px;
  background: #00c0ff;
}

#Co #energyPage .nayamiBox.paymentBox .second .box02Inner:first-child {
  background: #00bf63;
}

#Co #energyPage .nayamiBox.paymentBox .last .box02Inner:first-child {
  background: #7030a0;
}

#Co #energyPage .nayamiBox.paymentBox .box02Inner h5 {
  margin: 0 !important;
  padding: 2rem;
  text-align: center;
  color: #ffffff;
}

#Co #energyPage .nayamiBox.paymentBox .box02Inner h5::before {
  content: none;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner {
  padding: 5rem 5rem 0 5rem;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner .tbl {
  table-layout: fixed;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner.gasBox {
  padding-bottom: 5rem;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner.gasBox .box03 {
  margin-top: 3rem;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner.gasBox h5 {
  margin-top: 2rem !important;
}

#Co #energyPage .nayamiBox.paymentBox .nayamiBoxInner.gasBox .box03Inner p {
  line-height: 1.6;
}

#Co #energyPage .nayamiBox.flowBox:nth-child(n + 2) {
  margin-top: 3rem;
}

#Co #energyPage .nayamiBox.flowBox h4 {
  margin-bottom: 3rem !important;
}

#Co #energyPage .nayamiBox.flowBox h4.mb0 {
  margin-bottom: 0 !important;
}

#Co #energyPage .nayamiBox .nayamiBoxInner .timelineBox h5::before {
  content: none;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner {
  padding: 5rem 5rem 0 5rem;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner h5,
#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner p,
#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner li {
  text-align: left;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner .timelineInner {
  padding: 0 0 4rem 8rem;
  position: relative;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner .sub {
  font-size: 1.4rem;
  margin-bottom: 0 !important;
  color: var(--primary-color);
  line-height: 1;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner h5 {
  padding: 0 !important;
  margin: 0 0 2rem 0 !important;
  color: var(--primary-color);
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner .timelineInner p {
  margin: 0 0 1rem 0 !important;
}

#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner .mb0,
#Co #energyPage .nayamiBox.flowBox .nayamiBoxInner .timelineInner .mb0 {
  margin: 0 !important;
  padding: 0 !important;
}

#Co #energyPage .nayamiBox.flowBox .btn a {
  background: #ffffff;
  font-size: 1.6rem;
}

#Co #energyPage .nayamiBox.flowBox .btn a:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(../images/ico_tel.png);
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin-right: 0.6rem;
}

#Co #energyPage .border-line {
  left: 1.7em;
}

#Co #energyPage .timelineArea li::after {
  height: 50px;
  width: 50px;
}

#Co #energyPage .timelineArea .point {
  margin-bottom: 0;
  padding-left: 2rem;
}

#Co #energyPage .timelineArea .point li {
  padding-bottom: 0;
  font-size: 1.6rem;
}

#Co #energyPage .timelineArea .box02 li:nth-child(n + 3) {
  margin-top: 0;
}

#Co #energyPage .timelineArea .point li::after {
  content: none;
}

#Co #energyPage .timelineArea .stepnumber {
  position: absolute;
  top: 5px;
  left: 15px;
  color: #ffffff;
  z-index: 10;
  font-size: 2rem;
  font-weight: 700;
  font-family: var(--english);
}

#Co #energyPage .faqArea .nayamiBoxInner {
  padding: 5rem;
}

#Co #energyPage .faq {
  padding-bottom: 3rem;
  margin-bottom: 3rem;
  border-bottom: 1px solid #cccccc;
}

#Co #energyPage .faq .box02Inner {
  width: 65%;
}

#Co #energyPage .faq .box02Inner:last-child {
  width: 30%;
}

#Co #energyPage .faq:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

#Co #energyPage .faq h5 {
  margin-top: 0 !important;
  color: var(--secondary-color);
}

#Co #energyPage .faq li {
  width: 100%;
  font-size: 1.6rem;
  text-align: left;
}

#Co #energyPage .faq li:nth-child(n + 2) {
  margin-top: 0 !important;
}

#Co #energyPage.salespage .detailBox:nth-child(n + 2) {
  margin-top: 5rem !important;
}

#Co #energyPage.salespage .detailBox h4 {
  margin-top: 0 !important;
}

#Co #energyPage.salespage .detailBox .sliderInner .box02 {
  margin-top: 0 !important;
  justify-content: center;
  align-items: center;
}

#Co #energyPage.salespage .detailBox .sliderInner .box02 li:first-child {
  margin-right: 20px;
}

#Co #energyPage.salespage .detailBox .sliderInner .box02 li {
  width: calc(100% / 3.15);
}

#Co #energyPage.salespage .commonBox {
  margin-top: 10rem !important;
}

#Co .page .contactArea .titleBox {
  position: relative;
}

#Co .page .contactArea .snsBox {
  display: flex;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 100;
}

#Co .page .contactArea .snsBox li {
  margin-right: 1rem;
}

#Co .page .contactArea .snsBox li:last-child {
  margin-right: 0;
}

#Co .page #serviceSection .itemBox.snsArea .itemBoxInner {
  width: 80%;
  padding: 0 4.5rem 4.5rem 4.5rem;
  margin: 0 auto;
}

/*---------------- seafoodPage ----------------*/

/*---------------- seafoodPage ----------------*/
#seafoodMain {
  background: transparent;
  display: block;
  height: 550px;
  z-index: -1;
  position: relative;
}

#seafoodMain::before {
  background: rgba(0, 0, 0, 0.3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

#seafoodMain .swiper-container {
  position: relative;
}

#seafoodMain .swiper-slide {
  background-repeat: no-repeat;
  overflow: hidden;
  backface-visibility: hidden;
  width: 100%;
  height: 100vh;
  display: block;
}

#seafoodMain .titleBox {
  text-align: center;
  z-index: 1000;
  color: var(--color-white);
  line-height: 1.6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#seafoodMain h2 {
  font-size: 4.5rem;
  font-weight: var(--font-bold);
  letter-spacing: 0.5rem;
  margin-bottom: 0;
}

#seafoodMain .swiper-slide.main_01 {
  background: url(../business/seafood/img/main_seafood_01.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#seafoodMain .swiper-slide.main_02 {
  background: url(../business/seafood/img/main_seafood_02.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#seafoodMain .swiper-slide.main_03 {
  background: url(../business/seafood/img/main_seafood_03.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#seafoodMain .swiper-slide.main_04 {
  background: url(../business/seafood/img/main_seafood_04.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#seafoodMain .swiper-slide.main_05 {
  background: url(../business/seafood/img/main_seafood_05.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

/*========================================================================*\

$newsPage

\*========================================================================*/

#Co #newsPage .btnGroup {
  margin: 0 auto 5rem auto !important;
}

#Co #newsPage .sectionInner .newsBoxInner {
  text-decoration: none;
}

#Co #newsPage .sectionInner .newsBoxInner:hover h4 {
  color: var(--primary-color);
}

#Co #newsPage .sectionInner .detailBox .day {
  font-size: var(--font-size_m);
  margin-bottom: 0;
  font-weight: 700;
  color: var(--primary-color);
}

#Co #newsPage .sectionInner .detailBox h4 {
  font-size: var(--font-size);
  font-weight: var(--font-bold);
  line-height: 1.6;
  font-weight: 400;
  margin: 0 0 2rem 0 !important;
  padding: 0 0 2rem 0 !important;
}

#Co #newsPage .sectionInner .detailBox h4::before {
  content: none;
}

#Co #newsPage .detailSection .subBox {
  margin-bottom: 1rem;
}

#Co #newsPage .detailSection h3 {
  padding: 0 0 1rem 1.5rem;
}

/*========================================================================*\

$contactPage

\*========================================================================*/

#Co .page#contactPage th {
  width: 30%;
}

#Co .page#contactPage .contactBoxInner {
  background: rgba(25, 139, 231, 0.07);
  padding: 3rem 3rem 2rem 3rem;
  border-radius: 6px;
}

#Co .page#contactPage .contactBox {
  font-size: var(--font-size);
  margin: 0 0 5rem 0 !important;
}

#Co .page#contactPage .contactBox h4 {
  font-size: var(--font-size_lm);
  margin: 0 0 1rem 0 !important;
}

#Co .page .contactBox .contactBoxInner ul {
  margin: 0;
}

#Co .page .contactBox .contactBoxInner li {
  width: 100%;
  position: relative;
  padding-left: 3.2rem;
  font-weight: 700;
  line-height: 1.6;
}

#Co .page .contactBox .contactBoxInner li a {
  text-decoration: none;
}

#Co .page .contactBox .contactBoxInner li a .number {
  font-family: var(--english);
  font-weight: 900;
  font-size: 2rem;
}

#Co .page .contactBox .contactBoxInner li a .ss {
  font-size: 1.2rem;
}

#Co .page .contactBox .contactBoxInner li:before {
  background-image: url(../images/ico_tel.png);
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  display: inline-block;
  height: 24px;
  left: 0;
  position: absolute;
  top: 16%;
  vertical-align: middle;
  width: 24px;
}

/*========================================================================*\

$recruitPage

\*========================================================================*/

#recruitMain {
  background: transparent;
  display: block;
  height: 550px;
  position: relative;
}

#recruitMain::before {
  background: rgba(0, 0, 0, 0.3);
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 2;
}

#recruitMain .swiper-container {
  position: relative;
}

#recruitMain .swiper-slide {
  background-repeat: no-repeat;
  overflow: hidden;
  backface-visibility: hidden;
  width: 100%;
  height: 100vh;
  display: block;
}

#recruitMain .titleBox {
  text-align: center;
  z-index: 1000;
  color: var(--color-white);
  line-height: 1.6;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  margin: auto;
}

#recruitMain h2 {
  font-size: 4.5rem;
  font-weight: var(--font-bold);
  letter-spacing: 0.5rem;
  margin-bottom: 0;
}

#recruitMain .swiper-slide.main_01 {
  background: url(../recruit/img/main_recruit_01.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#recruitMain .swiper-slide.main_02 {
  background: url(../recruit/img/main_recruit_02.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#recruitMain .swiper-slide.main_03 {
  background: url(../recruit/img/main_recruit_03.jpg) no-repeat;
  background-position: top center;
  background-size: cover;
}

#Co #recruitPage #recruitArea h2 {
  margin-bottom: 0rem !important;
  font-size: 3.6rem;
  letter-spacing: 0;
}

#Co #recruitPage .en {
  text-align: center;
  color: var(--secondary-color);
}

#Co #recruitPage .box03Inner {
  background: var(--color-white);
  box-shadow: var(--box-shadow);
  padding: 3rem;
  display: flex;
  flex-direction: column;
}

#Co #recruitPage .box03Inner h3 {
  margin: 3rem 0 1rem 0 !important;
  padding: 1rem 0 1rem 1.5rem;
  font-size: 2.2rem;
}

#Co #recruitPage .box03Inner .btn {
  margin: 5rem auto 0 auto;
  width: 100%;
  margin-top: auto;
}

#Co #recruitPage .box03Inner .btn a {
  padding: 1.5rem 1rem;
}

#Co #recruitPage .bannerBox {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #e3e3e3;
  padding: 2rem 2rem 2rem 5rem;
  text-decoration: none;
  width: 100%;
  border-radius: 6px;
  margin-bottom: 3rem;
}

#Co #recruitPage .bannerBox h4 {
  border: none;
  margin: 0 0 1.5rem 0 !important;
  padding: 0 !important;
  line-height: 0.9;
  font-size: 3rem;
}

#Co #recruitPage .bannerBox .btn {
  margin: 0 !important;
  width: 80%;
}

#Co #recruitPage .bannerBox .btn a {
  font-size: 1.4rem;
  padding: 1.5rem 1rem;
}

#Co #recruitPage .bannerBox h4 .ss {
  font-size: 1.2rem;
  color: var(--secondary-color);
}

#Co #recruitPage .bannerBox h4::before {
  content: none;
}

#Co #recruitPage .snsBox li a,
#Co #energyPage .snsArea .snsBox li a {
  width: 100%;
  text-decoration: none;
  font-weight: 700;
  border: 1px solid #e3e3e3;
  border-radius: 6px;
  line-height: 1;
  padding: 2rem;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  position: relative;
}

#Co #recruitPage .snsBox li a:after,
#Co #energyPage .snsArea .snsBox li a:after {
  border-right: solid 2px var(--primary-color);
  border-top: solid 2px var(--primary-color);
  content: "";
  height: 8px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  transition: 0.3s;
  width: 8px;
}

#Co #recruitPage .snsBox li a:before,
#Co #energyPage .snsArea .snsBox li a:before {
  content: ""; /*何も入れない*/
  display: inline-block;
  width: 40px !important; /*画像の幅*/
  height: 40px !important; /*画像の高さ*/
  background-image: url(../images/ico_instagram.png);
  background-size: contain;
  margin-right: 2rem;
  background-repeat: no-repeat;
  vertical-align: middle;
}

#Co #recruitPage .snsBox li:nth-child(2) a:before,
#Co #energyPage .snsArea .snsBox li:nth-child(2) a:before {
  background-image: url(../images/ico_x.png);
}

#Co #recruitPage .snsBox li:nth-child(3) a:before,
#Co #energyPage .snsArea .snsBox li:nth-child(3) a:before {
  background-image: url(../images/ico_facebook.png) !important;
}

#Co #recruitPage #recruitArea .btnGroup {
  margin-bottom: 0;
}

#Co #recruitPage #recruitArea .btnGroup a {
  background: var(--color-white);
}

.gallerySection .swiper {
  position: relative;
}

.gallerySection .swiper-container-horizontal > .swiper-pagination-progressbar,
.gallerySection
  .swiper-container-vertical
  > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  bottom: -20px !important;
  top: auto !important;
}

.gallerySection .swiper-button-prev,
.gallerySection .swiper-button-next {
  height: 50px;
  width: 50px;
  background: transparent;
  right: 0;
  top: -70px;
  left: auto;
}

.gallerySection .swiper-button-prev {
  right: 60px;
}
/* 矢印を消す、画像に変更 */
.gallerySection .swiper-button-prev:after,
.gallerySection .swiper-button-next:after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 50px;
  width: 50px;
  margin: auto;
  display: block;
}
/* 前に戻る画像パス */
.gallerySection .swiper-button-prev:after {
  background-image: url(../recruit/img/arrow_prev.png);
}
/* 次に進む画像パス */
.gallerySection .swiper-button-next:after {
  background-image: url(../recruit/img/arrow_next.png);
}

#Co #recruitPage .entrySection .btn a {
  background: var(--secondary-color);
  color: #ffffff;
}

#Co #recruitPage .entrySection .btn a:after {
  border-right: solid 2px #ffffff;
  border-top: solid 2px #ffffff;
}

/*========================================================================*\

$internshipPage

\*========================================================================*/

#Co #internshipPage .mainInner,
#Co #internshipPage .commonBox {
  padding: 0;
  margin-bottom: 3rem;
  margin-top: 0;
}

#Co #internshipPage .wideSection {
  margin-top: 10rem !important;
}

#Co #internshipPage .wideSection .commonBox {
  background: #f5f5f5;
  box-shadow: none;
}

#Co #internshipPage .wideSection .commonBox h5 {
  margin-bottom: 1rem !important;
}

#Co #internshipPage .commonBox .internshipInner,
#Co #internshipPage .internshipBox .internshipInner {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-decoration: none;
  margin: 0;
  padding: 4rem 3rem;
  width: 100%;
}

#Co #internshipPage .commonBox a.internshipInner:hover,
#Co #internshipPage .internshipBox a.internshipInner:hover {
  opacity: 0.7;
}

#Co #internshipPage .internshipBox .internshipInner figure {
  width: 22%;
}

#Co #internshipPage .internshipBox .internshipInner .itemBox {
  width: calc(100% - 25%);
}

#Co #internshipPage .internshipBox h4,
#Co #internshipPage .internshipBox h5 {
  margin: 0 !important;
  padding: 0;
}

#Co #internshipPage .internshipBox h4 {
  font-size: 1.7rem;
  margin-bottom: 2rem !important;
  padding-bottom: 2rem;
}

#Co #internshipPage .internshipBox p {
  font-size: 1.4rem;
  margin: 0 !important;
  line-height: 1.6;
}

#Co #internshipPage .internshipBox ul {
  display: flex;
  flex-wrap: wrap;
  margin: 1rem 0 0 0 !important;
}

#Co #internshipPage .internshipBox li {
  font-size: 1.4rem;
  margin: 0 !important;
  line-height: 1.6;
  margin-right: 2rem !important;
}

#Co #internshipPage .internshipBox h5 {
  font-size: 1.4rem;
  text-align: right;
}

#Co #internshipPage .internshipBox h5::before {
  content: none;
}

/*========================================================================*\

$crabPage

\*========================================================================*/

#crabmain {
  position: relative;
  width: 100%;
  background-color: #113961;
  z-index: -1;
}

#crabmain .mainInner {
  width: 100%;
  display: flex;
}

#crabmain .mainInner .titleBox {
  width: 90%;
  z-index: 100;
  margin: 0 auto;
}

#crabmain .mainInner .titleBox .titleBoxInner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: row-reverse;
  padding: 20rem 0 5rem 0;
}

#crabmain .mainInner .titleBox h2 {
  font-weight: 700;
  width: 50%;
  font-size: clamp(2.8rem, -0.844rem + 7.6vw, 5rem) !important;
  color: #ffffff;
  line-height: 1.2;
  font-family: var(--serif);
  font-weight: 700;
  margin-left: 10rem;
}

#crabmain .mainInner .titleBox h2 .en {
  font-size: clamp(2.2rem, -1.61rem + 7.95vw, 4.5rem) !important;
  font-family: "Cormorant Garamond", serif;
}

@media screen and (max-width: 1230px) {
  #crabmain .mainInner .titleBox {
    width: 92%;
  }

  #crabmain .mainInner .titleBox .titleBoxInner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: row-reverse;
    padding: 20rem 0 5rem 0;
  }

  #crabmain .mainInner .titleBox h2 {
    margin-left: 0;
  }
}

@media screen and (max-width: 900px) {
  #crabmain .mainInner .titleBox .titleBoxInner {
    padding: 10rem 0 0 0;
  }
}

#crabmain .mainInner .titleBox figure {
  width: 45%;
  max-width: 800px;
  position: relative;
}

#Co #crabPage .crabBox {
  margin-top: 8rem;
}

#Co #crabPage .crabBox .crabBoxInner {
  background: #ffffff;
  padding: 5rem;
}

#Co #crabPage .crabBox .crabBoxInner .graph {
  background: #113961;
  padding: 5rem;
}

#Co #crabPage .crabBox:first-child {
  margin-top: 0;
}

#Co #crabPage .crabBox h3 {
  font-size: 3.2rem;
  border: none;
  border-image: none;
  position: relative;
  padding: 0;
  margin-bottom: 5rem;
  border-bottom: 1px solid #a98446;
  padding: 0 0 3rem 6.5rem;
}

#Co #crabPage .crabBox .catch {
  font-size: 2.6rem;
  text-align: center;
  margin-bottom: 8rem;
  color: #ffffff;
}

#Co #crabPage .crabBox .extend {
  color: #a98446;
}

#Co #crabPage .crabBox .extend:after {
  background: #a98446;
  height: 1px;
}

#Co #crabPage .crabBox .extend.Active:after {
  width: 100% !important;
}

#Co #crabPage .crabBox.firstBox p {
  color: #ffffff;
}

#Co #crabPage .crabBox th,
#Co #crabPage .crabBox td {
  font-size: 1.6rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  padding: 2rem 0;
}

#Co #crabPage .crabBox .btnGroup li a:after {
  border-right: solid 2px #113961;
  border-top: solid 2px #113961;
}

#Co #crabPage .crabBox h2 {
  font-size: 4rem;
  color: #ffffff;
}

#Co #crabPage .wideSection {
  background: url(../crab/img/bg_crab.jpg) no-repeat 0 0;
  padding: 12rem 0;
  margin-bottom: 15rem !important;
}

#Co #crabPage .crabBox .num {
  color: #ffffff;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  line-height: 50px;
  text-align: center;
  position: absolute;
  left: 0;
  top: -8px;
  background: #a98446;
}

#Co #crabPage .crabBox h4 {
  border-left: 3px solid #a98446;
  font-size: 2.4rem;
  border-bottom: none;
  padding: 0 0 0 1.5rem;
  margin-bottom: 3rem !important;
}

#Co #crabPage .crabBox h4::before {
  content: none;
}

#Co #crabPage .crabBox.bookBox .box02Inner:first-child {
  width: 20%;
}

#Co #crabPage .crabBox.bookBox .box02Inner:last-child {
  width: 75%;
}

#crabmain.crabmain_02 {
  position: relative;
  background-color: #ffffff;
  width: 90%;
  min-height: 85vh;
  z-index: 0;
  margin: 0 auto;
}

#crabmain.crabmain_02 .mainInner {
  width: 100%;
  display: block;
}

#crabmain.crabmain_02 .mainInner .titleBox {
  width: 100%;
}

#crabmain.crabmain_02 .mainInner .titleBox .titleBoxInner {
  min-height: 85vh;
  display: flex;
  align-items: flex-end;
  justify-content: left;
  flex-direction: row;
}

#crabmain.crabmain_02 .mainInner .titleBox h2 {
  font-weight: 700;
  font-size: clamp(2.8rem, -3.419rem + 12.97vw, 5.5rem) !important;
  line-height: 1;
  margin-top: 3rem;
  text-align: right;
  color: var(--font-color);
  width: 50%;
  font-family: var(--serif);
  font-weight: 700;
  padding-bottom: 5rem;
}

#crabmain.crabmain_02 .mainInner .titleBox h2 .en {
  font-size: clamp(2.2rem, -1.946rem + 8.65vw, 4rem) !important;
  font-style: italic;
  font-family: "Cormorant Garamond", serif;
}

#crabmain.crabmain_02 .mainInner .titleBox figure {
  max-width: 900px;
  padding: 0 0 20px 20px;
  width: auto;
  width: 50%;
}

@media screen and (max-width: 1230px) {
  #crabmain.crabmain_02 .mainInner .titleBox .titleBoxInner {
    display: block;
  }

  #crabmain.crabmain_02 .mainInner .titleBox h2 {
    width: 100%;
  }

  #crabmain.crabmain_02 .mainInner .titleBox figure {
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #crabmain.crabmain_02 {
    width: 100%;
    min-height: auto;
  }

  #crabmain.crabmain_02 .mainInner {
    width: 100%;
    display: block;
    padding: 10rem 0 3rem 0;
  }

  #crabmain.crabmain_02 .mainInner .titleBox {
    width: 100%;
  }

  #crabmain.crabmain_02 .mainInner .titleBox .titleBoxInner {
    min-height: auto;
  }

  #crabmain.crabmain_02 .mainInner .titleBox h2 {
    margin-top: 0;
    padding-bottom: 0;
  }
}

.odometer .odometer-inside .odometer-formatting-mark {
  display: none !important;
}
