@charset "utf-8";
/*
Theme Name: RENOXIA 
Theme URI: null
Description: Description
Version: 1.0
*/

.aligncenter {
  display: block;
  margin: 0 auto;
}
.alignright {
  float: right;
}
.alignleft {
  float: left;
}

img[class*="wp-image-"],
img[class*="attachment-"] {
  height: auto;
  max-width: 100%;
}

a.nolink,
a.nolink:hover {
  opacity: 1;
  cursor: default;
  pointer-events: none;
}
.wp-block-image figure,
.wp-block-image figcaption {
  display: block;
}
.bgimg {
  width: 100%;
  display: block;
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
.bgimg img {
  display: none !important;
}
.jsonBox {
  position: relative;
}
.jsonBox::after {
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  display: block;
  width: 50px;
  height: 35px;
  background: url(img/common/loading.gif) no-repeat center center;
  background-size: 100% 100%;
  z-index: 10;
  opacity: 0;
  visibility: hidden;
  transition: all ease 1s;
  transform: translate(-50%, -50%);
}
.jsonBox.loading::after {
  opacity: 1;
  visibility: visible;
}
.jsonBox .wp-pagenavi {
  display: none;
}
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
figcaption,
figure,
section,
footer,
header,
main,
hgroup,
menu,
nav,
summary {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  outline: 0;
  font-size: 1em;
  box-sizing: border-box;
}
html {
  font-size: 62.5%;
}
@media all and (max-width: 389px) {
  html {
    font-size: calc(1000vw / 390);
  }
}
@media all and (min-width: 769px) and (max-width: 1250px) {
  html {
    font-size: calc(1000vw / 1300);
  }
}
body,
table,
input,
textarea,
select,
option {
  font-family: "Noto Sans JP", sans-serif;
}

.inter {
  font-family: "Inter", sans-serif;
}
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
main,
hgroup,
menu,
nav,
section,
summary {
  display: block;
}
ol,
ul {
  list-style: none;
  box-sizing: border-box;
}
blockquote,
q {
  quotes: none;
}
chrome_annotation {
  border: none !important;
}
:focus {
  outline: 0;
}
ins {
  text-decoration: none;
}
del {
  text-decoration: line-through;
}
img {
  vertical-align: top;
  max-width: 100%;
  height: auto;
}
address {
  font-style: normal;
}
a,
a:link {
  color: var(--basecolor);
  text-decoration: none;
  transition: 0.3s;
}
a:visited {
  color: var(--basecolor);
}
a:hover {
  color: var(--basecolor);
}
a:active {
  color: var(--basecolor);
}
:root {
  --basecolor: #262833;
  --color01: #537a92;
  --color02: #f75c44;
  --color03: #0072b9;
  --color04: #dee4ea;
  --color05: #aab9c8;
  --color06: #f6f8fb;
  --color07: #e7f1ff;
  --color08: #183a6a;
  --color09: #007bff;
  --color10: #16273d;
}
/*------------------------------------------------------------
	レイアウト
------------------------------------------------------------*/
body {
  color: var(--basecolor);
  font-size: 1.6rem;
  line-height: 1.8;
  letter-spacing: 0.16rem;
  text-size-adjust: none;
  -webkit-text-size-adjust: none;
  background-color: var(--color06);
}
body:has(#page404) {
  background-color: #fff;
}
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
#container {
  overflow: clip;
  padding-top: 7.5rem;
  text-align: left;
  word-break: break-word;
}
a[href^="tel:"] {
  cursor: default;
  pointer-events: none;
}
#main {
  margin-bottom: 16.2rem;
}
@media all and (min-width: 769px) {
  .sp {
    display: none !important;
  }
}
@media all and (max-width: 768px) {
  body {
    min-width: inherit;
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
  }
  a:hover,
  a:hover img {
    opacity: 1 !important;
  }
  .pc {
    display: none !important;
  }
  a[href^="tel:"] {
    cursor: pointer;
    pointer-events: auto;
  }
  #main {
    margin-bottom: 10rem;
  }
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
#gHeader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1000;
  height: 7.5rem;
  transform: none;
  opacity: 1;
  visibility: visible;
  transition: all ease 0.3s;
}
#gHeader.hide {
  transform: translateY(-100%);
  opacity: 0;
  visibility: hidden;
}
#gHeader.fixed {
  background-color: #fff;
  box-shadow: 4px 4px 20px 0px rgba(80, 82, 96, 0.03);
}
#index #gHeader.white,
#gHeader.white {
  background-color: #fff !important;
}
#gHeader .hInner {
  padding: 1.9rem 4rem;
}
#gHeader .logo {
  padding-top: 0.5rem;
  width: 26.2rem;
}
#gHeader .rBox {
  padding-left: 2rem;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
#gHeader .rBox .linkUl {
  display: flex;
  align-items: center;
  order: 2;
  margin-left: 3rem;
}
#gHeader .rBox .linkUl li {
  width: 15rem;
  margin-left: 1rem;
}
#gHeader .rBox .linkUl a {
  min-height: 4.1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: 0.21rem;
  color: var(--color08);
  border-radius: 8rem;
  background-color: #fff;
  border: 1px solid var(--color08);
}

#gHeader .rBox .linkUl .liStyle a {
  color: #fff;
  background-color: var(--color08);
}
#gHeader .rBox .naviUl {
  padding-top: 0.3rem;
  display: flex;
}
#gHeader .rBox .naviUl > li {
  font-size: 1.3rem;
  letter-spacing: 0.195rem;
  font-weight: 500;
  margin-left: 3.1rem;
}
#gHeader .rBox .naviUl > li:first-child {
  margin-left: 0;
}
#gHeader .rBox .naviUl > li > a > span {
  display: inline-block;
  padding-right: 1.6rem;
  background: url(img/common/icon01.png.webp) no-repeat right top calc(50% + 0rem);
  background-size: 0.9rem auto;
}

#gHeaderjsBox {
  display: none;
  position: fixed;
  /* top: 7.5rem; */
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  /* overflow-y: auto; */
  padding: 8.2rem 2rem 2rem;
  pointer-events: none;
  z-index: 999;
}
@media all and (min-width: 769px) {
  #gHeaderjsBox {
    display: block;
  }
  #gHeaderjsBox.on {
    pointer-events: auto;
  }
}
#gHeaderjsBox:after {
  width: 100%;
  height: 100%;
  backdrop-filter: blur(0);
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  transition: backdrop-filter 0.4s, background-color 0.4s, -webkit-backdrop-filter 0.4s;
}
#gHeaderjsBox.on:after {
  backdrop-filter: blur(7.5px);
}
.jsSubHeader {
  max-width: 140rem;
  position: relative;
  z-index: 1;
  margin: 0 auto;
  border-radius: 2rem;
  background-color: #fff;
  padding: 2.5rem 0 7rem;
  min-height: 25rem;
  box-shadow: 0px 0px 1rem 0px rgba(0, 0, 0, 0.1);
  opacity: 0;
  transition-duration: 0.2s;
  transition-property: opacity;
  transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  transition-timing-function: linear;
}
#gHeaderjsBox.on .jsSubHeader {
  opacity: 1;
}
.jsSubHeader .tabList {
  margin-right: 4rem;
  width: 24rem;
}
.jsSubHeader .tabList a {
  min-height: 5.1rem;
  display: flex;
  padding: 0 1rem 0 5.5rem;
  align-items: center;
  background-color: #fff;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.225rem;
  border-radius: 0px 0.5rem 0.5rem 0px;
}
.jsSubHeader .tabList a span {
  transition: all ease 0.3s;
}
.jsSubHeader .tabList .on a {
  color: var(--color09);
  background-color: var(--color06);
  box-shadow: 0px 0px 0.6rem 0px #eff3f9 inset;
}
.jsSubHeader .tabList .on a span {
  transform: translateX(-5px);
}
.jsSubHeader .tabInner {
  flex: 1;
  padding-top: 0.6rem;
}
.jsSubHeader .ttl {
  margin-bottom: 3.3rem;
  padding: 0 1rem 2.1rem;
  border-bottom: 2px solid var(--color04);
}
.jsSubHeader .ttl a {
  min-width: 19.6rem;
  display: inline-block;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.3rem;
  color: var(--color08);
  padding-right: 3.6rem;
  background: url(img/common/icon02.png.webp) no-repeat right center;
  background-size: 1.8rem auto;
}
.jsSubHeader .ttl span {
  transition: all ease 0.3s;
  display: inline-block;
}
.jsSubHeader .subList {
  padding: 0 0.9rem;
  margin-bottom: 3.5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.4rem 1.5rem;
}
.jsSubHeader .subList:last-child {
  margin-bottom: 0;
}
.jsSubHeader .subList li {
  width: 20rem;
}
.jsSubHeader .subList a {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 2.1px;
  min-height: 4.2rem;
  padding: 0 0.6rem;
  color: var(--color08);
  position: relative;
  border-bottom: 1px solid var(--color04);
}
.jsSubHeader .subList a span {
  transition: all ease 0.3s;
  display: inline-block;
}
.jsSubHeader .subList a:after {
  width: 1.2rem;
  height: 0.6rem;
  background: url(img/common/icon03.png.webp) no-repeat right top;
  background-size: 100% auto;
  position: absolute;
  top: 1.2rem;
  right: 0;
  content: "";
  opacity: 0;
  transition: all ease 0.3s;
}
.jsSubHeader .ttl02 {
  font-size: 1.5rem;
  font-weight: 800;
  margin: -0.2rem 1rem 2rem;
  letter-spacing: 0.225rem;
}
@media all and (min-width: 769px) {
  #gHeader .rBox .linkUl a:hover {
    color: #fff;
    border-color: var(--color09);
    background-color: var(--color09);
  }
  #gHeader .rBox .linkUl .liStyle a:hover {
    border-color: var(--color09);
    background-color: var(--color09);
  }
  .jsSubHeader .tabList a:hover {
    color: var(--color09);
    background-color: var(--color06);
    box-shadow: 0px 0px 0.6rem 0px #eff3f9 inset;
  }
  .jsSubHeader .tabList a:hover span {
    transform: translateX(-3px);
  }
  .jsSubHeader .tabList .on a:hover span {
    transform: translateX(-5px);
  }
  .jsSubHeader .ttl a:hover {
    color: var(--color09);
    background-image: url(img/common/icon03.png.webp);
  }
  .jsSubHeader .ttl a:hover span {
    transform: translateX(-5px);
  }
  .jsSubHeader .subList a:hover {
    color: var(--color09);
    border-color: var(--color09);
  }
  .jsSubHeader .subList a:hover::after {
    opacity: 1;
  }
  .jsSubHeader .subList a:hover span {
    transform: translateX(-2px);
  }
  #gHeader .rBox .naviUl > li > a:hover,
  #gHeader .rBox .naviUl > li.on > a {
    color: var(--color09);
  }
  #gHeader .rBox .naviUl > li > a:hover span {
    background-image: url(img/common/icon01_blue.png.webp);
    background-size: 0.9rem auto;
  }
  #gHeader .rBox .naviUl > li.on > a > span {
    background-image: url(img/common/icon01_blue.png.webp);
  }
}
@media all and (max-width: 768px) {
  #container {
    padding-top: 7rem;
  }
  #gHeader {
    height: 7rem;
  }
  #gHeader .hInner {
    padding: 1.9rem 2.5rem;
  }
  #gHeader .logo {
    width: 21.1rem;
    position: relative;
    z-index: 1001;
  }
  #gHeader .menuBox {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    padding: 0;
    height: 100%;
    overflow-y: auto;
    z-index: 900;
    background-color: var(--color06);
    opacity: 0;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
    transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0s 0.8s;
  }
  #gHeader .menuBox.on {
    opacity: 1;
    transition: clip-path 0.6s cubic-bezier(0.4, 0, 0.2, 1), opacity 0s;
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  #gHeader .rBox .linkUl {
    margin: 0 0 3.3rem;
    flex-direction: column;
  }
  #gHeader .rBox .linkUl li {
    max-width: 30rem;
    margin: 0 auto 1.5rem;
    width: 100%;
  }
  #gHeader .rBox .linkUl .liStyle {
    order: -1;
  }
  #gHeader .menu {
    position: absolute;
    height: 1rem;
    width: 4.5rem;
    top: 50%;
    transform: translateY(-50%);
    right: 2.5rem;
    cursor: pointer;
    z-index: 1001;
    transition: opacity 0.25s ease;
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  #gHeader .menu.on .top {
    transform: translateY(5px) translateX(0) rotate(15deg);
  }
  #gHeader .menu.on .middle {
    opacity: 0;
    display: none;
  }
  #gHeader .menu.on .bottom {
    transform: translateY(-5px) translateX(0) rotate(-15deg);
  }
  #gHeader .menu span {
    background: var(--color08);
    border: none;
    height: 2px;
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
    -webkit-transition: all 0.35s ease;
    transition: all 0.35s ease;
    cursor: pointer;
  }
  #gHeader .menu span:nth-of-type(2) {
    top: 7px;
    opacity: 0;
  }
  #gHeader .menu span:nth-of-type(3) {
    top: 10px;
  }
  #gHeaderjsBox {
    position: static;
    height: auto;
    overflow-y: inherit;
    padding: 0;
  }
  #gHeaderjsBox::after {
    display: none;
  }
  .jsSubHeader {
    padding: 0;
    max-width: inherit;
    min-height: inherit;
    background-color: transparent;
    box-shadow: none;
    opacity: 1;
  }
  #gHeader .rBox {
    display: block;
    padding: 11rem 0 5rem;
  }
  #gHeader .rBox .naviUl {
    display: block;
    margin: 0 3rem;
  }
  #gHeader .rBox .naviUl > li {
    margin: 0 0 2rem;
    font-size: 1.6rem;
    font-weight: 700;
    letter-spacing: 0.24rem;
    border-bottom: 2px solid var(--color04);
  }
  #gHeader .rBox .naviUl > li > a {
    display: block;
    background: url(img/common/icon02.png.webp) no-repeat right 1.4rem top 1.1rem;
    background-size: 1.8rem auto;
    padding: 0 1.5rem 2.1rem;
  }
  #gHeader .rBox .naviUl > .liStyle > a {
    background: none;
    padding-bottom: 1rem;
    font-size: 1.4rem;
    color: var(--color05);
    letter-spacing: 0.21rem;
  }
  #gHeader .rBox .naviUl > li > a.no {
    pointer-events: none;
  }
  #gHeader .rBox .naviUl > li > a > span {
    background: none;
  }
  .jsSubHeader .ttl {
    margin-bottom: 0rem;
    border-style: dotted;
    padding: 0 1.5rem 2rem;
    border: none;
  }
  .jsSubHeader .ttl a {
    min-width: inherit;
    font-size: 1.6rem;
    display: block;
    letter-spacing: 0.24rem;
    background-image: url(img/common/icon01.png.webp);
    background-size: 0.9rem auto;
  }
  .jsSubHeader .ttl.on a {
    background-image: url(img/common/icon01_on.png.webp);
  }
  .jsSubHeader .subList {
    padding: 0;
    display: block;
  }
  .jsSubHeader .subList li {
    width: auto;
    margin-bottom: 0.5rem;
  }
  .jsSubHeader .subList a {
    border: none;
    padding: 0.5rem 0.5rem;
    min-height: inherit;
    color: var(--basecolor);
  }
  .jsSubHeader .tabBox {
    margin-bottom: 2.1rem;
    border-bottom: 2px dotted var(--color04);
  }
  .jsSubHeader .tabBox:last-child {
    margin-bottom: 0;
    border: none;
  }
  .jsSubHeader .spBox {
    margin-top: -1.2rem;
    padding: 0 2rem 1rem;
    display: none;
  }
  .jsSubHeader .spBox02 {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
  .jsSubHeader .tabBox:last-child .ttl {
    border: none;
    margin-bottom: 0;
  }
  #gHeader .rBox .naviUl > li:last-child {
    border: none;
  }
  .menuBox address {
    padding-top: 5rem;
    font-size: 1rem;
    color: var(--color05);
    text-align: center;
    letter-spacing: 0.15rem;
  }
  .jsSubHeader .ttl02 {
    font-size: 1.4rem;
    margin: 0 0 1rem;
    padding-top: 1.7rem;
    color: var(--color05);
    letter-spacing: 0.21rem;
  }
  .jsSubHeader .spBox02 .subList {
    padding: 0 0.5rem;
    margin-bottom: -0.3rem;
  }
  #gHeader .rBox .naviUl > li > a {
    color: var(--color08);
  }
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
#gFooter {
  padding: 8rem 0 10rem;
  color: #fff;
  z-index: 10;
  position: relative;
  background-color: var(--color10);
}
#gFooter .fLogo {
  margin-bottom: 6rem;
  width: 31.8rem;
}
#gFooter .lBox {
  margin-right: 10rem;
  width: 34.3rem;
  border-right: 1px solid rgba(170, 185, 200, 0.5);
}
#gFooter .lBox p {
  font-size: 1.3rem;
  font-weight: 500;
  margin-bottom: 3.2rem;
  letter-spacing: 0.195rem;
}
#gFooter .lBox .ttl {
  margin-bottom: 2.8rem;
  line-height: 1.6;
  font-size: 2rem;
  font-weight: 600;
  letter-spacing: 0.3rem;
}
#gFooter .lBox .ttl small {
  display: block;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.21rem;
}
#gFooter .lBox .linkP {
  margin-bottom: 10.8rem;
}
#gFooter .lBox .linkP a {
  font-weight: 400;
  font-size: 1.3rem;
  color: #fff;
  display: inline-block;
  padding-right: 1.5rem;
  letter-spacing: 0.195rem;
  background: url(img/common/icon05.png.webp) no-repeat right center;
  background-size: 1rem auto;
}
#gFooter .lBox .linkP a:hover {
  opacity: 0.7;
}
address {
  font-size: 1rem;
  color: var(--color05);
  letter-spacing: 0.15rem;
}
#gFooter .rBox {
  flex: 1;
  order: 2;
}
#gFooter .rBox a {
  color: #fff;
}
#gFooter .naviUl {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 8.8rem;
}
#gFooter .naviUl .subUl > li {
  margin-bottom: 1.25rem;
}
#gFooter .naviUl .subUl > li > a {
  font-size: 1.8rem;
  font-weight: 600;
  letter-spacing: 0.27rem;
}
#gFooter .naviUl .subUl > li > a.no {
  pointer-events: none;
}
#gFooter .rBox a:hover {
  opacity: 0.7;
}
#gFooter .naviUl .subUl02 {
  padding-top: 0.8rem;
}
#gFooter .naviUl .subUl02 > li {
  margin-bottom: 0.5rem;
}
#gFooter .naviUl .subUl02 a {
  font-size: 1.3rem;
  font-weight: 400;
  color: var(--color05);
  letter-spacing: 0.195rem;
}
#gFooter .naviUl .subList {
  padding: 2rem 0 0 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 6.5rem;
}
#gFooter .naviUl .subList .ttl {
  margin-bottom: 0.5rem;
}
#gFooter .naviUl .subList p a {
  font-size: 1.5rem;
  letter-spacing: 0.225rem;
}
#gFooter .pageTop {
  margin-top: -3rem;
  text-align: right;
}
#gFooter .pageTop a:hover img {
  opacity: 0.7;
}
@media all and (max-width: 768px) {
  #gFooter {
    padding: 6rem 2rem 4rem;
  }
  #gFooter .fLogo {
    width: 25.4rem;
    margin-bottom: 5rem;
  }
  #gFooter .fInner {
    padding: 0 0.5rem;
    display: block;
  }
  #gFooter .lBox {
    padding: 5rem 1rem 0;
    margin: 1.8rem -0.5rem 0;
    width: auto;
    border-right: none;
    border-top: 1px solid rgba(170, 185, 200, 0.5);
  }
  #gFooter .naviUl {
    display: block;
    margin-bottom: -4rem;
  }
  #gFooter .naviUl > li {
    margin-bottom: 4.5rem;
  }
  #gFooter .naviUl .subUl > li {
    margin-bottom: 2.4rem;
  }
  #gFooter .naviUl .subUl > li > a {
    font-size: 1.5rem;
    letter-spacing: 0.225rem;
  }
  #gFooter .naviUl .subUl02 {
    padding-top: 0.5rem;
  }
  #gFooter .naviUl .jsUl {
    display: none;
  }
  #gFooter .naviUl .subUl02 > li {
    margin-bottom: 1.3rem;
  }
  #gFooter .naviUl .subList {
    display: block;
    padding: 2.2rem 0 0 1rem;
  }
  #gFooter .naviUl .subList p a {
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
  }
  #gFooter .naviUl .subList .ttl {
    margin-bottom: 0.7rem;
    display: flex;
    align-items: center;
  }
  #gFooter .naviUl .subList > li {
    padding-bottom: 1rem;
  }
  #gFooter .naviUl .subList .ttl .ico {
    padding: 1rem 1.5rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #gFooter .naviUl .subList .ttl.on .ico {
    background: url(img/common/icon16.png.webp) no-repeat center;
    background-size: 1.2rem auto;
  }
  #gFooter .naviUl .subList .ttl.on .ico img {
    visibility: hidden;
  }
  #gFooter .pageTop {
    margin-top: -1.5rem;
  }
  #gFooter .lBox .linkP {
    margin-bottom: 5rem;
  }
  address {
    font-size: 1rem;
    letter-spacing: 0.15rem;
    text-align: center;
  }
}

/*------------------------------------------------------------
	汎用スタイル
------------------------------------------------------------*/
/* 81-PSP */
/* clearfix */
.clearfix:after {
  content: "";
  display: block;
  clear: both;
}
/* flex */
.flex,
.flexA,
.flexB,
.flexC {
  display: flex;
  flex-wrap: wrap;
}
.flexA {
  justify-content: space-around;
}
.flexB {
  justify-content: space-between;
}
.flexC {
  justify-content: center;
}
/*------------------------------------------------------------
	content
------------------------------------------------------------*/
.content {
  max-width: 124rem;
  margin: 0 auto;
  padding: 0 2rem;
}
@media all and (max-width: 768px) {
  .content {
  }
}
/*------------------------------------------------------------
	pagePath
------------------------------------------------------------*/
#pagePath {
  margin: 0 -2rem;
  padding: 4.8rem 0 4.1rem;
}
#pagePath li {
  margin-right: 1rem;
  font-size: 1.2rem;
  letter-spacing: 0.12rem;
  display: inline-block;
}
#pagePath li a {
  display: inline-block;
  padding-right: 2rem;
  background: url(img/common/icon20.png.webp) no-repeat right center;
  background-size: 0.7rem auto;
  color: #aab9c8;
}
#pagePath li:first-child a {
}
#pagePath li a:hover {
  opacity: 0.7;
}
@media all and (max-width: 768px) {
  #pagePath {
    margin: 0 1rem;
    padding: 0.8rem 0 3.3rem;
  }
  #pagePath li {
    margin-right: 0.5rem;
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
  #pagePath li a {
    padding-right: 1.7rem;
  }
}
/*------------------------------------------------------------
	comLink
------------------------------------------------------------*/
.comLink {
  margin-bottom: 4rem;
  width: 36.2rem;
}
.comLink a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5rem;
  min-height: 7.6rem;
  color: #fff;
  padding-right: 5.5rem;
  font-weight: 700;
  letter-spacing: 0.16rem;
  border: 1px solid var(--color08);
  background: url(img/common/icon08.png.webp) no-repeat right 3.5rem center var(--color08);
  background-size: 2.7rem auto;
}
.comLink a span {
  padding-left: 3.5rem;
  display: inline-block;
  background: url(img/common/img.png.webp) no-repeat left center;
  background-size: 3rem auto;
}
.comLink a:hover {
  opacity: 0.7;
}
.comLink.big {
  width: auto;
  max-width: 70rem;
  margin: 0 auto;
}
.comLink.big a {
  padding-right: 7rem;
  min-height: 12rem;
  border-radius: 10rem;
  font-size: 2rem;
  font-weight: 700;
  background-position: right 5.5rem center;
  letter-spacing: 0.2rem;
  background-size: 3.8rem auto;
}
.comLink.big a small {
  font-size: 1.4rem;
  margin-bottom: -0.5rem;
  font-weight: 500;
  display: block;
  letter-spacing: 0.14rem;
}
.comLink.big a span {
  padding-left: 7.5rem;
  background-size: 6rem auto;
}

@media all and (min-width: 769px) {
  .comLink.big a:hover {
    background-position: right 5rem center;
  }
}

@media all and (max-width: 768px) {
  .comLink {
    width: auto;
    margin: 0 auto 3rem;
    max-width: 31rem;
  }
  .comLink a {
    min-height: 6.8rem;
    font-size: 1.4rem;
    padding-right: 4.1rem;
    background-position: right 2.3rem center;
    letter-spacing: 0.14rem;
    background-size: 2.3rem auto;
  }
  .comLink.big {
    max-width: 33rem;
  }
  .comLink.big a {
    padding-right: 5.5rem;
    font-size: 1.4rem;
    min-height: 8rem;
    line-height: 1.45;
    letter-spacing: 0.14rem;
    background-position: right 2.8rem center;
    background-size: 1.5rem auto;
  }
  .comLink.big a span {
    padding-left: 5rem;
    background-size: 4.3rem auto;
  }
}
/*------------------------------------------------------------
	headLine01
------------------------------------------------------------*/
.headLine01 {
  margin: 0 -1.5rem 6.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.42rem;
}
.headLine01 .en {
  margin-bottom: 1.5rem;
  display: block;
}
.headLine01.center {
  padding-top: 3.7rem;
  text-align: center;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.36rem;
}
.headLine01.center .en {
  margin: 4.2rem 0 0;
}
@media all and (max-width: 768px) {
  .headLine01 {
    margin: 0 1.1rem 4.5rem;
    font-size: 1.2rem;
    letter-spacing: 0.36rem;
  }
  .headLine01 .en {
    margin-bottom: 1.1rem;
    width: auto;
  }
  .headLine01 .en > img {
    width: auto;
    max-width: inherit;
    max-height: 3.8rem;
  }
}

/*------------------------------------------------------------
	headLine02
------------------------------------------------------------*/
.headLine02 {
  margin-bottom: 7.4rem;
  font-size: 3.4rem;
  font-weight: 700;
  letter-spacing: 0.51rem;
  position: relative;
  line-height: 1;
  padding-left: 2.7rem;
}
.headLine02:after {
  width: 0.7rem;
  background-color: var(--basecolor);
  position: absolute;
  top: 0.4rem;
  left: 0;
  bottom: -0.1rem;
  content: "";
  border-radius: 0.5rem;
}
.headLine02::before {
  width: 0.7rem;
  background-color: var(--color09);
  position: absolute;
  top: 0.4rem;
  height: 1.1rem;
  left: 0;
  content: "";
  z-index: 1;
  border-radius: 0.5rem 0.5rem 0 0;
}
.headLine02.small {
  margin-bottom: 5rem;
  font-size: 3rem;
  letter-spacing: 0.45rem;
}
@media all and (min-width: 769px) {
  .headLine02.small::before {
    width: 0.6rem;
  }
  .headLine02.small::after {
    width: 0.6rem;
  }
}

@media all and (max-width: 768px) {
  .headLine02 {
    margin: 0 1rem 4.3rem;
    padding-top: 0.1rem;
    padding-left: 2rem;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.27rem;
  }
  .headLine02::after {
    top: 0.5rem;
    bottom: 0.1rem;
    width: 0.5rem;
  }
  .headLine02::before {
    height: 0.7rem;
    top: 0.5rem;
    width: 0.5rem;
  }
  .headLine02.small {
    margin: 0 0 2.9rem;
    font-size: 1.6rem;
    letter-spacing: 0.24rem;
  }
}

/*------------------------------------------------------------
	headLine03
------------------------------------------------------------*/
.headLine03 {
  margin-bottom: 1.6rem;
  font-size: 2rem;
  color: var(--color03);
  letter-spacing: 0.2rem;
  font-weight: 700;
}

@media all and (max-width: 768px) {
  .headLine03 {
    margin-right: -2rem;
    margin-bottom: 1.4rem;
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
  }
}

/*------------------------------------------------------------
	headLine04
------------------------------------------------------------*/
.headLine04 {
  padding-bottom: 1.2rem;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  color: var(--color08);
  position: relative;
  margin-bottom: 1.5rem;
  border-bottom: 1px solid var(--color04);
}
.headLine04:after {
  width: 5rem;
  height: 1px;
  background-color: var(--color09);
  position: absolute;
  bottom: -1px;
  left: 0;
  content: "";
}
.headLine04:has(span)::after {
  display: none;
}
.headLine04:has(span) {
  padding-bottom: 0;
}
.headLine04:has(span) span {
  width: fit-content;
  display: inline-block;
  position: relative;
  padding-bottom: 1.2rem;
}
.headLine04:has(span) span::after {
  width: 100%;
  height: 2px;
  background-color: var(--color09);
  position: absolute;
  bottom: -2px;
  left: 0;
  content: "";
}

@media all and (max-width: 768px) {
  .headLine04 {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.16rem;
  }
  .headLine04:has(span) span {
    padding-bottom: 1.8rem;
  }
}

/*------------------------------------------------------------
	comLink02
------------------------------------------------------------*/
.comLink02 {
  width: 36.7rem;
  margin: 0 auto;
}
.comLink02 a {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 5rem;
  min-height: 6.9rem;
  font-size: 1.8rem;
  font-weight: 700;
  color: var(--color08);
  padding-right: 1.5rem;
  letter-spacing: 0.18rem;
  border: 1px solid var(--color08);
  background: url(img/common/icon02.png.webp) no-repeat right 4.5rem center;
  background-size: 2.1rem auto;
}

@media all and (min-width: 769px) {
  .comLink02 a:hover {
    color: #fff;
    border-color: var(--color09);
    background-color: var(--color09);
    background-image: url(img/common/icon02_white.png.webp);
  }
}

@media all and (max-width: 768px) {
  .comLink02 {
    width: auto;
    max-width: 31rem;
  }
  .comLink02 a {
    min-height: 6.8rem;
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
    background-position: right 4rem center;
  }
}
/*------------------------------------------------------------
	contactBox
------------------------------------------------------------*/
.contactBox {
  position: relative;
  z-index: 1;
  padding: 10rem 0 6rem;
  background: url(img/common/bg01.jpg.webp) no-repeat center;
  background-size: cover;
  border-radius: 6rem 6rem 0px 0px;
  box-shadow: 0px 0px 5.71rem 0px rgba(224, 229, 236, 0.1);
}
.contactBox .content {
  max-width: 117rem;
}
.contactBox .headLine01 {
  color: #fff;
  margin: 0 -1.1rem 2.7rem;
}
.contactBox p {
  color: #fff;
}
.contactList {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 2rem;
  margin: 0 -1.5rem;
}
.contactList li {
  margin: 0;
  width: calc((100% - 2rem) / 2);
}
.contactList li .comLink {
  width: auto;
}
.contactList a {
  font-size: 2rem;
  padding-right: 7rem;
  min-height: 12rem;
  font-weight: 700;
  border-radius: 10rem;
  letter-spacing: 0.2rem;
  background-image: url(img/common/icon15.png.webp);
  background-size: 3.7rem auto;
  background-position: right 5.8rem center;
}
.contactList small {
  margin-bottom: -0.5rem;
  display: block;
  font-size: 1.4rem;
  font-weight: 400;
  letter-spacing: 0.14rem;
}
.contactList a span {
  background-size: 6rem auto;
  padding-left: 7.5rem;
}
.contactList .liStyle a span {
  background-image: url(img/common/email.png.webp);
}

@media all and (min-width: 769px) {
  .contactList a:hover {
    background-position: right 5rem center;
  }
}

@media all and (max-width: 768px) {
  .contactBox {
    border-radius: 4rem 4rem 0px 0px;
    padding: 6rem 0 4.5rem;
    background-image: url(img/common/bg01_sp.png);
    box-shadow: 0px 0px 5.71rem 0px rgba(224, 229, 236, 0.1);
  }
  .contactBox .headLine01 {
    margin: 0 1.2rem 2.8rem;
  }
  .contactBox p {
    margin: 0 2rem 2.4rem;
    font-size: 1.4rem;
    line-height: 1.6;
    letter-spacing: 0.14rem;
  }
  .contactList {
    display: block;
    margin: 0;
  }
  .contactList li {
    width: auto;
    max-width: 33rem;
    margin: 0 auto;
  }
  .contactList li .comLink {
    width: auto;
    margin-bottom: 1.5rem;
    max-width: inherit;
  }
  .contactList a {
    padding: 0 4rem 0 0;
    min-height: 8rem;
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
    background-size: 1.5rem auto;
    background-position: right 2.3rem center;
  }
  .contactList a small {
    font-size: 1.1rem;
    letter-spacing: 0.11rem;
  }
  .contactList a span {
    padding-left: 4.6rem;
    margin-right: -0.5rem;
    background-size: 4.3rem auto;
  }
  .contactList .liStyle a span {
    padding-left: 4.3rem;
    margin-right: 0;
    background-size: 3.7rem auto;
  }
}
/*------------------------------------------------------------
	common//
------------------------------------------------------------*/
@media all and (max-width: 768px) {
}

/*------------------------------------------------------------
	works
------------------------------------------------------------*/
#main .worksBox {
  margin-bottom: 7.1rem;
  padding: 3.2rem 4rem 4rem;
  border-radius: 1rem;
  background: url(img/common/icon11.png.webp) no-repeat right 4rem top 4rem #e8f0fa;
  background-size: 1.2rem auto;
}
#main .worksBox.on {
  background-image: url(img/common/icon10.png.webp);
}
#main .worksBoxSub {
  display: none;
  padding-top: 2.7rem;
}
#main .worksTtl {
  cursor: pointer;
  font-size: 1.4rem;
  letter-spacing: 0.14rem;
  font-weight: 600;
  color: var(--color08);
  padding-left: 2.4rem;
  background: url(img/common/icon09.png.webp) no-repeat left top 0.8rem;
  background-size: 1.5rem auto;
}
#main .worksTtl02 {
  margin-bottom: 0.7rem;
  font-size: 1.2rem;
  letter-spacing: 0.12rem;
  font-weight: 600;
  color: var(--color08);
}
#main .tagUl {
  margin-bottom: 2.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.7rem;
}
#main .tagUl:last-child {
  margin-bottom: 0;
}
#main .tagUl p,
#main .tagUl a {
  padding: 0.1rem 1.8rem;
  display: inline-block;
  background-color: #fff;
  border-radius: 5rem;
  font-size: 1.5rem;
  color: var(--color09);
  letter-spacing: 0.15rem;
}
#main .tagUl .on a {
  color: #fff;
  background-color: var(--color09);
}
#main .tagUl .on .ico::after {
  background-color: #fff;
}
#main .tagUl .ico {
  position: relative;
  padding-left: 1.5rem;
}
#main .tagUl .ico:after {
  width: 8px;
  height: 8px;
  background-color: var(--color09);
  position: absolute;
  border-radius: 100%;
  top: 0.7rem;
  left: 0;
  content: "";
}
#main .worksList {
  display: flex;
  flex-wrap: wrap;
  gap: 6.7rem 0;
  margin: 0 -2rem 6.5rem;
}
#main .ulBox {
  margin-bottom: 6.6rem;
}
#main .worksList:last-child {
  margin-bottom: 0;
}
#main .worksList > li {
  margin: 0 2rem;
  width: calc(50% - 4rem);
}
#main .worksList a {
  position: relative;
  display: block;
}
#main .worksList .photoBox {
  margin-bottom: 2.1rem;
  position: relative;
}
#main .worksList .photo {
  border-radius: 0.5rem;
  overflow: hidden;
  position: relative;
  aspect-ratio: 1160 / 600;
}
#main .worksList .tagUl {
  padding-right: 1rem;
  position: absolute;
  bottom: -0.2rem;
  left: 1.5rem;
  margin: 0;
}
#main .worksList .tagUl p {
  padding: 0.2rem 0.5rem;
  font-size: 1.3rem;
  letter-spacing: 0.195rem;
  min-width: 7.4rem;
  text-align: center;
  font-weight: 700;
  border-radius: 5px 5px 0px 5px;
  box-shadow: 2px -2px 4px 0px rgba(0, 0, 0, 0.25);
}
#main .worksList .photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: all ease 0.3s;
}
#main .worksList .textBox {
  padding: 0 1rem;
}
#main .worksList .textBox p {
  margin-bottom: 0.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.14rem;
}
#main .worksList .textBox .txt {
  margin-bottom: 1rem;
  font-size: 2rem;
  text-align: justify;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1rem;
}
#main .tagList {
  display: flex;
  flex-wrap: wrap;
  gap: 0 1.4rem;
}
#main .tagList li {
  font-size: 1.2rem;
  color: var(--color05);
  letter-spacing: 0.12rem;
}
#main .worksList02 > li {
  width: calc(33.33% - 4rem);
}
#main .worksList02 .photo {
  aspect-ratio: 746 / 440;
}
#main .worksList02 .tagUl {
  left: 1rem;
}
#main .worksList02 .textBox .txt {
  font-size: 1.6rem;
  text-align: left;
  line-height: 1.5;
  padding-top: 0.3rem;
  letter-spacing: 0.08rem;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  text-overflow: ellipsis;
}
#toc_container {
  margin: 0 !important;
  display: block !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}

@media all and (min-width: 769px) {
  #main .tagUl a:hover {
    color: #fff;
    background-color: var(--color09);
  }
  #main .tagUl a:hover span::after {
    background-color: #fff;
  }
  #main .worksList a:hover .photo img {
    transform: scale(1.05);
  }
  #main .worksList a:hover .textBox {
    color: var(--color09);
  }
  #main .worksList a:hover .tagList li {
    color: var(--color09);
  }
  #main .worksList a:hover .textBox .subList li {
    opacity: 1;
    color: var(--color09);
  }
}

@media all and (max-width: 768px) {
  #main .worksBox {
    padding: 2.3rem 2.5rem 3rem;
    margin: 0 -0.5rem 5rem;
    background-position: right 2.5rem top 3rem;
  }
  #main .worksBoxSub {
    padding-top: 1.7rem;
  }
  #main .worksTtl02 {
    margin-bottom: 0.5rem;
  }
  #main .tagUl {
    gap: 1.1rem 0.7rem;
  }
  #main .tagUl p,
  #main .tagUl a {
    padding-bottom: 0.2rem;
  }
  #main .worksList {
    margin: 0 0 6.4rem;
    display: block;
  }
  #main .worksList > li {
    margin: 0 0 4.5rem;
    width: auto;
  }
  #main .worksList > li:last-child {
    margin-bottom: 0;
  }
  #main .worksList .tagUl {
    left: 1rem;
  }
  #main .worksList .photoBox {
    margin-bottom: 2.2rem;
  }
  #main .worksList .textBox p {
    font-size: 1.2rem;
    margin-bottom: 0.1rem;
    letter-spacing: 0.12rem;
  }
  #main .worksList .textBox .txt {
    font-size: 1.6rem;
    margin-bottom: 0.6rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }
  #main .ulBox {
    overflow: hidden;
    margin-bottom: 2.2rem;
  }
  #main .worksList02 {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem 0;
    margin-bottom: -1px !important;
  }
  #main .worksList02 > li {
    padding: 0 1.5rem 2.8rem;
    width: 50%;
    margin-bottom: 1rem;
    border-bottom: 1px solid var(--color04);
  }
  #main .worksList02 > li:nth-child(2n - 1) {
    padding-left: 0;
  }
  #main .worksList02 > li:nth-child(2n) {
    padding-right: 0;
  }
  #main .worksList02 .tagUl {
    bottom: 0;
    left: 0.5rem;
  }
  #main .worksList02 .tagUl p {
    font-size: 1rem;
    min-width: 4.5rem;
    border-radius: 0.5rem;
  }
  #main .worksList02 .tagUl .ico {
    padding-left: 1rem;
  }
  #main .worksList02 .tagUl .ico::after {
    width: 0.4rem;
    height: 0.4rem;
  }
  #main .worksList02 .photo {
    aspect-ratio: 160 / 90;
  }
  #main .worksList02 .photoBox {
    margin-bottom: 1.5rem;
  }
  #main .worksList02 .textBox {
    padding: 0;
  }
  #main .worksList02 .textBox p {
    margin-bottom: 0.4rem;
    font-size: 1rem;
    line-height: 1.5;
    letter-spacing: 0.1rem;
  }
  #main .worksList02 .textBox .txt {
    font-size: 1.2rem;
    margin-bottom: 0.8rem;
    line-height: 1.4;
    letter-spacing: 0.06rem;
  }
  #main .worksList02 .textBox p:last-child {
    margin-bottom: 0;
  }
  #main .worksList02 .tagList {
    gap: 0rem 1.4rem;
  }
  #main .worksList02 .tagList li {
    margin-bottom: -0.3rem;
  }
}

/*------------------------------------------------------------
	materials
------------------------------------------------------------*/
#main .materialsList > li > a {
  height: 100%;
  padding: 1.9rem 2rem 3rem;
  background-color: #fff;
  border-radius: 1rem;
  position: relative;
}
#main .worksList > li > a .textImg {
  position: absolute;
  top: -2rem;
  left: -2rem;
  z-index: 1;
  width: 10rem;
}
#main .worksList > li > a .textImg > img {
  animation: spin 10s linear infinite;
}
#main .worksList > li > a .textImg span {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
#main .worksList > li > a .textImg span img {
  width: 2rem;
}
#main .materialsList {
  margin-bottom: 7rem;
}
#main .materialsList .photo {
  border-radius: 0;
  aspect-ratio: 1080 / 580;
}
#main .materialsList .photoBox:after {
  width: 2.5rem;
  height: 3.4rem;
  background: url(img/common/img02.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -0.7rem;
  left: 1rem;
  content: "";
}
#main .worksList .textBox .subList {
  margin-bottom: 1.5rem;
}
#main .worksList .textBox .subList li {
  font-size: 1.2rem;
  letter-spacing: 0.12rem;
  line-height: 1.6;
  color: var(--basecolor);
  opacity: 0.6;
  text-indent: -1em;
  padding-left: 1em;
}
#main .worksList02.materialsList {
  gap: 4rem 0;
}
#main .worksList02.materialsList > li > a {
  padding: 1.4rem 1.2rem 3rem;
}
#main .worksList02.materialsList .textBox .txt {
  margin-bottom: 1.4rem;
}
#main .worksList02.materialsList .textBox .subList {
  margin-bottom: 1.3rem;
}
#main .worksList02.materialsList .photo {
  aspect-ratio: 698 / 380;
}
#main .worksList02.materialsList .photoBox {
  margin-bottom: 1.9rem;
}
@media all and (max-width: 768px) {
  #main .materialsList > li {
    margin-bottom: 2rem;
  }
  #main .materialsList > li > a {
    padding: 1.4rem 1.2rem 3rem;
  }
  #main .materialsList {
    margin-bottom: 3.9rem;
  }
  #main .materialsList .photo {
    aspect-ratio: 326 / 185;
  }
  #main .materialsList .photoBox {
    margin-bottom: 2.4rem;
  }
  #main .materialsList .textBox .txt {
    margin-bottom: 1.3rem;
  }
  #main .materialsList .photoBox::after {
    left: 0.8rem;
  }
  #main .worksList02.materialsList > li > a {
    padding: 0.9rem 0.7rem 2.4rem;
  }
  #main .worksList02.materialsList > li {
    border: none;
    margin-bottom: 0;
    padding: 0 0.5rem;
  }
  #main .worksList02.materialsList {
    margin: 0 -0.5rem;
    gap: 2rem 0;
  }
  #main .worksList02.materialsList .photoBox {
    margin-bottom: 1.2rem;
  }
  #main .worksList02.materialsList .textBox {
    padding: 0 1rem;
  }
  #main .worksList02.materialsList .photo {
    aspect-ratio: 156 / 90;
  }
  #main .worksList02.materialsList .photoBox::after {
    width: 1.2rem;
    height: 1.6rem;
    top: -0.4rem;
    left: 0.4rem;
  }
  #main .worksList02.materialsList .tagUl {
    bottom: -0.5rem;
  }
  #main .worksList02.materialsList .tagUl p {
    min-width: 4.8rem;
  }
  #main .worksList02.materialsList .textBox .subList {
    display: none;
  }
  #main .worksList02.materialsList .textBox .txt {
    margin-bottom: 0.5rem;
  }
  #main .worksList > li > a .textImg {
    width: 7rem;
    top: -1.2rem;
    left: -1.2rem;
    height: 7rem;
  }
  #main .worksList > li > a .textImg span img {
    width: 1.5rem;
  }
}

/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#main .mainBox {
  margin: 0 auto;
  max-width: 70rem;
  padding-top: 3.8rem;
}
#contact h2 {
  margin-bottom: 0.4rem;
  font-size: 1.8rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.18rem;
}
#contact .txt {
  margin-bottom: 5.7rem;
  font-size: 1.3rem;
  letter-spacing: 0.13rem;
  text-align: center;
}
.wpcf7-list-item {
  margin-left: 0 !important;
}
#main .contactDl {
  margin-bottom: 5.5rem;
}
.mktoForm .mktoLabel,
#main .contactDl dt {
  float: none !important;
  margin-bottom: 0.7rem;
  display: flex;
  align-items: center;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.18rem;
}
.mktoForm .mktoLabel {
  font-size: 1.6rem;
}
.mktoForm .mktoOffset {
  display: none !important;
}
.mktoForm {
  width: auto !important;
}
.mktoForm .mktoFormCol,
.mktoForm .mktoFieldWrap {
  float: none !important;
}
.mktoForm .mktoFieldWrap {
  margin-bottom: 1rem;
}
.mktoForm .mktoOffset {
  line-height: inherit !important;
}
.mktoForm .mktoLabel {
  width: auto !important;
  font-size: 1.8rem !important;
  line-height: inherit !important;
  padding-top: 0 !important;
}
#main .contactDl dt .must {
  margin: 0.2rem 0 0 0.6rem;
  width: 3.5rem;
  display: inline-block;
  font-size: 1.2rem;
  color: #fff;
  font-weight: 600;
  text-align: center;
  padding-bottom: 0.1rem;
  line-height: 1.5;
  letter-spacing: 0.06rem;
  background-color: var(--color02);
  border-radius: 0.3rem;
}
#main .contactDl dd {
  margin-bottom: 3.2rem;
  letter-spacing: 0.18rem;
  font-size: 1.8rem;
}
.mktoForm input[type="email"],
.mktoForm input[type="tel"],
.mktoForm input[type="text"],
.contactDl input[type="email"],
.contactDl input[type="tel"],
.contactDl input[type="text"] {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0.5rem;
  height: 6.3rem;
  color: #000;
  border: 1px solid var(--color05);
  box-sizing: border-box;
  font-size: 1.8rem;
  padding: 0 2.4rem;
  width: 100%;
  letter-spacing: 0.18rem;
  background-color: #fff;
}
.mktoForm input[type="email"],
.mktoForm input[type="tel"],
.mktoForm input[type="text"] {
  font-size: 1.5rem;
  height: 4rem;
  float: none !important;
  width: 100% !important;
  padding: 0 1.5rem !important;
}
.mktoForm input[type="checkbox"] {
  display: inline-block;
}
.mktoForm select {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0.5rem;
  height: 4rem;
  width: 100% !important;
  color: #000;
  box-sizing: border-box;
  border: 1px solid var(--color05);
  font-size: 1.5rem;
  padding: 0 1.5rem !important;
  float: none !important;
  letter-spacing: 0.18rem;
  background: url(img/common/icon01.png.webp) no-repeat right 1rem center #fff;
  background-size: 1rem auto;
}
.mktoForm textarea,
.contactDl textarea {
  resize: vertical;
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  border-radius: 0.5rem;
  height: 30rem;
  color: #000;
  border: 1px solid var(--color05);
  box-sizing: border-box;
  font-size: 1.6rem;
  padding: 1.5rem 2.4rem;
  text-align: left;
  width: 100%;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.16rem;
  background-color: #fff;
}
.mktoForm textarea {
  width: 100% !important;
  height: 20rem !important;
  margin-bottom: 3rem !important;
  float: none !important;
  font-size: 1.5rem !important;
  padding: 1.5rem 1.5rem !important;
}
input::-webkit-input-placeholder {
  /* WebKit browsers */
  color: var(--color05);
  opacity: 1;
}
input:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: var(--color05);
  opacity: 1;
}
input::-moz-placeholder {
  color: var(--color05);
  opacity: 1;
}
input:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: var(--color05);
  opacity: 1;
}
textarea::-webkit-input-placeholder {
  /* WebKit browsers */
  color: var(--color05);
  opacity: 1;
}
textarea:-moz-placeholder {
  /* Mozilla Firefox 4 to 18 */
  color: var(--color05);
  opacity: 1;
}
textarea::-moz-placeholder {
  color: var(--color05);
  opacity: 1;
}
textarea:-ms-input-placeholder {
  /* Internet Explorer 10+ */
  color: var(--color05);
  opacity: 1;
}
input[type="checkbox"] {
  display: none;
}
input[type="checkbox"] + span {
  background: url(img/common/check01.png.webp) no-repeat left center;
  background-size: 2.2rem auto;
  border-radius: 0;
  display: inline-block;
  line-height: 2.2rem;
  cursor: pointer;
  padding: 0.4rem 0 0.6rem 3.2rem;
}
input[type="checkbox"]:checked + span {
  background-image: url("img/common/check02.png.webp");
}
#contact .checkP a {
  text-decoration: underline;
  color: var(--color01);
}
#contact .checkP a:hover {
  opacity: 0.7;
}
.submit {
  text-align: center;
}
.submit li {
  margin-bottom: 2rem;
}
.submit li:last-child {
  margin-bottom: 0;
}
.submit li input {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100%;
  height: 10rem;
  border-radius: 5rem;
  text-align: center;
  cursor: pointer;
  color: #fff;
  border: none;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
  background: url(img/common/icon02_white.png.webp) no-repeat right 6rem center var(--color08);
  background-size: 3.7rem auto;
}
.mktoButtonRow {
  display: block !important;
}
.mktoButtonWrap {
  margin-left: 0 !important;
  display: block !important;
}
.mktoButton {
  appearance: none;
  -moz-appearance: none;
  -webkit-appearance: none;
  width: 100% !important;
  height: 7rem !important;
  border-radius: 5rem !important;
  text-align: center;
  cursor: pointer;
  color: #fff !important;
  border: none !important;
  font-size: 2rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.2rem !important;
  background: url(img/common/icon02_white.png.webp) no-repeat right 6rem center var(--color08) !important;
  background-size: 3.7rem auto !important;
}
#contact.thanks .headLine01 {
  color: var(--color08);
  font-size: 2rem;
  margin-bottom: 2.8rem;
  letter-spacing: 0.3rem;
  text-align: center;
}
#contact.thanks .headLine01 .en {
  display: block;
  width: fit-content;
  margin: -12.3rem auto -22rem;
  position: relative;
  z-index: -1;
}
#contact.thanks .headLine01 .en svg {
  height: 44.2rem !important;
}
#contact.thanks .headLine01 .en .img {
  position: absolute;
  top: 3.5rem;
  right: 12rem;
}
#contact.thanks p {
  color: var(--color08);
  margin-bottom: 7.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.21rem;
  text-align: center;
}
#main .topLink {
  text-align: center;
}
#main .topLink .txtSpan img {
  vertical-align: 0.2rem;
}
#main .topLink .txtSpan {
  display: inline-block;
  transition: 0.3s;
}
.c-btn__arrow_icon {
  margin-left: 1rem;
  display: inline-block;
  width: 4rem;
  aspect-ratio: 40 / 22;
  border: 1px solid var(--color08);
  border-radius: 5rem;
  position: relative;
  overflow: hidden;
}
.c-btn__arrow_icon::before,
.c-btn__arrow_icon::after {
  content: "";
  display: block;
  width: 1.7rem;
  position: absolute;
  top: -0.1em;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  transition: opacity 0.3s ease, transform 0.3s ease;
  background: url("img/common/icon02_thin.png.webp") no-repeat center center/contain;
  background-size: 100% auto;
}
.c-btn__arrow_icon::before {
  transform: translateX(-240%);
  opacity: 0;
}
.white .c-btn__arrow_icon {
  border-color: #fff;
}
.white .c-btn__arrow_icon::before,
.white .c-btn__arrow_icon::after {
  background-image: url(img/common/icon02_white.png.webp);
}
@media all and (min-width: 769px) {
  .submit li input:hover {
    opacity: 0.7;
  }
  .mktoButton:hover {
    opacity: 0.7;
  }
  #contact.thanks #pagePath {
    margin-bottom: 6rem;
  }
  a:hover .c-btn__arrow_icon::before {
    transform: translateX(0%);
    opacity: 1;
  }
  a:hover .c-btn__arrow_icon::after {
    transform: translateX(240%);
    opacity: 0;
  }
  #contact .headLine01 .en > img {
    width: 40.7rem;
  }
  #contact.thanks .headLine01 .en > img {
    width: 61.5rem;
  }
  #contact.thanks .headLine01 .en .img img {
    width: 6.3rem;
  }
  #main .topLink .txtSpan img {
    width: 11.5rem;
  }
  a:hover .c-btn__arrow_icon {
    border-color: var(--color09);
    background-color: var(--color09);
  }
  a:hover .c-btn__arrow_icon::before,
  a:hover .c-btn__arrow_icon::after {
    filter: invert(100%) brightness(200%);
  }
  .white a:hover .c-btn__arrow_icon::before,
  .white a:hover .c-btn__arrow_icon::after {
    filter: brightness(200%);
  }
  #main .topLink a:hover .txtSpan {
    transform: translateX(-5px);
  }
  #contact .mktoForm textarea,
  #contact .mktoForm input[type="email"],
  #contact .mktoForm input[type="tel"],
  #contact .mktoForm input[type="text"] {
    height: 6.3rem;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.8rem;
    padding: 0 2.4rem !important;
  }
  #contact .mktoForm select {
    height: 6.3rem;
    font-size: 1.8rem;
    padding: 0 2.4rem !important;
    font-family: "Noto Sans JP", sans-serif;
  }
  #contact .mktoForm textarea {
    height: 30rem !important;
    font-size: 1.8rem !important;
    padding: 1.5rem 2.4rem !important;
  }
  #contact .mktoForm .mktoFormCol {
    margin-bottom: 3.2rem !important;
  }
  #contact .mktoForm button.mktoButton {
    height: 10rem !important;
    animation: none;
    font-family: "Noto Sans JP", sans-serif;
  }
}

@media all and (max-width: 768px) {
  #main .mainBox {
    padding-top: 1.1rem;
    max-width: inherit;
  }
  #contact h2 {
    font-size: 1.4rem;
    margin-bottom: 0.8rem;
    letter-spacing: 0.14rem;
  }
  #contact .txt {
    font-size: 1.1rem;
    line-height: 1.6;
    margin-bottom: 4rem;
    letter-spacing: 0.11rem;
  }
  #main .contactDl {
    margin: 0 2rem 3.2rem;
  }
  #main .contactDl dt {
    margin-bottom: 0.9rem;
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
  }
  #main .contactDl dd {
    margin-bottom: 2.3rem;
  }
  .contactDl textarea {
    height: 25rem;
  }
  input[type="checkbox"] + span {
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
  }
  .submit {
    margin: 0 2rem;
  }
  .submit li input {
    max-width: 31rem;
    height: 6.8rem;
    font-size: 1.4rem;
    padding-right: 2rem;
    letter-spacing: 0.14rem;
    background-size: 2.2rem auto;
    background-position: right 4rem center;
  }
  .mktoButton {
    display: block !important;
    margin: 0 auto !important;
    max-width: 31rem !important;
    height: 6.8rem !important;
    font-size: 1.4rem !important;
    padding-right: 2rem !important;
    letter-spacing: 0.14rem !important;
    background-size: 2.2rem auto !important;
    background-position: right 4rem center !important;
  }
  .mktoForm {
    padding: 0 !important;
  }
  .mktoForm * {
    padding: 0 !important;
  }
  .mktoForm input[type="email"],
  .mktoForm input[type="tel"],
  .mktoForm input[type="text"] {
    height: 4rem !important;
    font-size: 1.5rem !important;
  }
  .mktoForm select {
    height: 4rem !important;
    font-size: 1.5rem !important;
  }
  .mktoForm textarea {
    padding-top: 0.5rem !important;
    font-size: 1.5rem !important;
  }
  #main .mainBox {
    max-width: inherit;
  }
  #contact.thanks #pagePath {
    margin-bottom: 5.2rem;
  }
  #contact.thanks .headLine01 {
    margin: 0 auto 3.3rem;
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
  }
  #contact.thanks .headLine01 .en {
    margin: -6.3rem -5rem -13rem;
    display: block;
  }
  #contact.thanks .headLine01 .en > img {
    max-height: 4.4rem;
  }
  #contact.thanks .headLine01 .en .img {
    width: 3.6rem;
    top: 2rem;
    right: 7rem;
  }
  #contact.thanks .headLine01 .en svg {
    height: auto !important;
    margin: 0 -4rem;
  }
  #contact.thanks p {
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0.195rem;
  }
  .c-btn__arrow_icon {
    margin-left: 1.5rem;
  }
  .wpcf7-spinner {
    position: absolute;
    bottom: -4rem;
  }
  #contact .mrktform {
    margin: 0 2rem;
  }
  #contact .mktoForm .mktoFormCol .mktoLabel {
    font-size: 1.6rem !important;
  }
  #contact .mktoForm textarea,
  #contact .mktoForm input[type="email"],
  #contact .mktoForm input[type="tel"],
  #contact .mktoForm input[type="text"] {
    height: 6.3rem !important;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 1.6rem !important;
    padding: 0 1.5rem !important;
    letter-spacing: 0.02em;
  }
  #contact .mktoForm select {
    height: 6.3rem !important;
    font-size: 1.6rem !important;
    letter-spacing: 0.02em;
    font-family: "Noto Sans JP", sans-serif;
  }
  #contact .mktoForm textarea {
    height: 25rem !important;
    font-size: 1.6rem !important;
    letter-spacing: 0.02em;
    padding: 1.5rem 1.5rem !important;
  }
  #contact .mktoForm .mktoFormCol {
    margin-bottom: 2.3rem !important;
  }
  #contact .mktoForm button.mktoButton {
    height: 6.8rem !important;
    animation: none;
    font-family: "Noto Sans JP", sans-serif;
  }
}

/*------------------------------------------------------------
	faq
------------------------------------------------------------*/
#faq .mainBox {
  margin: 0 auto;
  max-width: 100rem;
}
#main .comTextList {
  margin: -16.2rem 0 15.4rem 10.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
}
#main .comTextList li {
  line-height: 1;
  border-right: 1px solid var(--color05);
}
#main .comTextList li:last-child {
  border-right: none;
}
#main .comTextList a {
  padding: 0 2.4rem;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.14rem;
}
#main .faqBox {
  margin-bottom: 11.5rem;
}
#main .faqBox:last-child {
  margin-bottom: 0;
}
#main .faqList li {
  margin-bottom: 3.2rem;
  padding: 0 1rem 3.4rem;
  border-bottom: 1px solid var(--color05);
}
#main .faqList li:last-child {
  margin-bottom: 0;
}
#main .faqList dt {
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.2rem;
  position: relative;
  padding-left: 3.7rem;
  padding-right: 3rem;
  cursor: pointer;
}
#main .faqList dt::before {
  width: 2.1rem;
  height: 2.5rem;
  background: url(img/faq/imgtext01.svg) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.7rem;
  left: 0;
  content: "";
}
#main .faqList dt::after {
  width: 1.6rem;
  height: 1.6rem;
  background: url(img/common/icon01.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 1rem;
  right: 0.2rem;
  content: "";
}
#main .faqList dt.on::after {
  transform: rotate(180deg);
}
#main .faqList dd {
  display: none;
  padding-top: 3rem;
  line-height: 1.7;
  padding-right: 4rem;
  letter-spacing: 0.16rem;
}
#main .faqList dd span {
  display: inline-block;
  position: relative;
  padding-left: 4rem;
}
#main .faqList dd span:before {
  width: 2.1rem;
  height: 2rem;
  background: url(img/faq/imgtext02.svg) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.2rem;
  left: 0;
  content: "";
}

@media all and (min-width: 769px) {
  #faq .headLine01 .en {
    margin-bottom: 0rem;
  }
  #faq .headLine01 .en > img {
    width: 17.2rem;
  }
  #main .faqList dt:hover::after {
    background-image: url(img/common/icon01_blue.png.webp);
  }
  #main .comTextList a:hover {
    color: var(--color09);
  }
}

@media all and (max-width: 768px) {
  #faq .headLine01 .en img {
    max-height: 4.6rem;
  }
  #faq .headLine01 .en {
    margin-bottom: 0.3rem;
  }
  #faq .headLine01 {
    margin-bottom: 3.8rem;
  }
  #faq .mainBox {
    max-width: inherit;
    padding: 0;
  }
  #main .comTextList {
    margin: 0 1rem 6rem;
    display: block;
  }
  #main .comTextList li {
    margin: 0 0 1.3rem;
    border: none;
    line-height: 1.5;
  }
  #main .comTextList a {
    font-size: 1.2rem;
    padding: 0 0 0 2.1rem;
    font-weight: 500;
    position: relative;
    letter-spacing: 0.12rem;
  }
  #main .comTextList a::before {
    width: 8px;
    height: 1px;
    background-color: var(--color05);
    position: absolute;
    top: 0.9rem;
    left: 0.5rem;
    content: "";
  }
  #main .faqList dt {
    padding-right: 3rem;
    font-size: 1.4rem;
    padding-left: 2.7rem;
    line-height: 1.6;
    letter-spacing: 0.14rem;
  }
  #main .faqList dt::after {
    width: 1.2rem;
    top: 0.6rem;
    right: 0;
  }
  #main .faqList dt::before {
    width: 1.6rem;
    top: 0.3rem;
    left: 0.1rem;
  }
  #main .faqList dd {
    padding-top: 2.9rem;
    padding-right: 0;
    font-size: 1.3rem;
    line-height: 1.6;
    letter-spacing: 0.13rem;
  }
  #main .faqList dd span::before {
    width: 1.6rem;
  }
  #main .faqList dd span {
    padding-left: 2.6rem;
  }
  #main .faqList li {
    margin-bottom: 2.9rem;
    padding-bottom: 3rem;
  }
  #main .faqBox {
    margin-bottom: 6.2rem;
  }
}

/*------------------------------------------------------------
	404
------------------------------------------------------------*/
#page404 p {
  margin-bottom: 2.6rem;
  margin-top: -1.7rem;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 500;
  letter-spacing: 0.21rem;
}
#page404 .headLine01.center {
  padding-top: 0;
  margin-top: -1.2rem;
  margin-bottom: 1.4rem;
}
#page404 .headLine01.center .en {
  margin-top: -0.3rem;
}
@media all and (min-width: 769px) {
}

@media all and (max-width: 768px) {
  #page404 .headLine01.center {
    margin-bottom: 0.2rem;
    margin-top: 0;
    font-size: 1.5rem;
    font-weight: 700;
    letter-spacing: 0.225rem;
    padding-top: 3.2rem;
  }
  #page404 .headLine01.center .en video {
    width: 100%;
  }
  #page404 .headLine01.center .en {
    margin: 0.2rem 0.4rem 0;
  }
  #page404 p {
    margin-bottom: 3.6rem;
    margin-top: 0;
    font-size: 1.3rem;
    font-weight: 500;
    line-height: 160%;
    letter-spacing: 0.195rem;
  }
}

/*------------------------------------------------------------
	materials/contact
------------------------------------------------------------*/
#main .tagTxt {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 1.6rem;
  gap: 1rem 0.5rem;
}
#main .tagTxt span {
  font-size: 1.5rem;
  color: var(--color09);
  font-weight: 600;
  letter-spacing: 0.15rem;
  position: relative;
  padding-left: 1.6rem;
}
#main .tagTxt span:after {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color09);
  position: absolute;
  top: 1.1rem;
  left: 0;
  content: "";
  border-radius: 100%;
}
#main .materialsBox {
  padding-bottom: 4.2rem;
  margin-bottom: 7.7rem;
  border-bottom: 1px solid #8e9097;
}
#main .materialsBox h1,
#main .materialsBox h2 {
  margin-bottom: 2rem;
  font-size: 3.5rem;
  text-align: justify;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.175rem;
}
#main .materialsBox .ttl {
  font-size: 1.8rem;
  line-height: 1.6;
  font-weight: 500;
  padding-top: 0.8rem;
  margin-bottom: 0.5rem;
  letter-spacing: 0.18rem;
}
#main .materialsBox .tagList {
  gap: 1rem 2.5rem;
}
#main .materialsBox .tagList li {
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: 0.15rem;
}
#main .materialsContact .lBox {
  width: 55rem;
  margin-right: 11rem;
}
#main .materialsContact .photo {
  position: relative;
  margin-bottom: 3rem;
}
#main .materialsContact .photo:after {
  width: 2.6rem;
  height: 3.5rem;
  background: url(img/common/img02.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -0.7rem;
  left: 0.9rem;
  content: "";
}
#main .materialsContact .subBox {
  padding: 0 1rem;
}
#main .materialsContact .sub {
  padding-top: 2.7rem;
  border-top: 1px solid rgba(26, 28, 33, 0.5);
}
#main .materialsContact .subBox p {
  font-size: 1.5rem;
  margin-bottom: 3.3rem;
  letter-spacing: 0.15rem;
}
#main .materialsContact .subBox .list li {
  font-size: 1.5rem;
  line-height: 1.8;
  text-indent: -1em;
  padding-left: 1em;
  font-weight: 500;
  letter-spacing: 0.15rem;
}
#main .materialsContact .subBox .ttl {
  margin-bottom: 1.3rem;
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.18rem;
}
#main .materialsContact .rBox {
  margin-top: -0.8rem;
  flex: 1;
}
.materialsContact .contactDl textarea {
  height: 21rem;
}
@media all and (min-width: 769px) {
  #materials .headLine01 .en > img {
    width: 48.5rem;
  }
}

@media all and (max-width: 768px) {
  #main .materials_contact {
    padding-top: 2rem;
  }
  #main .materialsBox {
    margin: 0 2rem 4.7rem;
    padding-bottom: 3.4rem;
    padding-top: 1.2rem;
  }
  #main .tagTxt span {
    font-size: 1.3rem;
    letter-spacing: 0.195rem;
  }
  #main .tagTxt span::after {
    top: 0.8rem;
  }
  #main .materialsBox h1,
  #main .materialsBox h2 {
    margin-bottom: 1.3rem;
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 0.09rem;
  }
  #main .tagTxt {
    margin-bottom: 1rem;
  }
  #main .materialsBox .tagList li {
    font-size: 1.2rem;
    font-weight: 400;
    letter-spacing: 0.12rem;
  }
  #main .materialsBox .tagList {
    gap: 1rem 1.4rem;
  }
  #main .materialsContact {
    margin: 0 2rem;
    display: block;
  }
  #main .materialsContact .lBox {
    width: auto;
    margin: 0 0 9.5rem;
  }
  #main .materialsContact .photo {
    margin-bottom: 3rem;
  }
  #main .materialsContact .subBox {
    padding: 0;
  }
  #main .materialsContact .subBox p {
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
  }
  #main .materialsContact .subBox .ttl {
    margin-bottom: 1.1rem;
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
  }
  #main .materialsContact .subBox .list li {
    font-size: 1.3rem;
    letter-spacing: 0.13rem;
  }
  #main .contactDl {
    margin: 0 2rem 3.5rem;
  }
  .materialsContact .contactDl textarea {
    height: 25rem;
  }
  .materialsContact .submit {
    margin: 0;
    padding-top: 1rem;
  }
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#main .worksDetail .lBox {
  width: 30rem;
  margin-right: 10rem;
  margin-top: -0.6rem;
  margin-bottom: auto;
  top: 8rem;
  position: sticky;
  max-height: calc(100vh - 8rem - 1rem);
  overflow-y: auto;
}
#main .worksDetail .lBox {
  scrollbar-color: #d8e3ef transparent;
  scrollbar-arrow-color: #d8e3ef;
  scrollbar-face-color: #d8e3ef;
}
#main .worksDetail .lBox::-webkit-scrollbar {
  width: 0.5rem;
  background-color: transparent;
}
#main .worksDetail .lBox::-webkit-scrollbar-track {
  background-color: transparent;
}
#main .worksDetail .lBox::-webkit-scrollbar-thumb {
  background-color: #d8e3ef;
}
#main .worksDetail {
  margin-bottom: 16rem;
  margin-top: -0.8rem;
}
#main .worksDetail .rBox {
  flex: 1;
}
#main .worksDetail .lBox .ttl {
  margin-bottom: 1.8rem;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--color05);
  letter-spacing: 0.06rem;
}
#main .toc_list {
  margin-left: 0.9rem;
  padding-left: 3.1rem;
  position: relative;
}
/* #main .toc_list:after {
	width: 2px;  
	border-left: 2px dotted #8F8F97;
	position: absolute;  
	top: 1rem;
	left: 0;
	bottom: 1rem;
	content: ""; 
} */
#main .toc_list > li {
  /* margin-bottom: 3.7rem; */
  padding-bottom: 3.7rem;
  position: relative;
}
#main .toc_list > li:after {
  width: 2px;
  border-left: 2px dotted #8f8f97;
  position: absolute;
  top: 1rem;
  left: -3.1rem;
  bottom: -1rem;
  content: "";
}
#main .toc_list > li:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
}
#main .toc_list > li:last-child::after {
  bottom: 1rem;
}
#main .toc_list > li > a {
  text-decoration: none !important;
  display: inline-block;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.24rem;
  position: relative;
}
#main .toc_list > li > a.on {
  color: var(--color09);
}
#main .toc_list > li > a:after {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--basecolor);
  position: absolute;
  top: 0.8rem;
  left: -3.4rem;
  border-radius: 100%;
  content: "";
  z-index: 1;
}
#main .toc_list > li > a::before {
  width: 2rem;
  height: 2rem;
  background: url(img/common/icon19.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.2rem;
  left: -4rem;
  content: "";
  z-index: 1;
  opacity: 0;
}
#main .toc_list > li > a.on:after {
  background-color: var(--color09);
}
#main .toc_list > li > a.on::before {
  opacity: 1;
}
#main .toc_list > li ul {
  padding: 0.7rem 0 0 1rem;
  margin: 0 !important;
}
#main .toc_list > li ul li {
  margin-bottom: 0.6rem;
}
#main .toc_list > li ul li:last-child {
  margin-bottom: 0;
}
#main .toc_list > li ul a {
  text-decoration: none !important;
  font-size: 1.3rem;
  line-height: 1.45;
  display: inline-block;
  font-weight: 500;
  letter-spacing: 0.195rem;
  position: relative;
}
#main .toc_list > li ul a:after {
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color05);
  position: absolute;
  top: 0.8rem;
  left: -4.2rem;
  border-radius: 100%;
  content: "";
  z-index: 1;
}
#main .worksDetail .mainImg {
  margin-bottom: 6.1rem;
}
#main .worksDetail .mainImg img {
  border-radius: 0.5rem;
  width: 100%;
}
#main .worksDetail p {
  font-weight: 500;
  margin-bottom: 2.5rem;
}
#main .wp-block-table {
  margin: 6.3rem 0 9rem;
  padding: 0.5rem 0 0.7rem;
  background-color: #fff;
  border-radius: 0.5rem;
}
#main .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
}
#main .wp-block-table table td {
  padding: 1.7rem 1rem 1.76rem 2rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
  vertical-align: top;
  letter-spacing: 0.14rem;
  border: none !important;
  border-bottom: 1px solid rgba(170, 185, 200, 0.5) !important;
}
#main .wp-block-table table td:first-child {
  padding: 1.7rem 1rem 1.76rem 5.1rem;
  font-weight: 700;
  width: 32.5%;
}
#main .wp-block-table table tr:last-child td {
  border: none !important;
}
#main .worksDetail h2 {
  margin-bottom: 5.5rem;
  padding-left: 2.7rem;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0.45rem;
  position: relative;
}
#main .worksDetail h2.has-background {
  padding: 0 0 0 2.7rem !important;
  background: none !important;
}
#main .worksDetail h2:after {
  width: 0.6rem;
  background-color: var(--basecolor);
  position: absolute;
  top: 1rem;
  left: 0;
  bottom: 0.3rem;
  content: "";
  border-radius: 0.5rem;
}
#main .worksDetail h2::before {
  width: 0.6rem;
  background-color: var(--color09);
  position: absolute;
  top: 1rem;
  height: 25%;
  left: 0;
  content: "";
  z-index: 1;
  border-radius: 0.5rem 0.5rem 0 0;
}
#main .worksDetail h3 {
  margin-bottom: 1.6rem;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.8;
  color: var(--color03);
  letter-spacing: 0.2rem;
}
#main .worksDetail h3.has-background {
  background: none !important;
  padding: 0 !important;
}
#main .worksDetail p + h2 {
  margin-top: 8.3rem;
}
#main .worksDetail p + .wp-block-image {
  margin-top: 6.5rem;
}
#main .wp-block-image {
  margin-bottom: 6.5rem;
}
#main .wp-block-image img {
  border-radius: 0.5rem;
}
#main .wp-block-image .wp-element-caption {
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 0.8rem;
  display: block;
  letter-spacing: 0.12rem;
}
#main .wp-block-image .wp-element-caption a {
  color: var(--color01);
}
#main .wp-block-image .wp-element-caption a:hover {
  opacity: 0.7;
}
#main .wp-block-image .wp-element-caption a[target="_blank"] {
  display: inline-block;
  padding-left: 1.8rem;
  background: url(img/common/icon18.png.webp) no-repeat left calc(50% + 0.1rem);
  background-size: 1rem;
}
#main .wp-block-columns {
  display: flex;
  gap: 2rem 4rem;
}
#main .has-fixed-layout {
  width: 100%;
  table-layout: inherit !important;
  border-collapse: collapse;
}
#main .has-fixed-layout thead th {
  font-size: 1.4rem;
  padding: 1.95rem 1rem;
  color: #fff;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  letter-spacing: 0.14rem;
  background-color: #50709d;
  border: 1px solid rgba(170, 185, 200, 0.5);
  border-top: none;
}
#main .has-fixed-layout thead th:nth-child(2) {
  border-radius: 0.5rem 0 0 0;
  border-left: none;
}
#main .has-fixed-layout thead th:last-child {
  border-right: none;
  border-radius: 0 0.5rem 0 0;
}
#main .has-fixed-layout thead th:first-child {
  background: none;
  border: none;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout td {
  padding: 1.7rem 3rem 1.7rem 4rem;
  font-weight: 500;
  font-size: 1.4rem;
  text-align: left;
  vertical-align: middle;
  line-height: 1.8;
  letter-spacing: 0.14rem;
  background-color: #fff;
  border: 1px solid rgba(170, 185, 200, 0.5);
}
#main .wp-block-flexible-table-block-table .has-fixed-layout td:last-child {
  border-right: none;
  width: 30%;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout td:first-child {
  background-color: #7eabd8;
  color: #fff;
  width: 15.5%;
  text-align: center;
  padding-left: 1rem;
  padding-right: 1rem;
  border-left: none;
  border-top: none;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout tbody tr:first-child td:first-child {
  border-radius: 0.5rem 0 0 0;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout tbody tr:last-child td:first-child {
  border-radius: 0 0 0 0.5rem;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout tbody tr:last-child td:last-child {
  border-radius: 0 0 0.5rem 0;
}
#main .wp-block-flexible-table-block-table .has-fixed-layout tr:last-child td {
  border-bottom: none;
}
#main .wp-block-flexible-table-block-table {
  margin-bottom: 6rem;
}
#main .worksDetail .construction .ttl {
  font-size: 2rem;
  font-weight: 700;
  color: var(--color03);
  margin-bottom: 2rem;
  letter-spacing: 0.2rem;
}
#main .construction .list {
  margin-left: 1rem;
}
#main .construction .list li {
  margin-bottom: 0.8rem;
}
#main .construction .list a,
#main .construction .list span {
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--color01);
  letter-spacing: 0.24rem;
  display: inline-block;
  position: relative;
  padding-left: 2rem;
}
#main .construction .list a:hover {
  opacity: 0.7;
}
#main .construction .list a:after,
#main .construction .list span:after {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color01);
  position: absolute;
  top: 1.1rem;
  left: 0;
  content: "";
  border-radius: 100%;
}
#main .worksDetail .construction {
  margin-bottom: 6.3rem;
}
#main .worksDetail .innerBox {
  margin-bottom: 5.8rem;
}
#main .worksDetail .inner {
  margin-bottom: 3.8rem;
}
#main .worksDetail .inner:last-child {
  margin-bottom: 0;
}
#main .worksDetail .inner .photoBox {
  width: 7.5rem;
  height: 7.5rem;
  position: relative;
  margin-right: 3.5rem;
}
#main .worksDetail .inner .photoBox img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 100%;
}
#main .worksDetail .inner .textBox {
  flex: 1;
  background-color: #fff;
  border-radius: 1rem;
  position: relative;
  padding: 2.1rem 3rem 2.4rem;
  box-shadow: 0px 0px 0.8rem 0px rgba(0, 0, 0, 0.05);
}
#main .worksDetail .inner .textBox::before {
  width: 2.6rem;
  height: 1.3rem;
  background: url(img/common/com_img01.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 2rem;
  left: -2.2rem;
  content: "";
}
#main .worksDetail .inner .textBox p:last-child {
  margin-bottom: 0;
}
#main .worksDetail .inner .textBox p {
  line-height: 1.8 !important;
}
#main .worksDetail .inner .textBox .name {
  margin-bottom: 0.8rem;
  font-weight: 700;
  color: var(--color09);
}
#main .worksDetail .inner02 .spBox {
  order: 2;
}
#main .worksDetail .inner02 .photoBox {
  margin-right: 0;
  margin-left: 3.5rem;
}
#main .worksDetail .inner02 .textBox::before {
  background-image: url(img/common/com_img02.png.webp);
  left: auto;
  right: -2.2rem;
}
#main .worksDetail .intro > a {
  display: block;
}
#main .worksDetail .intro > a:hover {
  opacity: 0.7;
}
#main .worksDetail .intro .ttl {
  font-size: 2rem;
  margin-bottom: 1.1rem;
  font-weight: 700;
  color: var(--color03);
  letter-spacing: 0.2rem;
}
#main .worksDetail .intro .whiteBox {
  border-radius: 0.5rem;
  padding: 2.8rem 2.8rem 2rem;
  background-color: #fff;
  border: 2px solid var(--color07);
}
#main .worksDetail .intro .imgBox {
  margin-bottom: 0.1rem;
  align-items: flex-start;
}
#main .worksDetail .intro .imgBox .photoBox {
  width: 30.6rem;
  margin-right: 2.3rem;
}
#main .worksDetail .intro .imgBox .photoBox img {
  border-radius: 0.5rem;
  width: 100%;
}
#main .worksDetail .intro .imgBox .textBox {
  flex: 1;
  padding-top: 1.2rem;
}
#main .worksDetail .intro .imgBox p {
  font-size: 1.2rem;
  line-height: 1.6;
  margin-bottom: 0;
  font-weight: 500;
  letter-spacing: 0.12rem;
}
#main .worksDetail .intro .imgBox .ttl02 {
  font-size: 1.3rem;
  font-weight: 700;
  color: var(--color09);
  margin-bottom: 0.2rem;
  letter-spacing: 0.13rem;
}
#main .worksDetail .intro .imgBox .ttl03 {
  font-size: 1.4rem;
  line-height: 1.6;
  font-weight: 600;
  margin-bottom: 0.8rem;
  letter-spacing: 0.14rem;
}
#main .worksDetail .intro {
  margin-bottom: 7rem;
}
#main .comLinkP a {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color01);
  letter-spacing: 0.12rem;
  padding-left: 1.8rem;
  background: url(img/common/icon18.png.webp) no-repeat left top 0.7rem;
  background-size: 1rem auto;
}
#main .comLinkP a:hover {
  opacity: 0.7;
}
#main .projects {
  padding: 13rem 0 17.7rem;
  background-color: #fff;
}
#main .worksDetail .linkP {
  text-align: right;
  margin-top: -0.2rem;
}
#main .worksDetail .linkP a {
  padding-right: 3rem;
  display: inline-flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color08);
  letter-spacing: 0.21rem;
  background: url(img/common/icon02_thin.png.webp) no-repeat right center;
  background-size: 1.7rem auto;
}
#main .worksDetail .linkP img {
  margin-left: 0.2rem;
}
#main .worksDetail .linkP a:hover {
  opacity: 0.7;
}
#pageDetail #main {
  margin-bottom: -5rem;
}
#main .detailBox .information {
  background-color: #fff;
  padding: 13rem 0;
}
#main .detailBox .information .ulBox {
  border: none;
  padding-top: 0;
}
#main .operating {
  padding: 15.3rem 0 0;
  position: relative;
}
#main .operating .airplane {
  position: absolute;
  top: 4.4rem;
  left: 6.5rem;
  z-index: 10;
  transform: scaleX(-1) rotate(-6.5deg);
}
#main .operating .airplane img {
  /* animation: 2s ease-in-out infinite alternate sway; */
}
#main .operating .textImg {
  width: 354rem;
  margin-bottom: -3.5rem;
  margin-left: 1rem;
}
#main .operatingBox {
  padding: 13rem 0 19.5rem;
  background-color: #eff3fa;
}
#main .operatingBox .content {
  max-width: 102rem;
}
#main .operatingBox .headLine02 {
  margin: 0 -3rem 4rem;
}
#main .comDl {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
  justify-content: space-between;
}
#main .comDl > dt {
  width: 24.4rem;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.16rem;
  color: var(--color08);
  padding: 3.1rem 1rem 3.2rem 2rem;
  border-bottom: 1px solid var(--color04);
}
#main .comDl > dd {
  padding: 3.1rem 1rem 3.2rem 0;
  line-height: 1.8;
  font-weight: 500;
  letter-spacing: 0.16rem;
  width: calc(100% - 24.4rem);
  border-bottom: 1px solid var(--color04);
}
#main .comDl > dd a:hover {
  opacity: 0.7;
}
#main .comDl > dt:last-of-type,
#main .comDl > dd:last-of-type {
  border: none;
}
#main .comDl .subDl dt {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.15rem;
}
#main .comDl .subDl dd {
  margin-bottom: 3rem;
  font-size: 1.4rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.14rem;
}
#main .comDl .subDl dd:last-child {
  margin-bottom: 0;
}
#main .comDl .linkSpan {
  display: block;
  margin-top: 0.7rem;
}
#main .comDl .linkSpan a {
  color: #000;
  font-size: 1.4rem;
  font-weight: 600;
  display: inline-block;
  letter-spacing: 0.07rem;
  padding: 0 0 0rem 1.8rem;
  color: var(--color01);
  background: url(img/common/google.png.webp) no-repeat left center;
  background-size: 1.4rem auto;
}
#main .comDl .linkSpan a:hover {
  opacity: 0.7;
}
#about #main {
  margin-bottom: -7rem;
}
@media all and (min-width: 769px) {
  #main .detailBox #pagePath {
    margin-bottom: 2.2rem;
  }
  #main .toc_list a:hover {
    color: var(--color09);
  }
}

@media all and (max-width: 768px) {
  #main .detailBox .materialsBox {
    margin: 0 0 4.8rem;
    padding: 3.3rem 1rem 3.4rem;
  }
  #main .materialsBox .ttl {
    padding-top: 0.2rem;
    font-size: 1.2rem;
    margin-bottom: 0.3rem;
    letter-spacing: 0.12rem;
  }
  #main .materialsBox h1 {
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }
  #main .worksDetail {
    margin-bottom: 6rem;
    display: block;
  }
  #main .worksDetail .lBox {
    margin: 0 0 5.2rem;
    padding: 1.8rem 2.5rem 3.1rem;
    width: auto;
    background-color: #fff;
    box-shadow: 0px 0px 3rem 0px rgba(88, 94, 120, 0.03);
    border-radius: 0.5rem;
    position: relative;
    top: auto;
  }
  #main .worksDetail .mainImg {
    margin-bottom: 3rem;
  }
  #main .worksDetail .lBox .ttl {
    overflow: hidden;
    margin-bottom: 2.5rem;
  }
  #main .worksDetail .lBox .ttl span {
    position: relative;
    padding-right: 1.5rem;
  }
  #main .worksDetail .lBox .ttl span:after {
    width: 9999px;
    height: 1px;
    background-color: rgba(170, 185, 200, 0.5);
    position: absolute;
    top: 50%;
    margin-top: -1px;
    left: 100%;
    content: "";
  }
  #main .toc_list {
    padding-left: 0;
  }
  #main .toc_list > li ul a::after,
  #main .toc_list > li > a::after,
  #main .toc_list > li > a::before,
  #main .toc_list::after {
    display: none;
  }
  #main .toc_list > li ul {
    padding: 0.9rem 0 0 1rem;
  }
  #main .toc_list > li > a {
    line-height: 1.5;
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
  }
  #main .toc_list > li ul a {
    font-size: 1.2rem;
    line-height: 1.5;
    letter-spacing: 0.18rem;
  }
  #main .toc_list > li ul li {
    margin-bottom: 0.8rem;
  }
  #main .toc_list > li {
    padding-bottom: 0;
    margin-bottom: 2.7rem;
  }
  #main .toc_list > li::after {
    display: none;
  }
  #main .worksDetail .rBox > p {
    margin-left: 1rem;
    margin-right: 1rem;
  }
  #main .worksDetail p {
    margin-bottom: 2.3rem;
  }
  #main .wp-block-table {
    margin: 5.3rem 0 5.6rem;
    padding: 0 0 0rem;
  }
  #main .wp-block-table table td {
    float: left;
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: 0.13rem;
    width: 100% !important;
    padding: 0.2rem 1rem 2.4rem 3rem;
  }
  #main .wp-block-table table td:first-child {
    border: none !important;
    padding: 2.1rem 0 0 3rem;
  }
  #main .worksDetail h2 {
    margin: 0 1rem 4.3rem;
    padding-top: 0.1rem;
    padding-left: 2rem;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.24rem;
  }
  #main .worksDetail h2.has-background {
    padding: 0.1rem 0 0 2rem !important;
  }
  #main .worksDetail h2::after {
    top: 0.4rem;
    bottom: 0.1rem;
    width: 0.5rem;
  }
  #main .worksDetail h2::before {
    height: 0.7rem;
    top: 0.4rem;
    width: 0.5rem;
  }
  #main .worksDetail h3 {
    margin: 0 1rem 1.7rem;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 0.21rem;
  }
  #main .worksDetail p + h2 {
    margin-top: 5rem;
  }
  #main .worksDetail p + .wp-block-image {
    margin-top: 4.3rem;
  }
  #main .wp-block-image {
    text-align: center;
    margin: 0 1rem 4.7rem;
  }
  #main .wp-block-image .wp-element-caption {
    font-size: 1.2rem;
    line-height: 1.4;
    margin-top: 1.6rem;
    letter-spacing: 0.12rem;
    text-align: left;
  }
  #main .wp-block-image .wp-element-caption a[target="_blank"] {
    background-position: left top 0.5rem;
    text-align: left;
  }
  #main .wp-block-image .wp-element-caption a {
    text-align: left;
  }
  #main .has-fixed-layout thead th {
    font-size: 1.2rem;
    padding: 0.9rem 0.5rem;
    letter-spacing: 0.12rem;
  }
  #main .wp-block-flexible-table-block-table .has-fixed-layout td:first-child {
    width: 21%;
  }
  #main .wp-block-flexible-table-block-table {
    padding-bottom: 2.5rem;
    margin: 0 -2rem 4rem 1rem;
    overflow-x: auto;
  }
  #main .wp-block-flexible-table-block-table table {
    width: 100%;
    min-width: 52rem;
  }
  #main .wp-block-flexible-table-block-table .has-fixed-layout td {
    font-size: 1rem;
    vertical-align: top;
    padding: 1.15rem 0.5rem 1.15rem 1.2rem;
    letter-spacing: 0.1rem;
  }
  #main .wp-block-flexible-table-block-table .has-fixed-layout td:first-child {
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
    padding-left: 0.3rem;
    vertical-align: middle;
    padding-right: 0.3rem;
  }
  #main .worksDetail .construction {
    margin: 0 1rem 4.4rem;
  }
  #main .worksDetail .construction .ttl {
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
    margin-bottom: 1.5rem;
  }
  #main .construction .list {
    margin-left: 0;
  }
  #main .construction .list li {
    margin-bottom: 1rem;
  }
  #main .construction .list a,
  #main .construction .list span {
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
  }
  #main .construction .list a::after,
  #main .construction .list span::after {
    top: 0.9rem;
  }
  #main .worksDetail .innerBox {
    margin: 0 1rem 4rem;
  }
  #main .worksDetail .inner {
    margin-bottom: 1.9rem;
    display: block;
  }
  #main .worksDetail .inner02 .spBox {
    order: inherit;
  }
  #main .worksDetail .inner .photoBox {
    margin: 0 2rem 0 0;
    width: 6rem;
    height: 6rem;
    flex-shrink: 0;
  }
  #main .worksDetail .inner .textBox {
    padding: 1.2rem 2rem;
  }
  #main .worksDetail .inner .spBox {
    margin-bottom: 1.7rem;
    display: flex;
    align-items: center;
    justify-content: flex-start;
  }
  #main .worksDetail .inner .spBox .name {
    margin-bottom: 0;
    font-size: 1.4rem;
    font-weight: 700;
    color: var(--color09);
    letter-spacing: 0.14rem;
  }
  #main .worksDetail .inner .textBox::before {
    width: 1.3rem;
    height: 2.6rem;
    top: -1.3rem;
    left: 2.7rem;
    background-image: url(img/common/com_img_sp.png.webp);
  }
  #main .worksDetail .intro {
    margin: 0 1rem 5rem;
  }
  #main .worksDetail .intro .ttl {
    font-size: 1.4rem;
    letter-spacing: 0.21rem;
    margin-bottom: 1.4rem;
  }
  #main .worksDetail .intro .imgBox {
    display: block;
  }
  #main .worksDetail .intro .imgBox .photoBox {
    width: auto;
    margin: 0;
  }
  #main .worksDetail .intro .imgBox .photo {
    margin-bottom: 0.6rem;
  }
  #main .worksDetail .intro .whiteBox {
    padding: 1.7rem 2.3rem 3rem;
  }
  #main .worksDetail .intro .imgBox .textBox {
    padding: 0;
  }
  #main .worksDetail .intro .imgBox .ttl03 {
    line-height: 1.5;
    margin-bottom: 1.5rem;
  }
  #main .worksDetail .intro .imgBox .ttl02 {
    margin-bottom: 0.4rem;
  }
  #main .comLinkP {
    margin-bottom: 0.7rem;
  }
  #main .comLinkP a {
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
  }
  #main .worksDetail .linkP {
    margin-top: 2.8rem;
  }
  #main .projects {
    padding: 5.6rem 1rem 14.7rem;
  }
  #main .projects .worksList02 {
    display: block;
  }
  #main .projects .worksList02 > li {
    width: auto;
    border: none;
    padding: 0;
    margin-bottom: 3.8rem;
  }
  #main .projects .worksList02 > li:last-child {
    margin-bottom: 0;
  }
  #main .projects .worksList02 .photoBox {
    margin-bottom: 2.5rem;
  }
  #main .projects .worksList02 .photo {
    aspect-ratio: 330 / 180;
  }
  #main .projects .worksList02 .textBox {
    padding: 0 1rem;
  }
  #main .projects .worksList02 .textBox p {
    margin-bottom: 0rem;
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
  }
  #main .projects .worksList02 .textBox .txt {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }
  #main .projects .worksList02 .tagUl p {
    min-width: 7.4rem;
    font-size: 1.3rem;
  }
  #main .projects .worksList02 .tagUl {
    bottom: -0.3rem;
    left: 1rem;
  }
  #main .projects .worksList02 .tagUl .ico::after {
    width: 0.8rem;
    height: 0.8rem;
    top: 0.6rem;
    left: -0.3rem;
  }
  #main .detailBox .information {
    margin-left: 0;
    padding: 5.5rem 0 14rem 1rem;
  }
  #main .information .worksList02 .tagUl {
    bottom: -0.2rem;
    gap: 0.5rem 0.7rem;
  }
  .wp-block-flexible-table-block-table .simplebar-scrollbar::before {
    opacity: 1;
    background-color: #ccc;
    background-color: var(--color09);
  }
  .simplebar-track.simplebar-horizontal .simplebar-scrollbar::before {
    left: 0;
    right: 0;
  }
  .wp-block-flexible-table-block-table .simplebar-track.simplebar-vertical {
    top: 10px;
    bottom: 10px;
    right: 10px;
    width: 10px;
    box-sizing: border-box;
    background-color: #fff;
    display: none;
  }
  .wp-block-flexible-table-block-table .simplebar-scrollbar {
    border-radius: 50px;
  }
  .simplebar-track.simplebar-horizontal .simplebar-scrollbar {
    top: 0;
    bottom: 0;
    height: auto;
  }
  .simplebar-track.simplebar-horizontal {
    right: 3rem;
    left: 0;
    height: 5px;
    border-radius: 0.5rem;
    background-color: var(--color04);
  }
}

/*------------------------------------------------------------
	column
------------------------------------------------------------*/
#main .materialsBox .date {
  font-size: 1.8rem;
  color: var(--color05);
  font-weight: 500;
  padding: 0.5rem 0;
  letter-spacing: 0.18rem;
}
#main .worksDetail .note {
  width: fit-content;
  margin: 0 auto 6rem;
  padding-top: 2rem;
  font-weight: 500;
  color: var(--color01);
  padding: 0.7rem 0 0.5rem 4.5rem;
  background: url(img/common/img03.png.webp) no-repeat left top 0.8rem;
  background-size: 3rem auto;
  letter-spacing: 0.16rem;
}
#main .detailBox .wp-block-quote {
  margin: 7rem 0 5.7rem;
  border-radius: 0.5rem;
  position: relative;
  background-color: #fff;
  padding: 3.8rem 2rem 4.2rem 8.3rem;
  border: 2px solid var(--color07);
}
#main .detailBox .wp-block-quote:after {
  width: 3.2rem;
  height: 3rem;
  background: url(img/common/img04.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 2.8rem;
  left: 2.8rem;
  content: "";
}
#main .detailBox .wp-block-quote p {
  margin-bottom: 0;
}
#main .detailBox .wp-block-quote a {
  display: inline-block;
  font-size: 1.2rem;
  font-weight: 500;
  color: var(--color01);
  letter-spacing: 0.12rem;
  padding-left: 1.9rem;
  margin-top: 2.5rem;
  background: url(img/common/icon18.png.webp) no-repeat left top 0.8rem;
  background-size: 1rem auto;
}
#main .detailBox .wp-block-quote a:hover {
  text-decoration: none;
  opacity: 0.7;
}
#main .articlesBox {
  position: relative;
  background-color: #fff;
  padding: 3rem;
  align-items: flex-start;
  border: 1px solid var(--color05);
}
#main .articlesBox .jsBao {
  position: absolute;
  inset: 0;
  display: block;
  z-index: 1;
}
#main .articlesBox .photoBox {
  width: 15rem;
  margin-right: 3rem;
  aspect-ratio: 1;
  position: relative;
}
#main .articlesBox .photoBox img {
  border-radius: 0.5rem;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main .articlesBox .textBox {
  padding-top: 0.5rem;
  flex: 1;
}
#main .worksDetail .articlesBox p {
  margin-bottom: 1.3rem;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: 0.08rem;
}
#main .worksDetail .articlesBox .tagTxt {
  margin-bottom: 1.2rem;
  line-height: 1.8;
}
#main .worksDetail .articlesBox .tagTxt span {
  font-size: 1.3rem;
}
#main .worksDetail .articlesBox .tagTxt span::after {
  top: 0.8rem;
}
#main .worksDetail .articlesBox .textBox .date {
  font-size: 1.1rem;
  margin-bottom: 0.5rem;
  color: var(--color05);
  letter-spacing: 0.11rem;
}
.comLink.style {
  margin-top: 7rem;
}
.comLink.style a span {
  background: none;
  padding-left: 1.3rem;
}
@media all and (min-width: 769px) {
  #main .articlesBox .jsBao:hover {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@media all and (max-width: 768px) {
  #main .materialsBox .date {
    font-size: 1.2rem;
    padding: 0 0 0.2rem;
    letter-spacing: 0.12rem;
  }
  #main .worksDetail .note {
    padding-left: 4.2rem;
    margin: 0 6rem 4.2rem !important;
    width: auto;
    font-size: 1.2rem;
    line-height: 1.5;
    background-position: left center;
    letter-spacing: 0.12rem;
  }
  #main .detailBox .wp-block-quote {
    margin: 5rem 1rem 4rem;
    padding: 2.4rem 2rem 2.7rem 5rem;
  }
  #main .detailBox .wp-block-quote::after {
    width: 2.2rem;
    height: 2rem;
    top: 1.2rem;
    left: 1.2rem;
  }
  #main .detailBox .wp-block-quote a {
    margin-top: 1.5rem;
  }
  #main .worksDetail .articlesBox {
    padding: 1.8rem 1.9rem 2.2rem;
    display: block;
  }
  #main .worksDetail .articlesBox .photoBox {
    width: auto;
    margin: 0;
    aspect-ratio: 290 / 150;
    position: relative;
  }
  #main .worksDetail .articlesBox .photoBox img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  #main .worksDetail .articlesBox .textBox {
    padding: 0 1rem;
  }
  #main .worksDetail .articlesBox p {
    font-size: 1.6rem;
    letter-spacing: 0.08rem;
    margin-bottom: 0.4rem;
  }
  #main .worksDetail .articlesBox .textBox .date {
    font-size: 1rem;
    letter-spacing: 0.1rem;
    margin-bottom: 0.2rem;
  }
  #main .worksDetail .articlesBox .tagTxt {
    margin: -1.7rem 0 1.9rem;
    color: var(--color09);
    letter-spacing: 0.15rem;
    position: relative;
  }
  #main .worksDetail .articlesBox .tagTxt span {
    font-size: 1rem;
    padding-left: 1rem;
    min-width: 4.7rem;
    text-align: center;
    background-color: #fff;
    border-radius: 0.5rem 0.5rem 0rem 0.5rem;
    display: inline-block;
    box-shadow: 0.2rem -0.2rem 0.4rem 0rem rgba(0, 0, 0, 0.25);
  }
  #main .worksDetail .articlesBox .tagTxt span::after {
    width: 0.4rem;
    left: 0.8rem;
    top: 0.7rem;
    height: 0.4rem;
  }
  .comLink.style {
    margin-top: 5rem;
  }
}

/*------------------------------------------------------------
	privacy
------------------------------------------------------------*/
#privacy .mainBox {
  max-width: 100rem;
  margin: 0 auto;
  padding-top: 4.6rem;
}
#privacy .headLine02 {
  margin-bottom: 3.2rem;
}
#privacy .linkP {
  margin-bottom: 0;
}
#privacy .linkP a {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 600;
  color: var(--color01);
  letter-spacing: 0.21rem;
}
#privacy .linkP a img {
  vertical-align: 0;
  margin-left: 0.5rem;
}
#privacy .linkP a:hover {
  opacity: 0.7;
}
#privacy p {
  margin-bottom: 1.6rem;
}
#privacy p:last-child {
  margin-bottom: 0;
}
#privacy .sec01 {
  margin-bottom: 7rem;
}
@media all and (min-width: 769px) {
  #privacy .headLine01 .en img {
    width: 71.4rem;
  }
}

@media all and (max-width: 768px) {
  #privacy .headLine01 .en > img {
    max-height: 8.3rem;
  }
  #privacy .mainBox {
    max-width: inherit;
    padding: 1.5rem 2rem 0;
  }
  #privacy .headLine02 {
    margin: 0 0 2rem;
  }
  #privacy .sec01 {
    margin-bottom: 5.6rem;
  }
  #privacy .linkP a {
    line-height: 1.45;
  }
  #privacy .linkP {
    margin-bottom: 1.2rem;
  }
}

/*------------------------------------------------------------
	column
------------------------------------------------------------*/
#main .articlesBox02 {
  padding: 5.4rem;
  margin-bottom: 9.5rem;
  position: relative;
}
#main .articlesBox02 .textImg {
  position: absolute;
  top: 2.4rem;
  left: 2.4rem;
  z-index: 10;
}
#main .articlesBox02 .textImg > img {
  animation: spin 10s linear infinite;
}
#main .articlesBox02 .textImg span {
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  text-align: center;
  transform: translateY(-50%);
}
@keyframes spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
#main .articlesBox02 .photoBox {
  aspect-ratio: inherit;
  width: 53.9rem;
  margin-right: 4.4rem;
}
#main .articlesBox02 .textBox {
  padding-top: 0.7rem;
}
#main .articlesBox02 .textBox p {
  font-size: 1.3rem;
  letter-spacing: 0.13rem;
  margin-bottom: 0;
}
#main .articlesBox02 .textBox .tagTxt {
  margin-bottom: 1.1rem;
}
#main .articlesBox02 .textBox .tagTxt span {
  font-size: 1.3rem;
  font-weight: 700;
}
#main .articlesBox02 .textBox .tagTxt span::after {
  top: 0.8rem;
}
#main .articlesBox02 .textBox .date {
  letter-spacing: 0.13rem;
  margin-bottom: 0.4rem;
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color05);
}
#main .articlesBox02 .textBox .ttl {
  font-size: 2rem;
  margin-bottom: 1rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1rem;
}
#main .articlesBox02 .textBox .tagList {
  margin-bottom: 1.2rem;
}
#main .columnLinkUl {
  display: flex;
  gap: 0 4rem;
  margin-bottom: 10rem;
}
#main .columnLinkUl img {
  width: 3.9rem;
  margin-top: 0.5rem;
}
#main .columnLinkUl .tagList {
  align-items: center;
  gap: 0 3.2rem;
}
#main .columnLinkUl .tagList a {
  font-size: 2.4rem;
  font-weight: 500;
  color: var(--color05);
  letter-spacing: 0.24rem;
}
#main .columnLinkUl .tagList a:hover {
  opacity: 0.7;
}
#column .ulBox {
  border-top: 1px solid var(--color05);
}
#main .comList {
  margin: 0 -1px 0 0;
  gap: 0;
}
#main .comJsBox .comList {
  flex-wrap: nowrap;
}
#main .comList > li,
#main .comList .slick-slide > div > li {
  width: 25%;
  margin: 0;
  border-right: 1px solid var(--color05);
  border-bottom: 1px solid var(--color05);
}
#main .comList > .swiper-slide {
  margin-right: -1px;
  border-left: 1px solid var(--color05);
}
#main .comList .slick-slide > div {
  width: 25vw;
}
#main .comList .slick-slide > div > li {
  height: 100%;
}
#main .comList > li > a,
#main .comList .slick-slide > div > li > a {
  height: 100%;
  color: var(--basecolor);
  padding: 5.4rem 5.5rem 5.1rem;
  display: block;
  background-color: #fff;
}
#main .comList .slick-slide > div > li > a {
  border-top: 1px solid var(--color05);
}
#main .comList .photo {
  aspect-ratio: 1;
}
#main .comList .textBox .date {
  font-size: 1.1rem;
  font-weight: 600;
  padding-top: 0.2rem;
  color: var(--color05);
  letter-spacing: 0.11rem;
}
@media all and (min-width: 769px) {
  #main .comList a:hover {
    background-color: var(--color07);
  }
  #main .comList a:hover .date {
    color: var(--color09);
  }
  #column .headLine01 .en img {
    width: 37.1rem;
  }
}

@media all and (max-width: 768px) {
  #main .articlesBox02 {
    margin-bottom: 4.8rem;
    padding: 3rem 2rem 3.4rem;
    display: block;
  }
  #main .articlesBox02 .textImg {
    width: 7rem;
    top: 1.2rem;
    left: 1.2rem;
    height: 7rem;
  }
  #main .articlesBox02 .photoBox {
    width: auto;
    margin: 0;
  }
  #main .articlesBox02 .photoBox img {
    width: 100%;
  }
  #main .articlesBox02 .textImg span img {
    width: 1.5rem;
  }
  #main .articlesBox02 .textBox .tagTxt {
    margin: -1.8rem 0 2.2rem;
    color: var(--color09);
    letter-spacing: 0.15rem;
    position: relative;
  }
  #main .articlesBox02 .textBox .tagTxt span {
    font-size: 1rem;
    padding-left: 1rem;
    min-width: 4.7rem;
    text-align: center;
    padding-bottom: 0.2rem;
    background-color: #fff;
    border-radius: 0.5rem 0.5rem 0rem 0;
    display: inline-block;
    box-shadow: 0.2rem -0.2rem 0.4rem 0rem rgba(0, 0, 0, 0.25);
  }
  #main .articlesBox02 .textBox .tagTxt span::after {
    width: 0.4rem;
    left: 0.8rem;
    top: 0.7rem;
    height: 0.4rem;
  }
  #main .articlesBox02 .textBox {
    padding: 0 1rem;
  }
  #main .articlesBox02 .textBox .date {
    font-size: 1rem;
    margin-bottom: 0rem;
    letter-spacing: 0.1rem;
  }
  #main .articlesBox02 .textBox .ttl {
    font-size: 1.6rem;
    line-height: 1.5;
    margin-bottom: 0.5rem;
    letter-spacing: 0.08rem;
  }
  #main .articlesBox02 .textBox .text {
    line-height: 1.6;
    padding-top: 0.3rem;
  }
  #main .columnLinkUl .tagList a {
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
  }
  #main .columnLinkUl {
    margin-bottom: 4.6rem;
  }
  #main .comList > li,
  #main .comList .slick-slide > div > li {
    width: calc(50%);
    padding: 0 !important;
  }
  #main .comList > li > a,
  #main .comList .slick-slide > div > li > a {
    padding: 3rem 2rem 2.6rem;
  }
  #main .comList .tagUl p {
    min-width: 4.7rem;
    font-size: 1rem;
  }
  #main .comList .tagUl {
    left: 0.5rem;
  }
  #main .comList .tagUl .ico::after {
    width: 0.4rem;
    height: 0.4rem;
    top: 0.6rem;
    left: 0.1rem;
  }
  #main .comList .photoBox {
    margin-bottom: 1.2rem;
  }
  #main .comList .textBox .date {
    font-size: 1rem;
    margin-bottom: 0.3rem;
  }
  #main .comList .textBox .txt {
    font-size: 1.2rem;
    line-height: 1.4;
    letter-spacing: 0.06rem;
  }
  #main .comList {
    margin-bottom: 0 !important;
  }
  #column .ulBox {
    margin-bottom: 5rem;
  }
}

/*------------------------------------------------------------
	service
------------------------------------------------------------*/
#service .mainBox {
  padding-top: 4.5rem;
  max-width: 112rem;
}
#service .headLine02 {
  margin-bottom: 3.2rem;
}
#service .text {
  font-weight: 500;
  max-width: 100rem;
}
#service .sec01 {
  margin-bottom: 11rem;
}
#main .purposeList {
  padding: 0.9rem 0;
}
#main .purposeList li {
  margin-bottom: -1px;
  border-top: 1px solid var(--color05);
  border-bottom: 1px solid var(--color05);
}
#main .purposeList a {
  padding-right: 6rem;
  padding: 1.8rem 1rem;
  display: flex;
  align-items: center;
  position: relative;
}
#main .purposeList a img {
  width: 5rem;
}
#main .purposeList .rSpan {
  letter-spacing: 0.12rem;
  font-size: 1.2rem;
  font-weight: 600;
}
#main .purposeList .lSpan {
  margin-right: 2.7rem;
  flex-shrink: 0;
  display: flex;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.375rem;
  align-items: center;
}
#main .purposeList .rSpan .subSpan {
  font-size: 1.2rem;
  color: var(--color05);
  font-weight: 600;
  letter-spacing: 0.12rem;
  display: inline-block;
  margin-right: 0.5rem;
  position: relative;
}
/* #main .purposeList .rSpan .subSpan:last-child::after {
	display: none;
}
#main .purposeList .rSpan .subSpan:after {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--color05);
	letter-spacing: 0.12rem;
	position: absolute;  
	top: 0;
	right: 0;  
	content: "/"; 
} */
#main .purposeList .img {
  margin: 0.2rem 2rem 0 0;
}
#main .purposeList .c-btn__arrow_icon {
  position: absolute;
  right: 0;
  border: none;
  width: 5rem;
}
#main .purposeList .c-btn__arrow_icon::before,
#main .purposeList .c-btn__arrow_icon::after {
  width: 3.2rem;
  background-image: url(img/common/icon22.png.webp) !important;
}
#service .inner {
  margin-bottom: 14.6rem;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#service .inner .lBox {
  margin-right: 10rem;
  width: 56.1rem;
}
#service .inner .rBox {
  flex: 1;
}
#main .serviceList {
  padding-top: 1.9rem;
  display: flex;
  flex-wrap: wrap;
}
#main .inner:last-child {
  margin-bottom: 0;
}
#main .serviceList li {
  margin-bottom: -1px;
  margin-right: -1px;
  width: 50%;
  border: 1px solid var(--color04);
}
#main .serviceList li a {
  height: 100%;
  display: block;
  padding: 2.1rem 2.9rem 2rem;
  background-color: #fff;
}
#main .inner .lBox .serviceList li:nth-child(2n - 1) {
  border-right: none;
}
#main .serviceList h3 {
  margin-bottom: 2.3rem;
  letter-spacing: 0.24rem;
}
#main .serviceList .img {
  width: 10rem;
  margin: 0 auto 2.2rem;
}
#main .serviceList p {
  font-size: 1.3rem;
  font-weight: 500;
  letter-spacing: 0.13rem;
}
#main .inner .rBox .serviceList {
  display: block;
}
#main .inner .rBox .serviceList li {
  width: 28.1rem;
}
#main .serviceList .c-btn__arrow_icon {
  margin-left: auto;
  display: block;
  margin-right: -1rem;
  width: 5rem;
  border-color: transparent;
}
#main .serviceList .c-btn__arrow_icon::before,
#main .serviceList .c-btn__arrow_icon::after {
  width: 3.2rem;
  background-image: url(img/common/icon22.png.webp);
}
#service .information .purposeList {
  padding-top: 2rem;
}
@media all and (min-width: 769px) {
  #service .headLine01 .en > img {
    width: 34.6rem;
  }
  #main .serviceList li a:hover {
    border-color: var(--color04);
    color: var(--color09);
    background-color: var(--color07);
  }
  #main .serviceList li a:hover .en img {
    filter: grayscale(100%) brightness(200%);
  }
  #main .serviceList a:hover .c-btn__arrow_icon::before,
  #main .serviceList a:hover .c-btn__arrow_icon::after {
    background-image: url(img/common/icon23.png.webp);
    filter: none;
  }
  #main .serviceList a:hover .c-btn__arrow_icon {
    background-color: transparent;
  }
  #main .purposeList a:hover {
    color: var(--color09);
    background-color: var(--color07);
  }
  #main .purposeList a:hover .c-btn__arrow_icon::before,
  #main .purposeList a:hover .c-btn__arrow_icon::after {
    background-image: url(img/common/icon23.png.webp);
    filter: none;
  }
  #main .purposeList a:hover .rSpan .subSpan {
    color: var(--color09);
  }
  #main .purposeList a:hover .c-btn__arrow_icon {
    background-color: transparent;
  }
}

@media all and (max-width: 768px) {
  #service .mainBox {
    max-width: inherit;
    padding: 1.5rem 2rem 0;
  }
  #service .headLine02 {
    margin: 0 0 2rem;
  }
  #service .sec01 {
    margin-bottom: 5.6rem;
  }
  #main .purposeList a {
    padding: 1.2rem 0 2.5rem 1rem;
    display: block;
  }
  #main .purposeList .lSpan {
    margin: 0 0 0.8rem;
    font-size: 1.6rem;
    letter-spacing: 0.24rem;
  }
  #main .purposeList .img {
    margin-right: 1rem;
  }
  #main .purposeList .rSpan {
    font-size: 1.2rem;
    line-height: 1.8;
    display: block;
    letter-spacing: 0.12rem;
  }
  #main .purposeList .c-btn__arrow_icon {
    bottom: auto;
    top: 2.5rem;
  }
  #main .purposeList .c-btn__arrow_icon::before,
  #main .purposeList .c-btn__arrow_icon::after {
    width: 2.7rem;
  }
  #service .inner {
    display: block;
    margin-bottom: 6.5rem;
  }
  #service .inner .lBox {
    width: auto;
    margin: 0 0 6.4rem;
  }
  #main .serviceList {
    padding-top: 0.9rem;
  }
  #main .serviceList li a {
    padding: 1.2rem 1.8rem 0.9rem;
  }
  #main .serviceList h3 {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
    letter-spacing: 0.18rem;
  }
  #main .serviceList .img {
    width: 7.5rem;
    margin-bottom: 1.4rem;
  }
  #main .serviceList p {
    margin-bottom: 0.8rem;
    font-size: 1.1rem;
    line-height: 1.55;
    letter-spacing: 0.11rem;
  }
  #main .inner .rBox .serviceList li {
    width: 50%;
  }
}

/*------------------------------------------------------------
	service
------------------------------------------------------------*/
.servicePage #container {
  overflow: inherit;
  overflow-x: clip;
}
#main .serviceInner {
  margin-bottom: 16.1rem;
  padding-top: 4.4rem;
  align-items: flex-start;
}
#main .serviceInner .lBox {
  margin-right: 4rem;
  width: 35rem;
  position: sticky;
  top: 10rem;
  left: 0;
}
#main .serviceInner .lBox h2 {
  letter-spacing: 0.48rem;
  font-size: 3.2rem;
  font-weight: 700;
  margin-bottom: 3.5rem;
}
#main .serviceInner .lBox h2 .en {
  display: block;
  font-size: 1.2rem;
  letter-spacing: 0.06rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--basecolor);
}
#main .serviceInner .lBox .img {
  margin: 0 auto 4.2rem;
  width: 24.8rem;
  height: 24.8rem;
  background-color: #fff;
  text-align: center;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  filter: drop-shadow(0rem 0rem 3rem rgba(88, 94, 120, 0.03));
}
#main .serviceInner .lBox .img img {
  width: 17rem;
}
#main .serviceInner .sInner {
  margin-left: 2rem;
}
#main .serviceInner .sInner .ttl {
  font-size: 1.2rem;
  margin-bottom: 2rem;
  color: var(--color05);
  font-weight: 600;
  letter-spacing: 0.06rem;
}
#main .serviceInner .sInner .linkUl {
  position: relative;
  padding-left: 4rem;
}
#main .serviceInner .sInner .linkUl:after {
  width: 2px;
  border-left: 2px dotted var(--basecolor);
  position: absolute;
  top: 1.5rem;
  left: 0.9rem;
  bottom: 1rem;
  content: "";
}
#main .serviceInner .sInner .linkUl li {
  margin-bottom: 2rem;
}
#main .serviceInner .sInner .linkUl li:last-child {
  margin-bottom: 0;
}
#main .serviceInner .sInner .linkUl a {
  display: inline-block;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.24rem;
  position: relative;
}
#main .serviceInner .sInner .linkUl a.on {
  color: var(--color09);
}
#main .serviceInner .sInner .linkUl a::before {
  width: 2rem;
  height: 2rem;
  background: url(img/common/icon19.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 0.6rem;
  left: -4rem;
  content: "";
  z-index: 1;
  opacity: 0;
}
#main .serviceInner .sInner .linkUl a.on::before {
  opacity: 1;
}
#main .serviceInner .sInner .linkUl a:after {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--basecolor);
  position: absolute;
  top: 1.2rem;
  left: -3.4rem;
  border-radius: 100%;
  content: "";
  z-index: 1;
}
#main .serviceInner .sInner .linkUl a.on::after {
  background-color: var(--color09);
}
#main .serviceInner .rBox {
  margin-top: 3rem;
  flex: 1;
}
#main .serviceInner .whiteBox {
  padding: 7rem 7rem 5.5rem;
  background-color: #fff;
  margin-bottom: 5rem;
  border-radius: 2rem;
  box-shadow: 0rem 0rem 3rem 0rem rgba(88, 94, 120, 0.03);
}
#main .serviceInner .whiteBox:last-child {
  margin-bottom: 0;
}
#main .serviceInner .whiteBox .headLine02 {
  margin-bottom: 6rem;
}
#main .serviceInner .whiteBox p {
  font-weight: 400;
  margin-bottom: 2.5rem;
}
#main .serviceInner .whiteBox p:last-child {
  margin-bottom: 0;
}
#main .serviceInner .whiteBox .bigPhoto {
  margin-bottom: 0.5rem;
}
#main .serviceInner .whiteBox .bigPhoto02 {
  margin-bottom: 6rem;
}
#main .serviceInner .whiteBox .bigPhoto img {
  border-radius: 0.5rem;
}
#main .serviceInner .whiteBox .bigPhoto .txtSpan {
  display: block;
  font-size: 1.2rem;
  font-weight: 500;
  margin-top: 0.7rem;
  letter-spacing: 0.12rem;
}
#main .serviceInner .whiteBox .comLinkP {
  margin-bottom: 2.7rem;
}
#main .serviceInner .construction {
  padding-top: 2.2rem;
}
#main .serviceInner .construction .ttl {
  margin-bottom: 1.6rem;
  font-size: 2rem;
  font-weight: 700;
  color: var(--color03);
  letter-spacing: 0.2rem;
}
#main .serviceInner .whiteBox .link {
  margin-bottom: 5rem;
}
#main .serviceInner .whiteBox .text {
  margin-bottom: 5rem;
}
#main .information .comIco {
  display: flex;
  margin-right: 6rem;
  align-items: center;
  justify-content: flex-end;
}
#main .information .comIco > div {
  margin-left: 1.2rem;
  cursor: pointer;
}
#main .information .comIco > div.no {
  pointer-events: none;
}
#main .information .comIco > div.no rect,
#main .information .comIco > div.no path {
  stroke: #aab9c8;
}
#main .information .ulBox {
  padding-top: 2rem;
  margin-bottom: 3rem;
}

#main .information .comList > li {
  width: 36rem;
  border-top: 1px solid var(--color05);
}
#main .information .comList .slick-slide > div {
  width: 36rem;
}
#main .comJsBox {
  margin-left: auto;
  width: calc(50% + 60rem);
}
#main .information {
  margin-bottom: 9rem;
}
#main .information:last-child {
  margin-bottom: 0;
}
#main .information .serviceList {
  margin-bottom: 3rem;
  flex-wrap: nowrap;
}
#main .information .serviceList li {
  width: 28rem;
  margin-right: -1px;
}
#main .serviceInner .whiteBox .textList {
  margin: 0 0 2.5rem 1rem;
}
#main .serviceInner .whiteBox .textList li {
  font-weight: 500;
  position: relative;
  letter-spacing: 0.16rem;
  padding-left: 1.5rem;
}
#main .serviceInner .whiteBox .textList li:after {
  width: 4px;
  height: 4px;
  background-color: currentColor;
  position: absolute;
  border-radius: 100%;
  top: 1.4rem;
  left: 0;
  content: "";
}
@media all and (min-width: 769px) {
  #main .information .comIco > div:hover {
    opacity: 0.7;
  }
  #main .serviceInner .sInner .linkUl a:hover {
    color: var(--color09);
  }

  #main .serviceInner .lBox .spBox {
    min-height: calc(100% - 10rem);
  }
  #main .serviceInner .whiteBox .bigPhoto03 {
    margin-bottom: 2.5rem;
  }
}

@media all and (max-width: 768px) {
  #main .serviceInner {
    margin-bottom: 7.5rem;
    display: block;
    padding-top: 2.5rem;
  }
  #main .serviceInner .lBox {
    width: auto;
    position: static;
    margin: 0 0 4rem;
  }
  #main .serviceInner .lBox h2 {
    padding: 0 0.5rem 1rem;
    font-size: 2rem;
    margin-bottom: 2rem;
    letter-spacing: 0.3rem;
    border-bottom: 1px solid var(--basecolor);
  }
  #main .serviceInner .lBox h2 .en {
    font-size: 1rem;
    border: none;
    padding-bottom: 0;
    margin-bottom: 0;
    letter-spacing: 0.05rem;
  }
  #main .serviceInner .lBox .spBox {
    display: flex;
    align-items: stretch;
  }
  #main .serviceInner .lBox .img {
    margin: 0rem 2.5rem 0rem 0.5rem;
    width: 12.5rem;
    height: 12.5rem;
  }
  #main .serviceInner .lBox .img img {
    width: 7.5rem;
  }
  #main .serviceInner .sInner {
    position: static;
    padding-left: 2.5rem;
    margin: 0;
    padding-bottom: 0.5rem;
    border-left: 1px solid var(--color04);
  }
  #main .serviceInner .sInner .linkUl {
    padding: 0;
    border: none;
  }
  #main .serviceInner .sInner .linkUl a::before,
  #main .serviceInner .sInner .linkUl a::after,
  #main .serviceInner .sInner .linkUl::after {
    display: none;
  }
  #main .serviceInner .sInner .linkUl a {
    font-size: 1.1rem;
    font-weight: 600;
    letter-spacing: 0.165rem;
  }
  #main .serviceInner .sInner .linkUl a.on {
    color: inherit;
  }
  #main .serviceInner .sInner .ttl {
    margin-bottom: 0rem;
    font-size: 1rem;
    letter-spacing: 0.05rem;
  }
  #main .serviceInner .sInner .linkUl li {
    margin-bottom: -0.5rem;
  }
  #main .serviceInner .rBox {
    margin: 0;
  }
  #main .serviceInner .whiteBox {
    border-radius: 1rem;
    margin-bottom: 2rem;
    padding: 3.7rem 3rem 3.5rem;
  }
  #main .serviceInner .whiteBox .headLine02 {
    margin-bottom: 4rem;
  }
  #main .serviceInner .whiteBox p {
    margin-bottom: 2.3rem;
  }
  #main .serviceInner .whiteBox .textList {
    margin: 0 0 2.3rem;
  }
  #main .serviceInner .whiteBox .textList li::after {
    top: 1.2rem;
  }
  #main .serviceInner .whiteBox .bigPhoto {
    margin-bottom: 1.5rem;
    position: relative;
  }
  #main .serviceInner .whiteBox .bigPhoto > img {
    width: 100%;
  }
  #main .serviceInner .whiteBox .bigPhoto .comSearch {
    position: absolute;
    bottom: -0.2rem;
    right: -0.2rem;
    width: 5rem;
  }
  #main .serviceInner .comLinkP a {
    line-height: 1.4;
    background-position: left 0.5rem;
  }
  #main .serviceInner .whiteBox .comLinkP {
    margin-bottom: 3.8rem;
  }
  #main .serviceInner .construction {
    padding-top: 0;
  }
  #main .serviceInner .construction .ttl {
    font-size: 1.4rem;
  }
  #main .serviceInner .whiteBox .text {
    margin-bottom: 3.5rem;
  }
  #main .serviceInner .whiteBox .bigPhoto02 {
    margin-bottom: 4rem;
  }
  #main .information {
    margin: 0 0 3.6rem 1rem;
  }
  #main .comJsBox {
    margin-right: 1px;
    width: auto;
  }
  #main .information .ulBox {
    margin-bottom: 1.6rem;
    padding-top: 0.8rem;
    margin-left: 1.9rem;
  }
  #main .information .comList > li {
    width: 19.5rem;
  }
  #main .information .comIco {
    margin-right: 3rem;
  }
  #main .information .comIco > div {
    margin-left: 1.6rem;
  }
  #main .information .comIco > div svg {
    width: 4rem;
    padding-right: 0.1rem;
  }
  #main .information .serviceList {
    padding-left: 2rem;
    margin-bottom: 2.3rem;
  }
  #main .information .serviceList li {
    width: 15.5rem;
  }
  #service .information .purposeList {
    padding-top: 1rem;
    padding-right: 1rem;
  }
}
.mfp-container {
  padding: 8rem 1rem;
  overflow-y: auto;
  position: fixed;
}
img.mfp-img {
  border-radius: 0.5rem;
  padding: 0;
}
.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-bg.mfp-ready {
  opacity: 0.7;
  background-color: var(--basecolor);
}
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0;
}
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.5s ease-out;
  transition: all 0.5s ease-out;
}
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
}
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
}
.mfp-close,
.mfp-bottom-bar,
.mfp-arrow {
  display: none !important;
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#index #gHeader {
  /* background-color: transparent !important;
	box-shadow: none; */
}
#index #container {
  overflow: inherit;
  padding-top: 0;
  overflow-x: clip;
}
#main .mainVisual {
  overflow: hidden;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
}
#main .mainVisual .movie {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#main .mainVisual .movie img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main .mainVisual .movie video {
  position: absolute;
  margin: 0;
  padding: 0;
  /* Windows Chrome GPU加速強制 - 最高優先度 */
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
  border: none;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  opacity: 1;
  transition: opacity ease 0.5s;
}
#main .mainVisual .movie #fix_loop {
  opacity: 0;
}
#main .mainVisual.skip .movie #fix_op {
  opacity: 0;
}
#main .mainVisual.skip .movie #fix_loop {
  opacity: 1;
}

/* 全環境GPU加速最強設定 */
#fix_op,
#fix_loop {
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
  -webkit-backface-visibility: hidden !important;
}

/* 動画切り替え時でもGPU加速維持 */
#fix_op[style],
#fix_loop[style] {
  will-change: transform, opacity !important;
  backface-visibility: hidden !important;
}

/* Windows Chrome 特化GPU加速修正 */
@media screen and (-webkit-min-device-pixel-ratio: 1.25) {
  #main .mainVisual .movie #fix_op,
  #main .mainVisual .movie #fix_loop {
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
  }
  
  /* Windows: 非表示状態でもGPU加速維持 */
  #main .mainVisual .movie #fix_op[style*="display: none"],
  #main .mainVisual .movie #fix_loop[style*="display: none"] {
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
  }
}

/* 高DPI Windows環境用 */
@media screen and (min-resolution: 120dpi) {
  #main .mainVisual .movie video {
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
  }
}

/* Android Chrome GPU加速強制 */
@media screen and (max-width: 768px) and (-webkit-min-device-pixel-ratio: 2) {
  #main .mainVisual .movie #fix_op,
  #main .mainVisual .movie #fix_loop {
    will-change: transform, opacity !important;
    backface-visibility: hidden !important;
    -webkit-backface-visibility: hidden !important;
    /* Android固有最適化 */
    -webkit-perspective: 1000px !important;
    perspective: 1000px !important;
  }
}

/* iOS Safari GPU加速最適化 */
@supports (-webkit-touch-callout: none) {
  #main .mainVisual .movie video {
    will-change: transform, opacity !important;
    -webkit-backface-visibility: hidden !important;
    /* iOS固有最適化 */
    -webkit-transform-style: preserve-3d !important;
    transform-style: preserve-3d !important;
  }
}

/* 低性能Android端末対応 */
@media screen and (max-width: 480px) and (max-height: 812px) {
  #main .mainVisual .movie video {
    will-change: transform !important; /* opacityを除外してメモリ節約 */
    backface-visibility: hidden !important;
  }
}


/* sec02以降のコンテンツを上位レイヤーに配置 */

#index .sec02 .content {
  position: relative;
  z-index: 2;
  background: transparent;
}
#main .mainVisual .content {
  position: relative;
  z-index: 2;
  max-width: 132rem;
  width: 100%;
  padding-bottom: 6.5rem;
  opacity: 0;
  transition: opacity ease 0.5s;
}
#main .mainVisual .content .subBox {
  position: relative;
  z-index: 10;
}
#main .mainVisual.skip .content {
  opacity: 1;
}
#main .mainVisual h2 {
  margin-bottom: 2.7rem;
}
#main .mainVisual h2 img {
  width: 53.4rem;
}
#main .mainVisual .textImg {
  width: 46rem;
  margin: 0 1rem;
}
#main .mainVisual .scroll {
  position: absolute;
  bottom: 6.4rem;
  right: 8rem;
  opacity: 1;
  z-index: 10;
  transition: opacity ease 0.5s;
}
#main .mainVisual.skip .scroll {
  opacity: 0;
}
#main .mainVisual .scroll a {
  display: inline-block;
  padding: 0px 2rem 1rem 0;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--color08);
  position: relative;
  letter-spacing: 0.12rem;
}
#main .mainVisual .scroll a:hover {
  opacity: 0.7;
}
#main .mainVisual .scroll a:after {
  width: 1.7rem;
  height: 1rem;
  /* background-color: var(--color08); */
  background: url(img/common/icon22.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  content: "";
}
#index .sec02 {
  display: flex;
  align-items: center;
  position: relative;
  z-index: 2;
  margin-top: 100vh;
}

/* PC版のみ15remの追加マージンを適用 */
@media all and (min-width: 769px) {
  #index .sec02 {
    margin-top: calc(100vh + 14rem);
  }
}
#index .sec02 .content {
  width: 100%;
  max-width: 127.7rem;
  background: transparent;
}
#index .sec02 .lBox {
  width: 57rem;
}
#index .sec02 .lBox .movieBox {
  --offX: 0;
  --offY: 0;
  --scale: 1;
  --shiftX: 0;
  display: flex;
  align-items: center;
  height: 100vh;
  position: sticky;
  top: 0;
  transition: all 0.5s;
  transform: translate(calc(var(--offX) + var(--shiftX)), var(--offY)) scale(var(--scale));
}
#index .sec02 .rBox {
  padding-top: 17rem;
  width: 53rem;
  transition: opacity 0.5s;
}
#index .sec02 .rBox.hide {
  opacity: 0;
}
#index .sec02 .sec02-bg-layer {
  display: none;
}
#index .sec02 .inner01 {
  margin-bottom: 20rem;
  padding: 0 0 0 1rem;
  width: 47.5rem;
}
#index .sec02 .inner01 h3 {
  margin-bottom: min(4rem);
  width: 46.2rem;
}
#index .sec02 .inner01 p {
  font-size: min(1.6rem);
  font-weight: 500;
  margin-bottom: min(2.5rem);
  letter-spacing: 0.16rem;
  text-align: justify;
}
#index .topLink {
  margin-top: min(6rem);
  text-align: right;
}
#index .sec02 .iconBox {
  position: absolute;
  height: 100%;
  top: 0;
  right: 5.7rem;
  z-index: 10;
  transition: opacity 0.5s;
}
#index .sec02 .iconBox.hide {
  opacity: 0;
}
#index .sec02 .stickyBox {
  position: sticky;
  display: flex;
  height: 100vh;
  align-items: center;
  top: 0;
}
#index .sec02 .iconBox ul {
  position: relative;
  height: 21rem;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}
#index .sec02 .iconBox li::before {
  width: 2px;
  height: 7rem;
  border-left: 2px dotted var(--basecolor);
  position: absolute;
  bottom: 0;
  left: 0.3rem;
  z-index: -1;
  content: "";
}
#index .sec02 .iconBox li {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--basecolor);
  border-radius: 100%;
  position: relative;
  cursor: pointer;
}
#index .sec02 .iconBox li:first-child::before {
  display: none;
}
#index .sec02 .iconBox li.current:after {
  width: 2rem;
  height: 2rem;
  background: url(img/common/icon19.png.webp) no-repeat;
  background-size: 100% auto;
  position: absolute;
  top: -0.6rem;
  left: -0.6rem;
  content: "";
}
#index .sec02 .iconBox li.on::before {
  border-color: var(--color09);
  border-left-style: solid;
}
#index .sec02 .iconBox li.on {
  background-color: var(--color09);
}
#index .sec02 .innerBox {
  padding: min(6rem) min(9rem) min(5rem);
  border-radius: 2rem;
  background-color: #fff;
  margin: 0 2rem 0 -2rem;
}
#index .sec02 .inner02 {
  margin-bottom: 20rem;
}
#index .sec02 .inner02:last-child {
  margin-bottom: 0;
}
#index .sec02 .inner02 p {
  margin-bottom: 4rem;
  font-size: min(1.3rem);
  letter-spacing: 0.13rem;
  line-height: 1.7;
  text-align: justify;
}
#index .sec02 .inner02 p:last-child {
  margin-bottom: 0;
}
#index .sec02 .inner02 .ttl {
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--basecolor);
}
#index .sec02 .inner02 .photo {
  width: 32.5rem;
  margin: 0 auto 2.3rem;
  box-sizing: content-box;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
#index .sec02 .inner02 .photo img {
  opacity: 0;
  transform: translateY(100px);
  transition: all 0.54s cubic-bezier(0.16, 1, 0.3, 1);
}
#index .sec02 .inner02 .photo.show img {
  opacity: 1;
  transform: none;
}
#index .sec02 .inner02 .photo:after {
  width: 26.1rem;
  height: 26.1rem;
  background-color: #f0f9ff;
  position: absolute;
  bottom: 1rem;
  left: calc(50% + 0.3rem);
  border-radius: 100%;
  z-index: -1;
  transform: translateX(-50%);
  content: "";
}
#index .sec02 .inner02 .ttl02 {
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.2rem;
  font-weight: 700;
  margin-bottom: 1rem;
}
#index .sec02 .inner02 .linkP {
  text-align: right;
}
#index .sec02 .inner02 .linkP a {
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color08);
  display: inline-block;
  letter-spacing: 0.21rem;
  padding-right: 3rem;
  background: url(img/common/icon02.png.webp) no-repeat right center;
  background-size: 1.55rem auto;
}
#index .sec02 .inner02 .linkP a span {
  transition: all ease 0.3s;
  display: inline-block;
}
#main .indexBox {
  position: relative;
  margin-top: -5rem;
  z-index: 10;
}
#main .worksSec {
  padding: 13rem 0 15.5rem;
  border-radius: 6rem 6rem 0rem 0rem;
  background-color: #16273d;
}
#index .comTtlBox {
  padding: 0 0 6.1rem 1.7rem;
}
#main .worksSec .headLine01 {
  color: #fff;
}
#index .comTtlBox .headLine01 {
  margin-bottom: -2.5rem;
}
#index .indexBox .topLink {
  margin-top: 0;
}
#index .worksList a {
  color: #fff;
}
#main .serviceSec {
  padding: 13rem 0;
  background: url(img/index/bg03.jpg.webp) no-repeat center;
  background-size: cover;
}
#main .serviceSec .subBox {
  margin: -1.4rem 2rem 0;
}
#main .serviceSec h4 {
  margin-bottom: 1.5rem;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.22rem;
}
#main .serviceSec .linkList {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 0;
  margin: 0 0.9rem 3.5rem -0.6rem;
}
#main .serviceSec .linkList:last-child {
  margin-bottom: 0;
}
#main .serviceSec .linkList li {
  margin: 0 0.7rem;
  width: calc(25% - 1.42rem);
}
#main .serviceSec .linkList a {
  background-color: #fff;
  padding: 2.9rem 1rem 1.8rem;
  display: block;
  border-radius: 1rem;
  text-align: center;
  border: 1px solid var(--color04);
}
#main .serviceSec .linkList .img {
  width: 17.7rem;
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 0.7rem;
}
#main .serviceSec .linkList:not(.linkList02) li .img {
  width: 25.5rem;
  margin: -2.8rem auto -0.4rem;
}
#main .serviceSec .linkList p {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.21rem;
}
#main .serviceSec .linkList02 {
  margin-right: 5.8rem;
}
#main .serviceSec .linkList02 li {
  width: calc((100% / 6) - 1.41rem);
}
#main .serviceSec .linkList02 li .img {
  width: 10rem;
}
#main .serviceSec .linkList02 a {
  padding-top: 1.5rem;
  padding-bottom: 1.7rem;
}
#main .serviceSec .contactList {
  padding: 2.4rem 1.5rem 0;
}
#main .columnSec {
  background-color: #fff;
  padding: 12.9rem 0 20rem;
}
#main .columnSec .comList {
  margin-bottom: 6.2rem;
  border-top: 1px solid var(--color05);
}
#main .columnSec .enImg {
  width: 354rem;
}
#main .columnSec .enImg img {
  margin-right: 1rem;
}
#index #main {
  margin-bottom: 0;
}
#index .contactBox {
  margin-top: -7rem;
  position: relative;
  padding: 12.8rem 0 9rem;
  z-index: 11;
  background: var(--color06);
  border-radius: 6rem 6rem 0rem 0rem;
  box-shadow: 0rem 0rem 5.71rem 0rem rgba(224, 229, 236, 0.1) inset;
}
#index .contactBox .photo {
  width: 54.5rem;
  position: absolute;
  top: -21rem;
  right: 9rem;
}
#index .contactBox .content {
  max-width: 121rem;
}
#index .contactBox .headLine01 {
  color: var(--basecolor);
  margin-bottom: 3.9rem;
}
#index .contactBox p {
  font-size: 1.3rem;
  margin: 0 0.5rem 2.2rem;
  letter-spacing: 0.13rem;
  line-height: 1.7;
  color: var(--basecolor);
}
#index .contactBox .tel {
  margin-bottom: 4.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--color08);
  letter-spacing: 0.14rem;
}
#index .contactBox .tel a {
  color: var(--color08);
}
#index .contactBox .tel a .txtSpan {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.25rem;
  padding-left: 3.4rem;
  margin-right: 1.8rem;
  background: url(img/common/tel.png.webp) no-repeat left calc(50% + 0.2rem);
  background-size: 2.2rem auto;
}
#index .contactBox .contactList {
  padding: 0 2rem;
}
@media all and (min-width: 769px) {
  #main .serviceSec .linkList a:hover {
    border-color: var(--color04);
    color: var(--color09);
    background-color: var(--color07);
  }
  #works .headLine01 .en > img {
    width: 33rem;
  }
  #index .topLink .txtSpan img {
    width: 14.1rem;
  }
  #index .comTtlBox .headLine01 .en img {
    width: 34rem;
  }
  #index .serviceSec .comTtlBox .headLine01 .en img {
    width: 34.6rem;
  }
  #index .columnSec .comTtlBox .headLine01 .en img {
    width: 36.3rem;
  }
  #index .contactBox .headLine01 .en img {
    width: 40.4rem;
  }
  #index .sec02 .inner02 .linkP a:hover {
    color: var(--color09);
    background-image: url(img/common/icon03.png.webp);
  }
  #index .sec02 .inner02 .linkP a:hover span {
    transform: translateX(-5px);
  }
}

@media all and (max-width: 768px) {
  #main .mainVisual {
    min-height: 100svh;
  }
  #main .mainVisual .content {
    padding: 0 4rem min(15rem);
  }
  #main .mainVisual h2 img {
    width: 31rem;
  }
  #main .mainVisual .textImg {
    width: 23.5rem;
    margin: 0 0.5rem;
  }
  #main .mainVisual h2 {
    margin-bottom: 2.2rem;
  }
  #main .mainVisual .scroll {
    right: auto;
    left: 50%;
    bottom: 4.5rem;
    transform: translateX(-50%);
    z-index: 5;
  }
  #main .mainVisual .scroll a {
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
    width: auto;
  }
  #main .mainVisual .scroll a::after {
  }
  #index .sec02 {
    height: auto;
  }
  #index .sec02 .content {
    display: block;
    padding-top: 6rem;
  }
  #index .sec02 .lBox {
    margin-bottom: 3rem;
    width: auto;
    position: sticky;
    top: 6rem;
    z-index: 9;
    will-change: transform;
  }
  #index .sec02 .lBox .movieBox {
    height: auto !important;
    will-change: transform;
  }
  #index .sec02 .rBox {
    padding-top: 0;
    width: auto;
    position: relative;
    z-index: 10;
  }
  #index .sec02 .sec02-bg-layer {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background-color: #C9EEFF;
    opacity: 0;
    z-index: 0;
    pointer-events: none;
    transition: none;
  }
  #index .sec02 .inner01 {
    margin-bottom: 3rem;
    width: auto;
    margin-left: -2rem;
    margin-right: -2rem;
    padding: 2rem 2rem 9.2rem;
    position: relative;
    z-index: 1;
  }
  #index .sec02 .inner01 h3 {
    width: 31rem;
    margin-bottom: 2.3rem;
  }
  #index .sec02 .inner01 p {
    font-size: 1.3rem;
    line-height: 1.8;
    letter-spacing: 0.13rem;
  }
  #index .topLink {
    margin-top: 2.8rem;
  }
  #index .c-btn__arrow_icon {
    margin-left: 1rem;
    width: 3.1rem;
  }
  #index .c-btn__arrow_icon::before,
  #index .c-btn__arrow_icon::after {
    background-size: 1.2rem auto;
  }
  #index .topLink .txtSpan img {
    vertical-align: 0.1rem;
    width: 11.7rem;
  }
  #index .sec02 .innerBox {
    margin: 0 -2rem;
    padding: 6.3rem 3rem;
    width: auto;
  }
  #index .sec02 .inner02 .photo {
    width: 26rem;
    margin-bottom: 1.5rem;
  }
  #index .sec02 .inner02 .photo::after {
    width: 21rem;
    bottom: 0.5rem;
    height: 21rem;
  }
  #index .sec02 .inner02 .ttl {
    margin: 0 0 1.5rem;
  }
  #index .sec02 .inner02 .ttl02 {
    font-size: 1.6rem;
    margin: 0 0 1.2rem;
    letter-spacing: 0.16rem;
  }
  #index .sec02 .inner02 p {
    margin: 0 1rem 2.8rem;
  }
  #index .sec02 .inner02 {
    margin-bottom: 9rem;
  }
  #index .sec02 .inner02:last-child {
    margin-bottom: 0;
  }
  #index .sec02 .iconBox {
    display: none;
  }
  #index .sec02 .inner02 .photo02::after {
    left: calc(50% + 0rem);
    bottom: 0;
  }
  #index .sec02 .inner02 .photo03::after {
    left: calc(50% + 0.4rem);
    bottom: 0.9rem;
  }
  #main .indexBox {
    margin-top: -3rem;
  }
  #main .worksSec {
    padding: 6rem 0 9.3rem;
    border-radius: 4rem 4rem 0rem 0rem;
  }
  #index .comTtlBox {
    padding: 0 1rem 1.8rem 0;
  }
  #index .comTtlBox .headLine01 {
    margin-bottom: 1.5rem;
  }
  #main .serviceSec {
    padding: 7rem 0 5.5rem;
  }
  #main .serviceSec .subBox {
    margin: -1rem 1rem 0;
  }
  #main .serviceSec h4 {
    margin-bottom: 1.2rem;
    font-size: 1.6rem;
    letter-spacing: 0.16rem;
  }
  #main .serviceSec .linkList {
    margin: 0 0 3rem;
    justify-content: space-between;
    gap: 1rem 0.5rem;
  }
  #main .serviceSec .linkList li {
    margin: 0;
    width: calc((100% - 1rem) / 2);
  }
  #main .serviceSec .linkList .img {
    width: 10.5rem;
    margin-bottom: 0;
    min-height: 7rem;
  }
  #main .serviceSec .linkList:not(.linkList02) li .img {
    width: auto;
    margin: 0.2rem -0.7rem 0.6rem;
  }
  #main .serviceSec .linkList:not(.linkList02) a {
    padding: 2.9rem 1rem 2.2rem;
  }
  #main .serviceSec .linkList .en {
    display: block;
    margin-bottom: -2.5rem;
  }
  #main .serviceSec .linkList .en img {
    max-height: 1.9rem;
    width: auto;
  }
  #main .serviceSec .linkList a {
    padding: 4.5rem 1rem 2.2rem;
  }
  #main .serviceSec .linkList p {
    font-size: 1.2rem;
    letter-spacing: 0.18rem;
  }
  #main .serviceSec .linkList02 a {
    padding: 2.4rem 1rem 2.15rem;
  }
  #main .serviceSec .linkList02 li .img {
    width: 7.5rem;
    margin-bottom: 1.6rem;
  }
  #main .serviceSec .contactList {
    padding: 1rem 0 0;
  }
  #main .columnSec {
    padding: 7rem 0 10rem;
  }
  #main .columnSec .comList {
    margin-bottom: 7rem !important;
  }
  #main .columnSec .enImg {
    width: 133.4rem;
  }
  #index .contactBox {
    margin-top: -4.4rem;
    padding: 9rem 0 5.5rem;
    border-radius: 4rem 4rem 0rem 0rem;
    background-color: var(--color06);
  }
  #index .contactBox .photo {
    width: 20.6rem;
    top: -12.4rem;
    right: 1rem;
  }
  #index .contactBox .headLine01 {
    margin-bottom: 1.9rem;
  }
  #index .contactBox p {
    margin: 0 2rem 3.5rem;
  }
  #index .contactBox .tel {
    font-size: 1.3rem;
    max-width: 33rem;
    font-weight: 500;
    margin: 0 auto 1.5rem;
    letter-spacing: 0.13rem;
  }
  #index .contactBox .tel a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5rem;
    min-height: 8rem;
    border: 2px solid var(--color08);
    background: url(img/common/tel.png.webp) no-repeat left 2.5rem center, url(img/common/icon02.png.webp) no-repeat right 2.3rem center #fff;
    background-size: 2.3rem auto, 1.4rem auto;
  }
  #index .contactBox .tel a .txtSpan {
    display: block;
    background: none;
    line-height: 1;
    padding-left: 0;
    margin: 0 0 0.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.22rem;
  }
  #index .contactBox .contactList {
    padding: 0;
  }
  #works .worksList02 {
    gap: 3rem 0;
  }
  #works .worksList02 > li {
    margin-bottom: 0;
  }
}

/*------------------------------------------------------------
	facility
------------------------------------------------------------*/
#facility .mainBox {
  padding-top: 4.6rem;
  max-width: 112rem;
}
#facility .sec01 {
  margin-bottom: 13.7rem;
}
#facility .sec01 p {
  max-width: 100rem;
  font-weight: 500;
  margin-bottom: 2.5rem;
}
#facility .sec01 p:last-child {
  margin-bottom: 0;
}
#facility .serviceList li a {
  padding: 3.3rem 5rem 3.8rem;
}
#facility .serviceList li h3 {
  margin-bottom: 0.3rem;
  font-size: 2.8rem;
  font-weight: 700;
  letter-spacing: 0.42rem;
}
#facility .serviceList li .img {
  width: auto;
  text-align: center;
  padding-top: 1.5rem;
  margin-bottom: 0.1rem;
  position: relative;
}
#facility .serviceList li .img .en {
  display: block;
  position: absolute;
  top: 0.8rem;
  left: 0;
  width: 100%;
}
#facility .serviceList li .img > img {
  max-width: 41.8rem;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
#facility .serviceList li p {
  font-size: 1.4rem;
  font-weight: 500;
  margin-right: -1rem;
  letter-spacing: 0.14rem;
}
@media all and (min-width: 769px) {
  #facility .headLine02 {
    margin-bottom: 3.2rem;
  }
  #facility .headLine01 .en img {
    width: 34.6rem;
  }
}

@media all and (max-width: 768px) {
  #facility .mainBox {
    padding: 1.5rem 2rem;
  }
  #facility .headLine02 {
    margin: 0 0 2rem;
  }
  #facility .sec01 p {
    line-height: 1.78;
  }
  #facility .sec01 {
    margin-bottom: 5.8rem;
  }
  #facility .serviceList {
    display: block;
  }
  #facility .serviceList li {
    width: auto;
  }
  #facility .serviceList li a {
    padding: 1.1rem 1.9rem;
  }
  #facility .serviceList li h3 {
    margin-bottom: -0.3rem;
    font-size: 1.2rem;
    letter-spacing: 0.18rem;
  }
  #facility .serviceList li .img > img {
    max-width: 26rem;
  }
  #facility .serviceList li .img .en img {
    max-width: 22rem;
    width: auto;
    max-height: 3.2rem;
  }
  #facility .serviceList li .img {
    padding-top: 1.2rem;
    margin-bottom: -0.1rem;
  }
  #facility .serviceList li p {
    margin-right: -0.5rem;
    font-size: 1.1rem;
    letter-spacing: 0.11rem;
  }
}

/*------------------------------------------------------------
	facilitys/logistics/
------------------------------------------------------------*/
#logistics .whiteBox {
  padding: 4.2rem 2rem 14rem;
  background-color: #fff;
  border-radius: 0rem 0rem 2rem 2rem;
  box-shadow: 0rem 0rem 3rem 0rem rgba(88, 94, 120, 0.03);
}
#logistics .bigPhoto {
  height: 60rem;
  border-radius: 2rem 2rem 0 0;
  position: relative;
  background: url(img/logistics/bg03.jpg.webp) no-repeat center;
  background-size: cover;
  box-shadow: 0rem 0rem 3rem 0rem rgba(88, 94, 120, 0.03);
}
#logistics .bigPhoto .photoImg01 {
  width: 6.1rem;
  position: absolute;
  top: 5rem;
  right: 5rem;
}
#logistics .bigPhoto .photoImg02 {
  width: 6.1rem;
  position: absolute;
  bottom: 5rem;
  right: 5rem;
}
#logistics .bigPhoto .photoImg03 {
  width: 6.1rem;
  position: absolute;
  bottom: 5rem;
  left: 5rem;
}
#logistics .bigPhoto .facilitysTtl {
  position: absolute;
  top: 4.5rem;
  left: 5rem;
  font-size: 1.2rem;
  font-weight: 700;
  line-height: 1.6;
  color: var(--color08);
  letter-spacing: 0.06rem;
  z-index: 10;
}
#logistics .bigPhoto .innerBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 1;
}
#logistics .bigPhoto .innerBox .innerPhoto {
  position: relative;
}
#logistics .bigPhoto .box {
  width: 3.33%;
  position: absolute;
}
#logistics .bigPhoto .box .num {
  cursor: pointer;
  transition: all ease 0.3s;
}
#logistics .bigPhoto .box .num:hover {
  opacity: 0.7;
}
#logistics .bigPhoto .box .num a {
  pointer-events: none;
}
#logistics .bigPhoto .animate .box {
  opacity: 0;
  transform: translateY(100px);
}
#logistics .bigPhoto .animate.visible .box {
  opacity: 1;
  transform: none;
  transition: all ease 1s;
}
#logistics .bigPhoto .num a:hover {
  opacity: 0.7;
}
#logistics .bigPhoto .subBox {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 70rem;
  color: #fff;
  padding: 2rem 3rem 3.5rem;
  border-radius: 1rem;
  background-color: var(--basecolor);
  z-index: 10;
  display: none;
}

#logistics .bigPhoto .subBox .boxClose {
  position: absolute;
  top: 2rem;
  right: 2rem;
  width: 2.5rem;
  height: 2.5rem;
  background: url(img/common/icn_close.png.webp) no-repeat center center;
  background-size: contain;
  cursor: pointer;
}
#logistics .bigPhoto .subBox .ttl {
  margin-bottom: 1.5rem;
  display: flex;
  align-items: flex-start;
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.14rem;
}
#logistics .bigPhoto .subBox .ttl .numSpan {
  width: 3rem;
  margin-right: 1rem;
  height: 3rem;
  background-color: #ff6227;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #fff;
  font-size: 1.125rem;
  letter-spacing: 0.0225rem;
  line-height: 1;
  position: relative;
  font-family: Arial, Helvetica, sans-serif;
}
#logistics .bigPhoto .subBox .ttl .numSpan:after {
  border-radius: 100%;
  border: 1px solid rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 0.3rem;
  right: 0.3rem;
  left: 0.3rem;
  bottom: 0.3rem;
  content: "";
}
#logistics .bigPhoto .subBox .subBoxInner {
  display: grid;
  grid-template-columns: 19rem 1fr;
  gap: 2.5rem;
}
#logistics .bigPhoto .subBox .photo img {
  border-radius: 0.5rem;
}
#logistics .bigPhoto .subBox .txt {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.1rem;
}
#logistics .bigPhoto > img {
  border-radius: 2rem 2rem 0rem 0rem;
  width: 100%;
}
#logistics .mainBox {
  max-width: 90rem;
}
#logistics p:last-child {
  margin-bottom: 0 !important;
}
#logistics .pointTtl {
  padding: 0 1rem 2.5rem;
  margin-bottom: 3rem;
  display: flex;
  align-items: flex-end;
  font-size: 1.4rem;
  font-weight: 900;
  letter-spacing: 0.07rem;
  border-bottom: 1px solid var(--color04);
}
#logistics .pointTtl img {
  margin-right: 2.5rem;
  margin-bottom: 0.5rem;
}
#logistics .linkUl {
  display: flex;
  margin-bottom: 10rem;
  gap: 1rem 1rem;
}
#logistics .linkUl li {
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.14rem;
  line-height: 1;
  margin-right: 1.4rem;
  padding-right: 2.4rem;
  border-right: 1px solid var(--color05);
}
#logistics .linkUl li:last-child {
  border: none;
}
#logistics .headLine02 {
  margin: 0 1rem 5.2rem;
}
#logistics .imgBox {
  align-items: center;
  margin: 0 1rem 4rem;
}
#logistics .imgBox .photoBox {
  width: 29rem;
  margin-right: 4rem;
}
#logistics .imgBox .photoBox img {
  border-radius: 0.5rem;
}
#logistics .imgBox .textBox {
  margin-top: -0.3rem;
  flex: 1;
}
#logistics .imgBox .textBox p {
  font-size: 1.4rem;
  line-height: 1.6;
  margin-bottom: 2rem;
  letter-spacing: 0.14rem;
}
#logistics .imgBoxInner {
  margin-bottom: 11.5rem;
}
#logistics .subInner {
  margin: -1.8rem 1rem 0;
}
#logistics .subInner p {
  margin-bottom: 3.3rem;
  font-weight: 500;
}
#logistics .flow {
  margin-bottom: 12rem;
}
#logistics .flow .textImg {
  position: relative;
  z-index: 2;
  margin-right: 4.2rem;
}
#logistics .flow .textImg .box {
  position: absolute;
  bottom: 1.3rem;
}
#logistics .flow .textImg .sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 20.5rem;
  padding: 2.5rem 2rem 2.5rem 3rem;
  color: #fff;
  border-radius: 1rem;
  background-color: rgba(38, 40, 51, 0.95);
  z-index: 10;
}
#logistics .flow .textImg .sub p {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.12rem;
}
#logistics .flow .textImg .sub .ttl {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: 0.14rem;
}
#logistics .flow .textImg .box .link a:hover {
  opacity: 0.7;
}
#logistics .flow .textImg .box01 {
  left: 24.8%;
}
#logistics .flow .textImg .box02 {
  left: 36.2%;
}
#logistics .flow .textImg .box03 {
  left: 70.5%;
}
#logistics .flow .textImg .box04 {
  left: 81.8%;
}
#logistics .flow .textBox {
  flex: 1;
  padding: 3rem 2rem 3rem 2.5rem;
  border-radius: 2rem;
  position: relative;
  z-index: 1;
  fill: #fff;
  background-color: #fff;
  filter: drop-shadow(-0.7rem 0.7rem 2rem rgba(132, 157, 181, 0.25));
}
/* #logistics .flow .textBox::before, 
#logistics .flow .textBox::after {
	content: "";
	border: solid transparent;
	border-top-width: medium;
	border-top-color: transparent;
	border-right-width: medium;
	border-bottom-width: medium;
	border-left-width: medium;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
} */
#logistics .flow .textBox::before {
  /* border-width: 1rem;
	border-top-color: #F88400; */

  content: " ";
  width: 0;
  height: 0;
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
  border-right: 2rem solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2rem;
}
#logistics .flow .textBox .pointTtl02 {
  width: fit-content;
  border-radius: 6rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.1rem;
  position: absolute;
  top: -1rem;
  right: 1.5rem;
  padding: 0.2rem 0.1rem;
  min-width: 6.1rem;
  color: #fff;
  background-color: var(--color09);
}
#logistics .flow .textBox p {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.12rem;
}
#logistics .flow .textBox .ttl {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color08);
  line-height: 1.4;
  margin-bottom: 1rem;
  letter-spacing: 0.14rem;
}
#logistics .sec01 {
  padding: 11.8rem 0 9.4rem;
}
#logistics .sec01 .headLine02 {
  margin: 0 0 5.3rem;
}
#logistics .sec02 .headLine02 {
  margin: 0 0 4.2rem;
}
@media all and (min-width: 769px) {
  #logistics .linkUl a:hover {
    color: var(--color09);
  }
  #logistics .flow .textImg {
    width: 64.4rem;
  }
  #logistics .flow .textImg .box .link img {
    width: 3rem;
  }
}

@media all and (max-width: 768px) {
  #logistics .headLine01 .en > img {
    max-height: 8.3rem;
  }
  #logistics .bigPhoto {
    height: 50.6rem;
    overflow: hidden;
    margin-top: -0.9rem;
    border-radius: 1rem 1rem 0rem 0rem;
  }
  #logistics .bigPhoto .photoImg01 {
    width: 3rem;
    top: 2.5rem;
    right: 2.5rem;
  }
  #logistics .bigPhoto .photoImg02 {
    width: 3rem;
    bottom: 2.5rem;
    right: 2.5rem;
  }
  #logistics .bigPhoto .photoImg03 {
    width: 3rem;
    left: 2.5rem;
    bottom: 2.5rem;
  }
  #logistics .bigPhoto .facilitysTtl {
    font-size: 1rem;
    top: 2rem;
    left: 2.5rem;
    letter-spacing: 0.05rem;
  }
  #logistics .bigPhoto > img {
    border-radius: 1rem 1rem 0rem 0rem;
  }
  #logistics .facilitysJsBox {
    height: 100%;
    overflow-x: scroll;
  }
  #logistics .innerBox .innerPhoto {
    width: 70.5rem;
    width: 66.5rem;
  }
  #logistics .innerBox .innerPhoto > img {
    width: 100%;
  }
  #logistics .bigPhoto .innerBox {
    padding-top: 8rem;
    height: 100%;
    /* top: calc(50% - 0.8rem);
		transform: translateY(-50%); */
  }
  #logistics .pointTtl {
    margin: 0 0.4rem 2.8rem;
    font-size: 1.2rem;
    padding: 0 0.8rem 1.5rem;
    display: block;
    letter-spacing: 0.06rem;
  }
  #logistics .pointTtl img {
    width: 12.5rem;
    margin: 0 0 0.4rem;
    display: block;
  }
  #logistics .mainBox {
    max-width: inherit;
    padding-top: 0.9rem;
  }
  #logistics .linkUl {
    display: block;
    margin: 0 1.3rem 6.5rem;
  }
  #logistics .linkUl li {
    margin: 0 0 2.2rem;
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
    border: none;
    padding: 0;
  }
  #logistics .linkUl a {
    position: relative;
    display: inline-block;
    padding-left: 1.6rem;
  }
  #logistics .linkUl a:after {
    width: 0.8rem;
    height: 1px;
    background-color: var(--color05);
    position: absolute;
    top: 0.6rem;
    left: 0;
    content: "";
  }
  #logistics .headLine02 {
    margin: 0 0.5rem 2.9rem;
  }
  #logistics .imgBoxInner {
    margin: 0 0.5rem 5rem;
  }
  #logistics .imgBox {
    margin: 0 0 3.8rem;
    display: block;
  }
  #logistics .imgBox .photoBox {
    width: auto;
    margin: 0 0 1.2rem;
  }
  #logistics .imgBox .photoBox img {
    width: 100%;
  }
  #logistics .imgBox .textBox {
    margin-top: 0;
    padding: 0 0.5rem;
  }
  #logistics .subInner {
    margin: -0.5rem 0.4rem 0;
  }
  #logistics .subInner p {
    margin-bottom: 2.5rem;
  }
  #logistics .flow {
    margin-bottom: 7.1rem;
    display: block;
  }
  #logistics .flow .textImg {
    margin: 0 1.1rem 3.3rem;
  }
  #logistics .flow .textImg img {
    width: 100%;
  }
  #logistics .flow .textBox {
    margin: 0 1.2rem;
    padding: 3rem 2rem;
  }
  #logistics .flow .textBox::before {
    left: 2rem;
    top: -2rem;
    border-top: 0.6rem solid transparent;
    border-bottom: 0.6rem solid transparent;
    border-right: 3.5rem solid #fff;
    transform: rotate(90deg);
  }
  #logistics .flow .textBox::after {
    left: -2rem;
    right: -2rem;
    top: -4.5rem;
    bottom: -4.5rem;
    background-image: url(img/logistics/bg_sp.png);
    background-size: 100% 100%;
  }
  #logistics .flow .textBox .ttl {
    font-size: 1.3rem;
    letter-spacing: 0.13rem;
  }
  #logistics .flow .textBox .pointTtl02 {
    right: 1.8rem;
    top: -1rem;
    padding-bottom: 0.2rem;
    padding-top: 0.2rem;
  }
  #logistics .comLink.big {
    max-width: 29rem;
  }
  #logistics .comLink.big a {
    padding-right: 4.9rem;
    font-size: 1.3rem;
    line-height: 1.4;
    letter-spacing: 0.13rem;
  }
  #logistics .whiteBox {
    padding-bottom: 7rem;
  }
  #logistics .sec01 {
    padding: 7.5rem 1rem 9.4rem;
  }
  #logistics .sec01 .headLine02 {
    margin-bottom: 3rem;
  }
  #logistics .sec02 {
    padding: 0 1rem;
  }
  #logistics .sec02 .headLine02 {
    margin-bottom: 2rem;
  }
  #logistics .worksList02 {
    display: block;
  }
  #logistics .worksList02 > li {
    width: auto;
    padding: 0;
    margin-bottom: 4rem;
    border: none;
  }
  #logistics .worksList02 > li:last-child {
    margin-bottom: 0;
  }
  #logistics .bigPhoto .box .num {
    transform: scale(1.6);
    transform-origin: center bottom;
  }
  #logistics .bigPhoto .num img {
    width: 100%;
  }
  #logistics .bigPhoto .subBox {
    width: 30rem;
    padding: 2rem 2rem 3.5rem;
  }
  #logistics .bigPhoto .subBox .subBoxInner {
    grid-template-columns: 1fr;
    gap: 2rem;
    height: 21.6rem;
    overflow-y: scroll;
    padding: 0 1rem;
  }
  #logistics .bigPhoto .subBox .photo img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
  }
  #logistics .bigPhoto .subBox .txt {
    font-size: 1.4rem;
  }
  #logistics .flow .textImg .box {
    bottom: auto;
    left: auto;
    right: 0.8rem;
    width: 11%;
  }
  #logistics .flow .textImg .box01 {
    top: 23.6%;
  }
  #logistics .flow .textImg .box02 {
    top: 35%;
  }
  #logistics .flow .textImg .box03 {
    top: 68.9%;
  }
  #logistics .flow .textImg .box04 {
    top: 80.2%;
  }
  #logistics .flow .textImg .link img {
    width: 100%;
  }
  #logistics .flow .textImg .sub {
    left: auto;
    transform: none;
    right: -4rem;
  }
  #logistics .worksList02 .photoBox {
    margin-bottom: 2.5rem;
  }
  #logistics .worksList02 .photo {
    aspect-ratio: 330 / 180;
  }
  #logistics .worksList02 .textBox {
    padding: 0 1rem;
  }
  #logistics .worksList02 .textBox p {
    margin-bottom: 0rem;
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
  }
  #logistics .worksList02 .textBox .txt {
    margin-bottom: 1rem;
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 0.08rem;
  }
  #logistics .worksList02 .tagUl p {
    min-width: 7.4rem;
    font-size: 1.3rem;
  }
  #logistics .worksList02 .tagUl {
    bottom: -0.3rem;
    left: 1rem;
  }
  #logistics .worksList02 .tagUl .ico::after {
    width: 0.8rem;
    height: 0.8rem;
    top: 0.6rem;
    left: -0.3rem;
  }
}

/*------------------------------------------------------------
	index
------------------------------------------------------------*/

#construction .sec01 {
  margin-bottom: 11rem;
}
#construction .sec01 p a {
  color: var(--color01);
  font-weight: 700;
}
#construction .sec01:last-child {
  margin-bottom: 0;
}
#main .industriesList {
  padding-top: 5.3rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1.2rem 0;
  margin: 0 -0.6rem;
}
#main .industriesList li {
  margin: 0 0.6rem;
  width: calc((100% / 7) - 1.2rem);
}
#main .industriesList a {
  pointer-events: none;
  display: block;
  height: 100%;
  padding: 2.8rem 1rem 2rem;
  background-color: #fff;
  border-radius: 1rem;
  border: 1px solid var(--color04);
}
#main .industriesList .img {
  width: 7.5rem;
  margin: 0 auto;
  display: block;
}
#main .industriesList span {
  min-height: 4.5rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-size: 1.2rem;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  letter-spacing: 0.12rem;
}
@media all and (min-width: 769px) {
  #construction .mainBox {
    max-width: 112rem;
    padding-top: 4.6rem;
  }
  #construction .sec01 .headLine02 {
    margin-bottom: 3.2rem;
  }
  #construction .purposeList .rSpan {
    padding-right: 25rem;
  }
  #construction .sec01 p a:hover {
    text-decoration: underline;
  }
  #main .industriesList a:hover {
    background-color: var(--color07);
  }
}

@media all and (max-width: 768px) {
  #construction .headLine02 {
    margin: 0 0 2rem;
  }
  #construction .mainBox {
    padding: 1.5rem 2rem 0;
  }
  #construction .sec01 {
    margin-bottom: 5.8rem;
  }
  #construction .purposeList .rSpan {
    padding-left: 1rem;
  }
  #main .industriesList {
    padding-top: 2.3rem;
    margin: 0 -0.25rem;
    gap: 0.5rem 0;
  }
  #main .industriesList li {
    margin: 0 0.25rem;
    width: calc((100% / 3) - 0.5rem);
  }
  #main .industriesList a {
    padding: 2rem 0.5rem 1.2rem;
    border-radius: 0.8rem;
  }
  #main .industriesList .img {
    width: 5rem;
  }
  #main .industriesList span {
    font-size: 0.9rem;
    min-height: 3.2rem;
    letter-spacing: 0.09rem;
  }
  #construction .purposeList .rSpan {
    line-height: 1.6;
  }
}

/*------------------------------------------------------------
	construction/detail.html
------------------------------------------------------------*/
#main .constructionDetail {
  padding-top: 3.6rem;
  align-items: flex-start;
}
#main .constructionDetail .lBox .ttl {
  color: var(--basecolor);
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  font-size: 1.2rem;
  font-weight: 900;
  letter-spacing: 0.06rem;
  border-bottom: 1px solid var(--basecolor);
}
#main .constructionDetail .lBox .ttl02 {
  font-size: 3.2rem;
  font-weight: 700;
  letter-spacing: 0.48rem;
  margin-bottom: 3.5rem;
}
#main .constructionDetail .lBox .photo {
  width: 24.8rem;
  height: 24.8rem;
  background-color: #fff;
  border-radius: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 4.1rem;
  fill: #fff;
  filter: drop-shadow(0rem 0rem 3rem rgba(88, 94, 120, 0.03));
}
#main .constructionDetail .lBox .photo img {
  max-width: 17rem;
}
#main .constructionDetail .lBox .sub {
  margin: 0 2rem;
}
#main .constructionDetail .lBox .sub p {
  font-size: 1.4rem;
  margin-bottom: 3.3rem;
  line-height: 1.8;
  color: var(--color08);
  letter-spacing: 0.14rem;
}
#main .constructionDetail .lBox .comLink {
  width: auto;
  margin-bottom: 1.5rem;
}
#main .constructionDetail .lBox .comLink:last-child {
  margin-bottom: 0;
}
#main .constructionDetail .lBox .comLink a {
  min-height: 6rem;
  font-size: 1.3rem;
  letter-spacing: 0.13rem;
  padding-right: 2rem;
  background-size: 1.5rem auto;
}
#main .constructionDetail .lBox .comLink a img {
  margin-left: 0.3rem;
}
#main .constructionDetail .comLink02 a {
  border-color: var(--color03);
  border-width: 2px;
  color: var(--color03);
  background-color: #fff;
  background-image: url(img/common/icon24.png.webp);
  background-position: right 3.5rem center;
}
#main .constructionDetail .whiteBox {
  margin-bottom: 5rem;
  background-color: #fff;
  padding: 6rem 7rem;
  border-radius: 2rem;
  box-shadow: 0rem 0rem 3rem 0rem rgba(88, 94, 120, 0.03);
}
#main .constructionDetail .whiteBox:nth-last-of-type(2) {
  margin-bottom: 0;
}

#main .constructionDetail .intro .imgBox .textBox {
  flex: auto;
  width: calc(100% - 32.9rem);
}
#main .constructionDetail .intro .imgBox p:not(.ttl02, .ttl03) {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
}
#main .construction .list2 li {
  margin-bottom: 0;
}
#main .construction .list2 a,
#main .construction .list2 span {
  font-weight: 500;
  padding-left: 1.2rem;
  color: var(--basecolor);
  letter-spacing: 0.16rem;
}
#main .construction .list2 a::after,
#main .construction .list2 span::after {
  width: 0.3rem;
  height: 0.3rem;
  top: 1.4rem;
  background-color: var(--basecolor);
}
#main .constructionDetail .construction:last-child {
  margin-bottom: 0;
}
#main .constructionDetail .wp-block-flexible-table-block-table {
  padding-top: 4rem;
}
#main .constructionDetail .comLink.big {
  margin-bottom: 7rem;
}
#main .constructionDetail .comLink.big:last-child {
  margin-bottom: 0;
}
#main .flowBox {
  margin-bottom: 4rem;
}
#main .flowBox dl {
  align-items: stretch;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
#main .flowBox dt {
  margin-right: 3rem;
  padding-bottom: 0.5rem;
  display: flex;
  flex-wrap: wrap;
  width: 7.8rem;
  height: 7.8rem;
  align-items: center;
  justify-content: center;
  border-radius: 100%;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  letter-spacing: 0.06rem;
  position: relative;
  z-index: 2;
  background-color: #a7bace;
}
#main .flowBox dt .num {
  display: block;
  font-size: 3rem;
  font-weight: 300;
  line-height: 1;
  margin-top: -0.5rem;
}
#main .flowBox dd {
  padding-bottom: 3.2rem;
  position: relative;
  width: calc(100% - 10.8rem);
  z-index: 1;
}
#main .flowBox dd:after {
  width: 2px;
  border-left: 2px dotted #aab9c8;
  position: absolute;
  top: 1rem;
  bottom: 0;
  left: -7rem;
  z-index: -1;
  content: "";
}
#main .flowBox dd:last-child::after {
  display: none;
}
#main .flowBox dd p {
  margin-bottom: 0;
  letter-spacing: 0.13rem;
  font-size: 1.3rem;
  line-height: 1.8;
}
#main .flowBox dd .ttl {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.16rem;
}
#main .constructionSec .headLine02 {
  margin-bottom: 4.2rem;
}
@media all and (min-width: 769px) {
  #main .constructionDetail .lBox {
    width: 35rem;
    margin-right: 4rem;
    position: sticky;
    top: 9rem;
    left: 0;
  }
  #main .constructionDetail .rBox {
    padding-top: 2.5rem;
    flex: inherit;
    width: 81rem;
  }
  #main .constructionDetail p + .wp-block-image {
    margin-top: 0;
    margin-bottom: 3rem;
  }
  #main .constructionDetail .intro .imgBox .photoBox {
    width: 19.2rem;
    margin-right: 3rem;
  }
  #main .constructionDetail .intro {
    margin-bottom: 6rem;
  }
  #main .constructionDetail .intro .imgBox .textBox {
    padding-top: 0;
  }
  #main .constructionDetail .intro .imgBox .ttl02 {
    margin-bottom: 0.7rem;
  }
  #main .constructionDetail .intro .whiteBox {
    padding-bottom: 2.7rem;
  }
  #main .constructionDetail .intro .imgBox .ttl03 {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}

@media all and (max-width: 768px) {
  #main .constructionDetail {
    padding-top: 3.2rem;
  }
  #main .constructionDetail .lBox {
    background-color: transparent;
    padding: 0;
    margin-bottom: 3rem;
    box-shadow: none;
  }
  #main .constructionDetail .lBox .ttl {
    font-size: 1rem;
    border: none;
    padding: 0;
    margin: 0 0.5rem 0rem;
  }
  #main .constructionDetail .lBox .ttl span::after {
    display: none;
  }
  #main .constructionDetail .lBox .ttl02 {
    margin-bottom: 2rem;
    font-size: 2rem;
    letter-spacing: 0.3rem;
    padding: 0 0.4rem 1rem;
    border-bottom: 1px solid var(--basecolor);
  }
  #main .constructionDetail .lBox .sub {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    justify-content: space-between;
    margin: 0;
  }
  #main .constructionDetail .lBox .sub .photo {
    width: 12.5rem;
    height: 12.5rem;
    margin: 0 2.7rem 0 0.4rem;
  }
  #main .constructionDetail .lBox .photo img {
    max-width: 7.8rem;
  }
  #main .constructionDetail .lBox .sub .txtBox {
    flex: 1;
    margin: 1rem 0;
    display: flex;
    align-items: center;
    padding-left: 2.5rem;
    border-left: 1px solid var(--color04);
  }
  #main .constructionDetail .lBox .sub p {
    font-size: 1.1rem;
    margin-bottom: 0;
    line-height: 1.5;
  }
  #main .constructionDetail .whiteBox {
    border-radius: 1rem;
    margin-bottom: 2rem;
    padding: 3.5rem 3rem 4.3rem;
  }
  #main .constructionDetail h2 {
    margin: 0 0 4.2rem;
  }
  #main .constructionDetail h3 {
    margin: 0 0 1.7rem;
  }
  #main .constructionDetail p + .wp-block-image {
    margin-top: 1rem;
  }
  #main .constructionDetail .wp-block-image {
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 2.8rem;
    position: relative;
  }
  #main .wp-block-image .popLink {
    margin-top: -5rem;
    position: absolute;
    top: calc(100% * 0.44776);
    right: -0.2rem;
  }
  #main .constructionDetail .intro {
    margin: 4.7rem 0 4rem;
  }
  #main .constructionDetail .intro .whiteBox {
    padding: 2.2rem 1.8rem;
  }
  #main .constructionDetail .intro .imgBox .textBox {
    width: auto;
  }
  #main .constructionDetail .intro .imgBox .ttl02 {
    margin-bottom: 0.8rem;
  }
  #main .constructionDetail .intro .imgBox .ttl03 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #main .constructionDetail .intro .imgBox p:not(.ttl02, .ttl03) {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  #main .constructionDetail .intro .imgBox .photoBox {
    margin: 0 0 1.2rem;
  }
  #main .constructionDetail .construction {
    margin: 0;
  }
  #main .construction .list2 a,
  #main .construction .list2 span {
    display: inline;
  }
  #main .construction .list2 a::after,
  #main .construction .list2 span::after {
    top: 1rem;
    left: 0.5rem;
  }
  #main .constructionDetail .wp-block-flexible-table-block-table {
    margin-left: 0;
  }
  .constructionDetail .comLink.big a {
    font-size: 1.3rem;
    padding-right: 5rem;
  }
  #main .constructionDetail .comLink.big {
    margin-bottom: 5rem;
  }
  #main .flowBox dt {
    margin-right: 2rem;
    width: 5rem;
    height: 5rem;
    font-size: 0.8rem;
  }
  #main .flowBox dt .num {
    font-size: 2rem;
  }
  #main .flowBox dt .num {
  }
  #main .flowBox dd {
    padding-bottom: 2.3rem;
    width: calc(100% - 7rem);
  }
  #main .flowBox dd p {
    line-height: 1.5;
  }
  #main .flowBox dd .ttl {
    margin-bottom: 0.6rem;
    padding-top: 0.3rem;
  }
  #main .flowBox dd::after {
    left: -4.5rem;
  }
  #main .flowBox + .intro {
    margin-top: -1.7rem;
  }
  #main .constructionDetail .linkBox {
    margin-top: 5rem;
  }
  #main .constructionDetail .linkBox .comLink a {
    min-height: 6rem;
    font-size: 1.3rem;
    padding-right: 2rem;
    letter-spacing: 0.13rem;
    background-size: 1.5rem auto;
    background-position: right 3.3rem center;
  }
  #main .constructionDetail .linkBox .comLink {
    margin-bottom: 1.5rem;
  }
  #main .constructionSec {
    padding: 0 1rem;
  }
  #main .constructionSec .headLine02 {
    margin-bottom: 2rem;
  }
  #main .constructionSec .purposeList .rSpan {
    padding-left: 1rem;
  }
}

/*------------------------------------------------------------
	facilitys/logistics/
------------------------------------------------------------*/
#logistics.logistics .bigPhoto .box01 {
  bottom: 76.5%;
  left: 42.67%;
}
#logistics.logistics .bigPhoto .box02 {
  bottom: 36.34%;
  left: 38.17%;
}
#logistics.logistics .bigPhoto .box03 {
  bottom: 41%;
  left: 41.25%;
}
#logistics.logistics .bigPhoto .box04 {
  bottom: 30.83%;
  left: 44.58%;
}
#logistics.logistics .bigPhoto .box05 {
  bottom: 34.5%;
  left: 48%;
}
#logistics.logistics .bigPhoto .box06 {
  bottom: 25.33%;
  left: 50.33%;
}
#logistics.logistics .bigPhoto .box07 {
  bottom: 23.83%;
  left: 63.67%;
}
#logistics.logistics .bigPhoto .box08 {
  bottom: 52.17%;
  left: 67.58%;
}
#logistics.logistics .bigPhoto .box09 {
  bottom: 30.83%;
  left: 75.5%;
}
#logistics.logistics .bigPhoto .box10 {
  bottom: 40.33%;
  left: 77.33%;
}
#logistics.logistics .bigPhoto .box11 {
  bottom: 33.5%;
  left: 80.42%;
}
#logistics.logistics .bigPhoto .box12 {
  bottom: 26%;
  left: 83.33%;
}
@media all and (min-width: 769px) {
  #logistics.logistics .bigPhoto .box09 .subBox {
    left: calc(50% - 9rem);
  }
  #logistics.logistics .bigPhoto .box10 .subBox {
    left: calc(50% - 11rem);
  }
  #logistics.logistics .bigPhoto .box11 .subBox {
    left: calc(50% - 15rem);
  }
  #logistics.logistics .bigPhoto .box12 .subBox {
    left: calc(50% - 18rem);
  }
}
@media all and (max-width: 768px) {
  #logistics.logistics .bigPhoto .box02 .subBox {
    top: -8rem;
  }
  #logistics.logistics .bigPhoto .box03 .subBox {
    top: -7rem;
  }
  #logistics.logistics .bigPhoto .box04 .subBox {
    top: -10rem;
  }
  #logistics.logistics .bigPhoto .box05 .subBox {
    top: -8rem;
  }
  #logistics.logistics .bigPhoto .box06 .subBox {
    top: -12rem;
  }
  #logistics.logistics .bigPhoto .box07 .subBox {
    top: -13rem;
  }
  #logistics.logistics .bigPhoto .box08 .subBox {
    top: -2rem;
  }
  #logistics.logistics .bigPhoto .box09 .subBox {
    top: -11rem;
  }
  #logistics.logistics .bigPhoto .box10 .subBox {
    top: -8rem;
    left: calc(50% - 2rem);
  }
  #logistics.logistics .bigPhoto .box11 .subBox {
    top: -9rem;
    left: calc(50% - 4rem);
  }
  #logistics.logistics .bigPhoto .box12 .subBox {
    top: -12rem;
    left: calc(50% - 5.5rem);
  }
}

/*------------------------------------------------------------
	facilitys/factory/
------------------------------------------------------------*/
#logistics.factory .bigPhoto .box01 {
  bottom: 71.5%;
  left: 13%;
}
#logistics.factory .bigPhoto .box02 {
  bottom: 80.17%;
  left: 17.75%;
}
#logistics.factory .bigPhoto .box03 {
  bottom: 85.7%;
  left: 22.5%;
}
#logistics.factory .bigPhoto .box04 {
  bottom: 73.1%;
  left: 27.1%;
}
#logistics.factory .bigPhoto .box05 {
  bottom: 78.5%;
  left: 31.83%;
}
#logistics.factory .bigPhoto .box06 {
  bottom: 59%;
  left: 34.5%;
}
#logistics.factory .bigPhoto .box07 {
  bottom: 63.5%;
  left: 46.25%;
}
#logistics.factory .bigPhoto .box08 {
  bottom: 26.5%;
  left: calc(50% + 2.34%);
}
#logistics.factory .bigPhoto .box09 {
  bottom: 18.83%;
  left: calc(50% + 11.5%);
}
#logistics.factory .bigPhoto .box10 {
  bottom: 59.6%;
  left: calc(50% + 14.25%);
}
#logistics.factory .bigPhoto .box11 {
  bottom: 42%;
  left: calc(50% + 25.6%);
}
#logistics.factory .bigPhoto .box12 {
  bottom: 54.83%;
  left: calc(50% + 27.8%);
}
#logistics.factory .bigPhoto .box13 {
  bottom: 48.66%;
  left: calc(50% + 32.16%);
}
#logistics.factory .bigPhoto .subBox .ttl .numSpan {
  background-color: #ff548d;
}

@media all and (min-width: 769px) {
  #logistics.factory .bigPhoto .box01 .subBox {
    left: calc(50% + 20rem);
  }
  #logistics.factory .bigPhoto .box02 .subBox {
    left: calc(50% + 14rem);
  }
  #logistics.factory .bigPhoto .box03 .subBox {
    left: calc(50% + 8rem);
  }
  #logistics.factory .bigPhoto .box04 .subBox {
    left: calc(50% + 2rem);
  }
  #logistics.factory .bigPhoto .box11 .subBox {
    left: calc(50% - 9rem);
  }
  #logistics.factory .bigPhoto .box12 .subBox {
    left: calc(50% - 12rem);
  }
  #logistics.factory .bigPhoto .box13 .subBox {
    left: calc(50% - 17rem);
  }
}

@media all and (max-width: 768px) {
  #logistics.factory .bigPhoto .innerBox {
    padding-top: 7rem;
  }
  #logistics.factory .headLine01 .en > img {
    max-height: 3.8rem;
  }
  #logistics.factory .innerBox .innerPhoto {
    width: 70.5rem;
  }
  #logistics.factory .bigPhoto .box01 .subBox {
    left: calc(50% + 6rem);
  }
  #logistics.factory .bigPhoto .box02 .subBox {
    left: calc(50% + 3rem);
  }
  #logistics.factory .bigPhoto .box06 .subBox {
    top: -2rem;
  }
  #logistics.factory .bigPhoto .box07 .subBox {
    top: 0;
  }
  #logistics.factory .bigPhoto .box08 .subBox {
    top: -12.5rem;
  }
  #logistics.factory .bigPhoto .box09 .subBox {
    top: -15.4rem;
  }
  #logistics.factory .bigPhoto .box10 .subBox {
    top: -1rem;
  }
  #logistics.factory .bigPhoto .box11 .subBox {
    top: -7rem;
  }
  #logistics.factory .bigPhoto .box12 .subBox {
    top: -3rem;
    left: calc(50% - 1rem);
  }
  #logistics.factory .bigPhoto .box13 .subBox {
    top: -5rem;
    left: calc(50% - 5rem);
  }
}

/*------------------------------------------------------------
	facilitys/building/
------------------------------------------------------------*/
#logistics.building .bigPhoto .subBox .ttl .numSpan {
  background-color: #ff6a80;
}
#logistics.building .bigPhoto .box01 {
  bottom: 39.5%;
  left: 19.92%;
}
#logistics.building .bigPhoto .box02 {
  bottom: 33.83%;
  left: 36.75%;
}
#logistics.building .bigPhoto .box03 {
  bottom: 90%;
  left: 39.75%;
}
#logistics.building .bigPhoto .box04 {
  bottom: 87.5%;
  left: 44.4%;
}
#logistics.building .bigPhoto .box05 {
  bottom: 53.5%;
  left: 48.33%;
}
#logistics.building .bigPhoto .box06 {
  bottom: 38.5%;
  left: calc(50% + -1%);
}
#logistics.building .bigPhoto .box07 {
  bottom: 10.3%;
  left: calc(50% + 0%);
}
#logistics.building .bigPhoto .box08 {
  bottom: 44.7%;
  left: calc(50% + 7.6%);
}
#logistics.building .bigPhoto .box09 {
  bottom: 53.5%;
  left: calc(50% + 13.25%);
}
#logistics.building .bigPhoto .box10 {
  bottom: 42%;
  left: calc(50% + 18.42%);
}
#logistics.building .bigPhoto .box11 {
  bottom: 28.3%;
  left: calc(50% + 21.2%);
}
@media all and (min-width: 769px) {
  #logistics.building .bigPhoto .box01 .subBox {
    left: calc(50% + 11rem);
  }
  #logistics.building .bigPhoto .box11 .subBox {
    left: calc(50% - 4rem);
  }
}

@media all and (max-width: 768px) {
  #logistics.building .headLine01 .en > img {
    max-height: 3.8rem;
  }
  #logistics.building .bigPhoto .innerBox {
    padding-top: 5.5rem;
  }

  #logistics.building .innerBox .innerPhoto {
    margin: 0 auto;
    width: 66.8rem;
  }
  #logistics.building .bigPhoto .box .num {
    transform: scale(1.8);
  }
  #logistics.building .bigPhoto .box02 {
    bottom: 32.53%;
  }
  #logistics.building .bigPhoto .box03 {
    bottom: 84%;
  }
  #logistics.building .bigPhoto .box04 {
    bottom: 82.5%;
    left: 45.4%;
  }
  #logistics.building .bigPhoto .box05 {
    left: 46.63%;
  }
  #logistics.building .bigPhoto .box06 {
    bottom: 36.9%;
  }
  #logistics.building .bigPhoto .box08 {
    bottom: 42.3%;
    left: calc(50% + 7.4%);
  }
  #logistics.building .bigPhoto .box09 {
    bottom: 49.1%;
  }
  #logistics.building .bigPhoto .box01 .subBox {
    left: calc(50% + 2rem);
    top: -7rem;
  }
  #logistics.building .bigPhoto .box02 .subBox {
    top: -9rem;
  }
  #logistics.building .bigPhoto .box05 .subBox {
    top: -2rem;
  }
  #logistics.building .bigPhoto .box06 .subBox {
    top: -8rem;
  }
  #logistics.building .bigPhoto .box07 .subBox {
    top: -18rem;
  }
  #logistics.building .bigPhoto .box08 .subBox {
    top: -6rem;
  }
  #logistics.building .bigPhoto .box09 .subBox {
    top: -4rem;
  }
  #logistics.building .bigPhoto .box10 .subBox {
    top: -6rem;
  }
  #logistics.building .bigPhoto .box11 .subBox {
    top: -11rem;
  }
}

/*------------------------------------------------------------
	facilitys/warehouse/
------------------------------------------------------------*/
#logistics.warehouse .bigPhoto .subBox .ttl .numSpan {
  background-color: #f90;
}
#logistics.warehouse .bigPhoto .box01 {
  bottom: 78.83%;
  left: 28.5%;
}
#logistics.warehouse .bigPhoto .box02 {
  bottom: 82.33%;
  left: 31.83%;
}
#logistics.warehouse .bigPhoto .box03 {
  bottom: 87.67%;
  left: 35.92%;
}
#logistics.warehouse .bigPhoto .box04 {
  bottom: 67.33%;
  left: 37%;
}
#logistics.warehouse .bigPhoto .box05 {
  bottom: 71.67%;
  left: 40.1%;
}
#logistics.warehouse .bigPhoto .box06 {
  bottom: 67.33%;
  left: 48.33%;
}
#logistics.warehouse .bigPhoto .box07 {
  bottom: 27%;
  left: calc(50% + 7.92%);
}
#logistics.warehouse .bigPhoto .box08 {
  bottom: 64%;
  left: calc(50% + 13.33%);
}
#logistics.warehouse .bigPhoto .box09 {
  bottom: 34.5%;
  left: calc(50% + 19.58%);
}
#logistics.warehouse .bigPhoto .box10 {
  bottom: 49.17%;
  left: calc(50% + 23.92%);
}
#logistics.warehouse .bigPhoto .box11 {
  bottom: 58.5%;
  left: calc(50% + 25.67%);
}
#logistics.warehouse .bigPhoto .box12 {
  bottom: 56.67%;
  left: calc(50% + 29.67%);
}
#introduce-block_f10d222b8317cc5c6178b57e8d98625a {
  padding: 0 !important;
}
@media all and (min-width: 769px) {
  #main .constructionDetail .wp-block-flexible-table-block-table {
    margin-bottom: 7rem;
  }
  #main .constructionDetail .wp-block-flexible-table-block-table .has-fixed-layout td:not(:first-child) {
    padding-left: 3rem;
    padding-right: 1rem;
    border-right: 1px solid rgba(170, 185, 200, 0.5);
  }
  #main .constructionDetail .wp-block-flexible-table-block-table .has-fixed-layout tr:last-child td:not(:first-child) {
    border-bottom: 1px solid rgba(170, 185, 200, 0.5);
  }
  #logistics.warehouse .bigPhoto .box09 .subBox {
    left: calc(50% - 2rem);
  }
  #logistics.warehouse .bigPhoto .box10 .subBox {
    left: calc(50% - 7.2rem);
  }
  #logistics.warehouse .bigPhoto .box11 .subBox {
    left: calc(50% - 10rem);
  }
  #logistics.warehouse .bigPhoto .box12 .subBox {
    left: calc(50% - 14rem);
  }
}

@media all and (max-width: 768px) {
  #main .constructionDetail .wp-block-flexible-table-block-table {
    margin-bottom: 5rem;
  }
  #logistics.warehouse .headLine01 .en > img {
    max-height: 3.8rem;
  }
  #logistics.warehouse .innerBox .innerPhoto {
    width: 69rem;
  }
  #logistics .simplebar-track.simplebar-horizontal {
    width: 12rem;
    height: 4px;
    right: auto;
    bottom: 6rem;
    left: 50%;
    transform: translateX(-50%);
    background-color: #fff;
  }
  #logistics .simplebar-track.simplebar-horizontal .simplebar-scrollbar::before {
    opacity: 1 !important;
    width: 6rem;
    max-width: 100%;
    background-color: var(--color09);
  }
  #logistics .simplebar-wrapper {
    /* padding-bottom: 4rem; */
    z-index: 10;
    position: relative;
  }
  #logistics.warehouse .bigPhoto .box03 {
    bottom: 87%;
  }
  #logistics.warehouse .bigPhoto .box04 .subBox {
    top: 1rem;
  }
  #logistics.warehouse .bigPhoto .box06 .subBox {
    top: 1rem;
  }
  #logistics.warehouse .bigPhoto .box07 .subBox {
    top: -13rem;
  }
  #logistics.warehouse .bigPhoto .box08 .subBox {
    top: 0;
  }
  #logistics.warehouse .bigPhoto .box10 .subBox {
    top: -5.5rem;
  }
  #logistics.warehouse .bigPhoto .box11 .subBox {
    top: -2rem;
  }
  #logistics.warehouse .bigPhoto .box12 .subBox {
    top: -3rem;
    left: calc(50% - 3.5rem);
  }
}

.constructioncatBody #container {
  overflow: inherit;
  overflow-x: clip;
}

@media all and (max-width: 781px) {
  #main .wp-block-columns {
    margin: 0 1rem 3.8rem;
    display: flex;
    gap: 2rem 0;
    justify-content: space-between;
  }
  #main .wp-block-columns > div {
    flex-basis: 47% !important;
    flex-grow: inherit !important;
  }
  #main .wp-block-columns .wp-block-image {
    margin: 0;
  }
  #main .wp-block-columns .wp-block-image .wp-element-caption {
    margin: 1.5rem 0 0;
    font-size: 1.1rem;
    line-height: 1.4;
    letter-spacing: 0.11rem;
  }
}

@media all and (max-width: 768px) and (max-height: 655px) {
  #main .mainVisual .content {
    padding-bottom: 10rem;
  }
}

/*------------------------------------------------------------
	about
------------------------------------------------------------*/
#about {
  position: relative;
}
#about::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url(img/about/bg02.png) no-repeat center top;
  background-size: 100% auto;
  opacity: 0.8;
  z-index: -1;
}
#about .ttlBox {
  margin-bottom: 67.5rem;
  display: flex;
  align-items: flex-end;
}
#about .ttlBox .headLine01 {
  margin-bottom: 0;
  width: 38.5rem;
  padding-right: 2rem;
}
#about .comTextList {
  margin: 0 0 4rem;
}
#about .aboutBigBox {
  position: relative;
}
#about .aboutInner {
  position: relative;
  background-color: #fff;
}
#about .aboutInner:after {
  width: 100%;
  height: 48.9rem;
  background: url(img/about/bg03.png) no-repeat;
  background-size: 100% 100%;
  position: absolute;
  top: -48.9rem;
  left: 0;
  content: "";
}

#about .jsAirplane {
  position: relative;
  display: block;
}
#about .jsAirplane img {
  /* animation: 2s ease-in-out infinite alternate sway-reverse; */
}
#about .jsAirplane.on {
  transition: transform linear 5s;
  transform: translate(-100vw, 20vh);
  animation-name: leaf-end;
  animation-duration: 1s;
  animation-delay: 4s;
  animation-fill-mode: forwards;
  animation-timing-function: linear;
  will-change: transform;
}
@keyframes sway {
  0% {
    transform: translate(50px) rotate(-45deg);
  }

  to {
    transform: matrix(1, 0, 0, 1, 0, 0);
  }
}

@keyframes sway-reverse {
  0% {
    transform: matrix(-1, 0, 0, 1, 0, 0);
  }

  to {
    transform: translate(50px) rotate(-45deg) scaleX(-1);
  }
}

@keyframes leaf-end {
  0% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}
#about .sec01 {
  margin-bottom: -48.6rem;
  position: relative;
  top: -58rem;
  z-index: 1;
}
#about .sec01 .airplane {
  position: absolute;
  bottom: 9rem;
  right: -8.7rem;
}
#about .sec01 .airplane img {
  /* animation: 2s ease-in-out infinite alternate sway; */
}
#about .sec01 .photoBox {
  width: 54.5rem;
  margin: -2rem 3.8rem 0 -2.1rem;
}
#about .sec01 .textBox {
  flex: 1;
}
#about .sec01 h2 {
  margin: 0 0.1rem 4rem;
}
#about .sec01 h2 .en {
  margin: 0 0 1.7rem;
  display: block;
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.09rem;
  color: var(--color08);
}
#about .sec01 p {
  margin: 0 3rem 2.5rem 0;
  font-weight: 500;
  line-height: 1.8;
  color: var(--color08);
  text-align: justify;
  letter-spacing: 0.16rem;
}
#about .sec01 p:last-child {
  margin-bottom: 0;
}
#about .sec02 {
  padding: 7rem 0;
}
#about .sec02 .content {
  position: relative;
}
#about .sec02 .photoBox {
  order: 2;
  margin: 0 5.5rem 0 12rem;
  width: 42.1rem;
}
#about .sec02 .photoBox video {
  width: 100%;
  height: auto;
}
#about .sec02 .textBox {
  flex: 1;
  padding: 1.8rem 0 0 8rem;
}
#about .sec02 .headLine02 {
  margin-bottom: 5.1rem;
}
#about .sec02 p {
  font-weight: 500;
  line-height: 1.8;
  margin-bottom: 2.5rem;
}
#about .sec02 p strong {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.18rem;
  color: var(--color08);
  margin: 0 0.5rem;
}
#about .sec02 p:last-child {
  margin-bottom: 0;
}
#about .sec02 .airplane {
  position: absolute;
  top: -9.7rem;
  left: 41.9rem;
  display: none;
}

#about .sec03 {
  padding: 10.4rem 2rem 0;
}
#about .sec03 .airplane {
  position: absolute;
  top: -3rem;
  left: 18rem;
  z-index: 10;
  transform: scaleX(-1) rotate(-6.5deg);
}
#about .sec03 .airplane img {
  /* animation: 2s ease-in-out infinite alternate sway; */
}
#about .sec03 .airplane.on {
  transform: translate(100vw, 20vh);
}
#about .sec03 .airplane2 {
  position: absolute;
  bottom: -2.3rem;
  right: 22rem;
  transform: rotate(-7deg);
  z-index: 10;
}
#about .sec03 .airplane2 img {
  /* animation: 2s ease-in-out infinite alternate sway; */
}
#about .sec03 .content {
  max-width: 134rem;
  margin: 0 auto;
  position: relative;
  padding: 15.5rem 15rem 18rem;
  border-radius: 6rem;
  background: url(img/about/bg01.jpg) repeat left top;
  background-size: cover;
}
#about .sec03 .list {
  margin: -2.6rem 0 4rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2rem 7rem;
}
#about .sec03 .list li {
  width: calc((100% - 14.2rem) / 3);
}
#about .sec03 .list .photo {
  width: 28.4rem;
  min-height: 30rem;
  margin: 0 auto 2.8rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
#about .sec03 .list p {
  font-size: 1.4rem;
  line-height: 1.8;
  text-align: justify;
  letter-spacing: 0.14rem;
}
#about .sec03 .list .ttl {
  margin-bottom: 1.2rem;
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.2rem;
}
#about .sec03 .list p small {
  display: block;
  font-size: 1rem;
  letter-spacing: 0.1rem;
}
#main .constructionBox {
  max-width: 95.3rem;
  margin: 0 auto;
  padding-top: 6.5rem;
}
#main .constructionBox h3 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 2.6rem;
  letter-spacing: 0.2rem;
}
#main .constructionBox .constructionImg {
  margin-bottom: 6rem;
  position: relative;
}
#about .constructionImg .box {
  position: absolute;
  bottom: 1.3rem;
}
#about .flow {
  padding-top: 0.8rem;
}
#about .flow .textImg {
  position: relative;
  z-index: 2;
  margin-right: 4.2rem;
}
#about .constructionBox .box {
  position: absolute;
  bottom: 1.3rem;
}
#about .constructionBox .sub {
  display: none;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 20.5rem;
  padding: 2.5rem 2rem 2.5rem 3rem;
  color: #fff;
  border-radius: 1rem;
  background-color: rgba(38, 40, 51, 0.95);
  z-index: 10;
}
#about .constructionBox .sub p {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.12rem;
}
#about .constructionBox .sub .ttl {
  font-size: 1.4rem;
  font-weight: 700;
  margin-bottom: 1rem;
  letter-spacing: 0.14rem;
}
#about .constructionBox .link a:hover {
  opacity: 0.7;
}
#about .flow .textImg .box01 {
  left: 24.8%;
}
#about .flow .textImg .box02 {
  left: 36.2%;
}
#about .flow .textImg .box03 {
  left: 70.5%;
}
#about .flow .textImg .box04 {
  left: 81.8%;
}
#about .flow .textBox {
  width: 19.4rem;
  padding: 3rem 2rem 3rem 2.5rem;
  border-radius: 2rem;
  position: relative;
  z-index: 1;
  fill: #fff;
  background-color: #fff;
  filter: drop-shadow(-0.7rem 0.7rem 2rem rgba(132, 157, 181, 0.25));
}
/* #about .flow .textBox::before, 
#about .flow .textBox::after {
	content: "";
	border: solid transparent;
	border-top-width: medium;
	border-top-color: transparent;
	border-right-width: medium;
	border-bottom-width: medium;
	border-left-width: medium;
	position: absolute;
	top: 100%;
	left: 50%;
	-webkit-transform: translateX(-50%);
	transform: translateX(-50%);
} */
#about .flow .textBox::before {
  /* border-width: 1rem;
	border-top-color: #F88400; */

  content: " ";
  width: 0;
  height: 0;
  border-top: 0.7rem solid transparent;
  border-bottom: 0.7rem solid transparent;
  border-right: 3rem solid #fff;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: -2.5rem;
}
#about .flow .textBox .pointTtl02 {
  width: fit-content;
  border-radius: 6rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.1rem;
  position: absolute;
  top: -1rem;
  left: 1.5rem;
  padding: 0.2rem 0.1rem;
  min-width: 6.1rem;
  color: #fff;
  background-color: var(--color09);
}
#about .flow .textBox p {
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.12rem;
}
#about .flow .textBox .ttl {
  text-align: center;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--color08);
  line-height: 1.4;
  margin-bottom: 1rem;
  letter-spacing: 0.14rem;
}
#about .constructionImg .box01 {
  left: 17%;
}
#about .constructionImg .box02 {
  left: 33.8%;
}
#about .constructionImg .box03 {
  left: 57%;
}
#about .constructionImg .box04 {
  left: 64.7%;
}
#main .proposal {
  padding: 5.5rem 0 3rem;
}
#main .proposal .mainBox {
  max-width: 100rem;
}
#main .proposal .headLine02 {
  margin-left: -2rem;
  margin-bottom: 6.3rem;
}
#main .proposal .headLine04 {
  font-size: 2.5rem;
  letter-spacing: 0.25rem;
  border-width: 2px;
}
#main .proposal p {
  line-height: 1.6;
  padding-top: 0.3rem;
  margin-bottom: 5.4rem;
}
#main .proposal p:last-child {
  margin-bottom: 0;
}
@media all and (min-width: 769px) {
  #about .flow .textImg {
    width: 64.4rem;
  }
  #about .constructionBox .link img {
    width: 3rem;
  }
}

@media all and (max-width: 768px) {
  #about::before {
    background-image: url(img/about/bg02_sp.png);
  }
  #about .ttlBox {
    margin-bottom: 59.3rem;
    display: block;
  }
  #about .ttlBox .headLine01 {
    width: auto;
    margin: 0 1rem 3.8rem;
    padding: 0;
  }
  #about .comTextList {
    margin: 0 1rem;
  }
  #about .aboutInner::after {
    height: 44.5rem;
    top: -44.5rem;
    background-image: url(img/about/bg03_sp.png);
  }
  #about .sec01 .content {
    display: block;
  }
  #about .sec01 .photoBox {
    width: auto;
    margin: 0 -0.1rem 1.9rem -0.2rem;
  }
  #about .sec01 .photoBox img {
    width: 100%;
  }
  #about .sec01 {
    margin-bottom: -51rem;
    top: -56.9rem;
  }
  #about .sec01 .textBox {
    padding: 0 2rem;
  }
  #about .sec01 h2 .en {
    margin: 0 0 1rem;
    font-size: 1.2rem;
    letter-spacing: 0.06rem;
  }
  #about .sec01 h2 > img {
    width: 31.5rem;
  }
  #about .sec01 h2 {
    margin-bottom: 2.1rem;
  }
  #about .sec01 p {
    margin: 0 0 2.3rem;
    max-width: inherit;
    letter-spacing: 0.14rem;
  }
  #about .sec01 .airplane {
    bottom: 0.4rem;
    width: 8rem;
    right: -4.5rem;
  }
  #about .sec02 .content {
    display: block;
  }
  #about .sec02 .photoBox {
    width: auto;
    margin: 0 3rem 1.7rem;
  }
  #about .sec02 .photoBox img {
    width: 100%;
  }
  #about .sec02 .textBox {
    padding: 0;
  }
  #about .sec02 p strong {
    font-size: 1.4rem;
  }
  #about .sec02 p {
    margin-bottom: 2.3rem;
  }
  #about .sec02 {
    padding: 7.7rem 2rem 2rem;
  }
  #about .sec02 .headLine02 {
    margin: 0 0 3.8rem;
  }
  #about .sec02 .airplane {
    left: 1.5rem;
    width: 7.7rem;
    top: -6.1rem;
    transform: rotate(-2deg);
  }
  #about .sec03 {
    padding: 3rem 0 0;
  }
  #about .sec03 .content {
    max-width: inherit;
    border-radius: 3rem;
    padding: 5.5rem 4rem 8.1rem;
    background-image: url(img/about/bg01_sp.jpg);
  }
  #about .sec03 .headLine02 {
    margin: 0 0 2.2rem;
  }
  #about .sec03 .airplane {
    width: 7.7rem;
    left: 9.5rem;
    top: -8.4rem;
    transform: scaleX(-1) rotate(-1.8deg);
  }
  #about .sec03 .list {
    margin: 0;
    display: block;
  }
  #about .sec03 .list li {
    width: auto;
    margin-bottom: 2.3rem;
  }
  #about .sec03 .list li:last-child {
    margin-bottom: 0;
  }
  #about .sec03 .list .photo {
    width: 25rem;
    margin-bottom: 1.8rem;
    min-height: inherit;
    display: block;
  }
  #about .sec03 .list .txtBox {
    padding: 0 0.5rem;
  }
  #about .sec03 .list .ttl {
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
  }
  #main .constructionBox {
    max-width: inherit;
    padding: 6.5rem 1.5rem 0;
  }
  #main .constructionBox h3 {
    font-size: 1.4rem;
    letter-spacing: 0.14rem;
    margin: 0 0 1.4rem;
  }
  #main .constructionBox .constructionImg {
    margin-bottom: 4.1rem;
  }
  #main .constructionBox .constructionImg img {
    width: 100%;
  }
  #about .flow {
    display: block;
    padding-top: 0;
  }
  #about .flow .textImg {
    margin: 0 0 3.5rem;
  }
  #about .flow .textImg img {
    width: 100%;
  }
  #about .flow .textBox {
    margin: 0;
    width: auto;
    padding: 3rem 2rem;
  }
  #about .flow .textBox::before {
    right: 2rem;
    top: -1.5rem;
    left: auto;
    border-top: 0.7rem solid transparent;
    border-bottom: 0.7rem solid transparent;
    border-right: 3.5rem solid #fff;
    transform: rotate(90deg);
  }
  #about .flow .textBox::after {
    left: -2rem;
    right: -2rem;
    top: -4.5rem;
    bottom: -4.5rem;
    background-image: url(img/logistics/bg_sp.png);
    background-size: 100% 100%;
  }
  #about .flow .textBox .ttl {
    font-size: 1.3rem;
    letter-spacing: 0.13rem;
  }
  #about .flow .textBox .pointTtl02 {
    left: 1.5rem;
    top: -1rem;
    padding-bottom: 0.2rem;
    padding-top: 0.2rem;
  }
  #about .sec03 .airplane2 {
    width: 7.6rem;
    right: 8.7rem;
    bottom: -1.3rem;
    transform: rotate(-1deg);
  }
  #about .flow .textImg .box {
    bottom: auto;
    left: auto;
    right: 0.8rem;
    width: 11%;
  }
  #about .flow .textImg .box01 {
    top: 23.6%;
  }
  #about .flow .textImg .box02 {
    top: 35%;
  }
  #about .flow .textImg .box03 {
    top: 68.9%;
  }
  #about .flow .textImg .box04 {
    top: 80.2%;
  }
  #about .constructionBox .box img {
    width: 100%;
  }
  #about .constructionBox .sub {
    left: auto;
    transform: none;
    right: -4rem;
  }
  #about .constructionImg .box {
    bottom: auto;
    left: auto;
    right: 0.8rem;
    width: 10.8%;
  }
  #about .constructionImg .box01 {
    top: 16.3%;
  }
  #about .constructionImg .box02 {
    top: 31.9%;
  }
  #about .constructionImg .box03 {
    top: 55.2%;
  }
  #about .constructionImg .box04 {
    top: 63.1%;
  }
  #main .proposal {
    padding: 8.1rem 4rem 4.3rem;
  }
  #main .proposal .headLine02 {
    margin: 0 0 5rem;
  }
  #main .proposal .headLine04 {
    font-size: 1.8rem;
    letter-spacing: 0.18rem;
    margin-bottom: 1.6rem;
  }
  #main .proposal p {
    padding-top: 0;
    margin-bottom: 4.4rem;
    line-height: 1.8;
  }
  #main .operating .textImg {
    width: 136rem;
    margin: 0 0 -1.5rem -0.7rem;
  }
  #main .operating {
    padding-top: 8.7rem;
  }
  #main .operating .airplane {
    width: 7.4rem;
    left: 2.5rem;
    top: 3.9rem;
    transform: scaleX(-1) rotate(-1.5deg);
  }
  #main .operatingBox {
    padding: 6.5rem 2rem 14.5rem;
  }
  #main .operatingBox .headLine02 {
    margin: 0 0 3rem;
  }
  #main .comDl {
    display: block;
  }
  #main .comDl > dt {
    width: auto;
    padding: 0;
    border: none;
  }
  #main .comDl > dd {
    margin-bottom: 2rem;
    padding: 0.3rem 0 2.4rem;
    width: auto;
    letter-spacing: 0.14rem;
  }
  #main .comDl > dd:last-child {
    margin-bottom: 0;
  }
  #main .comDl .subDl {
    padding-top: 1rem;
  }
  #main .comDl .subDl dt {
    font-size: 1.4rem;
    margin-bottom: 0.4rem;
    letter-spacing: 0.14rem;
  }
  #main .comDl .subDl dd {
    margin-bottom: 1.7rem;
    font-size: 1.2rem;
    letter-spacing: 0.12rem;
  }
  #main .comDl .subDl dd .spSpan {
    display: inline-block;
    margin-top: 0.7rem;
  }
}

.mktoForm .mktoError {
  bottom: auto !important;
  top: 100% !important;
  left: 0 !important;
  right: auto !important;
  width: 100% !important;
}
.mktoHtmlText {
  width: auto !important;
}
.mktoForm .mktoError .mktoErrorMsg {
  padding: 1rem !important;
  max-width: inherit !important;
}

/* 20250813 */

.comService .linkList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

.comService .linkList a {
  background-color: #fff;
  padding: 2.9rem 1rem 1.8rem;
  display: block;
  border-radius: 1rem;
  text-align: center;
  height: 100%;
  border: 1px solid var(--color04);
}
.comService .linkList .img {
  width: 25.5rem;
  min-height: 12rem;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: -2.8rem auto -0.4rem;
}

.comService .linkList p {
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: 0.21rem;
}

.whiteBox + .comService {
  margin-top: 12rem;
}

@media all and (min-width: 769px) {
  .comService .linkList a:hover {
    border-color: var(--color04);
    color: var(--color09);
    background-color: var(--color07);
  }
}

@media screen and (max-width: 768px) {
  .comService .linkList {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }
  .comService .linkList a {
    padding: 3rem 0.5rem 2.8rem;
  }
  .comService .linkList .en {
    display: block;
    margin-bottom: -2.5rem;
  }
  .comService .linkList .en img {
    max-width: 12.5rem;
    max-height: 1.9rem;
    width: auto;
  }
  .comService .linkList .img {
    width: 100%;
    min-height: 7rem;
    margin: 0.2rem 0 1.3rem;
  }
  .comService .linkList p {
    font-size: 1.2rem;
    letter-spacing: 0.18rem;
    line-height: 1;
  }
  .whiteBox + .comService {
    margin-top: 8rem;
  }
}

.contactBoxTel {
  margin-bottom: 4.2rem;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff;
  letter-spacing: 0.14rem;
}
.contactBoxTel a {
  color: #fff;
}
.contactBoxTel a .txtSpan {
  display: inline-block;
  font-size: 2.5rem;
  font-weight: 700;
  letter-spacing: 0.25rem;
  padding-left: 3.4rem;
  margin-right: 1.8rem;
  background: url(img/common/tel02.png.webp) no-repeat left calc(50% + 0.2rem);
  background-size: 2.2rem auto;
}

@media screen and (max-width: 768px) {
  .contactBoxTel {
    font-size: 1.3rem;
    max-width: 33rem;
    font-weight: 500;
    margin: 0 auto 1.5rem !important;
    letter-spacing: 0.13rem;
  }
  .contactBoxTel a {
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5rem;
    min-height: 8rem;
    border: 2px solid var(--color08);
    background: url(img/common/tel.png.webp) no-repeat left 2.5rem center, url(img/common/icon02.png.webp) no-repeat right 2.3rem center #fff;
    background-size: 2.3rem auto, 1.4rem auto;
    color: var(--color08);
  }
  .contactBoxTel a .txtSpan {
    display: block;
    background: none;
    line-height: 1;
    padding-left: 0;
    margin: 0 0 0.2rem;
    font-size: 2.2rem;
    letter-spacing: 0.22rem;
  }
}

.detailService {
  margin-bottom: 6rem;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.detailService .intro {
  margin: 0 !important;
}

.detailService .intro .whiteBox {
  margin-bottom: 0 !important;
}

@media screen and (max-width: 768px) {
  .detailService {
    margin: 4.7rem 0 4rem;
  }
}

#about .sec03 .desc {
  margin-bottom: 5rem;
  color: var(--color08);
}

#about .sec03 .desc h2 {
  margin-bottom: 5rem;
}

#about .sec03 .desc h2 .en {
  display: block;
  font-weight: 900;
  font-size: 1.8rem;
  letter-spacing: 0.05rem;
  line-height: 1;
  margin-bottom: 2.5rem;
}

#about .renovationPont {
  margin-top: 6rem;
  position: relative;
  background-color: #fff;
  border-radius: 2rem;
  padding: 3rem 3.5rem;
  box-shadow: -0.7rem 0.7rem 3rem rgba(132, 157, 181, 0.1);
  position: relative;
  width: 87.8rem;
}

#about .renovationPont::before,
#about .renovationPont::after {
  content: "";
  width: 3rem;
  height: 0.4rem;
  background-color: #fff;
  position: absolute;
  top: -3.2rem;
  left: calc(50% - 13.3rem);
}

#about .renovationPont::after {
  transform: rotate(90deg);
}

#about .renovationPont .point {
  width: fit-content;
  border-radius: 6rem;
  text-align: center;
  font-size: 1rem;
  font-weight: 900;
  letter-spacing: 0.1rem;
  position: absolute;
  top: -1rem;
  left: 1.5rem;
  padding: 0.2rem 0.1rem;
  min-width: 6.1rem;
  color: #fff;
  background-color: var(--color09);
}

#about .renovationPont .renovationPontTtl {
  font-weight: bold;
  font-size: 1.8rem;
  line-height: 1;
  margin-bottom: 2rem;
}

#about .renovationPont .renovationPontTtl img {
  width: 17.1rem;
  margin-right: 1rem;
  vertical-align: bottom;
}

#about .renovationPont p {
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  #about .sec03 .desc {
    margin-bottom: 3rem;
  }

  #about .sec03 .desc h2 {
    margin-bottom: 3rem;
  }

  #about .sec03 .desc h2 img {
    max-width: 21.4rem;
  }

  #about .sec03 .desc h2 .en {
    font-size: 1.2rem;
    margin-bottom: 1.5rem;
  }
  #about .sec03 .descTxt {
    display: flex;
    flex-direction: column;
    gap: 1.8em;
  }

  #about .renovationPont {
    border-radius: 2rem;
    padding: 3.5rem 2.5rem 3rem;
    box-shadow: 0 0 3rem rgba(132, 157, 181, 0.25);
    width: 100%;
  }

  #about .renovationPont::before,
  #about .renovationPont::after {
    top: -3.2rem;
    left: calc(50% - 1.5rem);
  }

  #about .renovationPont .point {
    left: 1.8rem;
    top: -1rem;
    padding-bottom: 0.2rem;
    padding-top: 0.2rem;
  }

  #about .renovationPont .renovationPontTtl {
    font-size: 1.4rem;
    margin-bottom: 1.5rem;
    line-height: 1.6;
    text-align: center;
  }

  #about .renovationPont .renovationPontTtl img {
    width: 14.3rem;
    margin-right: 0.6rem;
    vertical-align: baseline;
  }

  #about .renovationPont p {
    font-size: 1.3rem;
  }
}

#works .worksData {
  margin-bottom: 3rem;
}

#works .worksData h2 {
  margin-bottom: 2rem;
  line-height: 1;
  font-weight: 700;
  font-size: 1.6rem;
  color: var(--color08);
  display: flex;
  align-items: flex-end;
  gap: 1rem;
}

#works .worksData h2 img {
  max-width: 2rem;
}

#works .worksData .dataList {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}

#works .worksData .dataList .dataListItem {
  background-color: #fff;
  border-radius: 1rem;
  box-shadow: 0 0 1.5rem rgba(88, 94, 120, 0.05);
  padding: 2rem 1.5rem 1.5rem;
  text-align: center;
  position: relative;
}

#works .worksData .dataList .dataListItem h3 {
  text-align: center;
  font-size: 1.6rem;
  font-weight: bold;
  color: var(--color08);
  margin-bottom: 1em;
}

#works .worksData .dataList .dataListItem h3 span {
  font-size: 1.3rem;
}

#works .worksData .dataList .dataListItem .bigPhoto .comSearch {
  display: block;
  width: 5rem;
  position: absolute;
  right: 0;
  bottom: 0;
}

#works .worksData .dataList .dataListItem .dataNum {
  margin: 3rem 0 1.5rem;
}

#works .worksData .dataList .dataListItem p {
  font-size: 1.3rem;
  font-weight: 600;
  color: var(--color08);
  letter-spacing: 0.1em;
  line-height: 1.5;
}

#works .worksData .dataList .dataListItem:first-child .bigPhoto > img {
  max-width: 13.4rem;
}

#works .worksData .dataList .dataListItem:nth-child(2) .bigPhoto > img {
  max-width: 17.2rem;
}

#works .worksData .dataList .dataListItem:last-child .dataNum img {
  max-width: 23.7rem;
}

@media screen and (max-width: 768px) {
  #works .worksData {
    padding: 0 1rem;
  }

  #works .worksData h2 {
    font-size: 1.4rem;
    gap: 0.8rem;
    align-items: center;
  }

  #works .worksData .dataList {
    grid-template-columns: repeat(2, 1fr);
    gap: 1rem;
  }

  #works .worksData .dataList .dataListItem {
    border-radius: 0.6rem;
    padding: 1.5rem 1.5rem 2rem;
    box-shadow: 0 0 0.8rem rgba(88, 94, 120, 0.05);
  }

  #works .worksData .dataList .dataListItem h3 {
    text-align: left;
    font-size: 1.4rem;
    margin-bottom: 1em;
    line-height: 1.4;
  }

  #works .worksData .dataList .dataListItem h3 span {
    font-size: 1rem;
    display: block;
  }

  #works .worksData .dataList .dataListItem .bigPhoto .comSearch {
    bottom: unset;
    top: 0;
    right: -0.5rem;
  }

  #works .worksData .dataList .dataListItem .dataNum {
    margin: 0;
  }

  #works .worksData .dataList .dataListItem:first-child .bigPhoto > img,
  #works .worksData .dataList .dataListItem:nth-child(2) .bigPhoto > img {
    max-height: 9.1rem;
    width: auto;
  }

  #works .worksData .dataList .dataListItem:last-child {
    grid-column: 1 / 3;
  }
  #works .worksData .dataList .dataListItem:last-child h3 span {
    display: inline-block;
    margin-left: 0.5rem;
  }
  #works .worksData .dataList .dataListItem:last-child .dataNum img {
    max-width: 26.7rem;
  }
}

#main .detailBox .detailTxtBox {
  border-radius: 5px;
  border: 1px solid #c7deff;
  background-color: #e7f1ff;
  padding: 2.5rem 3rem;
  margin-bottom: 2.5rem;
}

#main .detailBox .detailTxtBox p,
#main .detailBox .detailDesc p {
  margin: 0;
}

#main .detailBox .detailDesc {
  margin-bottom: 2rem;
}

#main .detailBox .detailDesc .detailDescTtl {
  font-weight: bold;
  color: #fff;
  line-height: 1.4;
  padding: 0.5em 1.5em;
  letter-spacing: 0.1em;
  width: fit-content;
  border-radius: 0.5rem 0.5rem 0 0;
  background-color: #0072b9;
}

#main .detailBox .detailDesc .detailDescTxt {
  padding: 2rem 3rem;
  border-radius: 0 0.5rem 0.5rem 0.5rem;
  border: 1px solid #0072b9;
  background-color: #fff;
}

#main .detailBox .marker-yellow {
  background: linear-gradient(transparent 70%, #fff381 70%);
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #main .detailBox .detailTxtBox {
    padding: 1.5rem 2rem;
  }
  #main .detailBox .detailDesc .detailDescTtl {
    padding: 0.5em 1.5em;
  }

  #main .detailBox .detailDesc .detailDescTxt {
    padding: 1.5rem 2rem;
  }
}

#main .columnArticlesBoxWrap {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
