@charset "UTF-8";
/*
Theme Name: tani
*/

/* ======================
Reset CSS
=========================*/
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
figure,
fieldset,
input,
textarea,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0;
}
html {
  overflow-y: scroll;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: normal;
  font-size: 100%;
}
ol,
ul {
  /* list-style:none; */
}
small {
  font-size: 1em;
}
fieldset,
img {
  border: 0;
}
img {
  width: 100%;
  display: block;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
caption,
th {
  text-align: left;
}
a:focus {
  outline: none;
}
address,
caption,
cite,
code,
dfn,
em,
th,
var {
  font-weight: normal;
  font-style: normal;
}
li {
  list-style: none;
}
button {
  -webkit-appearance: none;
  border: none;
  background: none;
  padding: 0;
}

/*-------------------------
 * youtube用
 *  -----------------------*/
.youtube {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* ======================
Base
=========================*/
body {
  /* font-family: noto-sans-cjk-jp, sans-serif; */
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: normal;
  font-style: normal;
  letter-spacing: normal;
  font-stretch: normal;
  color: #3e3a39;
  overflow: hidden;
  /* height: 100vh; */
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}

.maru-r {
  font-family: noto-sans-cjk-jp, sans-serif;
}
.mincho-m {
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
.mincho-r {
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
}

@supports (-webkit-touch-callout: none) {
  body {
    /* Safari用のハック */
    /* height: -webkit-fill-available; */
  }
}
.screen-reader-text {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  clip: rect(1px, 1px, 1px, 1px);
}
.highlighter {
  font-weight: bold;
  background: linear-gradient(transparent 50%, yellow 50%);
}
.anisette {
  font-family: anisette-std, sans-serif;
  font-weight: 600;
  font-style: normal;
}
.gothic {
  font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", Meiryo, メイリオ, Osaka, "MS PGothic",
    arial, helvetica, sans-serif;
}
.sp {
  display: none !important;
}
.sp-br {
  display: none;
}
.header-bg-sp {
  display: none;
}
@font-face {
  font-family: "avenir";
  src: url("./fonts/Avenir-Black.ttf") format("truetype");
}
.message-sp {
  display: none;
}
.color-red {
  color: #dd0044 !important;
}
/* ======================
プリローダー
=========================*/
#loading2 {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
}
#loading2 .loadingLogo {
  opacity: 0;
  transition: all 2.3s ease 0s;
  transition-delay: 3.5s;
}
#loading2.start .loadingLogo {
  opacity: 1;
}
#loading2 .loadingLogo img {
  width: 255px;
  opacity: 0;
  transition: all 2.3s ease 0s;
  transition-delay: 3.5s;
}
#loading2.start .loadingLogo img {
  opacity: 1;
}
#wrapper {
  width: 100%;
}
.unload {
  /* height: 100vh; */
  overflow: hidden;
}
.start {
  background: #fff;
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 9000;
}
.start p {
  position: fixed;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
  z-index: 9999;
  width: 260px;
}
.logo-scale {
  transform: translate(-50%, -50%) scale(6) !important;
  transition: all 1.5s ease-in 0s;
}
/* ======================
Footer
=========================*/
.footer-box2-img2 {
  max-width: 180px !important;
}
.footer-wrap {
  background-color: #fff;
  border-top: 5px solid #023f73;
  /* padding: 60px 60px 0px; */
  height: 100vh;
  position: relative;
}
.footer-wrap2 {
  background-color: #fff;
  border-top: 5px solid #023f73;
  padding: 60px 60px 0px;
  position: relative;
  margin-top: -30px;
}
.footer-logo {
  max-width: 1240px;
  margin: 0 auto 10px;
}
.footer-logo img {
  width: 100%;
  max-width: 175px;
}
.footer-copyright {
  font-size: 0.8125em;
  text-align: center;
  color: #fff;
  line-height: 2.62;
  padding-bottom: 10px;
}
.footer-ul li {
  margin-bottom: 30px;
  color: #023f73;
}
.footer-ul li a {
  text-decoration: none;
  position: relative;
  font-size: 0.8125em;
  text-align: center;
  line-height: 2;
  color: #000;
  text-decoration: none;
}
.footer-second {
  position: relative;
  padding: 0 0 0 22px;
  margin: 7px 0 0px 0px !important;
}
.footer-wrap .footer-second::before {
  background: #000;
}
.footer-wrap2 .footer-second::before {
  background: #000;
}
.footer-second::before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 2px;
  width: 15px;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
}
.footer-box-text {
  font-size: 1.125em;
  font-weight: 500;
  text-align: left;
  color: #023f73;
  padding-bottom: 15px;
  border-bottom: 2px solid #023f73;
  margin-bottom: 5px;
}
.footer-box {
  max-width: 220px;
  margin-bottom: 10px;
  width: 100%;
}
.footer-box4 {
  max-width: 220px;
  margin-bottom: 35px;
  width: 100%;
}
.footer-box li a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #023f73;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.footer-box li a:hover::after {
  transform: scale(1, 1);
}
.footer-box4 li a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #023f73;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.footer-box4 li a:hover::after {
  transform: scale(1, 1);
}
.footer-box-wrap-text a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.footer-box-wrap-text a:hover::after {
  transform: scale(1, 1);
}
.footer-box-wrap-text {
  font-size: 1.125em;
  font-weight: 500;
  text-align: left;
  color: #ffffff;
  margin-bottom: 55px;
  position: relative;
}
.footer-flex {
  display: flex;
  max-width: 960px;
  justify-content: space-between;
  width: 100%;
}
.footer-box-wrap {
  max-width: 220px;
  width: 100%;
}
.footer-box2-text {
  font-size: 0.9375em;
  font-weight: 500;
  text-align: justify;
  color: #000;
  margin-bottom: 15px;
}
.footer-box2-text span {
  font-weight: 400;
}
.footer-box2-img {
  max-width: 120px;
  margin-bottom: 70px;
}
.footer-box3-link img,
.footer-box3-link2 img {
  max-width: 30px;
}
.footer-box3-link3 img {
  max-width: 45px;
}
.footer-box3 a {
  display: block;
  max-width: 40px;
}
.footer-box3 {
  display: flex;
  max-width: 165px;
  justify-content: space-between;
}
.footer-flex3 {
  display: flex;
  max-width: 1240px;
  margin: 0 auto;
  justify-content: space-between;
}
/* ======================
Header
=========================*/
/*グローバルナビ*/
nav.globalMenuSp {
  position: fixed;
  z-index: 2;
  top: 0px;
  background-color: #003f73;
  transform: translateY(-150%);
  transition: all 0.6s;
  width: 100%;
  margin: 0;
  z-index: 998;
  max-width: unset;
  right: 0;
  box-sizing: border-box;
}

.globalMenuSp-ul {
  margin: 0 auto;
  width: 90%;
  padding: 45px 0;
}

.globalMenuSp-li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  margin-bottom: 25px;
  border-bottom: 2px solid #5f87a7;
  padding-bottom: 25px;
}
nav.globalMenuSp ul li:nth-last-child(2) {
  margin-bottom: 20px;
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:last-child {
  margin-bottom: 0;
}

/* 最後はラインを描かない */
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
.acd-check {
  display: none;
}
.globalMenuSp-link {
  text-decoration: none;
  display: flex;
  align-items: baseline;
  font-size: 1.75em;
  font-weight: 900;
  text-align: left;
  color: #ffffff;
  width: 100%;
}
.header-ul-sp a {
  font-size: 0.9375em;
  line-height: 2.47;
  text-align: left;
  color: #ffffff;
  text-decoration: none;
}
.globalMenuSp-li2 {
  list-style-type: none;
  padding: 0;
  width: 100%;
  margin-bottom: 25px;
}
nav.globalMenuSp ul li a span {
  font-size: 0.571em;
  font-weight: 500;
  display: block;
  margin-left: 15px;
}
.prive-menu {
  margin-left: 0 !important;
}
/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateY(0%);
  top: 80px;
  height: calc(100% - 80px);
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
/*ハンバーガーメニュー*/
.navToggle {
  display: none;
  position: absolute;
  right: 0;
  top: 0;
  width: 80px;
  height: 80px;
  cursor: pointer;
  z-index: 16;
  /* background: #fff; */
  text-align: center;
  position: fixed;
  z-index: 999;
}
.navToggle span {
  display: block;
  position: absolute;
  width: 40px;
  border-bottom: solid 3px #1bb2ce;
  transition: 0.35s ease-in-out;
  right: 0;
  left: 3px;
  margin: 0 auto;
}
.navToggle span:nth-child(1) {
  top: 28px;
}
.navToggle span:nth-child(2) {
  top: 40px;
}
.navToggle span:nth-child(3) {
  top: 52px;
}
.navToggle span:nth-child(4) {
  border: none;
  color: #fff;
  font-family: "Oswald", sans-serif;
  font-size: 1.34375em;
  font-weight: 300;
  top: 75px;
  letter-spacing: 1.08px;
}
/* 最初のspanをマイナス45度に */
.navToggle.active span:nth-child(1) {
  top: 35px;
  left: 3px;
  transform: rotate(-315deg);
}

/* 2番目と3番目のspanを45度に */
.navToggle.active span:nth-child(2),
.navToggle.active span:nth-child(3) {
  top: 35px;
  transform: rotate(315deg);
}
.header-wrap {
  position: relative;
  display: flex;
  color: #fff;
  z-index: 20;
  width: 100%;
  max-width: none;
  justify-content: flex-end;
  line-height: 80px;
  align-items: center;
}
.head-logo {
  max-width: 266px;
  width: 100%;
  position: absolute;
  top: 25px;
  left: 60px;
  z-index: 20;
}
.head-logo a {
  display: block;
}
.head-logo a img {
  display: block;
  width: 100%;
}
.menu-li-link {
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  color: #3e3a39;
  text-decoration: none;
  position: relative;
}
.menu-li-link::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #3e3a39;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.menu-li-link:hover::after {
  transform: scale(1, 1);
}
.arrow {
  position: relative;
  display: inline-block;
}
.arrow::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-top: -4px;
  transform: translateX(-50%) rotate(135deg);
  transition: all 0.3s ease 0s;
}
#mega-menu:hover .arrow::before {
  transform: translate(-50%, -50%) rotate(-45deg);
  bottom: -15px;
}
.head-menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  position: absolute;
  right: 320px;
  top: 50%;
  transform: translateY(-50%);
}
.head-menu li {
  margin-left: 50px;
  height: 80px;
}
.contact-box2 {
  display: flex;
  max-width: 140px;
  width: 100%;
  background-color: #0085ce;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 0;
  height: 80px;
  align-items: center;
  justify-content: center;
}
.contact-box2-text {
  font-size: 0.875em;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  display: flex;
  line-height: 1.6;
}
.contact-box3 {
  display: flex;
  max-width: 140px;
  width: 100%;
  background-color: #1bb2ce;
  text-decoration: none;
  position: absolute;
  top: 0;
  right: 140px;
  height: 80px;
  align-items: center;
  justify-content: center;
}
.contact-box3-text {
  font-size: 0.875em;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  line-height: 1.6;
}
.menu-label {
  font-size: 1em;
  font-weight: bold;
  text-align: center;
  color: #3e3a39;
  line-height: 16px;
  padding-bottom: 5px;
}
.head-nav {
  height: 80px;
}
.menu-content {
  display: block;
  height: 0;
  opacity: 0;
  /* padding: 0 75px; */
  transition: all 0.3s ease 0s;
  visibility: hidden;
  display: flex;
  position: absolute;
  left: 320px;
  top: 80px;
  width: 100%;
}
/* .mega-menu {
  width: 100%;
} */
#mega-menu:hover .menu-content {
  height: 390px;
  opacity: 1;
  visibility: visible;
  z-index: 10;
  max-width: unset;
  width: 100%;
  top: 80px;
  background-color: rgba(25, 82, 129, 0.9);
}
.menu-content-box-text {
  font-size: 2.375em;
  font-weight: 900;
  font-stretch: normal;
  font-style: normal;
  line-height: normal;
  letter-spacing: normal;
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  color: #fff;
}
.menu-content-box-text span {
  display: block;
  font-size: 0.421em;
  color: #fff;
}
.menu-content-box {
  width: 280px;
  height: 280px;
  border: 1px solid #fff;
  position: relative;
  box-sizing: border-box;
}
.mega-menu3-wrap {
  width: 100%;
  max-width: 640px;
}
.mega-menu3-wrap-img {
  margin-bottom: 20px;
}
.menu-link-circle-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  font-size: 0.9375em;
  font-weight: bold;
  text-align: center;
  z-index: 1;
  width: 100%;
  line-height: normal;
}
.menu-link-circle-flex a:hover {
  color: #3e3a39;
}

.menu-link-circle-flex a {
  display: block;
  max-width: 200px;
  position: relative;
  text-decoration: none;
  color: #fff;
  transition: all 0.3s ease 0s;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.menu-link-circle-flex a:first-child {
  margin-bottom: 20px;
}
.menu-link-circle-flex a::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  transition: all 0.3s ease 0s;
}
.menu-link-circle-flex a:hover:after {
  background: #fff;
  opacity: 0.5;
}
.menu-link-circle-flex {
  display: flex;
  max-width: 640px;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}
.menu-content-flex {
  display: flex;
  margin: 55px auto;
  max-width: 960px;
  justify-content: space-between;
  width: 100%;
  align-items: end;
  height: 280px;
  opacity: 0;
  transition: all 0.3s ease 0s;
}
.mega-menu:hover .menu-content .menu-content-flex {
  height: auto;
  opacity: 1;
  visibility: visible;
}
.top-bg2 {
  position: relative;
}
.header-box2-text {
  font-size: 1.5em;
  font-weight: 900;
  text-align: center;
  color: #ffffff;
  line-height: 24px;
  margin-bottom: 24px;
}
.header-box2-text2 {
  font-size: 2.75em;
  font-weight: bold;
  letter-spacing: 4.4px;
  text-align: center;
  color: #ffffff;
}
.header-box2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.header-main2 {
  position: relative;
}
.header-box3 {
  position: absolute;
  top: 45%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.header-box2-text3 {
  font-size: 3em;
  text-align: center;
  color: #fff;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP",
    メイリオ, Meiryo, serif;
  font-weight: bold;
  max-width: 715px;
  width: 90%;
  margin: 0 auto 80px;
}
/* ======================
採用テンプレート
=========================*/
.template-section-title {
  font-size: 2em;
  font-weight: bold;
  line-height: 1.14;
  text-align: left;
  color: #003f73;
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 20px;
  border-bottom: 1px solid;
  margin-bottom: 60px;
}
.template-section-title span {
  font-size: 0.5em;
  font-weight: 500;
  text-align: left;
  color: #3e3a39;
  display: block;
  margin-bottom: 10px;
  font-family: "avenir";
}
.template-section-title2 {
  font-size: 2em;
  font-weight: bold;
  line-height: 1.14;
  text-align: center;
  color: #003f73;
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 20px;
  border-bottom: 1px solid;
  margin-bottom: 60px;
}
.template-section-title2 span {
  font-size: 0.5em;
  font-weight: 500;
  text-align: center;
  color: #3e3a39;
  display: block;
  margin-bottom: 10px;
  font-family: "avenir";
}
.template-section-title3 {
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1.14;
  text-align: left;
  color: #003f73;
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 20px;
  border-bottom: 1px solid;
  margin-bottom: 60px;
}
.template-section-title4 {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 1.95;
  text-align: left;
  max-width: 1060px;
  margin: 0 auto;
  margin-bottom: 30px;
}
.recruit-item05 {
  width: 100%;
  display: block;
  max-width: 1060px;
  margin: 0 auto 50px;
}
.recruit-item05-link {
  width: 100%;
  display: block;
  max-width: 1060px;
  margin: 0 auto;
  transition: opacity 1s ease-out;
}
.recruit-item05-link:hover {
  opacity: 0.8;
  -webkit-opacity: 0.8;
  -moz-opacity: 0.8;
  filter: alpha(opacity=80); /* IE lt 8 */
  -ms-filter: "alpha(opacity=80)"; /* IE 8 */
}
.recruit-item06 {
  margin: 0 auto 50px;
  max-width: 1060px;
}
.recruit-item06 p {
  font-size: 1em;
  line-height: 2;
  margin-bottom: 30px;
}
.recruit-item06 p:last-child {
  margin-bottom: 0;
}
.recruit-item07-right p {
  font-size: 1em;
  line-height: 2;
  margin-bottom: 30px;
}
.recruit-item07-right p:last-child {
  margin-bottom: 0;
}
.recruit-item07-right {
  max-width: 650px;
  width: 61%;
}
.recruit-item07-right h3 {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: left;
  color: #003f73;
  margin-bottom: 40px;
}
.intern-experience .recruit-item07-right strong {
  color: #023f73;
}
.intern-experience .recruit-item07-right h3 {
  font-size: 1.24em;
  color: #023f73;
  padding-bottom: 8px;
  border-bottom: 1px solid #023f73;
}
.recruit-item07-left {
  max-width: 350px;
  width: 33%;
}
.recruit-item07 {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 90px;
  justify-content: space-between;
}
.recruit-item09-wrap {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 90px;
  flex-wrap: wrap;
}
.recruit-item09-box {
  font-size: 1.3125em;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
  background-color: #003f73;
  max-width: 320px;
  display: block;
  padding: 25px 0;
  text-decoration: none;
  /* width: 32%; */
  transition: all 0.3s ease 0s;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 30%;
  margin-right: 5%;
  height: 120px;
  box-sizing: border-box;
}
.recruit-item09-box:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.recruit-item09-box:nth-child(3n) {
  margin-right: 0%;
}
.recruit-item09-wrap3 {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 90px;
  justify-content: space-between;
}
.recruit-item09-box3 {
  font-size: 1.75em;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
  background-color: #003f73;
  max-width: 360px;
  display: block;
  padding: 25px 0;
  text-decoration: none;
  /* width: 32%; */
  transition: all 0.3s ease 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 500px;
  height: 140px;
  box-sizing: border-box;
}
.recruit-item09-box3::after {
  position: absolute;
  bottom: 20px;
  content: "";
  width: 80%;
  height: 2px;
  background: #fff;
  transform-origin: center top;
  transition: transform 0.3s;
  left: 11%;
  transform: scale(0, 1) translateX(-50%);
}
.recruit-item09-box3:hover::after {
  transform: scale(1, 1) translateX(0%);
}
.recruit-item09-wrap2 {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 90px;
  justify-content: center;
}
.recruit-item09-box2 {
  font-size: 1.75em;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
  background-color: #003f73;
  display: block;
  padding: 25px 0;
  text-decoration: none;
  /* width: 32%; */
  transition: all 0.3s ease 0s;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  max-width: 640px;
  height: 140px;
  box-sizing: border-box;
}
.recruit-item09-box2:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.recruit-item10-flex-left,
.recruit-item10-flex-right {
  width: 100%;
  max-width: 500px;
}
.recruit-item10-img {
  width: 100%;
  display: block;
  margin-bottom: 30px;
}
.recruit-item10-text p {
  font-size: 1em;
  line-height: 2;
}
.recruit-item10-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 90px;
  justify-content: space-between;
}
.recruit-item11-table {
  width: 100%;
  margin: 0 auto 90px;
  max-width: 940px;
}
.recruit-item11-table th {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  width: 25%;
  border: 2px #dddcd8 solid !important;
  padding: 25px 0;
  vertical-align: middle;
  background-color: #e6e6e6;
}
.recruit-item11-table td {
  font-size: 0.9375em;
  font-weight: 500;
  width: 50%;
  border: 2px #dddcd8 solid !important;
  padding: 15px 0;
  padding-left: 15px;
  vertical-align: middle;
}
.recruit-item11-color {
  background-color: #ade2f3 !important;
}
.recruit-item12-right {
  max-width: 240px;
  width: auto;
  margin-right: 40px;
}
.recruit-item12-right a {
  display: block;
}
.recruit-item12-left-text {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 15px;
  color: #000000;
  margin-bottom: 10px;
}
.recruit-item12-left-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.67;
  color: #000000;
  padding-left: 1em;
  text-indent: -1em;
}
.recruit-item12 {
  display: flex;
  max-width: 940px;
  margin: 0 auto 90px;
}
.recruit-item12-center {
  display: block;
  width: 220px;
  margin: 0 auto;
  padding-bottom: 40px;
}
.recruit-item13 {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 90px;
  color: #003f73;
}
.recruit-item13 #slanting01 {
  background: #003f73;
}
.recruit-item13 #slanting02 {
  background: #003f73;
}
.recruit-item14-right-text {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  margin-bottom: 35px;
}
.recruit-item14-right-text span {
  font-size: 0.923em;
  font-weight: 900;
  line-height: 1.71;
  color: #003f73;
  display: block;
  font-family: "avenir";
}
.recruit-item14-left {
  max-width: 350px;
  width: 100%;
}
.recruit-item14-right-text2 {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2.05;
  color: #003f73;
  display: flex;
  align-items: center;
  padding-bottom: 10px;
  border-bottom: 1px solid;
  margin-bottom: 15px;
}
.recruit-item14-img {
  max-width: 25px;
  margin-right: 15px;
}
.recruit-item14-right-text3 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 20px;
}
.recruit-item14 {
  display: flex;
  max-width: 960px;
  margin: 0 auto 90px;
  justify-content: space-between;
}
.recruit-item14-right {
  max-width: 555px;
  width: 100%;
}
.recruit-item15-box a {
  font-size: 0.875em;
  font-weight: 500;
  line-height: 2.29;
  text-align: center;
  color: #ffffff;
  display: flex;
  background-color: #003f73;
  text-decoration: none;
  max-width: 160px;
  padding: 8px 0;
  width: 100%;
  border-radius: 5px;
  justify-content: center;
  transition: all 0.3s ease 0s;
  height: auto;
  align-items: flex-start;
  position: relative;
}
.recruit-item15-box a::after {
  position: absolute;
  bottom: 7px;
  left: 15px;
  content: "";
  width: 80%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.recruit-item15-box a:hover::after {
  transform: scale(1, 1);
}
.recruit-item15-img {
  max-width: 35px;
  margin-right: 10px;
}
.recruit-item15-img2 {
  max-width: 15px;
  margin-right: 10px;
}
.recruit-item15-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  color: #003f73;
  margin-bottom: 10px;
}
.recruit-item15 {
  max-width: 960px;
  margin: 0 auto 90px;
}
.recruit-item15-box {
  display: flex;
  max-width: 555px;
  justify-content: space-between;
}
.recruit-item16-text {
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1.46;
  text-align: center;
  color: #003f73;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 45px;
}
.recruit-item16-img {
  max-width: 68px;
  margin-right: 30px;
}
.recruit-item16-text2 {
  font-family: "avenir";
  width: 90px;
  height: 90px;
  border-radius: 50%;
  display: inline-block;
  text-align: center;
  line-height: 90px;
  font-size: 1.5em;
  font-weight: 900;
  background-color: #003f73;
  color: #fff;
  margin-right: 20px;
}
.recruit-item16-box hr {
  margin: 0;
  height: 2px;
  border: none;
  width: 80px;
  background-color: #003f73;
}
.recruit-item16-text3 {
  max-width: 520px;
  width: 100%;
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.78;
  margin-left: 20px;
}
.recruit-item16-box {
  display: flex;
  align-items: center;
  position: relative;
  margin-bottom: 24px;
}
.recruit-item16-border {
  height: 25px;
  border-left: 4px dotted #003f73;
  position: absolute;
  bottom: -25px;
  left: 45px;
}
.recruit-item16-flex {
  display: flex;
  align-items: flex-end;
  max-width: 1060px;
  margin: 0 auto 90px;
}
.recruit-item16-right {
  max-width: 320px;
  width: 100%;
}
.intern-text {
  font-size: 1.9em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  margin-bottom: 50px;
  padding-top: 120px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.intern-text span {
  font-size: 1.4em;
  letter-spacing: 1.8px;
  color: #003f73;
}
.intern-text2 {
  font-size: 1.3em;
  font-weight: bold;
  line-height: 1.89;
  text-align: center;
  margin-bottom: 90px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.intern-section {
  max-width: 1060;
  margin: 0 auto;
}
.intern-section-wrap {
  max-width: 1060px;
  background-color: #fff;
  margin: 0 auto;
  /* padding: 40px; */
  box-sizing: border-box;
}
.intern-experience .template-section-title2 {
  border-bottom: 2px solid #023f73;
}
.intern-experience-title-wrap hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #023f73;
}
.intern-date {
  max-width: 1060px;
  width: 100%;
  box-sizing: border-box;
  background: #fff;
  margin: 0 auto;
}
.recruit-item07 ~ .intern-date {
  padding: 40px 40px 0;
}

.recruit-item07 ~ .intern-date .template-section-title3 {
  margin-bottom: 0;
}

@media (min-width: 1061px) {
  .intern-experience {
    margin-left: calc((1060px - 100vw) / 2);
    margin-right: calc((1060px - 100vw) / 2);
    background: #e6ecf1;
    padding: 40px 0;
  }
}
/* ======================
会社概要
=========================*/
.company-section {
  padding: 90px 0;
  max-width: 1060px;
  margin: 0 auto;
}
.company-section-title {
  display: flex;
  align-items: baseline;
  padding-bottom: 25px;
  border-bottom: solid 1px #51b6d3;
  margin-bottom: 30px;
}
.company-section-title img {
  max-width: 180px;
  margin-right: 20px;
}
.breadcrumbs {
  font-size: 0.875em;
  font-weight: 500;
  line-height: 14px;
  display: flex;
  top: 15px;
  left: 60px;
  position: relative;
  z-index: 99;
}
.breadcrumbs span {
  margin: 0 10px;
}
.breadcrumbs a {
  text-decoration: none;
  color: #212529;
}
.company-section-box {
  display: flex;
  align-items: center;
  padding: 30px 0;
  border-bottom: 2px solid #f6f6f6;
}
.company-section-box:last-child {
  border-bottom: none;
}
.company-section-box dt {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  max-width: 210px;
  width: 100%;
}
.company-section-box dd {
  font-size: 1em;
  font-weight: 300;
  text-align: justify;
}
.company-section2-title {
  display: flex;
  align-items: baseline;
  padding-bottom: 25px;
  margin-bottom: 30px;
}
.company-section2-title img {
  max-width: 188px;
  margin-right: 20px;
}
.company-section2-text {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  max-width: 240px;
  width: 100%;
}
.company-section2-text span {
  font-size: 2.25em;
  font-weight: 900;
  color: #e6e6e6;
  margin-right: 15px;
  font-family: "avenir";
}
.company-section2-text2 {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  width: 100%;
  margin-left: 110px;
}
.company-section2-flex3 {
  display: flex;
  justify-content: space-between;
}
.company-section2-flex3 img {
  width: 100%;
  height: auto;
  margin-bottom: 10px;
}
.company-section2-flex3 .text01 {
  font-size: 20px;
  color: #023f73;
  margin-bottom: 10px;
  font-weight: bold;
}
.company-section2-flex3 .text02 {
  margin-bottom: 40px;
  padding: 0 10px;
}
.company-section2-flex3 .text02 span {
  font-weight: bold;
}
.company-section2-flex3 div {
  width: 48%;
}
.company-section2-flex {
  display: flex;
  align-items: baseline;
  margin-bottom: 40px;
  position: relative;
}
.company-section2-img {
  width: 100%;
  max-width: 17px;
  position: absolute;
  top: 28px;
  left: 240px;
}
.company-section2-wrap {
  max-width: 1060px;
  margin: 0 auto;
  position: relative;
}
.company-section2-box {
  position: relative;
  z-index: 1;
}
.company-section2-img2 {
  height: 770px;
  position: absolute;
  left: 248px;
  top: 30px;
  width: 2px;
}
.company-section2 {
  background-color: #f8f8f8;
  padding-top: 95px;
  padding-bottom: 125px;
  position: relative;
}
.company-section2-wrap2 {
  max-width: 1060px;
  margin: 0 auto;
}
.history-head {
  display: flex;
  justify-content: space-between;
  color: #023f73;
  margin-bottom: 20px;
  font-size: 20px;
}
.history-head .left {
  width: 43%;
  text-align: right;
  border-bottom: 2px solid #023f73;
  padding-bottom: 5px;
}
.history-head .right {
  width: 43%;
  text-align: left;
  border-bottom: 2px solid #023f73;
  padding-bottom: 5px;
}
.history-row-wrap {
  position: relative;
}
.history-row-wrap::after {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: #023f73;
  position: absolute;
  top: 0;
    left: 55px;
  z-index: 0;
}
.history-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 30px;
}
.history-row .text01 ~ .text01 {
  margin-top: 10px;
}
.history-row .left {
  width: 43%;
  text-align: right;
}
.history-row .center {
  width: 110px;
  color: #fff;
  background: #023f73;
  font-size: 30px;
  align-self: flex-start;
  padding: 10px 0;
  text-align: center;
  position: relative;
  z-index: 1;
  line-height: 1;
}
.history-row .center.y2021 {
  background: #b11011;
}
.history-row .right {
    width: calc(100% - 140px);
    text-align: left;
}
.history-row .text01 {
  color: #023f73;
  font-size: 18px;
  margin-bottom: 5px;
}
.last {
  text-align: center;
}
.last .text01 {
  color: #023f73;
  font-size: 18px;
  margin-bottom: 5px;
}
.last .text02 {
    font-size: 22px;
    text-align: left;
}
.company-section2-img3 {
  max-width: 1366px;
  position: absolute;
  right: 0;
  bottom: 0;
}
.company-section2-img4 {
  max-width: 255px;
  position: absolute;
  right: 0;
  top: 20px;
}
.company-section3-box {
  max-width: 515px;
}
.company-section3-text {
  font-size: 1.3em;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  background-color: #003f73;
  padding: 20px 0;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.company-section3-box2 {
  padding: 25px 30px;
  border: 2px solid #f6f6f6;
  margin-bottom: 30px;
}
.company-section3-text2 {
  font-size: 1.125em;
  font-weight: 500;
  margin-right: 30px;
}
.company-section3-title {
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.company-section3-title a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #3e3a39;
  overflow: hidden;
}
.company-section3-text3 {
  font-size: 0.9375em;
}
.company-section3-title img {
  max-width: 20px;
}
.company-section2-text2 a {
  text-decoration: none;
  position: relative;
  color: #3e3a39;
}
.company-section2-text2 a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #3e3a39;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.company-section2-text2 a:hover::after {
  transform: scale(1, 1);
}
.company-section3-box3 {
  padding: 25px 30px;
  /* margin-bottom: 30px; */
}
.company-section3-box4 {
  padding: 0px 30px 30px;
  /* margin-bottom: 30px; */
}
.company-section3-box5 {
  padding: 0px 30px 20px;
  /* margin-bottom: 30px; */
}
.company-section3-content {
  border: 2px solid #f6f6f6;
  margin-bottom: 30px;
}
.company-section3 {
  max-width: 1060px;
  margin: 0 auto;
  padding: 95px 0;
}
.company-section3-flex {
  display: flex;
  justify-content: space-between;
}
.company-section3-flex-left {
  width: 48%;
  max-width: 515px;
}
.company-section3-flex-right {
  width: 48%;
  max-width: 515px;
}
.company-section4-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 35px;
  justify-content: space-between;
  align-items: center;
}
.company-section4-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.company-section4-left {
  max-width: 640px;
  width: 100%;
}
.company-section4-img {
  max-width: 640px;
}
.company-section4-right {
  max-width: 400px;
  width: 100%;
}
.company-section4-img2 {
  max-width: 400px;
  margin-bottom: 20px;
}
.company-section4-img3 {
  max-width: 400px;
}
.company-section4-box {
  margin-bottom: 44px;
}
.company-section4-box dl {
  display: flex;
  align-items: center;
}
.company-section4-box dt {
  font-size: 1em;
  font-weight: bold;
}
.company-section4-box dd {
  font-size: 1em;
}
.company-section4-box2-img {
  max-width: 33px;
  margin-right: 30px;
}
.company-section4-box2-img2 {
  max-width: 17px;
  margin-right: 30px;
}
.company-section4-text {
  font-size: 1.125em;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #003f73;
  padding: 20px 0;
  display: flex;
  justify-content: center;
  align-items: center;
}
.company-section4-text2 {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 25px;
}
.company-section4-text3 {
  font-size: 0.9375em;
}
.company-section4-text3 span {
  color: #ed0612;
}
.company-section4-box3 {
  padding: 25px 30px;
  border: 2px solid #f6f6f6;
}
.company-section4-box2 {
  max-width: 515px;
  width: 100%;
  height: 230px;
}
.company-section4-flex2 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 60px;
}
.company-section4 {
  padding: 95px 0;
  background-color: #f8f8f8;
}
.company-section5-title {
  display: flex;
  align-items: baseline;
  flex-shrink: 0;
}
.company-section5-title img {
  max-width: 210px;
  margin-right: 20px;
}
.company-section5-text {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  max-width: 600px;
}
.company-section5-box-link img {
  max-width: 22px;
  margin-right: 10px;
  margin-top: -2px;
}
.company-section5-box-link {
  font-family: "avenir";
  font-size: 2em;
  font-weight: 900;
  color: #1bb2ce;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.company-section5-box-link span {
  font-size: 14px;
  padding: 2px 8px;
  color: #fff;
  background: #0085ce;
  margin-right: 20px;
  width: 80px;
}
.company-section5-box-text {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 18px;
  color: #000000;
  margin-bottom: 20px;
}
.company-section5-box-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  padding-left: 230px;
  text-align: left;
}
.company-section5-flex hr {
  margin: 0 60px 0 40px;
  height: 65px;
  border: 1px solid #003894;
}
.company-section5-box {
  max-width: 515px;
  background-color: #fff;
  text-align: center;
  display: flex;
  justify-content: center;
  flex-direction: column;
  width: 100%;
  height: 220px;
  box-sizing: border-box;
}
.company-section5-box.blue {
  background: #e5f3fa !important;
}
.company-section5-box.skyblue {
  background: #e8f7fa !important;
}
.company-section5-box.skyblue span {
  background: #21b8ce !important;
}

.company-section5-box.skyblue .company-section5-box-link {
  color: #21b8ce !important;
}
.company-section5-box.skyblue .message-button {
  background: #21b8ce !important;
  border-color: #21b8ce !important;
}
.company-section5-box.skyblue .message-button:hover {
  background: #fff !important;
  border-color: #21b8ce !important;
  color: #21b8ce !important;
}
.company-section5-box.skyblue .message-button:hover::before {
  border-top-color: #21b8ce !important;
  border-right-color: #21b8ce !important;
}
.company-section5-box .message-button {
  margin-top: 15px;
}

.company-section5-box-text3 {
  font-size: 0.9375em;
  font-weight: 500;
  margin-top: 20px;
}
.company-section5 {
  margin: 0 auto;
  padding: 95px 0 145px;
  background: #ebf5fb;
  padding-left: calc((100vw - 1060px) / 2);
  padding-right: calc((100vw - 1060px) / 2);
}
.company-section5-flex2 {
  display: flex;
  max-width: 1060px;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 30px;
}
.company-section5-flex {
  display: flex;
  max-width: 1060px;
  align-items: center;
  margin: 0 auto 65px;
}
/* ======================
総合建設事業
=========================*/
.outline2-section {
}
.outline2-section-wrap {
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 115px;
}
.outline2-section-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #003f73;
}
.outline2-section-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  color: #003f73;
  padding-bottom: 28px;
  border-bottom: 2px solid #003f73;
}
.outline2-section-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.outline2-section-title {
  margin-bottom: 60px;
}
.outline2-section-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 50px;
}
.outline2-section-text3 {
  font-size: 1em;
  font-weight: bold;
  text-align: justify;
}
.outline2-article-flex {
  display: flex;
  max-width: 1060px;
  margin: 10px auto;
  justify-content: space-between;
  align-items: center;
}
.outline2-article-left {
  max-width: 640px;
  width: 100%;
}
.outline2-article-img {
  max-width: 640px;
}
.outline2-article-right {
  max-width: 400px;
  width: 100%;
}
.outline2-article-img2 {
  max-width: 400px;
  margin-bottom: 20px;
}
.outline2-article-img3 {
  max-width: 400px;
}
.outline2-section-text4 {
  font-size: 0.9375em;
  font-weight: 300;
  text-align: justify;
  margin-bottom: 40px;
}
.outline2-section-ul li {
  font-size: 1em;
  font-weight: 300;
  position: relative;
  padding-left: 15px;
}
.outline2-section-ul li:before {
  content: "";
  position: absolute;
  top: 0.47em;
  left: 0;
  width: 12px;
  height: 12px;
  background-color: #003f73;
  border-radius: 50%;
}
.outline2-section-ul {
  display: flex;
  max-width: 960px;
  padding: 40px 90px;
  justify-content: space-between;
  background-color: #e5ecf1;
  box-sizing: border-box;
  width: 100%;
}
.outline2-section-flex-text {
  font-size: 1.0625em;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  max-width: 100px;
  background-color: #003f73;
  padding: 45px 0;
  box-sizing: border-box;
  width: 100%;
}
.outline2-section-flex {
  display: flex;
}
.outline2-article2-title {
  font-size: 1.75em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  color: #ffffff;
  margin-bottom: 60px;
}
.outline2-article2-img {
  max-width: 110px;
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
}
.outline2-article2 {
  position: relative;
  background-color: #003f73;
  padding: 90px 0;
}
.outline2-article2-box {
  max-width: 320px;
  width: 100%;
}
.outline2-article2-box-img {
}
.outline2-article2-box-text {
  font-size: 0.9375em;
  font-weight: bold;
  line-height: 1.47;
  text-align: justify;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 38px;
  display: -webkit-box;
  padding-bottom: 15px;
  border-bottom: 2px solid #ededed;
  margin-bottom: 15px;
}
.outline2-article2-box2 {
  max-width: 320px;
  background-color: #fff;
  padding: 20px;
  min-height: 200px;
  box-sizing: border-box;
}
.outline2-article2-box2 dl {
  display: flex;
}
.outline2-article2-box2 dl dt {
  font-size: 0.9375em;
  line-height: 1.47;
  max-width: 54px;
  width: 100%;
}
.outline2-article2-box2 dl dd {
  font-size: 0.9375em;
  line-height: 1.47;
}
.outline2-article2-box-text2 {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  color: #ffffff;
  background-color: #21b8ce;
  padding: 10px 0;
}
.outline2-article2-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 60px;
  justify-content: space-between;
}
.outline2-article2-box a {
  text-decoration: none;
  color: #3e3a39;
  display: block;
}
.outline2-article2-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #003f73;
  text-decoration: none;
  background-color: #fff;
  max-width: 300px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 17px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #fff;
  margin: 0 auto;
}
.outline2-article2-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #003f73;
  border-right: solid 2px #003f73;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.outline2-article2-button:hover {
  background-color: #003f73;
  color: #fff;
}
.outline2-article2-button:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.outline2-article-flex2-left {
  max-width: 520px;
  width: 100%;
}
.outline2-article-flex2-right {
  max-width: 520px;
  width: 100%;
}
.outline2-article-flex2 {
  display: flex;
  justify-content: space-between;
}
.outline2-section2 {
  padding-top: 90px;
}
/* ======================
施工実績詳細
=========================*/
.single-section {
  padding-top: 90px;
}
.single-section-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #1bb2ce;
}
.single-section-text {
  font-size: 1.625em;
  font-weight: bold;
  letter-spacing: 1.3px;
  text-align: center;
  color: #1bb2ce;
  margin-bottom: 60px;
}
.single-section-box {
  display: flex;
  align-items: center;
  width: 100%;
  margin-bottom: 20px;
  max-width: 365px;
}
.single-section-box dt {
  font-size: 1.125em;
  font-weight: bold;
  letter-spacing: 0.9px;
  text-align: center;
  color: #ffffff;
  max-width: 160px;
  background-color: #1bb2ce;
  width: 100%;
  padding: 10px 0;
}
.single-section-box dd {
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: 0.9px;
  margin-left: 35px;
}
.single-section-flex {
  display: flex;
  max-width: 880px;
  margin: 0 auto;
  flex-wrap: wrap;
  border-bottom: 1px solid #1bb2ce;
  padding-bottom: 25px;
  margin-bottom: 45px;
  justify-content: space-between;
}
.single-section-wrap {
  max-width: 1060px;
  margin: 0 auto 90px;
  background-color: #e8f7fa;
  padding: 60px;
  box-sizing: border-box;
}
.single-section-content {
  max-width: 920px;
  margin: 0 auto;
  padding: 30px;
  box-sizing: border-box;
  background-color: #fff;
}
.single-section-content-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  color: #000000;
  margin-bottom: 20px;
}
.single-section-img {
  max-width: 940px;
  margin: 0 auto;
}
.single-section-wrap2-text {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 40px;
}
.single-section-wrap2 {
  padding: 50px 0;
  background-color: #f5f5f5;
  margin-bottom: 70px;
}
.page-box-left,
.page-box-left2 {
  max-width: 260px;
}
.page-box-left {
  margin-right: 25px;
}
.page-box-left2 {
  margin-left: 25px;
}
.page-box-left2-img {
  max-width: 260px;
  width: 100%;
  margin-bottom: 10px;
}
.page-box-text {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 1.57;
  text-align: center;
  color: #3e3a39;
}
.page-box {
  display: flex;
  align-items: center;
}
.page-box2 {
  display: flex;
  align-items: center;
}
.page-box2 a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #3e3a39;
}
.page-box a {
  display: flex;
  align-items: center;
  text-decoration: none;
  color: #3e3a39;
}
.page-wrap {
  max-width: 800px;
  margin: 0 auto 40px;
  display: flex;
  position: relative;
  justify-content: space-around;
  align-items: flex-start;
}
.page-wrap hr {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  height: 205px;
  border: 1px solid #cfcece;
  margin: 0;
}
.single-section-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #ffffff;
  text-decoration: none;
  background-color: #1bb2ce;
  max-width: 300px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 16px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #1bb2ce;
  box-sizing: border-box;
  margin: 0 auto 25px;
}
.single-section-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.single-section-button:hover {
  background-color: #fff;
  color: #1bb2ce;
}
.single-section-button:hover::before {
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
}
/* ======================
新卒
=========================*/
.new-section2-wrap {
  max-width: 1060px;
  background-color: #fff;
  margin: 0 auto;
  padding: 40px;
  box-sizing: border-box;
}
.new-section2-wrap-text {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.89;
  text-align: center;
  margin-bottom: 60px;
}
.new-section2-wrap-text span {
  color: #ed0612;
}
.new-section2 {
  background-color: #003f73;
  padding-top: 120px;
  padding-bottom: 60px;
}
.new-section2-img {
  max-width: 120px;
  margin: 0 auto 90px;
}
.new-section2-title {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 60px;
  color: #fff;
  flex-wrap: wrap;
}
.new-section2-title span {
  font-size: 0.8em;
  font-weight: 900;
  text-align: center;
  color: #b4a00d;
  display: block;
  width: 100%;
}
.new-section2-title #slanting01 {
  background: #fff;
}
.new-section2-title #slanting02 {
  background: #fff;
}
.new-text {
  font-size: 1.9em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  color: #003f73;
  margin-bottom: 55px;
  padding-top: 110px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.new-text2 {
  font-size: 1.4em;
  font-weight: bold;
  line-height: 1.89;
  text-align: center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.new-section {
  padding-top: 90px;
}
.new-section-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.new-section-title {
  display: flex;
  max-width: 1000px;
  margin: 0 auto;
}
.new-section-title img {
  max-width: 160px;
}
.new-section-title-text {
  font-size: 2em;
  font-weight: bold;
  line-height: 1.72;
  letter-spacing: 1.6px;
  margin-left: 100px;
  margin-top: 40px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.new-section-box-text {
  font-size: 1.675em;
  font-weight: bold;
  text-align: center;
  color: #003f73;
  margin-bottom: 55px;
}
.new-section-box-text span {
  font-size: 1.38em;
  display: block;
  margin-bottom: 15px;
  font-family: "avenir";
}
.new-section-img {
  max-width: 480px;
  overflow: hidden;
  border-radius: 16px;
}
.new-section-box {
  border: 3px solid #003f73;
  border-radius: 30px;
  max-width: 480px;
  padding: 30px;
  box-sizing: border-box;
  background-color: #fffff5;
}
.new-section-box-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 50px;
}
.new-section-flex {
  display: flex;
  align-items: center;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: space-between;
}
.new-section-flex2 {
  display: flex;
  align-items: center;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: space-between;
}
.new-section-img2 {
  max-width: 85px;
  margin: 0 auto;
}
.new-section-box2 {
  max-width: 480px;
  width: 100%;
  background-color: #003f73;
  border-radius: 50%;
  height: 480px;
  position: relative;
}
.new-section-wrap2 {
  position: absolute;
  top: 40%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.new-section-box2 img {
  max-width: 50px;
  margin: 0 auto 15px;
}
.new-section-box2-text {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  margin-bottom: 35px;
}
.new-section-box2-text span {
  font-weight: bold;
  color: #fff21a;
  font-size: 1.208em;
  display: block;
}
.new-section-box2-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  color: #ffffff;
  max-width: 350px;
  margin: 0 auto;
}
.new-section-article {
  padding-bottom: 90px;
}
.new-section-article2 {
  background-color: #f5f5f5;
  padding-top: 65px;
  padding-bottom: 90px;
}
/* ラジオボタンを隠す */
.contact-type input[type="radio"].radio-btns__item {
  display: none;
}

.contact-type label {
  display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.contact-type .radio-btns__item + span {
  padding-left: 2em;
  display: inline-block;
  position: relative;
}

/* 各パーツを作成 */
.contact-type .radio-btns__item + span::after,
.contact-type .radio-btns__item + span::before {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #aaaaaa;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  top: 0;
  left: 0;
}

/* after上書き */
.contact-type .radio-btns__item + span::after {
  opacity: 0;
  width: 14px;
  height: 14px;
  top: 4px;
  left: 4px;
  border: none;
  background: #1bb2ce;
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.contact-type .radio-btns__item:checked + span {
  color: #1bb2ce;
}

.contact-type .radio-btns__item:checked + span::after {
  opacity: 1;
}
.contact-form2 .mw_wp_form .horizontal-item + .horizontal-item {
  margin-left: 0px;
}
.recruit-text {
  font-size: 0.8125em;
  line-height: 1.62;
  text-align: left;
  padding-left: 1em;
  text-indent: -1em;
}
.contact-type3 {
  font-weight: bold;
  margin-bottom: 40px;
}
.career-section2-flex {
  font-size: 1.625em;
  font-weight: bold;
  text-align: left;
  color: #003f73;
  display: flex;
  align-items: center;
  line-height: 65px;
  margin-bottom: 35px;
}
.career-section2-flex span {
  font-size: 3.46em;
  font-weight: 900;
  font-family: "avenir";
  display: block;
  margin-right: 55px;
}
.career-section2-wrap {
  max-width: 1060px;
  margin: 0 auto 55px;
}
.career-section2-box {
  padding-left: 100px;
  border-left: 2px solid #7f9fb9;
  margin-left: 45px;
}
.career-section2-box2 {
  padding-left: 100px;
  margin-left: 45px;
}
.career-section2-text {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.78;
  text-align: justify;
  padding-bottom: 55px;
  border-bottom: 4px dotted #99b2c7;
}
.career-section2-text2 {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.78;
  text-align: justify;
  padding-bottom: 55px;
}
.career-section2 {
  padding-top: 90px;
}
#tablepress-1 .column-1 {
  font-size: 1em;
  font-weight: bold;
  line-height: 2.56;
  text-align: center;
  width: 240px;
  background-color: #e6e6e6;
  vertical-align: middle;
  border: 1px solid #c4c4c4;
}
#tablepress-1 .column-2 {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.73;
  padding: 30px;
  padding-left: 50px;
  background-color: #fff;
  border: 1px solid #c4c4c4;
}
.career-section2-table {
  padding-bottom: 50px;
  border-bottom: 4px dotted #99b2c7;
}
/* ======================
採用情報TOP
=========================*/
.recruit-section {
  padding-top: 120px;
}
.recruit-section-title {
  margin-bottom: 55px;
}
.recruit-section-title figure {
  max-width: 300px;
  margin: 0 auto 25px;
}
.recruit-section-text {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
}
.recruit-section-box {
  max-width: 900px;
  padding: 90px 45px;
  box-sizing: border-box;
  background-color: rgba(255, 255, 255, 0.7);
  position: relative;
  margin: 0 auto;
}
.recruit-section-box-text {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2.06;
  text-align: center;
  max-width: 820px;
  margin: 0 auto 35px;
}
.recruit-section-img {
  background-image: url(../tani/images/recruit-bg2.jpg);
  background-size: cover;
  padding-bottom: 100px;
}
.recruit-section-box-text2 {
  font-size: 1.125em;
  text-align: right;
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.recruit-section-box-text2 img {
  max-width: 180px;
}
.recruit-section-box-text2 span {
  font-size: 1.333em;
  margin-left: 25px;
}
.recruit-section-box-text2 .sign01 {
  font-size: 0.8em;
}

.recruit-section-box-text2 .sign02 {
  font-size: 1em;
  margin-left: 15px;
}
.recruit-section2-title figure {
  max-width: 160px;
  margin: 0 auto 25px;
}
.recruit-section2-title {
  margin-bottom: 85px;
}
.recruit-section2 {
  padding-top: 95px;
}
.recruit-section2-left {
  max-width: 515px;
}
.recruit-section2-left figure {
  max-width: 105px;
}
.recruit-section2-left-text {
  font-size: 1.8em;
  font-weight: bold;
  line-height: 1.58;
  text-align: justify;
  color: #003f73;
  max-width: 470px;
  margin-bottom: 55px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.recruit-section2-left-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  color: #3e3a39;
}
.recruit-section2-flex {
  display: flex;
  max-width: 1366px;
  margin: 0 auto 90px;
  justify-content: flex-end;
}
.recruit-section2-right {
  max-width: 633px;
  margin-left: 65px;
}
.recruit-section2-flex2 {
  display: flex;
  max-width: 1366px;
  margin: 0 auto 90px;
  justify-content: flex-start;
}
.recruit-section2-right2 {
  max-width: 633px;
  margin-right: 65px;
}
.recruit-section3-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 45px;
  height: 240px;
  overflow: hidden;
}
.recruit-section3-left {
  max-width: 375px;
}
.recruit-section3-right {
  padding: 30px 65px;
  background-color: #0085ce;
  max-width: 685px;
  width: 100%;
  box-sizing: border-box;
}
.recruit-section3-right-text {
  font-size: 2em;
  font-weight: bold;
  line-height: 1.28;
  text-align: left;
  color: #ffffff;
  margin-bottom: 15px;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.recruit-section3-right-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: left;
  color: #ffffff;
  margin-bottom: 15px;
}
.recruit-section3-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #0085ce;
  text-decoration: none;
  background-color: #fff;
  max-width: 380px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 16px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #fff;
  box-sizing: border-box;
}
.recruit-section3-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #0085ce;
  border-right: solid 2px #0085ce;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.recruit-section3-button:hover {
  background-color: #0085ce;
  color: #fff;
}
.recruit-section3-button:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.recruit-section3 {
  padding-top: 90px;
}
.recruit-section4-content {
  max-width: 900px;
  margin: 0 auto;
  background-color: #003f73;
  padding: 60px 0;
}
.recruit-section4-box {
  display: flex;
  max-width: 610px;
  margin: 0 auto 30px;
  padding-bottom: 30px;
  border-bottom: 2px dotted #fff;
  align-items: center;
}
.recruit-section4-box a {
  text-decoration: none;
  position: relative;
}
.recruit-section4-box a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.recruit-section4-box a:hover::after {
  transform: scale(1, 1);
}
.recruit-section4-box-date {
  font-size: 0.9375em;
  font-weight: 500;
  color: #b4a00d;
  margin-right: 55px;
}
.recruit-section4-box-title {
  font-size: 0.9375em;
  font-weight: 500;
  text-align: left;
  color: #ffffff;
}
.recruit-section4 {
  padding-top: 95px;
}
.recruit-section5-img {
  max-width: 205px;
  margin-right: 35px;
}
.top-section2-flex-text span {
  color: #003f73;
}
.recruit-section5 .top-section3-flex hr {
  margin: 0 60px;
  height: 65px;
  border: 2px solid #003894;
}
.recruit-section5-content {
  position: relative;
  background-color: #003f73;
  max-width: 320px;
  height: 320px;
  width: 100%;
}
.recruit-section5-box {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.recruit-section5-box img {
  max-width: 90px;
  margin: 0 auto 40px;
}
.recruit-section5-text {
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
}
.recruit-section5 {
  padding-top: 60px;
  padding-bottom: 90px;
  background-color: #f5f5f5;
}
.recruit-section5-flex {
  display: flex;
  max-width: 1060px;
  justify-content: space-between;
  margin: 0 auto;
}
.career-wrap {
  max-width: 1060px;
  margin: 0 auto;
  padding: 85px 0 140px;
}
.career-section {
  background-color: #f5f5f5;
}
.career-section.white {
  background-color: #fff;
}
.career-section .form-wrap {
  background-color: #fff;
}
.career-section .business-section6-box {
  background-color: #fff;
}
.career-section .business-section3-title hr {
  background: #0085ce;
}
.career-section .business-section3-text {
  color: #0085ce;
  border-bottom: 2px solid #0085ce;
}

#loading {
  position: absolute;
  left: 50%;
  top: 35%;
  margin-left: -30px;
}
#fade {
  width: 100%;
  height: 100%;
  display: none;
  position: absolute;
  background: #ffffff;
  top: 0px;
  left: 0px;
  z-index: 50;
}

/* ======================
システム構築
=========================*/
.business-text {
  font-size: 1.8em;
  letter-spacing: 0.6px;
  text-align: center;
  padding-top: 110px;
  padding-bottom: 80px;
}
.business-section-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #0085ce;
}
.business-section-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  color: #0085ce;
  padding-bottom: 28px;
  border-bottom: 2px solid #0085ce;
}
.business-section-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.business-section-left {
  max-width: 480px;
  width: 100%;
}
.business-section-left figure {
  margin-bottom: 20px;
}
.business-section-left-text {
  font-size: 1em;
  font-weight: bold;
  margin-bottom: 15px;
}
.business-section-left-text2 {
  font-size: 0.9375em;
  line-height: 1.47;
}
.business-section-right-text {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: justify;
  color: #0085ce;
  margin-bottom: 50px;
}
.business-section-right-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 25px;
}
.business-section-right-text2 span {
  color: #036eb7;
}
.business-section-right-text3 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
}
.business-section-right {
  max-width: 515px;
  width: 100%;
}
.business-section {
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 90px;
}
.business-section-flex {
  display: flex;
  justify-content: space-between;
  margin: 50px auto 90px;
}
.business-section-box {
  position: relative;
  display: block;
  margin: 1.5em 0;
  padding: 20px 10px;
  min-width: 120px;
  max-width: 1060px;
  color: #036eb7;
  background: #fff;
  border: solid 5px #0085ce;
  box-sizing: border-box;
  border-radius: 16px;
  text-align: center;
  margin-bottom: 50px;
}
.business-section-box strong {
  font-size: 1.25em;
  font-weight: bold;
  line-height: 1.77;
  letter-spacing: 1px;
  color: #0085ce;
}
.business-section-box:before {
  content: "";
  position: absolute;
  bottom: -23px;
  left: 50%;
  margin-left: -16px;
  border: 13px solid transparent;
  border-top: 13px solid #fff;
  z-index: 2;
}
.business-section-box:after {
  content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -16px;
  border: 13px solid transparent;
  border-top: 13px solid #0085ce;
  z-index: 1;
}
.business-section-img {
  max-width: 770px;
  margin: 0 auto;
}
#slanting01 {
  width: 3px;
  background: #212028;
  text-align: center;
  transform: skewX(22deg);
  height: 72px;
  margin: 0 35px;
}
#slanting02 {
  width: 3px;
  background: #212028;
  text-align: center;
  transform: skewX(-22deg);
  height: 72px;
  margin: 0 35px;
}
.business-section2-title {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 45px;
}
.movie-box {
  max-width: 765px;
  margin: 0 auto 40px;
}
.business-section2-wrap {
  background-color: #f5f5f5;
  padding-top: 50px;
  padding-bottom: 55px;
}
.business-section2-subtitle {
  font-family: "avenir";
  text-align: center;
  color: #0085ce;
  font-size: 1.3125em;
  margin-bottom: 5px;
}
.business-section2-title2 {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: center;
  margin-bottom: 45px;
}
.business-section2-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: center;
  margin-bottom: 45px;
}
.business-section2-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 2.13;
  text-align: center;
  color: #000000;
  margin-bottom: 40px;
}
.business-section2-left-text {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.75;
  color: #036eb7;
  margin-bottom: 25px;
}
.business-section2-box2 dl {
  display: flex;
  margin-bottom: 15px;
}
.business-section2-box2 dt {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.87;
  max-width: 95px;
  width: 100%;
  margin-right: 10px;
}
.business-section2-box2 dd {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.87;
}
.business-section2-box2 dt span {
  color: #036eb7;
}
.business-section2-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto;
  padding: 30px;
  box-sizing: border-box;
  border: 1px solid #d1d1d1;
}
.business-section2-box {
  max-width: 485px;
  width: 100%;
}
.business-section2-wrap2 {
  padding-top: 60px;
  padding-bottom: 115px;
}
.business-section2-wrap3 {
  position: relative;
  background-color: #0085ce;
  padding: 90px 0;
}
.business-section2-title3 {
  font-size: 1.75em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  color: #ffffff;
  margin-bottom: 60px;
}
.business-section2-wrap4 {
  max-width: 1060px;
  margin: 0 auto 90px;
}
.business-section2-wrap4-title {
  font-size: 1.4375em;
  font-weight: bold;
  color: #ffffff;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.business-section2-wrap4-title:after {
  border-top: 2px solid #81b6db;
  content: "";
  width: 79%;
  margin-left: 60px;
}
.business-section2-wrap4-box {
  max-width: 320px;
  background-color: #fff;
  width: 100%;
}
.business-section2-wrap4-top {
  order: 1;
}
.business-section2-wrap4-title2 {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  text-align: justify;
  color: #0085ce;
  padding-bottom: 15px;
  border-bottom: 1px solid #d1d1d1;
  margin-bottom: 15px;
}
.business-section2-wrap4-text {
  font-size: 0.9375em;
  line-height: 1.47;
  text-align: justify;
  margin-bottom: 20px;
}
.business-section2-wrap4-link {
  font-size: 0.75em;
  font-weight: 500;
  color: #0085ce;
  display: block;
  text-align: right;
}
.business-arrow {
  position: relative;
  display: inline-block;
  padding: 0 0 0 16px;
  color: #000;
  vertical-align: middle;
  text-decoration: none;
  font-size: 15px;
  margin-left: 2px;
}
.business-arrow::before,
.business-arrow::after {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  content: "";
  vertical-align: middle;
}
.sample99::before {
  left: 5px;
  width: 5px;
  height: 5px;
  border-top: 2px solid #0085ce;
  border-right: 2px solid #0085ce;
  transform: rotate(45deg);
  top: -2px;
}
.business-section2-wrap4-top {
  padding: 20px;
}
.series-img img {
  max-width: 320px;
  max-height: 200px;
  -o-object-fit: cover;
  object-fit: cover;
  transition: all 1s ease 0s;
}
.series-img {
  overflow: hidden;
  max-width: 320px;
  max-height: 200px;
}
.business-section2-wrap4-box a {
  text-decoration: none;
  color: #3e3a39;
  display: flex;
  flex-wrap: wrap;
}
.business-section2-wrap4-box:hover .series-img img {
  transform: scale(1.1);
  /*画像の拡大率*/
}
.business-section2-wrap4-flex {
  display: flex;
  justify-content: space-between;
}
.business-section2-wrap4-title3 {
  font-size: 1.4375em;
  font-weight: bold;
  color: #ffffff;
  display: flex;
  align-items: center;
  margin-bottom: 30px;
}
.business-section2-wrap4-title3 span {
  max-width: 200px;
  display: block;
  width: 100%;
}
.business-section2-wrap4-title3:after {
  border-top: 2px solid #81b6db;
  content: "";
  width: 79%;
  margin-left: 20px;
}
.business-section2-wrap5 {
  max-width: 1060px;
  margin: 0 auto;
}
.business-section2-wrap4-flex2 {
  display: flex;
  justify-content: space-between;
}
.business-section2-wrap4-flex2::after {
  content: "";
  display: block;
  width: 320px;
}
.business-section2-wrap3-img {
  max-width: 110px;
  position: absolute;
  top: -60px;
  left: 50%;
  transform: translateX(-50%);
}
.business-section3 {
  max-width: 1060px;
  margin: 0 auto;
  padding: 85px 0;
}
.business-section3-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 28px;
  border-bottom: 2px solid #0085ce;
}
.business-section3-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.business-section3-title {
  margin-bottom: 60px;
}
.business-section3-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #0085ce;
}
.business-section3-left {
  max-width: 480px;
  width: 100%;
}
.business-section3-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  text-align: justify;
  color: #000000;
  margin-bottom: 25px;
}
.business-section3-text3 {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  text-align: justify;
  margin-bottom: 25px;
  color: #ed0612;
}
.business-section3-link {
  font-size: 1em;
  font-weight: bold;
  line-height: 2;
  text-align: left;
  color: #036e91;
  text-decoration: none;
  padding-bottom: 5px;
  border-bottom: 1px solid #0085ce;
}
.business-section3-flex {
  display: flex;
}
.business-section3-right {
  margin-left: 70px;
}
.business-section3-text em {
  font-size: 1.16em;
  color: #0085ce;
  font-weight: bold;
}
.business-section3-flex2-img {
  max-width: 123px;
  margin-bottom: 15px;
}
.business-section3-flex2-box {
  max-width: 235px;
  /* border: 4px solid #036eb7; */
  padding: 25px 0;
  box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  border: 4px solid transparent;
  outline: 4px solid;
  outline-color: #0085ce;
  outline-offset: 0px;
  text-shadow: none;
  transition: all 1.2s cubic-bezier(0.2, 1, 0.2, 1);
  width: 100%;
}
.business-section3-flex2-box:hover {
  border-color: #fff;
  box-shadow: inset 0 0 20px rgba(255, 255, 255, 0.5), 0 0 20px rgba(255, 255, 255, 0.2);
  outline-color: transparent;
  outline-offset: 12px;
  /* text-shadow: 2px 2px 3px #000; */
  cursor: pointer;
}
.business-section3-flex2-link {
  display: flex;
  flex-wrap: wrap;
  text-decoration: none;
  color: #3e3a39;
  justify-content: center;
}
.business-section3-flex2-box2 {
  order: 1;
}
.business-section3-flex2-text {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 1.33;
  text-align: center;
  color: #0085ce;
  padding-bottom: 15px;
  border-bottom: 1px solid;
  margin-bottom: 15px;
}
.business-section3-flex2-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.5;
  text-align: center;
  color: #000000;
  max-width: 180px;
  margin-bottom: 25px;
}
.business-section2-wrap4-link2 {
  font-size: 0.75em;
  font-weight: 500;
  color: #0085ce;
  display: block;
  text-align: center;
}
.business-section4 {
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 85px;
}
.business-section3-flex2 {
  display: flex;
  justify-content: space-between;
}
.business-section5-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.business-section5-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.4px;
  text-align: center;
  margin-bottom: 60px;
}
.business-section5-box {
  max-width: 80px;
}
.business-section5-box a {
  display: block;
  transition: opacity 1s ease-out;
}
.business-section5-box a:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.business-section5-flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
}
.business-section5-text2 {
  font-size: 0.9375em;
  line-height: 2.13;
  text-align: right;
}
.business-section5 {
  padding: 85px 0;
  background-color: #f5f5f5;
}
.business-section6 {
  max-width: 1060px;
  margin: 0 auto;
  padding: 85px 0 140px;
}
.business-section6 .business-section3-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #0085ce;
}
.business-section6.support .business-section3-title hr {
  background: #21b8ce;
}
.business-section6 .business-section3-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 28px;
  color: #0085ce;
  border-bottom: 2px solid #0085ce;
}
.business-section6.support .business-section3-text {
  color: #21b8ce;
  border-bottom-color: #21b8ce;
}
.business-section6-box {
  max-width: 450px;
  background-color: #e8f7fa;
  text-align: center;
  padding: 40px 0;
  width: 100%;
  height: 180px;
  box-sizing: border-box;
}
.business-section6-flex2 {
  display: flex;
  max-width: 930px;
  justify-content: space-between;
  align-items: center;
  margin: 0 auto 45px;
}
.business-section6-text {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.75;
  margin-bottom: 35px;
}
.business-section6-text2 {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1em;
  line-height: 1.75;
  color: #ed0612;
}
.business-section6-text2 span {
  color: #3e3a39;
}
.business-section6-text2 a {
  color: #036e91;
  text-decoration: none;
}
.business-section6-box2 {
  max-width: 930px;
  margin: 0 auto 45px;
}
.content-box dt {
  width: 25%;
  font-size: 1em;
  font-weight: 500;
  line-height: 1.75;
  text-align: left;
}
.content-box dl {
  display: flex;
  align-items: center;
  /* flex-wrap: wrap; */
  border-top: 1px solid #ebeae9;
  max-width: 925px;
  margin: 0 auto;
}
.content-box dd {
  padding: 20px 0 20px 20px;
  width: 100%;
  max-width: 680px;
}
.required {
  display: flex;
  align-items: baseline;
}
.name01,
.furigana,
.mail,
.campain,
.number,
.company {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  font-size: 1em;
  border-radius: 5px;
  border: solid 1px #b7b7b7;
  background-color: unset;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.address {
  width: 200px;
  height: 40px;
  padding: 0 10px;
  font-size: 1em;
  border-radius: 5px;
  border: solid 1px #b7b7b7;
  background-color: unset;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.address2 {
  width: 100%;
  height: 40px;
  padding: 0 10px;
  font-size: 1em;
  border-radius: 5px;
  border: solid 1px #b7b7b7;
  background-color: unset;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.address-box {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.87;
  width: 100%;
  display: flex;
  align-items: center;
}
.address-box p {
  width: 100%;
}
.address-box-text {
  max-width: 105px;
  margin-right: 10px;
  width: 100%;
}
.contact-text {
  font-size: 0.875em;
  line-height: 2;
  margin-bottom: 10px;
  display: block;
}
.send-btn {
  font-size: 1em;
  font-weight: 600;
  line-height: 13px;
  display: block;
  color: #ffffff;
  background-color: #0085ce;
  width: 100%;
  margin: 0 auto 0px;
  padding: 20px 0;
  text-decoration: none;
  border-radius: 50px;
  text-align: center;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 1px solid #0085ce;
  max-width: 300px;
}
.send-btn::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
}
.send-btn:hover {
  color: #0085ce;
  background-color: #fff;
}
.send-btn:hover::before {
  border-top: solid 2px #0085ce;
  border-right: solid 2px #0085ce;
}
.business-section6.support .send-btn {
  background-color: #21b8ce;
  border-color: #21b8ce;
}
.business-section6.support .send-btn:hover {
  color: #21b8ce;
  background-color: #fff;
}
.business-section6.support .send-btn:hover::before {
  border-top: solid 2px #21b8ce;
  border-right: solid 2px #21b8ce;
}
.form-wrap {
  margin: 0 auto;
  background-color: #fff;
  padding-top: 30px;
  padding-bottom: 90px;
  position: relative;
  z-index: 10;
}
.require-01 {
  font-size: 0.75em;
  line-height: 12px;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  background-color: #dd0044;
  padding: 5px 5px;
  border-radius: 5px;
  margin-right: 18px;
  max-width: 36px;
  box-sizing: border-box;
  display: block;
  width: 100%;
}
#mw_wp_form_mw-wp-form-38 .contact-type {
  display: flex;
  justify-content: space-between;
  max-width: 460px;
  align-items: end;
}
#mw_wp_form_mw-wp-form-38 .contact-type2 .mwform-checkbox-field {
  width: 100%;
  max-width: 163px;
}
#mw_wp_form_mw-wp-form-38 .contact-type3 .mwform-checkbox-field {
  width: 100%;
  max-width: unset;
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 15px;
  color: #000000;
}
#mw_wp_form_mw-wp-form-38 .contact-type2 {
  display: flex;
  /* justify-content: space-between; */
  width: 100%;
  align-items: end;
  margin-bottom: 20px;
}
#mw_wp_form_mw-wp-form-38 .contact-type3 {
  display: flex;
  width: 100%;
  align-items: end;
  flex-wrap: wrap;
  margin-bottom: 45px;
}
#mw_wp_form_mw-wp-form-38 label {
  margin-bottom: 0px;
}
#mw_wp_form_mw-wp-form-520 .contact-type {
  display: flex;
  justify-content: space-between;
  max-width: 460px;
  align-items: end;
}
#mw_wp_form_mw-wp-form-520 .contact-type2 .mwform-checkbox-field {
  width: 100%;
  max-width: 163px;
}
#mw_wp_form_mw-wp-form-520 .contact-type3 .mwform-checkbox-field {
  width: 100%;
  max-width: unset;
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 15px;
  color: #000000;
}
#mw_wp_form_mw-wp-form-520 .contact-type2 {
  display: flex;
  /* justify-content: space-between; */
  width: 100%;
  align-items: end;
  margin-bottom: 20px;
}
#mw_wp_form_mw-wp-form-520 .contact-type3 {
  display: flex;
  width: 100%;
  align-items: end;
  flex-wrap: wrap;
  margin-bottom: 45px;
}
#mw_wp_form_mw-wp-form-520 label {
  margin-bottom: 0px;
}
#mw_wp_form_mw-wp-form-516 .contact-type {
  display: flex;
  justify-content: space-between;
  max-width: 460px;
  align-items: end;
}
#mw_wp_form_mw-wp-form-516 .contact-type2 .mwform-checkbox-field {
  width: 100%;
  max-width: 163px;
}
#mw_wp_form_mw-wp-form-516 .contact-type3 .mwform-checkbox-field {
  width: 100%;
  max-width: unset;
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 15px;
  color: #000000;
}
#mw_wp_form_mw-wp-form-516 .contact-type2 {
  display: flex;
  /* justify-content: space-between; */
  width: 100%;
  align-items: end;
  margin-bottom: 20px;
}
#mw_wp_form_mw-wp-form-516 .contact-type3 {
  display: flex;
  width: 100%;
  align-items: end;
  flex-wrap: wrap;
  margin-bottom: 45px;
}
#mw_wp_form_mw-wp-form-516 label {
  margin-bottom: 0px;
}
.mwform-checkbox-field {
  width: 100%;
}
.mwform-checkbox-field label {
  width: 25%;
}
.mwform-checkbox-field-text {
  font-size: 0.8125em;
  line-height: 2.15;
}
.contact-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.87;
  margin-bottom: 30px;
}
.baseline-dl {
  align-items: baseline !important;
}
.end-dl {
  align-items: end !important;
}
.last-dt {
  padding-top: 20px;
}
.contact-box99 {
  max-width: 925px;
  margin: 0 auto;
}
.contact-box99-text {
  font-size: 0.9375em;
  font-weight: 500;
  line-height: 1.87;
  text-align: left;
  margin-bottom: 45px;
}
.contact-box99-text a {
  color: #036e91;
}
.contact-comment {
  font-size: 16px;
  width: 100%;
  height: 150px;
  padding: 0 10px;
  border-radius: 5px;
  border: solid 1px #b7b7b7;
  background-color: unset;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  box-sizing: border-box;
}
.contact-type2 input[type="checkbox"].checkbox__item {
  display: none;
}
.contact-type2 label {
  display: inline-block;
}
/* spanの左側にボタンを配置するスペースを作る */
.contact-type2 .checkbox__item + span {
  padding-left: 2em;
  display: inline-block;
  position: relative;
}
/* 各パーツを作成 */
.contact-type2 .checkbox__item + span::after,
.contact-type2 .checkbox__item + span::before {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #aaaaaa;
  width: 15px;
  height: 15px;
  top: 6px;
  left: 0;
}
/* after上書き */
.contact-type2 .checkbox__item + span::after {
  opacity: 0;
  width: 10px;
  height: 15px;
  transform: rotate(45deg);
  left: 5px;
  border: none;
  border-right: 3px solid #1bb2ce;
  border-bottom: 3px solid #1bb2ce;
  top: 1px;
}
.contact-type3 input[type="checkbox"].checkbox__item {
  display: none;
}
.contact-type3 label {
  display: inline-block;
}
/* spanの左側にボタンを配置するスペースを作る */
.contact-type3 .checkbox__item + span {
  padding-left: 2em;
  display: inline-block;
  position: relative;
  font-weight: bold;
}
/* 各パーツを作成 */
.contact-type3 .checkbox__item + span::after,
.contact-type3 .checkbox__item + span::before {
  content: "";
  display: block;
  position: absolute;
  border: 1px solid #aaaaaa;
  width: 15px;
  height: 15px;
  top: 6px;
  left: 0;
}
/* after上書き */
.contact-type3 .checkbox__item + span::after {
  opacity: 0;
  width: 10px;
  height: 15px;
  transform: rotate(45deg);
  left: 5px;
  border: none;
  border-right: 3px solid #1bb2ce;
  border-bottom: 3px solid #1bb2ce;
}
/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.contact-type2 .checkbox__item:checked + span {
  color: #1bb2ce;
}
.contact-type2 .checkbox__item:checked + span::after {
  opacity: 1;
}
.contact-type3 .checkbox__item:checked + span {
  color: #1bb2ce;
}
.contact-type3 .checkbox__item:checked + span::after {
  opacity: 1;
}
.contact-img {
  display: flex;
  justify-content: space-between;
  height: auto;
  align-items: flex-start;
}
.img-bd {
  border: 3px solid #1bb2ce;
}
.contact-img img {
  max-width: 160px;
}
.contact-img2 img {
  max-width: 160px;
  margin-right: 13px;
}
.contact-img2 {
  display: flex;
  height: auto;
  align-items: flex-start;
}
.require-02 {
  font-size: 0.75em;
  line-height: 12px;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  background-color: #595757;
  padding: 5px 5px;
  border-radius: 5px;
  margin-right: 18px;
  max-width: 36px;
  box-sizing: border-box;
  display: block;
  width: 100%;
}
/* ======================
施工実績一覧
=========================*/
.archive-section-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 28px;
  color: #21b8ce;
  border-bottom: 2px solid #21b8ce;
}
.archive-section-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.archive-section-title {
  margin-bottom: 60px;
}
.archive-section-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #1bb2ce;
}
.archive-section {
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 90px;
  padding-top: 110px;
}
.fa-search {
  font-size: 25px;
  margin-right: 20px;
}
.archive-section2 {
  padding: 60px 0;
  background-color: #f5f5f5;
}
.archive-section3 {
  padding: 60px 0;
}
.archive-section3 .outline2-article2-box2 {
  background-color: #f5f5f5;
}
.archive-section2-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #21b8ce;
}
.archive-section2-title {
  margin-bottom: 40px;
}
.archive-section2-text {
  font-size: 1.75em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  color: #21b8ce;
}
.archive-section2-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 60px;
  /* justify-content: space-between; */
  flex-wrap: wrap;
}
.archive-section2-flex .outline2-article2-box {
  margin-bottom: 50px;
  margin-right: 4%;
}
.archive-section2-flex .outline2-article2-box:nth-child(3n) {
  margin-right: 0%;
}
.input-term {
  display: none;
}
.input-term + label {
  padding-left: 30px;
  position: relative;
  /* margin-right: 20px */
}
.archive-section .radio-box .term-hr {
  width: 20px;
  height: 1px;
  background: #3e3a39;
  margin: 0;
  position: relative;
  top: 13px;
  margin-left: 5px;
}
.archive-section .radio-box2 .term-hr {
  width: 20px;
  height: 1px;
  background: #3e3a39;
  margin: 0;
  position: relative;
  top: 13px;
  margin-left: 5px;
}
.input-term + label a {
  text-decoration: none;
  color: #3e3a39;
}
.input-term + label::before {
  content: "";
  display: block;
  position: absolute;
  top: 5px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 50%;
}
.input-term:checked + label {
  color: #21b8ce;
}
.input-term:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  top: 8px;
  left: 3px;
  width: 11px;
  height: 11px;
  background: #1bb2ce;
  border-radius: 50%;
}
.input-term2 {
  display: none;
}
.input-term2 + label {
  padding-left: 25px;
  position: relative;
  pointer-events: none;
}
.input-term2 + label a {
  text-decoration: none;
  color: #3e3a39;
}
.input-term2 + label::before {
  content: "";
  opacity: 0;
  position: absolute;
  top: 3px;
  left: 0;
  width: 15px;
  height: 15px;
  border: 1px solid #999;
  border-radius: 20%;
}
.input-term2 + .new_buil {
  pointer-events: all;
}
.input-term2 + .new_buil::before {
  opacity: 1;
}
.input-term2:checked + label {
  color: #1bb2ce;
}
.input-term2:checked + label::after {
  content: "";
  display: block;
  position: absolute;
  opacity: 1;
  width: 10px;
  height: 15px;
  transform: rotate(45deg);
  left: 5px;
  border: none;
  border-right: 3px solid #1bb2ce;
  border-bottom: 3px solid #1bb2ce;
  top: 1px;
}
.radio-box {
  background-color: #fff;
  padding: 20px;
  max-width: 420px;
  /* margin-bottom: 15px; */
  display: flex;
}
.radio-box3 {
  background-color: #fff;
  padding: 20px;
  max-width: 420px;
}
.radio-box2 {
  background-color: #fff;
  padding: 20px;
  max-width: 380px;
  /* margin-bottom: 15px; */
  display: flex;
}
.radio-box4 {
  background-color: #fff;
  padding: 20px;
  max-width: 380px;
}
.radio-box5 {
  background-color: #fff;
  max-width: 170px;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 10px;
  box-sizing: border-box;
}
.archive-section-wrap {
  background-color: #21b8ce;
  padding: 30px;
}
.radio-right {
  width: 100%;
  max-width: 380px;
}
.radio-left {
  width: 100%;
  max-width: 420px;
}
.radio-flex {
  display: flex;
  justify-content: space-between;
}
.checkbox {
  width: 50%;
  font-size: 0.875em;
  max-width: 130px;
  margin-bottom: 5px;
}
.term-content {
  display: flex;
  max-width: 260px;
  flex-wrap: wrap;
  padding: 0px 5px;
  box-sizing: border-box;
}
.term-content2 {
  display: flex;
  max-width: 150px;
  flex-wrap: wrap;
  padding: 0px 5px;
  box-sizing: border-box;
}
.checkbox2 {
  width: 100%;
  font-size: 0.875em;
  max-width: 130px;
  margin-bottom: 5px;
}
/* ======================
地域応援
=========================*/
.support-section {
  padding-top: 120px;
  padding-bottom: 90px;
  max-width: 980px;
  margin: 0 auto;
}
.support-section-img {
  max-width: 210px;
  margin: 0 auto 40px;
}
.support-section-text {
  font-size: 1.75em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  margin-bottom: 85px;
}
.support-section-box {
  max-width: 240px;
  width: 100%;
}
.support-section-flex {
  display: flex;
  justify-content: space-between;
  margin: 0 auto 90px;
  max-width: 770px;
}
.support-section-text2 {
  font-size: 1.625em;
  font-weight: bold;
  letter-spacing: 1.3px;
  text-align: center;
  padding-bottom: 20px;
  border-bottom: 2px solid;
  margin-bottom: 40px;
}
.support-section-text3 {
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: normal;
  text-align: center;
  line-height: 1.75;
  margin-bottom: 30px;
}
.support-section-text4 {
  font-size: 1.125em;
  font-weight: 500;
  letter-spacing: normal;
  text-align: center;
  line-height: 1.75;
}
.support-section2-text {
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1.5;
  color: #21b8ce;
  margin-bottom: 35px;
}
.support-section2-text2 {
  font-size: 1em;
  font-weight: 500;
  margin-bottom: 20px;
}
.support-section2-img {
  max-width: 420px;
}
.support-section2-right {
  max-width: 480px;
}
.support-section2-flex {
  display: flex;
  max-width: 980px;
  margin: 0 auto 55px;
  justify-content: space-between;
  align-items: center;
}
.support-section2 {
  background-color: #21b8ce;
  padding: 60px 0 90px;
}
.support-section2-wrap {
  background-color: #fff;
  max-width: 1100px;
  margin: 0 auto;
  padding: 60px;
  box-sizing: border-box;
}
.support-section2-wrap-text {
  max-width: 980px;
  margin: 0 auto 40px;
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0.22px;
  line-height: 2;
}
.support-section2-wrap-text span {
  color: #21b8ce;
}
.support-section2-wrap-text2 {
  font-size: 1.3125em;
  font-weight: bold;
  color: #ed0612;
  max-width: 980px;
  margin: 0 auto 30px;
}
.support-section2-img3 {
  margin-bottom: 40px;
  transition: opacity 1s ease-out;
}
.support-section2-img3:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.contact-type {
  display: flex;
  justify-content: space-between;
  max-width: 580px !important;
}
.contact-type99 {
  display: flex;
  justify-content: space-between;
  max-width: 580px !important;
}
.contact-form2 .contact-type {
  display: block;
  justify-content: space-between;
  max-width: 680px !important;
}
.support-section2-wrap-text3 {
  padding-bottom: 20px;
  border-bottom: 2px solid;
  margin-bottom: 40px;
  font-size: 1.625em;
  font-weight: bold;
  color: #21b8ce;
}
.support-th {
  font-size: 1em;
  font-weight: bold;
  line-height: 2.06;
  letter-spacing: 0.8px;
  text-align: center;
  width: 25%;
  padding: 20px 0;
  border: 1px solid #d1d1d1;
  background-color: #e8f7fa;
}
.support-section2-box {
  max-width: 90px;
  display: block;
  margin-right: 35px;
  transition: opacity 1s ease-out;
}
.support-section2-box:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.support-section2-flex2 {
  display: flex;
}
.support-section2-box2 {
  max-width: 180px;
  display: block;
  margin-right: 20px;
  text-decoration: none;
  color: #ed0612;
  text-align: center;
  transition: opacity 1s ease-out;
}
.support-section2-box2:hover {
  opacity: 0.5;
  -webkit-opacity: 0.5;
  -moz-opacity: 0.5;
  filter: alpha(opacity=50); /* IE lt 8 */
  -ms-filter: "alpha(opacity=50)"; /* IE 8 */
}
.support-section2-flex3 {
  display: flex;
  margin-bottom: 60px;
  align-items: flex-end;
}
/* ======================
プライバシーポリシー
=========================*/
.privacy-text {
  font-size: 1em;
  font-weight: bold;
  line-height: 1.75;
  text-align: left;
  padding-top: 110px;
  max-width: 920px;
  margin: 0 auto;
}
.privacy-section {
  padding-top: 90px;
  max-width: 1060px;
  margin: 0 auto;
}
.privacy-section-box-text {
  font-size: 1.4375em;
  font-weight: bold;
  line-height: 1.22;
  color: #0085ce;
  padding-bottom: 15px;
  border-bottom: 2px solid;
  margin-bottom: 25px;
}
.privacy-section-box-text2 {
  font-size: 1em;
  font-weight: 300;
  text-align: justify;
  margin-bottom: 35px;
}
.privacy-ul li {
  font-size: 1em;
  font-weight: 300;
  position: relative;
  padding-left: 20px;
}
.privacy-ul li:before {
  content: "";
  position: absolute;
  top: 0.37em;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #0085ce;
  border-radius: 50%;
}
.privacy-section-box {
  margin-bottom: 65px;
}
/* ======================
お知らせ一覧
=========================*/
.news-section {
  padding: 120px 0;
  max-width: 1366px;
  margin: 0 auto;
}
.entry-label {
  font-size: 0.6875em;
  font-weight: 500;
  line-height: 2.09;
  text-align: center;
  color: #ffffff;
  max-width: 180px;
  width: 100%;
  display: block;
  border-radius: 90px;
  padding: 2px 0;
  margin-right: 20px;
}
.news-section-box {
  display: flex;
  padding-bottom: 30px;
  border-bottom: 2px dotted #b9baba;
  margin-bottom: 30px;
  align-items: center;
}
.news-section-box a {
  font-size: 0.9375em;
  font-weight: 500;
  color: #3e3a39;
  text-decoration: none;
  position: relative;
}
.news-section-box a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #3e3a39;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.news-section-box a:hover::after {
  transform: scale(1, 1);
}
.archive-box-date {
  font-size: 1em;
  font-weight: bold;
  margin-right: 55px;
}
.news-section-flex {
  max-width: 925px;
  background-color: #f5f5f5;
  padding: 50px;
  box-sizing: border-box;
}
.entry-label2 {
  font-size: 0.9375em;
  font-weight: bold;
  line-height: 1.87;
  text-align: center;
  color: #ffffff;
  max-width: 200px;
  display: block;
  width: 100%;
  padding: 9px 0;
}
.news-section-right a {
  text-decoration: none;
  display: block;
  max-width: 200px;
}
.news-section-right-box {
  max-width: 200px;
}
.news-section-right-box img {
  max-width: 26px;
  margin: 0 auto;
}
.news-section-right-text {
  font-size: 0.875em;
  font-weight: 900;
  text-align: center;
  margin-bottom: 10px;
}
.news-section-wrap {
  display: flex;
  max-width: 1100px;
  justify-content: space-between;
  margin: 0 auto;
}
.news-section-left {
  width: 100%;
  max-width: 925px;
  margin-right: 90px;
}
.news-section-right {
  width: 100%;
  max-width: 200px;
}
.navigation {
  width: 100%;
  padding-top: 60px;
}
.nav-links {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 850px;
  width: 100%;
  margin: 0 auto;
}
.page-numbers {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  text-align: center;
  display: block;
  max-width: 40px;
  color: #3e3a39;
  border: 1px solid #c7c6c6;
  padding: 17px 0;
  box-sizing: border-box;
  text-decoration: none;
  width: 100%;
  margin-right: 25px;
  background-color: #f5f5f5;
  transition: all 0.3s ease 0s;
}
.page-numbers:hover {
  background-color: #1bb2ce;
  color: #fff;
}
.current {
  background-color: #1bb2ce;
  color: #fff;
}
.next,
.prev {
  border: none;
}
/* ======================
ニュース詳細
=========================*/
.archive-title2 {
  font-size: 2.3125em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 85px;
  padding-top: 60px;
}
.archive-title2 span {
  font-family: "avenir";
  font-size: 0.648em;
  font-weight: 900;
  text-align: center;
  color: #036eb7;
  display: block;
  margin-top: 10px;
}
.single-wrap {
  background-color: #f8f8f8;
  padding: 60px 128px 90px;
}
.single-box {
  max-width: 1100px;
  margin: 0 auto;
  background-color: #fff;
  padding: 40px 0 150px;
}
.single-section2 {
  position: relative;
}
.single-box-text {
  width: 95%;
  margin: 0 auto;
}
.single-box-text p {
  font-size: 0.9375em;
  line-height: 2.67;
}
.single-box-text h2 {
  font-size: 1.4375em;
  font-weight: 600;
  padding-bottom: 30px;
  border-bottom: 1px solid #81b6db;
  margin-bottom: 60px;
  color: #036eb7;
}
.single-box-text img {
  max-width: 100%;
  width: unset;
  display: block;
  height: auto;
}
.single-wrap-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #ffffff;
  text-decoration: none;
  background-color: #1bb2ce;
  max-width: 300px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 16px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #1bb2ce;
  box-sizing: border-box;
  margin: 60px auto;
}
.single-wrap-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.single-wrap-button:hover {
  background-color: #fff;
  color: #1bb2ce;
}
.single-wrap-button:hover::before {
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
}
.single-bg {
  background-image: url(../asahi/images/single-bg.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}
.single-line {
  max-width: 60px;
  height: 30px;
  -o-object-fit: cover;
  object-fit: cover;
  margin: 0 auto 20px;
  display: block;
  padding-top: 110px;
}
/* ======================
リニューアル事業
=========================*/
.renewal-section {
  padding-top: 120px;
  padding-bottom: 90px;
}
.renewal-text {
  font-size: 1.75em;
  font-weight: bold;
  letter-spacing: 1.4px;
  text-align: center;
  margin-bottom: 90px;
}
.renewal-text span {
  color: #b11011;
}
.renewal-section-flex {
  display: flex;
  max-width: 1060px;
  justify-content: space-between;
  margin: 0 auto 45px;
}
.renewal-section-left {
  max-width: 500px;
  width: 100%;
}
.renewal-section-right {
  max-width: 500px;
  width: 100%;
}
.renewal-section-flex2 {
  display: flex;
  background-color: #f2f2f2;
  max-width: 1060px;
  margin: 0 auto;
  border-radius: 30px;
  padding: 30px;
  box-sizing: border-box;
  justify-content: space-between;
}
.renewal-section-left2 {
  max-width: 310px;
}
.renewal-section-left2 img {
  margin-bottom: 20px;
}
.renewal-section-left2-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 16px;
  text-align: center;
}
.renewal-section-right2 {
  max-width: 640px;
  width: 100%;
}
.renewal-section-right2-text {
  font-size: 1.5em;
  font-weight: bold;
  text-align: justify;
  color: #003f73;
  padding-bottom: 15px;
  border-bottom: 1px solid;
  margin-bottom: 25px;
}
.renewal-section-right2-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
}
.renewal-section2-title {
  position: relative;
  font-size: 1.75em;
  font-weight: bold;
  line-height: 1.46;
  text-align: center;
  color: #003f73;
  padding-bottom: 55px;
  border-bottom: 2px solid;
  max-width: 1060px;
  margin: 0 auto 55px;
}
.renewal-section2-title span {
  font-size: 0.75em;
  font-weight: 900;
  text-align: center;
  color: #3e3a39;
  display: block;
  margin-bottom: 10px;
}
.renewal-section2-img {
  position: absolute;
  top: 30%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  max-width: 88px;
  z-index: -1;
}
.renewal-section2-img2 {
  position: absolute;
  bottom: 0;
  right: 60px;
  max-width: 150px;
  z-index: -1;
}
.renewal-section2-left-title {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.58;
  text-align: left;
  color: #003f73;
  margin-bottom: 55px;
}
.renewal-section2-left-title span {
  font-size: 4em;
  font-weight: 900;
  line-height: 0.87;
  color: #e3e3e3;
  display: block;
  margin-bottom: 45px;
}
.renewal-section2-flex {
  display: flex;
  max-width: 1366px;
  margin: 0 auto 90px;
  justify-content: flex-end;
}
.renewal-section2-left {
  max-width: 515px;
}
.renewal-section2-left-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
}
.renewal-section2-left-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 20px;
}
.renewal-section2-flex2 {
  display: flex;
  max-width: 1366px;
  margin: 0 auto 90px;
  justify-content: flex-start;
}
.renewal-section2-right {
  max-width: 633px;
  margin-left: 65px;
}
.renewal-section2-right2 {
  max-width: 633px;
  margin-right: 65px;
}
.renewal-section2-img3 {
  max-width: 120px;
  margin: 0 auto 60px;
}
.renewal-section2-flex3 {
  display: flex;
  max-width: 950px;
  justify-content: space-between;
  margin: 0 auto;
}
.renewal-section2-flex3-left {
  max-width: 120px;
}
.renewal-section2-flex3-right {
  max-width: 780px;
}
.renewal-section2-flex3-text {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.89;
  text-align: left;
}
.renewal-section2-flex3-text span {
  color: #b11011;
}
.renewal-section2-wrap {
  background-color: #e6ecf1;
  padding: 50px 0;
}
.renewal-section3 {
  padding-top: 90px;
}
.renewal-section3 .outline2-article2 {
  background-color: #003f73;
}
.renewal-section3 .outline2-article2-box-text2 {
  background-color: #21b8ce;
}
.renewal-section3 .outline2-article2-button {
  color: #003f73;
  margin-bottom: 60px;
}
.renewal-section3 .outline2-article2-button::before {
  border-top: solid 2px #003f73;
  border-right: solid 2px #003f73;
}
.renewal-section3 .outline2-article2-button:hover {
  background-color: #003f73;
  color: #fff;
}
.renewal-section3 .outline2-article2-button:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.renewal-section3-text {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.89;
  text-align: center;
  margin-bottom: 25px;
}
.renewal-section3-text span {
  color: #b11011;
}
.renewal-section3-text2 {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 1.89;
  text-align: center;
}
.renewal-section3-box {
  max-width: 1060px;
  margin: 0 auto;
  padding: 50px;
  box-sizing: border-box;
  background-color: #fff;
}
/* ======================
お問い合わせ
=========================*/
.contact-text99 {
  font-size: 1.5em;
  text-align: center;
  margin-bottom: 40px;
  padding-top: 110px;
  letter-spacing: 0.6px;
}
.contact-text100 {
  font-size: 1.25em;
  text-align: center;
  margin-bottom: 40px;
  letter-spacing: 0.6px;
}
/* ======================
ワンストップ
=========================*/
.onestop-section {
  padding-bottom: 90px;
  padding-top: 120px;
}
.onestop-section-text {
  font-size: 1.6em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 85px;
}
.onestop-section-text span {
  color: #0085ce;
}
.onestop-section-img {
  max-width: 740px;
  margin: 0 auto 85px;
}
.onestop-section-button {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 21px;
  color: #ffffff;
  text-decoration: none;
  background-color: #0085ce;
  max-width: 320px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 17px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #0085ce;
}
.onestop-section-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.onestop-section-button:hover {
  background-color: #fff;
  color: #0085ce;
}
.onestop-section-button:hover::before {
  border-top: solid 2px #0085ce;
  border-right: solid 2px #0085ce;
}
.onestop-section-box {
  max-width: 690px;
  display: flex;
  margin: 0 auto;
  justify-content: space-between;
}
.onestop-section2-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #0085ce;
}
.onestop-section2-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  color: #0085ce;
  padding-bottom: 28px;
  border-bottom: 2px solid #0085ce;
}
.onestop-section2-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.onestop-section2 {
  max-width: 1060px;
  margin: 0 auto;
  padding-bottom: 120px;
}
.onestop-section2-title {
  margin-bottom: 60px;
}
.onestop-section2-ul {
  margin-bottom: 30px;
}
.onestop-section2-ul li {
  font-size: 1em;
  font-weight: 300;
  position: relative;
  padding-left: 20px;
}
.onestop-section2-ul li:before {
  content: "";
  position: absolute;
  top: 0.37em;
  left: 0;
  width: 14px;
  height: 14px;
  background-color: #0085ce;
  border-radius: 50%;
}
.onestop-section2-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.94;
  text-align: justify;
  color: #000000;
}
.onestop-section2-text3 {
  font-size: 1em;
  font-weight: 500;
  line-height: 1.94;
  text-align: justify;
  color: #000000;
  margin-bottom: 25px;
}
.onestop-section2-flex {
  display: flex;
  justify-content: space-between;
}
.onestop-section2-flex2 {
  display: flex;
  justify-content: space-between;
}
.onestop-section2-right {
  max-width: 480px;
  width: 100%;
}
.onestop-section3 {
  padding-bottom: 80px;
  position: relative;
}
.onestop-section3-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.onestop-section3-img {
  position: absolute;
  bottom: 0;
  z-index: -1;
}
/* ======================
商品構成
=========================*/
.outline-section-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #0085ce;
}
.outline-section-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  color: #0085ce;
  margin-bottom: 80px;
}
.outline-section-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.outline-section-box-text {
  font-size: 1.625em;
  font-weight: bold;
  padding-bottom: 15px;
  border-bottom: 1px solid #b9baba;
  margin-bottom: 25px;
}
.outline-section-button {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 21px;
  color: #ffffff;
  text-decoration: none;
  background-color: #0085ce;
  max-width: 320px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 17px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #0085ce;
}
.outline-section-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.outline-section-button:hover {
  background-color: #fff;
  color: #0085ce;
}
.outline-section-button:hover::before {
  border-top: solid 2px #0085ce;
  border-right: solid 2px #0085ce;
}
.outline-section-button2 {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 21px;
  color: #ffffff;
  text-decoration: none;
  background-color: #b11011;
  max-width: 320px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 17px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #b11011;
}
.outline-section-button2::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.outline-section-button2:hover {
  background-color: #fff;
  color: #b11011;
}
.outline-section-button2:hover::before {
  border-top: solid 2px #b11011;
  border-right: solid 2px #b11011;
}
.outline-section-box {
  max-width: 1060px;
  margin: 0 auto 60px;
}
.outline-section-box2 {
  max-width: 1060px;
  margin: 0 auto 90px;
}
.outline-section-flex {
  display: flex;
  max-width: 1060px;
  justify-content: space-between;
  flex-wrap: wrap;
}
.outline-section-article {
  background-color: #f5f5f5;
  padding: 60px 0;
}
.outline-section-flex::after {
  content: "";
  display: block;
  width: 320px;
}
.outline-article-title {
  font-size: 2.25em;
  font-weight: bold;
  line-height: 0.92;
  letter-spacing: 0.9px;
  text-align: center;
  margin-bottom: 60px;
}
.outline-article-title span {
  font-size: 0.5em;
  font-weight: bold;
  line-height: 18px;
  letter-spacing: 0.45px;
  text-align: center;
  color: #ffffff;
  display: block;
  background-color: #0085ce;
  max-width: 200px;
  margin: 0 auto 24px;
  padding: 11px 0;
  border-radius: 100px;
}
.outline-article-title2 {
  font-size: 2.25em;
  font-weight: bold;
  line-height: 0.92;
  letter-spacing: 0.9px;
  text-align: center;
  margin-bottom: 60px;
}
.outline-article-title2 span {
  font-size: 0.5em;
  font-weight: bold;
  line-height: 18px;
  letter-spacing: 0.45px;
  text-align: center;
  color: #ffffff;
  display: block;
  background-color: #b11011;
  max-width: 200px;
  margin: 0 auto 24px;
  padding: 11px 0;
  border-radius: 100px;
}
.outline-article-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto 60px;
  justify-content: space-between;
  align-items: center;
}
.outline-article-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.outline-article-left {
  max-width: 640px;
  width: 100%;
}
.outline-article-img {
  max-width: 640px;
}
.outline-article-right {
  max-width: 400px;
  width: 100%;
}
.outline-article-img2 {
  max-width: 400px;
  margin-bottom: 20px;
}
.outline-article-img3 {
  max-width: 400px;
}
.outline-article-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 60px;
}

.outline-label {
  display: flex;
  align-items: center;
  position: relative;
  background-color: #21b8ce;
  font-size: 1.25em;
  font-weight: 600;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
  padding: 10px 0;
  border: 1px solid #21b8ce;
  justify-content: center;
  flex-wrap: wrap;
  max-width: 480px;
  margin: 0 auto 90px;
}
.outline-label span {
  font-size: 0.9em;
  display: block;
  width: 100%;
}
.outline-content {
  display: block;
  height: 0;
  opacity: 0;
  padding: 0;
  transition: 0.5s;
  visibility: hidden;
  display: flex;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}
.outline-content span {
  font-size: 2em;
  color: #b11011;
  margin-right: 45px;
}
.acd-check:checked + .outline-label + .outline-content {
  height: auto;
  opacity: 1;
  padding: 0px 0px 0px;
  visibility: visible;
  background-color: #fff;
}
.op_plus {
  display: inline-block;
  position: relative;
  width: 18px;
  height: 18px;
  margin: 0 5px;
}
.op_plus:before,
.op_plus:after {
  display: block;
  content: "";
  background-color: #fff;
  border-radius: 10px;
  position: absolute;
  width: 20px;
  height: 2px;
  top: 7px;
  left: 2px;
}
.op_plus:before {
  width: 2px;
  height: 20px;
  top: -2px;
  left: 11px;
}
.plus-icon {
  position: absolute;
  top: 53%;
  right: 30px;
  transform: translateY(-50%);
}
.acd-check:checked + .outline-label > .plus-icon > .op_plus::before {
  display: none;
}
.outline-table {
  width: 100%;
  max-width: 1060px;
}
.outline-table .outline-th {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  box-sizing: border-box;
  border: 1px #c5cdcf solid;
  max-width: 200px;
  width: 18px;
}
.outline-table .outline-th2 {
  box-sizing: border-box;
  border: 1px #c5cdcf solid;
  max-width: 430px;
  width: 41%;
  font-size: 1.4375em;
  font-weight: bold;
  line-height: 1.43;
  letter-spacing: 1.15px;
  text-align: center;
  color: #ffffff;
  background-color: #21b8ce;
  padding: 15px 0;
}
.outline-table .outline-th3 {
  font-size: 1em;
  font-weight: bold;
  line-height: 2.06;
  letter-spacing: 0.8px;
  text-align: center;
  padding: 15px 0;
  border: 1px #c5cdcf solid;
  background-color: #e9f8fa;
}
.outline-table .outline-td {
  font-size: 0.9375em;
  line-height: 1.73;
  letter-spacing: 0.75px;
  color: #000000;
  padding: 10px 0 10px 40px;
  border: 1px #c5cdcf solid;
}
.outline-table .outline-td2 {
  font-size: 0.9375em;
  line-height: 1.73;
  letter-spacing: 0.75px;
  color: #000000;
  padding: 10px 0 10px 40px;
  border: 1px #c5cdcf solid;
  background-color: #fafafa;
}
.outline-content2 {
  border: 1px solid #d1d1d1;
  padding: 70px 30px 5px;
  box-sizing: border-box;
  position: relative;
}
.outline-content2 dl {
  display: flex;
  align-items: baseline;
  margin-bottom: 25px;
}
.outline-content2 dl dt {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.83;
  letter-spacing: 0.9px;
  color: #21b8ce;
  margin-right: 12px;
}
.outline-content2 dl dd {
  font-size: 0.9375em;
  line-height: 1.93;
  letter-spacing: 0.75px;
  color: #000000;
}
.outline-content2-text {
  font-size: 1.3125em;
  font-weight: bold;
  line-height: 1.05;
  letter-spacing: 1.05px;
  text-align: center;
  color: #ffffff;
  max-width: 180px;
  background-color: #21b8ce;
  padding: 12px 0;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
.outline-section-article2 {
  padding: 90px 0;
}
.outline-section {
  padding-top: 120px;
}
/* ======================
技術紹介
=========================*/
.system-container {
  position: relative;
  max-width: 770px;
}
#thumbs img {
  /* max-height: 105px; */
  min-height: 85px;
  -o-object-fit: cover;
  object-fit: cover;
}
#system-slider .swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 440px;
  /* min-height: 800px; */
  -o-object-fit: cover;
  object-fit: cover;
  padding: 50px 65px;
  max-width: 770px;
  box-sizing: border-box;
  margin: 0 auto;
  border: 1px solid #dcdddd;
}
#system-slider .swiper-slide img {
  margin-bottom: 30px;
}
#thumbs {
  height: 10%;
  box-sizing: border-box;
  padding: 0px 0;
}
#thumbs .swiper-slide {
  width: 20%;
  height: auto;
  opacity: 0.3;
  border: 1px solid #dcdddd;
  max-width: 147px;
  padding: 10px;
  box-sizing: border-box;
}
.system-section-box {
  max-width: 770px;
  margin: 0 auto 60px;
}
.swiper-button-next2,
.swiper-button-prev2 {
  position: absolute;
  top: 40%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  outline: 0;
}
.swiper-button-prev2 {
  background-image: url(../tani/images/arrow-left.png) !important;
  background-size: cover;
  width: 45px !important;
  height: 45px !important;
}
.swiper-button-next2 {
  background-image: url(../tani/images/arrow-right.png) !important;
  background-size: cover;
  width: 45px !important;
  height: 45px !important;
}
.swiper-button-prev2::after,
.swiper-container-rtl .swiper-button-next2::after {
  content: none !important;
}
.swiper-button-next2:after,
.swiper-container-rtl .swiper-button-prev2:after {
  content: none !important;
}
.swiper-button-next2,
.swiper-container-rtl .swiper-button-prev2 {
  right: -75px !important;
}
.swiper-button-prev2,
.swiper-container-rtl .swiper-button-next2 {
  left: -75px !important;
}
.system-section-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  color: #0085ce;
  margin-bottom: 40px;
}
.system-section-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.system-section-wrap {
  max-width: 925px;
  margin: 0 auto;
  border-top: 3px solid #0085ce;
  padding-top: 40px;
}
.system-section-wrap-text {
  font-size: 1em;
  line-height: 2;
  text-align: justify;
  margin-bottom: 55px;
}
.system-content {
  border: 1px solid #d1d1d1;
  padding: 70px 30px 30px;
  box-sizing: border-box;
  position: relative;
  margin-bottom: 60px;
}
.system-content-text {
  font-size: 1.3125em;
  line-height: 1.05;
  letter-spacing: 1.05px;
  text-align: center;
  color: #ffffff;
  max-width: 230px;
  background-color: #21b8ce;
  padding: 12px 0;
  position: absolute;
  width: 100%;
  left: 0;
  top: 0;
}
.system-content dl {
  display: flex;
  align-items: baseline;
  margin-bottom: 20px;
}
.system-content dl dt {
  font-size: 1.125em;
  line-height: 1.83;
  letter-spacing: 0.9px;
  text-align: left;
  color: #21b8ce;
  margin-right: 12px;
}
.system-content dl dd {
  font-size: 0.9375em;
  line-height: 1.93;
  letter-spacing: 0.75px;
  color: #000000;
}
.system-table {
  width: 100%;
  max-width: 1060px;
}
.system-table .system-th {
  font-size: 1em;
  font-weight: 500;
  text-align: center;
  box-sizing: border-box;
  border: 1px #c5cdcf solid;
  max-width: 200px;
  width: 18px;
}
.system-table .system-th2 {
  box-sizing: border-box;
  border: 1px #c5cdcf solid;
  max-width: 225px;
  width: 28%;
  font-size: 1em;
  font-weight: bold;
  line-height: 1.43;
  letter-spacing: 1.15px;
  text-align: center;
  color: #ffffff;
  background-color: #21b8ce;
  padding: 15px 0;
}
.system-table .system-th3 {
  font-size: 0.8125em;
  line-height: 2.06;
  letter-spacing: 0.65px;
  text-align: center;
  padding: 25px 0;
  border: 1px #c5cdcf solid;
  background-color: #e9f8fa;
}
.system-table .system-td {
  font-size: 0.75em;
  line-height: 2.2;
  letter-spacing: 0.61px;
  color: #000000;
  padding: 10px 0 10px 40px;
  border: 1px #c5cdcf solid;
}
.system-table .system-td2 {
  font-size: 0.75em;
  line-height: 2.2;
  letter-spacing: 0.61px;
  color: #000000;
  padding: 10px 0 10px 40px;
  border: 1px #c5cdcf solid;
  background-color: #fafafa;
}
.system-section {
  padding: 120px 0 90px;
  position: relative;
}
.system-section2 {
  padding-bottom: 90px;
}
.swiper-button-next3,
.swiper-button-prev3 {
  position: absolute;
  top: 40%;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(-1 * var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  outline: 0;
}
.swiper-button-prev3 {
  background-image: url(../tani/images/arrow-left.png) !important;
  background-size: cover;
  width: 45px !important;
  height: 45px !important;
}
.swiper-button-next3 {
  background-image: url(../tani/images/arrow-right.png) !important;
  background-size: cover;
  width: 45px !important;
  height: 45px !important;
}
.swiper-button-prev3::after,
.swiper-container-rtl .swiper-button-next3::after {
  content: none !important;
}
.swiper-button-next3:after,
.swiper-container-rtl .swiper-button-prev3:after {
  content: none !important;
}
.swiper-button-next3,
.swiper-container-rtl .swiper-button-prev3 {
  right: -75px !important;
}
.swiper-button-prev3,
.swiper-container-rtl .swiper-button-next3 {
  left: -75px !important;
}
#thumbs2 img {
  /* max-height: 105px; */
  min-height: 85px;
  -o-object-fit: cover;
  object-fit: cover;
}
#system-slider2 .swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 440px;
  /* min-height: 800px; */
  -o-object-fit: cover;
  object-fit: cover;
  padding: 50px 65px;
  max-width: 770px;
  box-sizing: border-box;
  margin: 0 auto;
  border: 1px solid #dcdddd;
}
#system-slider2 .swiper-slide img {
  margin-bottom: 30px;
}
#thumbs2 {
  height: 10%;
  box-sizing: border-box;
  padding: 0px 0;
}
#thumbs2 .swiper-slide {
  width: 20%;
  height: auto;
  opacity: 0.3;
  border: 1px solid #dcdddd;
  max-width: 147px;
  padding: 10px;
  box-sizing: border-box;
}
#thumbs2 .swiper-slide-active {
  opacity: 1;
}
.system-section-flex-img {
  max-width: 285px;
  width: 100%;
}
.system-section-flex {
  display: flex;
  margin-bottom: 55px;
  justify-content: space-between;
}
.system-section-wrap-text2 {
  font-size: 1em;
  line-height: 2;
  text-align: justify;
  margin-bottom: 75px;
}
.system-section-wrap-text3 {
  font-size: 1em;
  line-height: 2;
  text-align: justify;
  margin-bottom: 30px;
}
.system-section-wrap-text4 {
  font-size: 1em;
  line-height: 2;
  text-align: justify;
}
.system-label {
  display: flex;
  align-items: center;
  position: relative;
  background-color: #1bb2ce;
  font-size: 1.3125em;
  font-weight: 600;
  letter-spacing: 1px;
  text-align: center;
  color: #fff;
  padding: 15px 0;
  border: 1px solid #1bb2ce;
  justify-content: center;
  flex-wrap: wrap;
  width: 100%;
  margin: 0 auto 30px;
}
.system-label span {
  font-size: 0.9em;
  display: block;
  width: 100%;
}
.acd-check:checked + .system-label > .plus-icon > .op_plus::before {
  display: none;
}
.system-content2 {
  display: block;
  height: 0;
  opacity: 0;
  padding: 0;
  transition: 0.5s;
  visibility: hidden;
  display: flex;
  width: 100%;
  max-width: 1060px;
  margin: 0 auto;
}
.acd-check:checked + .system-label + .system-content2 {
  height: auto;
  opacity: 1;
  padding: 20px 0px 20px;
  visibility: visible;
  background-color: #fff;
}
.system-content-box {
  max-width: 170px;
  margin-right: 15px;
}
.system-content-box:nth-child(5) {
  margin-right: 0px;
}
.system-content2-text {
  font-size: 0.9375em;
  line-height: 1.5;
  text-align: left;
  color: #000000;
}
.system-content2-text span {
  font-size: 0.65em;
  display: block;
}
.system-content-flex {
  display: flex;
  margin: 25px 0;
}
.system-content-box img {
  height: 112px;
  -o-object-fit: cover;
  object-fit: cover;
}
.system-section3 {
  padding: 50px 0 140px;
  background-color: #faf9f8;
}
.system-section3-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.system-section3-wrap .business-section3-text {
  color: #0085ce;
  border-bottom: 2px solid #0085ce;
}
.system-section3-wrap .business-section3-title hr {
  background: #0085ce;
}
.system-side {
  position: absolute;
  top: 100px;
  width: 100%;
}
.system-li {
  font-size: 0.9375em;
  line-height: 1.87;
  text-align: center;
  color: #3e3a39;
  max-width: 150px;
  padding: 20px 0;
  border-bottom: 2px solid #dcdddd;
  text-decoration: none;
  display: block;
  transition: all 0.3s ease 0s;
}
.system-li2 {
  font-size: 0.9375em;
  line-height: 1.87;
  text-align: center;
  color: #fff;
  background-color: #1bb2ce;
  max-width: 150px;
  padding: 30px 0;
  text-decoration: none;
  display: block;
  transition: all 0.3s ease 0s;
}
.system-li span {
  font-size: 0.933em;
  display: block;
  line-height: 24px;
}
.system-li.active {
  background-color: #036eb7;
  color: #fff;
}
.system-side.m_fixed {
  left: 0;
  position: fixed;
  top: 0;
}
/* ======================
代表からのご挨拶
=========================*/
.message-section-text2 {
  font-size: 1.9375em;
  text-align: left;
  margin-bottom: 55px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP",
    メイリオ, Meiryo, serif;
  font-weight: bold;
}
.message-section-box2-text {
  font-size: 1.4em;
  line-height: 2;
  text-align: justify;
  color: #3e3a39;
  margin-bottom: 30px;
  font-weight: bold;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -webkit-font-weight: none;
  -moz-font-weight: none;
  -ms-font-weight: none;
}
.message-section-box2-text2 {
  font-size: 1em;
  line-height: 2;
  text-align: justify;
  color: #3e3a39;
}
.message-section-box2 {
  max-width: 600px;
  margin-bottom: 65px;
}
.message-section-box3 {
  max-width: 600px;
  display: flex;
  justify-content: space-between;
}
.message-section-box3-text {
  font-size: 1.2em;
  font-weight: bold;
  line-height: 2;
  text-align: justify;
}
.message-section-box3-text2 {
  font-size: 1.125em;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP",
    メイリオ, Meiryo, serif;
  font-weight: bold;
}
.message-section-box3-text2 span {
  font-size: 1.333em;
  margin-left: 20px;
}
.message-section-text {
  text-align: left;
  margin-bottom: 80px;
  width: 100%;
  max-width: 600px;
}
/*
.message-section {
  background-image: url(../tani/images/message-bg2.jpg);
  background-size: cover;
  padding: 90px 0;
  margin-top: 120px;
}
 */
.message-section-img {
  display: block;
  margin-bottom: 20px;
}
.message-section-wrap {
  max-width: 1280px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-end;
}
.message-section-box {
  padding: 0 20px 0 80px;
}
.message-section2-text {
  font-size: 1.9375em;
  text-align: center;
  margin-bottom: 60px;
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP",
    メイリオ, Meiryo, serif;
  font-weight: bold;
}
.message-section2-box {
  width: 160px;
  background-color: #023f73;
  height: 160px;
  color: #fff;
  border-radius: 80px;
  position: relative;
}
.message-section2-text2 {
  font-size: 1.75em;
  text-align: center;
  color: #231815;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  font-family: 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", "Hiragino Mincho Pro", HGS明朝E, "Noto Serif JP",
    メイリオ, Meiryo, serif;
  font-weight: bold;
  color: #fff;
}
.message-section2-flex {
  display: flex;
  max-width: 600px;
  justify-content: space-between;
  margin: 0 auto;
  padding-bottom: 90px;
}
.message-section3-ul {
  max-width: 750px;
  margin: 0 auto;
}
.message-section3-ul li {
  font-size: 1.2em;
  font-weight: 500;
  margin-bottom: 25px;
  display: flex;
  align-items: center;
}
.message-section3-ul li span {
  font-size: 1.9375em;
  color: #96866b;
  margin-right: 20px;
}
.message-section2 {
  background-color: #f5f3f0;
  padding-top: 60px;
}
.message-section3 {
  background-color: #f5f3f0;
  padding-bottom: 120px;
}
.message-color {
  color: #0085ce !important;
}
.message-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #ffffff;
  text-decoration: none;
  background-color: #0085ce;
  max-width: 380px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 16px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #0085ce;
  box-sizing: border-box;
  margin: 0 auto 15px;
}
.message-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.message-button:hover {
  background-color: #fff;
  color: #0085ce;
}
.message-hr {
  border: 1px solid #0085ce !important;
}
.message-button:hover::before {
  border-top: solid 2px #0085ce;
  border-right: solid 2px #0085ce;
}
.message-bb-color {
  background-color: #fff !important;
}
/* ======================
大規模木造
=========================*/
.daikibo-section-title {
  font-size: 2.25em;
  font-weight: bold;
  letter-spacing: 1.8px;
  text-align: center;
  margin-bottom: 35px;
}
.daikibo-section-title span {
  font-size: 0.722em;
  display: block;
}
#daikibo-slider .swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 610px;
  -o-object-fit: cover;
  object-fit: cover;
  max-width: 910px;
  box-sizing: border-box;
  margin: 0 auto;
}
#daikibo-slider .swiper-slide img {
  margin-bottom: 30px;
}
#daikibo-thumbs .swiper-slide {
  width: 20%;
  max-height: 116px;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 0.3;
  max-width: 174px;
  box-sizing: border-box;
}
#daikibo-thumbs .swiper-slide img {
  height: 112px;
}
#daikibo-thumbs .swiper-slide-active {
  opacity: 1;
  border: 2px solid #1bb2ce;
}

.daikibo-container {
  position: relative;
  max-width: 910px;
}
.daikibo-section-box {
  max-width: 910px;
  margin: 0 auto 60px;
}
.daikibo-table {
  max-width: 1060px;
  margin: 0 auto 90px;
  width: 100%;
}
.daikibo-table tr {
  border: 1px solid #d1d1d1;
}
.daikibo-th {
  font-size: 1em;
  font-weight: bold;
  line-height: 2.06;
  letter-spacing: 0.8px;
  text-align: center;
  width: 25%;
  padding: 20px 0;
  background-color: #f5f5f5;
}
.daikibo-td {
  font-size: 0.9375em;
  line-height: 2.2;
  letter-spacing: 0.75px;
  text-align: left;
  color: #000000;
  padding: 20px 0;
  padding-left: 35px;
}
.daikibo-table-text {
  font-size: 1em;
  line-height: 1.73;
  letter-spacing: 0.75px;
  text-align: left;
  margin-bottom: 25px;
}
.daikibo-table-text2 {
  font-size: 1em;
  line-height: 1.73;
  letter-spacing: 0.75px;
  text-align: left;
}
.daikibo-section {
  max-width: 1060px;
  margin: 0 auto;
  padding-top: 120px;
  padding-bottom: 90px;
}
.daikibo-section-title2 {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.27;
  letter-spacing: 0.65px;
  text-align: left;
  color: #21b8ce;
  padding-bottom: 22px;
  border-bottom: 2px solid #d1d1d1;
  margin-bottom: 55px;
}
.daikibo-section-text {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 55px;
}
.daikibo-section-text span {
  color: #1bb2ce;
}
.daikibo-section-li {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.78;
  text-align: center;
  border-right: 1px solid #fff;
  max-width: 195px;
  width: 100%;
}
.daikibo-section-li2 {
  font-size: 1.125em;
  font-weight: bold;
  line-height: 1.78;
  text-align: center;
  max-width: 315px;
  width: 100%;
}
.daikibo-section-ul li span {
  font-size: 1.777em;
  display: block;
  color: #1bb2ce;
  font-family: "avenir";
}
.daikibo-section-ul {
  display: flex;
  background-color: #ddf3f8;
  max-width: 900px;
  padding: 22px 0;
  width: 100%;
  align-items: center;
}
.daikibo-section-flex {
  display: flex;
  width: 100%;
  margin-bottom: 45px;
}
.daikibo-section-img {
  max-width: 160px;
  display: block;
  width: 100%;
}
.daikibo-section-text2 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
}
.daikibo-section2-wrap {
  max-width: 1060px;
  margin: 0 auto;
}
.daikibo-section2-title hr {
  width: 4px;
  height: 30px;
  border: none;
  background: #21b8ce;
}
.daikibo-section2-title {
  margin-bottom: 60px;
}
.daikibo-section2-text {
  font-size: 2.25em;
  font-weight: bold;
  text-align: center;
  padding-bottom: 28px;
  color: #21b8ce;
  border-bottom: 2px solid #21b8ce;
}
.daikibo-section2-text span {
  font-size: 0.444em;
  display: block;
  font-weight: 500;
  color: #3e3a39;
  font-family: "avenir";
}
.daikibo-section2-text3 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 25px;
}
.daikibo-section2-text2 {
  font-size: 1.625em;
  font-weight: bold;
  line-height: 1.27;
  letter-spacing: 0.65px;
  margin-bottom: 40px;
}
.daikibo-section2-text4 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
  margin-bottom: 40px;
}
.daikibo-section2-text5 {
  font-size: 1em;
  font-weight: 500;
  line-height: 2;
  text-align: justify;
}
.daikibo-section2-img {
  margin-bottom: 45px;
}
.daikibo-section2 {
  background-color: #f5f5f5;
  padding-top: 60px;
  padding-bottom: 120px;
}
/* ======================
TOP
=========================*/
#main-slider .top-section .swiper-slide {
  height: 100%;
}
.top-section-title {
  display: flex;
  align-items: baseline;
  margin-bottom: 60px;
}
.swiper-container .swiper-slide .top-section-title img {
  max-width: 165px;
  margin-right: 20px;
}
.top-section-title img {
  max-width: 165px;
  margin-right: 20px;
}
.top-section-title-text {
  font-size: 1.5em;
  font-weight: bold;
}
.container {
  position: relative;
  max-width: 580px;
}
#thumbs img {
  /* max-height: 105px; */
  min-height: 70px;
  -o-object-fit: cover;
  object-fit: cover;
}
.swiper-container .swiper-slide img {
  max-width: 100%;
  width: 100%;
  height: auto;
  max-height: 360px;
  /* min-height: 800px; */
  -o-object-fit: cover;
  object-fit: cover;
}
#slider .swiper-slide img {
  margin-bottom: 40px;
}
#thumbs {
  height: 10%;
  box-sizing: border-box;
  padding: 0px 0;
}
#thumbs .swiper-slide {
  width: calc(100% / 3) !important;
  height: auto;
  opacity: 0.3;
}
#thumbs2 .swiper-slide {
  width: calc(100% / 3) !important;
  height: auto;
  opacity: 0.3;
}
#thumbs .swiper-slide-active {
  opacity: 1;
}
.top-section-left-text {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  margin-bottom: 90px;
}
.top-section-button {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #ffffff;
  text-decoration: none;
  background-color: #1bb2ce;
  max-width: 300px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 17px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  border: 2px solid #1bb2ce;
}
.top-section-button.tb {
  background: #023f73;
  border: 2px solid #023f73;
}
.top-section-button::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 10px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.top-section-button:hover {
  background-color: #fff;
  color: #1bb2ce;
}
.top-section-button.tb:hover {
  color: #023f73;
}
.top-section-button:hover::before {
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
}
.top-section-button.tb:hover::before {
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
}
.top-section-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: space-between;
}
.top-section-left {
  max-width: 370px;
}
.top-section {
  /* padding: 90px 0; */
  position: relative;
  height: 100vh;
  /* height: -webkit-fill-available; */
}
.top-section2-title {
  flex-shrink: 0;
}
.top-section2-title-text {
  font-size: 1em;
  font-weight: bold;
}
.top-section2 .top-section2-title-text span {
  font-size: 2em;
}
.top-section2-title-text span {
  font-weight: 900;
  font-size: 1.5em;
  margin-right: 10px;
}
.top-section3 .top-section2-flex-text {
  max-width: 630px;
}
.top-section2-flex-text {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  max-width: 610px;
}
.top-section2-flex {
  display: flex;
  max-width: 1060px;
  align-items: center;
  margin: 0 auto 65px;
  color: #fff;
}
.top-section2-flex hr {
  margin: 0 60px;
  height: 65px;
  border: 1px solid #fff;
}
.top-section2 {
  position: relative;
  background-image: url(../tani/images/business-bg.jpg);
  /* padding: 90px 0; */
  background-size: cover;
  height: 100vh;
  /* height: -webkit-fill-available; */
}
.top-section2-flex2-text {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  font-size: 1.5em;
  font-weight: bold;
  text-align: center;
  z-index: 1;
  width: 100%;
  line-height: normal;
}
.top-section2-flex2 a:hover {
  color: #3e3a39;
}
.top-section2-flex2 a {
  display: block;
  max-width: 345px;
  position: relative;
  text-decoration: none;
  color: #fff;
  transition: all 0.3s ease 0s;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
.top-section2-flex2 a:first-child {
  margin-bottom: 25px;
}
.top-section2-flex2 a::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  transition: all 0.3s ease 0s;
}
.triangle {
  width: 0;
  height: 0;
  border-left: 30px solid #003894;
  border-bottom: 30px solid transparent;
  position: absolute;
  top: 0;
  z-index: 10;
}
.top-section2-flex2 a:hover:after {
  background: #fff;
  opacity: 0.5;
}
.top-section2-flex2 {
  display: flex;
  max-width: 1060px;
  flex-wrap: wrap;
  margin: 0 auto;
  justify-content: center;
  gap: 10px;
}
.top-section3-flex {
  display: flex;
  max-width: 1060px;
  align-items: center;
  margin: 0 auto 65px;
}
.top-section3-title {
  display: flex;
  align-items: flex-end;
}
.swiper-container .swiper-slide .top-section3-title img {
  max-width: 165px;
  margin-right: 20px;
}
.top-section3-title img {
  max-width: 165px;
  margin-right: 20px;
}
.top-section3-flex hr {
  margin: 0 60px;
  height: 65px;
  border: 1px solid #003894;
}
.top-section3-box-text {
  font-size: 1.5em;
  font-weight: bold;
  margin-bottom: 75px;
}
.top-section3-box-text span {
  font-weight: 500;
  display: block;
  font-size: 0.666em;
  margin-bottom: 10px;
}
.top-section3-box {
  background-color: #003f73;
  display: block;
  text-decoration: none;
  color: #fff;
  padding: 30px 20px 40px;
  position: relative;
  max-width: 515px;
  width: 100%;
  box-sizing: border-box;
  height: 214px;
  -o-object-fit: cover;
  object-fit: cover;
}
.top-section3-box:first-child {
  margin-bottom: 30px;
}
.swiper-container .swiper-slide .top-section3-box img {
  max-width: 300px;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
}
.top-section3-box img {
  width: 300px;
  height: 214px;
  object-fit: cover;
  position: absolute;
  top: 0;
  right: 0;
}
.top-section3-link {
  font-size: 0.75em;
  font-weight: 500;
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: inline-block;
}
.top-section3-link::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.top-section3-link::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: -25px;
  margin-top: -3px;
  transition: all 0.3s ease 0s;
}
.top-section3-box:hover .top-section3-link::after {
  transform: scale(1, 1);
}
.top-section3-flex2 {
  display: flex;
  flex-wrap: wrap;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: space-between;
}
.top-section3 {
  position: relative;
  background-image: url(../tani/images/about-bg.jpg);
  /* padding: 90px 0; */
  background-size: cover;
  height: 100vh;
  /* height: -webkit-fill-available; */
}
#PageTopBtn {
  width: 100%;
  display: block;
  border: 2px solid #fff;
  border-radius: 50%;
}
.scroll-button {
  position: fixed;
  right: 30px;
  bottom: 100px;
  max-width: 65px;
  z-index: 999;
  transition: opacity 1s ease-out;
}
.top-section4-left-text {
  font-size: 1em;
  font-weight: 500;
  text-align: justify;
  margin-bottom: 30px;
  height: 72px;
}
.top-section4-left {
  width: 100%;
  max-width: 505px;
}
.top-section4-right {
  width: 100%;
  max-width: 505px;
}
.top-section4-button {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 16px;
  color: #003f73;
  text-decoration: none;
  background-color: #fff;
  max-width: 180px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 7px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  /* border: 2px solid #fff; */
  margin-bottom: 20px;
}
.top-section4-button::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #003f73;
  border-right: solid 1px #003f73;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.top-section4-box {
  position: relative;
  margin-bottom: 30px;
  height: 380px;
}
.top-section4-box img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.top-section4-box2 {
  position: absolute;
  top: 50%;
  left: 30px;
  transform: translateY(-50%);
  width: 100%;
}
.top-section4-button:hover {
  background-color: #003f73;
  color: #fff;
}
.top-section4-button:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.top-section4-box-text {
  font-size: 1.125em;
  font-weight: 500;
  text-align: justify;
  color: #000000;
  line-height: 18px;
  margin-bottom: 20px;
  text-align: center;
}
.swiper-container .swiper-slide .top-section4-box-link img {
  max-width: 22px;
  margin-right: 10px;
  margin-top: 5px;
}
.top-section4-box-link img {
  max-width: 22px;
  margin-right: 10px;
  margin-top: 5px;
}
.top-section4-box-link {
  font-size: 2.2em;
  font-weight: 900;
  color: #0085ce;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
}
.top-section4-box-link span {
  font-size: 0.4em;
  color: #fff;
  background: #0085ce;
  width: 80px;
  text-align: center;
  margin-right: 20px;
  font-weight: 400;
  padding: 2px 0;
}
.top-section4-box-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  text-align: center;
  margin-bottom: 15px;
  padding-left: 120px;
}
.top-section4-box-text3 {
  font-size: 0.8em;
  font-weight: 500;
  text-align: center;
}
.top-section4-button2 {
  font-size: 1em;
  font-weight: bold;
  line-height: 16px;
  color: #ffffff;
  text-decoration: none;
  background-color: #0085ce;
  max-width: 380px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 16px 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  box-sizing: border-box;
  margin: 30px auto 15px;
  border: 2px solid #0085ce;
}
.top-section4-button2::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.top-section4-button2:hover {
  background-color: #fff;
  color: #1bb2ce;
}
.top-section4-button2:hover::before {
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
}
.top-section4-box3 {
  position: relative;
  padding: 30px 50px;
  box-sizing: border-box;
  background-color: #fff;
  height: 380px;
}
.top-section4 {
  /* padding-bottom: 145px;
  padding-top: 95px; */
  background-color: #ebf5fb;
  position: relative;
  height: 100vh;
  /* height: -webkit-fill-available; */
}
.top-section4-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: space-between;
}
.header-bg {
  position: relative;
}
.header-bg > img {
  height: 100%;
  width: 100%;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform: translateZ(0);
}

.catch-text {
  max-width: 795px;
  width: 100%;
  margin: 0 auto;
}
.catch-text img {
  width: 100%;
  height: auto;
}
.catch {
  position: absolute;
  top: 23%;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  width: 100%;
  text-align: center;
  font-size: 3vw;
  color: #fff;
  font-weight: bold;
}
.header-bg-text {
  font-size: 1.4vw;
  font-weight: bold;
  letter-spacing: 0.9px;
  text-align: left;
  padding-left: 20px;
  border-left: 3px solid #21b8ce;
  color: #000;
  line-height: 1.7;
}
.header-flex {
  display: flex;
}
.header-bg-box {
  width: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 50%;
  box-sizing: border-box;
  padding: 0 1%;
}
.header-bg-box-inner {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
}
.header-bg-box .top-section-button {
  margin-left: 2vw;
  width: 14vw;
  font-size: 0.9em;
}
.top-section5-title {
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  margin-bottom: 35px;
}
.top-section5-box-text {
  font-size: 1.125em;
  font-weight: bold;
  text-align: center;
}
.top-section5-box-link {
  display: block;
  max-width: 320px;
  position: relative;
  text-decoration: none;
  color: #fff;
  transition: all 0.3s ease 0s;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  margin-bottom: 30px;
}
.top-section5-box-link::after {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.6;
  transition: all 0.3s ease 0s;
}
.top-section5-box-link:hover:after {
  background: #fff;
  opacity: 0.5;
}
.top-section5-box2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
  z-index: 1;
  max-width: 225px;
  transition: all 0.3s ease 0s;
}
.top-section5-box-link:hover .top-section5-box2 {
  color: #3e3a39;
}
.top-section5-box {
  max-width: 320px;
  width: 100%;
}
.top-section5-box-text2 {
  font-size: 0.9375em;
  font-weight: 500;
  color: #000000;
  text-align: justify;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  height: 45px;
  display: -webkit-box;
}
.top-section5 {
  /* padding: 135px 0; */
  position: relative;
  height: 100vh;
  /* height: -webkit-fill-available; */
}
.header-main {
  position: relative;
  /* height: 100vh; */
  /* height: -webkit-fill-available; */
}
.box-inner {
  position: absolute;
  /* top: calc(50% - 60px); */
  top: calc(50% - 0px);
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  width: 100%;
}
.top-section5-flex {
  display: flex;
  max-width: 1060px;
  margin: 0 auto;
  justify-content: center;
  gap: 40px;
}
.news-wrap {
  background-color: #003f73;
  color: #fff;
  width: 50%;
  padding: 20px 45px 20px;
  box-sizing: border-box;
  z-index: 10;
  flex-grow: 1;
  flex-shrink: 0;
  flex-basis: 50%;
}
.news-box-date {
  font-size: 0.875em;
  font-weight: bold;
}
.news-box {
  display: flex;
  align-items: center;
  margin-bottom: 25px;
}

.news-box a {
  text-decoration: none;
  color: #fff;
  font-weight: bold;
  font-size: 0.875em;
  margin-left: 55px;
  position: relative;
}
.news-box a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.news-box a:hover::after {
  transform: scale(1, 1);
}
.news-button {
  font-size: 0.875em;
  font-weight: bold;
  line-height: 16px;
  color: #003f73;
  text-decoration: none;
  background-color: #fff;
  max-width: 180px;
  width: 100%;
  display: block;
  text-align: center;
  padding: 1vw 0;
  border-radius: 150px;
  position: relative;
  transition: all 0.3s ease 0s;
  margin-bottom: 10px;
  margin-left: 135px;
}
.news-button::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 1px #003f73;
  border-right: solid 1px #003f73;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 15px;
  margin-top: -4px;
  transition: all 0.3s ease 0s;
}
.news-button:hover {
  background-color: #003f73;
  color: #fff;
  border: 1px solid #fff;
}
.news-button:hover::before {
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
}
.radio-field-text {
  width: 100%;
  max-width: 195px;
  display: block;
  font-size: 0.8125em;
  line-height: 13px;
  font-weight: bold;
  text-align: center;
  color: #ffffff;
  background-color: #1bb2ce;
  padding: 10px 0;
  box-sizing: border-box;
  /* position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%); */
}
.cate_radio:checked + .radio-field-text {
  background-color: #fff;
  color: #1bb2ce;
}
.cate_radio {
  display: none;
}
.horizontal-item label {
  width: 100%;
  display: block;
  margin-bottom: 15px;
}
.news-wrap .top-section2-title-text {
  margin-bottom: 10px;
}
.news-left {
  margin-right: 50px;
}
@media (max-width: 1540px) and (min-width: 1001px) {
  .news-left {
    width: 100%;
    display: flex;
  }

  .categories99 {
    display: flex;
    margin-left: 20px;
  }

  .categories99 span {
    width: 140px;
    margin-right: 10px;
  }

  .header-bg-box .top-section-button {
    width: 14vw;
  }

  .news-box {
    margin-bottom: 15px;
  }
}
@media (max-width: 1080px) and (min-width: 1001px) {
  .header-bg-box-inner {
    flex-wrap: wrap;
    justify-content: flex-start;
  }

  .header-bg-text {
    width: 100%;
    font-size: 2vw;
  }

  .header-bg-box .top-section-button {
    margin-left: 0;
    margin-top: 20px;
    width: 24vw;
  }
}
.top-section3-title2 {
  display: flex;
  align-items: baseline;
}
.swiper-container .swiper-slide .top-section3-title2 img {
  max-width: 240px;
  margin-right: 20px;
}
.top-section3-title2 img {
  max-width: 240px;
  margin-right: 20px;
}
.arrow2 {
  position: relative;
  display: inline-block;
}
.arrow2::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-top: -4px;
  transform: translateX(-50%) rotate(135deg);
  transition: all 0.3s ease 0s;
}
#mega-menu2:hover .arrow2::before {
  transform: translate(-50%, -50%) rotate(-45deg);
  bottom: -15px;
}
.menu-content2 {
  display: block;
  height: 0;
  opacity: 0;
  /* padding: 0 75px; */
  transition: all 0.3s ease 0s;
  visibility: hidden;
  display: flex;
  position: absolute;
  left: 320px;
  top: 80px;
  width: 100%;
  pointer-events: none;
}
#mega-menu2:hover .menu-content2 {
  height: 390px;
  opacity: 1;
  visibility: visible;
  z-index: 10;
  max-width: unset;
  width: 100%;
  top: 80px;
  background-color: rgba(25, 82, 129, 0.9);
  pointer-events: auto;
}
#mega-menu2:hover .menu-content2 .menu-content-flex2 {
  height: auto;
  opacity: 1;
  visibility: visible;
}
.menu-link-circle-flex .header-ul a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  top: unset;
  opacity: unset;
}
.header-ul a:hover::after {
  transform: scale(1, 1);
}
.header-ul {
  max-width: 200px;
  width: 100%;
}
.header-ul a {
  display: initial !important;
  color: #fff !important;
  font-size: 0.875em;
  position: relative;
  text-decoration: none;
}
.header-ul .footer-second {
  height: auto;
  line-height: normal;
}
.menu-content-flex2 {
  display: flex;
  margin: 55px auto;
  max-width: 960px;
  justify-content: space-between;
  width: 100%;
  align-items: end;
  height: 280px;
  opacity: 0;
  transition: all 0.3s ease 0s;
}
.header-ul .footer-second::before {
  content: "";
  display: block;
  position: absolute;
  left: 0px;
  height: 2px;
  width: 15px;
  background: #fff;
  top: 55%;
  transform: translateY(-50%);
}
.arrow3 {
  position: relative;
  display: inline-block;
}
.arrow3::before {
  content: "";
  width: 6px;
  height: 6px;
  border: 0px;
  border-top: solid 2px #1bb2ce;
  border-right: solid 2px #1bb2ce;
  position: absolute;
  bottom: -10px;
  left: 50%;
  margin-top: -4px;
  transform: translateX(-50%) rotate(135deg);
  transition: all 0.3s ease 0s;
}
#mega-menu3:hover .arrow3::before {
  transform: translate(-50%, -50%) rotate(-45deg);
  bottom: -15px;
}
.menu-content3 {
  display: block;
  height: 0;
  opacity: 0;
  /* padding: 0 75px; */
  transition: all 0.3s ease 0s;
  visibility: hidden;
  display: flex;
  position: absolute;
  left: 320px;
  top: 80px;
  width: 100%;
  pointer-events: none;
}
#mega-menu3:hover .menu-content3 {
  height: 560px;
  opacity: 1;
  visibility: visible;
  z-index: 10;
  max-width: unset;
  width: 100%;
  top: 80px;
  background-color: rgba(25, 82, 129, 0.9);
  pointer-events: auto;
}
#mega-menu3:hover .menu-content3 .menu-content-flex2 {
  height: auto;
  opacity: 1;
  visibility: visible;
}
.mega-menu3-link {
  font-size: 0.9375em;
  font-weight: bold;
  letter-spacing: 0.75px;
  text-align: left;
  color: #ffffff;
  text-decoration: none;
  border-bottom: 2px solid;
  padding-bottom: 15px;
  display: block;
  line-height: normal;
  margin-bottom: 20px;
  padding-left: 40px;
  position: relative;
}
.mega-menu3-link:hover::before {
  right: 25px;
}
.mega-menu3-link::before {
  content: "";
  width: 8px;
  height: 8px;
  border: 0px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 30px;
  margin-top: -10px;
  transition: all 0.3s ease 0s;
}
.mega-menu3-box {
  width: 100%;
  max-width: 300px;
}
.mega-menu3-box .header-ul a::after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
  top: unset;
  opacity: unset;
}
.mega-menu3-box a:hover::after {
  transform: scale(1, 1);
}
.mega-menu3-box .header-ul {
  margin-left: 40px;
}
.mega-menu3-box img {
  margin-bottom: 30px;
}
.mega-menu3-flex {
  display: flex;
  width: 100%;
  max-width: 640px;
  justify-content: space-between;
  align-items: baseline;
}

#main-slider .swiper-slide {
  height: 100vh;
  width: 100vw;
  height: 100vh;
  /* height: -webkit-fill-available!important; */
}
.swiper-container .swiper-slide .header-bg img {
  /* max-height: none; */
  /* max-height: 580px; */
  /* width: 50%; */
  max-height: 55vh;
}
#main-slider {
  height: 100vh;
}
.swiper-pagination-bullet-active {
  background: #1bb2ce;
}
.swiper-container-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 15px 0;
}
.swiper-container-vertical > .swiper-pagination-bullets {
  right: 60px;
}
.top-section3-img2 {
  display: none;
}
.tb2 {
  display: none;
}
.sp-1240 {
  display: none;
}
.tb2-flex {
  display: none;
}
.footer-box-wrap-text a {
  text-decoration: none;
  color: #023f73;
}
.footer-box-wrap-text a.link {
  position: relative;
}
.footer-box-wrap-text a.link:after {
  position: absolute;
  bottom: -8px;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #023f73;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.footer-box-wrap-text a.link:hover::after {
  transform: scale(1, 1);
}
.fix-button {
  display: none;
}
.sp-1000 {
  display: none;
}
.support-br {
  display: none;
}
.message-section-img {
  display: none;
}

/* ======================
download
=========================*/
.download {
  width: 100%;
  max-width: 700px;
  margin: 0 auto;
  padding-top: 100px;
  padding-bottom: 100px;
}

.download-text {
  text-align: center;
  margin-bottom: 60px;
}

.download-list {
  display: flex;
  justify-content: space-between;
}

.download-item {
  width: 48%;
  border: 2px solid #023f73;
}

.download-head {
  background: #023f73;
  color: #fff;
  font-size: 18px;
  padding: 10px 0;
  text-align: center;
}

.download-body {
  background: #fff;
  padding: 20px 0;
}

.download-format {
  display: flex;
  justify-content: center;
  align-items: center;
}

.download-icon {
  width: 40px;
  margin-right: 20px;
}

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

.download-btn {
  position: relative;
  width: 80%;
  margin: 20px auto 0;
  display: block;
  background: #b3c5d5;
  text-decoration: none;
  color: #fff;
  border-radius: 20px;
  padding: 10px 0;
  text-align: center;
}

.download-btn::after {
  content: "";
  width: 15px;
  height: 15px;
  background: url("./images/icon_download.png") left top no-repeat;
  background-size: 100%;
  position: absolute;
  top: 50%;
  right: 30px;
  transform: translate(0, -50%);
}
.message-section {
  background-image: url(../tani/images/message-bg2.jpg);
  background-size: cover;
  padding: 90px 0;
  margin-top: 120px;
}
@media screen and (min-width: 2100px) {
  .news-wrap {
    bottom: 80px;
  }
}
@media screen and (max-width: 1240px) {
  .message-section {
    background-position: top left -85px;
    padding: 45px 0;
  }
  .footer-flex3 {
    width: 90%;
    flex-wrap: wrap-reverse;
    justify-content: center;
  }
  .footer-flex2 {
    width: 100%;
  }
  .pc-1240 {
    display: none;
  }
  .sp-1240 {
    display: block;
  }
  .br-1240 {
    display: none;
  }
  .footer-flex {
    max-width: unset;
  }
  .footer-wrap {
    padding: 60px 0px 0px;
  }
  .footer-wrap2 {
    padding: 60px 0px 0px;
  }
}
@media screen and (max-width: 1200px) {
  .head-menu li {
    margin-left: 20px;
  }
  .news-wrap {
    bottom: -100px;
  }
  /* ======================
採用（１２００）
=========================*/
  .recruit-section2-flex {
    width: 90%;
  }
  .recruit-section2-flex2 {
    width: 90%;
  }
  .recruit-section2-right {
    width: 46%;
  }
  .recruit-section2-right2 {
    width: 46%;
  }
  /* ======================
お知らせ一覧（１２００）
=========================*/
  .news-section {
    width: 90%;
  }
  /* ======================
代表あいさつ（１２００）
=========================*/
  .message-section-wrap {
    width: 90%;
  }
  .message-section {
    background-position: top left -85px;
    padding: 45px 0;
  }
  .message-section-box {
    padding: 0;
  }
  /* ======================
プラポリ
=========================*/
  .privacy-section {
    width: 90%;
  }
  .company-section5 {
    width: 100%;
    padding-left: 10%;
    padding-right: 10%;
    box-sizing: border-box;
  }
  .company-section5-box {
    width: 48%;
  }
  .company-section5-title {
    flex-wrap: wrap;
  }
  .company-section5-title img {
    margin-bottom: 10px;
  }
  .message-section {
    background-position: top left -85px;
    padding: 45px 0;
  }
  .message-section-img {
    display: block;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 1060px) {
  /* ======================
テンプレート（1060）
=========================*/
  .recruit-item10-flex-left,
  .recruit-item10-flex-right {
    width: 48%;
  }
  /* ======================
採用（1060）
=========================*/
  .recruit-section-box {
    width: 90%;
  }
  .recruit-section5-flex {
    width: 90%;
  }
  .recruit-section5-content {
    width: 32%;
  }

  .recruit-section3-flex {
    height: unset;
    overflow: hidden;
    width: 90%;
    align-items: center;
    background-color: #1bb2ce;
  }
  .recruit-section3-left {
    width: 35%;
  }
  .recruit-section3-right {
    box-sizing: border-box;
    padding: 0 65px;
    width: 65%;
  }
  .recruit-section3-right-text {
    font-size: 1.75em;
    margin-bottom: 10px;
  }
  .recruit-section3-button {
    padding: 10px 0;
  }
  .recruit-section4-content {
    width: 90%;
  }
  .header-box2-text3 {
    font-size: 2.25em;
    margin-bottom: 40px;
  }
  /* ======================
インターン（1060）
=========================*/
  .intern-section-wrap {
    width: 90%;
  }
  .recruit-item09-box3 {
    width: 48%;
  }
  .recruit-item14-left {
    width: 33%;
  }

  /* ======================
キャリア（1060）
=========================*/
  .career-section2-wrap {
    width: 90%;
  }
  /* ======================
新卒（1060）
=========================*/
  .new-section-wrap {
    width: 90%;
  }
  .new-section-title {
    width: 90%;
  }
  .new-section-flex {
    width: 90%;
  }
  .new-section-flex2 {
    width: 90%;
  }
  .new-section-box {
    width: 50%;
  }
  .new-section-img {
    width: 45%;
  }
  .new-section-box2 {
    width: 45%;
    height: unset;
    min-height: 410px;
  }
  .new-section-wrap2 {
    position: relative;
    top: unset;
    left: unset;
    transform: unset;
    width: 100%;
    margin-top: 40px;
  }
  .new-section-box2-text {
    font-size: 1.25em;
    margin-bottom: 15px;
  }
  .new-section-box2-text2 {
    font-size: 0.875em;
  }
  .new-section2-wrap {
    width: 90%;
  }
  .new-section2-wrap-text {
    font-size: 1em;
    margin-bottom: 30px;
  }
  /* ======================
会社概要（1060）
=========================*/
  .company-section {
    width: 90%;
  }
  .company-section2-wrap {
    width: 90%;
  }
  .company-section3 {
    width: 90%;
  }
  .company-section3-flex-left {
    width: 48%;
  }
  .company-section2-img4 {
    width: 20%;
  }
  .company-section4-wrap {
    width: 90%;
  }
  .company-section4-right {
    width: 37.5%;
  }
  .company-section4-left {
    width: 60%;
  }
  .company-section4-box2 {
    width: 48%;
  }
  .company-section5-box {
    padding-left: 15px;
    padding-right: 15px;
  }
  .company-section5-box-link span {
    width: 60px;
    font-size: 12px;
  }
  .company-section5-box-link img {
    max-width: 16px;
    margin-right: 4px;
  }
  .company-section5-box-link {
    font-size: 1.6em;
  }
  /* ======================
商品構成（1060）
=========================*/
  .system-section-flex-img {
    width: 32%;
  }
  .system-section3-wrap {
    width: 90%;
  }
  .outline-section-box {
    width: 90%;
  }
  .outline-section-button {
    width: 32%;
  }
  .outline-section-box2 {
    width: 90%;
  }
  .outline-section-button2 {
    width: 32%;
  }
  .outline-section-flex::after {
    width: 32%;
  }
  .outline-article-left {
    width: 60%;
  }
  .outline-article-right {
    width: 37%;
  }
  .outline-article-text {
    width: 90%;
    margin: 0 auto 60px;
  }
  .outline-content {
    width: 90%;
  }
  .outline-article-flex {
    width: 90%;
  }
  .outline-content2 {
    width: 90%;
    margin: 0 auto;
  }
  /* ======================
実績詳細（1060）
=========================*/
  .single-section-wrap {
    width: 90%;
  }
  /* ======================
実績一覧（1060）
=========================*/
  .archive-section {
    width: 90%;
  }
  .radio-box5 {
    max-width: unset;
    margin-bottom: 20px;
  }
  .radio-flex {
    flex-wrap: wrap;
  }
  .radio-box2 {
    max-width: unset;
    margin-bottom: 20px;
  }
  .radio-box4 {
    max-width: unset;
  }
  .radio-right {
    width: 49%;
    max-width: unset;
  }
  .radio-left {
    width: 49%;
    max-width: unset;
  }
  .radio-box {
    max-width: unset;
    margin-bottom: 10px;
  }
  .archive-section2-flex {
    width: 90%;
  }
  .archive-section2-flex .outline2-article2-box {
    margin-right: 2%;
    margin-bottom: 40px;
  }
  .outline2-article2-box {
    width: 32%;
  }
  /* ======================
システム建築（1060）
=========================*/
  .business-section {
    width: 90%;
  }
  .career-wrap {
    width: 90%;
  }
  .business-section-left {
    width: 45%;
  }
  .business-section-right {
    width: 50%;
  }
  .business-section2-wrap2 {
    width: 90%;
    margin: 0 auto;
  }
  .business-section2-wrap4 {
    width: 90%;
  }
  .business-section2-wrap4-title:after {
    margin-left: 10px;
    position: absolute;
    right: 0;
  }
  .business-section2-wrap4-title {
    position: relative;
  }
  .business-section2-wrap4-box {
    width: 32%;
  }
  .business-section2-wrap5 {
    width: 90%;
  }
  .business-section2-wrap4-flex2::after {
    width: 32%;
  }
  .business-section3 {
    width: 90%;
  }
  .business-section3-right {
    margin-left: 30px;
  }
  .business-section3-left {
    width: 45%;
  }
  .business-section4 {
    width: 90%;
  }
  .business-section3-flex2-box {
    width: 23%;
  }
  .business-section5-wrap {
    width: 90%;
  }
  /* ======================
大規模木造（1060）
=========================*/
  .daikibo-section {
    width: 90%;
  }
  .daikibo-section2-wrap {
    width: 90%;
  }
  .daikibo-section-box {
    width: 90%;
  }
  /* ======================
お問い合わせ（1060）
=========================*/
  .business-section6 {
    width: 90%;
  }
  .form-wrap {
    padding: 30px 15px 90px;
  }
  .business-section6-box {
    width: 48%;
  }
  /* ======================
TOP(1060)
=========================*/
  .top-section5-flex {
    width: 90%;
  }
  .top-section3-flex {
    width: 90%;
  }
  .top-section5-box {
    width: 32%;
  }
  .top-section3-flex {
    width: 90%;
  }
  .top-section3-flex2 {
    width: 90%;
  }
  .top-section3-box {
    width: 48%;
  }
  .top-section3-flex hr {
    margin: 0 30px;
  }
  .top-section2-flex {
    width: 90%;
  }
  .top-section2-flex hr {
    margin: 0 30px;
  }
  .top-section2-flex2 {
    width: 90%;
  }
  .top-section2-flex2 a {
    width: 32%;
  }
  .top-section-flex {
    width: 90%;
  }
  .top-section-right {
    width: 55%;
  }
  .top-section-left {
    width: 35%;
  }
  .top-section4-flex {
    width: 90%;
  }
  .top-section4-left {
    width: 48%;
  }
  .top-section4-right {
    width: 48%;
  }
  /* ファーストビュー */
  .top-section3 .top-section3-flex{
      flex-wrap: wrap;
      margin-bottom: 1.5rem;
  }
  .top-section3 .top-section3-title {
    width: 100%;
    margin-bottom: 1rem;
  }
    .top-section3 .top-section3-flex hr {
      display: none;
  }
  .top-section3-img2 {
    display: block;
  }
  .top-section3-flex hr {
    display: none;
  }
  .top-section3-img {
    display: none;
  }
  .swiper-container .swiper-slide .top-section3-box img {
    max-width: unset;
    position: relative;
    height: auto;
    max-height: 200px;
    object-position: top;
  }
  .top-section3-box img {
    max-width: unset;
    position: relative;
    width: 100%;
    height: auto;
    object-fit: unset;
  }
  .top-section3-box {
    height: unset;
    padding: 0;
    margin-bottom: 20px;
  }
  .top-section3-box-text {
    margin: 5px 0;
    text-align: center;
    font-size: 1.125rem;
  }
  .top-section3-link {
    display: none;
  }
  .top-section3-box-text span {
    margin-bottom: 3px;
  }
  .top-section2 .top-section2-flex {
      flex-wrap: wrap;
      margin-bottom: 1.5rem;
  }
  .top-section2 .top-section2-flex hr {
      display: none;
  }
  .top-section2 .top-section3-title {
    width: 100%;
    margin-bottom: 1rem;
}
.top-section2-flex2-text {
    font-size: 1.125rem;
}
.top-section-flex .top-section-title {
    margin-bottom: 30px;
    flex-wrap: wrap;
}
.top-section4-flex .top-section-title {
    margin-bottom: 30px;
    flex-wrap: wrap;
}
.top-section-flex .top-section-title img {
    margin-bottom: 10px;
}
.top-section4-flex .top-section-title img {
    margin-bottom: 10px;
}
.top-section-flex .top-section-title-text {
    width: 100%;
}
.top-section4-flex .top-section-title-text {
    width: 100%;
}
.swiper-container .swiper-slide .top-section4-box img {
  height: 100%;
}
.top-section4-box3 {
    padding: 30px 10px;
}
.top-section4-box-link {
  flex-wrap: wrap;
}
}
@media screen and (max-width: 1024px) {
  /* ======================
地域応援（1024）
=========================*/
  .support-section-box {
    width: 32%;
  }
  .support-section {
    width: 90%;
  }
  .support-section2-wrap {
    width: 90%;
  }
  .support-section2-right {
    width: 48%;
  }
  .support-section2-left {
    width: 45%;
  }
  .support-section2-text {
    font-size: 1.5em;
    margin-bottom: 15px;
  }
  .support-section {
    width: 90%;
  }
  /* ======================
技術紹介（1024）
=========================*/
  .system-section-wrap {
    width: 70%;
  }
  #system-slider .swiper-slide img {
    width: 99%;
  }
  /* ======================
実績詳細（1024）
=========================*/
  .single-section-img {
    width: 90%;
  }
  /* ======================
総合事業(1024)
=========================*/
  .outline2-section-wrap {
    width: 90%;
  }
  .outline2-article-right {
    width: 38%;
  }
  .outline2-article-left {
    width: 60%;
  }
  .outline2-article2-flex {
    width: 90%;
  }
  .outline2-article2-box {
    width: 32%;
  }
  .outline2-article2-box2 dl dd {
    font-size: 0.875em;
  }
  .outline2-article-flex2-left {
    width: 48%;
  }
  .outline2-article-flex2-right {
    width: 48%;
  }
  /* ======================
リニューアル事業(1024)
=========================*/
  .renewal-section {
    width: 90%;
    margin: 0 auto;
  }
  .renewal-section-left {
    width: 48%;
  }
  .renewal-section-right {
    width: 48%;
  }
  .renewal-section-left2 {
    max-width: 310px;
  }
  .renewal-section2-flex {
    width: 90%;
  }
  .renewal-section2-flex2 {
    width: 90%;
  }
  .renewal-section2-title {
    width: 90%;
  }
  .outline2-article2-flex {
    width: 90%;
  }
  .outline2-article2-box {
    width: 32%;
  }
  .outline2-article2-box-text {
    font-size: 0.875em;
  }
  .renewal-section3-box {
    width: 90%;
    padding: 30px;
  }
  /* ======================
ワンストップ(1024)
=========================*/
  .onestop-section {
    width: 90%;
    margin: 0 auto;
  }
  .onestop-section2 {
    width: 90%;
  }
  .onestop-section3-wrap {
    width: 90%;
  }
  .onestop-section2-right {
    width: 40%;
  }
  .onestop-section2-left {
    width: 55%;
  }
  .onestop-section-text {
    font-size: 1.125em;
  }
  /* ======================
お知らせ一覧(1024)
=========================*/
  .news-section-box {
    flex-wrap: wrap;
  }
  .news-section-box a {
    width: 100%;
    margin-top: 20px;
  }
  .news-section-left {
    margin-right: 45px;
  }

  .top-section4-box-text3 {
    font-size: 0.6em;
  }
}

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

  .company-section5-box-text2 {
    text-align: center;
    padding-left: 0;
  }

  .navToggle {
    display: block;
  }

  .head-menu {
    display: none;
  }

  .contact-box2 {
    display: none;
  }
  .contact-box3 {
    display: none;
  }
  .company-section5-title {
    flex-shrink: 1;
  }
  .header-box-text {
    display: flex !important;
    align-items: baseline;
    font-size: 1.75em;
    font-weight: 900;
    text-align: left;
    color: #ffffff;
    width: 100%;
    /* margin-bottom: 25px; */
    border-bottom: 2px solid #5f87a7;
    padding-bottom: 25px;
  }
  .header-box-text span {
    font-size: 0.571em;
    font-weight: 500;
    display: block;
    margin-left: 15px;
  }
  .arrow99::before {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #5f87a7;
    border-right: solid 2px #5f87a7;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
    transform: translateY(-50%) rotate(135deg);
    transition: all 0.3s ease 0s;
  }
  .acd-check:checked + .arrow99::before {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .arrow99 {
    position: relative;
    display: inline-block;
  }
  .header-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0px;
    transition: 0.5s;
    visibility: hidden;
    display: flex;
  }
  .acd-check:checked + .footer-label + .header-content {
    height: auto;
    opacity: 1;
    padding: 10px 0px 0;
    visibility: visible;
  }
  .fix-button2 {
    position: relative;
    display: block;
    bottom: 0px;
    font-size: 1em;
    font-weight: 500;
    text-align: center;
    color: #ffffff;
    text-decoration: none;
    width: 100%;
    padding: 22px 0;
    background-color: #1bb2ce;
    z-index: 99;
  }
}

@media screen and (min-width: 1001px) {
}

@media screen and (max-width: 1000px) {
  .header-bg {
    flex-wrap: wrap;
  }
  /* .swiper-container .swiper-slide .header-bg img {
    max-height: 220px;
  } */
  .pc-1000 {
    display: none;
  }
  .sp-1000 {
    display: block;
  }

  .top-section4-box-link {
    font-size: 1.25rem;
  }
  .top-section4-box-link span {
    font-size: 0.5em;
    width: 60px;
  }
  .top-section4-box-link img {
    max-width: 16px;
  }
  .top-section4-box-text2 {
    padding-left: 0;
  }
  .company-section2-flex3 {
    display: block;
  }
  .company-section2-flex3 div {
    width: 90%;
    margin: 0 auto;
  }
  .company-section2-flex3 div + div {
    margin-top: 40px;
  }
  .news-flex {
    flex-wrap: nowrap;
  }
  /* ファーストビュー */
   .header-flex {
    flex-wrap: wrap;
  }

  .header-bg-box {
    width: 100%;
  }

  .news-wrap {
    width: 100%;
  }

  .header-bg-box-inner {
    justify-content: flex-start;
    padding: 20px 0;
    flex-direction: column;
  }

  .header-bg-text {
    width: calc(100% - 45px);
    font-size: 2vw;
    box-sizing: border-box;
    margin-left: 45px;
  }

  .top-section2-title {
    display: flex;
  }

  .top-section2-title-text {
    flex-wrap: wrap;
    display: flex;
  }

  .top-section2-title-text span {
    width: 100%;
  }

  .news-left {
    margin-right: 30px;
  }

  .news-right {
    flex-grow: 1;
  }

  .header-bg-box .top-section-button {
    margin-left: 205px;
    margin-top: 20px;
    width: 35vw;
    height: 5vw;
    max-width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    font-size: 2vw;
    align-self: flex-start;
  }

  .news-right .news-button {
    width: 35vw;
    height: 5vw;
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 100vw;
    margin-left: 0;
    box-sizing: border-box;
    font-size: 2vw;
  }
}
@media screen and (max-width: 768px) {
  .header-main2 .header-wrap {
    height: 80px;
  }
  .header-wrap {
    height: 80px;
  }
  .header-wrap-fix {
    position: fixed;
    width: 100%;
    background-color: #fff;
    z-index: 999;
  }
  .history-head *,
  .history-row *,
  .last * {
    font-size: 12px !important;
  }
  /* ======================
ご挨拶(768)
=========================*/
  .message-section2-text {
    font-size: 1.75em;
    margin-bottom: 30px;
  }
  .message-section2-text2 {
    font-size: 1.5em;
  }
  .message-section {
    background-image: unset;
  }
  .message-section-img {
    display: block;
    margin-bottom: 20px;
  }
  .message-section-text {
    margin-bottom: 40px;
  }
  .message-section-text2 {
    font-size: 1.5em;
    margin-bottom: 15px;
  }
  .message-section-box2 {
    max-width: unset;
    margin-bottom: 35px;
  }
  /* ======================
テンプレート(768)
=========================*/
  .template-section-title {
    font-size: 1.75em;
    padding-bottom: 10px;
    margin-bottom: 30px;
  }
  .recruit-item09-box {
    width: 48%;
    margin-right: unset;
    font-size: 1.25em;
  }
  .recruit-item09-wrap {
    justify-content: space-between;
  }
  /* ======================
採用(768)
=========================*/
  .header-box2-text3 {
    font-size: 1.75em;
    margin-bottom: 20px;
  }
  .recruit-section-title {
    margin-bottom: 35px;
  }
  .recruit-section-box-text {
    font-size: 1em;
    margin: 0 auto 25px;
  }
  .recruit-section-box-text2 {
    font-size: 1em;
  }
  .recruit-section-box {
    padding: 45px 25px;
  }
  .recruit-section2-title {
    margin-bottom: 45px;
  }
  .recruit-section2-flex {
    flex-wrap: wrap;
    justify-content: center;
  }
  .recruit-section2-left {
    max-width: unset;
    margin-bottom: 40px;
  }
  .recruit-section2-right {
    width: 100%;
    margin-left: unset;
    max-width: unset;
  }
  .recruit-section2-right2 {
    width: 100%;
    margin-right: unset;
    max-width: unset;
  }
  .recruit-section2-flex2 {
    flex-wrap: wrap-reverse;
    justify-content: center;
  }
  .recruit-section2-left-text {
    font-size: 1.25em;
    max-width: unset;
    margin-bottom: 35px;
  }
  .recruit-section2-left figure {
    max-width: 85px;
  }
  .recruit-section5-text {
    font-size: 1.25em;
  }
  .recruit-section3-flex {
    flex-wrap: wrap;
  }
  .recruit-section3-left {
    width: 100%;
    max-width: unset;
  }
  .recruit-section3-right {
    padding: 20px;
    width: 100%;
    max-width: unset;
  }
  .recruit-section3-right-text {
    font-size: 1.5em;
  }
  /* ======================
インターン(768)
=========================*/
  .intern-text {
    font-size: 1.5em;
  }
  .intern-text2 {
    font-size: 1em;
  }
  .recruit-item09-box3 {
    font-size: 1.25em;
  }
  .template-section-title2 {
    font-size: 1.75em;
    padding-bottom: 10px;
    margin-bottom: 30px;
  }
  .recruit-item14 {
    margin: 0 auto 45px;
    flex-wrap: wrap;
  }
  .recruit-item14-left {
    width: 100%;
    max-width: unset;
    margin-bottom: 40px;
  }
  .recruit-item14-right {
    max-width: unset;
  }
  .recruit-item14-right-text {
    font-size: 1.5em;
    margin-bottom: 20px;
  }
  /* ======================
キャリア(768)
=========================*/
  .career-section2-text,
  .career-section2-text2 {
    font-size: 1em;
    padding-bottom: 35px;
  }
  .career-section2-box {
    padding-left: 50px;
  }
  .career-section2-box2 {
    padding-left: 50px;
  }
  .career-section2-flex {
    font-size: 1.5em;
  }
  #tablepress-1 .column-2 {
    font-size: 0.875em;
    padding: 20px;
    padding-left: 25px;
  }
  #tablepress-1 .column-1 {
    font-size: 0.875em;
  }
  .recruit-item16-flex {
    flex-wrap: wrap;
  }
  .recruit-item16-text2 {
    width: 100%;
    max-width: 90px;
  }
  .recruit-item16-text {
    font-size: 1.5em;
    margin-bottom: 25px;
  }
  .recruit-item13 {
    font-size: 1.325em;
    margin-bottom: 45px;
  }
  .recruit-item12-left {
    width: 100%;
  }
  .template-section-title2 {
    font-size: 1.75em;
    padding-bottom: 10px;
    margin-bottom: 30px;
  }
  /* ======================
新卒(768)
=========================*/
  .new-text2 {
    font-size: 1em;
    width: 90%;
    margin: 0 auto;
  }
  .new-text {
    font-size: 1.5em;
  }
  .new-section-title {
    flex-wrap: wrap;
    justify-content: center;
    height: auto;
    align-items: flex-start;
  }
  .new-section-title-text {
    font-size: 1.75em;
    margin-left: unset;
    margin-top: unset;
    width: 100%;
    text-align: center;
    margin-bottom: 40px;
  }
  .new-section-img2 {
    display: none;
  }
  .new-section-flex {
    flex-wrap: wrap;
    justify-content: center;
  }
  .new-section-box {
    width: 100%;
    margin-bottom: 40px;
  }
  .new-section-img {
    width: 100%;
    margin-bottom: 40px;
  }
  .new-section-flex2 {
    flex-wrap: wrap-reverse;
    justify-content: center;
  }
  .new-section-box2 {
    width: 100%;
    height: 480px;
    margin-bottom: 40px;
  }
  .new-section-wrap2 {
    position: absolute;
    width: 100%;
    margin-top: unset;
    top: 40%;
    left: 50%;
    transform: translateY(-50%) translateX(-50%);
  }
  .recruit-item07 {
    margin: 0 auto 45px;
    flex-wrap: wrap-reverse;
  }
  .recruit-item07-left {
    max-width: unset;
    width: 100%;
  }
  .recruit-item07-right {
    max-width: unset;
    width: 100%;
    margin-bottom: 40px;
  }
  .recruit-item07-right h3 {
    font-size: 1.5em;
    margin-bottom: 20px;
  }
  .template-section-title3 {
    font-size: 1.5em;
    padding-bottom: 10px;
    margin-bottom: 30px;
  }
  .template-section-title4 {
    font-size: 1.125em;
    margin-bottom: 15px;
  }
  .recruit-item11-table th {
    font-size: 0.875em;
  }
  .recruit-item11-table td {
    font-size: 0.875em;
  }
  .recruit-item12 {
    margin: 0 auto 45px;
    flex-wrap: wrap;
  }
  .recruit-item12-center {
    margin: 0 auto;
  }
  .recruit-item11-table {
    margin: 0 auto 45px;
  }
  .recruit-item12-right {
    margin-right: unset;
    margin-bottom: 40px;
  }
  .recruit-item15 {
    margin: 0 auto 45px;
  }
  /* ======================
地域応援(768)
=========================*/
  .support-section-text2 {
    font-size: 1.5em;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .support-section-text3 {
    font-size: 1em;
  }
  .support-section-text {
    font-size: 1.5em;
    margin-bottom: 45px;
  }
  .support-section2-left {
    width: 100%;
    margin-bottom: 20px;
  }
  .support-section2-right {
    width: 100%;
  }
  .support-section2-wrap {
    padding: 30px;
  }
  .support-section2-flex {
    margin: 0 auto 25px;
    flex-wrap: wrap;
  }
  .support-section2-wrap-text3 {
    padding-bottom: 10px;
    margin-bottom: 20px;
    font-size: 1.5em;
  }
  .daikibo-td {
    padding-left: 15px;
  }
  /* ======================
会社概要(768)
=========================*/
  .company-section2-text {
    max-width: 210px;
  }
  .company-section2-text2 {
    margin-left: 20px;
  }
  .company-section2-img {
    left: 207px;
  }
  .company-section2-img2 {
    left: 215px;
  }
  .company-section2-img4 {
    width: 15%;
  }
  .company-section3-box2 {
    padding: 24px 10px;
    margin-bottom: 10px;
  }
  .company-section3-box3 {
    padding: 25px 10px;
  }
  .company-section3-box4 {
    padding: 0px 10px 20px;
  }
  .company-section3-text {
    font-size: 1em;
  }
  .company-section3-title {
    margin-bottom: 20px;
  }
  .company-section3-text3 {
    font-size: 0.875em;
  }
  .company-section3-text2 {
    font-size: 1em;
  }
  .company-section3-box5 {
    padding: 0px 10px 20px;
  }
  .company-section3-content {
    margin-bottom: 10px;
  }
  .company-section4-text {
    font-size: 1em;
  }
  .company-section4-box3 {
    padding: 25px 10px;
  }
  .company-section4-text2 {
    font-size: 0.875em;
  }
  /* ======================
技術紹介(768)
=========================*/
  .system-li {
    font-size: 0.875em;
    max-width: 115px;
  }
  .system-li2 {
    font-size: 0.875em;
    max-width: 115px;
  }
  .system-section-text {
    font-size: 2em;
    margin-bottom: 20px;
  }
  .system-content dl dd {
    font-size: 0.875em;
  }
  .system-content dl {
    flex-wrap: wrap;
  }
  .system-content dl dt {
    font-size: 0.875em;
  }
  .system-content-text {
    font-size: 1.125em;
  }
  .system-table .system-th2 {
    font-size: 0.75em;
    padding: 10px 0;
  }
  /* ======================
商品構成(768)
=========================*/
  .outline-article-title2 {
    font-size: 2em;
    margin-bottom: 30px;
  }
  .outline-section-text {
    font-size: 2em;
    margin-bottom: 40px;
  }
  .outline-article-title {
    font-size: 2em;
    margin-bottom: 30px;
  }
  .outline-table .outline-th2 {
    font-size: 1.125em;
    padding: 10px 0;
  }
  .outline-content2-text {
    font-size: 1.125em;
  }
  .outline-table .outline-td2 {
    font-size: 0.875em;
    padding: 10px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    max-width: 200px;
    white-space: initial;
  }
  .outline-table .outline-td {
    font-size: 0.875em;
    padding: 10px;
  }
  .outline-table .outline-th3 {
    font-size: 0.875em;
    padding: 10px 0;
  }
  .outline-table .outline-th {
    font-size: 0.875em;
  }
  .outline-section-button {
    font-size: 1.125em;
  }
  .outline-section-button2 {
    font-size: 1.125em;
  }
  .outline-section-button2::before {
    right: 15px;
  }
  .outline-section-button::before {
    right: 15px;
  }
  /* ======================
実績詳細(768)
=========================*/
  .single-section-text {
    font-size: 1.5em;
    margin-bottom: 30px;
  }
  .single-section-box {
    max-width: unset;
  }
  .single-section-box dt {
    font-size: 1em;
  }
  .single-section-box dd {
    font-size: 1em;
  }
  .single-section-flex {
    padding-bottom: 15px;
    margin-bottom: 25px;
  }
  .single-section-content-text {
    font-size: 0.875em;
  }
  .single-section-wrap {
    padding: 30px;
    margin-bottom: 45px;
  }
  .page-box2 a {
    width: 100%;
  }
  .page-box {
    width: 46%;
  }
  .page-box2 {
    width: 46%;
  }
  /* ======================
実績一覧(768)
=========================*/
  .archive-section-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .radio-left {
    width: 100%;
  }
  .radio-box3 {
    margin-bottom: 20px;
    max-width: unset;
  }
  .radio-right {
    width: 100%;
  }
  .archive-section2-flex {
    justify-content: space-between;
  }
  .archive-section2-text {
    font-size: 1.5em;
  }
  .archive-section2-flex {
    flex-direction: column;
    justify-content: center;
  }
  .archive-section2-flex .outline2-article2-box {
    margin-left: auto;
    margin-right: auto;
  }
  .archive-section2-flex .outline2-article2-box:nth-child(3n) {
    margin-left: auto;
    margin-right: auto;
  }
  /* ======================
総合事業(768)
=========================*/
  .outline2-section-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .outline2-section-title {
    margin-bottom: 30px;
  }
  .outline2-section-text2 {
    font-size: 1em;
    margin-bottom: 25px;
  }
  .outline2-section-flex-text {
    max-width: unset;
    padding: 15px 0;
  }
  .outline2-section-flex {
    flex-wrap: wrap;
  }
  .outline2-section-ul {
    padding: 40px 45px;
    flex-wrap: wrap;
  }
  .outline2-section-ul li {
    width: 30%;
    margin-bottom: 10px;
  }
  .outline2-article-flex2 {
    flex-wrap: wrap;
  }
  .outline2-article-flex2-left {
    width: 100%;
    max-width: unset;
  }
  .outline2-article-flex2-right {
    width: 100%;
    max-width: unset;
  }
  /* ======================
システム建築(768)
=========================*/
  .business-text {
    font-size: 1.25em;
    padding-top: 55px;
    padding-bottom: 40px;
  }
  .business-section-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .business-section-flex {
    margin: 25px auto 45px;
    flex-wrap: wrap;
  }
  .business-section-left {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
  }
  .business-section-right {
    width: 100%;
    max-width: unset;
  }
  .business-section-right-text {
    font-size: 1.5em;
    margin-bottom: 25px;
  }
  .business-section-box strong {
    font-size: 1.125em;
  }
  .business-section2-title {
    font-size: 1.5em;
    margin-bottom: 25px;
  }
  .movie-box {
    width: 90%;
  }
  .business-section2-title2 {
    font-size: 1.5em;
    margin-bottom: 25px;
  }
  .business-section2-text {
    font-size: 0.9375em;
    margin-bottom: 25px;
  }
  .business-section2-flex {
    flex-wrap: wrap;
  }
  .business-section2-box {
    max-width: unset;
  }
  .business-section2-wrap4-title:after {
    width: 70%;
  }
  .business-section3-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .business-section3-flex {
    flex-wrap: wrap;
  }
  .business-section3-left {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
  }
  .business-section3-right {
    margin-left: 0px;
  }
  .business-section3-flex2 {
    justify-content: space-around;
    flex-wrap: wrap;
  }
  .business-section3-flex2-box {
    width: 48%;
    margin-bottom: 30px;
  }
  .business-section5-text {
    font-size: 0.9375em;
    margin-bottom: 30px;
  }
  .business-section5-flex {
    justify-content: start;
    margin-bottom: 25px;
    flex-wrap: wrap;
  }
  .business-section5-box {
    margin-right: 20px;
    margin-bottom: 20px;
  }
  .contact-img img {
    width: 24%;
  }
  /* ======================
リニューアル(768)
=========================*/
  .renewal-text {
    font-size: 1.5em;
    margin-bottom: 45px;
  }
  .renewal-section-flex2 {
    flex-wrap: wrap;
    justify-content: center;
  }
  .renewal-section-left2 {
    margin-bottom: 20px;
  }
  .renewal-section2-title {
    font-size: 1.5em;
    padding-bottom: 25px;
    margin: 0 auto 35px;
  }
  .renewal-section2-img2 {
    right: 0px;
    max-width: 100px;
  }
  .renewal-section2-flex {
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 45px;
  }
  .renewal-section2-left {
    max-width: unset;
    margin-bottom: 20px;
  }
  .renewal-section2-left-title span {
    font-size: 3em;
    margin-bottom: 25px;
  }
  .renewal-section2-left-title {
    margin-bottom: 25px;
  }
  .renewal-section2-right {
    max-width: unset;
    margin-left: unset;
  }
  .renewal-section2-flex2 {
    flex-wrap: wrap-reverse;
    margin: 0 auto 45px;
  }
  .renewal-section2-right2 {
    max-width: unset;
    margin-right: unset;
  }
  .renewal-section2-img3 {
    margin: 0 auto 30px;
  }
  .renewal-section2-flex3 {
    flex-wrap: wrap;
    justify-content: center;
    width: 90%;
  }
  .renewal-section2-flex3-left {
    margin-bottom: 20px;
  }
  .renewal-section2-flex3-text {
    font-size: 1em;
  }
  .outline2-article2-box {
    width: 100%;
    margin-bottom: 40px;
  }
  .outline2-article2-flex {
    flex-wrap: wrap;
    margin: 0 auto 0px;
    display: block;
  }
  .outline2-article2-box {
    margin-left: auto;
    margin-right: auto;
  }
  .renewal-section3-text {
    font-size: 1em;
  }
  /* ======================
ワンストップ(768)
=========================*/
  .onestop-section-button {
    max-width: unset;
    margin-bottom: 30px;
  }
  .onestop-section-box {
    flex-wrap: wrap;
  }
  .onestop-section2-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .onestop-section2-title {
    margin-bottom: 30px;
  }
  .onestop-section2-flex {
    flex-wrap: wrap-reverse;
  }
  .onestop-section2-left {
    width: 100%;
  }
  .onestop-section2-right {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
  }
  .onestop-section2-ul {
    display: flex;
    justify-content: space-around;
  }
  .onestop-section2-flex2 {
    flex-wrap: wrap;
  }
  /* ======================
大規模木造（768）
=========================*/
  .daikibo-section2-text2 {
    font-size: 1.5em;
    margin-bottom: 20px;
  }
  .daikibo-section-title {
    font-size: 2em;
  }
  .daikibo-section2-text {
    font-size: 2em;
    padding-bottom: 15px;
  }
  .daikibo-section-title2 {
    font-size: 1.5em;
    padding-bottom: 15px;
    margin-bottom: 25px;
  }
  .daikibo-section-li {
    font-size: 0.875em;
  }
  .daikibo-section-li2 {
    font-size: 0.875em;
    padding: 0 5px;
  }
  .daikibo-section-flex {
    flex-wrap: wrap;
    justify-content: center;
    height: auto;
    align-items: flex-start;
  }
  .daikibo-section-img {
    margin-bottom: 20px;
  }
  .swiper-button-next2,
  .swiper-container-rtl .swiper-button-prev2 {
    right: -55px !important;
  }
  .swiper-button-prev2,
  .swiper-container-rtl .swiper-button-next2 {
    left: -55px !important;
  }
  /* ======================
お知らせ詳細（768）
=========================*/
  .single-box {
    width: 90%;
  }
  .single-wrap {
    padding: 60px 0px 90px;
  }
  .single-box-text h2 {
    font-size: 1.25em;
    padding-bottom: 20px;
    margin-bottom: 40px;
  }
  .archive-title2 {
    font-size: 1.5em;
    padding-bottom: 45px;
  }
  /* ======================
お知らせ一覧（768）
=========================*/
  .news-section-flex {
    padding: 25px;
  }
  .archive-box-date {
    margin-right: 0px;
  }
  /* ======================
お問い合わせ（768）
=========================*/
  .business-section6-box {
    max-width: unset;
    width: 100%;
    margin-bottom: 40px;
  }
  .business-section6 .business-section3-text {
    font-size: 2em;
    padding-bottom: 14px;
  }
  .business-section3-title {
    margin-bottom: 30px;
  }
  .contact-text99 {
    font-size: 1.25em;
    margin-bottom: 20px;
  }
  .contact-text100 {
    font-size: 1.125em;
    margin-bottom: 20px;
  }
  .content-box dl {
    width: 90%;
    flex-wrap: wrap;
  }
  .form-wrap {
    padding: 30px 0px 90px;
  }
  .content-box dt {
    width: 100%;
    padding-top: 10px;
  }
  .content-box dd {
    padding: 20px 0 20px;
  }
  .contact-box99 {
    width: 90%;
  }
  .business-section6-flex2 {
    flex-wrap: wrap;
  }
  /* ======================
プラポリ(768)
=========================*/
  .privacy-text {
    font-size: 0.9375em;
    width: 90%;
  }
  .br768 {
    display: none;
  }
  .company-section5-flex hr {
    display: none;
  }
  .company-section5-flex {
    flex-wrap: wrap;
  }
  .company-section5-title {
    margin-bottom: 20px;
  }
  .company-section5-box {
    width: 100%;
    max-width: unset;
    margin-bottom: 40px;
  }
  .company-section5-flex2 {
    flex-wrap: wrap;
  }
  /* ======================
ヘッダー(768)
=========================*/
  .header-box2-text2 {
    font-size: 2.125em;
  }
  .header-box2-text {
    font-size: 1.125em;
    margin-bottom: 5px;
  }
  .breadcrumbs {
    left: 30px;
  }
  /* ======================
TOP(768)
=========================*/
  .top-section2-flex2 a {
    width: 48%;
    margin-bottom: 25px;
    height: 120px;
  }
  .swiper-container .swiper-slide .top-section2-flex2 img {
    max-height: 120px;
  }
  .top-section2-flex hr {
    display: none;
  }
  .top-section2-flex {
    flex-wrap: wrap;
  }

  .tb {
    display: none;
  }
  .tb2 {
    display: block;
  }
  .tb2-flex {
    display: flex;
  }
  .top-section-button {
    margin: 45px auto 0;
  }

  .footer-flex {
    flex-wrap: wrap;
  }
  .footer-box {
    max-width: unset;
    margin-bottom: 25px;
    width: 48%;
  }

  .acd-check {
    display: none;
  }
  .footer-content {
    display: block;
    height: 0;
    opacity: 0;
    padding: 0px;
    transition: 0.5s;
    visibility: hidden;
    display: flex;
  }
  .acd-check:checked + .footer-label {
    color: #fff;
  }
  .footer-box-wrap .acd-check:checked + .footer-label,
  .footer-box .acd-check:checked + .footer-label {
    color: #023f73;
  }
  .acd-check:checked + .arrow99::before {
    transform: translate(-50%, -50%) rotate(-45deg);
  }
  .acd-check:checked + .footer-label + .footer-content {
    height: auto;
    opacity: 1;
    padding: 10px 0px 0;
    visibility: visible;
  }
  .footer-box-text {
    margin-bottom: 0px;
    width: 100%;
    display: block;
  }
  .footer-box4-link {
    display: block;
    text-decoration: none;
    width: 100%;
  }
  .arrow99 {
    position: relative;
    display: inline-block;
  }
  .arrow99::before {
    content: "";
    width: 8px;
    height: 8px;
    border: 0px;
    border-top: solid 2px #5f87a7;
    border-right: solid 2px #5f87a7;
    position: absolute;
    top: 50%;
    right: 10px;
    margin-top: -4px;
    transform: translateY(-50%) rotate(135deg);
    transition: all 0.3s ease 0s;
  }
  .footer-box-wrap {
    max-width: unset;
    width: 48%;
  }
  .footer-box4 {
    max-width: unset;
    margin-bottom: 25px;
    width: 100%;
  }
  .footer-box2-img {
    margin-bottom: 0px;
  }
  .footer-flex2 {
    width: 100%;
    display: flex;
    align-items: flex-end;
    margin-bottom: 40px;
  }
  .footer-box3 {
    width: 100%;
  }
  .news-box {
    margin-bottom: 20px;
    flex-wrap: wrap;
  }
  .news-box-date {
    width: 100%;
    margin-bottom: 10px;
  }
  .news-box a {
    font-size: 0.875em;
    margin-left: unset;
  }
  .pc {
    display: none;
  }
  .sp {
    display: block !important;
  }
  .header-bg-box {
    display: block;
  }
  .download-list {
    display: block;
  }
  .download-item {
    max-width: 500px;
    width: 90%;
    margin: 0 auto 40px;
  }
  /* ファーストビュー */
.top-section5-title {
    font-size: 1.125em;
    margin-bottom: 15px;
}
.top-section5-box-text {
    font-size: 1rem;
}
.top-section5-box-text2 {
    font-size: 0.875em;
    height: 40px;
}
.d-none_768 {
  display: none;
}
}
@media screen and (max-width: 660px) {
  /* ======================
TOP(660)
=========================*/
  #main-slider .swiper-slide {
    height: unset !important;
  }
  #main-slider {
    height: unset;
  }
  .swiper-wrapper.-main {
    display: initial;
  }
  .top-section5 {
    padding: 135px 0;
    height: unset;
  }
  .top-section5 img {
    max-height: unset !important;
  }
  .top-section4 {
    padding-bottom: 145px;
    padding-top: 95px;
    height: unset;
  }
  .top-section3 {
    padding: 90px 0;
    height: unset;
  }
  .top-section2 {
    padding: 90px 0;
    height: unset;
  }
  .top-section {
    padding: 90px 0;
    height: unset;
  }
  .footer-wrap {
    height: unset;
  }
  .box-inner {
    position: unset;
    top: unset;
    left: unset;
    transform: unset;
    width: 100%;
  }
  /* ファーストビュー */
    .top-section3-flex {
    flex-wrap: wrap;
    margin-bottom: 35px;
  }
  .top-section5-flex {
    width: 90%;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .top-section5-box-text {
    font-size: 1em;
  }
  .top-section5-box {
    width: 100%;
    margin-bottom: 20px;
  }
  .top-section3-box {
    height: 260px;
}
  .top-section-flex {
    flex-wrap: wrap;
  }
  .top-section-left {
    width: 100%;
    max-width: unset;
  }
  .top-section-left-text {
    margin-bottom: 45px;
  }
  .container {
    max-width: unset;
  }
  .top-section-right {
    width: 100%;
  }
  .top-section2-flex2 a {
    height: fit-content;
}
  .top-section4-flex {
    flex-wrap: wrap;
  }
  .top-section4-left {
    width: 100%;
    max-width: unset;
  }
  .top-section4-right {
    width: 100%;
    max-width: unset;
  }
  .top-section-title {
    margin-bottom: 30px;
  }
  .top-section4-left-text {
    margin-bottom: 0px;
  }
  .top-section4-left {
    margin-bottom: 0px;
  }
  .top-section4-box3 {
    padding: 20px 0px;
    height: auto;
  }
  .top-section4-box-text2 {
    margin-bottom: 20px;
    font-size: 0.75em;
  }
  .top-section4-box-text {
    margin-bottom: 15px;
  }
  .top-section4-box-link {
    font-size: 1.5rem;
}

  /* ======================
お知らせ一覧(660)
=========================*/
  .news-section-wrap {
    flex-wrap: wrap;
    justify-content: center;
  }
  .news-section-left {
    margin-right: 0px;
    margin-bottom: 40px;
  }
}
@media screen and (max-width: 520px) {
  .header-bg-pc {
    display: none;
  }
  .header-bg-sp {
    display: block;
  }
  .catch {
    font-size: 5.4vw;
    top: 34%;
  }
}
@media screen and (max-width: 480px) {
  .header-main2 .header-wrap {
    height: 60px;
  }
  .header-wrap {
    height: 60px;
  }
  /* ======================
ご挨拶(480)
=========================*/
  .message-section2-text {
    font-size: 1.5em;
    margin-bottom: 15px;
  }
  .message-section2-flex {
    padding-bottom: 45px;
    flex-wrap: wrap;
    justify-content: space-around;
  }
  .message-section2-text2 {
    font-size: 1.125em;
  }
  .message-section2 {
    padding-top: 30px;
  }
  .message-section3 {
    padding-bottom: 60px;
  }
  .message-section3-box {
    width: 95%;
    margin: 0 auto;
  }
  .message-section3-ul li {
    font-size: 0.875em;
    margin-bottom: 15px;
    display: flex;
    align-items: baseline;
  }
  .message-section3-ul li span {
    margin-right: 10px;
  }
  .message-section {
    padding: 45px 0;
    margin-top: 0px;
  }
  .message-section-wrap {
    width: 95%;
  }
  .message-section-text {
    margin-bottom: 10px;
  }
  .message-section-text2 {
    font-size: 1.125em;
    margin-bottom: 0px;
  }
  .message-section-box2-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .message-section-box2-text2 {
    font-size: 0.875em;
  }
  .message-section-box3-text {
    font-size: 0.875em;
  }
  .message-section-box3-text2 {
    font-size: 0.875em;
  }
  /* ======================
テンプレート(480)
=========================*/
  .template-section-title {
    font-size: 1.5em;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .recruit-item06 p {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .recruit-item06 {
    margin: 0 auto 25px;
  }
  .recruit-item09-wrap {
    margin: 0 auto 45px;
  }
  .recruit-item09-box {
    width: 100%;
    font-size: 1.125em;
    max-width: unset;
    margin-bottom: 20px;
    height: unset;
  }
  .recruit-item10-flex {
    margin: 0 auto 45px;
    flex-wrap: wrap;
  }
  .recruit-item10-flex-left,
  .recruit-item10-flex-right {
    width: 100%;
    margin-bottom: 20px;
  }
  .recruit-item10-img {
    margin-bottom: 15px;
  }
  .recruit-item10-text p {
    font-size: 0.875em;
  }
  /* ======================
採用(480)
=========================*/
  .header-box2-text3 {
    font-size: 1.125em;
    margin-bottom: 10px;
  }
  .recruit-section {
    padding-top: 60px;
  }
  .recruit-section-title {
    margin-bottom: 15px;
  }
  .recruit-section-title figure {
    max-width: 200px;
    margin: 0 auto 15px;
  }
  .recruit-section-text {
    font-size: 1em;
  }
  .recruit-section-box-text {
    font-size: 0.875em;
    margin: 0 auto 15px;
  }
  .recruit-section-box {
    padding: 25px 15px;
    width: 95%;
  }
  .recruit-section-box-text2 {
    font-size: 0.875em;
  }
  .recruit-section-box-text2 img {
    max-width: 100px;
  }
  .recruit-section-img {
    padding-bottom: 50px;
  }
  .recruit-section4 {
    padding-top: 45px;
  }
  .recruit-section2-title {
    margin-bottom: 25px;
  }
  .recruit-section2-title figure {
    max-width: 100px;
    margin: 0 auto 15px;
  }
  .recruit-section4-content {
    width: 95%;
    padding: 30px 0;
  }
  .recruit-section4-box {
    margin: 0 auto 15px;
    padding-bottom: 15px;
    flex-wrap: wrap;
    width: 95%;
  }
  .recruit-section4-box-date {
    font-size: 0.875em;
    margin-right: unset;
    width: 100%;
    margin-bottom: 10px;
  }
  .recruit-section4-box-title {
    font-size: 0.875em;
  }
  .recruit-section2 {
    padding-top: 45px;
  }
  .recruit-section3-right-text {
    font-size: 1.125em;
  }
  .recruit-section3-right-text2 {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .recruit-section3-right {
    padding: 10px;
  }
  .recruit-section3-button {
    font-size: 0.875em;
  }
  .recruit-section3-flex {
    margin: 0 auto 25px;
    width: 95%;
  }
  .recruit-section3 {
    padding-top: 45px;
  }
  .recruit-section5 {
    padding-top: 30px;
    padding-bottom: 45px;
  }
  .recruit-section5-img {
    max-width: 160px;
    margin-right: 15px;
  }
  .recruit-section5-flex {
    width: 95%;
    flex-wrap: wrap;
  }
  .recruit-section5-content {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
    height: 180px;
  }
  .recruit-section5-box img {
    max-width: 45px;
    margin: 0 auto 20px;
  }
  .recruit-section2-flex {
    width: 95%;
    margin-bottom: 45px;
  }
  .recruit-section2-flex2 {
    width: 95%;
    margin-bottom: 45px;
  }
  .recruit-section2-left-text2 {
    font-size: 0.875em;
  }
  .recruit-section2-left-text {
    font-size: 1em;
    max-width: unset;
    margin-bottom: 15px;
  }
  .recruit-section2-left figure {
    max-width: 65px;
  }
  .recruit-section2-left {
    margin-bottom: 20px;
  }
  /* ======================
インターン(480)
=========================*/
  .intern-text2 {
    font-size: 0.875em;
    width: 95%;
    margin: 0 auto 45px;
  }
  .intern-text {
    font-size: 1.125em;
    width: 95%;
    margin: 0 auto 25px;
    padding-top: 55px;
  }
  .recruit-item09-wrap3 {
    flex-wrap: wrap;
    margin: 0 auto 45px;
  }
  .recruit-item09-box3 {
    font-size: 1.125em;
    width: 100%;
    margin-bottom: 20px;
    height: unset;
  }
  .template-section-title2 {
    font-size: 1.5em;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .recruit-item16-text {
    font-size: 1.25em;
    margin-bottom: 15px;
  }
  .recruit-item16-img {
    max-width: 34px;
    margin-right: 15px;
  }
  .recruit-item16-text2 {
    max-width: 60px;
    font-size: 1em;
    height: 60px;
    line-height: 60px;
  }
  .recruit-item16-box hr {
    width: 40px;
  }
  .recruit-item16-text3 {
    font-size: 0.875em;
    margin-left: 10px;
  }
  .intern-section-wrap {
    width: 95%;
  }
  .recruit-item16-border {
    left: 30px;
  }
  .recruit-item16-right {
    width: 100%;
  }
  .recruit-item16-flex {
    margin: 0 auto 45px;
  }
  .recruit-item13 {
    font-size: 1.25em;
    margin-bottom: 25px;
  }
  .recruit-item13 #slanting01 {
    display: none;
  }
  .recruit-item13 #slanting02 {
    display: none;
  }
  .recruit-item14-left {
    margin-bottom: 20px;
  }
  .recruit-item14-right-text {
    font-size: 1.25em;
    margin-bottom: 10px;
  }
  .recruit-item14-right-text2 {
    font-size: 1em;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }
  .recruit-item14-right-text3 {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .career-wrap {
    width: 95%;
    padding: 45px 0 70px;
  }
  /* ======================
キャリア(480)
=========================*/
  .career-section2-flex {
    font-size: 1.125em;
    margin-bottom: 5px;
  }
  .career-section2-box {
    padding-left: unset;
    margin-left: unset;
    border-left: unset;
  }
  .career-section2-text,
  .career-section2-text2 {
    font-size: 0.875em;
    padding-bottom: 15px;
  }
  .career-section2-wrap {
    width: 95%;
    margin-bottom: 25px;
  }
  #tablepress-1 .column-1 {
    width: 100%;
    display: block;
    box-sizing: border-box;
  }
  #tablepress-1 .column-2 {
    padding-left: 15px;
    width: 100%;
    display: block;
    box-sizing: border-box;
  }
  .career-section2-box2 {
    padding-left: unset;
    margin-left: unset;
  }
  .career-section2-flex span {
    font-size: 3em;
    margin-right: 15px;
  }
  .career-section2 {
    padding-top: 45px;
  }
  .new-section-article2 {
    padding-top: 35px;
    padding-bottom: 45px;
  }
  /* ======================
新卒(480)
=========================*/
  .new-text {
    font-size: 1.125em;
    width: 95%;
    margin: 0 auto 25px;
    padding-top: 55px;
  }
  .new-text2 {
    font-size: 0.875em;
    width: 95%;
  }
  .new-section {
    padding-top: 45px;
  }
  .new-section-article {
    padding-bottom: 45px;
  }
  .new-section-title {
    width: 95%;
  }
  .new-section-title img {
    max-width: 80px;
  }
  .new-section-title-text {
    font-size: 1.125em;
    margin-bottom: 20px;
  }
  .new-section-flex {
    width: 95%;
  }
  .new-section-flex2 {
    width: 95%;
  }
  .new-section-box {
    margin-bottom: 20px;
    padding: 20px;
  }
  .new-section-box-text {
    font-size: 1.25em;
    margin-bottom: 15px;
  }
  .new-section-box-text2 {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
  .new-section-img {
    margin-bottom: 20px;
  }
  .new-section-box2 {
    min-height: 356px;
    margin-bottom: 20px;
    height: unset;
    border-radius: unset;
  }
  .new-section-box2-text {
    font-size: 1.125em;
    margin-bottom: 15px;
  }
  .new-section-wrap2 {
    width: 95%;
    top: 50%;
  }
  .new-section2-wrap {
    width: 95%;
    padding: 20px 10px;
  }
  .new-section2 {
    padding-top: 60px;
    padding-bottom: 30px;
  }
  .new-section2-wrap-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .new-section2-img {
    max-width: 60px;
    margin: 0 auto 45px;
  }
  .recruit-item07-right h3 {
    font-size: 1.25em;
    margin-bottom: 10px;
  }
  .recruit-item07-right p {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .recruit-item07-right {
    margin-bottom: 20px;
  }
  .recruit-item07 {
    margin: 0 auto 25px;
  }
  .recruit-item15-text {
    font-size: 0.875em;
  }
  .recruit-item15-box {
    flex-wrap: wrap;
  }
  .recruit-item15-box a {
    max-width: unset;
    margin-bottom: 20px;
  }
  .recruit-item15 {
    margin: 0 auto 25px;
  }
  .template-section-title3 {
    font-size: 1.25em;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .template-section-title4 {
    font-size: 1em;
    margin-bottom: 10px;
  }
  .recruit-item11-table {
    margin: 0 auto 25px;
  }
  .recruit-item11-table th {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding: 15px 0;
  }
  .recruit-item11-table td {
    width: 100%;
    display: block;
    box-sizing: border-box;
    padding-left: 5px;
    border-top: unset !important;
  }
  .recruit-item12-right {
    margin-bottom: 20px;
  }
  .recruit-item12 {
    margin: 0 auto 25px;
  }
  .recruit-item12-left-text {
    font-size: 0.75em;
  }
  .recruit-item12-left-text2 {
    font-size: 0.75em;
  }
  /* ======================
地域応援(480)
=========================*/
  .support-section {
    padding-top: 60px;
    padding-bottom: 45px;
    width: 95%;
  }
  .support-section-box {
    width: 100%;
    margin-bottom: 20px;
  }
  .support-section-flex {
    margin: 0 auto 45px;
    justify-content: center;
    flex-wrap: wrap;
  }
  .support-section-text2 {
    font-size: 1.125em;
    padding-bottom: 5px;
    margin-bottom: 10px;
  }
  .support-section-text3 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .support-section-text4 {
    font-size: 0.875em;
  }
  .support-section2 {
    padding: 30px 0 45px;
  }
  .support-section2-wrap {
    padding: 20px;
    width: 95%;
  }
  .support-section2-text {
    font-size: 1.125em;
    margin-bottom: 10px;
  }
  .support-section2-text2 {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .support-section2-wrap-text {
    margin: 0 auto 20px;
    font-size: 0.875em;
  }
  .support-section2-wrap-text2 {
    font-size: 1.125em;
    margin: 0 auto 15px;
  }
  .support-section2-wrap-text3 {
    padding-bottom: 5px;
    margin-bottom: 10px;
    font-size: 1.125em;
  }
  .support-th {
    font-size: 0.875em;
    width: 100%;
    padding: 10px 0;
    border: none;
  }
  .daikibo-td {
    width: 95%;
    padding: 10px 0;
  }
  .daikibo-table {
    margin: 0 auto 45px;
    width: 100%;
  }
  .support-section2-flex3 {
    margin-bottom: 30px;
    flex-wrap: wrap;
    justify-content: center;
  }
  .support-section2-box2 {
    margin-right: unset;
    margin-bottom: 20px;
  }
  .support-section2-flex2 {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .support-section2-box {
    margin-right: unset;
    margin-bottom: 20px;
  }
  .support-br {
    display: block;
  }
  /* ======================
会社概要(480)
=========================*/
  .company-section {
    width: 95%;
    padding: 45px 0;
  }
  .company-section-title {
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .company-section-title img {
    max-width: 115px;
  }
  .company-section-box dt {
    font-size: 0.875em;
    max-width: unset;
    margin-bottom: 10px;
  }
  .company-section-box {
    padding: 15px 0;
    flex-wrap: wrap;
  }
  .company-section-box dd {
    font-size: 0.875em;
  }
  .company-section2-flex {
    margin-bottom: 20px;
    flex-wrap: wrap;
  }
  .company-section2-img {
    display: none;
  }
  .company-section2-img2 {
    display: none;
  }
  .company-section2-text2 {
    margin-left: unset;
    font-size: 0.875em;
  }
  .company-section2-wrap {
    width: 95%;
  }
  .company-section2-title img {
    max-width: 120px;
  }
  .company-section2 {
    padding-top: 45px;
    padding-bottom: 60px;
  }
  .company-section3 {
    width: 95%;
    padding: 45px 0;
  }
  .company-section2-title {
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
  .company-section3-flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .company-section3-flex-left {
    width: 100%;
  }
  .company-section3-flex-right {
    width: 100%;
  }
  .company-section4 {
    padding: 45px 0;
  }
  .company-section4-left {
    width: 100%;
    margin-bottom: 20px;
  }
  .company-section4-flex {
    flex-wrap: wrap;
  }
  .company-section4-wrap {
    width: 95%;
  }
  .company-section4-right {
    width: 100%;
  }
  .company-section4-box {
    margin-bottom: 20px;
  }
  .company-section4-box dd {
    font-size: 0.875em;
  }
  .company-section4-box dl {
    flex-wrap: wrap;
    margin-bottom: 10px;
  }
  .company-section4-box2 {
    width: 100%;
  }
  .company-section4-flex2 {
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  /* ======================
技術紹介(480)
=========================*/
  .system-side {
    display: none;
  }
  .system-section-wrap {
    width: 95%;
  }
  .system-section {
    padding: 60px 0 45px;
  }
  .system-section-text {
    font-size: 1.75em;
    margin-bottom: 10px;
  }
  .system-section-box {
    margin: 0 auto 30px;
  }
  .system-section-wrap-text {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
  .system-content {
    padding: 70px 10px 30px;
    margin-bottom: 30px;
  }
  .system-content-text {
    font-size: 1em;
  }
  .system-section2 {
    padding-bottom: 45px;
  }
  .system-section-flex {
    margin-bottom: 25px;
    flex-wrap: wrap;
  }
  .system-section-flex-img {
    width: 100%;
    margin-bottom: 20px;
    max-width: unset;
  }
  .system-section-wrap-text2 {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
  .system-section-wrap-text3 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .system-section-wrap-text4 {
    font-size: 0.875em;
  }
  .system-content-flex {
    margin: 15px 0;
    flex-wrap: wrap;
  }
  .system-content-box:nth-child(2n) {
    margin-right: unset;
  }
  .system-label {
    font-size: 0.875em;
    padding: 10px 0;
    margin: 0 auto 10px;
  }
  .plus-icon {
    right: 15px;
  }
  .system-table-wrap {
    overflow-x: scroll;
    overflow: auto;
    white-space: nowrap;
    width: 100%;
    box-sizing: border-box;
  }
  .system-table .system-th3 {
    padding: 20px;
  }
  .system-table .system-th2 {
    padding: 15px;
  }
  /* ======================
商品構成(480)
=========================*/
  .outline-content2 {
    width: 95%;
  }
  .outline-content2-text {
    font-size: 1em;
  }
  .outline-content2 dl dt {
    font-size: 0.875em;
  }
  .outline-content2 dl dd {
    font-size: 0.875em;
  }
  .outline-section-article2 {
    padding: 45px 0;
  }
  .outline-article-title2 {
    font-size: 1.75em;
    margin-bottom: 15px;
  }
  .outline-section {
    padding-top: 60px;
  }
  .outline-section-text {
    font-size: 1.75em;
    margin-bottom: 20px;
  }
  .outline-section-box {
    width: 95%;
    margin-bottom: 30px;
  }
  .outline-section-box-text {
    font-size: 1.25em;
    margin-bottom: 15px;
  }
  .outline-section-button {
    width: 100%;
    margin-bottom: 20px;
    max-width: unset;
    padding: 8px 0;
    font-size: 1em;
  }
  .outline-section-button2 {
    width: 100%;
    margin-bottom: 20px;
    max-width: unset;
    padding: 8px 0;
    font-size: 1em;
  }
  .outline-section-box2 {
    width: 95%;
    margin-bottom: 45px;
  }
  .outline-article-title {
    font-size: 1.75em;
    margin-bottom: 15px;
  }
  .outline-article-flex {
    width: 95%;
    margin-bottom: 30px;
    flex-wrap: wrap;
  }
  .article-left {
    width: 100%;
    margin-bottom: 20px;
  }
  .outline-article-right {
    width: 100%;
  }
  .outline-article-text {
    width: 95%;
    margin: 0 auto 30px;
    font-size: 0.875em;
  }
  .outline-label {
    width: 95%;
    font-size: 1em;
    margin: 0 auto 45px;
  }
  .acd-check:checked + .outline-label + .outline-content {
    overflow-x: scroll;
    overflow: auto;
    white-space: nowrap;
    width: 95%;
    box-sizing: border-box;
  }
  .outline-section-article {
    padding: 30px 0;
  }
  .outline-article-left {
    width: 100%;
    margin-bottom: 20px;
  }
  /* ======================
実績詳細(480)
=========================*/
  .single-section-wrap2-text {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .page-wrap {
    flex-wrap: wrap;
  }
  .single-section-img {
    width: 95%;
  }
  .page-box2 {
    width: 90%;
    margin-bottom: 20px;
  }
  .page-box {
    width: 90%;
  }
  .page-box-right-text {
    font-size: 0.875em;
  }
  .outline2-article2-box-text2 {
    font-size: 0.875em;
  }
  .single-section-text {
    font-size: 1.25em;
    margin-bottom: 15px;
  }
  .single-section {
    padding-top: 45px;
  }
  .single-section-wrap {
    padding: 20px;
    margin-bottom: 25px;
    width: 95%;
  }
  .single-section-content {
    padding: 15px;
  }
  .single-section-box {
    flex-wrap: wrap;
  }
  .single-section-box dt {
    font-size: 0.875em;
    max-width: unset;
    margin-bottom: 10px;
  }
  .single-section-box dd {
    font-size: 0.875em;
    margin-left: unset;
    margin: 0 auto;
  }
  .page-wrap hr {
    display: none;
  }
  /* ======================
実績一覧(480)
=========================*/
  .archive-section-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .archive-section {
    width: 95%;
    padding-bottom: 45px;
    padding-top: 55px;
  }
  .archive-section-title {
    margin-bottom: 0px;
  }
  .archive-section-wrap {
    padding: 20px;
  }
  .term-content {
    margin-top: 10px;
  }
  .radio-box {
    flex-wrap: wrap;
  }
  .archive-section .radio-box .term-hr {
    display: none;
  }
  .radio-box2 {
    flex-wrap: wrap;
  }
  .archive-section .radio-box2 .term-hr {
    display: none;
  }
  .term-content2 {
    margin-top: 10px;
  }
  .archive-section2-title {
    margin-bottom: 20px;
  }
  .archive-section2-flex {
    justify-content: center;
    width: 95%;
    margin-bottom: 30px;
  }
  .archive-section2 {
    padding: 30px 0;
  }
  .archive-section2-text {
    font-size: 1.25em;
  }
  .archive-section3 {
    padding: 30px 0;
  }
  /* ======================
総合事業(480)
=========================*/
  .outline2-section-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .outline2-section-text2 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .outline2-section-text3 {
    font-size: 0.875em;
  }
  .outline2-section-wrap {
    width: 95%;
    padding-bottom: 60px;
  }
  .outline2-article-flex {
    flex-wrap: wrap;
  }
  .outline2-article-left {
    width: 100%;
    margin-bottom: 20px;
  }
  .outline2-article-right {
    width: 100%;
  }
  .outline2-section-text4 {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .outline2-section-flex-text {
    padding: 10px 0;
    font-size: 1em;
  }
  .outline2-section-ul {
    padding: 20px 25px;
  }
  .outline2-section-ul li {
    width: 45%;
  }
  .outline2-section2 {
    padding-top: 45px;
  }
  /* ======================
システム建築(480)
=========================*/
  .business-text {
    font-size: 1em;
    padding-top: 35px;
    padding-bottom: 20px;
    width: 95%;
    margin: 0 auto;
  }
  .business-section-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .business-section {
    width: 95%;
    padding-bottom: 45px;
  }
  .business-section-left-text {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .business-section-left-text2 {
    font-size: 0.875em;
  }
  .business-section-right-text {
    font-size: 1.125em;
    margin-bottom: 15px;
  }
  .business-section-right-text2 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section-right-text3 {
    font-size: 0.875em;
  }
  .business-section-box strong {
    font-size: 1em;
  }
  .business-section2-title {
    font-size: 1em;
    margin-bottom: 15px;
  }
  #slanting01 {
    height: 50px;
  }
  #slanting02 {
    height: 50px;
  }
  .movie-box {
    width: 95%;
    position: relative;
    padding-top: 56.25%;
  }
  .movie-box iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100% !important;
    height: 100% !important;
  }
  .business-section2-wrap2 {
    width: 95%;
    padding-top: 30px;
    padding-bottom: 60px;
  }
  .business-section2-title2 {
    font-size: 1.125em;
    margin-bottom: 15px;
  }
  .business-section2-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section2-text2 {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .business-section2-flex {
    padding: 15px;
  }
  .business-section2-box2 dt {
    font-size: 0.875em;
  }
  .business-section2-box2 dd {
    font-size: 0.875em;
  }
  .business-section2-wrap3 {
    padding: 45px 0;
  }
  .business-section2-wrap3-img {
    max-width: 55px;
    top: -30px;
  }
  .business-section2-title3 {
    font-size: 1.5em;
    margin-bottom: 30px;
  }
  .business-section2-wrap4 {
    width: 95%;
    margin: 0 auto 45px;
  }
  .business-section2-wrap4-title {
    font-size: 1.25em;
    margin-bottom: 20px;
  }
  .business-section2-wrap4-title:after {
    display: none;
  }
  .business-section2-wrap4-flex {
    justify-content: center;
    flex-wrap: wrap;
  }
  .business-section2-wrap4-box {
    width: 100%;
    margin-bottom: 20px;
    max-width: unset;
  }
  .series-img {
    max-width: unset;
  }
  .series-img img {
    max-width: unset;
  }
  .business-section2-wrap4-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section2-wrap4-title3 {
    font-size: 1.25em;
    margin-bottom: 20px;
  }
  .business-section2-wrap4-title3:after {
    display: none;
  }
  .business-section2-wrap4-flex2 {
    flex-wrap: wrap;
  }
  .business-section2-wrap5 {
    width: 95%;
  }
  .business-section3-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .business-section3 {
    width: 95%;
    padding: 40px 0;
  }
  .business-section3-text2 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section3-text3 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section3-link {
    font-size: 0.875em;
  }
  .business-section4 {
    width: 95%;
    padding-bottom: 40px;
  }
  .business-section3-flex2-box {
    width: 100%;
    margin-bottom: 20px;
  }
  .business-section3-flex2-text {
    font-size: 1.125em;
  }
  .business-section3-flex2-text2 {
    font-size: 0.875em;
  }
  .business-section5 {
    padding: 45px 0;
  }
  .business-section5-wrap {
    width: 95%;
  }
  .business-section5-text {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .business-section5-flex {
    justify-content: center;
  }
  .business-section5-box:nth-child(3n) {
    margin-right: 0px;
  }
  .business-section5-text2 {
    font-size: 0.75em;
  }
  .contact-img2 img {
    width: 30%;
  }
  /* ======================
リニューアル(480)
=========================*/
  .br480 {
    display: none;
  }
  .renewal-section {
    width: 95%;
    padding-top: 60px;
    padding-bottom: 45px;
  }
  .renewal-text {
    font-size: 1em;
    margin-bottom: 25px;
  }
  .renewal-section-flex {
    margin: 0 auto 25px;
    flex-wrap: wrap;
  }
  .renewal-section-left {
    width: 100%;
    margin-bottom: 20px;
  }
  .renewal-section-right {
    width: 100%;
  }
  .renewal-section-flex2 {
    padding: 15px;
  }
  .renewal-section-right2-text {
    font-size: 1em;
    padding-bottom: 5px;
    margin-bottom: 15px;
  }
  .renewal-section-right2-text2 {
    font-size: 0.875em;
  }
  .renewal-section2-title {
    font-size: 1.125em;
    padding-bottom: 15px;
    margin: 0 auto 25px;
    width: 95%;
  }
  .renewal-section2-img {
    max-width: 40px;
  }
  .renewal-section2-img2 {
    max-width: 60px;
  }
  .renewal-section2-left-title {
    margin-bottom: 15px;
    font-size: 1.25em;
  }
  .renewal-section2-left-title span {
    margin-bottom: 15px;
  }
  .renewal-section2-left-title {
    margin-bottom: 5px;
  }
  .renewal-section2-left-text {
    font-size: 0.875em;
  }
  .renewal-section2-left {
    margin-bottom: 10px;
  }
  .renewal-section2-flex {
    margin: 0 auto 25px;
    width: 95%;
  }
  .renewal-section2-flex2 {
    margin: 0 auto 25px;
    width: 95%;
  }
  .renewal-section2-left-text2 {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .renewal-section2-img3 {
    margin: 0 auto 15px;
    max-width: 60px;
  }
  .renewal-section2-flex3-left {
    margin-bottom: 10px;
    max-width: 60px;
  }
  .renewal-section2-flex3-text {
    font-size: 0.875em;
  }
  .outline2-article2-title {
    font-size: 1.25em;
    margin-bottom: 30px;
  }
  .outline2-article2-img {
    max-width: 55px;
    top: -30px;
  }
  .renewal-section3 {
    padding-top: 45px;
  }
  .outline2-article2 {
    padding: 45px 0;
  }
  .outline2-article2-flex {
    width: 95%;
    justify-content: center;
  }
  .renewal-section3-text {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .renewal-section3-text2 {
    font-size: 1em;
  }
  .renewal-section3-box {
    width: 95%;
  }
  /* ======================
ワンストップ(480)
=========================*/
  .onestop-section {
    width: 95%;
    padding-bottom: 45px;
    padding-top: 60px;
  }
  .onestop-section-text {
    font-size: 1em;
    text-align: left;
    margin-bottom: 40px;
  }
  .onestop-section-button {
    margin-bottom: 20px;
    font-size: 1.125em;
    padding: 8px 0;
  }
  .onestop-section2-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .onestop-section2 {
    width: 95%;
    padding-bottom: 60px;
  }
  .onestop-section2-ul {
    flex-wrap: wrap;
  }
  .onestop-section2-ul li {
    font-size: 0.875em;
    width: 25%;
    margin-bottom: 10px;
  }
  .onestop-section2-text2 {
    font-size: 0.875em;
  }
  .onestop-section3-wrap {
    width: 95%;
  }
  .onestop-section2-text3 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .onestop-section3 {
    padding-bottom: 40px;
  }
  /* ======================
大規模木造(480)
=========================*/
  .daikibo-table tr {
    display: flex;
    flex-wrap: wrap;
  }
  .daikibo-th {
    font-size: 0.875em;
    padding: 10px 0;
    width: 100%;
    border-bottom: 1px solid #d1d1d1;
  }
  .daikibo-td {
    font-size: 0.875em;
    padding-left: unset;
    width: 90%;
    margin: 0 auto;
  }
  .daikibo-section {
    width: 95%;
    padding-top: 60px;
    padding-bottom: 45px;
  }
  .daikibo-section-title2 {
    font-size: 1.25em;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .daikibo-section-text {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
  .daikibo-section-ul {
    flex-wrap: wrap;
    justify-content: center;
    max-width: 300px;
  }
  .daikibo-section-li {
    border-right: unset;
    border-bottom: 1px solid #fff;
    padding-bottom: 10px;
  }
  .daikibo-section-text2 {
    font-size: 0.875em;
  }
  .daikibo-section2 {
    padding-top: 30px;
    padding-bottom: 60px;
  }
  .daikibo-section2-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .daikibo-section2-title {
    margin-bottom: 30px;
  }
  .daikibo-section2-text3 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .daikibo-section2-text4 {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .daikibo-section2-img {
    margin-bottom: 25px;
  }
  .daikibo-section2-text2 {
    font-size: 1.125em;
    margin-bottom: 10px;
  }
  .daikibo-section2-wrap {
    width: 95%;
  }
  .daikibo-section-title {
    font-size: 1.5em;
    margin-bottom: 15px;
  }
  .daikibo-section-box {
    width: 95%;
    margin: 0 auto 30px;
  }
  #daikibo-thumbs .swiper-slide img {
    height: unset;
  }
  .swiper-button-prev2,
  .swiper-container-rtl .swiper-button-next2 {
    display: none;
  }
  .swiper-button-next2,
  .swiper-container-rtl .swiper-button-prev2 {
    display: none;
  }
  /* ======================
お知らせ詳細(480)
=========================*/
  .archive-title2 {
    font-size: 1.25em;
  }
  .single-box {
    width: 95%;
    padding: 20px 0 75px;
  }
  .single-wrap {
    padding: 30px 0px 45px;
  }
  .single-box-text h2 {
    font-size: 1.125em;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
  .single-box-text p {
    font-size: 0.875em;
    line-height: 1.5;
  }
  .single-wrap-button {
    font-size: 0.875em;
    padding: 10px 0;
    margin: 30px auto;
  }
  /* ======================
お知らせ一覧(480)
=========================*/
  .news-section {
    width: 95%;
    padding: 60px 0;
  }
  .news-section-flex {
    padding: 20px;
  }
  .archive-box-date {
    margin-right: 0px;
    width: 100%;
    margin-top: 10px;
    font-size: 0.875em;
  }
  .news-section-box a {
    margin-top: 10px;
    font-size: 0.875em;
  }
  .news-section-box {
    padding-bottom: 15px;
    margin-bottom: 15px;
  }
  .entry-label2 {
    max-width: unset;
  }
  .news-section-right-box {
    max-width: unset;
  }
  .news-section-right a {
    max-width: unset;
  }
  .news-section-right {
    max-width: unset;
  }
  /* ======================
お問い合わせ(480)
=========================*/
  .contact-text99 {
    font-size: 1.125em;
    width: 95%;
    margin: 0 auto;
    padding-top: 55px;
  }
  .business-section6 {
    width: 95%;
    padding: 40px 0 70px;
  }
  .business-section6 .business-section3-text {
    font-size: 1.75em;
    padding-bottom: 7px;
  }
  .business-section6-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  .business-section6-text2 {
    font-size: 0.875em;
  }
  .business-section6-box2 {
    margin: 0 auto 25px;
  }
  .business-section6-box {
    margin-bottom: 20px;
    height: 140px;
    padding: 20px 0;
  }
  .business-section6-flex2 {
    margin: 0 auto 15px;
  }
  .content-box dt {
    font-size: 0.875em;
  }
  .content-box dd {
    font-size: 0.875em;
  }
  .contact-text {
    font-size: 0.55em;
  }
  .content-box dl {
    width: 95%;
  }
  .contact-box99 {
    width: 95%;
  }
  .contact-box99-text {
    font-size: 0.875em;
    margin-bottom: 25px;
  }
  .contact-type3 {
    margin-bottom: 20px;
  }
  .contact-type99 {
    flex-wrap: wrap;
    max-width: 220px !important;
  }
  .mw_wp_form .contact-type99 .horizontal-item + .horizontal-item {
    margin-left: 0px;
  }
  /* ======================
ヘッダー(480)
=========================*/
  .globalMenuSp-ul {
    /* height: 100%; */
  }
  nav.globalMenuSp.active {
    top: 60px;
    height: calc(100% - 60px);
    -webkit-overflow-scrolling: touch;
    overflow-y: scroll;
  }
  .header-box2-text2 {
    font-size: 1.5em;
  }
  .header-box2-text {
    font-size: 0.875em;
    margin-bottom: 0px;
  }
  .breadcrumbs {
    left: 0;
    width: 95%;
    margin: 0 auto;
    font-size: 0.75em;
    flex-wrap: wrap;
  }
  .breadcrumbs li {
    margin-bottom: 5px;
  }

  /* ======================
プラポリ(480)
=========================*/
  .privacy-text {
    font-size: 0.875em;
    width: 95%;
    padding-top: 55px;
  }
  .privacy-section {
    width: 95%;
    padding-top: 45px;
  }
  .privacy-section-box-text {
    font-size: 1.125em;
    padding-bottom: 10px;
    margin-bottom: 15px;
  }
  .privacy-section-box-text2 {
    font-size: 0.875em;
    margin-bottom: 20px;
  }
  .privacy-ul li {
    font-size: 0.875em;
  }
  .privacy-section-box {
    margin-bottom: 35px;
  }
  .company-section5-title img {
    max-width: 140px;
    margin-right: 10px;
  }
  .company-section5-box-text {
    font-size: 1em;
  }
  .company-section5-box-link {
    font-size: 1.6em;
  }
  .company-section5-box-link span {
    font-size: 12px;
    width: 60px;
    margin-right: 10px;
  }
  .company-section5-box-link img {
    max-width: 16px;
  }
  .company-section5-box-text2 {
    font-size: 0.875em;
  }
  .company-section5-box-text3 {
    font-size: 0.75em;
  }
  .company-section5-box {
    width: 100%;
    max-width: unset;
    margin-bottom: 20px;
    padding: 40px 10px;
    height: auto;
  }
  .company-section5-flex {
    margin-bottom: 30px;
  }
  .company-section5-text {
    font-size: 0.875em;
  }
  .company-section5 {
    width: 100%;
    padding: 25px 20px 35px;
  }
  .message-button {
    font-size: 0.75em;
  }
  /* ======================
TOP(480)
=========================*/
  .top-section5-flex {
    width: 95%;
  }
  .swiper-container .swiper-slide img {
    max-height: 100px;
    -o-object-position: 50% 20%;
    object-position: 50% 20%;
  }
  .top-section5-title {
    font-size: 1.4375em;
    margin-bottom: 5px;
  }
  .top-section5-box-link {
    max-width: unset;
    margin-bottom: 6px;
  }
  .top-section5-box {
    max-width: unset;
    margin-bottom: 10px;
  }
  .swiper-container .swiper-slide .top-section3-title2 img {
    max-width: 170px;
  }
  .top-section3-title2 img {
    max-width: 170px;
  }
  .top-section3-flex {
    margin-bottom: 10px;
    width: 95%;
  }
  .top-section5-box-text2 {
    font-size: 0.8125em;
    height: 40px;
  }
  .swiper-container-vertical > .swiper-pagination-bullets {
    right: 10px;
  }
  .swiper-container .swiper-slide .top-section3-title img {
    max-width: 115px;
  }
  .top-section3-title img {
    max-width: 115px;
  }
  .top-section3-title {
    margin-bottom: 20px;
  }
  .top-section2-flex-text {
    font-size: 0.875em;
  }
  .pc-br {
    display: none;
  }
  .top-section3-box-text {
    font-size: 1.0625em;
    margin: 10px 0;
  }
  .top-section3-flex2 {
    width: 95%;
  }
  .top-section3-box {
    margin-bottom: 15px;
  }
  .top-section3-box:first-child {
    margin-bottom: 15px;
  }
  .top-section2-flex2-text {
    font-size: 1.0625em;
  }
  .top-section2-flex2 {
    width: 95%;
  }
  .top-section2-flex2 a:first-child {
    margin-bottom: 12px;
  }
  .top-section2-flex2 a {
    margin-bottom: 12px;
  }
  .top-section2-flex {
    width: 95%;
    margin-bottom: 20px;
  }
  .top-section2-title-text span {
    font-size: 1.8em;
    margin-right: 25px;
  }
  .top-section2-title-text {
    margin-bottom: 25px;
  }
  .swiper-container .swiper-slide .top-section-title img {
    max-width: 120px;
    margin-right: 15px;
  }
  .top-section-title img {
    max-width: 120px;
    margin-right: 15px;
  }
  .top-section-title {
    margin-bottom: 15px;
  }
  .top-section-flex {
    width: 95%;
  }
  .top-section-left-text {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  #slider .swiper-slide img {
    margin-bottom: 25px;
    max-height: unset;
  }
  .top-section-button {
    font-size: 0.875em;
    max-width: 215px;
    padding: 10px 0;
    margin: 5px auto 0;
  }
  .top-section4-left-text {
    margin-bottom: 30px;
    font-size: 0.875em;
  }
  .top-section4-box3 {
    padding: 15px 0;
    background-color: #fff;
  }
  .swiper-container .swiper-slide .top-section4-box img {
    -o-object-position: unset;
    object-position: unset;
    max-height: 170px;
  }
  .top-section4-box {
    height: 170px;
  }

  .top-section4-box img {
    -o-object-position: unset;
    object-position: unset;
    max-height: 170px;
  }
  .top-section4-button {
    margin-bottom: 10px;
    padding: 5px 0;
  }
  .top-section4-box2 {
    left: 20px;
  }
  .top-section4-flex {
    width: 95%;
    /* height: 100vh; */
  }
  .top-section4-box-link {
    font-size: 2em;
    line-height: 20px;
    margin-bottom: 10px;
  }
  .top-section4-button2 {
    max-width: 300px;
    margin-bottom: 15px;
    font-size: 0.75em;
    padding: 12px 0;
  }
  .top-section4-button2::before {
    right: 15px;
  }
  .top-section4-box-text3 {
    font-size: 0.8125em;
  }
  .top-section4-box-text {
    font-size: 0.875em;
    margin-bottom: 10px;
  }
  .top-section4-box-link span {
    font-size: 0.35em;
    width: 50px;
  }
  .scroll-button {
    right: 10px;
    max-width: 45px;
  }
  .footer-box {
    width: 100%;
  }
  .footer-box-wrap {
    max-width: unset;
    width: 100%;
  }
  .footer-box2-text {
    margin-bottom: 15px;
    font-size: 0.8125em;
  }
  .footer-box3 {
    width: 100%;
    position: static;
    right: 20px;
    margin-bottom: 40px;
  }
  .footer-flex2 {
    display: block;
  }
  .fix-button {
    position: fixed;
    display: block;
    bottom: 0;
    font-size: 1em;
    font-weight: 500;
    text-align: center;
    color: #ffffff;
    text-decoration: none;
    width: 100%;
    padding: 7px 0;
    background-color: #1bb2ce;
    z-index: 99;
    /* display: none; */
  }
  .footer-wrap {
    height: unset;
    padding: 30px 0;
  }
  .footer-box-wrap-text {
    font-size: 1em;
    margin-bottom: 25px;
  }
  .footer-wrap2 {
    height: unset;
    padding: 60px 0;
  }
  .header-bg-box-inner {
    align-items: flex-start;
  }
  .header-bg-text {
    font-size: 0.875em;
    padding-left: 15px;
    margin-bottom: 10px;
    margin-left: 20px;
  }
  .news-wrap .top-section2-title-text {
    margin-bottom: 5px;
    font-size: 0.875em;
    display: flex;
    flex-wrap: wrap;
    max-width: 100px;
  }
  .news-wrap {
    padding: 10px 20px 10px;
    margin-bottom: 1px;
    bottom: -100px;
    bottom: 0px;
    flex-wrap: wrap;
    /* display: none; */
  }
  /* @media screen and (max-height: 700px){
  .news-wrap {
    bottom: 0px;
  }
} */

  .news-flex {
    flex-wrap: nowrap;
  }
  .news-left {
    margin-right: 25px;
  }
  .radio-field-text {
    font-size: 0.75em;
    max-width: 100px;
  }
  .sp-br {
    display: block;
  }
  .news-button {
    margin-bottom: unset;
    margin-left: unset;
  }
  .news-box {
    margin-bottom: 10px;
  }
  .head-logo {
    top: 15px;
    left: 20px;
  }
  .navToggle {
    width: 60px;
    height: 60px;
  }
  .navToggle span {
    width: 30px;
  }
  .navToggle span:nth-child(1) {
    top: 19px;
  }
  .navToggle span:nth-child(2) {
    top: 29px;
  }
  .navToggle span:nth-child(3) {
    top: 39px;
  }
  .navToggle.active span:nth-child(1) {
    top: 30px;
  }
  .navToggle.active span:nth-child(2),
  .navToggle.active span:nth-child(3) {
    top: 30px;
  }
  .head-nav {
    height: 60px;
  }
  nav.globalMenuSp.active {
    top: 60px;
  }
  .fix-button2 {
    display: none;
  }
  .swiper-container .swiper-slide .header-bg img {
    /* margin-bottom: 10px;
    -o-object-fit: cover;
    object-fit: cover;
    max-height: 200px; */
        max-height: 480px;
    object-position: bottom;
  }
  .news-box-date {
    margin-bottom: 0px;
  }
  .horizontal-item label {
    margin-bottom: 10px;
  }
  .radio-field-text {
    padding: 5px 0;
  }
  .header-bg {
    /* padding-bottom: 0px; */
  }
  .box-inner2 {
    /* position: absolute;
    top: calc(50% - 60px); */
    /* top: calc(50% - 0px); */
    /* left: 50%;
    transform: translateY(-50%) translateX(-50%);
    width: 100%; */
  }
  .contact-img {
    flex-wrap: wrap;
  }
  .contact-img img {
    width: 48%;
    margin-bottom: 10px;
  }
  #mw_wp_form_mw-wp-form-38 .contact-type2 {
    flex-wrap: wrap;
  }
  #mw_wp_form_mw-wp-form-38 .contact-type2 .mwform-checkbox-field {
    width: 48%;
    max-width: unset;
  }
  #mw_wp_form_mw-wp-form-516 .contact-type2 {
    flex-wrap: wrap;
  }
  #mw_wp_form_mw-wp-form-516 .contact-type2 .mwform-checkbox-field {
    width: 48%;
    max-width: unset;
  }
  #mw_wp_form_mw-wp-form-520 .contact-type2 {
    flex-wrap: wrap;
  }
  #mw_wp_form_mw-wp-form-520 .contact-type2 .mwform-checkbox-field {
    width: 48%;
    max-width: unset;
  }
  .mw_wp_form .horizontal-item + .horizontal-item {
    margin-left: 0px;
  }
  .contact-type2 .checkbox__item + span::after,
  .contact-type2 .checkbox__item + span::before {
    top: 3px;
  }
  .contact-img2 {
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .contact-img2 img {
    width: 48%;
    max-width: unset;
    margin-bottom: 10px;
    margin-right: 0px;
  }
  .message-pc {
    display: none;
  }
  .message-sp {
    display: block;
    position: absolute;
    top: 80px;
    left: 20px;
    max-width: 200px;
    width: 100%;
  }
  .message-section-span2 {
    display: block;
    text-align: right;
  }
  .message-section-box {
    position: relative;
  }
  .contact-text100 {
    font-size: 0.875em;
    margin-bottom: 15px;
  }
  /* .top-section4-left {
    margin-bottom: 0px;
} */
  .header-box-text {
    font-size: 1.125em;
    padding-bottom: 5px;
  }
  .globalMenuSp-link {
    font-size: 1.125em;
  }
  .globalMenuSp-li {
    padding-bottom: 5px;
    margin-bottom: 20px;
  }
  .header-ul-sp a {
    font-size: 0.875em;
    line-height: 1.5;
  }
  .acd-check:checked + .footer-label + .header-content {
    padding: 0;
  }
  .globalMenuSp-li2 {
    margin-bottom: 20px;
  }
  .footer-box-text {
    padding-bottom: 5px;
  }
  .footer-box {
    margin-bottom: 20px;
  }
  .footer-box4 {
    margin-bottom: 20px;
  }
  .footer-ul li a {
    line-height: 1.5;
  }
  .footer-logo {
    margin-bottom: 10px;
  }
  .footer-flex2 {
    margin-bottom: 20px;
  }
  .news-box a {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
    overflow: hidden;
    height: 22px;
    display: -webkit-box;
  }
  .top-section5 {
    padding: 65px 0;
  }
  .top-section3 {
    padding: 45px 0;
  }
  .top-section2 {
    padding: 45px 0;
  }
  .top-section {
    padding: 45px 0;
  }
  .top-section4 {
    padding-bottom: 70px;
    padding-top: 45px;
  }
}

/* #main-slider.disabled {
  height: unset;
} */
#main-slider.disabled .swiper-wrapper.disabled {
  transform: translate3d(0px, 0, 0) !important;
}
.swiper-pagination.disabled {
  display: none;
}

@media screen and (max-width: 414px) {
  .company-section2-img4 {
    width: 20%;
  }
}
@media (min-width: 480px) {
  a[href*="tel:"] {
    pointer-events: none;
    cursor: default;
    text-decoration: none;
  }
}
@media screen and (min-width: 1201px) {
  .message-section {
    background-image: url(../tani/images/message-bg2.jpg);
    background-size: cover;
    padding: 90px 0;
    margin-top: 120px;
    background-position: -250px 0;
  }
  .message-section-img {
    display: none;
  }
  .message-section-box2 {
    max-width: 600px;
    margin-bottom: 65px;
  }
}
@media screen and (min-width: 1600px) {
  .message-section {
    background-position: 0 0;
  }
}
@media screen and (max-width: 1200px) {
  .message-section {
    background-image: none;
    background-position: top left -85px;
    padding: 45px 0;
  }
  .message-section-img {
    display: block;
    margin-bottom: 20px;
  }
  .message-section-box2 {
    max-width: unset;
    margin-bottom: 65px;
  }
}
@media screen and (max-width: 320px) {
  .news-flex {
    display: block;
  }
  .news-flex::after {
    content: "";
    display: block;
    clear: both;
  }
  .news-left {
    width: 130px;
    margin-right: 0;
    float: left;
  }
  .news-right {
    width: calc(100% - 130px);
    float: right;
  }
}

@media (max-width: 480px) {
  .header-bg-box {
    margin-bottom: 0;
    display: flex !important;
  }

  .header-bg-box-inner {
    padding: 4vw 0;
  }

  .header-bg-box .top-section-button {
    margin-left: 140px;
    margin-right: 0;
    margin-top: 20px;
    width: 45vw;
    height: 8vw;
    display: flex;
    font-size: 3vw;
  }

  .header-bg-box .top-section-button::before {
    content: "";
    width: 6px;
    height: 6px;
    border: 0px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -4px;
    transition: all 0.3s ease 0s;
  }

  .top-section2-title-text {
    margin-bottom: 2vw;
  }

  .news-right .news-button {
    width: 45vw;
    height: 8vw;
    font-size: 3vw;
  }

  .news-wrap.sp-1000 {
    flex-shrink: 0;
    flex-grow: 1;
    display: flex !important;
    align-items: center;
  }

  .box-inner2 {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
  }

  .header-flex {
    display: flex;
    flex-grow: 1;
  }
}
.news-flex {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
}
@media (max-width: 375px) {
  .news-flex {
    flex-wrap: nowrap;
  }
}

/* add quick tag */
.style3a, .style3b, .style4a, .style4b, .style5a, .style5b, .style6 { line-height:1.6; }
/* h3 */
.style3a { margin:3em 0 1.5em; padding:1.1em .2em 1em; font-size:22px; font-weight:400; border-top:1px solid #003f73; border-bottom:1px solid #003f73; color: #003f73; }
.style3b { margin:3em 0 1.5em; padding:1.1em .9em 1em; font-size:22px; font-weight:400; border-top:2px solid #003f73; border-bottom:1px solid #003f73; color: #003f73; background:#E3ECF0; box-shadow:0px 1px 2px #f7f7f7; }
/* h4 */
.style4a { margin:2.5em 2px 1.2em; padding:.3em 0 .3em .8em; font-size:18px; font-weight:400; border-bottom:none; border-left:2px solid #003f73; color: #003f73; }
.style4b { margin:2.5em 0 1.2em; padding:.9em 0 .8em; font-size:18px; font-weight:400; border-bottom:1px dotted #003f73; color: #003f73; }
/* h5 */
.style5a { margin:2em 0 1em; padding:.5em .8em .3em 1em; font-weight:700; font-size:18px; background:#E3ECF0; color: #003f73; box-shadow:0px 2px 0px 0px #f2f2f2; }
.style5b { margin:2em 0 1em; padding:.5em .8em .4em 1em; font-weight:400; font-size:18px; color:#fff; background:#222; border-radius:4px; box-shadow:0px 2px 0px 0px #f2f2f2; }
/* ytube */
.ytube { position:relative; height:0; margin-top:20px; margin-bottom:20px; padding-bottom:56.25%; padding-top:30px; overflow:hidden; }
.ytube iframe { position:absolute; top:0; right:0; width:100% !important; height:100% !important; }
/* button */
.q_button { border-radius:6px; min-width:200px; max-width:90%; background-color:#003f73; display:inline-block; vertical-align:middle; padding:.6em 1.3em .5em; font-weight:400; font-size:100%; color:#fff; margin:0 0 2em; text-decoration:none; text-align:center; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; -o-box-sizing:border-box; -ms-box-sizing:border-box; box-sizing:border-box; transition:all 0.3s ease-in-out 0s; box-shadow:0 1px 3px rgba(0,0,0,.15); }
.q_button:hover, .q_button:focus { text-decoration:none; color:#fff;  box-shadow:0 2px 2px rgba(0,0,0,.15) inset; opacity: .8;}
/* Button option */
.rounded { border-radius:6px; }
.pill { border-radius:50px; width: 100%; max-width: 300px;}
.sz_full { min-width:100px; max-width:100%; display:block; font-size:110%; padding:1em 1.5em .9em; }
.sz_l { min-width:350px; max-width:90%; font-size:110%; padding:.8em 1.5em .7em; }
@media screen and (max-width: 479px) {
  .sz_l { min-width:320px; max-width:95%; }
}
.sz_s { min-width:100px; max-width:90%; font-size:85%; padding:.4em 1em .3em; }
.bt_red{ background:#c01f0e; color:#fff; }
.bt_red:hover, .bt_red:focus { background-color:#d33929; color:#fff; }
.bt_yellow{ background:#f1c40f; color:#fff; }
.bt_yellow:hover, .bt_yellow:focus { background-color:#f9d441; color:#fff; }
.bt_blue{ background:#2980b9; color:#fff; }
.bt_blue:hover, .bt_blue:focus { background-color:#3a91c9; color:#fff; }
.bt_green{ background:#27ae60; color:#fff; }
.bt_green:hover, .bt_green:focus { background-color:#39c574; color:#fff; }
/* post row */
.post_row { margin-left:-15px; margin-right:-15px; line-height:2; }
.post_col, .post_col-2, .post_col-3 { position:relative; min-height:1px; width:100%; padding-right:15px; padding-left:15px; float:left; -webkit-box-sizing:border-box; -moz-box-sizing:border-box; box-sizing:border-box; margin-bottom:2em; }
@media screen and (min-width:768px){
  .post_col-2 { width:50%; }
  .post_col-3 { width:33.33333%; }
}
@media screen and (min-width:1024px){
  .post_col-2 { width:50%; }
  .post_col-3 { width:33.33333%; }
}
.post_row:before, .post_row:after { content: " "; display: table; }
.post_row:after { clear: both; }
/* well */
.well { min-height:20px; padding:19px; margin-bottom:20px; background-color:#E3ECF0; border:1px solid #e3e3e3; border-radius:4px; -webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05); box-shadow:inset 0 1px 1px rgba(0,0,0,0.05); color: #003f73;}
.well2 { margin:1em 0 30px; padding:1em 1.5em; line-height:2; border:1px solid #cdcdcd; background:#E3ECF0; box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); color: #003f73; }
.well3 { margin:2em 0 2.5em; padding:1em 1.5em;line-height:2.0; border:1px dashed #cdcdcd; background:#E3ECF0;  box-shadow: 0 1px 3px 0 rgba(195,195,195,0.3); color: #003f73; }
.wl_red { background-color: #f2dede; border-color: #ebccd1; color: #a94442; }
.wl_yellow { background-color: #fcf8e3; border-color: #faebcc; color: #8a6d3b; }
.wl_blue { background-color: #d9edf7; border-color: #bce8f1; color: #31708f; }
.wl_green { background-color: #dff0d8; border-color: #d6e9c6; color: #3c763d; }
/* card link */
.cardlink { padding:12px 12px 12px 12px; margin:10px 0; border:1px solid #003f73; word-wrap:break-word; max-width:100%; background:#E3ECF0; color: #003f73;}
.cardlink_thumbnail { float:left; margin-right:20px; width:160px; }
.cardlink_thumbnail img {width: 100%; height: 120px; object-fit: cover;}
.cardlink_content { line-height:1.6; }
.cardlink .timestamp { display-inline; margin:0; padding:0; vertical-align:top; color:#003f73; line-height:1.6; font-size:12px; }
.cardlink_title { font-size:16px; margin:0 0 5px; }
.cardlink_title a { font-weight:bold; color:#003f73; text-decoration:none; }
.cardlink_title a:hover { text-decoration:underline; }
.cardlink_excerpt { color:#003f73; font-size:13px; overflow:hidden; line-height:1.8; }
.cardlink_footer { clear:both; }
.clear { clear:both; }
@media screen and (max-width: 767px) {
  .cardlink_thumbnail { float:none; width: 100%;}
  .cardlink_thumbnail img { height: 62vw; }
}
@media screen and (max-width: 479px) {
  .cardlink_excerpt { float:none; }
}
/* q_button override */
.q_button.rounded.sz_l{
  border: 3px solid #003f73;
  border-radius: 8px;
  padding: 10px 42px;
  min-width: 430px;
  color: #003f73;
  font-weight: 700;
  font-size: 24px;
  box-shadow: 4px 4px #003f73;
  margin: 0 3px 2em 0;
  position: relative;
  background: #E3ECF0;
}

@media screen and (max-width: 767px) {
  .q_button.rounded.sz_l {
    min-width: 0;
    width: 100%;
  }
}

.q_button.rounded.sz_l {
  background: #E3ECF0;
  color: #003f73 !important;
  transition: .2s;
  font-size: 20px;
}

.c-btn.c-btn--1::after,
.q_button.rounded.sz_l::after {
  content: '';
  background-image: url(../tani/images/icon-arrow-1.png);
  background-repeat: no-repeat;
  background-position: center center;
  height: 100%;
  width: 18px;
  position: absolute;
  right: 10px;
  top: 0;
}

.c-btn--1:hover,
.q_button.rounded.sz_l:hover{
  color: #003f73;
  box-shadow: 1px 1px #003f73;
  margin:3px 0 2em 3px;
}

.q_button:not(.rounded.sz_l) {
  position: relative;
}
.q_button:not(.rounded.sz_l)::after {
  position: absolute;
  bottom: 7px;
  left: 10%;
  content: "";
  width: 80%;
  height: 2px;
  background: #fff;
  transform: scale(0, 1);
  transform-origin: center top;
  transition: transform 0.3s;
}
.q_button:not(.rounded.sz_l):hover::after {
  transform: scale(1, 1);
}



