@charset "UTF-8";
/*====================================

  共通設定

==================================== */
* {
  font-size: 1.4rem;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: normal;
  color: #4C4C4C;
  letter-spacing: 2px;
  line-height: 1.5;
}

html {
  margin: 0 !important;
}

body {
  margin: 0;
  padding: 0;
}

img {
  max-width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}

h1,
h2,
h3,
h4 {
  letter-spacing: 2px;
  margin: 0;
  line-height: 1.5;
}
h1 span,
h2 span,
h3 span,
h4 span {
  font-weight: bold;
}

h1 {
  font-weight: bold;
  font-size: 1.8rem;
}
h1 span {
  font-size: 1.8rem;
}

h2 {
  font-weight: bold;
  font-size: 1.6rem;
}
h2 span {
  font-size: 1.6rem;
}

h3 {
  font-weight: bold;
  font-size: 1.6rem;
}
h3 span {
  font-size: 1.6rem;
}

h4 {
  font-size: 1.4rem;
  font-weight: normal;
  color: #fff;
  background: #F72916;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 4px 8px;
  margin-bottom: 8px;
}
h4 span {
  font-size: 1.4rem;
}

.accent_txt {
  font-weight: bold;
}
.accent_txt span {
  font-weight: bold;
}

.accent_center {
  text-align: center;
}

.indent_txt {
  padding-left: 1em;
  text-indent: -1em;
}

span.main-color {
  color: #F72916;
}

span.number {
  color: #F72916;
  font-size: 2rem;
}

p {
  margin: 0;
}

ul {
  margin: 0;
  list-style: none;
}

a,
a:hover {
  text-decoration: none;
}

summary::-webkit-details-marker {
  display: none;
}

.view_sp {
  display: block;
}

.view_pc {
  display: none;
}

@media screen and (min-width: 768px) {
  * {
    font-size: 1.6rem;
  }
  h1 {
    font-size: 3.2rem;
  }
  h1 span {
    font-size: 3.2rem;
  }
  h2 {
    font-size: 2.8rem;
  }
  h2 span {
    font-size: 2.8rem;
  }
  h3 {
    font-size: 2.4rem;
  }
  h3 span {
    font-size: 2.4rem;
  }
  h4 {
    font-size: 1.6rem;
  }
  h4 span {
    font-size: 1.6rem;
  }
  span.number {
    font-size: 2.4rem;
  }
  .view_sp {
    display: none;
  }
  .view_pc {
    display: block;
  }
}
/*-------------------------
  セクション
-------------------------*/
section {
  padding: 0 5% 40px;
}

.sec_ttl {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-align: center;
  margin: 0 auto 32px;
  padding-bottom: 4px;
  border-bottom: 4px solid;
  border-image-source: linear-gradient(to left, rgb(247, 41, 22), rgba(247, 41, 22, 0.2));
  border-image-slice: 1;
}

.sub_sec_ttl {
  margin-bottom: 8px;
  padding-left: 1.5em;
  text-indent: -1.5em;
}

@media screen and (min-width: 768px) {
  section {
    padding: 0 10% 120px;
  }
  .sec_ttl {
    margin-bottom: 40px;
  }
  .sub_sec_ttl {
    margin-bottom: 24px;
  }
}
/*-------------------------
  ボタン
-------------------------*/
.more-view {
  position: relative;
  border: solid 1px #4C4C4C;
  background: #4C4C4C;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 34px 8px 16px;
}
.more-view a {
  color: #fff;
}
.more-view a::after {
  content: "";
  position: absolute;
  transition: transform 0.5s;
  width: 10px;
  height: 10px;
  top: 38%;
  right: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
.more-view a:hover {
  text-decoration: none;
  color: #fff;
}

/*====================================

  header.php 

==================================== */
/*-------------------------
  グローバルナビゲーション
-------------------------*/
#header-wrapper .header_wrap {
  overflow: hidden;
}
#header-wrapper .header_wrap .header_contain {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px 0;
  padding: 24px 5%;
  width: 100%;
}
#header-wrapper .header_wrap .header_contain .logo {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: 24px;
}
#header-wrapper .header_wrap .header_contain .logo a {
  width: 100%;
}
#header-wrapper .header_wrap .header_contain .logo a img {
  height: 45px;
}

@media screen and (min-width: 768px) {
  #header-wrapper .header_wrap .header_contain .logo a img {
    height: 60px;
  }
}
/*-------------------------
  MV(トップページのみ)
-------------------------*/
#header-wrapper .mv_wrap {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  margin-bottom: 40px;
}
#header-wrapper .mv_wrap #metaslider_91 {
  width: 100%;
  margin: 0 auto;
}
#header-wrapper .mv_wrap #metaslider_91 img.slider-91 {
  position: relative;
  width: 100%;
  height: 200px !important;
}
#header-wrapper .mv_wrap h1 {
  position: absolute;
  letter-spacing: normal;
  font-weight: normal;
  top: 60%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: inherit;
  text-align: center;
  font-size: 15px;
  text-shadow: 0 1px 5px rgb(34, 34, 34);
  color: #fff;
}
#header-wrapper .mv_wrap h1 span {
  color: #fff;
  font-size: 3.3rem;
  font-weight: bold;
}
#header-wrapper .mv_wrap h1 span span {
  color: #F72916;
  font-size: 3.3rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  #header-wrapper .mv_wrap {
    margin-bottom: 120px;
  }
  #header-wrapper .mv_wrap #metaslider_91 img.slider-91 {
    height: 700px !important;
  }
  #header-wrapper .mv_wrap h1 {
    font-size: 3rem;
    top: 50%;
  }
  #header-wrapper .mv_wrap h1 span {
    font-size: 5rem;
  }
  #header-wrapper .mv_wrap h1 span span {
    font-size: 5rem;
  }
}
/*---------------------------------------
  ページヘッダー（トップページ以外のページ）
---------------------------------------*/
#header-wrapper .page_header {
  display: block;
  border-bottom: 1px solid #D0D0D0;
  width: 90%;
  margin: 16px auto;
}
#header-wrapper .page_header h1 {
  position: relative;
  display: inline-block;
  padding-left: 38px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  flex-wrap: wrap;
  font-size: 1.4rem;
  margin-bottom: 8px;
}
#header-wrapper .page_header h1::before {
  content: "";
  top: 50%;
  left: 0;
  position: absolute;
  height: 4px;
  width: 30px;
  background: linear-gradient(to right, rgb(247, 41, 22), rgba(247, 41, 22, 0.2));
}
#header-wrapper .page_header h1 span {
  margin-right: 16px;
}

@media screen and (min-width: 768px) {
  #header-wrapper .page_header {
    width: 80%;
  }
  #header-wrapper .page_header h1 {
    padding-top: 40px;
    margin-bottom: 16px;
  }
  #header-wrapper .page_header h1::before {
    top: calc(50% + 20px);
  }
}
/*-------------------------
  パンくずリスト
-------------------------*/
#header-wrapper .breadcrumbs {
  margin: 0 5% 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px 0;
  flex-wrap: wrap;
}
#header-wrapper .breadcrumbs .bcn-sep {
  position: relative;
  display: inline-block;
  width: 8px;
  height: 16px;
  margin: 0 8px;
}
#header-wrapper .breadcrumbs .bcn-sep::after {
  content: "";
  position: absolute;
  width: 8px;
  height: 8px;
  left: -3px;
  bottom: 3px;
  border-top: 1px solid #4C4C4C;
  border-right: 1px solid #4C4C4C;
  transform: rotate(45deg);
}
#header-wrapper .breadcrumbs span {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  word-break: keep-all;
}
#header-wrapper .breadcrumbs span:last-of-type .current-item span {
  color: #F72916;
  word-break: normal;
}

@media screen and (min-width: 768px) {
  #header-wrapper .breadcrumbs {
    margin: 0 10% 80px;
  }
}
/*====================================

  footer.php 

==================================== */
#footer-wrapper {
  background: #000;
}

@media screen and (min-width: 768px) {
  #footer-wrapper {
    background: #fff;
  }
}
/*-------------------------
  メニュー
-------------------------*/
#footer-wrapper .footer_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  padding: 24px 0;
  background-image: url(img/footer_bg.jpg);
}
#footer-wrapper .footer_wrap .footer_contain {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  flex-direction: column;
  margin: 0 auto;
}
#footer-wrapper .footer_wrap .footer_contain .company_about {
  margin-bottom: 16px;
}
#footer-wrapper .footer_wrap .footer_contain .company_about .company_name {
  margin-bottom: 8px;
  font-size: 1.8rem;
}
#footer-wrapper .footer_wrap .footer_contain .company_about p {
  color: #fff;
  text-align: center;
}
#footer-wrapper .footer_wrap .footer_contain ul {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  padding: 0;
  gap: 8px 0;
}
#footer-wrapper .footer_wrap .footer_contain ul li {
  padding: 0 8px 0;
  border-right: 1px #fff dashed;
}
#footer-wrapper .footer_wrap .footer_contain ul li:first-child {
  padding-left: 0;
}
#footer-wrapper .footer_wrap .footer_contain ul li:last-child {
  border-right: 0;
  padding-right: 0;
}
#footer-wrapper .footer_wrap .footer_contain ul li a {
  color: #fff;
}
#footer-wrapper .footer_wrap .footer_contain ul li a:hover {
  opacity: 0.5;
}

@media screen and (min-width: 768px) {
  #footer-wrapper .footer_wrap {
    padding: 40px 0;
  }
  #footer-wrapper .footer_wrap .footer_contain {
    flex-direction: row;
    align-items: flex-start;
    justify-content: space-between;
    width: 80%;
    gap: 24px 0;
  }
  #footer-wrapper .footer_wrap .footer_contain .company_about {
    margin-bottom: 0;
  }
  #footer-wrapper .footer_wrap .footer_contain .company_about .company_name {
    font-size: 2.8rem;
  }
  #footer-wrapper .footer_wrap .footer_contain .company_about p {
    text-align: left;
  }
}
/*-------------------------
  コピーライト
-------------------------*/
#footer-wrapper .footer_copy {
  font-size: 1.2rem;
  text-align: center;
  padding: 16px 0;
}
#footer-wrapper .footer_copy small {
  letter-spacing: normal;
  color: #fff;
}
@media screen and (min-width: 768px) {
  #footer-wrapper .footer_copy {
    padding: 4px 0;
  }
  #footer-wrapper .footer_copy small {
    color: #4C4C4C;
  }
}

/*====================================

  page-home.php 

==================================== */
/*-------------------------------
  イントロ
-------------------------------*/
#home-wrapper section.intro .intro_wrap {
  margin-bottom: 40px;
}
#home-wrapper section.intro .intro_wrap:last-child {
  margin-bottom: 0;
}
#home-wrapper section.intro .intro_wrap h2 {
  margin-bottom: 16px;
}
#home-wrapper section.intro .intro_wrap p {
  margin-bottom: 16px;
  text-align: center;
}
#home-wrapper section.intro .intro_wrap .more-view {
  margin: 0 auto;
}
#home-wrapper section.intro .intro_wrap .intro_contain {
  margin-bottom: 24px;
}
#home-wrapper section.intro .intro_wrap .intro_contain:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #home-wrapper section.intro .intro_wrap {
    margin-bottom: 80px;
  }
  #home-wrapper section.intro .intro_wrap:last-child {
    display: flex;
    justify-content: space-between;
    align-self: flex-start;
    flex-wrap: wrap;
    place-items: flex-end;
  }
  #home-wrapper section.intro .intro_wrap .intro_contain {
    margin-bottom: 0;
    width: 48%;
  }
  #home-wrapper section.intro .intro_wrap .intro_contain .sub_sec_ttl {
    text-align: center;
  }
  #home-wrapper section.intro .intro_wrap .intro_contain .pic img {
    width: 100%;
  }
  #home-wrapper section.intro .intro_wrap h2 {
    margin-bottom: 24px;
  }
  #home-wrapper section.intro .intro_wrap p {
    margin-bottom: 24px;
  }
}
/*====================================

  page-business.php 

==================================== */
/*-------------------------------
  イントロ
-------------------------------*/
#business-wrapper section.intro h2 {
  margin-bottom: 24px;
}
#business-wrapper section.intro p {
  text-align: center;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.intro h2 {
    margin-bottom: 40px;
  }
}
/*-------------------------------
  事業目的＆事業背景
-------------------------------*/
#business-wrapper section.about {
  padding: 60px 5% 40px;
  margin: 0 0 40px;
  background: linear-gradient(90deg, #ff6363, #d42212);
}
#business-wrapper section.about .about_wrap {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 24px;
}
#business-wrapper section.about .about_wrap .about_contain {
  background: #fff;
  padding: 24px;
}
#business-wrapper section.about .about_wrap .about_contain:first-child {
  position: relative;
}
#business-wrapper section.about .about_wrap .about_contain:first-child::before {
  content: "Business about";
  position: absolute;
  left: 0;
  top: -40px;
  color: #fff;
  opacity: 0.4;
  font-size: 1.6rem;
  font-weight: bold;
}
#business-wrapper section.about .about_wrap .about_contain .sub_sec_ttl_en {
  font-weight: bold;
  color: #F72916;
  margin-bottom: 4px;
}
#business-wrapper section.about .about_wrap .about_contain .sub_sec_ttl {
  padding-left: 0;
  text-indent: 0;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: solid 1px #D0D0D0;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.about {
    padding: 120px 10%;
    margin-bottom: 120px;
  }
  #business-wrapper section.about .about_wrap {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto;
    gap: 20px;
  }
  #business-wrapper section.about .about_wrap .about_contain {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    align-items: flex-start;
    gap: 0;
    padding: 40px;
  }
  #business-wrapper section.about .about_wrap .about_contain:first-child::before {
    top: -80px;
    font-size: 2.8rem;
  }
}
/*-------------------------------
  燃料について
-------------------------------*/
#business-wrapper section.fuel .fuel_wrap {
  margin-bottom: 24px;
}
#business-wrapper section.fuel .fuel_wrap:last-child {
  margin-bottom: 0;
}
#business-wrapper section.fuel .fuel_wrap .fuel_contain {
  margin-bottom: 24px;
}
#business-wrapper section.fuel .fuel_wrap .fuel_contain:last-child {
  margin-bottom: 0;
}
#business-wrapper section.fuel .fuel_wrap .fuel_contain:last-child p {
  position: relative;
  display: block;
  padding-bottom: 24px;
  border-bottom: 1px solid #F72916;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto 28px;
}
#business-wrapper section.fuel .fuel_wrap .fuel_contain:last-child p::after {
  content: "";
  position: absolute;
  bottom: -10.5px;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 20px;
  height: 20px;
  border-right: 1px solid #F72916;
  border-bottom: 1px solid #F72916;
  background: #fff;
}
#business-wrapper section.fuel .fuel_wrap .fuel_contain .fuel_box {
  margin-bottom: 24px;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.fuel .fuel_wrap:first-of-type {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 80px;
  }
  #business-wrapper section.fuel .fuel_wrap:first-of-type .fuel_contain {
    margin-bottom: 0;
    width: 48%;
  }
  #business-wrapper section.fuel .fuel_wrap:last-child .w-half {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-bottom: 40px;
    position: relative;
  }
  #business-wrapper section.fuel .fuel_wrap:last-child .w-half::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 100%;
    background-color: #D0D0D0;
  }
  #business-wrapper section.fuel .fuel_wrap:last-child .w-half .fuel_box {
    width: 48%;
  }
  #business-wrapper section.fuel .fuel_wrap:last-child .w-half .fuel_box:first-child {
    padding: 0 16px 0 0;
  }
  #business-wrapper section.fuel .fuel_wrap:last-child .w-half .fuel_box:last-child {
    padding: 0 0 0 16px;
  }
  #business-wrapper section.fuel .fuel_wrap .fuel_contain:last-child p {
    margin-bottom: 48px;
  }
}
/*-------------------------------
  インドネシアのPKS輸出国
-------------------------------*/
#business-wrapper section.exporters .exporters_wrap {
  margin-bottom: 24px;
}
#business-wrapper section.exporters .exporters_wrap:last-child {
  margin-bottom: 0;
}
#business-wrapper section.exporters .exporters_wrap .exporters_contain .exporters_box {
  margin-bottom: 24px;
}
#business-wrapper section.exporters .exporters_wrap .exporters_contain .pic {
  margin-bottom: 24px;
}
#business-wrapper section.exporters .exporters_wrap .exporters_contain .pic:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.exporters .exporters_wrap {
    margin-bottom: 40px;
  }
  #business-wrapper section.exporters .w-half .exporters_contain {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #business-wrapper section.exporters .w-half .exporters_contain:first-child {
    position: relative;
    margin-bottom: 40px;
  }
  #business-wrapper section.exporters .w-half .exporters_contain:first-child::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 100%;
    background-color: #D0D0D0;
  }
  #business-wrapper section.exporters .w-half .exporters_contain .exporters_box {
    width: 48%;
    margin-bottom: 0;
  }
  #business-wrapper section.exporters .w-half .exporters_contain .exporters_box:first-child {
    padding: 0 16px 0 0;
  }
  #business-wrapper section.exporters .w-half .exporters_contain .exporters_box:last-child {
    padding: 0 0 0 16px;
  }
  #business-wrapper section.exporters .w-half .exporters_contain .pic {
    width: 48%;
  }
}
/*-------------------------------
  GGL認証
-------------------------------*/
#business-wrapper section.ggl .ggl_wrap {
  margin-bottom: 24px;
}
#business-wrapper section.ggl .ggl_wrap:last-child {
  margin-bottom: 0;
}
#business-wrapper section.ggl .ggl_wrap:last-child .ggl_box:first-child p {
  margin-bottom: 24px;
  font-weight: bold;
}
#business-wrapper section.ggl .ggl_wrap:last-child .ggl_box:first-child p span {
  font-weight: bold;
}
#business-wrapper section.ggl .ggl_wrap:last-child .ggl_box:last-child p {
  margin-top: 24px;
  font-weight: bold;
}
#business-wrapper section.ggl .ggl_wrap:last-child .ggl_box:last-child p span {
  font-weight: bold;
}
#business-wrapper section.ggl .ggl_wrap .ggl_contain .ggl_box {
  margin-bottom: 24px;
}
#business-wrapper section.ggl .ggl_wrap .ggl_contain .pic {
  margin-bottom: 24px;
}
#business-wrapper section.ggl .ggl_wrap .ggl_contain .pic img {
  margin: 0 auto;
}
#business-wrapper section.ggl .ggl_wrap .ggl_contain .pic:last-child {
  margin-bottom: 0;
}
#business-wrapper section.ggl .ggl_wrap .ggl_contain .ggl_box:first-child .ggl_list tbody {
  padding: 24px;
  display: block;
  border: solid 1px #F72916;
}
#business-wrapper section.ggl .ggl_wrap .ggl_list tr {
  display: flex;
  flex-direction: column;
  margin-bottom: 8px;
}
#business-wrapper section.ggl .ggl_wrap .ggl_list tr:last-child {
  margin-bottom: 0;
}
#business-wrapper section.ggl .ggl_wrap .ggl_list tr th {
  font-weight: bold;
}
#business-wrapper section.ggl .ggl_wrap .ggl_list tr td {
  padding-left: 1em;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.ggl .ggl_wrap {
    margin-bottom: 40px;
  }
  #business-wrapper section.ggl .ggl_wrap:last-child {
    margin-bottom: 0;
  }
  #business-wrapper section.ggl .w-half .ggl_contain {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #business-wrapper section.ggl .w-half:last-child {
    position: relative;
  }
  #business-wrapper section.ggl .w-half:last-child::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 100%;
    background-color: #D0D0D0;
  }
  #business-wrapper section.ggl .ggl_box {
    width: 48%;
  }
  #business-wrapper section.ggl .ggl_box:first-child {
    padding: 0 16px 0 0;
  }
  #business-wrapper section.ggl .ggl_box:last-child {
    padding: 0 0 0 16px;
  }
  #business-wrapper section.ggl .pic {
    width: 48%;
  }
  #business-wrapper section.ggl .ggl_list tr {
    margin-bottom: 24px;
  }
}
/*-------------------------------
  RSPO認証
-------------------------------*/
#business-wrapper section.rspo .rspo_wrap {
  margin-bottom: 24px;
}
#business-wrapper section.rspo .rspo_wrap:last-child {
  margin-bottom: 0;
}
#business-wrapper section.rspo .rspo_wrap:last-child .rspo_box:first-child p {
  margin-bottom: 16px;
}
#business-wrapper section.rspo .rspo_wrap:last-child .rspo_box:last-child p {
  margin-top: 24px;
}
#business-wrapper section.rspo .rspo_wrap .rspo_list {
  margin-bottom: 24px;
}
#business-wrapper section.rspo .rspo_wrap .rspo_list tr {
  display: flex;
  flex-direction: column;
  margin-bottom: 8px;
}
#business-wrapper section.rspo .rspo_wrap .rspo_list tr:last-child {
  margin-bottom: 0;
}
#business-wrapper section.rspo .rspo_wrap .rspo_list tr th {
  font-weight: bold;
}
#business-wrapper section.rspo .rspo_wrap .rspo_list tr td {
  padding-left: 1em;
}
#business-wrapper section.rspo .rspo_wrap .rspo_contain .rspo_box {
  margin-bottom: 24px;
}
#business-wrapper section.rspo .rspo_wrap .rspo_contain .pic {
  margin-bottom: 24px;
}
#business-wrapper section.rspo .rspo_wrap .rspo_contain .pic img {
  margin: 0 auto;
}
#business-wrapper section.rspo .rspo_wrap .rspo_contain .pic:last-child {
  margin-bottom: 0;
}
#business-wrapper section.rspo .rspo_wrap p {
  margin-bottom: 24px;
}
#business-wrapper section.rspo .rspo_wrap p:last-child {
  margin-bottom: 0;
}

@media screen and (min-width: 768px) {
  #business-wrapper section.rspo .rspo_wrap {
    margin-bottom: 40px;
  }
  #business-wrapper section.rspo .w-half .rspo_contain {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  #business-wrapper section.rspo .w-half:last-child {
    position: relative;
  }
  #business-wrapper section.rspo .w-half:last-child::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 1px;
    height: 100%;
    background-color: #D0D0D0;
  }
  #business-wrapper section.rspo .rspo_box {
    width: 48%;
    margin-bottom: 0;
  }
  #business-wrapper section.rspo .rspo_box:first-child {
    padding: 0 16px 0 0;
  }
  #business-wrapper section.rspo .rspo_box:last-child {
    padding: 0 0 0 16px;
  }
  #business-wrapper section.rspo .pic {
    width: 48%;
  }
  #business-wrapper section.rspo .rspo_list {
    margin-bottom: 24px;
  }
  #business-wrapper section.rspo .rspo_list tbody {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 40px;
  }
  #business-wrapper section.rspo .rspo_list tr {
    margin-bottom: 24px;
  }
  #business-wrapper section.rspo p {
    margin-bottom: 24px;
  }
}
/*====================================

  page-company.php 

==================================== */
/*-------------------------------
  テーブル
-------------------------------*/
#company-wrapper table tr {
  display: flex;
  flex-direction: column;
  margin-bottom: 24px;
}
#company-wrapper table tr:last-child {
  margin-bottom: 0;
}
#company-wrapper table th {
  border-bottom: solid 1px #F72916;
  padding: 0 0 8px;
  font-weight: bold;
}
#company-wrapper table td {
  padding: 8px 0 0;
}

@media screen and (min-width: 768px) {
  #company-wrapper table tr {
    margin-bottom: 24px;
    display: block;
  }
  #company-wrapper table tr:last-child {
    margin-bottom: 0;
  }
  #company-wrapper table th {
    border-bottom: none;
    border-right: solid 1px #F72916;
    padding: 16px 80px 16px 0;
    width: 180px;
  }
  #company-wrapper table td {
    padding: 16px 0 16px 40px;
  }
}
/*-------------------------------
  会社概要
-------------------------------*/
#company-wrapper section.about {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

/*-------------------------------
  会社沿革
-------------------------------*/
#company-wrapper section.history {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
}

/*====================================

  gallery.php 

==================================== */
#gallery-wrapper .wp-block-lazyblock-block-gallery {
  margin-bottom: 24px;
}
#gallery-wrapper .wp-block-lazyblock-block-gallery:last-child {
  margin-bottom: 0;
}
#gallery-wrapper .gallery_wrap .gallery_contain {
  -moz-column-count: 2;
       column-count: 2;
  -moz-column-gap: 0;
       column-gap: 0;
}

@media screen and (min-width: 768px) {
  #gallery-wrapper .wp-block-lazyblock-block-gallery {
    margin-bottom: 80px;
  }
  #gallery-wrapper .gallery_wrap .sub_sec_ttl {
    text-align: center;
  }
  #gallery-wrapper .gallery_wrap .gallery_contain {
    -moz-column-count: 3;
         column-count: 3;
    -moz-column-gap: 0;
         column-gap: 0;
  }
}
/*====================================

  page-contact.php 

==================================== */
/*-------------------------------
  お問い合わせフォーム
-------------------------------*/
#contact-wrapper section.form form#snow-monkey-form-88 {
  margin: 0 auto;
}
#contact-wrapper section.form p {
  margin-bottom: 24px;
  font-weight: bold;
  text-align: center;
}
#contact-wrapper section.form .smf-item {
  flex-wrap: wrap;
  gap: 8px 0;
  padding: 0;
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
}
#contact-wrapper section.form .smf-item:last-child {
  margin-bottom: 24px;
}
#contact-wrapper section.form .smf-item .smf-item__label__text {
  margin-right: 8px;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-weight: bold;
}
#contact-wrapper section.form .smf-item__col--label {
  max-width: 100%;
  width: 100%;
  flex: inherit;
  padding: 0 !important;
}
#contact-wrapper section.form .smf-text-control input {
  width: 100%;
}
#contact-wrapper section.form .smf-item__col--controls {
  flex: inherit !important;
  width: 100%;
  max-width: 100%;
}
#contact-wrapper section.form .smf-button-control__control {
  position: relative;
  border: solid 1px #4C4C4C;
  background: #4C4C4C;
  color: #fff;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 8px 34px 8px 16px;
  color: #fff;
  border-radius: 0;
}
#contact-wrapper section.form .smf-button-control__control::after {
  content: "";
  position: absolute;
  transition: transform 0.5s;
  width: 10px;
  height: 10px;
  top: 38%;
  right: 16px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
}
#contact-wrapper section.form .smf-button-control__control:hover {
  text-decoration: none;
}

/*メールアドレス(確認用)入力フォーム*/
#contact-wrapper section.form .is-invalid {
  border: solid 1px #cc3033;
}

/*エラーメッセージ
    ※「.smf-email-mismatch-error」はメールアドレス(確認用)のエラーメッセージ*/
#contact-wrapper section.form .smf-error-messages,
#contact-wrapper section.form .smf-email-mismatch-error {
  color: #cc3033 !important;
  font-size: 1.4rem;
  font-weight: normal;
  margin-top: 4px;
}

/*項目説明(個人の方は「個人」とご記入ください。)*/
#contact-wrapper section.form div#--description {
  font-size: 1.4rem;
  margin: 8px 0 0;
}

@media screen and (min-width: 768px) {
  #contact-wrapper section.form p {
    margin-bottom: 60px;
  }
  #contact-wrapper section.form form#snow-monkey-form-88 {
    width: 80%;
  }
  #contact-wrapper section.form .smf-item {
    align-items: flex-start;
    margin-bottom: 40px;
  }
}
@media screen and (min-width: 1531px) {
  #contact-wrapper section.form .smf-item {
    flex-direction: inherit;
  }
  #contact-wrapper section.form .smf-item .smf-item__label__text {
    width: 210px;
  }
  #contact-wrapper section.form .smf-item__col--label {
    width: 300px;
  }
  #contact-wrapper section.form .smf-item__col--controls {
    width: 65%;
  }
}
/*-------------------------------
  必須マーク
-------------------------------*/
#contact-wrapper {
  width: 100;
}
#contact-wrapper .smf-item__label__text {
  position: relative;
}
#contact-wrapper .smf-item:has([data-validations~=required]) .smf-item__label__text::after {
  position: absolute;
  top: 50%;
  right: -64px;
  transform: translateY(-50%);
  display: grid;
  place-items: center;
  width: 56px;
  height: 20px;
  content: "必須";
  font-size: 12px;
  color: #fff;
  background: #F72916;
}

/*====================================

  page-thanks.php 

==================================== */
#thanks-wrapper section.message .message_wrap {
  margin: 0 auto;
}
#thanks-wrapper section.message .message_wrap p {
  text-align: left;
  margin-bottom: 24px;
}
#thanks-wrapper section.message .message_wrap .transition {
  margin-bottom: 0;
  text-align: left;
}

@media screen and (min-width: 768px) {
  #thanks-wrapper section.message .message_wrap {
    width: 90%;
  }
  #thanks-wrapper section.message .message_wrap p {
    text-align: center;
    margin-bottom: 40px;
  }
}
/*====================================

  404.php 

==================================== */
#error-wrapper {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  margin: 0;
}
#error-wrapper section.error {
  flex: 1;
}
#error-wrapper section.error p {
  margin-bottom: 16px;
}
#error-wrapper section.error p:last-child {
  margin-bottom: 0;
}

/*====================================

  hamburger-js.scss 

==================================== */
#header-wrapper .header_wrap .header_contain #global-nav {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 220px;
  height: 100vh;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 20px;
  transform: translateX(-100%);
  transition: all 0.5s;
  visibility: visible;
  z-index: 10;
  padding: 24px;
  background: #fff;
  opacity: 0;
}
#header-wrapper .header_wrap .header_contain #global-nav ul > * + * {
  border-top: 1px solid #D0D0D0;
}
#header-wrapper .header_wrap .header_contain #global-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0;
  gap: 0;
}
#header-wrapper .header_wrap .header_contain #global-nav ul li {
  width: 100%;
  margin: 0;
  text-align: left;
}
#header-wrapper .header_wrap .header_contain #global-nav ul li a {
  padding: 8px;
  color: #4C4C4C;
  font-size: 1.4rem;
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
}
#header-wrapper .header_wrap .header_contain #nav-toggle {
  width: auto;
  transition: all 0.5s;
}
#header-wrapper .header_wrap .header_contain #nav-toggle > div {
  position: relative;
  width: 30px;
  height: 20px;
  margin: 0 auto;
}
#header-wrapper .header_wrap .header_contain #nav-toggle span {
  width: 100%;
  height: 0.8px;
  left: 0;
  display: block;
  background: #4C4C4C;
  position: absolute;
}
#header-wrapper .header_wrap .header_contain #nav-toggle span:nth-child(1) {
  top: 0px;
}
#header-wrapper .header_wrap .header_contain #nav-toggle span:nth-child(2) {
  top: 10px;
  opacity: 1;
}
#header-wrapper .header_wrap .header_contain #nav-toggle span:nth-child(3) {
  top: 20px;
}
#header-wrapper .header_wrap .header_contain #nav-toggle p {
  padding-top: 5px;
  font-size: 1.2rem;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  #header-wrapper .header_wrap .header_contain #global-nav {
    background: #000;
  }
  #header-wrapper .header_wrap .header_contain #global-nav ul > * + * {
    border-top: 1px solid #333;
  }
  #header-wrapper .header_wrap .header_contain #global-nav ul li a {
    color: #fff;
  }
}
/* open */
.open {
  overflow: hidden;
  height: 100vh;
}
.open #header-wrapper .header_wrap .logo {
  margin-left: 67px;
}
.open #header-wrapper .header_wrap #global-nav {
  visibility: visible;
  transform: translateX(0);
  transition: all 0.5s;
  opacity: 1;
}
.open #header-wrapper .header_wrap #global-nav li {
  opacity: 1;
  transform: translateX(0);
}
.open #header-wrapper .header_wrap #nav-toggle {
  position: fixed;
  z-index: 99;
  left: 250px;
  height: 30px;
  transform: rotate(360deg);
}
.open #header-wrapper .header_wrap #nav-toggle span {
  background: #fff;
  z-index: 100;
  height: 2.5px;
  border-radius: 4px;
}
.open #header-wrapper .header_wrap #nav-toggle span:nth-child(1) {
  top: 15px;
  transform: translate(-1px, 4px) rotate(45deg);
  width: 16px;
}
.open #header-wrapper .header_wrap #nav-toggle span:nth-child(2) {
  top: 14px;
  left: 1px;
}
.open #header-wrapper .header_wrap #nav-toggle span:nth-child(3) {
  top: 13.5px;
  transform: translate(-1px, -4px) rotate(-45deg);
  width: 16px;
}
.open #header-wrapper .header_wrap #nav-toggle p {
  display: none;
}
.open #header-wrapper .header_wrap #mask {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
  z-index: 2;
  cursor: pointer;
}
/*# sourceMappingURL=style.css.map */