@charset "UTF-8";

/* Normalize.css
======================================================== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
main { display: block; }
h1 { font-size: 2em; margin: 0.67em 0; }
hr { box-sizing: content-box; height: 0; overflow: visible; }
pre { font-family: monospace, monospace; font-size: 1em; }
a { background-color: transparent; }
abbr[title] { border-bottom: none; text-decoration: underline; text-decoration: underline dotted; }
b, strong { font-weight: bolder; }
code, kbd, samp { font-family: monospace, monospace; font-size: 1em; }
small { font-size: 80%; }
sub, sup { font-size: 75%; line-height: 0; position: relative; vertical-align: baseline; }
sub { bottom: -0.25em; }
sup { top: -0.5em; }
img { border-style: none; }
button, input, optgroup, select, textarea { font-family: inherit; font-size: 100%; line-height: 1.15; margin: 0; }
button, input { overflow: visible; }
button, select { text-transform: none; }
button, [type="button"], [type="reset"], [type="submit"] { -webkit-appearance: button; }
button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner { border-style: none; padding: 0; }
button:-moz-focusring, [type="button"]:-moz-focusring, [type="reset"]:-moz-focusring, [type="submit"]:-moz-focusring { outline: 1px dotted ButtonText; }
fieldset { padding: 0.35em 0.75em 0.625em; }
legend { box-sizing: border-box; color: inherit; display: table; max-width: 100%; padding: 0; white-space: normal; }
progress { vertical-align: baseline; }
textarea { overflow: auto; }
[type="checkbox"], [type="radio"] { box-sizing: border-box; padding: 0; }
[type="number"]::-webkit-inner-spin-button, [type="number"]::-webkit-outer-spin-button { height: auto; }
[type="search"] { -webkit-appearance: textfield; outline-offset: -2px; }
[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }
::-webkit-file-upload-button { -webkit-appearance: button; font: inherit; }
details { display: block; }
summary { display: list-item; }
template { display: none; }
[hidden] { display: none; }
/* Soft reset */
figure { margin: 0; }
ul, ol, dd { margin: 0; padding: 0; list-style: none; }
h1, h2 h3, h4, h5, h6 { margin: 0; font-size: inherit; font-weight: inherit; }
p { margin: 0; }

/* Common
======================================================== */
html { font-size: 62.5%; }
body { font-family: "M PLUS Rounded 1c","メイリオ",Meiryo,"Hiragino Kaku Gothic ProN","Hiragino Sans","ＭＳ Ｐゴシック","MS PGothic",Arial, Helvetica,sans-serif; font-size: 1.6rem; /* 16px */ letter-spacing: 0.05em; color: #000; overflow-x: hidden; position: relative; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
a { color: #000; text-decoration: underline; }
a:hover { cursor: pointer; text-decoration: none; opacity: 0.7; }
p { font-size: 1.6rem; line-height: 1.5; }
header, main section, main div { gap: 0; }

@media only screen and (min-width:600px) and (max-width:1100px) {

}

@media screen and (max-width: 600px) {
  html { font-size: 50%; }
  body { width: 100%; text-size-adjust: 100%; -webkit-text-size-adjust: 100%; }
  p { font-size: 1.7rem; line-height: 1.5; }
}

/* WordPress Default
======================================================== */
.has-text-align-left { text-align: left; }
.has-text-align-center { text-align: center; }
.has-text-align-right { text-align: right; }
.aligncenter { display: block; margin-right: auto; margin-left: auto; }
.alignright { float: right; margin-bottom: 20px; margin-left: 20px; }
.alignleft { float: left; margin-right: 20px; margin-bottom: 20px; }
.wp-caption, [class*='wp-image'] { display: block; max-width: 100% !important; margin-top: 1.5em; text-align: center; }
.wp-caption-text { margin-top: 0; }
.mce-item-table { max-width: 100% !important; border-collapse: collapse; margin-bottom: 2rem; }
.mce-item-table th { padding: 1rem 2rem; border: 1px solid #eaeaea; word-break: break-all; }
.mce-item-table td { padding: 1rem 2rem; border: 1px solid #eaeaea; line-height: 1.5; word-break: break-all; }
/* TinyMCEのマーカー */
.red_marker { background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FFABCE 0%) repeat scroll 0 0; }
.blue_marker { background:rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #A7F1FF 0%) repeat scroll 0 0; }
.yellow_marker { background: rgba(0, 0, 0, 0) linear-gradient(transparent 60%, #FFFF88 0%) repeat scroll 0 0; }
/* テーブル */
table { max-width: 100% !important; border-collapse: collapse; margin-bottom: 2rem; }
table tbody { max-width: 100% !important; }
table th { padding: 1rem 2rem; border: 1px solid #eaeaea; word-break: break-all; }
table td { padding: 1rem 2rem; border: 1px solid #eaeaea; line-height: 1.5; word-break: break-all; }
table th p,
table td p { margin-bottom: 0 !important; }
table.mainstyle th { background: #ffffCC; }
@media screen and (max-width: 600px) {
  table { width: 100% !important; table-layout: fixed; }
}

/* Utility classes
======================================================== */
.--PC { display: block; }
.--SP {  display: none; }
@media screen and (max-width: 600px) {
  .--PC { display: none; }
  .--SP { display: block; }
}

.--PositionFixed { position: fixed; z-index: 99; }
/* Heading */
.--Heading { position: relative; margin: 0 auto; padding: 0 0 110px; font-size: 5.0rem; line-height: 1.38; text-align: center; }
.--Heading small { position: absolute; bottom: 60px; left: 50%; transform: translateX(-50%); display: inline-block; color: #959595; font-size: 2.0rem; font-weight: 400; }
.--Heading:after { position: absolute; bottom: 95px; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 120px; height: 5px; border-radius: 5px; }
main.workshop .--Heading:after { background: #1a86ff; /* 作業所：ブルー系 */ }
main.office .--Heading:after { background: #ff7200; /* 事務所：オレンジ系 */ }
main.farmer .--Heading:after { background: #067423; /* 事務所：グリーン系 */ }
main.food .--Heading:after { background: #0e229a; /* 食品加工場：パープル系 */ }
main.kikenbutsu .--Heading:after { background: #f03737; /* 危険物倉庫：レッド系 */ }
/* Font */
.--Mincho { font-family: "Hiragino Mincho ProN","Hiragino Mincho Pro",游明朝,"Yu Mincho",YuMincho,HGS明朝E,メイリオ,Meiryo,serif; }
.--HiraginoKakuGothic { font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HiraKakuPro-W3",sans-serif; }
/* Shadow */
.--BoxShadow { box-shadow: 0 2px 8px 0 rgba(0, 0, 0, .15); }
/* Alignment */
.--AlignLeft { text-align: left; }
.--AlignCenter { text-align: center; }
.--AlignRight { text-align: right; }
/* Image */
.--ObjectFitCover { position: relative; display: block; width: 100%; background: #eaeaea; overflow: hidden; object-fit: cover; }
.--ObjectFitCover:before { content: ""; display: block; }
.--ObjectFitCover img { position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover; }

.Body__Page { margin: 0 auto; padding: 4rem 0; width: 1100px; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .--Heading { padding: 0 0 9vw; font-size: 4.2vw; }
  .--Heading small { bottom: 5vw; font-size: 1.6vw; }
  .--Heading:after { bottom: 8vw; width: 10vw; height: 0.4vw; }
  .Body__Page { width: 93%; }
}
@media screen and (max-width: 600px) {
  .--Wrap { overflow-x: hidden; }
  .--Heading { padding: 0 0 11vw; font-size: 3.2rem; }
  .--Heading small { bottom: 3vw; font-size: 1.5rem; }
  .--Heading:after { bottom: 9vw; width: 20vw; height: 3px; border-radius: 2px; }
  .Body__Page { width: 93%; }
}



/* Inview.js
======================================================== */
.--InviewFade { opacity: 0; /*表示前に透明にしておく */ transform: translateY(60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewFade.fadeInUp { opacity: 1; transform: translateY(0); }
.--InviewFade.--Delay1 { transition-delay: 0.3s; }
.--InviewFade.--Delay2 { transition-delay: 0.6s; }
.--InviewFade.--Delay3 { transition-delay: 0.9s; }
.--InviewFade.--Delay4 { transition-delay: 1.2s; }
.--InviewFade.--Delay5 { transition-delay: 1.5s; }
.--InviewFade.--Delay6 { transition-delay: 1.8s; }

.--InviewRight { opacity: 0; /*表示前に透明にしておく */ transform: translateX(60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewRight.fadeInLeft { opacity: 1; transform: translateX(0); }
.--InviewRight.--Delay1 { transition-delay: 0.3s; }
.--InviewRight.--Delay2 { transition-delay: 0.6s; }
.--InviewRight.--Delay3 { transition-delay: 0.9s; }
.--InviewRight.--Delay4 { transition-delay: 1.2s; }
.--InviewRight.--Delay5 { transition-delay: 1.5s; }
.--InviewRight.--Delay6 { transition-delay: 1.8s; }

.--InviewLeft { opacity: 0; /*表示前に透明にしておく */ transform: translateX(-60px); /*表示前の位置 */ transition: 0.8s; /*移動にかける時間 */ transition-delay: 0.1s; /*遅延をかける秒数 */ }
.--InviewLeft.fadeInRight { opacity: 1; transform: translateX(0); }
.--InviewLeft.--Delay1 { transition-delay: 0.3s; }
.--InviewLeft.--Delay2 { transition-delay: 0.6s; }
.--InviewLeft.--Delay3 { transition-delay: 0.9s; }
.--InviewLeft.--Delay4 { transition-delay: 1.2s; }
.--InviewLeft.--Delay5 { transition-delay: 1.5s; }
.--InviewLeft.--Delay6 { transition-delay: 1.8s; }

/* メインビジュアル
======================================================== */
.MainVisual { position: relative; display: flex; flex-direction: column; }
.MainVisual__Heading { margin: 0 auto; padding: 0; width: 47vw; }
.MainVisual__Heading img { width: 100%; height: auto; }
.MainVisual__Features { display: flex; margin: 0 auto; padding: 0 0 4vw; width: 45vw; list-style: none; }
.MainVisual__Features li { margin: 0 0.5vw; }
.MainVisual__Features li img { width: 100%; height: auto; filter: drop-shadow(0px 0px 5px #666); }
.MainVisual__Text { position: absolute; left: 2vw; bottom: 0; display: inline-block; margin: 0; padding: 0; color: #efefef; font-size: 2.4vw; font-weight: 700; white-space: nowrap; }

/* 作業所：ブルー系 */
main.workshop .MainVisual { background: url(/wp-content/uploads/2024/03/workshop-mv-bg-pc.jpg) no-repeat center top; background-size: cover; }
/* 事務所：オレンジ系 */
main.office .MainVisual { background: url(/wp-content/uploads/2024/03/office-mv-bg-pc.jpg) no-repeat center top; background-size: cover; }
/* 農業用倉庫：グリーン系 */
main.farmer .MainVisual { background: url(/wp-content/uploads/2024/03/farmer-mv-bg-pc.jpg) no-repeat center top; background-size: cover; }
/* 食品加工場：パープル系 */
main.food .MainVisual { background: url(/wp-content/uploads/2024/03/food-mv-bg-pc.jpg) no-repeat center top; background-size: cover; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .MainVisual { background: url(/wp-content/uploads/2024/03/kikenbutsu-mv-bg-pc.jpg) no-repeat center top; background-size: cover; }

@media screen and (max-width: 600px) {
  .MainVisual__Heading { padding: 27vw 0 0; width: 82%; }
  main.farmer .MainVisual__Heading,
  main.food .MainVisual__Heading,
  main.kikenbutsu .MainVisual__Heading { padding: 30vw 0 0; width: 90%; }
  .MainVisual__Features { padding: 2vw 0 0; width: 88%; }
  .MainVisual__Features li { margin: 0 1.5vw; }
  .MainVisual__Features li img { filter: drop-shadow(0px 0px 2px #666); }
  .MainVisual__Text { bottom: 3vw; left: 50%; transform: translateX(-50%); font-size: 2rem; }
  main.workshop .MainVisual { background: url(/wp-content/uploads/2024/03/workshop-mv-bg-sp.jpg) no-repeat center top; background-size: cover; height: 120vw; /* 作業所：ブルー系 */ }
  main.office .MainVisual { background: url(/wp-content/uploads/2024/03/office-mv-bg-sp.jpg) no-repeat center top; background-size: cover; height: 120vw; /* 事務所：オレンジ系 */ }
  main.farmer .MainVisual { background: url(/wp-content/uploads/2024/03/farmer-mv-bg-sp.jpg) no-repeat center top; background-size: cover; height: 120vw; /* 農業用倉庫：グリーン系 */ }
  main.food .MainVisual { background: url(/wp-content/uploads/2024/03/food-mv-bg-sp.jpg) no-repeat center top; background-size: cover; height: 120vw; /* 食品加工場：パープル系 */ }
  main.kikenbutsu .MainVisual { background: url(/wp-content/uploads/2024/03/kikenbutsu-mv-bg-sp.jpg) no-repeat center top; background-size: cover; height: 120vw; /* 危険物倉庫：レッド系 */ }
}

/* スペシャルレポートダウンロード
======================================================== */
.SpecialReportDL { padding: 20px 0; display: flex; justify-content: center; align-items: center; }
.SpecialReportDL__Text { padding: 0 70px 0 0; text-align: center; }
.SpecialReportDL__Heading { padding: 20px 0; color: #fff; font-size: 5.3rem; font-weight: 700; line-height: 1.1; }
.SpecialReportDL__Button a { position: relative; display: inline-block; padding: 10px 90px 10px 55px; font-size: 2.9rem; font-weight: 500; text-decoration: none; background: #fff; border-radius: 35px; }
.SpecialReportDL__Button a:after { position: absolute; right: 40px; top: 50%; transform: translateY(-50%); content: '\f0a9'; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.SpecialReportDL__Image { width: 400px; }
.SpecialReportDL__Image img { margin: 0; width: 100%; height: auto; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .SpecialReportDL { padding: 2vw 0; }
  .SpecialReportDL__Text { padding: 0 6vw 0 0; }
  .SpecialReportDL__Heading { padding: 1.8vw 0; font-size: 4.4vw; }
  .SpecialReportDL__Button a { padding: 0.8vw 8vw 0.8vw 4.5vw; font-size: 2.4vw; }
  .SpecialReportDL__Button a:after { right: 3.5vw; }
  .SpecialReportDL__Image { width: 33.5vw; }
}

@media screen and (max-width: 600px) {
  .SpecialReportDL { padding: 4vw 0; overflow-x: hidden; }
  .SpecialReportDL__Text { padding: 0 3vw 0 0; }
  .SpecialReportDL__Heading { padding: 2vw 0; font-size: 2.5rem; }
  .SpecialReportDL__Button a { padding: 0.5vw 11vw 0.5vw 8vw; font-size: 1.8rem; }
  .SpecialReportDL__Button a:after { right: 5vw; }
  .SpecialReportDL__Image { width: 38%; }
}

/* 作業所：ブルー系 */
main.workshop .SpecialReportDL { background: #1a86ff; }
main.workshop .SpecialReportDL__Button a { color: #1a86ff; }
/* 事務所：オレンジ系 */
main.office .SpecialReportDL { background: #ff7200; }
main.office .SpecialReportDL__Button a { color: #ff7200; }
/* 農業用倉庫：グリーン系 */
main.farmer .SpecialReportDL { background: #067423; }
main.farmer .SpecialReportDL__Button a { color: #067423; }
/* 食品加工場：パープル系 */
main.food .SpecialReportDL { background: #0e229a; }
main.food .SpecialReportDL__Button a { color: #0e229a; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .SpecialReportDL { background: #f03737; }
main.kikenbutsu .SpecialReportDL__Button a { color: #f03737; }

/* 建築実績
======================================================== */
.Body__Works { padding: 90px 0 100px; }
.Works { margin: 0 auto; width: 1100px; }
.Works .slick-track { display: flex; }
.Works .slick-slide { display: flex !important; }
.Works .slick-slide > div { display: flex; margin: 4%; padding: 0; width: 92%; }
.Works .slick-prev { z-index: 1; }
.Works .slick-prev { left: -1.8rem; width: 54px; height: 54px; background: #fff; border-radius: 50%; z-index: 1; }
.Works .slick-next { right: -1.5rem; width: 54px; height: 54px; background: #fff; border-radius: 50%; }
.Works .slick-prev:hover,
.Works .slick-next:hover { opacity: 1; }
.Works .slick-prev:hover:before,
.Works .slick-next:hover:before { color: #666; }
.Works .slick-prev:before,
.Works .slick-next:before { color: #000; font-size: 5.2rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.Works .slick-prev:before { content: "\f137"; }
.Works .slick-next:before { content: "\f138"; }
.WorksResults { position: relative; display: flex !important; flex-direction: column; align-items: center; margin: 0 auto; padding: 0 0 30px; width: 336px !important; border-radius: 10px; }
.WorksResults__Link { position: absolute; display: block; width: 100%; height: 100%; z-index: 1; }
.WorksResults__Image { border-radius: 10px 10px 0 0; }
.WorksResults__Image:before { padding-top: 67%; }
.WorksResults__Title { margin: 0; padding: 25px 15px 15px; /* height: 120px; */ font-size: 2.0rem; font-weight: 800; line-height: 1.35; text-align: center; }
.WorksResults__Title h3 { margin: 0; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.WorksResults__List { flex-grow: 1; display: flex; flex-wrap: wrap; margin: 0; padding: 20px 15px 40px; font-size: 1.8rem; line-height: 1.5; }
.WorksResults__List dt { padding-bottom: 5px; width: 33%; white-space: nowrap; }
.WorksResults__List dd { padding-bottom: 5px; width: 67%; }
.WorksResults__Button { position: relative; display: block; margin: 0 auto; padding: 12px 0; width: 264px; color: #fff; text-align: center; border-radius: 30px; }
.WorksResults__Button:after { position: absolute; right: 40px; top: 50%; transform: translateY(-50%); content: '\f0a9'; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.WorksResults__Button p { font-size: 2.0rem; font-weight: 500; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Works { padding: 7vw 0 9vw; }
  .Works { width: 94%; }
  .Works .slick-prev { width: 5.4vw; height: 5.4vw; }
  .Works .slick-next { width: 5.4vw; height: 5.4vw; }
  .Works .slick-prev:before,
  .Works .slick-next:before { font-size: 5.2vw; }
  .WorksResults { padding: 0 0 3vw; width: 33.6vw !important; }
  .WorksResults__Title { padding: 2.5vw 1.5vw 2.5vw; font-size: 1.65vw; }
  .WorksResults__List { padding: 0 1.5vw 3.5vw; font-size: 1.55vw; }
  .WorksResults__List dt { padding-bottom: 0.4vw; }
  .WorksResults__List dd { padding-bottom: 0.4vw; }
  .WorksResults__Button { padding: 0.8vw 0; width: 22vw; }
  .WorksResults__Button:after { right: 3vw; }
  .WorksResults__Button p { font-size: 1.8vw; }
}

@media screen and (max-width: 600px) {
  .Body__Works { padding: 12vw 0 10vw; }
  .Works { width: 100%; }
  .Works .slick-prev { left: 10vw; width: 10vw; height: 10vw; background: #fff; }
  .Works .slick-next { right: 10vw; width: 10vw; height: 10vw; background: #fff; }
  .Works .slick-prev:before,
  .Works .slick-next:before { font-size: 4.4rem; }
  .WorksResults { margin: 0 2%; padding: 0 0 5vw; width: 96% !important; }
  .WorksResults__Link:active { background: #fff; opacity: 0.3; }
  .WorksResults__Title { padding: 5vw 4vw 7vw; font-size: 1.9rem; }
  .WorksResults__List { padding: 0 3vw 4vw; font-size: 1.7rem; }
  .WorksResults__List dt,
  .WorksResults__List dd { padding-bottom: 1vw; }
  .WorksResults__Button { padding: 1.5vw 0 2vw; width: 80%; }
  .WorksResults__Button:after { right: 3vw; }
  .WorksResults__Button p { font-size: 1.8rem; }
}

main.workshop .WorksResults__Button { background: #1a86ff; /* 作業所：ブルー系 */ }
main.office .WorksResults__Button { background: #ff7200; /* 事務所：オレンジ系 */ }
main.farmer .WorksResults__Button { background: #067423; /* 農業用倉庫：グリーン系 */ }
main.food .WorksResults__Button { background: #0e229a; /* 食品加工場：パープル系 */ }
main.kikenbutsu .WorksResults__Button { background: #f03737; /* 危険物倉庫：レッド系 */ }

/* なぜ可能なのか？
======================================================== */
.Body__Point { margin: 0; padding: 90px 0 110px; }
.Point { display: flex; align-items: center; margin: 0 auto 45px; padding: 25px; width: 1050px; background: #fff; border-radius: 10px; }
.Point__Primary { margin: 0 40px 0 0; width: 250px; }
.Point__Primary img { width: 100%; height: auto; }
.Point__SubHeading { margin: 0; padding: 0 0 25px; font-size: 4.0rem; font-weight: 700; }
.Point__Secondary ul { margin-left: 2.6rem; list-style: disc outside; }
.Point__Secondary ul li { margin: 0; padding: 0 0 5px; font-size: 2.6rem; line-height: 1.45; }
.Point__Secondary ul li br.--PC + br { display: none; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Point { padding: 7vw 0 9vw; }
  .Point { margin: 0 auto 4.5vw; padding: 2.2%; width: 88%; }
  .Point__Primary { margin: 0 3vw 0 0; width: 20.8vw; }
  .Point__SubHeading { padding: 0 0 2.5vw; font-size: 3.3vw; }
  .Point__Secondary ul { margin-left: 2.6vw; }
  .Point__Secondary ul li { padding: 0 0 0.5vw; font-size: 2.1vw; }
}

@media screen and (max-width: 600px) {
  .Body__Point { padding: 14vw 0 15vw; }
  .Point { position: relative; margin: 24vw auto 0; padding: 5%; width: 80%; }
  .Point__Primary { position: absolute; top: -18vw; left: 50%; transform: translateX(-50%); width: 38%; }
  .Point__Primary.--InviewLeft { transform: translateX(-70%); }
  .Point__Primary.--InviewLeft.fadeInRight { transform: translateX(-50%); }
  .Point__SubHeading { padding: 16vw 0 5vw; font-size: 2.9rem; text-align: center; }
  .Point__SubHeading span { display: block; }
  .Point__Secondary ul { margin-left: 5vw; }
  .Point__Secondary ul li { padding: 0 0 2vw; font-size: 2.1rem; line-height: 1.3; }
  .Point__Secondary ul li span { display: block; }
  .Point br.--SP + br { display: none; }
}

/* 作業所：ブルー系 */
main.workshop .Body__Point { background: #c7e9ff url(/wp-content/uploads/2024/03/workshop-point-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.workshop .Point__SubHeading { color: #1a86ff; }
/* 事務所：オレンジ系 */
main.office .Body__Point { background: #fcebdd url(/wp-content/uploads/2024/03/office-point-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.office .Point__SubHeading { color: #ff7200; }
/* 農業用倉庫：グリーン系 */
main.farmer .Body__Point { background: #e1f0e1 url(/wp-content/uploads/2024/03/farmer-point-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.farmer .Point__SubHeading { color: #067423; }
/* 食品加工場：パープル系 */
main.food .Body__Point { background: #e6e6f0 url(/wp-content/uploads/2024/03/food-point-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.food .Point__SubHeading { color: #0e229a; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .Body__Point { background: #ffe1e1 url(/wp-content/uploads/2024/03/kikenbutsu-point-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.kikenbutsu .Point__SubHeading { color: #f03737; }

@media screen and (max-width: 600px) {
  main.workshop .Body__Point { background: #c7e9ff url(/wp-content/uploads/2024/03/workshop-point-bg-sp.jpg) no-repeat center top; background-size: 100% auto; /* 作業所：ブルー系 */ }
  main.office .Body__Point { background: #fcebdd url(/wp-content/uploads/2024/03/office-point-bg-sp.jpg) no-repeat center top; background-size: 100% auto; /* 事務所：オレンジ系 */ }
  main.farmer .Body__Point { background: #e1f0e1 url(/wp-content/uploads/2024/03/farmer-point-bg-sp.jpg) no-repeat center top; background-size: 100% auto; /* 農業用倉庫：グリーン系 */ }
  main.food .Body__Point { background: #e6e6f0 url(/wp-content/uploads/2024/03/food-point-bg-sp.jpg) no-repeat center top; background-size: 100% auto; /* 食品加工場：パープル系 */ }
  main.kikenbutsu .Body__Point { background: #ffe1e1 url(/wp-content/uploads/2024/03/kikenbutsu-point-bg-sp.jpg) no-repeat center top; background-size: 100% auto; /* 危険物倉庫：レッド系 */ }
}

/* プラン例
======================================================== */
.Body__Plan { display: flex; flex-direction: column; align-items: flex-start; margin: 0 auto; padding: 120px 0; width: 1100px; }
.Plan { position: relative; display: flex; flex-wrap: wrap; margin: 0 110px 130px 0; padding: 0 0 35px 0; width: 990px; }
.Plan dl { display: flex; align-items: center; margin: 0; }
.Plan__Name { position: relative; margin: 0 35px 0 0; padding: 20px 130px 15px 40px; color: #fff; font-size: 5.9rem; font-weight: 700; }
.Plan__Name small { display: inline-block; font-size: 3.9rem; font-weight: 400; }
.Plan__Name:after { position: absolute; right: 0; top: 60%; transform: translateY(-50%); content: ""; display: inline-block; width: 120px; height: 1px; background: #fff; }
.Plan__Price { display: flex; align-items: flex-end; color: #fffc00; font-size: 3.5rem; font-weight: 700; }
.Plan__Price span { display: inline-block; font-size: 2.5rem; padding-right: 15px; }
.Plan__Price strong { display: inline-block; font-size: 5.5rem; line-height: 0.9; }
.Plan__Price small { display: inline-block; font-size: 2.5rem; line-height: 1.5; }
.Plan__Text { margin: 0; padding: 0 0 50px 40px; width: 100%; color: #fff; font-size: 2.0rem; line-height: 1.5; }
.Plan__Area { margin: 0 0 0 10px; padding: 20px 35px; width: 210px; font-size: 2.0rem; line-height: 1.65; border-radius: 10px; }
.Plan__Image { position: absolute; right: -110px; bottom: -70px; width: 790px; display: flex; justify-content: space-between; }
.Plan__Image li { width: 49%; }
.Plan__Image li:nth-child(2) { border: 1px solid #000; }
.Plan__Image li:before { padding-top: 59%; }
.Plan__Image li:after { position: absolute; right: 0; bottom: 0; display: inline-block; padding: 5px; content: '\f002'; color: #fff; font-size: 1.4rem; font-family: "Font Awesome 6 Free"; font-weight: 700; background: #000; }
.Plan__End { margin: 0; padding: 0 50px; font-size: 4.0rem; font-weight: 800; line-height: 1.6; text-align: center; }
.Plan__End span { position: relative; display: inline-block; /* background: linear-gradient(transparent 60%, #fffc00 60%); */ }
.Plan__End.--InviewMarker span:before { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 30%; background: #fffc00; z-index: -1; transition: 0.5s; }
.Plan__End.--InviewMarker.--Active span:before { width: 100%; }
.Plan__End.--InviewMarker.--Active span.--Delay1:before { transition-delay: 0.5s; }
.Plan__End.--InviewMarker.--Active span.--Delay2:before { transition-delay: 1.0s; }
.Plan__End.--InviewMarker.--Active span.--Delay3:before { transition-delay: 1.5s; }
.lum-gallery-button { display: none !important; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Plan { padding: 10vw 0; width: 93%; }
  .Plan { margin: 0 11vw 10vw 0; padding: 0 0 3.5vw 0; width: 92%; }
  .Plan__Name { margin: 0 3.5vw 0 0; padding: 2vw 13vw 1.5vw 3.5vw; font-size: 4.8vw; }
  .Plan__Name small { font-size: 3.0vw; }
  .Plan__Name:after { width: 10vw; }
  .Plan__Price { font-size: 3.0vw; }
  .Plan__Price span { font-size: 2.0vw; padding-right: 1.5vw; }
  .Plan__Price strong { font-size: 5.0vw; }
  .Plan__Price small { font-size: 2.0vw; }
  .Plan__Text { padding: 0 0 5vw 3.5vw; font-size: 1.7vw; }
  .Plan__Area { margin: 0 0 0 1vw; padding: 1.5vw 2.5vw; width: 18vw; font-size: 1.7vw; }
  .Plan__Image { right: -7vw; bottom: -5vw; width: 66vw }
  .Plan__End { padding: 0 4vw; font-size: 3.4vw; }
}

@media screen and (max-width: 600px) {
  .Body__Plan { padding: 12vw 0; width: 100%; }
  .Plan { margin: 0 auto 15vw; padding: 4vw 5% 22vw; width: 80%; }
  .Plan dl { flex-direction: column; align-items: flex-start; width: 100%; }
  .Plan__Name { padding: 0; width: 100%; font-size: 3.8rem; }
  .Plan__Name small { font-size: 2.8rem; }
  .Plan__Name:after { width: 45%; }
  .Plan__Price { justify-content: flex-end; width: 100%; font-size: 2.4rem; }
  .Plan__Price span { font-size: 1.8rem; padding-right: 2vw; }
  .Plan__Price strong { font-size: 4.0rem; }
  .Plan__Price small { font-size: 1.8rem; }
  .Plan__Text { padding: 4vw 0; font-size: 1.8rem; }
  .Plan__Area { margin: 0; padding: 4.5vw 6%; width: 88%; font-size: 1.8rem; line-height: 1.2; }
  .Plan__Image { right: 5%; bottom: -7vw; width: 90%; }
  .Plan__Image li { width: 47%; }
  .Plan__End { padding: 2vw 0 0; width: 100%; font-size: 2.6rem; }
}

/* 作業所：ブルー系 */
main.workshop .Plan { background: #1a86ff; }
main.workshop .Plan__Area { background: #d7f0ff; }
main.workshop .Plan__End { color: #1a86ff; }
/* 事務所：オレンジ系 */
main.office .Plan { background: #ff7200; }
main.office .Plan__Area { background: #ffdec4; }
main.office .Plan__End { color: #ff7200; }
/* 農業用倉庫：グリーン系 */
main.farmer .Plan { background: #067423; }
main.farmer .Plan__Area { background: #c3e6cd; }
main.farmer .Plan__End { color: #067423; }
/* 食品加工場：パープル系 */
main.food .Plan { background: #0e229a; }
main.food .Plan__Area { background: #d2d7f5; }
main.food .Plan__End { color: #0e229a; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .Plan { background: #f03737; }
main.kikenbutsu .Plan__Area { background: #fac8c8; }
main.kikenbutsu .Plan__End { color: #f03737; }

/* お問い合わせバナー
======================================================== */
.Body__ContactBanner { margin: 0 auto; padding: 0 0 60px; width: 1100px; }
.ContactBanner { position: relative; padding: 0 0 20px; display: flex; flex-direction: column; }
.ContactBanner a { position: absolute; z-index: 2; display: block; width: 100%; height: 100%; background: #fff; opacity: 0; }
.ContactBanner:hover { opacity: 0.7; }
.ContactBanner dl { z-index: 1; display: flex; flex-direction: column; margin: 0; padding: 0; }
.ContactBanner dl dt { padding: 25px 0 15px 70px; font-size: 2.9rem; font-weight: 700; letter-spacing: 0; }
.ContactBanner dl dt strong { display: inline-block; margin-left: -2rem; font-size: 3.4rem; font-weight: 800; }
.ContactBanner dl dd { padding: 0 0 15px 100px; font-size: 3.8rem; font-weight: 800; letter-spacing: 0; }
.ContactBanner__Heading { z-index: 1; margin: 0; padding: 0 0 15px; color: #fff; font-weight: 800; text-align: center; letter-spacing: 0; white-space: nowrap; }
.ContactBanner__Button { display: flex; justify-content: center; align-items: center; margin: 0 auto; padding: 0; width: 977px; height: 69px; color: #fff; font-size: 2.9rem; font-weight: 800; text-align: center; }
.ContactBanner__Image { position: absolute; z-index: 0; top: -45px; right: 40px; width: 210px; }
.ContactBanner__Image img { width: 100%; height: auto; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__ContactBanner { padding: 0 0 5vw; width: 93%; }
  .ContactBanner { padding: 0 0 2vw; }
  .ContactBanner dl dt { padding: 2.5vw 0 1.5vw 6vw; font-size: 2.4vw; }
  .ContactBanner dl dt strong { margin-left: -2vw; font-size: 2.9vw; }
  .ContactBanner dl dd { padding: 0 0 1.5vw 8.5vw; font-size: 3.15vw; }
  .ContactBanner__Heading { padding: 0 0 1.5vw;  }
  .ContactBanner__Button { width: 82vw; height: 6vw; font-size: 2.4vw; }
  .ContactBanner__Image { top: -4vw; right: 3.5vw; width: 18vw; }
}

/* 作業所：ブルー系 */
main.workshop .ContactBanner { background: #e6f5ff url(/wp-content/uploads/2024/03/workshop-contact-banner-bg.png) repeat center top; background-size: 16px auto; border: 5px solid #49b6ff; }
main.workshop .ContactBanner dl dt { color: #1a86ff; }
main.workshop .ContactBanner__Heading { font-size: 7.9rem; text-shadow: 0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff,0 0 6px #1a86ff; }
main.workshop .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/workshop-contact-banner-button-pc.png) no-repeat center center; background-size: 100% auto; }
/* 事務所：オレンジ系 */
main.office .ContactBanner { background: #fcebdd url(/wp-content/uploads/2024/03/office-contact-banner-bg.png) repeat center top; background-size: 16px auto; border: 5px solid #ffbd00; }
main.office .ContactBanner dl dt { color: #ff7200; }
main.office .ContactBanner__Heading { font-size: 7.9rem; text-shadow: 0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200; }
main.office .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/office-contact-banner-button-pc.png) no-repeat center center; background-size: 100% auto; }
/* 農業用倉庫：グリーン系 */
main.farmer .ContactBanner { background: #ebf5f0 url(/wp-content/uploads/2024/03/farmer-contact-banner-bg.png) repeat center top; background-size: 16px auto; border: 5px solid #5abe73; }
main.farmer .ContactBanner dl dt { color: #067423; }
main.farmer .ContactBanner dl dd { padding-left: 70px; }
main.farmer .ContactBanner__Heading { font-size: 7.3rem; text-shadow: 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423; }
main.farmer .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/farmer-contact-banner-button-pc.png) no-repeat center center; background-size: 100% auto; }
/* 食品加工場：パープル系 */
main.food .ContactBanner { background: #f5f5ff url(/wp-content/uploads/2024/03/food-contact-banner-bg.png) repeat center top; background-size: 16px auto; border: 5px solid #7d82b4; }
main.food .ContactBanner dl dt { color: #0e229a; }
main.food .ContactBanner dl dd { padding-left: 70px; }
main.food .ContactBanner__Heading { font-size: 7.3rem; text-shadow: 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a; }
main.food .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/food-contact-banner-button-pc.png) no-repeat center center; background-size: 100% auto; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .ContactBanner { background: #fff5f5 url(/wp-content/uploads/2024/03/kikenbutsu-contact-banner-bg.png) repeat center top; background-size: 16px auto; border: 5px solid #fa7d7d; }
main.kikenbutsu .ContactBanner dl dt { color: #f03737; }
main.kikenbutsu .ContactBanner dl dd { padding-left: 70px; }
main.kikenbutsu .ContactBanner__Heading { font-size: 7.3rem; text-shadow: 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737; }
main.kikenbutsu .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/kikenbutsu-contact-banner-button-pc.png) no-repeat center center; background-size: 100% auto; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  main.workshop .ContactBanner__Heading,
  main.office .ContactBanner__Heading { font-size: 6.6vw; }
}

@media screen and (max-width: 600px) {
  .Body__ContactBanner { padding: 0 0 12vw; width: 90%; }
  .ContactBanner { padding: 0 0 2vw; }
  .ContactBanner dl dt { padding: 2vw 10vw 1vw 0; font-size: 1.4rem; text-align: center; }
  .ContactBanner dl dt strong { margin-left: -1rem; font-size: 1.8rem; }
  .ContactBanner dl dt span { display: block; }
  .ContactBanner dl dt br.--SP + br { display: none; }
  .ContactBanner dl dd { padding: 0 0 1vw 12vw; font-size: 1.9rem; font-weight: 500; text-shadow: 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff, 0 0 3px #fff; }
  .ContactBanner__Button { flex-direction: column; width: 90%; height: 11vw; font-size: 1.9rem; line-height: 1.1; }
  .ContactBanner__Image { top: -6vw; right: 2vw; width: 26%; }
  /* 作業所：ブルー系 */
  main.workshop .ContactBanner { border: 3px solid #49b6ff; }
  main.workshop .ContactBanner__Heading { padding: 0 0 1vw; font-size: 3.2rem; text-shadow: 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff, 0 0 3px #1a86ff; }
  main.workshop .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/workshop-contact-banner-button-sp.png) no-repeat center center; background-size: 100% auto; }
  /* 事務所：オレンジ系 */
  main.office .ContactBanner { border: 3px solid #ffbd00; }
  main.office .ContactBanner__Heading { padding: 0 0 1vw; font-size: 3.2rem; text-shadow: 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200, 0 0 3px #ff7200; }
  main.office .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/office-contact-banner-button-sp.png) no-repeat center center; background-size: 100% auto; }
  /*  農業用倉庫：グリーン系 */
  main.farmer .ContactBanner { border: 3px solid #5abe73; }
  main.farmer .ContactBanner dl dd { padding-left: 0; text-align: center; }
  main.farmer .ContactBanner__Heading { padding: 0 0 1vw; font-size: 2.8rem; text-shadow: 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423, 0 0 3px #067423; }
  main.farmer .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/farmer-contact-banner-button-sp.png) no-repeat center center; background-size: 100% auto; }
  /*  食品加工場：パープル系 */
  main.food .ContactBanner { border: 3px solid #7d82b4; }
  main.food .ContactBanner dl dd { padding-left: 0; text-align: center; }
  main.food .ContactBanner__Heading { padding: 0 0 1vw; font-size: 2.8rem; text-shadow: 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a, 0 0 3px #0e229a; }
  main.food .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/food-contact-banner-button-sp.png) no-repeat center center; background-size: 100% auto; }
  /*  危険物倉庫：レッド系 */
  main.kikenbutsu .ContactBanner { border: 3px solid #fa7d7d; }
  main.kikenbutsu .ContactBanner dl dd { padding-left: 0; text-align: center; }
  main.kikenbutsu .ContactBanner__Heading { padding: 0 0 1vw; font-size: 2.8rem; text-shadow: 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737, 0 0 3px #f03737; }
  main.kikenbutsu .ContactBanner__Button { background: url(/wp-content/uploads/2024/03/kikenbutsu-contact-banner-button-sp.png) no-repeat center center; background-size: 100% auto; }
}

/* 新築で建てませんか？
======================================================== */
.Body__Building { margin: 0 auto; padding: 0 0 80px; }
.Building { position: relative; margin: 0 auto; padding: 0; width: 1100px; display: flex; flex-direction: column; }
.Building__Image { position: absolute; top: 50px; left: -10px; width: 390px; }
.Building__Image img { width: 100%; height: auto; }
.Building__Heading { display: inline-block; margin: 0; padding: 110px 0 0 380px; color: #fff; font-size: 8.0rem; font-weight: 800; line-height: 1.2; text-align: center; }
.Building__Heading span { color: #fffc00; font-size: 9.3rem; }
.Building__Logo { margin: 0; padding: 0 0 0 340px; }
.Building__Logo img { width: 100%; height: auto; }
.Building__List { z-index: 0; margin: 0 auto; padding: 40px 50px; width: 1000px; background: #fff; }
.Building__List li { display: flex; align-items: flex-start; padding: 20px 35px 10px; font-size: 3.8rem; font-weight: 500; border-bottom: 1px solid #dcdcdc; counter-increment: building-num; }
.Building__List li:before { display: flex; justify-content: center; align-items: center; margin: -10px 40px 0 0; width: 62px; height: 62px; color: #fff; font-size: 4.0rem; font-weight: 700; line-height: 62px; text-align: center; content: counter(building-num); }
.Building__List li:last-child { border-bottom: none; }
/* .Building__List li span { background: linear-gradient(transparent 70%, #ffcd05 50%); } */
.Building__List li span { position: relative; display: inline-block; }
.Building__List li.--InviewMarker span:before { content: ''; position: absolute; left: 0; bottom: 0; width: 0; height: 30%; background: #ffcd05; z-index: -1; transition: 0.5s; }
.Building__List li.--InviewMarker.--Active span:before { width: 100%; }
.Building__List li.--InviewMarker.--Active span.--Delay1:before { transition-delay: 0.5s; }
.Building__List li.--InviewMarker.--Active span.--Delay2:before { transition-delay: 1.0s; }
.Building__List li.--InviewMarker.--Active span.--Delay3:before { transition-delay: 1.5s; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Building { padding: 0 0 6vw; }
  .Building { width: 93%; }
  .Building__Image { top: 5vw; left: -1vw; width: 32vw; }
  .Building__Heading { padding: 9vw 0 0 33vw; font-size: 6.4vw; }
  .Building__Heading span { font-size: 8vw; }
  .Building__Logo { padding: 0 0 0 30vw; }
  .Building__List { padding: 2.5vw 4%; width: 92%; }
  .Building__List li { padding: 2vw 3.5vw 1vw; font-size: 3.15vw; }
  .Building__List li:before { margin: -1vw 3vw 0 0; width: 5.3vw; height: 5.3vw; font-size: 3.3vw; }
}

/* 作業所：ブルー系 */
main.workshop .Body__Building { background: url(/wp-content/uploads/2024/03/workshop-building-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.workshop .Building__Heading { text-shadow: 0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4,0 0 12px #0d63c4; }
main.workshop .Building__List { border: 2px solid #46bef5; }
main.workshop .Building__List li:before { background: #1a86ff; }
/* 事務所：オレンジ系 */
main.office .Body__Building { background: url(/wp-content/uploads/2024/03/office-building-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.office .Building__Heading { text-shadow: 0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200,0 0 12px #ff7200; }
main.office .Building__List { border: 2px solid #f4d348; }
main.office .Building__List li:before { background: #ff7200; }
/* 農業用倉庫：グリーン系 */
main.farmer .Body__Building { background: url(/wp-content/uploads/2024/03/farmer-building-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.farmer .Building__Heading { padding: 40px 0 0 380px; text-shadow: 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423, 0 0 12px #067423; }
main.farmer .Building__List { border: 2px solid #aad7b4; }
main.farmer .Building__List li:before { background: #067423; }
/* 食品加工場：パープル系 */
main.food .Body__Building { background: url(/wp-content/uploads/2024/03/food-building-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.food .Building__Heading { padding: 40px 0 0 380px; text-shadow: 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a, 0 0 12px #0e229a; }
main.food .Building__List { border: 2px solid #c3aadc; }
main.food .Building__List li:before { background: #0e229a; }
/* 危険物倉庫：レッド系 */
main.kikenbutsu .Body__Building { background: url(/wp-content/uploads/2024/03/kikenbutsu-building-bg-pc.jpg) no-repeat center top; background-size: cover; }
main.kikenbutsu .Building__Heading { padding: 40px 0 0 380px; text-shadow: 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737, 0 0 12px #f03737; }
main.kikenbutsu .Building__List { border: 2px solid #f09b9b; }
main.kikenbutsu .Building__List li:before { background: #f03737; }

@media screen and (max-width: 600px) {
  .Body__Building { padding: 0 0 12vw; }
  .Building { width: 100%; }
  .Building__Image { top: 10vw; left: 0.5vw; width: 37%; }
  .Building__Heading { padding: 6vw 4vw 0 40vw; font-size: 3.6rem; white-space: nowrap; }
  .Building__Heading span { font-size: 4.2rem; }
  .Building__Logo { padding: 0 3vw 0 38vw; }
  .Building__List { padding: 1vw 3%; width: 83%; }
  .Building__List li { padding: 2vw 0; font-size: 2.4rem; line-height: 1.2; }
  .Building__List li:before { margin: 0 3vw 0 0; padding: 0 1.5vw; width: initial; height: 6vw; font-size: 2.0rem; line-height: 6vw; }

  /* 作業所：ブルー系 */
  main.workshop .Body__Building { background: url(/wp-content/uploads/2024/03/workshop-building-bg-sp.jpg) no-repeat center top; background-size: cover; }
  main.workshop .Building__Heading { text-shadow: 0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4,0 0 6px #0d63c4; }
  /* 事務所：オレンジ系 */
  main.office .Body__Building { background: url(/wp-content/uploads/2024/03/office-building-bg-sp.jpg) no-repeat center top; background-size: cover; }
  main.office .Building__Heading { text-shadow: 0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200,0 0 6px #ff7200; }
  /* 農業用倉庫：グリーン系 */
  main.farmer .Body__Building { background: url(/wp-content/uploads/2024/03/farmer-building-bg-sp.jpg) no-repeat center top; background-size: cover; }
  main.farmer .Building__Heading { padding: 6vw 4vw 0 40vw; font-size: 3.5rem; text-shadow: 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423, 0 0 6px #067423; }
  /* 食品加工場：パープル系 */
  main.food .Body__Building { background: url(/wp-content/uploads/2024/03/food-building-bg-sp.jpg) no-repeat center top; background-size: cover; }
  main.food .Building__Heading { padding: 6vw 4vw 0 40vw; font-size: 3.5rem; text-shadow: 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a, 0 0 6px #0e229a; }
  /* 危険物倉庫：レッド系 */
  main.kikenbutsu .Body__Building { background: url(/wp-content/uploads/2024/03/kikenbutsu-building-bg-sp.jpg) no-repeat center top; background-size: cover; }
  main.kikenbutsu .Building__Heading { padding: 6vw 4vw 0 40vw; font-size: 3.5rem; text-shadow: 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737, 0 0 6px #f03737; }
}

/* 建築の流れ
======================================================== */
.Body__Flow { margin: 0 auto; padding: 90px 0 0; }
.Body__Flow h2.--Heading { margin-bottom: 40px; }
.Flow { display: flex; justify-content: flex-start; flex-wrap: wrap; margin: 0 auto; padding: 0; width: 1104px; }
.Flow__Item { position: relative; display: flex; flex-direction: column; align-items: center; margin: 0 14px 94px; padding: 35px 15px; width: 310px; counter-increment: flow-num; }
.Flow__Item:nth-of-type(1),
.Flow__Item:nth-of-type(2),
.Flow__Item:nth-of-type(3) { padding-bottom: 80px; }
.Flow__Item:before { position: absolute; top: -37px; left: 0; display: inline-block; color: #959595; font-size: 3.4rem; content: "STEP"; }
.Flow__Item:after { position: absolute; top: -55px; left: 90px; display: inline-block; color: #959595; font-size: 5.4rem; content: counter(flow-num); }
.Flow__Image { margin: 0 auto 30px; padding: 0; width: 92px; }
.Flow__Image img { width: 100%; height: auto; }
.Flow h3 { margin: 0; padding: 0 0 20px; font-size: 3.0rem; font-weight: 800; }
.Flow p { margin: 0; padding: 0; font-size: 1.8rem; line-height: 1.5; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__Flow { padding: 7vw 0 0; }
  .Body__Flow h2.--Heading { margin-bottom: 3vw; }
  .Flow { width: 94%; }
  .Flow__Item { margin: 0 1% 9vw; padding: 3vw 1.5%; width: 28%; }
  .Flow__Item:nth-of-type(1),
  .Flow__Item:nth-of-type(2),
  .Flow__Item:nth-of-type(3) { padding-bottom: 6vw; }
  .Flow__Item:before { top: -3.2vw; font-size: 3.0vw; }
  .Flow__Item:after { top: -4.7vw; left: 8vw; font-size: 4.7vw; }
  .Flow__Image { margin: 0 auto 2.5vw; width: 7.8vw; }
  .Flow h3 { padding: 0 0 2vw; font-size: 2.5vw; }
  .Flow p { font-size: 1.5vw; }
}

@media screen and (max-width: 600px) {
  .Body__Flow { padding: 10vw 0 0; }
  .Flow { width: 90%; }
  .Flow__Item { margin: 0 6% 12vw 0; padding: 4vw 0; width: 47%; }
  .Flow__Item:before { top: -5vw; left: 0.5vw; font-size: 2.0rem; }
  .Flow__Item:after { top: -7vw; left: 12vw; font-size: 3.2rem; }
  .Flow__Item:nth-of-type(even) { margin-right: 0; }
  .Flow__Item:nth-of-type(1),
  .Flow__Item:nth-of-type(2),
  .Flow__Item:nth-of-type(3) { padding-bottom: 4vw; }
  .Flow__Image { margin: 0 auto 3vw; width: 38%; }
  .Flow h3 { padding: 1vw 0 3vw; font-size: 2.2rem; }
  .Flow p { padding: 0 8%; }
}

main.workshop .Flow__Item { background: #e6f5ff; /* 作業所：ブルー系 */ }
main.office .Flow__Item { background: #fff6ef; /* 事務所：オレンジ系 */ }
main.farmer .Flow__Item { background: #ebfaf0; /* 農業用倉庫：グリーン系 */ }
main.food .Flow__Item { background: #f5f0ff; /* 食品加工場：パープル系 */ }
main.kikenbutsu .Flow__Item { background: #fff5f5; /* 危険物倉庫：レッド系 */ }

/* 会社概要
======================================================== */
.Company { display: flex; padding: 0 0 90px; background: url(/wp-content/uploads/2024/03/company-bg.png) repeat center top; background-size: 10px auto; }
.Company__Heading { position: relative; z-index: 0; margin: 0; padding: 120px 0; font-size: 4.2rem; font-weight: 700; text-align: center; background: none; }
.Company__Heading:after { position: absolute; z-index: -1; top: 50%; left: 50%; transform: translate(-50%, -50%); content: "COMPANY"; color: #fff; font-size: 13.9rem; font-weight: 400; }
.CompanyOutline { display: flex; z-index: 0; width: 1100px; }
.CompanyOutline__Primary { padding-right: 60px; width: 390px; }
.CompanyOutline__Logo { width: 100%; }
.CompanyOutline__Logo img { margin: 0 auto; width: 100%; height: auto; }
.CompanyOutline__Information { font-size: 1.7rem; text-align: center; }
.CompanyOutline__Information li:first-child { padding-bottom: 30px; }
.CompanyOutline__Secondary { margin: 0 20px; width: 300px; }
.CompanyOutline__ShopName { margin: 0 auto 15px; padding: 4px 0; font-size: 2.2rem; font-weight: 500; text-align: center; border: 1px solid #000; }
.CompanyOutline__ShopAddress { padding: 0 0 10px; font-size: 1.7rem; line-height: 1.4; }
.CompanyOutline__ShopPhone { font-size: 1.7rem; }
.CompanyOutline__ShopPhone li { display: flex; align-items: center; }
.CompanyOutline__ShopPhone li:first-child { padding-bottom: 20px; }
.CompanyOutline__ShopPhone strong { display: inline-block; padding-left: 15px; font-size: 2.7rem; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Company { padding: 0 0 8vw; }
  .Company__Heading { padding: 9vw 0; font-size: 3.6vw; }
  .Company__Heading:after { font-size: 11.6vw; }
  .CompanyOutline { width: 93%; }
  .CompanyOutline__Primary { padding-right: 4vw; width: 34vw; }
  .CompanyOutline__Information { font-size: 1.4vw; }
  .CompanyOutline__Information li:first-child { padding-bottom: 2vw; }
  .CompanyOutline__Secondary { margin: 0 1.7vw; width: 28.5vw; }
  .CompanyOutline__ShopName { margin: 0 auto 1.5vw; padding: 0.3vw 0; font-size: 1.8vw; }
  .CompanyOutline__ShopAddress { padding: 0 0 1vw; font-size: 1.5vw; }
  .CompanyOutline__ShopPhone { font-size: 1.5vw; }
  .CompanyOutline__ShopPhone li:first-child { padding-bottom: 2vw; }
  .CompanyOutline__ShopPhone strong { padding-left: 1.5vw; font-size: 2.4vw; }
}

@media screen and (max-width: 600px) {
  .Company { padding: 0 0 6vw; }
  .Company__Heading { padding: 14vw 0; font-size: 2.8rem; }
  .Company__Heading:after { font-size: 9rem; }
  .CompanyOutline { flex-direction: column; width: 100%; overflow: visible; }
  .CompanyOutline__Primary { padding: 0 0 8vw 0; width: 100%; }
  .CompanyOutline__Logo { margin: -6vw auto 0; padding: 0 0 2vw; width: 66%; }
  .CompanyOutline__Information li:first-child { padding-bottom: 4vw; }
  .CompanyOutline__Secondary { margin: 0 auto; width: 70%; }
  .CompanyOutline__ShopName { margin: 0 auto 3vw; padding: 1vw 0; }
  .CompanyOutline__ShopAddress { padding: 0 4vw 3vw; white-space: nowrap; }
  .CompanyOutline__ShopPhone { padding: 0 4vw 7vw; }
  .CompanyOutline__ShopPhone li { white-space: nowrap; }
  .CompanyOutline__ShopPhone li:first-child { padding-bottom: 5vw; }
}

/* お問い合わせ
======================================================== */
.Contact { display: flex; align-items: center; padding: 90px 0 100px; background: #fff6ef; }
.Contact__Heading { position: relative; margin: 0 auto; padding: 0 0 50px; font-size: 5.0rem; font-weight: 700; text-align: center; }
.Contact__Heading small { display: block; margin: 0 auto; padding: 30px 0 0; color: #959595; font-size: 2.0rem; font-weight: 400; }
.Contact__Heading:after { position: absolute; bottom: 80px; left: 50%; transform: translateX(-50%); content: ""; display: inline-block; width: 120px; height: 5px; background: #ff7200; border-radius: 3px; }
.Contact__Text { padding: 0 50px 50px; font-size: 1.8rem; line-height: 1.8; text-align: center; }
.ContactForm { padding: 45px 65px; background: #fff; border-radius: 20px; }
.ContactForm dl { display: flex; flex-wrap: wrap; margin: 0 auto; padding: 0 0 40px; width: 820px; }
.ContactForm dl dt { display: flex; align-items: flex-start; }
.ContactForm dl dt p { display: flex; justify-content: space-between; align-items: center; width: 270px; }
.ContactForm dl dt strong { font-size: 2.0rem; font-weight: normal; }
.ContactForm dl dt span { display: flex; padding: 5px 20px; color: #fff; font-size: 1.5rem; background: #e03d1a; border-radius: 2px; }
.ContactForm dl dt { padding: 15px 25px 25px 0; }
.ContactForm dl dt:first-child,
.ContactForm dl dd:nth-child(2) { padding: 0; }
.ContactForm dl dt.ContactForm__Consultation,
.ContactForm dl dt.ContactForm__Report { padding-top: 5px; }
.ContactForm dl dd { padding: 0 0 25px; width: 60%; }
.ContactForm input[type="text"],
.ContactForm input[type="tel"],
.ContactForm input[type="email"],
.ContactForm textarea { padding: 20px 30px; width: 90%; font-size: 2.0rem; border: 1px solid #dbdbdb; border-radius: 3px; }
.ContactForm input[type="text"]::placeholder,
.ContactForm input[type="tel"]::placeholder,
.ContactForm input[type="email"]::placeholder,
.ContactForm textarea::placeholder { color: #c9c9c9; }
.ContactForm__ConsultationRadio,
.ContactForm__ReportCheck { display: flex; flex-direction: column; font-size: 2.0rem; }
.ContactForm__ConsultationRadio .wpcf7-list-item,
.ContactForm__ReportCheck .wpcf7-list-item { margin: 0; }
.ContactForm__ConsultationRadio .wpcf7-list-item-label,
.ContactForm__ReportCheck .wpcf7-list-item-label { display: flex; align-items: center; }
.ContactForm__ConsultationRadio .wpcf7-list-item-label:hover ,
.ContactForm__ReportCheck .wpcf7-list-item-label:hover { cursor: pointer; }
.ContactForm__ConsultationRadio input[type="checkbox"],
.ContactForm__ReportCheck input[type="checkbox"] { display: none; }
.ContactForm__ConsultationRadio input[type="checkbox"] + .wpcf7-list-item-label:before { display: inline-block; margin-right: 0.5rem; content: '\f111'; color: #dbdbdb; font-size: 2.7rem; font-family: "Font Awesome 6 Free"; font-weight: 400; }
.ContactForm__ConsultationRadio input[type="checkbox"]:checked + .wpcf7-list-item-label:before { content: '\f111'; color: #ff7200; font-weight: 700; }
.ContactForm__ReportCheck input[type="checkbox"] + .wpcf7-list-item-label:before { display: inline-block; margin-right: 0.5rem; content: '\f0c8'; color: #dbdbdb; font-size: 2.7rem; font-family: "Font Awesome 6 Free"; font-weight: 400; }
.ContactForm__ReportCheck input[type="checkbox"]:checked + .wpcf7-list-item-label:before { content: '\f14a'; color: #ff7200; font-weight: 700; }
.ContactForm hr { height: 1px; border: none; border-top: 1px #c9c9c9 solid; }
.ContactForm__Text { padding: 40px 0; font-size: 2.0rem; text-align: center; }
.ContactForm__Text a { color: #ff7200; }
.ContactForm__Submit { position: relative; display: block; margin: 0 auto; padding: 0; width: 370px; }
.ContactForm__Submit input[type="submit"] { padding: 20px 0; width: 100%; color: #fff; font-size: 2.4rem; font-weight: 500; text-align: center; background: #ff7200 url(/wp-content/uploads/2024/03/contactform-submit-bg.png) no-repeat right 40px center; background-size: 24px auto; border-radius: 40px; border: none; }
.ContactForm__Submit input[type="submit"]:hover { opacity: 0.7; cursor: pointer; }
.ContactForm__Submit .wpcf7-spinner { display: none; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Contact { padding: 8vw 0 9vw; }
  .Contact__Heading { padding: 0 0 3vw; font-size: 4.2vw; }
  .Contact__Heading small { bottom: 5vw; font-size: 1.6vw; }
  .Contact__Heading:after { bottom: 6vw; width: 10vw; height: 0.4vw;  }
  .Contact__Text { padding: 0 5vw 5vw; font-size: 1.6vw; }
  .ContactForm { margin: 0 auto; padding: 4.5vw 0; width: 80%; }
  .ContactForm dl { padding: 0 0 4vw; width: 86%; }
  .ContactForm dl dt p { width: 23vw; }
  .ContactForm dl dt strong { font-size: 1.7vw; }
  .ContactForm dl dt span { padding: 0.2vw1.5vw; font-size: 1.3vw; }
  .ContactForm dl dt { padding: 1vw 2vw 2vw 0; }
  .ContactForm dl dt.ContactForm__Consultation,
  .ContactForm dl dt.ContactForm__Report { padding-top: 0.5vw; }
  .ContactForm dl dd { padding: 0 0 2vw; }
  .ContactForm input[type="text"],
  .ContactForm input[type="tel"],
  .ContactForm input[type="email"],
  .ContactForm textarea { padding: 1.5vw 2vw; font-size: 1.7vw; }
  .ContactForm__ConsultationRadio,
  .ContactForm__ReportCheck { font-size: 1.7vw; }
  .ContactForm__ConsultationRadio input[type="checkbox"] + .wpcf7-list-item-label:before { font-size: 2.3vw; }
  .ContactForm__ReportCheck input[type="checkbox"] + .wpcf7-list-item-label:before { font-size: 2.3vw; }
  .ContactForm hr { width: 87%; }
  .ContactForm__Text { padding: 3vw 0; font-size: 1.7vw; }
  .ContactForm__Submit { width: 31vw; }
  .ContactForm__Submit input[type="submit"] { padding: 2vw 0; font-size: 1.9vw; background-size: 2.0vw auto; }
}

@media screen and (max-width: 600px) {
  .Contact { padding: 12vw 0 14vw; }
  .Contact__Heading { padding: 0 0 10vw; font-size: 3.0rem; }
  .Contact__Heading small { padding: 5vw 0 0; font-size: 1.4rem; }
  .Contact__Heading:after { bottom: 15vw; width: 20vw; height: 3px; border-radius: 2px; }
  .Contact__Text { padding: 0 0 7vw; line-height: 1.5; }
  .ContactForm { margin: 0 auto; padding: 0 5% 10vw; width: 80%; border-radius: 10px; }
  .ContactForm dl { flex-direction: column; padding: 0 0 4vw; width: 100%; }
  .ContactForm dl dt { padding: 5vw 0 2vw; }
  .ContactForm dl dt.ContactForm__Consultation,
  .ContactForm dl dt.ContactForm__Message,
  .ContactForm dl dt.ContactForm__Report { padding-top: 8vw; }
  .ContactForm dl dt p { width: 100%; }
  .ContactForm dl dt span { margin-right: 1.5vw; padding: 0.5vw 3vw; font-size: 1.4rem; }
  .ContactForm dl dd { padding: 0; width: 100%; }
  .ContactForm input[type="text"],
  .ContactForm input[type="tel"],
  .ContactForm input[type="email"] { padding: 2vw 5%; width: 89%; }
  .ContactForm textarea { padding: 5vw 5%; width: 89%; height: 40vw; }
  .ContactForm__ConsultationRadio .wpcf7-list-item-label { align-items: flex-start; }
  .ContactForm__ReportCheck .wpcf7-list-item-label { align-items: center; }
  .ContactForm__ConsultationRadio .wpcf7-list-item { margin: 4vw 0 0; }
  .ContactForm__ReportCheck .wpcf7-list-item { margin: 0 0 0; }
  .ContactForm__ConsultationRadio input[type="checkbox"] + .wpcf7-list-item-label:before { margin: -1vw 2vw 0 0; }
  .ContactForm__ReportCheck input[type="checkbox"] + .wpcf7-list-item-label:before { margin-right: 3vw; }
  .ContactForm__Text { padding: 6vw 0; }
  .ContactForm__Submit { width: 90%; }
  .ContactForm__Submit input[type="submit"] { padding: 3.5vw 0; background: #ff7200 url(/wp-content/uploads/2024/03/contactform-submit-bg.png) no-repeat right 4.5vw center; background-size: 4.5vw auto; }
}

/* コピーライト
======================================================== */
.Copyright { padding: 17px 0; width: 100%; background: #000; }
.Copyright__Text { margin: 0 auto; padding: 0; color: #fff; font-size: 1.4rem; text-align: center; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Copyright { padding: 1.5vw 0; }
  .Copyright__Text { font-size: 1.15vw; }
}

@media screen and (max-width: 600px) {
  .Copyright { padding: 3vw 0; }
}

/* 建築実績の詳細ページ
======================================================== */
.Body__HeaderConstruction { display: flex; justify-content: center; margin: 0 auto 60px; padding: 35px 0 25px; width: 100%; background: #000; }
.Body__HeaderConstruction h1 { display: flex; flex-direction: column; color: #fff; font-size: 5.4rem; font-weight: 700; text-align: center; }
.Body__HeaderConstruction h1 span { padding: 0 0 20px; }
.Body__HeaderConstruction h1 small { color: #939393; font-size: 2.0rem; font-weight: 500; }
.Body__MainConstruction {  }

.ConstructionSlider__Large { margin-bottom: 25px; }
.ConstructionSlider__Large .slick-slide { margin-left: 5px; margin-right: 5px; }
.ConstructionSlider__Large .image { position: relative; display: block; width: 100%; overflow: hidden; object-fit: cover; }
.ConstructionSlider__Large .image:before { content: ""; display: block; padding-top: 59%; }
.ConstructionSlider__Large .image img { position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover; opacity: 0.3; }
.ConstructionSlider__Large .slick-current .image img { opacity: 1.0; }

.ConstructionSlider__Thumb .slick-prev:hover,
.ConstructionSlider__Thumb .slick-prev:focus,
.ConstructionSlider__Thumb .slick-next:hover,
.ConstructionSlider__Thumb .slick-next:focus { background: #000; }
.ConstructionSlider__Thumb .slick-prev,
.ConstructionSlider__Thumb .slick-next { z-index: 1; width: 80px; height: 110px; background: #000; }
.ConstructionSlider__Thumb .slick-prev { left: -80px; }
.ConstructionSlider__Thumb .slick-next { right: -80px; }
.ConstructionSlider__Thumb .slick-prev:before,
.ConstructionSlider__Thumb .slick-next:before { color: #fff; font-size: 1.8rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }
.ConstructionSlider__Thumb .slick-prev:before { content: '\f053'; }
.ConstructionSlider__Thumb .slick-next:before { content: '\f054'; }
.ConstructionSlider__Thumb .slick-slide { margin: 4px; }
.ConstructionSlider__Thumb { margin: 0 auto 60px; /* padding: 6px; */ width: 600px; /* background: #f3f3f3; */ }
.ConstructionSlider__Thumb .slick-track { padding: 3px 0; background: #f3f3f3; }
.ConstructionSlider__Thumb .image { position: relative; display: block; width: 100%; overflow: hidden; object-fit: cover; }
.ConstructionSlider__Thumb .image:before { content: ""; display: block; padding-top: 100%; }
.ConstructionSlider__Thumb .image img { position: absolute; width: 100%; height: 100%; top: 0; right: 0; bottom: 0; left: 0; margin: auto; object-fit: cover; opacity: 0.3; }
.ConstructionSlider__Thumb .image img:hover { cursor: pointer; }
.ConstructionSlider__Thumb .slick-current .image img { opacity: 1.0; }

.Construction { display: flex; align-items: flex-start; margin: 0 auto; width: 1100px; }
.Construction__Primary { padding: 0 50px 0 0; width: 550px; }
.Construction__Category { margin: 0; padding: 0 0 30px; }
.Construction__Category span a { pointer-events: none; display: inline-block; margin: 0 8px 8px 0; padding: 8px 28px; color: #fff; font-size: 1.4rem; text-decoration: none; background: #ff7200; border-radius: 50px; }
.Construction__Heading { margin: 0; padding: 0 0 30px; font-size: 3.2rem; font-weight: 700; line-height: 1.3; }
.Construction__Text p { padding: 0 0 3rem; font-size: 1.8rem; line-height: 1.7; }
.Construction__Secondary { display: flex; flex-wrap: wrap; margin: 60px 0 0; padding: 0; width: 500px; font-size: 1.8rem; border: 1px solid #d1d1d1; border-bottom: none; }
.Construction__Secondary dt { display: flex; justify-content: center; align-items: center; padding: 20px 0; width: 147px; font-weight: 500; background: #f3f3f3; border-bottom: 1px solid #d1d1d1; border-right: 1px solid #d1d1d1; }
.Construction__Secondary dd { display: flex; align-items: center; padding: 20px; width: 310px; border-bottom: 1px solid #d1d1d1; }
.Construction__Secondary dd a { color: #000; }
.--ButtonBack { display: flex; justify-content: center; padding: 80px 0; width: 100%; }
.--ButtonBack a { position: relative; display: inline-block; padding: 20px 75px 20px 105px; color: #fff; font-size: 2.4rem; font-weight: 700; text-decoration: none; background: #000; border-radius: 50px; }
.--ButtonBack a:before { position: absolute; left: 70px; top: 50%; transform: translateY(-50%); content: '\f053'; font-size: 1.8rem; font-family: "Font Awesome 6 Free"; font-weight: bold; }

@media only screen and (min-width:600px) and (max-width:1200px) {
  .Body__HeaderConstruction { margin: 0 auto 5vw; padding: 3vw 0 2vw; }
  .Body__HeaderConstruction h1 { font-size: 4.5vw; }
  .Body__HeaderConstruction h1 span { padding: 0 0 1.6vw; }
  .Body__HeaderConstruction h1 small { font-size: 1.65vw; }

  .ConstructionSlider__Thumb .slick-prev,
  .ConstructionSlider__Thumb .slick-next { width: 5.5vw; height: 9vw; }
  .ConstructionSlider__Thumb .slick-prev { left: -5vw; }
  .ConstructionSlider__Thumb .slick-next { right: -5vw; }
  .ConstructionSlider__Thumb .slick-prev:before,
  .ConstructionSlider__Thumb .slick-next:before { font-size: 1.4vw; }
  .ConstructionSlider__Thumb .slick-slide { margin: 0.5vw; }
  .ConstructionSlider__Thumb { margin: 0 auto 6vw; padding: 0.5vw; width: 50%; }

  .Construction { width: 93%; }
  .Construction__Primary { padding: 0 5% 0 0; width: 55%; }
  .Construction__Category { padding: 0 0 2.5vw; }
  .Construction__Category span a { margin: 0 0.7vw 0.7vw 0; padding: 0.7vw 2.4vw; font-size: 1.2vw; }
  .Construction__Heading { padding: 0 0 2.5vw; font-size: 2.7vw; }
  .Construction__Text p { font-size: 1.5vw; padding-bottom: 2.5vw; }
  .Construction__Secondary { margin: 5vw auto 0; width: 50%; font-size: 1.5vw; }
  .Construction__Secondary dt { padding: 1.7vw 0; width: 29.7%; }
  .Construction__Secondary dd { padding: 1.7vw 5% 1.7vw 4%; width: 61%; }
  .--ButtonBack { padding: 7vw 0; }
  .--ButtonBack a { padding: 1.7vw 6vw 1.7vw 9vw; font-size: 2vw; }
  .--ButtonBack a:before { left: 6vw; font-size: 1.4vw; }
}

@media only screen and (min-width:600px) and (max-width:800px) {
  .Construction__Secondary dt {  }
  .Construction__Secondary dd { width: 60.9%; }
}

@media screen and (max-width: 600px) {
  .Body__HeaderConstruction { margin: 0 auto 6vw; padding: 5vw 0 4vw; }
  .Body__HeaderConstruction h1 { font-size: 3.4rem; }
  .Body__HeaderConstruction h1 span { padding: 0 0 2vw; }
  .Body__HeaderConstruction h1 small { font-size: 1.2rem; }

  .ConstructionSlider__Large { margin-bottom: 5vw; }
  .ConstructionSlider__Large .slick-slide { margin-left: 1vw; margin-right: 1vw; }
  .ConstructionSlider__Thumb .slick-prev,
  .ConstructionSlider__Thumb .slick-next { width: 8vw; height: 15.5vw; }
  .ConstructionSlider__Thumb .slick-prev { left: -8vw; }
  .ConstructionSlider__Thumb .slick-next { right: -8vw; }
  .ConstructionSlider__Thumb .slick-slide { margin: 0.5vw; }
  .ConstructionSlider__Thumb { margin: 0 auto 10vw; padding: 0.5vw; width: 84%; }

  .Construction { flex-direction: column; width: 90%; }
  .Construction__Primary { padding: 0; width: 100%; }
  .Construction__Category { padding: 0 0 3vw; }
  .Construction__Category span a { padding: 1.5vw 5vw; font-size: 1.6rem; }
  .Construction__Heading { padding: 0 0 3vw; }
  .Construction__Text p { font-size: 1.9rem; }
  .Construction__Secondary { flex-direction: column; margin: 3vw auto 0; width: 100%; font-size: 1.9rem; }
  .Construction__Secondary dt { justify-content: flex-start; padding: 3vw 5%; width: 90%; border-right: none; }
  .Construction__Secondary dd { padding: 3vw 5%; width: 90%; }
  .--ButtonBack { padding: 10vw 0; }
  .--ButtonBack a { padding: 5vw 0 5vw 2vw; width: 60%; text-align: center; }
  .--ButtonBack a:before { left: 10vw; }
}

/* Slick
======================================================== */
.slick-prev, .slick-next { font-size: 0; line-height: 0; position: absolute; top: 50%; display: block; width: 12vw; height: 12vw; padding: 0; -webkit-transform: translate(0, -50%); -ms-transform: translate(0, -50%); transform: translate(0, -50%); cursor: pointer; color: transparent; border: none; outline: none; background: transparent; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { color: transparent; outline: none; background: transparent; }
.slick-prev:hover:before, .slick-prev:focus:before, .slick-next:hover:before, .slick-next:focus:before { opacity: 1; }
.slick-prev.slick-disabled:before, .slick-next.slick-disabled:before { opacity: .25; }
.slick-prev:before, .slick-next:before { font-family: 'slick'; font-size: 20px; line-height: 1; opacity: 1; color: white; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-prev { left: -25px; }
[dir='rtl'] .slick-prev { right: -25px; left: auto; }
.slick-prev:before { content: '←'; }
[dir='rtl'] .slick-prev:before { content: '→'; }
.slick-next { right: -25px; }
[dir='rtl'] .slick-next { right: auto; left: -25px; }
.slick-next:before { content: '→'; }
[dir='rtl'] .slick-next:before { content: '←'; }
.slick-dotted.slick-slider { margin-bottom: 30px; }
.slick-dots { position: absolute; bottom: -2vw; display: block; width: 100%; padding: 0; margin: 0; list-style: none; text-align: center; }
.slick-dots li { position: relative; display: inline-block; width: 20px; height: 20px; margin: 0 5px; padding: 0; cursor: pointer; }
.slick-dots li { background: none !important; border: none !important; }
.slick-dots li button { font-size: 0; line-height: 0; display: block; width: 20px; height: 20px; padding: 5px; cursor: pointer; color: transparent; border: 0; outline: none; background: transparent; }
.slick-dots li button:hover, .slick-dots li button:focus { outline: none; }
.slick-dots li button:hover:before, .slick-dots li button:focus:before { color: #917b00; opacity: 0.7; }
.slick-dots li button:before { font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: 1.5rem; line-height: 20px; position: absolute; top: 0; left: 0; width: 20px; height: 20px; content: '\f111'; text-align: center; opacity: .25; color: black; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.slick-dots li.slick-active button:before { opacity: 1; color: #917b00; }
.slick-slider { position: relative; display: block; box-sizing: border-box; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; -webkit-touch-callout: none; -khtml-user-select: none; -ms-touch-action: pan-y; touch-action: pan-y; -webkit-tap-highlight-color: transparent; }
.slick-list { position: relative; display: block; overflow: hidden; margin: 0; padding: 0; }
.slick-list:focus { outline: none; }
.slick-list.dragging { cursor: pointer; cursor: hand; }
.slick-slider .slick-track, .slick-slider .slick-list { -webkit-transform: translate3d(0, 0, 0); -moz-transform: translate3d(0, 0, 0); -ms-transform: translate3d(0, 0, 0); -o-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0); }
.slick-track { position: relative; top: 0; left: 0; display: block; margin-left: auto; margin-right: auto; }
.slick-track:before, .slick-track:after { display: table; content: ''; }
.slick-track:after { clear: both; }
.slick-loading .slick-track { visibility: hidden; }
.slick-slide { display: none; float: left; min-height: 1px; }
[dir='rtl'] .slick-slide { float: right; }
.slick-slide img { display: block; }
.slick-slide.slick-loading img { display: none; }
.slick-slide.dragging img { pointer-events: none; }
.slick-initialized .slick-slide { display: block; }
.slick-loading .slick-slide { visibility: hidden; }
.slick-vertical .slick-slide { display: block; height: auto; border: 1px solid transparent; }
.slick-arrow.slick-hidden { display: none; }
.slider .slick-arrow { width: 1.75vw; height: auto; position: absolute; z-index: 1; top: 47%; opacity: 0.5; }
.slider .slick-arrow:hover { opacity: 1; cursor: pointer; }
.slider .prev-arrow { left: 0; }
.slider .next-arrow { right: 0; }

/* Luminous-Lightbox
======================================================== */
@keyframes lum-fade { 0% { opacity: 0; } 100% { opacity: 1; } }
@keyframes lum-fadeZoom { 0% { transform: scale(0.5); opacity: 0; } 100% { transform: scale(1); opacity: 1; } }
@keyframes lum-loader-rotate { 0% { transform: translate(-50%, -50%) rotate(0); } 50% { transform: translate(-50%, -50%) rotate(-180deg); } 100% { transform: translate(-50%, -50%) rotate(-360deg); } }
@keyframes lum-loader-before { 0% { transform: scale(1); } 10% { transform: scale(1.2) translateX(6px); } 25% { transform: scale(1.3) translateX(8px); } 40% { transform: scale(1.2) translateX(6px); } 50% { transform: scale(1); } 60% { transform: scale(0.8) translateX(6px); } 75% { transform: scale(0.7) translateX(8px); } 90% { transform: scale(0.8) translateX(6px); } 100% { transform: scale(1); } }
@keyframes lum-loader-after { 0% { transform: scale(1); } 10% { transform: scale(1.2) translateX(-6px); } 25% { transform: scale(1.3) translateX(-8px); } 40% { transform: scale(1.2) translateX(-6px); } 50% { transform: scale(1); } 60% { transform: scale(0.8) translateX(-6px); } 75% { transform: scale(0.7) translateX(-8px); } 90% { transform: scale(0.8) translateX(-6px); } 100% { transform: scale(1); } }

.lum-lightbox {
  background: rgba(0, 0, 0, 0.6);
}

.lum-lightbox-inner {
  top: 2.5%;
  right: 2.5%;
  bottom: 2.5%;
  left: 2.5%;
}

.lum-lightbox-inner img {
  position: relative;
}

.lum-lightbox-inner .lum-lightbox-caption {
  margin: 0 auto;
  color: #fff;
  max-width: 700px;
  text-align: center;
}

.lum-loading .lum-lightbox-loader {
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 66px;
  height: 20px;
  animation: lum-loader-rotate 1800ms infinite linear;
}

.lum-lightbox-loader:before,
.lum-lightbox-loader:after {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 50%;
  margin-top: -10px;
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.9);
}

.lum-lightbox-loader:before {
  left: 0;
  animation: lum-loader-before 1800ms infinite linear;
}

.lum-lightbox-loader:after {
  right: 0;
  animation: lum-loader-after 1800ms infinite linear;
  animation-delay: -900ms;
}

.lum-lightbox.lum-opening {
  animation: lum-fade 180ms ease-out;
}

.lum-lightbox.lum-opening .lum-lightbox-inner {
  animation: lum-fadeZoom 180ms ease-out;
}

.lum-lightbox.lum-closing {
  animation: lum-fade 300ms ease-in;
  animation-direction: reverse;
}

.lum-lightbox.lum-closing .lum-lightbox-inner {
  animation: lum-fadeZoom 300ms ease-in;
  animation-direction: reverse;
}

.lum-img {
  transition: opacity 120ms ease-out;
}

.lum-loading .lum-img {
  opacity: 0;
}

.lum-gallery-button {
  overflow: hidden;
  text-indent: 150%;
  white-space: nowrap;
  background: transparent;
  border: 0;
  margin: 0;
  padding: 0;
  outline: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  height: 100px;
  max-height: 100%;
  width: 60px;
  cursor: pointer;
}

.lum-close-button {
  position: absolute;
  right: 5px;
  top: 5px;
  width: 32px;
  height: 32px;
  opacity: 0.3;
}
.lum-close-button:hover {
  opacity: 1;
}
.lum-close-button:before,
.lum-close-button:after {
  position: absolute;
  left: 15px;
  content: " ";
  height: 33px;
  width: 2px;
  background-color: #fff;
}
.lum-close-button:before {
  transform: rotate(45deg);
}
.lum-close-button:after {
  transform: rotate(-45deg);
}

.lum-previous-button {
  left: 12px;
}

.lum-next-button {
  right: 12px;
}

.lum-gallery-button:after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 36px;
  height: 36px;
  border-top: 4px solid rgba(255, 255, 255, 0.8);
}

.lum-previous-button:after {
  transform: translateY(-50%) rotate(-45deg);
  border-left: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: -2px 0 rgba(0, 0, 0, 0.2);
  left: 12%;
  border-radius: 3px 0 0 0;
}

.lum-next-button:after {
  transform: translateY(-50%) rotate(45deg);
  border-right: 4px solid rgba(255, 255, 255, 0.8);
  box-shadow: 2px 0 rgba(0, 0, 0, 0.2);
  right: 12%;
  border-radius: 0 3px 0 0;
}

/* This media query makes screens less than 460px wide display in a "fullscreen"-esque mode. Users can then scroll around inside the lightbox to see the entire image. */
@media (max-width: 600px) {
  .lum-lightbox-image-wrapper {
    display: flex;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  .lum-lightbox-caption {
    width: 100%;
    position: absolute;
    bottom: 0;
  }

  /* Used to centre the image in the container, respecting overflow: https://stackoverflow.com/a/33455342/515634 */
  .lum-lightbox-position-helper {
    margin: auto;
  }

  .lum-lightbox-inner img {
    max-width: none;
    max-height: none;
  }

  .luminous { max-width: 150vw; }
  .lum-lightbox-inner img { max-width: 180vw !important;/* スワイプ範囲含む横幅調整 */ max-height: 100vh !important;/* 上下余白調整 */ }
}