/*
Theme Name: Nitto Kensetsu New Site
Theme URI:
Author: Nitto Kensetsu / Studio Coba
Description: 日東建設ウェブサイトのテーマです。
Version: 1.0
*/
/* ==========================================================================


   日東建設CSS


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

/* --------------------------------------------------------------------------

   Clearfix

   -------------------------------------------------------------------------- */

.clearfix:after {
   content: " ";
   display: block;
   clear: both;
}

/* --------------------------------------------------------------------------

   foundation

   -------------------------------------------------------------------------- */

html {
   font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
   font-size: 62.5%;
   /* フォントサイズ 10px をベースにして計算しやすくする */
}

body {
   font-size: 16px;
   /* for IE 8 */
   font-size: 1.6rem;
}

body ul {
   list-style: none;
}

h1 {
   font-size: 32px;
   /* for IE 8 */
   font-size: 3.2rem;
}

p {
   color: #444;
   line-height: 2em;
}

hr {
   margin: 0 0;
   color: #444;
}

table {
   color: #444;
   border-spacing: 0 10px;
   line-height: 2em;
}

th {
   vertical-align: top;
   text-align: left;
   padding-right: 14px;
}

/* スマホ版のときに表示させるクラス(PC版では非表示) */
.sp-ver {
   display: none;
}

/* --------------------------------------------------------------------------

   layout

   -------------------------------------------------------------------------- */

/* ----------------- 共通パーツ ----------------- */

/* トップページ共通コンテナ */
.front-section {
   width: 1024px;
   padding: 50px calc((100% - 1024px) / 2);
}

/* 記事ページ共通コンテナ */
.single {
   max-width: 1024px;
   margin: 0 auto;
}

/* 記事ページ共通コンテナ(小) */
.single_small {
   max-width: 960px;
   margin: 0 auto;
}

/* 記事ページタイトル部(h3が親ページ、h2が現在のページ) */
.single h3 {
   margin: 40px 0 0;
   font-size: 2.3rem;
   color: #444;
}

.single h2 {
   margin: 10px 0 20px;
   font-size: 3.5rem;
   color: #444;
}

.single_about {
   max-width: 1024px;
   margin: 0 auto;
}

.single_about h2 {
   font-size: 3.5rem;
   color: #444;
   margin-top: 0;
}

/* 0925 一番最初のh2以外マークをつける */
.single_about h2:not(:first-child)::before {
   content: "■ ";
   font-size: 3rem;
   color: #254CA4;
   vertical-align: 3px;
}

/* 0925 END */

/* マウスホバーしたときの透過アニメーション */
.btn_anime:hover {
   opacity: 0.5;
   transition: all 0.2s;
   z-index: 1;
}

/* ブロックテーマ用CSS */
.has-text-align-center {
   text-align: center;
}

.has-text-align-right {
   text-align: right;
}

.has-text-align-left {
   text-align: left;
}

/* トップ／一覧ページタイトル部(mainがカテゴリー名、subが2行目の英語部分) */
.front_h2,
#category_main {
   margin: 0;
   font-size: 3.5rem;
   color: #444;
}

.front_h3,
#category_sub {
   margin: 10px 0 20px;
   font-size: 2.3rem;
   color: #F93728;
}

/* 一覧ページリスト部 */
.category_base {
   margin-top: 50px;
   display: flex;
   flex-wrap: wrap;
   justify-content: flex-start;
   gap: 30px 15px;
}

.category_page {
   width: 310px;
   display: flex;
   flex-direction: column;
   align-items: center;
}

.category_page a {
   text-decoration: none;
}

.category_page p {
   position: relative;
   width: 100%;
   margin: 10px 0;
   text-align: center;
   font-size: 1.8rem;
   font-weight: bold;
}

.category_page p::after {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 3px;
   margin: auto;
   content: "";
   vertical-align: middle;
   width: 0.4em;
   height: 0.4em;
   border-top: 1px solid #808080;
   border-right: 1px solid #808080;
   /* -webkit-transform: rotate(45deg); */
   transform: rotate(45deg);
}

/*  FlexBox  */
.container {
   display: flex;
   justify-content: space-between;
   align-items: center;
   padding: 0 50px;
}

/* 上下に1px実線をつける */
.U-border-black-tb {
   border-top: 1px solid #333;
}

/* ダミー用クラス */
.U-Dummy_w300h210_gray {
   width: 300px;
   height: 210px;
   background-color: #ccc;
}

.U-Dummy_w310h170_gray {
   width: 310px;
   height: 170px;
   background-color: #ccc;
}

/* 幅600px、キャプション付き画像flexbox */
.U-Flex-w600-base {
   margin: 0 auto;
   width: 600px;
   display: flex;
   flex-direction: column;
}

.U-Flex-w600-pic {
   width: 100%;
   margin: 0 auto 10px;
}

.U-Flex-w600-txt {
   width: 100%;
   margin: 0;
   overflow-wrap: break-word;
}

/*　画像コンテナ　*/
.image-container img {
   width: 100%;
}

/*　見出し文字　*/
.midashi {
   color: #254CA4;
   font-size: 1.4em;
   line-height: 1.4em;
   font-weight: bold;
   border-bottom: 1px solid #254CA4;
}

.midashi-hr {
   border: 1px solid #254CA4;
}

.no-bd {
   border-bottom: none;
}

/*　四角囲みの数字　*/
.shikaku-kakomi {
   font-size: .8em;
   display: inline-block;
   border: 1px solid #254CA4;
   padding: 2px 5px 0px 5px;
   margin-top: -5px;
   margin-right: 10px;
   vertical-align: middle;
   line-height: 1.2em;
}

.text-margin {
   margin-left: 4%;
   margin-right: 4%;
}

/* アコーディオンメニュー */
.nav-open {
   font-size: 2rem;
   border-bottom: 1px solid #808080;
   position: relative;
}

.nav-open::before {
   /* 閉じている時 */
   content: "＋";
   position: absolute;
   right: 20px;
   bottom: 7px;
}

.nav-open.active::before {
   /* 開いている時 */
   content: "－";
}

.nav-open p {
   margin: 0;
   width: 220px;
   text-align: center;
}

nav.accordion-menu {
   display: none;
   margin-left: 40px;
}

.accordion-menu ul.flex {
   margin-left: 12px;
   padding: 0;
}

.accordion-menu li {
   position: relative;
   text-align: left;
   width: 35%;
   margin: 5px 5% 5px 10%;
}

.accordion-menu li a {
   text-decoration: none;
   color: #444;
   padding: 2px;
   display: block;
}

.accordion-menu.underline {
   border-bottom: 1px solid #808080;
}

/*  パンくずリスト  */
.breadcrumb-001 {
   display: flex;
   margin: 10px 0;
   padding: 0 calc((100vw - 1024px) / 2);
   gap: 0 20px;
   font-size: 1em;
   list-style: none;
}

.breadcrumb-001 li {
   display: flex;
   align-items: center;
}

.breadcrumb-001 li:not(:last-child)::after {
   display: inline-block;
   transform: rotate(45deg);
   width: .3em;
   height: .3em;
   margin-left: 20px;
   border-top: 1px solid #333;
   border-right: 1px solid #333;
   content: '';
   z-index: 1;
}

.breadcrumb-001 a {
   color: #666;
   text-align: center;
   text-decoration: none;
}

.breadcrumb-001 .current {
   color: #000;
}

.aomoji {
   color: #254CA4;
}

.komoji {
   font-size: 0.8em;
}

/*  PC版で改行、SP版では改行しない  */
.pc_linebreak {
   display: block;
}

.align_right {
   display: block;
   text-align: right;
}

/* 0730大内:ついでにコード統一 ここから */
/* 矢印付きリンク(白・黒・工事実績用) */
.link_arrow_b,
.link_arrow_w,
.link_arrow_re {
   position: relative;
   display: flex;
   align-items: center;
   width: fit-content;
   height: 20px;
   text-decoration: none;
}

.link_arrow_b,
.link_arrow_w {
   padding: 10px 60px 10px 20px;
}

.link_arrow_re {
   padding: 10px 20px 10px 60px;
   margin-left: 184px;
}

/* 0730大内:ついでにコード統一 ここまで */

.link_arrow_b,
.link_arrow_re {
   border-bottom: 1px solid #333;
}

/* 下線アニメーション(黒) */
.link_arrow_b::after,
.link_arrow_re::after {
   height: 3px;
   /* 下線の高さ */
   position: absolute;
   /* 絶対位置指定 */
   bottom: -2px;
   /* 要素の下端からの距離 */
   left: 0;
   /* 要素の左端からの距離 */
   content: "";
   /* 要素に内容を追加 */
   background-color: #254CA4;
   /* 下線の色 */
   transform: scale(0, 1);
   /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
   transform-origin: center top;
   /* 変形の原点を中央上に指定 */
   transition: transform .3s;
   /* 変形をアニメーション化 */
   width: 100%;
   /* 要素の幅 */
}

.link_arrow_b:hover::after,
.link_arrow_re:hover::after {
   transform: scale(1, 1);
   /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}

.link_arrow_w {
   border-bottom: 1px solid #fff;
}

/* 下線アニメーション(白) */
.link_arrow_w::after {
   height: 3px;
   /* 下線の高さ */
   position: absolute;
   /* 絶対位置指定 */
   bottom: -2px;
   /* 要素の下端からの距離 */
   left: 0;
   /* 要素の左端からの距離 */
   content: "";
   /* 要素に内容を追加 */
   background-color: #fff;
   /* 下線の色 */
   transform: scale(0, 1);
   /* 下線を横方向に0倍、縦方向に1倍に変形（非表示） */
   transform-origin: center top;
   /* 変形の原点を中央上に指定 */
   transition: transform .3s;
   /* 変形をアニメーション化 */
   width: 100%;
   /* 要素の幅 */
}

.link_arrow_w:hover::after {
   transform: scale(1, 1);
   /* 下線を横方向に1倍、縦方向に1倍に変形（表示） */
}

.link_arrow_b div,
.link_arrow_re div {
   color: #333;
   transition: all .3s;
}

.link_arrow_b:hover>div,
.link_arrow_re:hover>div {
   color: #254CA4;
}

.link_arrow_w div {
   color: #fff;
}

/* 白用ホバーアニメーション（今は未使用） */
/* .link_arrow_w:hover>div {
   ここに付けるアニメーションを入れる
} */

.link_arrow_b div::after,
.link_arrow_w div::after {
   position: absolute;
   top: 50%;
   transform: translateY(-50%);
   display: inline-block;
   margin-left: 20px;
   height: 20px;
}

.link_arrow_re div::before {
   position: absolute;
   top: 50%;
   left: 20px;
   transform: translateY(-50%) rotateY(180deg);
   display: inline-block;
   height: 20px;
}

.link_arrow_b div::after,
.link_arrow_re div::before {
   content: url(images/link_arrow_b.png);
}

/* 0730大内:矢印アニメーション修正 ここから */
.link_arrow_b:hover>div::after,
.link_arrow_re:hover>div::before {
   content: url(images/link_arrow_b_hover.png);
}

/* 0730大内:矢印アニメーション修正 ここまで */

.link_arrow_w div::after {
   content: url(images/link_arrow_w.png);
}

.link_arrow_w:hover>div::after {
   content: url(images/link_arrow_w_hover.png);
}

/* idでジャンプした際のズレ修正 */
.anchor {
   display: block;
   padding-top: 170px;
   margin-top: -170px;
}

.anchor2 {
   display: block;
   padding-top: 185px !important;
   margin-top: -185px !important;
}

/* 1001 */
/* 会社情報 */
@media screen and (max-width: 865px) {
   .about_single_main .about_single_sub .anchor2 {
      display: block;
      padding-top: 217px !important;
      margin-top: -217px !important;
   }

   .about_single_main .about_single_sub h2 {
      display: block;
      padding-top: 32px;
      margin-top: -32px;
   }
}

@media screen and (max-width: 487px) {
   .about_single_main .about_single_sub .anchor2 {
      display: block;
      padding-top: 250px !important;
      margin-top: -250px !important;
   }

   .about_single_main .about_single_sub h2 {
      display: block;
      padding-top: 65px;
      margin-top: -65px;
   }
}

/* reset */
.about_single_main.const .about_single_sub .anchor2,
.about_single_main.inspe .about_single_sub .anchor2 {
   display: block;
   padding-top: 185px !important;
   margin-top: -185px !important;
}

.about_single_main.const .about_single_sub h2,
.about_single_main.inspe .about_single_sub h2 {
   display: block;
   padding-top: 0px;
   margin-top: 0px;
}

/* 土木工事 */
@media screen and (max-width: 479px) {
   .about_single_main.const .about_single_sub .anchor2 {
      display: block;
      padding-top: 217px !important;
      margin-top: -217px !important;
   }

   .about_single_main.const .about_single_sub h2 {
      display: block;
      padding-top: 32px;
      margin-top: -32px;
   }
}

@media screen and (max-width: 345px) {

   .about_single_main.const .about_single_sub .anchor2 {
      display: block;
      padding-top: 250px !important;
      margin-top: -250px !important;
   }

   .about_single_main.const .about_single_sub h2 {
      display: block;
      padding-top: 65px;
      margin-top: -65px;
   }
}

/* 調査/点検 */
@media screen and (max-width: 365px) {
   .about_single_main.inspe .about_single_sub .anchor2 {
      display: block;
      padding-top: 217px !important;
      margin-top: -217px !important;
   }

   .about_single_main.inspe .about_single_sub h2 {
      display: block;
      padding-top: 32px;
      margin-top: -32px;
   }
}

/* 1001 END */

/* 1003 */
.anchor3 {
   display: block;
   padding-top: 170px;
   margin-top: -140px;
}

@media screen and (max-width: 1024px) {
   .anchor {
      display: block;
      padding-top: 105px;
      margin-top: -110px;
   }

   .anchor3 {
      display: block;
      padding-top: 120px;
      margin-top: -80px;
   }
}

/* 1003 END */

/* 1007 */
@media screen and (max-width: 393px) {
   .anchor {
      display: block;
      padding-top: 130px;
      margin-top: -135px;
   }
}

/* 1007 END */

/*  マージン調整  */
.u-mt0 {
   margin-top: 0;
}

.u-mt10 {
   margin-top: 10px;
}

.u-mt20 {
   margin-top: 20px;
}

.u-mt30 {
   margin-top: 30px;
}

.u-mt50 {
   margin-top: 50px;
}

.u-mt100 {
   margin-top: 100px;
}

.u-mt-30 {
   margin-top: -30px;
}

.u-mb0 {
   margin-bottom: 0;
}

.u-mb20 {
   margin-bottom: 20px;
}

.u-mb30 {
   margin-bottom: 30px;
}

.u-mb60 {
   margin-bottom: 60px;
}

/* マージンで右揃えにする */
.U-mRight {
   margin-right: 0;
   margin-left: auto;
}

.U-mt-auto {
   margin-top: auto;
}

/* カラー設定(上2つは日東コーポレートカラー) */
.U-clrDIC159 {
   color: #F93728;
}

.U-clrDIC2601 {
   color: #254CA4;
}

.U-td-none {
   text-decoration: none;
}

/* ----------------- ヘッダー ----------------- */
header {
   border-bottom: solid 1px #444;
   background-color: #fff;
   width: 100%;
   position: fixed;
   top: 0;
   z-index: 99;
}

.menu-container {
   /* max-width: 1024px;
   margin: 0 auto; */
   margin: 0 50px;
}

.menu-mobile {
   display: none;
   padding: 20px;
}

.menu-mobile:after {
   content: "\f394";
   font-size: 2.5rem;
   padding: 0;
   float: right;
   position: relative;
   top: 50%;
   -webkit-transform: translateY(-25%);
   -ms-transform: translateY(-25%);
   transform: translateY(-25%);
}

.menu-dropdown-icon:before {
   content: "\f489";
   font-family: "Ionicons";
   display: none;
   cursor: pointer;
   float: right;
   padding: 1.5em 2em;
   background: #fff;
   color: #333;
}

.menu>ul {
   list-style: none;
   position: relative;
   box-sizing: border-box;
}

.menu>ul:before,
.menu>ul:after {
   content: "";
   display: table;
}

.menu>ul:after {
   clear: both;
}

.menu>ul>li {
   float: left;
   padding: 0;
   margin: 0;
}

.menu-top>ul>li a {
   height: 25px;
   text-decoration: none;
   padding: 0 15px;
   display: grid;
   place-items: center;
}

.menu-2nd>ul>li a {
   height: 60px;
   text-decoration: none;
   padding: 0 20px;
   display: grid;
   place-items: center;
}

.menu-2nd>ul>li>ul a {
   height: 20px;
   text-decoration: none;
   padding: 0 20px;
   display: grid;
   place-items: center;
}

.menu>ul>li>ul {
   display: none;
   width: 100vw;
   background: #f0f0f0;
   padding: 60px 8vw;
   position: absolute;
   z-index: 99;
   margin: 0;
   list-style: none;
   box-sizing: border-box;
}

.menu>ul>li>ul:before,
.menu>ul>li>ul:after {
   content: "";
   display: table;
}

.menu>ul>li>ul:after {
   clear: both;
}

.menu>ul>li>.menu-child1 {
   /* right: calc(-540px - ((100vw - 1024px) / 2)); */
   /* 0925 */
   right: -716px;
   /* 0925 END */
}

.menu>ul>li>.menu-child2 {
   /* right: calc(-415px - ((100vw - 1024px) / 2));
   padding-right: 20vw;
   padding-left: 20vw; */
   right: -350px;
}

.menu>ul>li>.menu-child3 {
   /* right: calc(-300px - ((100vw - 1024px) / 2)); */
   /* 0925 */
   right: -600px;
   /* 0925 END */
}

.menu>ul>li>.menu-child4 {
   /* right: calc(-164px - ((100vw - 1024px) / 2)); */
   right: -214px;
}

/* 0925 */
.menu>ul>li>.menu-child5 {
   right: -475px;
}

/* 0925 END */

.menu>ul>li>.menu-child1_eng {
   /* 0925 */
   right: -799px;
   /* 0925 END */
}

.menu>ul>li>.menu-child2_eng {
   right: -358px;
}

.menu>ul>li>.menu-child3_eng {
   /* 0925 */
   right: -639px;
   /* 0925 END */
}

.menu>ul>li>.menu-child4_eng {
   right: -218px;
}

/* 0925 */
.menu>ul>li>.menu-child5_eng {
   right: -502px;
}

/* 0925 END */

.menu>ul>li>ul>li {
   margin: 0;
   padding-bottom: 0;
   list-style: none;
   /* width: 25%; */
   /* 1008 */
   width: 24%;
   background: none;
   float: left;
}

.menu>ul>li>.menu-child2>li {
   /* width: 50%; */
   width: 33%;
}

.menu>ul>li>.menu-child3>li {
   /* width: 33%; */
   /* width: 25%; */
   /* 1008 */
   width: 24%;
}

.menu>ul>li>.menu-child4>li {
   /* width: 50%; */
   width: 33%;
}

/* 0925 */
.menu>ul>li>.menu-child5>li {
   width: 33%;
}

/* 0925 END */

.menu>ul>li>.menu-child2_eng>li {
   /* width: 50%; */
   width: 33%;
}

.menu>ul>li>.menu-child3_eng>li {
   /* width: 33%; */
   width: 25%;
}

.menu>ul>li>.menu-child4_eng>li {
   /* width: 50%; */
   width: 33%;
}

/* 0925 */
.menu>ul>li>.menu-child5_eng>li {
   width: 33%;
}

/* 0925 END */

.menu>ul>li>ul>li a {
   color: #777;
   padding: .4em 0;
   width: 95%;
   display: block;
}

/* メガメニュー先頭にトップに飛ぶ見出しをつける ここから */
/* 0925 .menu-child5(_eng) add */
.menu-child1>li:first-child,
.menu-child2>li:first-child,
.menu-child3>li:first-child,
.menu-child4>li:first-child,
.menu-child5>li:first-child {
   margin-right: calc(5% - 1px);
   border-right: 1px solid #777;
   font-size: 2.4rem;
}

.menu>ul>li>.menu-child1>li:first-child {
   height: 70px;
   width: 20%;
}

.menu>ul>li>.menu-child3>li:first-child,
.menu>ul>li>.menu-child5>li:first-child {
   height: 35px;
   width: 20%;
}

.menu>ul>li>.menu-child2>li:first-child,
.menu>ul>li>.menu-child4>li:first-child {
   height: 230px;
   width: 28%;
}

.menu-child1_eng>li:first-child,
.menu-child2_eng>li:first-child,
.menu-child3_eng>li:first-child,
.menu-child4_eng>li:first-child,
.menu-child5_eng>li:first-child {
   margin-right: calc(5% - 1px);
   border-right: 1px solid #777;
   font-size: 2.4rem;
}

.menu>ul>li>.menu-child1_eng>li:first-child {
   height: 70px;
   width: 20%;
}

.menu>ul>li>.menu-child3_eng>li:first-child,
.menu>ul>li>.menu-child5_eng>li:first-child {
   height: 35px;
   width: 20%;
}

.menu>ul>li>.menu-child2_eng>li:first-child {
   height: 130px;
   width: 28%;
}


.menu>ul>li>.menu-child4_eng>li:first-child {
   height: 35px;
   width: 28%;
}

/* メガメニュー先頭にトップに飛ぶ見出しをつける ここまで */

.menu>ul>li>ul>li a::before {
   content: '\f105';
   font-family: 'Font Awesome 5 Free';
   font-weight: 900;
   margin-right: 6px;
}

.menu>ul>li>ul>li>ul {
   display: block;
   padding: 0;
   margin: 10px 0 0;
   list-style: none;
   box-sizing: border-box;
}

.menu>ul>li>ul>li>ul:before,
.menu>ul>li>ul>li>ul:after {
   content: "";
   display: table;
}

.menu>ul>li>ul>li>ul:after {
   clear: both;
}

.menu>ul>li>ul>li>ul>li {
   float: left;
   width: 100%;
   padding: 0;
   margin-left: 12px;
   font-size: .8em;
}

.menu>ul>li>ul>li>ul>li:first-child {
   margin-top: -8px;
}

.menu>ul>li>ul>li>ul>li a {
   border: 0;
}

.mega-menu {
   background-color: #333;
   padding: 10px;
}

.mega-menu ul {
   list-style: none;
   padding: 0;
   display: flex;
}

.mega-menu li {
   position: relative;
   padding: 10px;
}

.submenu {
   display: none;
   position: absolute;
   background-color: #444;
   padding: 10px;
}

.mega-menu li:hover .submenu {
   display: block;
}

.menu-top {
   display: flex;
   flex-flow: row nowrap;
   justify-content: space-between;
   height: 40px;
   margin-bottom: -7px;
}

.menu-top a {
   position: relative;
   margin: auto 0;
   text-decoration: none;
   color: #444;
   font-weight: bold;
}

.menu-top a::after {
   position: absolute;
   left: 0;
   content: '';
   width: 100%;
   height: 3px;
   background: #254CA4;
   bottom: -8px;
   transform: scale(0, 1);
   transform-origin: center top;
   /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
   transition: transform 0.3s;
   /*変形の時間*/
}

.menu-top a:hover::after {
   transform: scale(1, 1);
   /*ホバー後、x軸方向に1（相対値）伸長*/
}

.header-logo {
   position: absolute;
   margin-top: 10px;
}

.header-logo:hover {
   opacity: 0.7;
}

.menu-2nd {
   display: flex;
   flex-flow: row nowrap;
   justify-content: flex-end;
   height: 75px;
}

.menu-2nd a {
   text-decoration: none;
   color: #444;
   font-weight: bold;
}

.menu-2nd li {
   position: relative;
   font-size: 1.9rem;
   font-weight: bold;
}

.menu-2nd>ul>li::after {
   position: absolute;
   left: 0;
   content: '';
   width: 100%;
   height: 4px;
   background: #254CA4;
   bottom: 0px;
   transform: scale(0, 1);
   transform-origin: center top;
   /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
   transition: transform 0.3s;
   /*変形の時間*/
}

.menu-2nd>ul>li:hover::after {
   transform: scale(1, 1);
   /*ホバー後、x軸方向に1（相対値）伸長*/
}

.menu-op:hover {
   opacity: 0.5;
}

.pdf-icon::after {
   margin-left: 5px;
   content: url('images/PDFicon_s.png');
   vertical-align: -1px;
}

.pdf-icon-l::after {
   margin-left: 5px;
   content: url('images/PDFicon_l.png');
   vertical-align: -3px;
}

.blank-icon-s::after {
   margin-left: 5px;
   content: url('images/blankicon_s.png');
   vertical-align: -3px;
}

.blank-icon-m::after {
   margin-left: 5px;
   content: url('images/blankicon_top.png');
   vertical-align: -3px;
}

.blank-icon-l::after {
   margin-left: 5px;
   content: url('images/blankicon_l.png');
   vertical-align: -3px;
}

/* メインにヘッダーと同じかそれ以上のマージンを入れて調整 */
#frontpage-main {
   /* 1002 */
   margin-top: 108px;
   /* 1002 END */
}

#subpage-main {
   margin-top: 180px;
}

/* 検索フォーム */
#search-box {
   position: fixed;
   top: 0;
   left: 0;
   margin-top: 109px;
   width: 100%;
   background-color: #f0f0f0;
   padding: 40px;
   box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
   z-index: 99;
   display: none;
}

#search-box form {
   display: flex;
   justify-content: center;
   align-items: center;
   gap: 10px;
   max-width: 100%;
}

#search-box input[type="text"] {
   width: 60%;
   padding: 10px;
   font-size: 16px;
   border: 1px solid #ccc;
   border-radius: 4px;
}

#search-box button {
   padding: 10px 20px;
   font-size: 16px;
   background-color: #333;
   color: #fff;
   border: none;
   border-radius: 4px;
   cursor: pointer;
}

/* ----------------- フッター ----------------- */
footer {
   margin-top: 50px;
   padding-top: 30px;
   bottom: 0;
   width: 100%;
}

footer.topborder {
   border-top: 1px solid #333;
   /* 0929 */
   padding-top: 80px;
   /* 0929 END */
}

footer a {
   text-decoration: none;
}

.footer-container {
   /* 0924 */
   /* width: 100%; */
   margin: 0 50px;
   /* 0924 END */
   font-size: 15px;
   color: #999;
}

.md-flex {
   display: flex;
   justify-content: space-between;
   /* 0925 */
   align-items: flex-start;
   /* 0925 END */
   margin-bottom: 30px;
}

.footer-logospace {
   display: flex;
   flex-flow: column nowrap;
   max-width: 50%;
}

.footer-logospace p {
   margin: 0 0;
   line-height: 1.4em;
}

.footer-navi {
   /* 0924 */
   width: 530px;
   padding: 0;
   margin: 0 0 0 auto;
   /**/
   display: flex;
   flex-flow: row wrap;
   justify-content: flex-start;
   gap: 12px 0px;
}

.footer-navi li {
   display: inline-block;
}

.footer-navi a {
   width: 90px;
   display: grid;
   text-decoration: none;
   color: #444;
   font-weight: bold;
}

.footer-navi li:not(:last-child) {
   margin-right: 16px;
}

.footer-logo {
   display: block;
}

/* 0925 */
.footer-linkbox {
   padding: 0;
}

.footer-sns {
   border-top: 1px solid #444;
   padding-top: 10px;
   display: flex;
   justify-content: flex-end;
   margin: 10px 30px 0 0;
}

.icon-sns {
   margin: 0 0 0 18px;
   width: 40px;
}

.icon-sns img {
   width: 100%;
   height: auto;
}

/* 0925 END */


/* フッダー下部のグラデ */
.footer-bottom {
   width: 100%;
   height: 100%;
   background: #254CA4;
   /*0922*/
   background: linear-gradient(105deg, #0062b1 0%, #0062b1 40%, #5e77b9 100%);
   /*0922END*/
}

.copyright {
   color: #fff;
   font-size: 1.3rem;
   margin: 0 0;
   padding-top: 10px;
   padding-bottom: 10px;
}

.footer-wrap {
   display: grid;
   grid-template-rows: auto 1fr auto;
   grid-template-columns: 100%;
   min-height: 100vh;
}

/* 上部に戻るボタン */
#goto-top {
   display: block;
   position: fixed;
   bottom: 40px;
   right: 20px;
   height: 40px;
   width: 40px;
   z-index: 1;
}

/* --------------- トップページ --------------- */
/* スライダー 0922削除 */
/*
.splide {
   margin-top: -1px;
}

.splide__slide {
   text-align: right;
}

.splide__slide img {
   height: 600px;
   width: auto;
   padding-right: calc((100% - 1024px) / 2 - 140px);
   transition: transform 6s ease-out;
}

.slider_sp-ver {
   display: none;
}

.splide__slide.is-active img {
   transform: scale(1.15);
   transition-delay: 0s;
}

.splide__pagination {
   justify-content: flex-start !important;
   gap: 10px;
   bottom: 30px !important;
   left: 40px !important;
}

.splide__pagination__page {
   border-radius: 0% !important;
}

.splide__pagination__page.is-active {
   background-color: #F93728 !important;
}

.splide__toggle {
   width: 32px;
   height: 32px;
   padding: 0;
   border: none;
   background: none;
   position: absolute;
   left: 225px;
   bottom: 22px;
}

.splide__toggle>img {
   width: 100%;
   height: 100%;
   opacity: .7;
}
*/
/* 0922 */
.MV {
   height: 600px;
   position: relative;
}

section.MV {
   overflow: hidden;
}

div.MV {
   background-color: #254CA4;
}

div.MV img {
   position: absolute;
   right: 0;
   bottom: -20px;
   width: 75%;
   min-width: 1000px;
   max-width: 1500px;
   height: auto;
}

/* 0922 END */

/* 0929 */
.slider_blue.pc-ver {
   width: 100%;
   height: 600px;
   background-image: url(images/slider_front_pc_blue.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left top;
   position: absolute;
   top: 0;
}

.slider_blue.sp-ver {
   width: 100%;
   height: 400px;
   background-image: url(images/slider_front_sp_blue.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left top;
   position: absolute;
   top: 0;
}

/* 0929 END */

.slider_text1.pc-ver {
   width: 100%;
   height: 600px;
   /* 0924 */
   background-image: url(images/slider_front_pc01.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: calc(100vw - 8%) top;
   /* 0924 END */
   position: absolute;
   top: 0;
}

.slider_text2.pc-ver {
   /* 0929 */
   width: 344px;
   height: 38px;
   /* 0929 END */
   background-image: url(images/slider_front_pc02.png);
   background-size: cover;
   background-position: left middle;
   position: absolute;
   left: 50px;
   top: 33%;
   transform: translateY(-50%);
}

.slider_text3.pc-ver {
   width: 363px;
   height: 71px;
   background-image: url(images/slider_front_pc03.png);
   background-size: cover;
   background-position: left middle;
   position: absolute;
   left: 53px;
   top: 40.5%;
   transform: translateY(-50%);
}

.slider_text4.pc-ver {
   /* 0929 */
   width: 609px;
   height: 52px;
   /* 0929 END */
   background-image: url(images/slider_front_pc04.png);
   background-size: cover;
   background-position: left middle;
   position: absolute;
   left: 50px;
   top: 60%;
   transform: translateY(-50%);
}

.slider_text1.sp-ver {
   /* 0925 */
   width: 100%;
   /* 0925 END */
   height: 400px;
   background-image: url(images/slider_front_sp01.png);
   background-size: contain;
   background-repeat: no-repeat;
   /* 0925 */
   background-position: calc(100vw - 15%) top;
   /* 0925 END */
   position: absolute;
   right: 0;
   bottom: -1px;
}

.slider_text2.sp-ver {
   width: 60vw;
   max-width: 300px;
   height: 33px;
   background-image: url(images/slider_front_sp02.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left bottom;
   position: absolute;
   left: 10px;
   bottom: 220px;
}

.slider_text3.sp-ver {
   width: 60vw;
   max-width: 290px;
   height: 61px;
   background-image: url(images/slider_front_sp03.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left bottom;
   position: absolute;
   left: 13px;
   bottom: 153px;
}

.slider_text4.sp-ver {
   width: 60vw;
   max-width: 190px;
   height: 77px;
   background-image: url(images/slider_front_sp04.png);
   background-size: contain;
   background-repeat: no-repeat;
   background-position: left bottom;
   position: absolute;
   left: 10px;
   bottom: 60px;
}

/* 1010 英語版テキスト */
.slider_text2.pc-ver.eng {
   width: 426px;
   height: 26px;
   background-image: url(images/slider_front_pc02_eng.png);
   background-size: cover;
   position: absolute;
   left: 50px;
   top: 34%;
   transform: translateY(-50%);
}

.slider_text3.pc-ver.eng {
   left: 53px;
   top: 40.5%;
}

.slider_text4.pc-ver.eng {
   width: 439px;
   height: 86px;
   background-image: url(images/slider_front_pc04_eng.png);
   background-size: cover;
   position: absolute;
   left: 50px;
   top: 60%;
   transform: translateY(-50%);
}

/* 1010 END */

/* 0718追記 ロゴアニメーション */
@keyframes slideInLeft {
   0% {
      opacity: 0;
      transform: translateX(-50px);
   }

   100% {
      opacity: 1;
      transform: translateX(0);
   }
}

.slider_text2.pc-ver,
.slider_text2.sp-ver {
   opacity: 0;
   animation: slideInLeft 1s ease-out forwards;
   animation-delay: 1.7s;
   /* 任意で調整可能 */
}

.slider_text3.pc-ver,
.slider_text3.sp-ver {
   opacity: 0;
   animation: slideInLeft 1s ease-out forwards;
   animation-delay: 2.1s;
   /* 任意で調整可能 */
}

.slider_text4.pc-ver,
.slider_text4.sp-ver {
   opacity: 0;
   animation: slideInLeft 1s ease-out forwards;
   animation-delay: 2.5s;
   /* 任意で調整可能 */
}

/* 0718追記 ここまで */

/* 0922 MV・画像アニメーション 0929 opacity削除 */
@keyframes slideInRight {
   0% {
      transform: translateX(100vw);
   }

   100% {
      transform: translateX(0);
   }
}

/* 0924 0929 opacity削除 */
div.MV {
   animation: slideInRight 1.5s ease forwards;
   animation-delay: 0s;
   /* 任意で調整可能 */
}

div.MV img {
   animation: slideInRight 1.5s ease forwards;
   animation-delay: 0s;
}

/* 0929 */
.slider_blue.pc-ver,
.slider_blue.sp-ver {
   animation: slideInRight 1.5s ease forwards;
   animation-delay: 0s;
}

/* 0929 END */
.slider_text1.pc-ver,
.slider_text1.sp-ver {
   animation: slideInRight 1.7s ease forwards;
   /* 0929 */
   animation-delay: 0s;
}

/* 0924 END */

@keyframes slideInRight_img {
   0% {
      opacity: 0;
      transform: translateX(30px);
   }

   100% {
      opacity: 1;
      transform: translateX(0);
   }
}

.divAnime.is-animated.imgAnime {
   opacity: 0;
   animation: slideInRight_img 1s ease-out forwards;
   animation-delay: 0.3s;
}

/* divアニメーション */
@keyframes fadeUp {
   0% {
      opacity: 0;
      transform: translateY(30px);
   }

   100% {
      opacity: 1;
      transform: translateY(0);
   }
}

/* 1001 スマホやタブレットでのチラつき防止 */
.divAnime {
   opacity: 0;
}

/* 1001 END */

#news,
.divAnime.is-animated {
   opacity: 0;
   animation: fadeUp 1s ease-out forwards;
   animation-delay: 0.3s;
}

/* 0922 END */

/*　新着情報 */
.news_container {
   padding: 0;
}

.news_row {
   display: flex;
   flex-flow: row wrap;
    padding-top: 10px;
    padding-bottom: 10px;
   border-bottom: 1px solid #333;
}

.news_row:first-child {
   border-top: 1px solid #333;
}

.news_row * {
   /*height: 26px;*/
   line-height: 26px;
   margin: 12px 10px;
}

.news_row img:not(.link_icon_img) {
   height: 24px;
   margin: 13px 10px;
}

.news-list {
   padding-left: 0;
}

.news_date {
   width: 80px;
}

.news_new {
   width: 40px;
   margin-right: 0;
   color: #F93728;
}

/* 0805大内 ここから */
/* .news_cont {
   width: 734px;
   position: relative;
}

.news_cont>a {
   text-decoration: none;
   color: #444;
   margin: 0;
} */
.news_cont {
   width: 734px;
   position: relative;
   text-decoration: none;
   color: #444;
   margin: 0;
}

.news-title {
   margin: auto 10px;
}

/* 0805大内 ここまで */

.link_icon_img {
   width: 16px;
   position: absolute;
   top: 4px;
   right: 0;
   margin: auto;
   height: auto;
}

/* 下記2セクション共通 */
.kubo_const_container {
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}

.kubo_const_text {
   width: 360px;
}

.kubo_const_text>p {
   font-size: 1.8rem;
}

.kubo_const_box_container {
   width: 620px;
   display: flex;
   flex-flow: row wrap;
   justify-content: space-between;
}

/* 0922 */
.kubo_const_box_container img {
   width: 100%;
}

/* 0922 END */

/* 0924 */
div.const_img {
   margin-top: -50px;
}

/* 0924 END */

.kubo_const_box {
   width: 300px;
   height: 350px;
   border: 1px solid #333;
   display: flex;
   flex-flow: column nowrap;
   justify-content: flex-end;
}

.kubo_const_box>h3 {
   font-size: 3rem;
   text-align: right;
   padding: 10px;
   margin: 0;
   color: #FFF;
   background: linear-gradient(rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.8));
}

/* 0922 */
.kubo_const_box h3 span {
   font-size: 1.8rem;
   font-weight: normal;
   padding-top: 3px;
   display: block;
}


/*
.kubo_const_box_txt {
   width: calc(100% - 20px);
   padding: 10px;
   background: rgba(255, 255, 255, 0.8);
   border-top: 1px solid #333;
}

.kubo_const_box_txt>p {
   margin: 0;
   line-height: 2.25rem;
}
*/
/* 0922 END */

/*　技術／製品　*/
#kubo {
   /*0922*/
   background: linear-gradient(105deg, #0062b1 0%, #0062b1 40%, #5e77b9 100%);
   /*0922END*/
   padding-bottom: 100px;
}

/*0924*/
#inspe .front_h2,
#inspe p,
/*0924END*/
#kubo .front_h2,
#kubo p {
   color: #fff;
}

/* 0929 */
/*
#CTS {
   background-image: url(images/kubo01.jpg);
   background-position: center top;
   background-size: cover;
}

#BT {
   background-image: url(images/kubo02.jpg);
   background-position: center;
   background-size: cover;
}
*/

#CTS,
#BT {
   position: relative;
   overflow: hidden;
}

#CTS.kubo_const_box h3,
#BT.kubo_const_box h3 {
   position: relative;
   top: 100%;
   z-index: 2;
}

#CTS img,
#BT img {
   position: relative;
   top: 0px;
   width: 100%;
   transition: transform .6s ease;
}

#CTS:hover img,
#BT:hover img {
   transform: scale(1.1);
}

/* 0929 END */

.kubo_const_box_txt>.kubo_ndis_netis {
   margin-bottom: 5px;
}

#kubo div.kubo_const_box_txt p {
   color: #444;
}

.kubo_const_box_txt>.kubo_ndis_netis>img {
   width: 66px;
   height: 20px;
   vertical-align: -4px;
   margin-right: 7px;
}

.kubo_txt2,
#distributor {
   text-align: center;
   overflow-wrap: break-word;
}

.kubo_txt2 {
   margin-top: 50px;
   font-size: 1.9rem;
   font-weight: bold;
}

#distributor {
   position: relative;
   display: block;
   width: 400px;
   height: 60px;
   margin: 0 auto;
}

#distributor>img:first-child {
   position: relative;
   z-index: 1;
   transition: all .2s ease-out;
}

#distributor>img:first-child:hover {
   opacity: 0;
}

#distributor>img:last-child {
   position: absolute;
   left: 0;
}

/*　土木工事　*/
#const {
   /* 0924 */
   background-image: url(images/kubo_bg_const.jpg);
   /* 0924 END */
   background-size: cover;
   background-position: left center;
   padding-bottom: 100px;
}

#const01,
#const02 {
   height: 300px;
   border: none;
   background-size: cover;
}

#const01 {
   background-image: url(images/const01.jpg);
   background-position: center top;
}

#const02 {
   background-image: url(images/const02.jpg);
   background-position: center top;
}

/*　調査/点検　*/
/* 0924 */
#inspe {
   background-image: url(images/kubo_bg.jpg);
   background-size: cover;
   background-position: left center;
   padding-bottom: 100px;
}

/* 0924 END */


/* ----------------- 新着情報 ----------------- */
.news_single_row {
   margin: 0 0 30px;
   display: flex;
   flex-flow: row wrap;
   justify-content: flex-end;
   align-items: center;
}

.news_single_row * {
   height: 24px;
   line-height: 24px;
}

.news_single_row>.news_date {
   margin-right: 20px;
}

/* ----------------- 会社情報 ----------------- */
.bgc_gray {
   background-color: #f7f7f7;
}

.about_single_main {
   width: calc(100% - 160px);
   margin-right: 0;
   margin-left: auto;
   background-color: #f7f7f7;
}

.about_single_sub {
   margin: 40px 40px;
   padding: 40px 40px;
   background-color: #fff;
}

.outline_products_top {
   width: 250px;
}

.outline_about {
   position: sticky;
   top: 180px;
}

.outline_about__list {
   list-style: none;
   margin-top: 0;
   padding-bottom: 15px;
   padding-left: 0;
   height: auto;
   overflow-y: auto;
}

.outline_about__list li {
   margin-top: 15px;
}

.outline_about__list li:first-child {
   margin-top: 0;
}

.outline_about__list a {
   text-decoration: none;
   font-weight: normal;
   color: #444;
}

.active>a {
   text-decoration: none;
   font-weight: bold;
   color: #254CA4;
   padding-left: 8px;
   margin-left: -8px;
}

.outline_about__list a::before {
   content: "・";
   color: #333;
   transition: content 0.2s ease;
}

.outline_about__list li.active a::before {
   content: "■";
   margin-left: 3px;
   margin-right: 2px;
   font-size: 0.7em;
   vertical-align: 2px;
   color: #254CA4;
}

/* 企業理念 */
.cp {
   margin: 50px auto;
   text-align: center;
   /* font-size: 2.5rem; */
   font-size: 2rem;
   font-weight: bold;
   line-height: 2.5;
}

/* 代表あいさつ */
.gre_container {
   /* width: 1024px;
   padding-left: calc((100vw - 1024px) / 2);
   left: calc((100vw - 1024px) / 2 * -1);
   background-color: #ddd;
   margin-bottom: 50px; */
   position: relative;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   margin-bottom: 30px;
}

.gre_container_txt {
   width: calc(100% - 320px);
   padding: 20px 0;
   display: flex;
   flex-direction: column;
   justify-content: space-between;

}

.gre_copy {
   margin: 0;
   font-size: 2rem;
   font-weight: bold;
   line-height: 1.8;
}

.gre_name {
   margin: 0;
   text-align: right;
   font-size: 2rem;
   line-height: 1.5;
}

.gre_txt {
   margin: 0 auto;
   /* font-size: 2rem; */
   font-size: 1.8rem;
   line-height: 1.8;
   text-align: justify;
}

/* 日東建設の特色 */
/* 
.feature_container {
   position: relative;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   margin-bottom: 30px;
}

.feature_container_txt {
   width: calc(100% - 320px);
   padding: 20px 0;
   display: flex;
   flex-direction: column;
   justify-content: space-between;

}

.feature_copy {
   margin: 0;
   font-size: 2.5rem;
   font-weight: bold;
   line-height: 1.8;
}

.feature_name {
   margin: 0;
   text-align: right;
   font-size: 2rem;
   line-height: 1.5;
} */
.feature_h3 {
   font-size: 2.4rem;
   margin: 0 0 12px;
}

.feature_h3_sub {
   margin: 40px 0 8px;
}

.feature_txt {
   margin: 0 auto;
   font-size: 1.8rem;
   line-height: 1.8;
   text-align: justify;
}

.feature_img_container {
   width: 100%;
   height: 260px;
   margin: 20px 0;
   display: flex;
   justify-content: space-between;
}

.feature_img_container:last-child {
   margin-bottom: 0;
}

/* .feature_img_container img {
   width: 100%;
}
*/

/* 1017 */
div.feature_img_container.sky {
   height: auto;
}

.feature_img_sky {
   width: 48%;
}

/* 1017 END */

/* 概要 */
.list_box-s {
   width: 50%;
   border-top: 1px solid #666;
}

.list_box {
   width: 100%;
   border-top: 1px solid #666;
}

.list_box_phbox {
   position: absolute;
}

.list_box_pic {
   width: 335px;
   margin-left: 380px;
}

.list_row {
   margin: 20px auto;
   display: flex;
   justify-content: flex-start;
   gap: 20px;
   padding: 0;
}

/* 0806大内 ここから */
.list_head {
   /* width: 200px; */
   /* height: 20px; */
   width: 150px;
   margin-bottom: auto;
   display: flex;
   align-items: center;
   gap: 8px;
}

/* 各項目見出しの装飾 */
/* .list_head::before {
   content: "";
   width: 10px;
   height: 10px;
   margin-left: 2px;
   margin-right: 8px;
   display: inline-block;
   background-color: #254CA4;
} */
/* 0806大内 ここまで */

/* 事業内容のリスト */
.list_const {
   /* width: 340px; */
   width: 250px;
   padding-left: 20px;
   line-height: 1.5;
   list-style: disc;
}

.list_address {
   /* width: 740px; */
   width: 550px;
   padding: 0;
   line-height: 1.5;
}

.list_address>li {
   padding: 20px 0;
}

.list_address>li>a {
   text-decoration: none;
}

/* 両端のpaddingは入れないように */
.list_address li:first-child {
   padding-top: 0;
}

.list_address li:last-child {
   padding-bottom: 0;
}

/* 各項目の間に罫線を追加 */
.list_address li:not(:first-child) {
   border-top: 1px solid #ccc;
}

.list_address_name {
   color: #333;
   font-size: 1.8rem;
   font-weight: bold;
   line-height: 2;
}

/* 受賞一覧 */
.list_box.award.first {
   border-top: none;
}

.list_head.award {
   flex-shrink: 0;
   /* width: 300px; */
   width: 200px;
   align-items: start;
   color: #254CA4;
}

.list_head.award::before {
   flex-shrink: 0;
   margin-top: 5px;
   background-color: #254CA4;
}

div.award ul li {
   line-height: 1.4;
}

div.award li.iframe {
   margin-left: auto;
}

div.award li iframe {
   /* width: 280px; */
   width: 240px;
   height: 157px;
}

div.award li.image_award {
   margin-left: auto;
}

div.award li img {
   /* width: 280px; */
   width: 240px;
}

li.list_awards {
   margin-bottom: 20px;
}

p.list_award_name {
   margin: -2px 0 10px 0;
   line-height: 1.4;
   font-size: 1.8rem;
   font-weight: bold;
}

/***** 0902Tori *****/
.about_single_main.eng {
   width: calc(100% - 160px);
}

.list_box-s.eng {
   width: 60%;
}

.list_box_pic.eng {
   width: 260px;
   margin-left: 444px;
}

.list_const.eng {
   width: 100%;
}

/* 0902Tori END */

/* ----------------- 販売代理店 ----------------- */
.Japan .nav-open {
   height: 40px;
   margin-left: 40px;
   padding-top: 12px;
   cursor: pointer;
}

.Japan .nav-open::before {
   /* 閉じている時 */
   position: absolute;
   right: 20px;
   bottom: 7px;
}

.Japan .accordion-menu li a::before {
   position: absolute;
   top: 0;
   bottom: 0;
   right: 0px;
   margin: auto;
   content: "";
   vertical-align: middle;
   width: 0.4em;
   height: 0.4em;
   border-top: 1px solid #808080;
   border-right: 1px solid #808080;
   transform: rotate(45deg);
}

.Japan .accordion-menu li a.btn_anime::after {
   position: absolute;
   left: 0;
   content: '';
   width: 100%;
   height: 2px;
   background: #254CA4;
   bottom: -2px;
   transform: scale(0, 1);
   transform-origin: center top;
   /*変形（アンダーラインの伸長）の原点がaタグ（各メニュー）の右端*/
   transition: transform 0.3s;
   /*変形の時間*/
}

.Japan .accordion-menu li a.btn_anime:hover {
   opacity: 1;
   color: #254CA4;
   transition: all 0.3s;
}

.Japan .accordion-menu li a:hover:before {
   border-top: 1px solid #254CA4;
   border-right: 1px solid #254CA4;
}

.Japan .accordion-menu li a.btn_anime:hover::after {
   transform: scale(1, 1);
   /*ホバー後、x軸方向に1（相対値）伸長*/
}

/* 日本 */
.flex {
   display: flex;
}

.wrap {
   flex-wrap: wrap;
}

section.area {
   justify-content: space-between;
   margin-top: 50px;
   margin-bottom: 50px;
}

.mrl_20 {
   margin-left: 20px;
}

div.name_area {
   width: 500px;
   border-left: 7px solid #808080;
   padding-left: 15px;
}

.name_area h4 {
   font-size: 2.5rem;
   margin: 0;
}

.name_area p {
   margin: 0;
   height: 28px;
}

.ltsp p {
   letter-spacing: 1em;
   padding-left: 0.5em;
}

div.hammer img {
   width: 350px;
   margin: 10px 30px;
}

.link_arrow_b.sp-ver {
   display: none;
}

/* 海外 */
div.map {
   margin: 30px 28px;
   position: relative;
}

.map img {
   width: 100%;
   height: 100%;
   object-fit: contain;
   border: 2px solid #444;
}

p.country {
   text-align: center;
   margin: 0;
   position: absolute;
   border: 2px solid #444;
   border-radius: 50px;
   background-color: #FFF;
}

p.country a {
   color: #444;
   text-decoration: none;
}

/* リンクアピール用の仮置きホバーアニメーション */
p.country:hover {
   background-color: #444;
   color: #FFF;
   transition: all 0.5s ease 0s;
}

.US {
   bottom: 58%;
   left: 73%;
   width: 110px;
}

.KR {
   bottom: 56.2%;
   left: 36%;
   width: 100px;
}

.TW {
   bottom: 40%;
   left: 44.5%;
   width: 100px;
}

.TW_eng {
   bottom: 40%;
   left: 44.5%;
   width: 170px;
}

.NG {
   bottom: 31%;
   left: 7%;
   width: 120px;
}

.SG {
   bottom: 39%;
   left: 28%;
   width: 120px;
}

.ID {
   bottom: 24.7%;
   left: 34.2%;
   width: 120px;
}

.ID_eng {
   bottom: 24.7%;
   left: 34.2%;
   width: 260px;
}

.JP {
   position: absolute;
   bottom: 50%;
   left: 49.5%;
   color: #254CA4;
   margin: 0;
}


/* 販売代理店一覧 */
.list_box.place {
   width: 100%;
   border-top: 1px solid #254CA4;
}

.list_box.place.underline {
   border-bottom: 1px solid #254CA4;
}

h4.list_head {
   font-size: 2.5rem;
   align-items: start;
   margin-bottom: 25px;
   width: 100%;
   height: auto;
   padding-top: 170px;
   margin-top: -135px;

}

h4.list_head::before {
   margin-top: 9px;
}

h4#hokkaido,
#USA {
   margin-top: -170px;
}

.place ul.list_row {
   margin: 0 auto;
}

li.place {
   width: 400px;
   height: 46px;
   padding: 20px 0 20px 0;
   text-align: center;
   background-color: #EAEAEA;
}

li.place.Indonesia {
   height: 68px;
   padding: 20px 0 20px 0;
}

li.place p {
   margin: 0;
   line-height: 46px;
}

li.place.Indonesia p {
   line-height: 68px;
}

.address_place p {
   margin: 20px 0 20px 0;
   line-height: 1.4;
}

/* ----------------- お問い合わせ ----------------- */
/* お問い合わせフォーム */

div.contact {
   justify-content: space-between;
}

/* 0804大内:フォーム修正 ここから */
.contact section {
   width: 800px;
}

.Form {
   margin-top: 20px;
}

.Form .list_head::before {
   margin-top: 1px;
}

.Form-Item {
   border-top: 1px solid #808080;
   padding: 24px 0;
   width: 100%;
   display: flex;
   align-items: center;
}

/* CF7でPタグにされる部分のマージンを削除 */
.Form-Item>p {
   margin: 0;
   width: 100%;
}

.wpcf7-form-control-wrap {
   width: 100%;
}

.Form-Item:nth-of-type(9) {
   border-bottom: 1px solid #808080;
}

.Form-Item-Label {
   width: 100%;
   max-width: 248px;
   letter-spacing: 0.05em;
   font-weight: bold;
   font-size: 18px;
   flex-wrap: wrap;
   gap: 0 8px;
}

.Form-Item-Label.isMsg {
   /* display: inline-block; */
   margin: 0 0 auto;
}

.Form-Item-Label-Required {
   border-radius: 20px;
   margin-left: 6px;
   padding-top: 1px;
   padding-bottom: 0px;
   width: 40px;
   display: inline-block;
   text-align: center;
   background: #c00;
   color: #fff;
   font-size: 14px;
   line-height: 1.6em;
}

.Form-Item-Label-Required.Form-eng {
   width: 90px;
   margin-left: 23px;
}

.Form-Item-Input {
   border: 1px solid #ddd;
   border-radius: 30px;
   margin-left: 40px;
   padding-left: 1em;
   padding-right: 1em;
   height: 48px;
   flex: 1;
   width: calc(100% - 2em - 42px);
   background: #f2f1f0;
   font-size: 18px;
}

select.Form-Item-Input {
   position: relative;
   width: calc(100% - 2em - 4px);
   height: 52px;
   background: none;
   border: 1px solid #444;
}

.Form-Item.select>p:last-child {
   position: relative;
}

.Form-Item.select>p:last-child:after {
   position: absolute;
   content: '';
   width: 8px;
   height: 8px;
   right: 20px;
   top: 23px;
   transform: translateY(-50%) rotate(45deg);
   border-bottom: 2px solid #444;
   border-right: 2px solid #444;
}

select {
   /* 初期化 */
   appearance: none;
   -moz-appearance: none;
   -webkit-appearance: none;
   border: none;
   background: none;
   color: #444;
   width: 100%;
   height: 100%;
   padding: 1px 1em;
   border-radius: 30px;
}

.Form-Item-Textarea {
   border: 1px solid #ddd;
   border-radius: 30px;
   margin-left: 40px;
   padding: 1em;
   height: 216px;
   flex: 1;
   width: calc(100% - 2em - 42px);
   background: #f2f1f0;
   font-size: 18px;
   resize: vertical;
}

.Form-Btn {
   border-radius: 30px;
   margin-top: 32px;
   margin-left: auto;
   margin-right: auto;
   padding-top: 10px;
   padding-bottom: 10px;
   width: 250px;
   display: block;
   letter-spacing: 0.05em;
   background: #254CA4;
   color: #fff;
   font-weight: bold;
   font-size: 20px;
   border: none;
}

.box-link {
   margin-top: 40px;
}

.box-link p {
   height: 100%;
}

.box-link a {
   text-decoration: none;
}

.box-link a img {
   position: sticky;
   top: 190px;
   z-index: 2;
}

/* お問い合わせ:エラーメッセージ */
.wpcf7-not-valid-tip {
   width: calc(100% - 40px);
   margin-left: 40px;
}

/* 0804大内:フォーム修正 ここまで */

/* よくある質問 */
div.Q_A {
   width: 96%;
   margin-left: 2%;
}

.Q_A h4 {
   font-size: 2.5rem;
   /* 1003 */
   /* margin: 30px 0 10px; */
   margin-bottom: 10px;
   /* 1003 END */
   padding-bottom: 10px;
   border-bottom: 1px solid #808080;
}

.Q_A nav.accordion-menu {
   margin-left: 0px;
   padding: 0 19px;
}

.Q_A .nav-open.flex {
   min-height: 45px;
   margin-left: 0px;
   padding: 12px 0 0;
   font-size: 1em;
   border-bottom: 1px solid #808080;
   position: relative;
   justify-content: space-between;
   cursor: pointer;
}

.Q_A .nav-open p {
   margin: 0 0 0 18px;
   width: 100%;
   text-align: left;
   color: #254CA4;
}

p.title_Q,
p.answer {
   font-size: 1.2em;
}

div.answer p.answer {
   display: inline;
   margin-top: 13px;
   letter-spacing: 0.04em;
}

div.nav-open p.title_Q {
   width: 28px;
}

div.answer div {
   display: inline;
   margin-left: 15px;
   width: 95%;
}

.Q_A .nav-open::before {
   position: absolute;
   color: #254CA4;
   right: 20px;
   bottom: 15px;
}

div.nav-open div {
   display: inline;
   width: 96%;
}

div.nav-open div p {
   padding-top: 3px;
}


.Q_A div.center {
   text-align: center;
}

.Q_A img {
   width: 100%;
}

/* ----------------- 土木工事 ----------------- */
/* 建設ICT事業 */
.ict_text {
   /* 0827Tori */
   margin: 0;
   /* 0827Tori END */
   text-align: left;
   font-size: 2rem;
   font-weight: bold;
   line-height: 2;
}

.ict_top_container {
   margin-top: 30px;
   display: flex;
}

.ict_logo {
   max-width: 300px;
   /* 0827Tori */
   width: 100%;
   height: 100%;
   /* 0827Tori END */
}

/* 工事実績一覧 */
.results_flex {
   display: flex;
   flex-flow: column nowrap;
   gap: 20px;
}

.results_li {
   list-style: none;
   margin: 0 auto;
}

.results_midashi {
   font-weight: bold;
   font-size: 3rem;
   color: #254CA4;
   text-decoration: none;
}

section.flex.u-mt50 {
   position: relative;
}

.results_year {
   width: 130px;
   height: 150px;
   border: 2px solid #254CA4;
   font-weight: bold;
   font-size: 1.5em;
   padding: 0 15px;
   position: sticky;
   top: 180px;
}

.results_year p {
   margin: 15px 0;
   color: #254CA4;
   text-align-last: justify;
   line-height: 1.7;
}

.results_year p span {
   letter-spacing: 0.12em;
}

div.results {
   width: 810px;
   margin: 0 0 50px 30px;
}

li.results {
   width: 65%;
   height: 46px;
   padding: 20px 0 20px 0;
}

li.results.title {
   width: 35%;
   text-align: center;
   align-items: center;
   background-color: #EAEAEA;
}

li.results p {
   margin: 0;
   line-height: 46px;
}

.results .ltsp p {
   letter-spacing: 1em;
   padding-left: 1em;
}

li.results p.bold {
   font-weight: bold;
}

.results_list_title {
   font-size: 2rem;
   text-align: center;
}

/* 0828Tori */
.about_single_main.const {
   width: calc(100% - 170px);
}

/* 1008大内追加 ここから */
.about_single_main.const.con_eng {
   width: 100%;
}

/* 1008大内追加 ここまで */

.const_container {
   position: relative;
   display: flex;
   flex-direction: row;
   justify-content: space-between;
   align-items: center;
}

.const_container_txt {
   width: calc(100% - 280px);
   padding: 10px 0;
   margin-right: 10px;
}

.about_single_main.const p.midashi {
   display: flex;
}

.about_single_main.const .shikaku-kakomi {
   display: block;
   width: 10px;
   height: 22px;
   margin-top: 2px;
}

/* 0828Tori END */

/* ----------------- 調査/点検 ----------------- */
/* 0925 */

ul.list_inspe {
   list-style-type: disc;
   line-height: 2;
   padding-left: 1.5em;
   margin: 0;
}

.image-container_inspe img {
   width: 300px;
}

.image-container_inspe.flex {
   justify-content: space-between;
}

.image-container_inspe.flex img {
   width: 350px;
}

.inspe_container {
   display: flex;
   justify-content: space-between;
   margin-top: 30px;
}

.inspe_container_txt {
   width: 390px;
}

.inspe p:not(.midashi) {
   margin: 0;
}

/* 0925 END */

/* ----------------- 調査/点検  ----------------- */
/* 1008 */
.outline_about.inspe {
   width: 160px;
}

.about_single_main.inspe.eng {
   width: calc(100% - 150px);
}

/* 1008 END */


/* ----------------- 技術/製品 ----------------- */
/* 製品一覧 */
.product_container {
   margin-top: 40px;
   display: flex;
   justify-content: space-between;
}

.product_main {
   display: flex;
   flex-flow: column nowrap;
   width: 100%;
   order: 1;
}

.kubo_logo {
   max-width: 400px;
}

.product_text {
   margin-top: 0px;
   font-size: 2em;
   font-weight: bold;
}

.product_sidebar {
   width: 150px;
   order: 2;
}

.sidebar-item {
   display: flex;
   flex-flow: column nowrap;
   gap: 20px 0;
   position: sticky;
   position: -webkit-sticky;
   top: 180px;
   z-index: 10;
}

.product_title {
   background: #254CA4;
   padding: 0 1em;
   margin-bottom: 30px;
}

.white_moji {
   color: #fff;
   font-size: 1.4em;
   margin: 0 0;
}

.product_single {
   display: flex;
   flex-flow: row nowrap;
}

.product_single_text {
   display: flex;
   flex-flow: column wrap;
}

.product_single_text p:first-child {
   margin-top: 0;
}

.product_ph_container img {
   max-width: 400px;
   margin-left: 20px;
   border: 1px solid #444;
}

.product_single_md {
   margin-right: 0;
   margin-left: auto;
   text-decoration: none;
   color: #444;
   margin-bottom: 20px;
}

.product_single_md::after {
   margin-left: 5px;
   content: url('images/linkicon.png');
}

.product_single_end {
   margin-top: auto;
   margin-bottom: 0;
   align-self: flex-end;
}

.kakomimoji {
   border: solid 1px #444;
   padding: 3px 8px;
   margin-right: 8px;
}

.kakomisuuji {
   color: #254CA4;
   font-size: 0.9em;
   border: solid 1px #254CA4;
   padding: 2px 4px;
   margin-right: 8px;
   vertical-align: 1px;
}

.cts03text p {
   margin: 5px 0;
   margin-left: 20px;
}

.cts03text p:first-child {
   margin-top: 20px;
}

/* 1006 */
p.u-mt0.CTS-indent {
   text-indent: -6.3em;
   padding-left: 6.3em;
}

p.u-mt0.BT-indent {
   text-indent: -5.7em;
   padding-left: 5.7em;
}


/* 1006 END */

/* 資料・ダウンロード */
.data_container {
   margin-top: 30px;
   margin-left: 20px;
}

.data_container a {
   color: #444;
   text-decoration: none;
   font-size: 1.4em;
   font-weight: bold;
}

.data_container p {
   color: #444;
   font-size: 1.4em;
   font-weight: bold;
}

.shikaku {
   color: #254CA4;
   font-size: 0.8em;
   vertical-align: 2px;
}

/* 0806大内 ここから */
/* マージンでセンターを取る形に変える */
.shikaku-li {
   color: #254CA4;
   height: 13px;
   font-size: 0.8em;
   margin: 3px 0 auto;

}

/* 0806大内 ここまで */

.hr-margin {
   margin-top: 30px;
   margin-bottom: 30px;
}

.pamf-container {
   display: flex;
   flex-flow: row wrap;
   justify-content: center;
   gap: 40px 30px;
}

.pamf-container img {
   max-width: 170px;
   border: 1px solid #444;
}

.pamf-container p {
   position: absolute;
}

.pamf-single {
   margin-top: -10px;
}

.pamf-single figcaption {
   font-size: 2rem;
   text-align: center;
   font-weight: normal;
}

.instruction-main-container {
   margin-top: -20px;
   margin-left: 80px;
   display: flex;
   flex-flow: column nowrap;
}

.instruction-sub-container {
   height: 80px;
   display: flex;
   flex-flow: row nowrap;
   justify-content: flex-start;
   align-items: center;
}

.instruction-mn {
   flex-basis: 180px;
}

.instruction-sub-container a {
   font-size: 2rem;
}

.instruction-sub-sub {
   display: flex;
   flex-flow: row wrap;
   gap: 10px 30px;
}

.manual_tb {
   width: 100%;
   border-spacing: 0 0;
   border-bottom: 2px solid #ccc;
}

.manual_tb th,
.manual_tb td {
   display: table-cell;
   /* デフォルト値に指定 */
   border-top: 2px solid #ccc;
   color: #444;
   background: #fff;
   font-weight: normal;
   line-height: 1.5em;
   padding: 20px 20px;
}

.manual_tb td {
   padding-left: 30px;
}

.manual_tb th {
   text-align: center;
   vertical-align: middle;
   color: #444;
   background: #EFEFEF;
   /* thの背景色 */
}

.manual_tb tr th:first-child {
   width: 40%;
   /* thの固定幅 */
}

.manual_tb a {
   font-size: 1.6rem;
   font-weight: normal;
   color: #337ab7;
}

/* 製品 個別ページ */
.product_single_main {
   width: calc(100% - 200px);
   margin-right: 0;
   margin-left: auto;
   padding-left: 30px;
   border-left: 2px solid #ccc;
}

.midashi-small {
   font-size: 0.75em;
   vertical-align: 3px;
}

.product_single_midashi {
   color: #444;
   font-size: 1.4em;
   font-weight: bold;
}

.shironuki_shikaku {
   color: #254CA4;
}

.product_single_flex {
   display: flex;
   flex-flow: row nowrap;
   align-items: flex-start;
   justify-content: space-between;
}

.product_single_ph {
   max-width: 50%;
   margin-left: 20px;
}

.product_single_tb {
   width: 100%;
   border-spacing: 0 0;
   border-bottom: 2px solid #ccc;
}

.product_single_tb th,
.product_single_tb td {
   display: table-cell;
   /* デフォルト値に指定 */
   border-top: 2px solid #ccc;
   color: #444;
   background: #fff;
   font-weight: normal;
   line-height: 1.5em;
   padding: 10px 10px;
}

.product_single_tb th {
   width: 20%;
}

.product_single_tb th {
   text-align: center;
   vertical-align: middle;
   color: #444;
   background: #fff;
   /* thの背景色 */
}

.product_single_tb a {
   font-size: 1.6rem;
   font-weight: normal;
   color: #337ab7;
}

.product_single_container {
   display: flex;
   flex-flow: row nowrap;
   align-items: flex-start;
}

.outline {
   position: sticky;
   top: 180px;
}

.outline__list {
   list-style: none;
   margin-top: 0;
   padding-bottom: 15px;
   padding-left: 0;
   width: 200px;
   height: auto;
   overflow-y: auto;
}

.outline__list li {
   margin-top: 15px;
}

.outline__list li:first-child {
   margin-top: 0;
}

.outline__list a {
   text-decoration: none;
   font-weight: normal;
   color: #444;
}

.active>a {
   text-decoration: none;
   font-weight: bold;
   color: #254CA4;
   padding-left: 8px;
   margin-left: -8px;
}

.outline__list a::before {
   content: "・";
   color: #333;
   transition: content 0.2s ease;
}

.outline__list li.active a::before {
   content: "■";
   margin-left: 3px;
   margin-right: 2px;
   font-size: 0.7em;
   vertical-align: 2px;
   color: #254CA4;
}

.product_single_midashi_s {
   color: #444;
   font-size: 1.2em;
   font-weight: bold;
   margin-bottom: 10px;
}

.product_top_container {
   margin-left: 100px;
   margin-right: 100px;
}

.product_top_ph {
   width: 100%;
   margin-bottom: 20px;
}

.product_top_midashi {
   color: #444;
   font-size: 1.2em;
   font-weight: bold;
   margin-bottom: 10px;
}

.product_top_p {
   margin-top: 0;
}

.mlit_link {
   text-align: right;
   background-color: #f0f0f0;
   padding: 10px 20px;
}

.mlit_link a {
   line-height: 1.6em;
}

.link_icon {
   margin-left: 5px;
   content: url('images/linkicon.png');
}

.product_single_tb_s {
   width: 100%;
   border-spacing: 0 0;
   border-bottom: 2px solid #ccc;
}

.product_single_tb_s th,
.product_single_tb_s td {
   display: table-cell;
   /* デフォルト値に指定 */
   border-top: 2px solid #ccc;
   color: #444;
   background: #fff;
   font-weight: normal;
   line-height: 1.5em;
   padding: 10px 10px;
}

.product_single_tb_s th {
   text-align: center;
   vertical-align: middle;
   color: #444;
   background: #fff;
   /* thの背景色 */
}

.product_single_flex h5 {
   margin-bottom: 0;
}

.product_single_ph_s {
   max-width: 40%;
}

.product_single_p {
   line-height: 1.6em;
}

.product_video {
   display: block;
   width: 80%;
   margin: 0 auto;
}

.product_underline {
   border-bottom: solid 2px #ccc;
   padding-bottom: 20px;
}

.product_overline {
   border-top: solid 2px #ccc;
   padding-top: 20px;
}

.product_single_tb_cts {
   width: 100%;
   border-spacing: 0 0;
   border-spacing: 20px 0;
}

.product_single_tb_cts th,
.product_single_tb_cts td {
   display: table-cell;
   /* デフォルト値に指定 */
   border-bottom: 2px solid #ccc;
   color: #444;
   background: #fff;
   font-weight: normal;
   line-height: 1.2em;
   padding: 15px 15px;
   text-align: center;
}

.product_single_tb_cts th {
   text-align: center;
   vertical-align: middle;
   color: #444;
   background: #f0f0f0;
   /* thの背景色 */
}

.product_single_ph_l {
   max-width: 80%;
   display: block;
   margin-left: auto;
   margin-right: auto;
}

.product_single_flex_sc {
   display: flex;
   flex-flow: column nowrap;
   align-items: flex-start;
   justify-content: space-between;
}

.table_width_l {
   width: 270px;
}

.table_width_s {
   width: 170px;
}

.product_ml {
   margin-left: 40px;
}

/* 0926追加*/
.product_caseimg {
   width: 100%;
}

.sp_mt20 {
   margin-bottom: 0px;
}

.product_casetext {
   max-width: 50%;
   margin-left: 20px;
}

.product_casetext p {
   margin-top: 0px;
}

.img_align-center {
   align-items: center;
}


/* ----------------- 採用情報 ----------------- */
/* 採用情報ページ */
.recruit_tb {
   width: 100%;
   border-spacing: 0 0;
}

.recruit_tb th,
.recruit_tb td {
   display: table-cell;
   /* デフォルト値に指定 */
   border-top: 2px solid #ccc;
   color: #444;
   background: #fff;
   font-weight: normal;
   line-height: 1.5em;
   padding: 30px 20px;
   vertical-align: middle;
}

.recruit_tb:last-child {
   border-bottom: 2px solid #ccc;
}

.recruit_tb th {
   text-align: center;
   color: #444;
   background: #f0f0f0;
   min-width: 260px;
}

.recruit_tb td {
   text-align: left;
}

.recruit_tb a {
   text-decoration: none;
   color: #337ab7;
}

.recruit_img_container {
   width: 100%;
   height: 260px;
   margin: 20px 0;
   display: flex;
   justify-content: center;
   gap: 20px;
}

/* ----------------- 新着情報一覧 ----------------- */
/* 新着情報一覧ページ */
.pagination-wrapper {
   text-align: right;
   margin-top: 40px;
}

.page-numbers {
   display: inline-flex;
   gap: 8px;
   list-style: none;
   padding: 0;
   margin: 0;
}

.page-numbers li a,
.page-numbers li span {
   display: block;
   padding: 6px 12px;
   background: #eee;
   color: #254CA4;
   text-decoration: none;
   border-radius: 4px;
   font-size: 14px;
}

.page-numbers li .current {
   background: #254CA4;
   color: #fff;
   font-weight: bold;
}

.category-post-list {
   list-style: none;
}

.category-post-list a {
   text-decoration: none;
}

.category-post-list h3 {
   margin: 20px auto;
   color: #254CA4;
}

/* スマホ用表示 */
@media screen and (max-width: 1024px) {

   /* PC版のときに表示させるクラス(スマホ版では非表示) */
   .pc-ver {
      display: none;
   }

   .sp-ver {
      display: block;
   }

   /* スマホ版で幅を90%にするクラス */
   .sp-width {
      width: 90vw;
      margin: 0;
      padding: 0 5vw;
   }

   /*  PC版で改行、SP版では改行しない  */
   .pc_linebreak {
      display: inline;
   }

   /*  SP版では改行、PC版で改行しない  */
   .sp_linebreak {
      display: block;
   }

   /* ----------------- ヘッダー ----------------- */
   header {
      width: 100vw;
   }

   .menu-container.sp-ver {
      max-width: none;
      height: 60px;
      margin: 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      align-items: center;
   }

   .header-logo {
      position: relative;
      width: 40vw;
      max-width: 240px;
      margin: 0 0 0 10px;
   }

   .header-logo,
   .header-img {
      vertical-align: middle;
   }

   .menu-container_hmb {
      display: flex;
      flex-wrap: nowrap;
      align-items: flex-start;
      gap: 15px;
   }

   .menu-container.sp-ver .menu-container_hmb .nav-open {
      border: none;
      margin: 8px 10px 8px 0;
   }

   .menu-container.sp-ver .menu-container_hmb .nav-open::before {
      content: "";
   }

   /* ハンバーガー3本線 ここから */
   #btn01 {
      position: relative;
      width: 40px;
      height: 34px;
      cursor: pointer;
      z-index: 1;
   }

   #btn01 span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 3px;
      background-color: #254CA4;
      border-radius: 3px;
   }

   #btn01,
   #btn01 span {
      display: inline-block;
      transition: all .5s;
      box-sizing: border-box;
   }

   #btn01 span:nth-of-type(1) {
      top: 0;
   }

   #btn01 span:nth-of-type(2) {
      top: 15px;
   }

   #btn01 span:nth-of-type(3) {
      bottom: 0;
   }

   #btn01.active span:nth-of-type(1) {
      -webkit-transform: translateY(15px) rotate(-45deg);
      transform: translateY(15px) rotate(-45deg);
   }

   #btn01.active span:nth-of-type(2) {
      opacity: 0;
   }

   #btn01.active span:nth-of-type(3) {
      -webkit-transform: translateY(-15px) rotate(45deg);
      transform: translateY(-15px) rotate(45deg);
   }

   /* ハンバーガー3本線 ここまで */

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu {
      width: calc(100% - 10px);
      /* 1017 */
      padding: 6px 0 16px 10px;
      /* 1017 */
      position: absolute;
      top: 60px;
      right: 0;
      background: #EAEAEA;
      z-index: 2;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu ul {
      padding: 0;
      margin: 0;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu ul>li {
      width: calc(100vw - 20px);
      padding: 5px 0 5px;
      margin: 0;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.nav-open {
      margin: 0;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.nav-open::before {
      height: 40px;
      content: "＋";
      position: absolute;
      right: 0;
      top: 0;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.nav-open.active::before {
      content: "－";
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul {
      padding: 5px 0 5px;
      background-color: #FFF;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul>li {
      padding: 0;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul>li>a {
      padding: 7px 10px 7px 30px;
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul>li>a::before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 10px;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 0.4em;
      height: 0.4em;
      border-top: 1px solid #808080;
      border-right: 1px solid #808080;
      transform: rotate(45deg);
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul>li>a.parent {
      padding: 7px 10px;
      font-weight: 900
   }

   .menu-container.sp-ver>.menu-container_hmb>.accordion-menu>ul>li>.accordion-menu>ul>li>a.parent::before {
      position: inherit;
      content: '\f105';
      font-family: 'Font Awesome 5 Free';
      font-weight: 900;
      margin: 0 10px 0 2px;
      vertical-align: baseline;
      border: none;
      transform: none;
   }

   #frontpage-main {
      margin-top: 60px;
   }

   #subpage-main {
      margin-top: 130px;
   }

   /* Tori SPnav */

   div.accordion-menu {
      display: none;
      margin-left: 40px;
   }

   div.accordion-menu.accordion-inner.open {
      display: block;
   }

   /* ----------------- フッター ----------------- */
   /* 0929 */
   footer.topborder {
      padding-top: 50px;
   }

   /* 0929 END */

   .footer-container {
      width: 90%;
      margin: 0 5vw;
   }

   .md-flex {
      display: block;
      margin-bottom: 25px;
      width: 100%;
   }

   .footer-logospace {
      max-width: 100%;
   }

   .footer-logo {
      width: 100%;
      margin-bottom: 5px;
   }

   .footer-logo>img {
      width: 100%;
      max-width: 360px;
   }

   .footer-logospace p {
      font-size: 14px;
   }

   .footer-navi {
      max-width: 100%;
      /* 0925 */
      height: 135px;
      /* 0925 END */
      flex-flow: column wrap;
      margin: 20px 0;
      padding-left: 0;
   }

   .footer-navi li {
      max-width: 40%;
   }

   .footer-navi li:not(:last-child) {
      min-width: 45%;
   }

   /* --------------- トップページ --------------- */
   .front-section {
      width: 90vw;
      padding: 30px 5vw;
   }

   .news_cont {
      width: 100%;
      margin-top: 0;
      margin-bottom: 10px;
   }

   /* 0922 */
   .MV {
      height: 400px;
   }

   div.MV {
      overflow: hidden;
   }

   div.MV img {
      left: 10%;
      bottom: 0;

   }

   /* 0929 */
   .slider_blue.sp-ver {
      display: none;
   }

   .slider_blue.pc-ver {
      display: block;
      left: -200px;
   }

   /* 0929 END */

   /* 1010 */
   .slider_text2.sp-ver.eng {
      width: 70vw;
      max-width: 361px;
      height: 23px;
      background-image: url(images/slider_front_sp02_eng.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left bottom;
      position: absolute;
      left: 10px;
      bottom: 225px;
   }

   .slider_text4.sp-ver.eng {
      width: 70vw;
      max-width: 318px;
      height: 63px;
      background-image: url(images/slider_front_sp04_eng.png);
      background-size: contain;
      background-repeat: no-repeat;
      background-position: left bottom;
      position: absolute;
      left: 10px;
      bottom: 62px;
   }

   /* 1010 END */

   /* 0922 END */

   .splide__slide img {
      height: 400px;
   }

   .splide__pagination {
      /* justify-content: center !important; */
      left: 0 !important;
   }

   .splide__toggle {
      left: 185px;
   }

   /* 下記2セクション共通 */
   .kubo_const_text {
      width: 90vw;
   }

   .kubo_const_text>p {
      font-size: 1.6rem;
   }

   .kubo_const_box_container {
      width: 90vw;
   }

   /* 0924 */
   div.const_img {
      margin-top: 20px;
   }

   /* 0924 END */

   .kubo_const_box {
      width: 44vw;
      height: calc(49vw / 7 * 6);
      margin-top: 20px;
   }

   #distributor {
      width: 100%;
      max-width: 400px;
   }

   /* ----------------- 会社情報 ----------------- */
   .single_about h2 {
      font-size: 3rem;
   }

   .single_about h2::before {
      font-size: 2.5rem;
   }

   .about-spacer {
      background-color: #FFF;
      height: 5vw;
   }

   .product_single_container {
      margin-top: 0;
      flex-flow: row wrap;
      justify-content: flex-start;
      width: 100%;
   }

   .about_single_sub {
      margin: 20px 20px;
      padding: 20px 20px;
   }

   .about_single_main {
      width: 100%;
      padding-left: 0;
      border-left: none;
   }

   .outline_about__list {
      display: flex;
      flex-flow: row wrap;
      align-items: center;
      align-content: center;
      gap: 10px 20px;
      margin-top: 10px;
      margin-bottom: 10px;
      padding-bottom: 0;
   }

   .outline_about__list li {
      font-size: 2rem;
      margin-top: 0;
   }

   .outline_about__list li:first-child {
      margin-top: auto;
   }

   /* 1008 inspe追加 */
   .outline_about,
   .outline_about.inspe {
      width: 100%;
      top: 100px;
      border-bottom: #ccc 1px;
      border-bottom-style: solid;
      background-color: #FFF;
      z-index: 98;
      margin-right: 0;
   }

   .list_box-s {
      width: 100%;
   }

   .list_box_phbox {
      position: relative;
      margin-bottom: 20px;
   }

   .list_box_pic {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
   }

   .category_base {
      gap: 10px;
   }

   .category_page {
      width: calc((90vw - 10px) / 2);
   }

   .category_page p {
      margin-top: 0;
      font-size: 1.6rem;
   }

   .cp {
      margin: 20px auto;
   }

   #CTS,
   #BT {
      width: 90vw;
      height: calc(90vw / 7 * 6);
   }

   /* 0929 */
   #CTS img,
   #BT img {
      top: 30%;
      width: 100%;
   }

   /* 0929 END */

   /* 1002 */
   #CTS.kubo_const_box h3,
   #BT.kubo_const_box h3 {
      position: absolute;
      top: auto;
      left: 0%;
      width: calc(90vw - 20px);
   }

   #kubo .kubo_const_box_container a.U-td-none {
      margin-top: 20px;
   }

   #CTS.kubo_const_box,
   #BT.kubo_const_box {
      margin-top: 0px;
   }

   /* 1002 END */

   #distributor>img {
      width: 90vw;
      max-width: 400px;
   }

   /* 代表あいさつ */
   .gre_container {
      /* width: 100vw; */
      width: 100%;
      margin-bottom: 20px;
      padding-bottom: 20px;
      position: relative;
      /* left: -5vw; */
      flex-direction: column;
      align-items: center;
   }

   .gre_container_txt {
      /* width: 90vw; */
      width: 100%;
      margin: 15px 5vw;
      padding: 0;
   }

   .gre_copy {
      margin-bottom: 10px;
      /* font-size: 2.3rem; */
      font-size: 2rem;
   }

   .gre_name {
      margin-bottom: 10px;
      font-size: 1.8rem;
   }

   .gre_txt {
      width: 100%;
      letter-spacing: 0;
      font-size: 1.6rem;
      line-height: 2em;
   }

   .container {
      padding: 0;
   }

   #logo {
      padding: 0 20px;
   }

   /* 幅600px、キャプション付き画像flexbox */
   .U-Flex-w600-base {
      width: 100%;
   }

   .U-Dummy_w300h210_gray {
      width: 90vw;
      height: calc(90vw * 0.7);
   }

   .U-Dummy_w310h170_gray {
      width: calc((90vw - 10px) / 2);
      height: calc(((90vw - 10px) / 2) * 0.55);
   }

   /* 日東建設の特色 */
   /* 
   .feature_container {
      width: 100%;
      margin-bottom: 20px;
      padding-bottom: 20px;
      position: relative;
      flex-direction: column;
      align-items: center;
   }

   .feature_container_txt {
      width: 100%;
      margin: 15px 5vw;
      padding: 0;
   }

   .feature_copy {
      margin-bottom: 10px;
      font-size: 2rem;
   }

   .feature_name {
      margin-bottom: 10px;
      font-size: 1.8rem;
   }
*/

   .feature_txt {
      width: 100%;
      letter-spacing: 0;
      font-size: 1.6rem;
      line-height: 2em;
   }

   .feature_img_container {
      height: auto;
      margin: 20px 0 40px;
      flex-flow: column;
      gap: 10px;
   }


   /* 1017 */
   .feature_img_sky {
      width: 100%;
      height: auto;
   }

   /* 1017 END */

   /* 概要 */
   .list_row {
      flex-direction: column;
   }

   .list_address {
      width: 100%;
   }

   .sp-const {
      gap: 0 10px;
      margin-bottom: 20px;
   }

   /* 受賞一覧 */

   .list_head.award {
      width: 100%;
      height: auto;
   }

   .br-sp {
      display: none;
   }

   div.award li.iframe,
   div.award li.image_award {
      margin: auto;
      position: relative;
      width: 100%;
      padding-bottom: 56.25%;
      overflow: hidden;
   }

   div.award li iframe,
   div.award li img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
   }

   /***** 0902Tori *****/
   .about_single_main.eng {
      width: 100%;
   }

   .list_box-s.eng {
      width: 100%;
   }

   .list_box_pic.eng {
      width: 100%;
      margin-left: 0px;
   }

   /* 0902Tori END */

   /* ----------------- 調査/点検 ----------------- */
   /* 0925 */

   ul.list_inspe {
      list-style-type: disc;
      line-height: 2;
      padding-left: 1.5em;
      margin: 0;
   }

   .image-container_inspe img {
      width: 100%;
      margin-top: 20px;
   }

   .image-container_inspe.flex {
      display: block;
   }

   .image-container_inspe.flex img {
      width: 100%;
      margin-top: 10px;
   }

   .inspe_container {
      display: block;
   }

   .inspe_container_txt {
      width: 100%;

   }

   /* 1008 */
   .about_single_main.inspe.eng,
   .eng .inspe_container_txt {
      width: 100%;
   }

   /* 1008 END */


   /* 0925 END */

   /* ----------------- 販売代理店 ----------------- */
   /* 日本 */
   section.flex {
      display: block;
   }

   .mrl_20 {
      margin-left: 0;
   }

   section.area {
      margin-top: 50px;
      margin-bottom: 50px;
   }

   div.name_area {
      margin-bottom: 20px;
      width: auto;
   }


   nav.accordion-menu {
      margin-left: 0px;
   }

   section.area nav.accordion-menu {
      margin-left: 40px;
   }


   .accordion-menu ul.flex {
      margin-left: 0px;
   }

   .accordion-menu li {
      position: relative;
      text-align: left;
      width: 35%;
      /* 1001 */
      /*margin: 5px 5% 5px 10%;*/
      margin: 5px 6% 5px 8%;
      /* 1001 END */
   }

   .accordion-menu li a {
      text-decoration: none;
      color: #444;
      padding: 2px;
      display: block;
   }

   .ltsp p {
      letter-spacing: normal;
      padding-left: 0;
   }

   .nav-open {
      height: 40px;
      margin-left: 0px;
   }

   .nav-open p {
      padding-left: 20px;
      text-align: left;
   }

   div.hammer img {
      width: 100%;
      margin: 40px 0;
   }

   .link_arrow_b.sp-ver {
      display: block;
      margin-top: 20px;
   }

   /* 海外 */
   section.world img {
      margin: 30px 0 30px -5vw;
      width: 100vw;
      border-top: 2px solid #444;
      border-bottom: 2px solid #444;
   }

   /* 販売代理店一覧 */
   /* 1001 */
   h4.list_head {
      margin-bottom: 16px;
      padding-top: 120px;
      margin-top: -70px;
   }

   h4#hokkaido,
   #USA {
      margin-top: -120px;
   }

   /* 1001 END */

   .place ul.list_row {
      gap: 0px;
   }

   li.place,
   li.place.Indonesia {
      width: 100%;
      height: 36px;
      padding: 15px 0 15px 0;
   }

   li.place p,
   li.place.Indonesia p {
      line-height: 36px;
   }

   .address_place p {
      margin: 18px 0 18px 20px;
   }


   /* ----------------- お問い合わせ ----------------- */
   /* お問い合わせフォーム */

   div.contact {
      display: block;
   }

   .contact section {
      width: 100%;
   }

   .message p.sp-ver {
      margin: 10px auto;
      color: #254CA4;
      width: 90%;
      border: 2px solid #254CA4;

   }

   .message a {
      display: block;
      text-decoration: none;
      color: #254CA4;
      padding: 5px 10px;
      position: relative;
   }

   .message a::after {
      position: absolute;
      content: "＞";
      right: 8px;
   }

   .Form {
      margin-top: 40px;
   }

   .Form-Item {
      padding: 5px 0 20px 0;
      flex-wrap: wrap;
   }

   /* 0804大内：修正 ここから */
   .Form-Item>p {
      width: 100%;
   }

   .Form .list_head::before {
      margin-top: 0px;
      margin-bottom: 2px;
   }

   .Form-Item-Label {
      max-width: inherit;
      display: flex;
      align-items: center;
      font-size: 15px;
      padding: 15px 0 8px;
   }

   .Form-Item-Label.isMsg {
      display: flex;
      margin: 0;
   }

   .Form-Item-Label-Required {
      padding-top: 1px;
      padding-bottom: 1px;
      width: 32px;
      font-size: 10px;
      margin-bottom: 1px;
   }

   .Form-Item-Label-Required.Form-eng {
      width: 70px;
      margin-left: 0;
   }

   .Form-Item-Input {
      margin-left: 0;
      margin-top: 0px;
      height: 40px;
      width: calc(90vw - 2em - 2px);
      flex: inherit;
      font-size: 15px;
   }

   select.Form-Item-Input {
      width: 100%;
      height: 44px;
   }

   .Form-Item.select>p:last-child:after {
      top: 20px;
   }

   select {
      /* 初期化 */
      appearance: none;
      -moz-appearance: none;
      -webkit-appearance: none;
      border: none;
      background: none;
      color: #444;
      width: 100%;
      height: 100%;
      padding: 1px 1em;
      border-radius: 30px;
   }

   .Form-Item-Textarea {
      margin-left: 0;
      width: calc(90vw - 2em - 2px);
      height: 200px;
      flex: inherit;
      font-size: 15px;
   }

   .Form-Btn {
      margin-top: 24px;
      padding-top: 8px;
      padding-bottom: 8px;
      width: 160px;
      font-size: 16px;
   }

   .wpcf7-not-valid-tip {
      margin-left: 0;
   }

   /* 0804大内：修正 ここまで */

   /* よくある質問 */

   div.Q_A {
      width: 100%;
      margin-left: 0;
   }

   .Q_A nav.accordion-menu {
      padding: 0 6px;
   }

   .Q_A .nav-open {
      min-height: 45px;
      height: auto;
      margin-left: 0px;
      padding: 12px 0 0;
   }

   .Q_A .nav-open p {
      margin: 0px;
      padding-left: 5px;
      width: 90%;
   }

   .nav-open::before {
      bottom: 17px;
   }

   div.answer.flex.wrap {
      flex-wrap: nowrap;
   }

   div.answer div {
      width: auto;
      margin-left: 16px;
   }

   div.nav-open div {
      margin-left: 14px;
   }

   .Q_A img.sp-ver {
      display: inline;
   }

   .Q_A img.sp-ver.w_90 {
      width: 90%;
   }

   .Q_A img.sp-ver.w_70 {
      width: 70%;
      margin: 20px 0;
   }

   /* ----------------- 土木工事 ----------------- */
   /* 建設ICT事業 */
   .ict_text {
      margin-right: 0;
   }

   .ict_top_container {
      display: flex;
      flex-flow: column nowrap;
      align-items: flex-start;
   }

   .ict_top_container span {
      display: inline-block;
   }

   .ict_logo {
      margin: auto auto;
   }

   .text-margin {
      margin-left: 0;
      margin-right: 0;
   }

   .ict_table {
      margin-left: 5%;
      margin-right: 5%;
   }

   /* 工事実績一覧 */

   section.flex.u-mt50 {
      margin-top: 30px;
   }

   .results_year {
      width: 80%;
      max-width: 500px;
      height: auto;
      margin: 0 auto;
      border-radius: 30px;
      position: relative;
      top: 0;
   }

   .results_year p {
      margin: 3px 0;
      color: #254CA4;
      text-align-last: center;
   }

   .results_year p span {
      letter-spacing: normal;
      display: inline-block;
   }

   .results_year p span.sp-ver {
      margin-left: 5px;
   }


   div.results {
      width: 100%;
      margin: 20px 0 30px;
   }



   li.results,
   li.results.title {
      width: 100%;
      height: auto;
      padding: 15px 0 15px 0;
   }

   li.results.title p {
      margin: 0px;
   }

   li.results p {
      line-height: 1.5;
   }

   li.results p.bold {
      text-align: center;
   }

   .link_arrow_re {
      margin-left: 0;
   }


   /* 0827Tori */
   .about_single_main.const {
      width: 100%;
   }

   .const_container {
      /* width: 100vw; */
      width: 100%;
      margin-bottom: 20px;
      padding-bottom: 20px;
      position: relative;
      /* left: -5vw; */
      flex-direction: column;
      align-items: center;
   }

   .const_container_txt {
      /* width: 90vw; */
      width: 100%;
      margin: 15px 5vw;
      padding: 0;
   }

   /* 0827Tori END */


   /* ----------------- 技術/製品 ----------------- */
   /* 製品一覧 */

   .product_container {
      margin-top: 40px;
      display: flex;
      flex-flow: column nowrap;
   }

   .product_spmenu {
      display: flex;
      flex-flow: row nowrap;
      position: sticky;
      top: 100px;
      margin-bottom: 30px;
      z-index: 10;
   }

   .product_sidemenu_sp {
      width: 50vw;
   }

   /*0926追加*/
   .product_faqmenu_sp {
      width: 100vw;
   }

   .product_spmenu_margin {
      margin-left: -5vw;
      display: flex;
      flex-flow: row nowrap;
   }

   .product_single {
      flex-flow: column nowrap;
   }

   .product_ph_container {
      margin-top: 30px;
      text-align: center;
   }

   .product_ph_container img {
      max-width: 100%;
      margin: auto auto;
      text-align: center;
   }

   .product_single_md {
      margin-bottom: 30px;
   }

   .product_single_end {
      margin-top: 30px;
   }

   /* 資料・ダウンロード */
   .data_container {
      margin-left: 0;
   }

   .data_container a {
      font-size: 1.2em;
   }

   .data_container p {
      font-size: 1.2em;
   }

   .instruction-main-container {
      margin-left: 25px;
   }

   .pamf-container img {
      max-width: 140px;
   }

   .pamf-container:after {
      content: "";
      display: block;
      width: 140px;
      height: 0;
   }

   .instruction-sub-sub {
      display: flex;
      flex-flow: column wrap;
      gap: 4px;
   }

   .instruction-sub-container {
      height: auto;
      margin-top: 10px;
      margin-bottom: 10px;
   }

   .instruction-sub-container a {
      font-size: 1em;
   }

   .instruction-sub-container p {
      font-size: 1em;
   }

   .instruction-mn {
      margin-top: 0;
      margin-bottom: auto;
      flex-basis: 110px;
   }

   .hr-margin {
      margin-top: 20px;
      margin-bottom: 20px;
   }

   .manual_tb tr th:first-child {
      width: 100%;
   }

   .manual_tb {
      border-collapse: collapse;
      table-layout: fixed;
      width: 100%;
      /* table幅を100%に指定 */
      background: #fff;
      border: none;
   }

   .manual_tb th,
   .manual_tb td {
      display: block;
      width: 100%;
      border-top: 2px solid #ccc;
      font-size: 14px;
      padding: 10px;
      text-align: left;
      box-sizing: border-box;
   }

   .manual_tb td {
      padding-left: 20px;
      margin-bottom: 20px;
   }

   .manual_tb th {
      text-align: center;
      background: #EFEFEF;
      /* thの背景色 */
   }

   .manual_tb:last-child {
      border-bottom: none;
   }

   /* 製品 個別ページ */
   .product_single_main {
      width: 100%;
      padding-left: 0;
      border-left: none;
   }

   .product_single_flex {
      flex-flow: column wrap;
   }

   .product_single_ph {
      max-width: 80%;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 20px;
   }

   .product_single_ph_s {
      max-width: 80%;
      margin-left: auto;
      margin-right: auto;
      margin-top: 30px;
   }

   .outline {
      display: none;
   }

   .product_single_midashi {
      margin-bottom: 0;
   }

   .product_single_midashi_s {
      margin-bottom: 30px;
   }

   .product_single_tb {
      margin-top: 16px;
   }

   .product_underline {
      margin-bottom: 20px;
   }

   .product_top_container {
      margin-left: 0;
      margin-right: 0;
   }

   .scroll_tb {
      width: 100%;
      overflow-x: scroll;
   }

   .product_single_tb_cts {
      width: 100%;
      min-width: 530px;
      border-collapse: collapse;
   }

   .table_width_l {
      width: 120px;
   }

   .table_width_s {
      width: 120px;
   }

   .product_video {
      width: 100%;
      margin-top: 20px;
   }

   .product_ml {
      margin-left: 20px;
   }

   .product_single_ph_l {
      max-width: 100%;
   }

   .product_single_tb_s {
      margin-bottom: 30px;
   }

   .mlit_link {
      text-align: left;
   }

   /* 0926追加 */
   .sp_mt20 {
      margin-top: 20px;
   }

   .product_casetext {
      max-width: 100%;
      margin-left: 0px;
   }

   .product_casetext p {
      margin-top: 16px;
   }

   /* 1002追加 */
   .product_single_main .product_single_flex div div.u-mt10 {
      margin-bottom: 40px;
   }

   /* 0718 追記 */
   /* 採用情報 */
   .recruit_tb,
   .recruit_tb tbody,
   .recruit_tb tr,
   .recruit_tb th,
   .recruit_tb td {
      display: block;
      width: 100%;
      box-sizing: border-box;
   }

   .recruit_tb tr {
      margin-bottom: 20px;
      border-bottom: 1px solid #ccc;
   }

   .recruit_tb th {
      background-color: #f0f0f0;
      font-weight: bold;
      padding: 10px;
      text-align: left;
   }

   .recruit_tb td {
      padding: 10px;
      text-align: left;
   }

   /* 0729追記 */
   .recruit_tb:last-child {
      border-bottom: none;
   }

   /* ここまで */

   .recruit_img_container {
      height: auto;
      margin: 20px 0 40px;
      flex-flow: column;
      gap: 10px;
   }

   /* 検索フォーム */
   #search-box-sp {
      position: absolute;
      top: 61px;
      left: 0;
      width: 100vw;
      background: #f0f0f0;
      padding-top: 30px;
      padding-bottom: 30px;
      padding-left: 5vw;
      z-index: 99;
      box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
   }

   #searchform-sp {
      display: flex;
      align-items: center;
      width: 100%;
   }

   #searchform-sp input[type="text"] {
      flex: 1;
      padding: 12px;
      font-size: 1.6rem;
      border: 1px solid #ccc;
      border-radius: 4px 0 0 4px;
      width: 100%;
      box-sizing: border-box;
   }

   #searchform-sp button {
      padding: 12px 16px;
      font-size: 1.6rem;
      background-color: #333;
      color: #fff;
      border: none;
      border-radius: 0 4px 4px 0;
      cursor: pointer;
      white-space: nowrap;
      margin-right: 10vw;
   }

   /* ここまで */
}

@media screen and (max-width: 480px) {

   /* スマホ版のスライダーだけトリミング済み画像に差し替え */
   .slider_sp-ver {
      display: block;
   }

   .slider_pc-ver {
      display: none;
   }

   /* 0929 */
   .slider_blue.sp-ver {
      display: block;
   }

   .slider_blue.pc-ver {
      display: none;
   }

   div.MV img {
      left: -10%;
   }

   .slider_blue.sp-ver {
      background-size: auto;
      background-position: left top;
      left: -40px;
      height: 400px;
   }

   .slider_text1.sp-ver {
      display: none;
   }

   .slider_text2.sp-ver {
      left: 10px;
      bottom: 262px;
   }

   .slider_text3.sp-ver {
      left: 13px;
      bottom: 195px;
   }

   .slider_text4.sp-ver {
      left: 10px;
      bottom: 102px;
   }

   /* 1010 英語版テキスト */
   .slider_text2.sp-ver.eng {
      width: 70vw;
      max-width: 190px;
      height: 41px;
      background-image: url(images/slider_front_sp02_eng2.png);
      left: 10px;
      bottom: 255px;
   }

   .slider_text3.sp-ver.eng {
      bottom: 185px;
   }

   .slider_text4.sp-ver.eng {
      width: 70vw;
      max-width: 282px;
      height: 56px;
      background-image: url(images/slider_front_sp04_eng2.png);
      left: 10px;
      bottom: 102px;
   }

   /* 1010 END */

}

/* 0929 END */