@charset "UTF-8";
/* CSS Document */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
}

#container {
  font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.4em;
  line-height: 1.9;
  color: #303030;
  min-width: 1300px;
  position: relative;
  overflow-x: hidden;
  margin-bottom: 130px;
}
@media screen and (max-width: 768px) {
  #container {
    font-size: 1.3rem;
    min-width: 320px;
    margin-bottom: 70px;
  }
}

a {
  text-decoration: none;
  word-break: break-word;
}
a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

::-moz-selection {
  background-color: #f76707;
  color: #fff;
}

::selection {
  background-color: #f76707;
  color: #fff;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 1em;
  font-weight: bold;
  margin: 0;
}

address {
  font-style: normal;
}

small {
  font-size: 100%;
}

iframe {
  vertical-align: bottom;
}

input, select, textarea {
  font-size: 16px !important;
  vertical-align: middle;
}

button {
  line-height: 1.9;
  cursor: pointer;
}

ol, ul {
  list-style-type: none;
}

img {
  vertical-align: middle;
  max-width: 100%;
  max-height: 100%;
  height: auto;
}

table {
  border-collapse: collapse;
  width: 100%;
}
table th {
  text-align: left;
}

.ophv {
  transition: 0.3s;
}
.ophv:hover {
  opacity: 0.6;
  text-decoration: none;
}

.pc {
  display: block;
}
@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .sp {
    display: block;
  }
}

/*----------------------------------------------------
 アニメーション
----------------------------------------------------*/
#loader {
  display: none;
  background-color: #fff;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
}

.loader-inner {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

.ball-pulse-sync > div, .ball-pulse > div, .ball-scale-random > div, .ball-scale > div {
  background-color: #f76707;
  border-radius: 100%;
  margin: 2px;
  display: inline-block;
}

.anime {
  opacity: 1;
  -webkit-animation-duration: 0.8s;
          animation-duration: 0.8s;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}

@-webkit-keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.anime_fadeIn.anime {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.8s ease-out 0s;
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(50%);
  }
  to {
    opacity: 1;
    transform: translateY(0);
    transition-delay: 0.2s;
    transition: transform 1s cubic-bezier(0.215, 0.61, 0.355, 1) 0s, opacity 0.8s ease-out 0s;
  }
}
.anime_fadeInUp.anime {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}

@-webkit-keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
    opacity: 1;
  }
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
            animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
    opacity: 1;
  }
}
.anime_flipInX.anime {
  -webkit-animation-name: flipInX;
          animation-name: flipInX;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anime_fadeInRight.anime {
  -webkit-animation-name: fadeInRight;
          animation-name: fadeInRight;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.anime_fadeInLeft.anime {
  -webkit-animation-name: fadeInLeft;
          animation-name: fadeInLeft;
}

@-webkit-keyframes pagettl {
  from {
    opacity: 0;
    padding-left: 15px;
  }
  to {
    opacity: 1;
    padding: 0;
  }
}

@keyframes pagettl {
  from {
    opacity: 0;
    padding-left: 15px;
  }
  to {
    opacity: 1;
    padding: 0;
  }
}
.anime_pagettl.anime {
  -webkit-animation-name: pagettl;
          animation-name: pagettl;
}

/*----------------------------------------------------
 ヘッダー
----------------------------------------------------*/
header {
  padding: 6px 4% 20px;
}
@media screen and (max-width: 768px) {
  header {
    padding: 0;
  }
}
header .inner {
  max-width: 1400px;
  width: 100%;
  margin: 0 auto;
}
header h1 {
  font-size: 10px;
  font-weight: normal;
  color: #a0a0a0;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  header h1 {
    display: none;
  }
}
header .logo {
  flex: 1;
}
@media screen and (max-width: 768px) {
  header .logo {
    padding: 10px;
  }
}
@media screen and (max-width: 768px) {
  header .logo img {
    width: 152px;
  }
}
header .flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 30px;
}
header .navArea {
  display: flex;
  gap: 30px;
}
@media screen and (max-width: 768px) {
  header .navArea {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  header #gnav {
    display: none;
  }
}
header #gnav ul {
  display: flex;
  gap: 30px;
}
header #gnav ul li {
  font-size: 16px;
  font-size: clamp(12px, 0.659rem + 0.45vw, 16px);
  font-weight: bold;
  text-align: center;
  position: relative;
}
header #gnav ul li span {
  display: block;
  font-size: 10px;
  font-weight: normal;
  color: #f76707;
}
header #gnav ul li a {
  display: block;
  color: #303030;
  transition: 0.3s;
}
header #gnav ul li:hover a {
  color: #f76707;
}
header #gnav .drop {
  display: none;
  width: 200px;
  padding-top: 26px;
  position: absolute;
  z-index: 200;
}
header #gnav .drop ul {
  display: block;
  background-color: #303030;
}
header #gnav .drop ul li {
  border-bottom: 1px solid #707070;
  font-size: 14px;
  font-weight: normal;
  text-align: left;
  margin: 0;
}
header #gnav .drop ul li:last-child {
  border: none;
}
header #gnav .drop ul li a {
  display: block;
  color: #fff;
  padding: 14px 40px;
  position: relative;
}
header #gnav .drop ul li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 22px;
  left: 20px;
}
header #gnav .drop ul li:hover a {
  color: #f76707;
}
@media screen and (max-width: 768px) {
  header .btn {
    display: none;
  }
}
header .btn a {
  display: block;
  background-color: #f76707;
  color: #fff;
  font-weight: bold;
  text-align: center;
  width: 180px;
  padding: 12px 25px;
  position: relative;
}
header .btn a::after {
  content: "";
  background-color: #303030;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
header .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
header .btn a span::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url(../img/common/ico_mail.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 14px;
  margin-right: 10px;
}
header .btn a:hover::after {
  background-color: #303030;
  transform: scaleX(1);
}
header #hmenu {
  display: none;
  width: 60px;
  height: 60px;
  position: relative;
}
@media screen and (max-width: 768px) {
  header #hmenu {
    display: block;
  }
}
header #hmenu span {
  background-color: #f76707;
  width: 28px;
  height: 4px;
  transition: 0.3s;
  position: absolute;
  right: 15px;
}
header #hmenu span:nth-of-type(1) {
  top: 19px;
}
header #hmenu span:nth-of-type(2) {
  top: 28px;
}
header #hmenu span:nth-of-type(3) {
  top: 37px;
}
header #hmenu.open span:nth-of-type(1) {
  transform: translateY(8px) rotate(-45deg);
}
header #hmenu.open span:nth-of-type(2) {
  opacity: 0;
}
header #hmenu.open span:nth-of-type(3) {
  transform: translateY(-10px) rotate(45deg);
}
header #gnav_sp {
  display: none;
  background-color: #303030;
  width: 100%;
  position: absolute;
  z-index: 999;
  top: 0;
  left: 0;
}
header #gnav_sp ul li a {
  display: block;
  border-bottom: 1px solid #707070;
  color: #fff;
  padding: 12px 20px 12px 35px;
  position: relative;
}
header #gnav_sp ul li a::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #fff;
  position: absolute;
  top: 22px;
  left: 20px;
}
header #gnav_sp ul li:hover a {
  color: #f76707;
}

/*----------------------------------------------------
 フッター
----------------------------------------------------*/
footer {
  background-color: #f2f2f2;
  border-top: 1px solid #d8d8d8;
  border-bottom: 8px solid #f76707;
}
footer .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 0 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer .inner {
    display: block;
    padding: 35px 10px 10px;
  }
}
footer .logoArea {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  footer .logoArea {
    display: block;
    text-align: center;
  }
}
footer .logo {
  margin-right: 60px;
}
@media screen and (max-width: 768px) {
  footer .logo {
    margin: 0 0 25px;
  }
}
footer .addressArea {
  margin: 0 60px 30px 0;
}
@media screen and (max-width: 768px) {
  footer .addressArea {
    margin: 0 0 25px;
  }
}
footer .nav {
  display: flex;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  footer .nav {
    display: block;
    margin-bottom: 25px;
  }
}
footer .nav ul {
  margin-right: 60px;
}
@media screen and (max-width: 768px) {
  footer .nav ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin: 0;
  }
}
footer .nav ul li {
  line-height: 2.2;
  padding-left: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  footer .nav ul li {
    border-right: 1px solid #303030;
    line-height: 1;
    margin: 0 0 10px;
    padding: 0 10px;
  }
}
footer .nav ul li:last-child {
  margin: 0;
}
@media screen and (max-width: 768px) {
  footer .nav ul li:last-child {
    border: none;
  }
}
footer .nav ul li::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #303030;
  position: absolute;
  top: 8px;
  left: 0;
}
@media screen and (max-width: 768px) {
  footer .nav ul li::before {
    display: none;
  }
}
footer .nav ul li a {
  color: #303030;
  transition: 0.3s;
}
footer .nav ul li a:hover {
  color: #f76707;
}
@media screen and (max-width: 768px) {
  footer .privacy {
    text-align: center;
    margin-bottom: 25px;
  }
}
footer .copyright {
  font-size: 11px;
  color: #959595;
  position: absolute;
  bottom: 40px;
  left: 290px;
}
@media screen and (max-width: 768px) {
  footer .copyright {
    text-align: center;
    position: static;
  }
}

#foot_fixed {
  background: rgba(0, 0, 0, 0.7);
  color: #fff;
  width: 100%;
  height: 130px;
  font-size: 16px;
  font-weight: bold;
  position: fixed;
  z-index: 11;
  transition: 0.4s linear;
}
@media screen and (max-width: 1300px) {
  #foot_fixed {
    font-size: 1.33vw;
  }
}
@media screen and (max-width: 768px) {
  #foot_fixed {
    font-size: 10px;
    height: 70px;
  }
}
#foot_fixed .inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1200px;
  margin: 0 auto;
  padding: 28px 130px;
}
@media screen and (max-width: 1300px) {
  #foot_fixed .inner {
    padding: 28px;
  }
}
@media screen and (max-width: 768px) {
  #foot_fixed .inner {
    justify-content: space-between;
    max-width: 750px;
    margin: 0 auto;
    padding: 13px 10px;
  }
}
#foot_fixed .ttl {
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  #foot_fixed .ttl {
    display: none;
  }
}
#foot_fixed .flex {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #foot_fixed .flex {
    display: block;
    margin-left: 5px;
  }
}
#foot_fixed .tel {
  font-size: 38px;
  font-weight: bold;
  line-height: 1;
  margin-right: 20px;
}
@media screen and (max-width: 1300px) {
  #foot_fixed .tel {
    font-size: 3.16vw;
  }
}
@media screen and (max-width: 768px) {
  #foot_fixed .tel {
    font-size: 20px;
    margin: 0 0 5px;
  }
}
#foot_fixed .tel a {
  color: #fff;
}
#foot_fixed .tel a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url(../img/common/ico_tel.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 22px;
  height: 30px;
  margin-right: 10px;
}
@media screen and (max-width: 768px) {
  #foot_fixed .tel a::before {
    width: 12px;
    height: 17px;
    margin-right: 5px;
  }
}
#foot_fixed.on.fixed.popup_on.top_fixed.appear {
  bottom: 0;
}
#foot_fixed.popup_on {
  bottom: -130px;
  opacity: 0;
}
#foot_fixed.on {
  opacity: 0;
}
#foot_fixed.on.fixed {
  opacity: 1;
}
#foot_fixed .btn a {
  display: block;
  background-color: #f76707;
  color: #fff;
  font-size: 15px;
  font-weight: bold;
  text-align: center;
  width: 260px;
  padding: 16px;
  position: relative;
}
@media screen and (max-width: 768px) {
  #foot_fixed .btn a {
    font-size: 12px;
    max-width: 155px;
    padding: 8px 10px;
  }
}
#foot_fixed .btn a::after {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
#foot_fixed .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
#foot_fixed .btn a span::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background-image: url(../img/common/ico_mail.png);
  background-repeat: no-repeat;
  background-size: cover;
  width: 20px;
  height: 14px;
  margin-right: 10px;
  transition: 0.3s;
}
#foot_fixed .btn a:hover::after {
  background-color: #fff;
  transform: scaleX(1);
}
#foot_fixed .btn a:hover span {
  color: #303030;
}
#foot_fixed .btn a:hover span::before {
  background-image: url(../img/common/ico_mail_black.png);
}

#pagetop {
  position: fixed;
  right: 40px;
  bottom: 170px;
}
@media screen and (max-width: 768px) {
  #pagetop {
    right: 15px;
    bottom: 90px;
  }
}

/*----------------------------------------------------
 トップ
----------------------------------------------------*/
.p_top #pagehead {
  position: relative;
}
.p_top #pagehead figure {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 620px;
  outline: none;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead figure {
    height: 180px;
  }
}
.p_top #pagehead .txtArea {
  background-color: rgba(0, 0, 0, 0.8);
  color: #fff;
  width: 740px;
  padding: 40px;
  position: absolute;
  z-index: 100;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  margin: auto;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead .txtArea {
    width: auto;
    padding: 20px 10px;
  }
}
.p_top #pagehead .ttl {
  font-size: 34px;
  font-weight: bold;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead .ttl {
    font-size: 15px;
    margin: 0;
  }
}
.p_top #pagehead .ttl span {
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead .txt {
    display: none;
  }
}
.p_top #pagehead p {
  font-size: 16px;
  font-weight: bold;
}
.p_top #pagehead .slick-dots {
  bottom: -40px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead .slick-dots {
    bottom: -30px;
  }
}
.p_top #pagehead .slick-dots li button:before {
  font-size: 15px;
  color: #c5c5c5;
  opacity: 1;
}
@media screen and (max-width: 768px) {
  .p_top #pagehead .slick-dots li button:before {
    font-size: 10px;
  }
}
.p_top #pagehead .slick-dots li.slick-active button:before {
  opacity: 1;
  color: #f76707;
}
.p_top #pagehead .slick-dots li button:hover:before, .p_top #pagehead .slick-dots li button:focus:before {
  color: #f76707;
}
.p_top .secttl {
  font-size: 42px;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_top .secttl {
    font-size: 28px;
    margin-bottom: 20px;
  }
}
.p_top .secttl span {
  display: block;
  font-size: 18px;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_top .secttl span {
    font-size: 13px;
  }
}
.p_top .section.service .inner {
  padding-top: 100px;
}
@media screen and (max-width: 768px) {
  .p_top .section.service .inner {
    padding: 50px 10px 0;
  }
}
.p_top .section.service .cap {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_top .section.service .cap {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 15px;
  }
}
.p_top .section.service ul {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul {
    display: block;
  }
}
.p_top .section.service ul li {
  width: 50%;
  height: 500px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li {
    width: auto;
    height: auto;
  }
}
.p_top .section.service ul li figure {
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li figure {
    height: 180px;
  }
}
.p_top .section.service ul li .txtArea {
  padding: 100px 40px;
  color: #fff;
  text-align: center;
  width: 450px;
  height: 100%;
  position: absolute;
  top: 0;
  right: 0;
}
@media screen and (max-width: 1300px) {
  .p_top .section.service ul li .txtArea {
    width: 400px;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li .txtArea {
    position: static;
    width: auto;
    padding: 25px 20px;
  }
}
.p_top .section.service ul li .ttl {
  font-size: 3rem;
  margin-bottom: 30px;
}
@media screen and (max-width: 1300px) {
  .p_top .section.service ul li .ttl {
    font-size: 2.6rem;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li .ttl {
    font-size: 1.7rem;
    margin-bottom: 10px;
  }
}
.p_top .section.service ul li .btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li .btn {
    margin-top: 20px;
  }
}
.p_top .section.service ul li .btn a {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  border: 1px solid #fff;
  color: #fff;
  width: 320px;
  padding: 16px;
  position: relative;
  transition: 0.5s;
}
@media screen and (max-width: 1300px) {
  .p_top .section.service ul li .btn a {
    width: 260px;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li .btn a {
    font-size: 13px;
    max-width: 300px;
    padding: 14px;
  }
}
.p_top .section.service ul li .btn a::after {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_top .section.service ul li .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_top .section.service ul li .btn a:hover::after {
  background-color: #fff;
  transform: scaleX(1);
}
.p_top .section.service ul li:first-child .txtArea {
  background-color: rgba(247, 103, 7, 0.8);
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li:first-child .txtArea {
    background-color: #f76707;
  }
}
.p_top .section.service ul li:first-child .btn:hover span {
  color: #f76707;
}
.p_top .section.service ul li:last-child .txtArea {
  background-color: rgba(0, 0, 0, 0.8);
}
@media screen and (max-width: 768px) {
  .p_top .section.service ul li:last-child .txtArea {
    background-color: #303030;
  }
}
.p_top .section.service ul li:last-child .btn:hover span {
  color: #303030;
}
.p_top .section.case .inner {
  padding: 100px 0;
}
@media screen and (max-width: 1300px) {
  .p_top .section.case .inner {
    padding: 100px 40px;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.case .inner {
    padding: 50px 10px;
  }
}
.p_top .section.case .cap {
  font-size: 1.5rem;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .cap {
    font-size: 1.3rem;
    text-align: left;
    margin-bottom: 15px;
  }
}
.p_top .section.case .box {
  border: 1px solid #303030;
  width: 20%;
  min-height: 420px;
  margin: 0 20px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .box {
    min-height: auto;
  }
}
.p_top .section.case .box::before {
  content: "";
  display: block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 0 18px 18px;
  border-color: transparent transparent #f76707 transparent;
  position: absolute;
  right: 3px;
  bottom: 3px;
}
.p_top .section.case .box a {
  display: block;
  color: #303030;
  outline: none;
}
.p_top .section.case .box .head {
  display: flex;
  align-items: center;
  background-color: #303030;
  color: #fff;
  font-size: 1.8rem;
  min-height: 100px;
  padding: 20px 7.5%;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .box .head {
    font-size: 1.6rem;
    min-height: 90px;
  }
}
.p_top .section.case .box .body {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .box .body {
    padding: 20px;
  }
}
.p_top .section.case .box dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .box dl dt {
    font-size: 1.3rem;
  }
}
.p_top .section.case .box dl dt:first-child {
  color: #303030;
}
.p_top .section.case .box dl dd {
  margin-bottom: 20px;
}
.p_top .section.case .box dl dd:last-child {
  margin: 0;
}
.p_top .section.case .btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .btn {
    margin-top: 20px;
  }
}
.p_top .section.case .btn a {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #f76707;
  color: #fff;
  width: 360px;
  padding: 20px;
  position: relative;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  .p_top .section.case .btn a {
    font-size: 13px;
    max-width: 300px;
    padding: 14px;
  }
}
.p_top .section.case .btn a::after {
  content: "";
  background-color: #303030;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_top .section.case .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_top .section.case .btn a:hover::after {
  background-color: #303030;
  transform: scaleX(1);
}
.p_top .section.about {
  background-color: #f2f2f2;
}
.p_top .section.about .inner {
  padding: 100px 80px 0;
}
@media screen and (max-width: 1300px) {
  .p_top .section.about .inner {
    padding: 100px 40px 0;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.about .inner {
    padding: 50px 10px 0;
  }
}
.p_top .section.about .cap {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .cap {
    font-size: 1.4rem;
    text-align: left;
    margin-bottom: 15px;
  }
}
.p_top .section.about ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about ul {
    display: block;
  }
}
.p_top .section.about ul li {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background-color: #fff;
  border: 1px solid #303030;
  width: 48.9%;
  margin-bottom: 40px;
  padding: 40px 30px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about ul li {
    display: block;
    text-align: left;
    width: auto;
    margin-bottom: 20px;
    padding: 25px;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.about ul li figure {
    text-align: center;
    margin-bottom: 25px;
  }
}
.p_top .section.about ul li .txt {
  width: 82.5%;
}
@media screen and (max-width: 768px) {
  .p_top .section.about ul li .txt {
    width: auto;
  }
}
.p_top .section.about ul li .ttl {
  font-size: 2.2rem;
  color: #f76707;
  margin-bottom: 10px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about ul li .ttl {
    font-size: 1.7rem;
  }
}
.p_top .section.about .address {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .address {
    display: block;
  }
}
.p_top .section.about .address .txtArea {
  background-color: #f76707;
  color: #fff;
  text-align: center;
  width: 50%;
  padding: 80px 20px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .address .txtArea {
    width: auto;
    padding: 50px 10px;
  }
}
.p_top .section.about .address .map {
  width: 50%;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .address .map {
    width: auto;
    height: 290px;
  }
}
.p_top .section.about .address .map iframe {
  width: 100%;
  height: 100%;
}
.p_top .section.about .address .name {
  font-size: 2.4rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .address .name {
    font-size: 2.1rem;
  }
}
.p_top .section.about .address address {
  margin-bottom: 30px;
}
.p_top .section.about .address .btn {
  text-align: center;
  margin-top: 40px;
}
.p_top .section.about .address .btn a {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #f76707;
  border: 1px solid #fff;
  color: #fff;
  width: 320px;
  padding: 16px;
  position: relative;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  .p_top .section.about .address .btn a {
    font-size: 13px;
    max-width: 300px;
    padding: 14px;
  }
}
.p_top .section.about .address .btn a::after {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_top .section.about .address .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_top .section.about .address .btn a:hover::after {
  background-color: #fff;
  transform: scaleX(1);
}
.p_top .section.about .address .btn a:hover span {
  color: #f76707;
}
.p_top .section.news .inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 100px 0;
}
@media screen and (max-width: 1300px) {
  .p_top .section.news .inner {
    padding: 100px 20px;
  }
}
@media screen and (max-width: 768px) {
  .p_top .section.news .inner {
    padding: 50px 10px;
  }
}
.p_top .section.news article {
  display: flex;
  border-top: 1px solid #bfbfbf;
  padding: 22px 20px 22px 40px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_top .section.news article {
    display: block;
    padding: 20px;
  }
}
.p_top .section.news article:last-of-type {
  border-bottom: 1px solid #bfbfbf;
}
.p_top .section.news article::before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 3px 0 3px 5.2px;
  border-color: transparent transparent transparent #f76707;
  position: absolute;
  top: 30px;
  left: 20px;
}
@media screen and (max-width: 768px) {
  .p_top .section.news article::before {
    top: 28px;
    left: 10px;
  }
}
.p_top .section.news article .date {
  font-weight: bold;
  margin-right: 40px;
}
.p_top .section.news article .ttl {
  width: 85%;
}
@media screen and (max-width: 768px) {
  .p_top .section.news article .ttl {
    width: auto;
  }
}
.p_top .section.news article .ttl a {
  color: #303030;
  transition: 0.3s;
}
.p_top .section.news article .ttl a:hover {
  color: #f76707;
}
.p_top .section.news .btn {
  text-align: center;
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p_top .section.news .btn {
    margin-top: 20px;
  }
}
.p_top .section.news .btn a {
  display: inline-block;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  background-color: #f76707;
  color: #fff;
  width: 360px;
  padding: 20px;
  position: relative;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  .p_top .section.news .btn a {
    font-size: 13px;
    max-width: 300px;
    padding: 14px;
  }
}
.p_top .section.news .btn a::after {
  content: "";
  background-color: #303030;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_top .section.news .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_top .section.news .btn a:hover::after {
  background-color: #303030;
  transform: scaleX(1);
}

/*----------------------------------------------------
 下層共通
----------------------------------------------------*/
.p_low #pagehead {
  background-image: url(../img/common/pagehead.jpg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  height: 220px;
}
@media screen and (max-width: 768px) {
  .p_low #pagehead {
    height: 110px;
    margin-bottom: 40px;
  }
}
.p_low #pagehead .inner {
  padding: 70px 0;
}
@media screen and (max-width: 768px) {
  .p_low #pagehead .inner {
    padding: 30px 10px;
  }
}
.p_low #pagehead h2 {
  font-size: 34px;
  text-align: center;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p_low #pagehead h2 {
    font-size: 21px;
  }
}
.p_low #pagehead h2 span {
  display: block;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .p_low #pagehead h2 span {
    font-size: 11px;
  }
}
@media screen and (max-width: 768px) {
  .p_low #breadcrumb {
    display: none;
  }
}
.p_low #breadcrumb ul {
  display: flex;
  justify-content: flex-end;
  font-size: 14px;
  width: 1200px;
  margin: 0 auto;
  padding: 16px 0 70px;
}
.p_low #breadcrumb ul li a {
  color: #303030;
  transition: 0.3s;
}
.p_low #breadcrumb ul li a:hover {
  color: #f76707;
}
.p_low #breadcrumb ul li::after {
  content: ">";
  margin: 0 6px;
}
.p_low #breadcrumb ul li:last-child::after {
  display: none;
}
.p_low .section .inner {
  width: 1200px;
  margin: 0 auto;
  padding-bottom: 100px;
}
@media screen and (max-width: 768px) {
  .p_low .section .inner {
    width: auto;
    padding: 0 10px 50px;
  }
}
.p_low .section:last-child .inner {
  padding-bottom: 150px;
}
@media screen and (max-width: 768px) {
  .p_low .section:last-child .inner {
    padding-bottom: 75px;
  }
}
.p_low .secttl {
  background-color: #f76707;
  color: #fff;
  font-size: 21px;
  margin-bottom: 30px;
  padding: 12px 10px 12px 30px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_low .secttl {
    font-size: 16px;
    margin-bottom: 15px;
    padding: 8px 10px 8px 20px;
  }
}
.p_low .secttl::before {
  content: "";
  display: block;
  background-color: #fff;
  width: 15px;
  height: 6px;
  position: absolute;
  top: 26px;
  left: 0;
}
@media screen and (max-width: 768px) {
  .p_low .secttl::before {
    width: 12px;
    height: 5px;
    top: 20px;
  }
}
.p_low .subttl {
  border-bottom: 1px solid #f76707;
  color: #f76707;
  font-size: 21px;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_low .subttl {
    font-size: 1.7rem;
    margin-bottom: 15px;
  }
}
.p_low .btn {
  margin-top: 40px;
}
@media screen and (max-width: 768px) {
  .p_low .btn {
    margin-top: 20px;
  }
}
.p_low .btn a, .p_low .btn button {
  display: block;
  background: #303030;
  border: none;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  max-width: 360px;
  width: 100%;
  margin: 0 auto;
  padding: 20px;
  position: relative;
  transition: 0.5s;
}
@media screen and (max-width: 768px) {
  .p_low .btn a, .p_low .btn button {
    font-size: 13px;
    max-width: 300px;
    padding: 15px;
  }
}
.p_low .btn a::after, .p_low .btn button::after {
  content: "";
  background-color: #f76707;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_low .btn a span, .p_low .btn button span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_low .btn a:hover::after, .p_low .btn button:hover::after {
  background-color: #f76707;
  transform: scaleX(1);
}

/*----------------------------------------------------
 企業情報
----------------------------------------------------*/
.p_company dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_company dl dt {
    font-size: 1.4rem;
  }
}
.p_company dl dd {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_company dl dd {
    margin-bottom: 20px;
  }
}
.p_company .name {
  font-weight: bold;
  text-align: right;
}
.p_company .logoArea {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: YuMincho, "Yu Mincho", serif;
  font-size: 18px;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_company .logoArea {
    font-size: 11px;
    margin-bottom: 20px;
  }
}
.p_company .logoArea img {
  margin-right: 40px;
}
@media screen and (max-width: 768px) {
  .p_company .logoArea img {
    max-width: 228px;
    width: 40.2%;
  }
}
.p_company table tr {
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
}
.p_company table th, .p_company table td {
  padding: 22px 30px;
}
@media screen and (max-width: 768px) {
  .p_company table th, .p_company table td {
    padding: 10px;
  }
}
.p_company table th {
  background-color: #f2f2f2;
  width: 220px;
}
@media screen and (max-width: 768px) {
  .p_company table th {
    width: 100px;
  }
}
.p_company table a {
  text-decoration: underline;
  color: #f76707;
}
.p_company .map {
  margin-top: 20px;
}
.p_company .map iframe {
  width: 100%;
  height: 500px;
}
@media screen and (max-width: 768px) {
  .p_company .map iframe {
    height: 250px;
  }
}

/*----------------------------------------------------
 発送コスト削減
----------------------------------------------------*/
.p_cost .cap {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_cost .cap {
    margin-bottom: 20px;
  }
}
.p_cost .root {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p_cost .root {
    margin-bottom: 30px;
  }
}
.p_cost .root ul {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p_cost .root ul {
    display: block;
  }
}
.p_cost .root ul li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 1px solid #303030;
  max-width: 380px;
  width: 100%;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .p_cost .root ul li {
    margin: 0 auto 15px;
    padding: 35px 25px;
  }
}
@media screen and (max-width: 768px) {
  .p_cost .root ul li figure {
    max-width: 72px;
    width: 19.3%;
  }
}
.p_cost .root ul li .ttl {
  font-size: 2.2rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_cost .root ul li .ttl {
    font-size: 1.5rem;
  }
}
.p_cost .root ul li .txtarea {
  width: 225px;
}
@media screen and (max-width: 768px) {
  .p_cost .root ul li .txtarea {
    width: 73.1%;
  }
}
.p_cost .root .ref {
  font-weight: bold;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .root .ref {
    margin-top: 15px;
  }
}
.p_cost .hikaku {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku {
    margin-bottom: 40px;
  }
}
.p_cost .hikaku .txt {
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku .txt {
    margin-bottom: 15px;
  }
}
.p_cost .hikaku ul {
  display: flex;
  justify-content: space-between;
  margin-top: 60px;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku ul {
    display: block;
    margin-top: 40px;
  }
}
.p_cost .hikaku ul li {
  max-width: 360px;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku ul li {
    margin: 0 auto 30px;
  }
}
.p_cost .hikaku ul li .ttl {
  font-size: 1.6rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku ul li .ttl {
    font-size: 1.5rem;
  }
}
.p_cost .hikaku ul li figure {
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .hikaku ul li figure {
    margin-top: 10px;
  }
}
.p_cost .tbl-wrap {
  overflow: auto;
  white-space: nowrap;
  margin-bottom: 2em;
}
.p_cost .tbl-wrap table {
  height: 100%;
}
.p_cost .tbl-wrap table tr {
  border: 1px solid #bfbfbf;
}
.p_cost .tbl-wrap table th, .p_cost .tbl-wrap table td {
  border: 1px solid #bfbfbf;
  text-align: center;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .tbl-wrap table th, .p_cost .tbl-wrap table td {
    padding: 10px;
  }
}
.p_cost .tbl-wrap table th {
  background-color: #f2f2f2;
}
.p_cost .tbl-wrap table th:first-child {
  width: 200px;
}
@media screen and (max-width: 768px) {
  .p_cost .tbl-wrap table th:first-child {
    width: 100px;
  }
}
.p_cost .tbl-wrap table td:nth-child(2) .size-wrap, .p_cost .tbl-wrap table td:nth-child(3) .size-wrap {
  height: 100%;
}
.p_cost .tbl-wrap table a {
  text-decoration: underline;
  color: #f76707;
}
.p_cost .tbl-wrap table .size-tr td {
  padding: 0;
}
.p_cost .tbl-wrap table .size-wrap {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid #bfbfbf;
  width: 100%;
  margin: auto;
}
.p_cost .tbl-wrap table .size-wrap:last-of-type {
  border-bottom: 0;
}
.p_cost .tbl-wrap table .size-txt {
  border-bottom: 1px dotted #bfbfbf;
  width: 100%;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .tbl-wrap table .size-txt {
    padding: 10px;
  }
}
.p_cost .tbl-wrap table .size-tr figure {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .p_cost .tbl-wrap table .size-tr figure {
    padding: 10px;
  }
}

/*----------------------------------------------------
 DM業務代行
----------------------------------------------------*/
.p_daikou .cap {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_daikou .cap {
    margin-bottom: 20px;
  }
}
.p_daikou .service {
  margin-bottom: 80px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_daikou .service {
    margin-bottom: 40px;
  }
}
.p_daikou .privacy_btn {
  position: absolute;
  top: 60px;
  right: 0;
}
@media screen and (max-width: 768px) {
  .p_daikou .privacy_btn {
    position: static;
  }
}
.p_daikou .privacy_btn a {
  display: block;
  background-color: #303030;
  color: #fff;
  font-size: 13px;
  text-align: center;
  width: 230px;
  padding: 8px;
}
@media screen and (max-width: 768px) {
  .p_daikou .privacy_btn a {
    margin: 0 auto 20px;
  }
}
.p_daikou .txt {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_daikou .txt {
    margin-bottom: 15px;
  }
}
.p_daikou .content {
  display: flex;
  justify-content: space-between;
  background-color: #f2f2f2;
  padding: 20px;
}
@media screen and (max-width: 768px) {
  .p_daikou .content {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .p_daikou .content figure {
    text-align: center;
  }
}
.p_daikou .content .txtarea {
  width: 880px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p_daikou .content .txtarea {
    width: auto;
  }
}
.p_daikou .content .list_flex {
  display: flex;
}
@media screen and (max-width: 768px) {
  .p_daikou .content .list_flex {
    display: block;
  }
}
.p_daikou .content ul {
  font-weight: bold;
}
.p_daikou .content ul li {
  margin-right: 120px;
}
@media screen and (max-width: 768px) {
  .p_daikou .content ul li {
    margin: 0;
  }
}
.p_daikou .content .txt_orange {
  color: #f76707;
  font-weight: bold;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p_daikou .content .txt_orange {
    margin-top: 15px;
  }
}

/*----------------------------------------------------
 物流事業
----------------------------------------------------*/
@media screen and (max-width: 768px) {
  .p_logistics .secttl span {
    display: none;
  }
}
.p_logistics .flex {
  display: flex;
  justify-content: space-between;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .p_logistics .flex {
    display: block;
    margin-bottom: 20px;
  }
}
.p_logistics .flex .txt {
  width: 790px;
  margin-top: 10px;
}
@media screen and (max-width: 768px) {
  .p_logistics .flex .txt {
    width: auto;
    margin-top: 20px;
  }
}
.p_logistics .flex .txt span {
  font-size: 1.8rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p_logistics .flex .txt span {
    font-size: 1.5rem;
  }
}
.p_logistics dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_logistics dl dt {
    font-size: 1.4rem;
  }
}
.p_logistics dl dd {
  margin-bottom: 20px;
}
.p_logistics dl dd:last-child {
  margin: 0;
}
.p_logistics .wms {
  margin-top: 30px;
}
@media screen and (max-width: 768px) {
  .p_logistics .wms {
    margin-top: 10px;
  }
}
.p_logistics .case {
  margin-top: 80px;
}
@media screen and (max-width: 768px) {
  .p_logistics .case {
    margin-top: 40px;
  }
}
.p_logistics .case .ttl {
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p_logistics .case .ttl {
    font-size: 1.4rem;
  }
}
.p_logistics .case .content {
  background-color: #f2f2f2;
  margin-top: 30px;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .p_logistics .case .content {
    margin-top: 10px;
    padding: 20px;
  }
}

/*----------------------------------------------------
 事例紹介
----------------------------------------------------*/
.p_case .cap {
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_case .cap {
    margin-bottom: 20px;
  }
}
.p_case .dm {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p_case .dm {
    margin-bottom: 40px;
  }
}
.p_case .boxList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  .p_case .boxList {
    display: block;
  }
}
.p_case .boxList .box {
  border: 1px solid #303030;
  max-width: 580px;
  width: 100%;
  margin-bottom: 40px;
}
@media screen and (max-width: 768px) {
  .p_case .boxList .box {
    margin-bottom: 20px;
  }
}
.p_case .boxList .box .head {
  display: flex;
  align-items: center;
  background-color: #303030;
  color: #fff;
  font-size: 1.8rem;
  min-height: 100px;
  padding: 16px 30px;
}
@media screen and (max-width: 768px) {
  .p_case .boxList .box .head {
    font-size: 1.6rem;
    min-height: 90px;
    padding: 15px 30px;
  }
}
.p_case .boxList .box .body {
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .p_case .boxList .box .body {
    padding: 20px;
  }
}
.p_case .boxList .box .btn {
  text-align: right;
  margin-top: 20px;
}
@media screen and (max-width: 768px) {
  .p_case .boxList .box .btn {
    margin-top: 15px;
  }
}
.p_case .boxList .box .btn a {
  display: inline-block;
  background-color: #f76707;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
  width: 160px;
  padding: 10px;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p_case .boxList .box .btn a {
    font-size: 10px;
    width: 140px;
    padding: 6px;
  }
}
.p_case .boxList .box .btn a::after {
  content: "";
  background-color: #303030;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform-origin: left center;
  transition: transform 0.3s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transform: scaleX(0);
}
.p_case .boxList .box .btn a span {
  color: #fff;
  position: relative;
  z-index: 1;
  transition: 0.5s;
}
.p_case .boxList .box .btn a:hover::after {
  background-color: #303030;
  transform: scaleX(1);
}
.p_case .ttl {
  font-size: 1.6rem;
  font-weight: bold;
}
@media screen and (max-width: 768px) {
  .p_case .ttl {
    font-size: 1.4rem;
  }
}
.p_case .content {
  background-color: #f2f2f2;
  margin-top: 20px;
  padding: 30px;
}
@media screen and (max-width: 768px) {
  .p_case .content {
    margin-top: 10px;
    padding: 15px;
  }
}
.p_case dl dt {
  font-size: 1.6rem;
  font-weight: bold;
  color: #f76707;
}
@media screen and (max-width: 768px) {
  .p_case dl dt {
    font-size: 1.3rem;
  }
}
.p_case dl dd {
  margin-bottom: 20px;
}
.p_case dl dd:last-child {
  margin: 0;
}

/*----------------------------------------------------
 新着情報
----------------------------------------------------*/
.p_news article .head {
  display: flex;
  justify-content: space-between;
  background-color: #f2f2f2;
  font-weight: bold;
  padding: 14px 20px;
}
@media screen and (max-width: 768px) {
  .p_news article .head {
    display: block;
    padding: 10px 20px;
  }
}
.p_news article .head .ttl {
  font-size: 1.6rem;
  color: #f76707;
  width: 1020px;
}
@media screen and (max-width: 768px) {
  .p_news article .head .ttl {
    font-size: 1.3rem;
    width: auto;
  }
}
.p_news article .body {
  padding: 20px 20px 80px;
}
@media screen and (max-width: 768px) {
  .p_news article .body {
    padding: 15px 0 35px;
  }
}
.p_news article .body a {
  text-decoration: underline;
  color: #f76707;
}
.p_news .pagination ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.p_news .pagination ul li {
  margin-right: 10px;
}
.p_news .pagination ul li:last-child {
  margin: 0;
}
.p_news .pagination ul li a, .p_news .pagination ul li span {
  display: block;
  border: 1px solid #303030;
  color: #303030;
  padding: 5px 11px;
}
.p_news .pagination ul li a {
  color: #303030;
  transition: 0.3s;
}
.p_news .pagination ul li span {
  background-color: #303030;
  color: #fff;
}
.p_news .pagination ul li:hover a {
  background-color: #303030;
  color: #fff;
}

/*----------------------------------------------------
 お問い合わせ
----------------------------------------------------*/
.p_contact .cap {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_contact .cap {
    margin-bottom: 20px;
  }
}
.p_contact .cap a {
  text-decoration: underline;
  color: #f76707;
}
.p_contact .telBox {
  border: 1px solid #303030;
  font-size: 2.1rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 40px 60px;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox {
    font-size: 1.4rem;
    padding: 20px;
  }
}
.p_contact .telBox .ttl {
  color: #f76707;
}
.p_contact .telBox ul {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox ul {
    display: block;
  }
}
.p_contact .telBox ul li {
  font-size: 5rem;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox ul li {
    font-size: 3rem;
  }
}
.p_contact .telBox ul li span {
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox ul li span {
    font-size: 1.9rem;
  }
}
.p_contact .telBox ul li a {
  color: #303030;
}
.p_contact .telBox ul li a::after {
  content: "/";
  padding-left: 1em;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox ul li a::after {
    display: none;
  }
}
.p_contact .telBox ul li .time {
  font-size: 2.1rem;
}
@media screen and (max-width: 768px) {
  .p_contact .telBox ul li .time {
    font-size: 1.4rem;
    margin-bottom: 10px;
  }
}
.p_contact form table tr {
  border-top: 1px solid #bfbfbf;
  border-bottom: 1px solid #bfbfbf;
}
.p_contact form table th, .p_contact form table td {
  padding: 22px 30px;
}
@media screen and (max-width: 768px) {
  .p_contact form table th, .p_contact form table td {
    display: block;
    padding: 10px;
  }
}
.p_contact form table th {
  background-color: #f2f2f2;
  width: 280px;
}
@media screen and (max-width: 768px) {
  .p_contact form table th {
    width: auto;
  }
}
.p_contact form table th img {
  margin-left: 10px;
}
.p_contact form table a {
  text-decoration: underline;
  color: #f76707;
}
.p_contact form .input01 {
  border: 1px solid #bfbfbf;
  max-width: 160px;
  height: 40px;
  padding: 3px;
}
.p_contact form .input02 {
  border: 1px solid #bfbfbf;
  max-width: 280px;
  width: 100%;
  height: 40px;
  padding: 3px;
}
.p_contact form .input03 {
  border: 1px solid #bfbfbf;
  max-width: 380px;
  width: 100%;
  height: 40px;
  padding: 3px;
}
.p_contact form select {
  border: 1px solid #bfbfbf;
  height: 40px;
  padding: 3px;
}
.p_contact form textarea {
  border: 1px solid #bfbfbf;
  max-width: 650px;
  width: 100% !important;
  height: 180px !important;
  padding: 3px;
}
.p_contact form ul li {
  margin-bottom: 10px;
}
.p_contact form ul li:last-child {
  margin: 0;
}
.p_contact form label {
  display: block;
}
.p_contact #privacy01 {
  margin-bottom: 80px;
}
@media screen and (max-width: 768px) {
  .p_contact #privacy01 {
    margin-bottom: 40px;
  }
}
.p_contact #privacy01 .date, .p_contact #privacy01 .rinen, .p_contact #privacy01 .privacy {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_contact #privacy01 .date, .p_contact #privacy01 .rinen, .p_contact #privacy01 .privacy {
    margin-bottom: 20px;
  }
}
.p_contact #privacy01 ol {
  text-indent: -2em;
  padding-left: 2em;
}
.p_contact dl dt {
  font-weight: bold;
  color: #f76707;
}
.p_contact dl dd {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_contact dl dd {
    margin-bottom: 20px;
  }
}
.p_contact dl dd:last-child {
  margin: 0;
}
.p_contact #privacy02 ol {
  text-indent: -2em;
  padding-left: 2em;
}
.p_contact #privacy02 ol li {
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p_contact #privacy02 ol li {
    margin-bottom: 20px;
  }
}
.p_contact #privacy02 ol ol li {
  margin: 0;
}
.p_contact #privacy02 .alpha_list01 li {
  text-indent: -2em;
  padding-left: 2em;
  margin: 0;
}
.p_contact #privacy02 .alpha_list02 li {
  text-indent: -1.5em;
  padding-left: 2em;
}
.p_contact #privacy02 .alpha_list02 li ol {
  text-indent: -2em;
  padding-left: 2em;
}
.p_contact #privacy02 .alpha_list02 li ol li {
  margin: 0;
  padding: 0;
}

/*----------------------------------------------------
Security
----------------------------------------------------*/
.p_security .section01 .txt {
  margin-bottom: 2em;
}
.p_security .section01 dl {
  margin-bottom: 2em;
}
.p_security .section01 dl dt {
  font-weight: bold;
  color: #f76707;
}
.p_security .section01 dl dd {
  margin-bottom: 2em;
}
.p_security .section01 .date {
  margin-top: 2em;
  text-align: right;
}
/*# sourceMappingURL=style.css.map */