<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">@charset "UTF-8";

*,
::after,
::before {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p {
  margin: 0;
}

html {
  scroll-behavior: smooth;
}

a:not([class]) {
  -webkit-text-decoration-skip: ink;
  text-decoration-skip-ink: auto;
}

img,
picture {
  max-width: 100%;
  display: block;
}

button,
input,
select,
textarea {
  font: inherit;
}

li,
ol,
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: 0;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

a {
  text-decoration: none;
}

a:hover {
  opacity: 0.5;
  transition: 0.3s;
}

img {
  height: auto;
}

.container {
  width: 100%;
}

.bg-primary {
  --tw-bg-opacity: 1;
  background-color: rgba(5, 60, 110, var(--tw-bg-opacity));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity));
}

.border-collapse {
  border-collapse: collapse;
}

.border-primary {
  border-color: #053c6e;
}

.border-solid {
  border-style: solid;
}

.border-dotted {
  border-style: dotted;
}

.border-0 {
  border-width: 0;
}

.border-1 {
  border-width: 1px;
}

.border-r-1 {
  border-right-width: 1px;
}

.border-b-1 {
  border-bottom-width: 1px;
}

.block {
  display: block;
}

.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.vertical-bottom {
  vertical-align: bottom !important;
}

.table {
  display: table;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.flex-row {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
}

.justify-center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.text-14 {
  font-size: 14px;
}

.text-15 {
  font-size: 15px;
}

.text-16 {
  font-size: 16px;
}

.text-18 {
  font-size: 18px;
}

.text-19 {
  font-size: 19px;
}

.text-20 {
  font-size: 20px;
}

.text-42 {
  font-size: 42px;
}

.leading-none {
  line-height: 1;
}

.leading-loose {
  line-height: 2;
}

.mb-1rem {
  margin-bottom: 1rem;
}

.mb-2rem {
  margin-bottom: 2rem;
}

.my-1rem {
  margin: 1rem 0;
}

.my-2rem {
  margin: 2rem 0;
}

.my-3rem {
  margin: 3rem 0;
}

.my-4rem {
  margin: 4rem 0;
}

.my-5rem {
  margin: 5rem 0;
}

.mt-5px {
  margin-top: 5px;
}

.mt-10px {
  margin-top: 10px;
}

.mr-10px {
  margin-right: 10px;
}

.ml-10px {
  margin-left: 10px;
}

.mt-15px {
  margin-top: 15px;
}

.mt-5 {
  margin-top: 5rem;
}

.mt-20px {
  margin-top: 20px;
}

.mr-20px {
  margin-right: 20px;
}

.mb-20px {
  margin-bottom: 20px;
}

.mb-60px {
  margin-bottom: 60px !important;
}

.mt-25px {
  margin-top: 25px;
}

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

.mb-30px {
  margin-bottom: 30px;
}

.mt-35px {
  margin-top: 35px;
}

.mt-40px {
  margin-top: 40px;
}

.mt-45px {
  margin-top: 45px;
}

.mt-50px {
  margin-top: 50px;
}

.mt-60px {
  margin-top: 60px;
}

.mt-65px {
  margin-top: 65px;
}

.my-5 {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.py-5 {
  padding-top: 5rem;
  padding-bottom: 5rem;
}

.px-5 {
  padding-left: 5rem;
  padding-right: 5rem;
}

.px-7 {
  padding-left: 7rem;
  padding-right: 7rem;
}

.py-5px {
  padding-top: 5px;
  padding-bottom: 5px;
}

.py-10px {
  padding-top: 10px;
  padding-bottom: 10px;
}

.px-1rem {
  padding-left: 1rem;
  padding-right: 1rem;
}

.px-10px {
  padding-left: 10px;
  padding-right: 10px;
}

.px-20px {
  padding-left: 20px;
  padding-right: 20px;
}

.py-30px {
  padding-top: 30px;
  padding-bottom: 30px;
}

.pr-20px {
  padding-right: 20px;
}

.pb-20px {
  padding-bottom: 20px;
}

.pt-50px {
  padding-top: 50px;
}

.pt-60px {
  padding-top: 60px;
}

.pb-150px {
  padding-bottom: 150px;
}

.fs-15px {
  font-size: 15px;
}

.fs-28px {
  font-size: 28px;
}

.fw-bold {
  font-weight: bold;
}

.static {
  position: static;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.resize {
  resize: both;
}

.position-relative {
  position: relative;
}

.position-absolute {
  position: absolute;
}

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

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

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

.text-primary {
  font-size: 20px;
  font-weight: bold;
  color: #000;
  border-bottom: 1px solid #90010c;
  text-align: left;
  display: inline-block;
  padding-bottom: 2px;
}

/*
.text-primary:after {
  content: '';
  position: absolute;
  top: 50px;
  display: inline-block;
  width: 50px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #F03731;
}
*/

.text-white {
  color: #fff;
}

.text-dark-red {
  color: #90010c;
}
.bg-dark-red {
  background: #90010c;
}

.w-100 {
  width: 100%;
}

.w-full {
  width: 100%;
}

.display-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.flex-wrap {
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.justify-content-between {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.align-items-center {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

@-webkit-keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes spin {
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@-webkit-keyframes ping {
  100% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes ping {
  100%,
  75% {
    -webkit-transform: scale(2);
    transform: scale(2);
    opacity: 0;
  }
}

@keyframes pulse {
  50% {
    opacity: 0.5;
  }
}

@-webkit-keyframes bounce {
  100% {
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }
}

@keyframes bounce {
  0,
  100% {
    -webkit-transform: translateY(-25%);
    transform: translateY(-25%);
    -webkit-animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
    animation-timing-function: cubic-bezier(0.8, 0, 1, 1);
  }

  50% {
    -webkit-transform: none;
    transform: none;
    -webkit-animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
    animation-timing-function: cubic-bezier(0, 0, 0.2, 1);
  }
}

html {
  font-size: 1.25vw;
  -webkit-font-feature-settings: "palt" 1;
  font-feature-settings: "palt" 1;
}

body {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Noto Sans JP,
    sans-serif;
  font-size: 15px;
  letter-spacing: 0.18em;
  line-height: 1.7;
  color: #000;
  word-break: break-word;
  line-break: strict;
  word-wrap: break-word;
  overflow-wrap: break-word;

  padding-top: 60px;
}

.is-ie body {
  font-family: "游ゴシック", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  letter-spacing: normal;
}

a {
  color: #000;
}

.header {
  position: fixed;
  z-index: 2;
  background-color: #fff;
  width: 100%;
  top: 0;
  left: 0;
  z-index: 4;
  -moz-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  -webkit-box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1);
}

.header_inr {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  padding-left: 3rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  position: relative;
}

.header_logo {
  width: 326px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.header_logo a {
  display: block;
}

.header_logo a img {
  display: block;
  width: 100%;
  height: auto;
}

.header_menu {
  position: absolute;
  display: none;
  top: 60px;
  left: 0;
  width: 100%;
  z-index: 1;
}

.header_menu_inr {
  height: 100%;
  overflow: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-bottom: 40px;
}

.header_menu_btn {
  position: relative;
  width: 60px;
  height: 60px;
  top: 0;
  margin-left: auto;
  background: linear-gradient(90deg, #6a020a, #90010c);
}

.header_menu_btn_icon {
  position: absolute;
  display: block;
  width: 4.3rem;
  height: 3.5rem;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.header_menu_btn_icon &gt; span {
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  left: 0;
}

.header_menu_btn_icon &gt; span:nth-child(1) {
  top: 0;
}

.header_menu_btn_icon &gt; span:nth-child(2) {
  top: 50%;
}

.header_menu_btn_icon &gt; span:nth-child(3) {
  top: auto;
  bottom: 0;
}

.header_menulist {
  display: block;
  background-color: #fff;
  margin: 20px 0;
}

.header_menulist &gt; li {
  position: relative;
  border-bottom: 1px solid #eee;
  margin: 0 3rem;
}

.header_menulist &gt; li:last-child {
  border-bottom: none;
  border-left: 1px solid #000;
}
@media (max-width: 1024px) {
  .header_menulist &gt; li:last-child {
    border-left: none;
  }
}

.header_menulist &gt; li &gt; a {
  position: relative;
  font-size: 16px;
  font-weight: 700;
  display: block;
  color: #222;
  padding: 20px 50px 20px 0;
  z-index: 1;
  letter-spacing: 3px;
}

.header_menulist &gt; li &gt; a:hover {
  color: #000;
  text-decoration: none;
  opacity: 1;
}

.header_menulist &gt; li &gt; a &gt; span {
  display: inline-block;
  padding-bottom: 4px;
  margin-bottom: -4px;
}

.header_menulist_item &gt; a &gt; span {
  position: relative;
}

.header_menu_active {
  border-bottom: 2px solid #90010c;
  padding-bottom: 4px;
  margin-bottom: -4px;
}

.company .header_menulist .header_menulist_item-company &gt; a &gt; span {
  color: #053c6e;
  position: relative;
}

.news .header_menulist .header_menulist_item-news &gt; a &gt; span {
  color: #053c6e;
  position: relative;
}

.shop .header_menulist .header_menulist_item-shop &gt; a &gt; span {
  color: #053c6e;
  position: relative;
}

.business .header_menulist .header_menulist_item-business &gt; a &gt; span {
  color: #053c6e;
  position: relative;
}

.globalNav {
  display: none;
  width: 100%;
  background-color: #fff;
  padding-left: 25px;
  padding-right: 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 1px solid #eee;
}

.globalNav_btn {
  position: absolute;
  display: block;
  width: 20px;
  height: 20px;
  right: 0;
  top: 23px;
  z-index: 0;
}

.globalNav_btn::before {
  position: absolute;
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  background-color: #053c6e;
}

.globalNav_btn::after {
  position: absolute;
  content: "";
  display: block;
  height: 100%;
  width: 2px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e;
}

.globalNav_name {
  display: none;
}

.globalNav_menu {
  padding: 10px 0;
}

.globalNav_item {
  padding-top: 10px;
  padding-bottom: 10px;
}

.globalNav_item &gt; a {
  position: relative;
  color: #222;
  display: block;
}

.globalNav_item &gt; a:after {
  content: "";
  display: block;
  visibility: hidden;
  width: 0;
  height: 2px;
  position: absolute;
  left: 50%;
  bottom: 31px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.gnav_contact_img {
  margin-right: 1rem;
  display: inline-block;
  vertical-align: text-top;
}
.header_contact {
  background: #90010c;
  padding: 30px 3rem 0;
  height: 100%;
}
.header_contact p {
  color: #fff;
  font-weight: bold;
  font-size: 18px;
}

.home .wrap {
  overflow: hidden;
  padding-bottom: 0;
}

.wrap {
  position: relative;
  display: block;
  background-color: #fff;
  padding: 0 3rem 70px;
}

.inner {
  display: block;
}

.main_top {
  margin-left: -3rem;
}

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

.main_top .breadCrumbs {
  padding-top: 15px;
  margin-left: 3rem;
}

.maintitle {
  position: relative;
  display: inline-block;
  color: #fff;
  background: linear-gradient(90deg, #002d89, #3064cc);
  padding: 6rem;
  margin-top: -11rem;
  width: 88%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.maintitle h1:before {
  position: absolute;
  content: " ";
  display: block;
  border-top: 1px solid #ee140d;
  top: 15%;
  width: 15%;
}

.maintitle_en {
  line-height: 1;
  display: block;
  font-size: 6.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.5rem;
  display: block;
}

.maintitle_ja {
  line-height: 1;
  display: block;
  font-size: 3rem;
  padding-top: 2rem;
}

.main_body {
  padding-top: 45px;
}

.main_inr_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
  -ms-flex-flow: column-reverse;
  flex-flow: column-reverse;
}

.main_inr_contents {
  margin-top: 40px;
}

.footer {
  text-align: center;
  background: #f0f0f0;
}

.footer_inr {
  position: relative;
  padding: 45px 3rem;
}

.footer_logo {
  width: 120px;
}

.footer_logo img {
  display: block;
  width: 100%;
  padding-right: 2rem;
  margin-bottom: 2rem;
}

.footer_menu {
  list-style: none;
  padding: 0;
  margin: 2rem 0 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.footer_menu &gt; li {
  font-weight: 700;
  line-height: 1.2;
  width: 50%;
  text-align: left;
  margin-top: 25px;
  line-height: 1;
  padding-bottom: 5px;
}

.footer_menu &gt; li a {
  color: #222;
}

.footer_bottom {
  margin-top: 1rem;
}

.footer_link {
  font-size: 13px;
  letter-spacing: normal;
  list-style: none;
  padding: 0;
  margin: 15px 0 0;
}

.footer_link &gt; li {
  line-height: 1.2;
  text-align: left;
  margin-top: 15px;
}

.footer_link &gt; li a {
  color: #222;
}

.footer_instagram {
  background: #fff;
  border: 1px solid #707070;
  padding: 16px 30px;
  float: right;
}
@media (max-width: 1024px) {
  .footer_instagram {
    float: none;
    display: inline-block;
  }
  .footer_logo {
    width: 30%;
  }
  .footer_logo img {
    display: block;
    width: 80%;
    padding-right: 2rem;
    margin-bottom: 2rem;
  }
  .footer_menu &gt; li {
    text-align: center;
  }
  .footer_menu &gt; li a {
    color: #000;
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
  }
  .footer_copy {
    padding-top: 0 !important;
  }
}

.footer_copy {
  font-size: 12px;
  letter-spacing: normal;
  padding-top: 8rem;
  margin-top: 8rem;
  font-weight: bold;
  color: #000;
}

.sidenav_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -20px;
}

.sidenav_item {
  font-size: 15px;
  letter-spacing: normal;
  font-weight: 700;
  width: 50%;
  margin-top: 20px;
}

@media (max-width: 440px) {
  .sidenav_item {
    font-size: 12px;
  }
}

.sidenav_item a {
  color: #222;
  text-decoration: none;
}

.sidenav_item .ico-arw2 {
  margin: 0 5px 0 2px;
  position: relative;
  display: inline-block;
}

@media (max-width: 1024px) {
  .sidenav_item .ico-arw2:before {
    content: "";
    width: 8px;
    height: 8px;
    margin-top: -8px;
    border-top: solid 2px #002d89;
    border-right: solid 2px #002d89;
    transform: rotate(135deg);
    position: absolute;
    top: 50%;
    left: 0;
  }
}

.l-grid {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px;
}

.l-grid_item {
  margin-top: 30px;
}

.selectmenu-wrap {
  position: relative;
  display: inline-block;
  background-color: #fff;
}

.selectmenu-wrap:before {
  content: "";
  position: absolute;
  display: block;
  width: 11px;
  height: 6px;
  background-repeat: no-repeat;
  background-image: url("");
  background-size: 100% auto;
  left: 15px;
  top: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
}

.selectmenu {
  position: relative;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  color: #053c6e;
  border: none;
  outline: 0;
  padding: 20px 15px 20px 35px;
  min-width: 180px;
  background-color: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.selectmenu::-ms-expand {
  display: none;
}

.breadCrumbs {
  margin: auto;
  font-size: 11px;
}

.breadCrumbs ol {
  letter-spacing: -0.4em;
}

.breadCrumbs ol li {
  color: #666;
  letter-spacing: normal;
  display: inline;
}

.breadCrumbs ol li::after {
  content: "";
  display: inline-block;
  line-height: 1;
  vertical-align: middle;
  width: 8px;
  height: 1px;
  background-color: #222;
  margin: 0 10px;
}

.breadCrumbs ol li:last-child::after {
  display: none;
}

.breadCrumbs ol li &gt; a,
.breadCrumbs ol li &gt; span {
  color: #222;
  display: inline;
  position: relative;
  z-index: 1;
}

.heading-ec {
  position: relative;
}

.heading-ec::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 6.2rem;
  height: 0.4rem;
  background-color: #e50012;
}

.text-h2 {
  font-size: 20px;
}

.text-h3 {
  font-size: 19px;
}

.news_title {
  font-size: 19px;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.5rem;
}

.news_title.heading-ec {
  padding-top: 15px;
}

.btn {
  font-weight: 700;
  position: relative;
  text-align: center;
  background-color: #fff;
  padding: 20px 50px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.btn:hover {
  text-decoration: none;
}

.btn_ico {
  position: absolute;
  right: 16px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.btn-primary {
  color: #fff;
  position: relative;
  background-color: #053c6e;
}

.btn-primary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}

.btn-primary:hover {
  color: #053c6e;
}

.btn-primary:hover::before {
  width: 100%;
}

.btn-primary:hover .btn_ico {
  fill: #053c6e;
}

.btn-primary .btn_ico {
  fill: #fff;
}

.btn-primary &gt; span {
  position: relative;
  z-index: 1;
}

.btn-secondary {
  color: #fff;
  position: relative;
  background-color: #e50012;
}

.btn-secondary::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background-color: #fff;
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}

.btn-secondary:hover {
  color: #e50012;
}

.btn-secondary:hover::before {
  width: 100%;
}

.btn-secondary:hover .btn_ico {
  fill: #e50012;
}

.btn-secondary .btn_ico {
  fill: #fff;
}

.btn-secondary &gt; span {
  position: relative;
  z-index: 1;
}

.btn-white {
  /*
    border: 2px solid #002D89;
    */
  position: relative;
}

.btn-white::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: linear-gradient(90deg, #002d89, #3064cc);
  -webkit-transition: width 0.3s ease-in-out;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}

.btn-white:hover {
  color: #fff;
}

.btn-white:hover::before {
  width: 100%;
}

.btn-white:hover .btn_ico {
  stroke: #fff;
}

.btn-white &gt; span {
  position: relative;
  z-index: 1;
}

.btn-l {
  display: block;
  width: 100%;
  text-align: center;
  border: 1px solid #053c6e;
  padding: 50px;
  -webkit-transition: background-color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
  transition: background-color 0.3s cubic-bezier(0.075, 0.82, 0.165, 1);
}

.btn-l:hover {
  color: #fff;
  text-decoration: none;
  background-color: #053c6e;
}

.btn-pagetop {
  position: fixed;
  width: 45px;
  bottom: 20px;
  right: 20px;
  margin-left: auto;
  z-index: 3;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.btn-pagetop.is-pagetop {
  -webkit-transform: translateY(110%);
  transform: translateY(110%);
  opacity: 0;
}

.btn-pagetop.is-absolute {
  position: absolute;
}

.btn-pagetop &gt; a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.btn-pagetop &gt; a:hover {
  text-decoration: none;
}

.btn-pagetop &gt; a &gt; span {
  font-size: 10px;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-top: 5px;
  -webkit-transition: -webkit-transform 0.3s ease-in-out;
  transition: -webkit-transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out;
  transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
}

.btn-pagetop &gt; a .ico-arw {
  display: inline-block;
  -webkit-transform: rotate(-90deg);
  transform: rotate(-90deg);
}

@-webkit-keyframes pagetop {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg);
  }
}

@keyframes pagetop {
  0% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg);
  }

  33% {
    opacity: 0;
    -webkit-transform: translateY(-10px) rotate(-90deg);
    transform: translateY(-10px) rotate(-90deg);
  }

  66% {
    opacity: 0;
    -webkit-transform: translateY(10px) rotate(-90deg);
    transform: translateY(10px) rotate(-90deg);
  }

  80% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg);
  }

  100% {
    opacity: 1;
    -webkit-transform: translateY(0) rotate(-90deg);
    transform: translateY(0) rotate(-90deg);
  }
}

.btn-pagetop-sp {
  position: fixed;
  width: 45px;
  height: 45px;
  bottom: 10px;
  right: 3rem;
  z-index: 3;
  -webkit-transition: -webkit-transform 0.2s ease-in-out;
  transition: -webkit-transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out;
  transition: transform 0.2s ease-in-out, -webkit-transform 0.2s ease-in-out;
}

.btn-pagetop-sp.is-pagetop {
  -webkit-transform: translateY(150%);
  transform: translateY(150%);
  opacity: 0;
}

.btn-pagetop-sp.is-absolute {
  position: absolute;
  top: 45px;
  bottom: auto;
  right: 3rem;
}

.btn-scrolldown {
  width: 9rem;
}

.btn-scrolldown &gt; a {
  display: block;
  width: 15px;
  position: relative;
}

.btn-scrolldown &gt; a:hover {
  text-decoration: none;
}

.btn-scrolldown &gt; a:after {
  content: "";
  position: relative;
  display: block;
  width: 2px;
  height: 55px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #053c6e;
  -webkit-animation: scrolldown 2s cubic-bezier(1, 0, 0, 1) infinite;
  animation: scrolldown 2s cubic-bezier(1, 0, 0, 1) infinite;
}

.btn-scrolldown &gt; a &gt; span {
  font-size: 10px;
  font-weight: 700;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  padding-top: 10px;
}

@-webkit-keyframes scrolldown {
  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

@keyframes scrolldown {
  0% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  30% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 0;
    transform-origin: 0 0;
  }

  70% {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }

  100% {
    -webkit-transform: scale(1, 0);
    transform: scale(1, 0);
    -webkit-transform-origin: 0 100%;
    transform-origin: 0 100%;
  }
}

.tag {
  font-size: 13px;
  line-height: 1;
  font-weight: 700;
  color: #053c6e;
  background-color: #d7e0e8;
  border-radius: 4rem;
  padding: 6px 15px;
}

.tag-l {
  font-size: 16px;
  background-color: #e6ebf0;
}

.mv {
  color: #fff;
  background-color: #053c6e;
  margin-top: 80px;
}
@media (max-width: 1024px) {
  .mv {
    margin-top: 0;
  }
}

.ico-arw {
  fill: #053c6e;
  width: 19px;
  display: inline-block;
}

.ico-arw2 {
  fill: #e50012;
  width: 15px;
  display: inline-block;
}

.ico-arw-prev {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.date {
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.1em;
}

a.card {
  display: block;
  color: #222;
}

a.card:hover {
  text-decoration: none;
}

.card_body {
  padding: 6rem;
}

.table {
  display: block;
  border-top: 1px solid #bcc3c9;
}

.table tbody {
  display: block;
}

.table tr {
  display: block;
}

.table th {
  display: block;
  text-align: left;
  padding-top: 15px;
}

.table th::after {
  position: absolute;
  content: "";
  display: block;
  width: 1px;
  height: calc(100% - 50px);
  background-color: #bcc3c9;
  right: 0;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
}

.table td {
  display: block;
  font-size: 14px;
  padding-bottom: 15px;
  border-bottom: 1px solid #bcc3c9;
}

.pagenaion {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  letter-spacing: normal;
}

.pagenation_prev {
  margin-right: 10px;
}

.pagenation_prev &gt; a {
  display: block;
}

.pagenation_prev &gt; span {
  opacity: 0;
}

.pagenation_next {
  margin-left: 10px;
}

.pagenation_next &gt; a {
  display: block;
}

.pagenation_next &gt; span {
  opacity: 0;
}

.pagenation_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.pagenation_item {
  margin: 0 8px;
}

.pagenation_item &gt; a {
  color: #222;
  font-weight: 700;
  display: block;
  border: 1px solid #222;
  width: 40px;
  line-height: 40px;
  text-align: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out;
  transition: color 0.1s ease-in-out, background-color 0.1s ease-in-out;
}

.pagenation_item &gt; a:hover {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none;
}

.pagenation_item &gt; a.current {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none;
}

.pagenation_item.current &gt; a {
  color: #fff;
  background-color: #053c6e;
  border-color: #053c6e;
  text-decoration: none;
}

.overlay_bg {
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #000;
  z-index: 2;
}

.border-box {
  border: 1px solid #dadada;
  padding: 30px;
}

.list {
  text-indent: -1em;
  padding-left: 1em;
}

.list &gt; li {
  margin-top: 10px;
}

.list &gt; li:first-child {
  margin-top: 0;
}

.contact .contact_step {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 30px;
}

.contact .contact_step &gt; div {
  text-align: center;
  font-weight: 700;
  display: block;
  width: 30%;
  padding: 15px 10px;
  background-color: #d7e0e8;
}

.contact .contact_step &gt; div.now {
  color: #fff;
  background-color: #e50012;
}

.contact .form_table {
  display: block;
  width: 100%;
  margin-top: 30px;
  margin-bottom: 30px;
  border-bottom: 1px solid #dadada;
}

.contact .form_table tbody {
  display: block;
  width: 100%;
}

.contact .form_table tr {
  display: block;
  border-top: 1px solid #dadada;
  padding: 15px 5px;
}

.contact .form_table td,
.contact .form_table th {
  display: block;
  text-align: left;
}

.contact .form_table th {
  position: relative;
  padding-bottom: 10px;
}

.contact .form_table th &gt; span {
  font-size: 12px;
  color: #e50012;
  display: inline-block;
  border: 1px solid #e50012;
  padding: 0 5px;
  margin-left: 5px;
}

.contact .form_table td input[type="email"],
.contact .form_table td input[type="tel"],
.contact .form_table td input[type="text"],
.contact .form_table td textarea {
  width: 100%;
  padding: 8px;
  border: 1px solid #bcc3c9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.contact .form_table td input.input_s {
  width: 7em;
}

.contact .form_table td input[name="address"] {
  margin-top: 15px;
}

.contact label.label {
  display: inline-block;
  cursor: pointer;
}

.contact .center {
  text-align: center;
}

.contact #form_btn {
  text-align: center;
  margin-top: 50px;
}

.contact #form_btn1 {
  cursor: pointer;
  font-weight: 700;
  display: inline-block;
  border: none;
  color: #fff;
  position: relative;
  background-color: #053c6e;
  padding: 15px 30px;
  width: 300px;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 10px 5px;
  background-image: url("");
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: 95% 50%;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.contact #form_btn1:hover {
  text-decoration: none;
  opacity: 0.8;
}

.contact #form_btn2 {
  cursor: pointer;
  font-weight: 700;
  display: inline-block;
  border: none;
  color: #222;
  position: relative;
  background-color: #d7e0e8;
  padding: 15px 30px;
  width: 300px;
  max-width: 100%;
  margin: 10px 5px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-image: url("");
  background-size: 20px auto;
  background-repeat: no-repeat;
  background-position: 5% 50%;
  -webkit-transition: opacity 0.2s ease-in-out;
  transition: opacity 0.2s ease-in-out;
}

.contact #form_btn2:hover {
  text-decoration: none;
  opacity: 0.8;
}

.contact .contact-biz-inquiry label,
.contact .contact-biz-radio label {
  display: block;
}

.contact form a[rel="noopener"] {
  text-decoration: underline;
}

.contact form a[rel="noopener"]:hover {
  text-decoration: none;
}

.ff-ar {
  font-family: Arial, sans-serif;
  letter-spacing: 1px;
}

.ff-mincho {
  font-family: "Yu Mincho", "YuMincho", serif;
}

.fz-sm {
  font-size: 12px;
}

.fz-19 {
  font-size: 19px;
}

.text-white {
  color: #fff;
}

.lh-l {
  line-height: 2.25;
}

.bg-white {
  background-color: #fff;
}

.mt-sec {
  margin-top: 70px;
}

.mt-h2 {
  margin-top: 20px;
}

.hov {
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.hov:hover {
  opacity: 0.7;
}

.blank {
  display: inline-block;
  padding-right: 16px;
  background: no-repeat right center;
  background-size: 12px 12px;
  background-image: url("");
}

.aspect-ratio-box {
  position: relative;
  height: 0;
  overflow: hidden;
}

.aspect-ratio-box-inside {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*
.is-ie body {
  overflow-x: hidden;
}
*/

.is-ie .ico-arw2 svg {
  height: 8px;
}

.is-ie .ico-arw svg {
  height: 12px;
}

.is-ie .header_menu_inr {
  height: 100%;
}

.js-animation .mv-home_copy img {
  opacity: 0;
  -webkit-transform: translate(0, -50px);
  transform: translate(0, -50px);
}

.js-animation .mv-home_pt img {
  opacity: 0;
}

.js-animation.is-show .mv-home_copy img {
  -webkit-animation: home-mv-slide-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: home-mv-slide-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.js-animation.is-show .mv-home_pt img {
  -webkit-animation: home-mv-fade-in 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: home-mv-fade-in 2.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@-webkit-keyframes home-mv-slide-in {
  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@keyframes home-mv-slide-in {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
  }

  50% {
    opacity: 0;
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px);
  }

  100% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
  }
}

@-webkit-keyframes home-mv-fade-in {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes home-mv-fade-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }

  20% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

.js-animation .mv-fadein {
  opacity: 1;
  -webkit-transform: scale(1.03);
  transform: scale(1.03);
}

.js-animation .mv-slidetop {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

.js-animation .mv-slidetop-2 {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

.js-animation .mv-slidetop-3 {
  opacity: 1;
  -webkit-transform: translateY(10px);
  transform: translateY(10px);
}

.js-animation.is-show .mv-fadein {
  -webkit-animation: mv-fade-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: mv-fade-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.js-animation.is-show .mv-slidetop {
  -webkit-animation: mv-slide-top 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: mv-slide-top 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.js-animation.is-show .mv-slidetop-2 {
  -webkit-animation: mv-slide-top2 2.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: mv-slide-top2 2.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.js-animation.is-show .mv-slidetop-3 {
  -webkit-animation: mv-slide-top3 2.3s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: mv-slide-top3 2.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@-webkit-keyframes mv-fade-in {
  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes mv-fade-in {
  0% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }

  10% {
    opacity: 0;
    -webkit-transform: scale(1.03);
    transform: scale(1.03);
  }

  100% {
    opacity: 1;
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@-webkit-keyframes mv-slide-in {
  100% {
    width: 100%;
  }
}

@keyframes mv-slide-in {
  0% {
    width: 0;
  }

  60% {
    width: 0;
  }

  100% {
    width: 100%;
  }
}

@-webkit-keyframes mv-slide-top {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes mv-slide-top {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  50% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

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

@-webkit-keyframes mv-slide-top2 {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes mv-slide-top2 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  70% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

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

@-webkit-keyframes mv-slide-top3 {
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes mv-slide-top3 {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

  80% {
    opacity: 0;
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }

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

.js-fadein {
  -webkit-transform: translateY(50px);
  transform: translateY(50px);
  -webkit-transition: opacity 0.5s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: opacity 0.5s ease-in-out, -webkit-transform 1s ease-in-out;
  transition: transform 1s ease-in-out, opacity 0.5s ease-in-out;
  transition: transform 1s ease-in-out, opacity 0.5s ease-in-out,
    -webkit-transform 1s ease-in-out;
}

.js-fadein.is-visible {
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

.header_menu {
  display: block;
  -webkit-transform: translateX(100%);
  transform: translateX(100%);
  height: 100vh;
  left: auto;
  right: 0;
  background-color: #fff;
}

body.is-nav-open {
  overflow: hidden;
}

body.is-nav-open .overlay_bg {
  display: none;
}

body.is-nav-open .header_menu {
  display: block;
  height: 100vh;
  background-color: #fff;
  -webkit-animation: slide-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  animation: slide-left 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

@supports (-webkit-touch-callout: none) {
  body.is-nav-open .header_menu {
    height: -webkit-fill-available;
  }
}

body.is-nav-open.is-nav-close .header_menu {
  -webkit-animation: slide-left-rev 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94)
    both;
  animation: slide-left-rev 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.js-btn-subnav.is-nav-open .globalNav {
  display: block;
  -webkit-transform: translateY(0);
  transform: translateY(0);
}

@-webkit-keyframes slide-left {
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }
}

@keyframes slide-left {
  0% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }

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

@-webkit-keyframes slide-left-rev {
  100% {
    opacity: 0;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
  }
}

@keyframes slide-left-rev {
  0% {
    opacity: 1;
    -webkit-transform: translateX(0);
    transform: translateX(0);
  }

  90% {
    opacity: 0;
  }

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

@-webkit-keyframes fade-in-bg {
  100% {
    opacity: 0.3;
  }
}

@keyframes fade-in-bg {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 0.3;
  }
}

@-webkit-keyframes fade-out-bg {
  100% {
    opacity: 0;
  }
}

@keyframes fade-out-bg {
  0% {
    opacity: 0.3;
  }

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes fade-out {
  100% {
    opacity: 0;
  }
}

@keyframes fade-out {
  0% {
    opacity: 1;
  }

  100% {
    opacity: 0;
  }
}

@-webkit-keyframes fade-in {
  100% {
    opacity: 1;
  }
}

@keyframes fade-in {
  0% {
    opacity: 0;
  }

  1% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.header_menu_btn_icon,
.header_menu_btn_icon span {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(1) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(-45deg);
  transform: translateY(0) rotate(-45deg);
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(45deg);
  transform: translateY(0) rotate(45deg);
}

body.is-nav-open .header_menu_btn_icon span:nth-of-type(3) {
  opacity: 0;
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(1) {
  top: 0;
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(2) {
  top: 50%;
  -webkit-transform: translateY(0) rotate(0);
  transform: translateY(0) rotate(0);
}

body.is-nav-open.is-nav-close .header_menu_btn_icon span:nth-of-type(3) {
  opacity: 1;
}

.globalNav_btn {
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.js-btn-subnav.is-nav-open .globalNav_btn {
  -webkit-transform: rotate(180deg);
  transform: rotate(180deg);
}

.js-btn-subnav.is-nav-open .globalNav_btn::after {
  opacity: 0;
}

@media (min-width: 375px) {
  .container {
    max-width: 375px;
  }

  .sidenav_item {
    width: 33.333%;
  }

  .shop .shop_info_item-all:last-child {
    width: 100%;
  }
}

@media (min-width: 600px) {
  .container {
    max-width: 600px;
  }

  body {
    font-size: 14px;
    overflow-x: hidden;
  }

  .header_logo {
    width: 268px;
  }

  .header_menu {
    top: 80px;
  }

  .header_menu_btn {
    width: 80px;
    height: 80px;
  }

  .header_menu_btn_icon {
    width: 30px;
    height: 22px;
    border-width: 1px;
  }

  .wrap {
    padding: 20px 3rem 135px;
  }

  .inner {
    /*
        padding-left: 1.7rem;
        padding-right: 1.7rem
        */
  }

  .main_top {
    margin-left: -3rem;
  }

  .main_top .breadCrumbs {
    float: right;
    padding-top: 0;
    margin-left: 0;
  }

  .maintitle {
    width: auto;
    padding: 4.5rem;
    margin-top: -7rem;
    min-width: 33.5rem;
    margin-bottom: 40px;
  }

  .maintitle h1:before {
    border-top: 3px solid #ee140d;
    top: 20%;
  }

  .maintitle_en {
    font-size: 4.4rem;
  }

  .maintitle_ja {
    font-size: 1.4rem;
    padding-top: 11px;
  }

  .main_body {
    padding-top: 100px;
  }

  .footer_inr {
    padding: 40px 0;
  }

  .footer_logo {
    width: 140px;
  }

  .footer_top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: flex-start;
  }

  .footer_menu {
    text-align: left;
    font-size: 14px;
    display: block;
    margin-top: 0;
    letter-spacing: -0.04em;
  }

  .footer_menu &gt; li {
    letter-spacing: 0.2em;
    width: auto;
    display: inline-block;
    margin-top: 0;
    margin-left: 20px;
  }

  .footer_menu &gt; li:first-child {
    margin-left: 0;
  }

  .footer_bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: flex-end;
    padding-top: 20px;
    margin-top: 1rem;
  }

  .footer_link {
    font-size: 12px;
    margin-top: 0;
  }

  .footer_link &gt; li {
    display: inline-block;
    margin-top: 0;
    margin-right: 1em;
  }

  .footer_copy {
    font-size: 10px;
    border-top: none;
    padding-top: 0;
    margin-top: 0;
  }

  .l-grid {
    margin-left: -10px;
    margin-right: -10px;
    margin-top: -20px;
  }

  .l-grid_item {
    padding: 0 10px;
    margin-top: 20px;
  }

  .breadCrumbs {
    text-align: right;
  }

  .breadCrumbs ol li::after {
    vertical-align: 3px;
    width: 7px;
    height: 1px;
    margin: 0 6px;
  }

  .heading-ec::before {
    width: 40px;
    height: 2px;
  }

  .text-h2 {
    font-size: 24px;
  }

  .text-h3 {
    font-size: 20px;
  }

  .news_title {
    font-size: 22px;
  }

  .btn-pagetop {
    right: 15px;
  }

  .btn-pagetop &gt; a {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .btn-pagetop &gt; a .ico-arw {
    width: 20px;
  }

  .btn-scrolldown {
    width: 10px;
  }

  .btn-scrolldown &gt; a {
    position: relative;
    display: block;
    right: -1.5rem;
  }

  .tag {
    font-size: 12px;
    padding: 8px 15px;
  }

  .tag-l {
    font-size: 14px;
  }

  .newslist_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    border-top: none;
    padding: 0;
    max-width: 100%;
  }

  .newslist_cell {
    border-top: 1px solid #dadada;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .newslist_cell-date {
    width: auto;
    white-space: nowrap;
    padding: 20px 2rem 20px 0;
    margin-right: 0;
  }

  .newslist_cell-tag {
    width: auto;
    white-space: nowrap;
    padding: 20px 2rem 20px 0;
  }

  .newslist_cell-link {
    margin-top: 0;
    padding: 20px 0;
  }

  .mv_inr {
    padding: 80px 7rem;
  }

  .mv_inr-narrow {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .mv_ttl {
    font-size: 55px;
    padding-top: 15px;
  }

  .mv_ttl_sm {
    font-size: 15px;
    margin-top: 5px;
  }

  .mv_ttl_md {
    font-size: 28px;
    margin-top: 5px;
  }

  .mv .aspect-ratio-box {
    padding-top: 27.61421%;
  }

  .mv .aspect-ratio-box {
    padding-top: 27.61421%;
  }

  .mv_btnscroll {
    left: 0;
  }

  .mv_btnscroll.is-absolute {
    bottom: 5rem;
    left: 0;
  }

  .ico-arw {
    width: 20px;
    vertical-align: middle;
  }

  .ico-arw2 {
    width: 15px;
    vertical-align: middle;
  }

  .ec-line {
    padding-top: 15px;
  }

  .ec-line::before {
    width: 4rem;
    height: 0.22rem;
  }

  .ec-line2 {
    padding-left: 30px;
  }

  .ec-line2::before {
    width: 20px;
  }

  .date {
    font-size: 13px;
  }

  .card_body {
    padding: 2.25rem;
  }

  .table {
    display: table;
    border-collapse: separate;
    border-spacing: 0;
  }

  .table tbody {
    display: table-row-group;
  }

  .table tr {
    display: table-row;
  }

  .table th {
    display: table-cell;
    position: relative;
    font-weight: 700;
    text-align: left;
    vertical-align: top;
    padding: 25px 35px 25px 0;
    border-bottom: 1px solid #bcc3c9;
  }

  .table td {
    display: table-cell;
    font-size: 15px;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid #bcc3c9;
    padding: 25px 30px;
  }

  .pagenation_item &gt; a {
    width: 42px;
    line-height: 42px;
  }

  .home .mv.mv-home {
    padding-bottom: 5.3rem;
  }

  .home .mv-home_copy .aspect-ratio-box {
    padding-top: 16.08078%;
  }

  .home .bnr-recxruit-01 .aspect-ratio-box {
    padding-top: 51.33929%;
  }

  .home .vision {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative;
  }

  .home .vision_pt {
    position: relative;
    top: 0;
    width: 56rem;
    margin-left: -4.7rem;
    margin-right: -4.7rem;
    z-index: 0;
  }

  .home .vision_txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 61rem;
    margin-top: 38rem;
    margin-right: -4.7rem;
    margin-left: -30rem;
    z-index: 1;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .home .vision_txt_inr {
    position: relative;
    padding: 0;
  }

  .home .vision_txt_inr_inr {
    padding: 6rem 9rem;
  }

  .home .business {
    padding-top: 60px;
  }

  .home .business::before {
    width: 70rem;
  }

  .home .business_contents {
    margin-top: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .home .business_contents_item {
    width: 49%;
  }

  .news .news-detail p {
    line-height: 2;
  }

  .news .news-detail p::before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 2) * 0.5em);
  }

  .company.about .maintitle {
    margin-top: -13rem;
  }

  .company .messagecol_text {
    right: -4.7rem;
  }

  .business.solution .btn-contact {
    font-size: 15px;
    width: 122px;
    height: 122px;
    padding: 26px 5px;
  }

  .business.solution .btn-contact .ico-contact-arw {
    width: 21px;
    height: 12px;
  }

  .business.solution .btn-contact .ico-contact-arw svg {
    width: 21px;
    height: 12px;
  }

  .business.solution .btn-contact .ico-contact {
    width: 24px;
    height: 16px;
  }

  .business.solution .btn-contact .ico-contact svg {
    width: 24px;
    height: 16px;
  }

  .business.solution .h3 span {
    display: inline-block;
    padding: 15px 60px;
  }

  .business.solution .panel {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-flow: row;
    flex-flow: row;
  }

  .business.solution .panel_img {
    width: 50%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .business.solution .panel_text {
    width: 50%;
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .business.solution .panel_text {
    padding: 50px 25px;
  }

  .business.solution .flowcol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .business.solution .flowcol::after {
    display: none;
  }

  .business.solution .flowcol_item {
    width: 30.565%;
    margin-top: 0;
  }

  .business.solution .flowcol_item::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -56px;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    display: block;
    width: 45px;
    height: 38px;
    background: url("/arrow.png") no-repeat;
    background-size: 100% auto;
  }

  .business.solution .flowcol_text .title {
    font-size: 16px;
  }

  .business.solution .flowcol_text p {
    font-size: 15px;
  }

  .business.solution .flowcol-notarw .flowcol_item::after {
    display: none;
  }

  .business.solution .voicecol {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin-top: -5%;
  }

  .business.solution .voicecol_item {
    width: 47.5%;
    margin-top: 5%;
  }

  .business.solution .voicecol_head {
    padding: 0 0 0 75px;
  }

  .business.solution .voicecol_head::before {
    top: 50%;
    width: 61px;
    height: 61px;
    margin-top: -30px;
    margin-left: 0;
    left: 0;
    top: 50%;
  }

  .business.solution .serviceflow {
    padding: 30px 5%;
    margin-bottom: 50px;
  }

  .business.solution .serviceflow_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .business.solution .serviceflow_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 10px;
    width: 50px;
  }

  .business.solution .serviceflow_list li.arrow {
    width: 12.5%;
    padding: 0;
  }

  .business.solution .serviceflow_list li.arrow:before {
    width: 70%;
    max-width: 67px;
    height: 0;
    padding-top: 30%;
    background-image: url("/arrow2.png");
    background-size: 100% auto;
  }

  .business.solution .serviceflow_list li span {
    display: block;
    font-size: 16px;
  }

  .business.solution .serviceflow_list li span.text {
    font-size: 15px;
    margin-left: 0;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
  }

  .fz-sm {
    font-size: 11px;
  }

  .fz-19 {
    font-size: 16px;
  }

  .mt-sec {
    margin-top: 60px;
  }

  .blank {
    background-size: 14px 14px;
    padding-right: 20px;
  }

  .is-ie .btn-pagetop {
    right: 10px;
  }

  .md\:border-b-0 {
    border-bottom-width: 0;
  }

  .md\:border-r-1 {
    border-right-width: 1px;
  }

  .md\:block {
    display: block;
  }

  .md\:inline-block {
    display: inline-block;
  }

  .md\:hidden {
    display: none;
  }

  .md\:justify-start {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  .md\:text-15 {
    font-size: 15px;
  }

  .md\:text-18 {
    font-size: 18px;
  }

  .md\:mt-0 {
    margin-top: 0;
  }

  .md\:mt-4r {
    margin-top: 4rem;
  }

  .md\:mr-20px {
    margin-right: 20px;
  }

  .md\:ml-20px {
    margin-left: 20px;
  }

  .md\:mt-25px {
    margin-top: 25px;
  }

  .md\:mt-30px {
    margin-top: 30px;
  }

  .md\:mt-50px {
    margin-top: 50px;
  }

  .md\:mt-60px {
    margin-top: 60px;
  }

  .md\:mt-80px {
    margin-top: 80px;
  }

  .md\:mt-85px {
    margin-top: 85px;
  }

  .md\:mt-110px {
    margin-top: 110px;
  }

  .md\:py-10px {
    padding-top: 10px;
    padding-bottom: 10px;
  }

  .md\:px-20px {
    padding-left: 20px;
    padding-right: 20px;
  }

  .md\:pr-20px {
    padding-right: 20px;
  }

  .md\:text-left {
    text-align: left;
  }

  .md\:whitespace-nowrap {
    white-space: nowrap;
  }

  .md\:w-30 {
    width: 25%;
  }

  .md\:w-75 {
    width: 75%;
  }

  .md\:w-1\/2 {
    width: 50%;
  }
}

@media (min-width: 1025px) {
  .container {
    max-width: 1025px;
  }

  html {
    font-size: 0.8vw;
  }

  body {
    font-size: 16px;
    padding-top: 0;
  }

  .header {
    margin: auto;
  }

  .header_inr {
    display: block;
    padding-top: 0;
    padding-left: 0;
    padding-bottom: 0;
  }

  .header_logo {
    position: absolute;
    width: 326px;
    top: 50%;
    left: 3rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
  }

  .header_menu {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .header_menu_inr {
    height: auto;
    overflow: visible;
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    padding-bottom: 0;
  }

  .header_menu_btn {
    display: none;
  }

  .header_menulist {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }

  .header_menulist &gt; li {
    position: static;
    border-bottom: none;
    margin: 0;
  }

  .header_menulist &gt; li &gt; a {
    font-size: 18px;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 50px;
    width: 100%;
    padding: 0 20px;
    margin: 0;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .header_menulist_item &gt; a &gt; span::after {
    position: absolute;
    bottom: -2px;
    left: 0;
    content: "";
    width: 100%;
    height: 2px;
    background: #90010c;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform 0.3s;
  }
  .header_menulist_item &gt; a:hover &gt; span::after {
    transform: scale(1, 1);
  }

  .company .header_menulist .header_menulist_item-company &gt; a &gt; span::after {
    width: 100%;
  }

  .news .header_menulist .header_menulist_item-news &gt; a &gt; span::after {
    width: 100%;
  }

  .shop .header_menulist .header_menulist_item-shop &gt; a &gt; span::after {
    width: 100%;
  }

  .business .header_menulist .header_menulist_item-business &gt; a &gt; span::after {
    width: 100%;
  }

  .globalNav {
    position: absolute;
    top: 0;
    left: 0;
    top: 100px;
  }

  .globalNav_btn {
    display: none;
  }

  .globalNav_name {
    display: block;
    position: absolute;
    left: 2rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
  }

  .globalNav_name_en {
    font-size: 26px;
    line-height: 1.3;
    font-weight: 700;
    color: #053c6e;
  }

  .globalNav_name_ja {
    font-size: 14px;
    font-weight: 700;
  }

  .globalNav_menu {
    padding: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }

  .globalNav_item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 3rem;
  }

  .globalNav_item &gt; a {
    font-size: 14px;
    padding: 45px 0;
  }

  .globalNav_item &gt; a:hover {
    color: #053c6e;
    text-decoration: none;
  }

  .globalNav_item &gt; a:hover:after {
    visibility: visible;
    width: 100%;
  }

  .wrap {
    padding-bottom: 140px;
  }

  .inner {
    position: relative;
    max-width: 1180px;
    margin: auto;
    /*
        padding-left: 5.3rem;
        padding-right: 5.3rem
        */
  }

  .main_top {
    margin-left: -5.3rem;
  }

  .maintitle {
    margin-top: -11rem;
    padding: 5rem 6rem;
    min-width: 37.5rem;
    margin-bottom: 50px;
  }

  .maintitle_en {
    font-size: 57px;
  }

  .maintitle_ja {
    font-size: 16px;
    padding-top: 13px;
  }

  .main_body {
    padding-top: 50px;
  }

  .main_inr_wrap {
    display: block;
    width: 100%;
  }

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

  .main_inr_contents {
    float: right;
    width: 80%;
    margin-top: 0;
    border-left: 1px solid #b9b9b9;
    padding-left: 10%;
  }

  .footer_menu &gt; li {
    margin-left: 30px;
    border-bottom: 1px solid #000;
  }

  .footer_copy {
    font-size: 11px;
  }

  .sidenav {
    position: -webkit-sticky;
    position: sticky;
    float: left;
    width: 15%;
    top: 140px;
  }

  .sidenav_link {
    display: block;
    margin-top: 0;
  }

  .sidenav_item {
    width: 100%;
    margin-top: 0;
  }

  .sidenav_item a {
    display: block;
    padding: 13px 0 13px 30px;
  }

  .sidenav_item a.active {
    color: #002d89;
    font-weight: 700;
    position: relative;
    display: inline-block;
  }

  .sidenav_item a.active::before {
    content: "";
    width: 11px;
    height: 11px;
    margin-top: -5px;
    border-top: solid 2px #002d89;
    border-right: solid 2px #002d89;
    transform: rotate(45deg);
    position: absolute;
    top: 50%;
    left: 0;
  }

  .l-grid {
    margin-left: -15px;
    margin-right: -15px;
    margin-top: -30px;
  }

  .l-grid_item {
    padding: 0 15px;
    margin-top: 30px;
  }

  .selectmenu-wrap:before {
    width: 15px;
    height: 9px;
    left: 27px;
  }

  .selectmenu {
    font-size: 16px;
    min-width: 190px;
    padding-left: 55px;
  }

  .breadCrumbs {
    font-size: 12px;
    text-align: right;
  }

  .breadCrumbs ol {
    text-align: left;
    display: inline-block;
    margin-left: auto;
  }

  .breadCrumbs ol li::after {
    vertical-align: 4px;
  }

  .heading-ec::before {
    width: 40px;
    height: 2px;
  }

  .text-h2 {
    font-size: 32px;
  }

  .text-h3 {
    font-size: 28px;
  }

  .news_title {
    font-size: 24px;
  }

  .news_title.heading-ec {
    padding-top: 10px;
  }

  .btn-pagetop {
    right: 25px;
  }

  .btn-pagetop &gt; a:hover .ico-arw {
    -webkit-animation: pagetop 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
    animation: pagetop 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }

  .btn-pagetop &gt; a .ico-arw {
    width: 15px;
  }

  .tag {
    font-size: 13px;
  }

  .tag-l {
    font-size: 16px;
  }

  .mv_inr {
    padding: 135px 5rem;
    max-width: 2000px;
    margin: auto;
  }

  .mv_inr-narrow {
    padding-top: 60px;
    padding-bottom: 60px;
  }

  .mv_ttl {
    font-size: 57px;
    padding-top: 20px;
  }

  .mv_ttl::before {
    width: 40px;
    height: 2px;
  }

  .mv_ttl_sm {
    font-size: 16px;
    margin-top: 10px;
  }

  .mv_ttl_md {
    font-size: 30px;
    margin-top: 10px;
  }

  .mv_btnscroll {
    left: 0;
  }

  .mv_btnscroll.is-absolute {
    bottom: 0;
  }

  .ico-arw {
    -webkit-transition: -webkit-transform 0.5s
      cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94),
      -webkit-transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .ec-line {
    padding-top: 18px;
  }

  .ec-line::before {
    width: 40px;
    height: 2px;
  }

  .ec-line2 {
    padding-left: 55px;
  }

  .ec-line2::before {
    width: 38px;
  }

  .date {
    font-size: 14px;
  }

  a.card .card_head {
    overflow: hidden;
  }

  a.card .card_head img {
    -webkit-transition: opacity 0.3s ease-in-out,
      -webkit-transform 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out,
      -webkit-transform 0.3s ease-in-out;
  }

  a.card:hover {
    opacity: 0.8;
  }

  .card_body {
    padding: 4rem 3.5rem 1rem;
  }

  .pagenation_prev {
    margin-right: 8px;
  }

  .pagenation_prev &gt; a:hover svg {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  .pagenation_prev &gt; a svg {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }

  .pagenation_next {
    margin-left: 8px;
  }

  .pagenation_next &gt; a {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }

  .pagenation_next &gt; a:hover svg {
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
  }

  .pagenation_next &gt; a svg {
    -webkit-transition: -webkit-transform 0.3s ease-in-out;
    transition: -webkit-transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out;
    transition: transform 0.3s ease-in-out, -webkit-transform 0.3s ease-in-out;
  }

  .pagenation_item {
    margin: 0 12px;
  }

  .pagenation_item &gt; a {
    width: 45px;
    line-height: 45px;
  }

  .border-box {
    padding: 40px;
  }

  .home .mv.mv-home::before {
    width: 89.3%;
    height: 96%;
  }

  .home .mv.mv-home {
    height: 0;
    padding-top: 53.8%;
    padding-bottom: 0;
  }

  .home .mv-home_copy {
    position: absolute;
    opacity: 1;
    width: 35.8rem;
    top: 50%;
    left: 10.8rem;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 2;
  }

  .home .mv-home_copy .aspect-ratio-box {
    padding-top: 87.81407%;
  }

  .home .mv-home_pt {
    position: absolute;
    width: 83.5rem;
    right: 0;
    top: 0;
  }

  .home .vision {
    padding-bottom: 0;
  }

  .home .vision_pt {
    position: relative;
    width: 77.5rem;
    margin-left: -8.3rem;
    top: 4.5rem;
  }

  .home .vision_txt {
    width: 77.5rem;
    margin-right: -8.3rem;
    margin-left: 0;
    margin-top: 0;
  }

  .home .vision_txt_inr_inr {
    padding: 9rem 11.5rem;
  }

  .home .business::before {
    width: 24rem;
    left: -8.3rem;
    top: auto;
    bottom: 0;
    height: 90%;
  }

  .home .business::after {
    content: "";
    display: block;
    position: absolute;
    width: 87rem;
    height: 42rem;
    right: -8.3rem;
    bottom: 0;
    background-color: #dfe7ed;
    z-index: 0;
  }

  .home .business_inr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .home .business_title {
    position: -webkit-sticky;
    position: sticky;
    top: 30px;
    left: 0;
    width: 45rem;
  }

  .home .business_contents {
    display: block;
    margin-top: 0;
    width: 59rem;
    margin-bottom: -6rem;
  }

  .home .business_contents_item {
    width: 100%;
  }

  .news .newsinfo_item {
    margin-right: 15px;
  }

  .news .news-detail p {
    margin-top: 40px;
    line-height: 2.0625;
  }

  .news .news-detail p::before {
    content: "";
    display: block;
    height: 0;
    width: 0;
    margin-top: calc((1 - 2.0625) * 0.5em);
  }

  .shop .shoparea {
    margin-top: 80px;
  }

  .shop .shoparea:first-child {
    margin-top: 0;
  }

  .shop .shop_pref + .shop_pref {
    padding-top: 50px;
  }

  .shop .shop_info {
    padding-top: 30px;
    padding-bottom: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .shop .shop_info_item {
    width: 49%;
    padding-right: 3%;
    min-width: 400px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .shop .shop_info_item:last-child {
    display: block;
    width: 51%;
    min-width: 0;
    padding-right: 0;
  }

  .shop .shop_info_item-all:last-child {
    width: 100%;
  }

  .shop .shop_info_link {
    text-align: right;
    margin-top: 15px;
    margin-bottom: 30px;
  }

  .shop .shop_facility {
    margin-bottom: -10px;
  }

  .shop .shop_facility_item {
    width: 117px;
    min-height: 64px;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .shop .shop_facility_item &gt; div {
    font-size: 14px;
  }

  .company.about .maintitle {
    margin-top: -12rem;
  }

  .company .messagecol {
    padding-bottom: 10rem;
  }

  .company .messagecol_text {
    position: absolute;
    width: 51%;
    min-width: 340px;
    right: 3rem;
    bottom: 0;
  }

  .contact .form_table {
    display: table;
  }

  .contact .form_table tbody {
    display: table-row-group;
  }

  .contact .form_table tr {
    display: table-row;
    border: none;
  }

  .contact .form_table td,
  .contact .form_table th {
    padding: 20px 10px;
    display: table-cell;
    border-top: 1px solid #dadada;
    vertical-align: top;
  }

  .contact .form_table th {
    width: 28%;
  }

  .contact .form_table th &gt; span {
    float: right;
  }

  .contact .form_table td input.input_m {
    width: 30em;
  }

  .contact .form_table td input.input_l {
    width: 100%;
  }

  .contact #form_btn1 {
    margin: 0 5px;
  }

  .contact #form_btn2 {
    margin: 0 5px;
  }

  .business.solution .h3 {
    font-size: 24px;
  }

  .business.solution .panel_text {
    font-size: 17px;
    padding: 50px;
  }

  .business.solution .panel_text .title {
    font-size: 25px;
  }

  .business.solution .panel_text .title .ff-ar {
    font-size: 70px;
  }

  .business.solution .flowcol {
    margin-top: 40px;
    padding-bottom: 56px;
  }

  .business.solution .flowcol_text .title {
    font-size: 22px;
  }

  .business.solution .flowcol_text p {
    max-width: 290px;
    margin: auto;
  }

  .business.solution .flowcol_bottom_inr {
    font-size: 20px;
    line-height: 2.25;
    padding: 30px 20px;
  }

  .business.solution .flowcol_bottom_inr span {
    font-size: 24px;
  }

  .business.solution .voicecol_item {
    padding: 45px 40px;
  }

  .business.solution .serviceflow {
    padding: 60px 13%;
  }

  .business.solution .serviceflow_list li {
    padding: 20px 10px;
    width: 65px;
  }

  .business.solution .btn-secondary {
    font-size: 20px;
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .fz-sm {
    font-size: 12px;
  }

  .fz-19 {
    font-size: 18px;
  }

  .mt-sec {
    margin-top: 80px;
  }

  .mt-h2 {
    margin-top: 25px;
  }

  .is-ie .header_menu_inr {
    height: auto;
  }

  .js-animation .mv-home_copy img {
    -webkit-transform: translate(-50px, 0);
    transform: translate(-50px, 0);
  }

  .js-animation.is-show .mv-home_copy img {
    -webkit-animation: home-mv-slide-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94)
      both;
    animation: home-mv-slide-in 2s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
  }

  .header_menu {
    height: auto;
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    -webkit-transition: none;
    transition: none;
    -webkit-animation: none;
    animation: none;
  }

  body.is-nav-open {
    overflow: auto;
  }

  body.is-nav-open .overlay_bg {
    display: block;
    opacity: 0;
    -webkit-animation: fade-in-bg 0.2s ease-in-out 0.1s 1 normal forwards;
    animation: fade-in-bg 0.2s ease-in-out 0.1s 1 normal forwards;
  }

  body.is-nav-open .header_menu {
    height: auto;
    -webkit-animation: none;
    animation: none;
    background-color: transparent;
  }

  body.is-close .globalNav {
    -webkit-animation: fade-out 0.3s ease-in-out 0.1s 1 normal forwards;
    animation: fade-out 0.3s ease-in-out 0.1s 1 normal forwards;
  }

  body.is-close .overlay_bg {
    opacity: 0.3;
    -webkit-animation: fade-out-bg 0.3s ease-in-out 0.1s 1 normal forwards;
    animation: fade-out-bg 0.3s ease-in-out 0.1s 1 normal forwards;
  }

  .header_menulist_item.is-nav-open &gt; a {
    color: #053c6e;
  }

  .header_menulist_item.is-nav-open &gt; a &gt; span:after {
    width: 100%;
  }

  .lg\:block {
    display: block;
  }

  .lg\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .lg\:items-end {
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .lg\:hidden {
    display: none;
  }

  .lg\:items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .lg\:justify-center {
    justify-content: center;
  }

  .lg\:justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .lg\:text-14 {
    font-size: 14px;
  }

  .lg\:text-15 {
    font-size: 15px;
  }

  .lg\:text-16 {
    font-size: 16px;
  }

  .lg\:text-17 {
    font-size: 17px;
  }

  .lg\:text-18 {
    font-size: 18px;
  }

  .lg\:text-19 {
    font-size: 19px;
  }

  .lg\:text-20 {
    font-size: 20px;
  }

  .lg\:text-24 {
    font-size: 24px;
  }

  .lg\:text-26 {
    font-size: 26px;
  }

  .lg\:text-64 {
    font-size: 64px;
  }

  .lg\:mt-0 {
    margin-top: 0;
  }

  .lg\:mt-15px {
    margin-top: 15px;
  }

  .lg\:mt-20px {
    margin-top: 20px;
  }

  .lg\:mt-25px {
    margin-top: 25px;
  }

  .lg\:mt-30px {
    margin-top: 30px;
  }

  .lg\:mt-40px {
    margin-top: 40px;
  }

  .lg\:mt-50px {
    margin-top: 50px;
  }

  .lg\:mt-60px {
    margin-top: 60px;
  }

  .lg\:mb-70px {
    margin-bottom: 70px;
  }
  .lg\:mb-90px {
    margin-bottom: 90px;
  }

  .lg\:mt-80px {
    margin-top: 80px;
  }

  .lg\:mt-90px {
    margin-top: 90px;
  }

  .lg\:mt-130px {
    margin-top: 130px;
  }

  .lg\:mt-160px {
    margin-top: 160px;
  }

  .lg\:py-3 {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }

  .lg\:pr-3 {
    padding-right: 3rem;
  }

  .lg\:pl-5 {
    padding-left: 5rem;
  }

  .lg\:pl-20px {
    padding-left: 20px;
  }

  .lg\:pt-100px {
    padding-top: 100px;
  }

  .lg\:w-12 {
    width: 12%;
  }

  .lg\:w-20 {
    width: 20%;
  }

  .lg\:w-30 {
    width: 30%;
  }

  .lg\:w-33 {
    width: 33.333%;
  }

  .lg\:w-38 {
    width: 38%;
  }

  .lg\:w-42 {
    width: 42%;
  }
  .lg\:w-45 {
    width: 45%;
  }

  .lg\:w-49 {
    width: 49%;
  }

  .lg\:w-50 {
    width: 50%;
  }

  .lg\:w-55 {
    width: 55%;
  }
  .lg\:w-56-5 {
    width: 56.5%;
  }

  .lg\:w-60 {
    width: 60%;
  }

  .lg\:w-70 {
    width: 70%;
  }

  .lg\:w-80 {
    width: 80%;
  }

  .lg\:w-95 {
    width: 95%;
  }

  .lg\:w-1\/2 {
    width: 50%;
  }

  .lg\:w-1\/3 {
    width: 33.333333%;
    margin-left: -15px;
    margin-right: -15px;
  }
}

@media (min-width: 1970px) {
  .container {
    max-width: 1970px;
  }

  .lg2\:hidden {
    display: none;
  }
}

@media (min-width: 2000px) {
  .container {
    max-width: 1180px;
  }

  html {
    font-size: 100%;
  }

  .home .mv.mv-home::before {
    width: 90%;
  }

  .home .mv.mv-home {
    height: 1080px;
    padding-top: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  ::after,
  ::before {
    -webkit-animation-duration: NaNs !important;
    animation-duration: NaNs !important;
    -webkit-animation-iteration-count: 1 !important;
    animation-iteration-count: 1 !important;
    -webkit-transition-duration: NaNs !important;
    transition-duration: NaNs !important;
    scroll-behavior: auto !important;
  }
}

@media (max-width: 1024px) {
  .md\:w-49 {
    width: 49%;
  }
}

/*///////////////////*/

/*main_view*/
.main_view {
  position: relative;
  background: #000;
}

.main_view__inner {
  height: 100vh;
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@media (max-width: 1024px) {
  .main_view {
    margin-top: -60px;
  }
}

.main_view__img {
  z-index: 10;
  opacity: 0;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-animation: main_view_anime 24s 0s infinite;
  animation: main_view_anime 24s 0s infinite;
}

.main_view__img:nth-of-type(1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}
.main_view__img:nth-of-type(2) {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}
.main_view__img:nth-of-type(3) {
  -webkit-animation-delay: 8s;
  animation-delay: 8s;
}
.main_view__img:nth-of-type(4) {
  -webkit-animation-delay: 12s;
  animation-delay: 12s;
}
.main_view__img:nth-of-type(5) {
  -webkit-animation-delay: 16s;
  animation-delay: 16s;
}
.main_view__img:nth-of-type(6) {
  -webkit-animation-delay: 20s;
  animation-delay: 20s;
}

@keyframes main_view_anime {
  /* 0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  25% {
    opacity: 1;
  }

  30% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    transform: scale(1.1);
    z-index: 10;
  } */
  0% {
    opacity: 0;
  }

  4% {
    opacity: 1;
  }

  16% {
    opacity: 1;
  }

  20% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    transform: scale(1.2);
    z-index: 10;
  }
}

.main_view__slider01 {
  background-image: url("../img/main_view_01.jpg");
  background-size: cover;
}

.main_view__slider02 {
  background-image: url("../img/main_view_02.jpg");
  background-size: cover;
}

.main_view__slider03 {
  background-image: url("../img/main_view_03.jpg");
  background-size: cover;
}

.main_view__slider04 {
  background-image: url("../img/main_view_04.jpg");
  background-size: cover;
}

.main_view__slider05 {
  background-image: url("../img/main_view_05.jpg");
  background-size: cover;
}

.main_view__slider06 {
  background-image: url("../img/main_view_06.jpg");
  background-size: cover;
}
/*

@media(max-width:430px) {
  .main_view__slider01 {
    background-image: url('../img/main_view_01.jpg');
    background-size: cover;
  }

  .main_view__slider02 {
    background-image: url('../img/main_view_02.jpg');
    background-size: cover;
  }

  .main_view__slider03 {
    background-image: url('../img/main_view_03.jpg');
    background-size: cover;
  }

  .main_view__slider04 {
    background-image: url('../img/main_view_04.jpg');
    background-size: cover;
  }
}
*/

.main_view__title {
  z-index: 1;
  position: absolute;
  left: 15%;
  bottom: 30%;
  font-weight: bold;
  color: #fff;
  text-shadow: 0 3px 6px rgb(0, 0, 0, 0.16);
}

.main_view__title h2 {
  font-size: 59px;
  line-height: 1.3;
  margin-bottom: 1rem;
}

.main_view__text01 {
  font-weight: bold;
  font-size: 18px;
}
.main_view__text02 {
  font-weight: bold;
  font-size: 20px;
}

@media (max-width: 1024px) {
  .main_view__title {
    left: 10%;
    bottom: 30%;
  }
  .main_view__title h2 {
    font-size: 48px;
  }
  .main_view__text01,
  .main_view__text02 {
    font-size: 16px;
  }

  .header_menulist:last-child &gt; li &gt; a {
    display: flex;
  }
}

.main_view__btn {
  z-index: 100;
  position: absolute;
  bottom: 5%;
  right: 3%;
  opacity: 0;
  animation: main_view__btn_fadeIn 4s linear;
  animation-fill-mode: both;
  z-index: 1;
  background: #fff;
}

@keyframes main_view__btn_fadeIn {
  0% {
    opacity: 0;
  }

  70% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.main_view__btn img:hover {
  opacity: 0.8;
  transition: 0.5s;
}

@media (max-width: 500px) {
  .main_view__btn {
    left: 5%;
    right: 5%;
  }
}

/* TOP */

#top_about_us {
  margin: 100px 0;
}
.home_contents_title {
  font-size: 35px;
  text-align: left;
  font-weight: bold;
  margin: 0 0 13px;
}

.home_contents_text {
  font-size: 15px;
  font-weight: bold;
  line-height: 2;
  letter-spacing: 0.125rem;
}

.home_contents_btn {
}

.home_contents_btn {
  width: 48%;
  background: #fff;
  padding: 2rem 4rem 2rem 3rem;
  margin-bottom: 2rem;
  position: relative;
  box-shadow: 0 3px 60px rgba(0, 0, 0, 0.16);
  display: block;
  color: #000;
  font-size: 16px;
  font-weight: bold;
}
.home_contents_btn:after {
  content: "";
  width: 11px;
  height: 11px;
  border: 0;
  border-top: 4px solid #90010c;
  border-right: 4px solid #90010c;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 3rem;
  margin-top: -6px;
}
@media (max-width: 1024px) {
  #top_about_us {
    margin: 40px 0;
  }
  .home_contents_btn {
    width: 100%;
  }
  .home_contents_btn:last-child {
    margin-bottom: 20px;
  }
}

.is-ie .home_contents_text {
  font-size: 16px;
  letter-spacing: normal;
}

@media (max-width: 1170px) {
  .home_contents_title {
    font-size: 34px;
  }
}

@media (max-width: 420px) {
  .home_contents_title {
    font-size: 32px;
  }

  .home_contents_text {
    font-size: 15px;
    font-weight: normal;
  }
}

.display-inline-block {
  display: inline-block;
}

.home_cat_btn,
.home_bottom_recruit {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
  overflow: hidden;
  margin-top: 100px;
}

@media (max-width: 1024px) {
  .md\:w-50 {
    width: 50%;
  }

  .md\:w-100 {
    width: 100%;
  }

  .md\:justify-between {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }

  .md\:items-center {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .md\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }

  .lg\:w-33 {
    width: 50%;
  }
}

.home_cat_btn_content {
  width: 100%;
  height: 100%;
  position: relative;
  margin-bottom: 20px;
  border: 1px solid #fff;
}
.home_cat_btn_box a {
  color: #fff;
}
.home_cat_btn_content_box {
  background: #404040;
  padding: 40px 0;
}
.home_cat_btn_content_box:hover {
  opacity: 0.7;
  transition: 0.4s;
}
.home_cat_btn_content_box_inner {
  width: 50%;
  margin: 0 auto;
  padding-bottom: 27px;
  border-bottom: 1px solid #707070;
}
.home_cat_btn_content_text {
  font-size: 26px;
  margin-bottom: 13px;
}

@media (max-width: 1024px) {
  .home_cat_btn_content_text {
    font-size: 24px;
  }
  .home_cat_btn_content_box_inner {
    width: 80%;
  }
  .home_cat_btn_content_box_inner img {
    width: 60%;
  }
}

@media (max-width: 430px) {
  .btnarrow {
    left: 30%;
  }
}

.home_business_content {
  padding-left: 3rem;
  border-left: 1px solid #000;
}

.home_business_content__box {
  margin: 0 3rem;
  min-height: 450px;
}

.home_business_content__box a {
  color: #fff;
}

.home_business_content__title {
  font-size: 15px;
  font-weight: bold;
}

.home_bottom_recruit {
  margin-top: 200px;
  color: #fff;
}

@media (max-width: 1024px) {
  .home_bottom_recruit {
    margin-top: 5rem;
  }
}
.home_recruit_bg {
  background-image: url("../img/home_bottom_recruit.svg");
  background-repeat: no-repeat;
  background-position: right bottom;
  background-position-x: 105%;
}
.home_bottom_recruit__inner {
  position: relative;
}

.home_bottom_recruit__bg {
  width: 100%;
}

.home_recruit {
  width: 73%;
}
.home_recruit h2 {
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  border-bottom: 1px solid #fff;
  text-align: left;
  display: inline-block;
  padding-bottom: 2px;
}
.home_recruit h3 {
  font-size: 35px;
  font-weight: bold;
}
.home_recruit .ff-ar {
  font-size: 18px;
  color: #fff;
}
.home_bottom_recruit__btn {
  padding: 1rem 4rem 1rem 1rem;
  margin: 2rem 0 0;
  position: relative;
  display: block;
  color: #000;
  font-size: 16px;
  font-weight: bold;
  border-bottom: 1px solid #fff;
  display: inline-block;
  color: #fff;
}
.home_bottom_recruit__btn:after {
  content: "";
  width: 11px;
  height: 11px;
  border: 0;
  border-top: 4px solid #fff;
  border-right: 4px solid #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 0.5rem;
  margin-top: -6px;
}

@media (max-width: 1024px) {
  .home_recruit {
    width: 100%;
    padding: 50px 3rem;
  }
  .home_recruit h3 {
    font-size: 28px;
    font-weight: bold;
  }
  .home_recruit_bg {
    background-size: 40%;
    background-position-x: 110%;
  }
}

@media (max-width: 460px) {
  .home_bottom_recruit {
    margin-top: 100px;
  }
  .home_recruit_bg {
    background-size: 58%;
    background-position-x: 110%;
  }
}

/* footer */
.footer_contact__wrap {
  background: url(../img/footer_contact_bg.jpg) no-repeat center;
  background-size: cover;
  position: relative;
  color: #fff;
  padding: 90px 0;
}

.footer_contact__box {
}

.footer_contact__title {
  font-size: 36px;
  font-weight: bold;
  margin-bottom: 1rem;
}

.footer_contact__text {
  font-size: 14px;
  font-weight: bold;
  vertical-align: top;
}

.footer_contact__tel {
  font-size: 39px;
  font-weight: bold;
}

.footer_contact__tel span {
  font-size: 18px;
  font-weight: bold;
}

.footer_contact__tel_line {
  padding: 0 0.2rem;
}

.footer_contact__btn {
  font-weight: bold;
  padding: 1rem 3rem;
  border-radius: 30px;
  background: rgba(256, 256, 256, 0.4);
  align-items: center;
}

.footer_contact__btn:hover {
  opacity: 0.5;
  transition: 0.8s;
}

.footer_contact__btn svg {
  margin-right: 1rem;
}

.footer_contact__wrap a {
  color: #fff;
  text-decoration: none;
}

.company_logo {
  margin: 0 0 20px;
}

.footer_sdgs {
  margin-right: 2rem;
}

.footer_sdgs .sdgs_img {
  margin: 10px;
}

.footer_sdgs .arrow_mini {
  margin-left: 1rem;
  display: inline-block;
}

.footer_sdgs span {
  font-size: 12px;
  letter-spacing: 1;
}

.footer_company p {
  text-align: left;
  font-size: 15px;
  font-weight: bold;
}

.footer_contact_btn {
  background: #90010c;
  padding: 1.3rem 3rem 1rem;
  font-size: 19px;
  font-weight: bold;
}
.footer_contact_btn img {
  margin-right: 1rem;
}

@media (max-width: 1200px) {
  .footer_contact__wrap {
    padding: 70px 20px;
  }

  .footer_contact__tel {
    font-size: 30px;
    font-weight: bold;
  }
}

@media (max-width: 1024px) {
  .footer_contact__wrap {
    padding: 7rem 3rem;
  }
  .footer_contact__text:last-child {
    margin-bottom: 2rem;
  }
  .footer_contact__btn {
    margin: 0;
    text-align: center;
    display: block;
    padding: 15px;
    max-width: 100%;
  }
  .footer_contact__wrap .lg\:flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
  .footer_contact__btn svg {
    margin-bottom: -5px;
  }
  .footer_contact_btn {
    margin: 20px 0;
    display: inline-block;
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 864px) {
  .footer_contact__box {
    padding: 0 3%;
  }

  .footer_contact__tel_line {
    display: none;
  }

  .footer_contact__wrap .lg\:flex {
    display: block;
  }

  .footer_contact__wrap .inner {
    display: flex;
  }

  .footer_contact__wrap .lg\:w-55 {
    display: block;
  }

  .footer_contact__btn {
    margin: 10px 0 0;
  }

  .address_table th,
  .address_table td {
    display: block;
    text-align: left;
  }
}

@media (max-width: 580px) {
  .sp_mt20 {
    margin-top: 20px;
  }

  .footer_contact__wrap .lg\:flex {
    display: block;
  }

  .footer_contact__wrap .inner {
    display: block;
  }

  .footer_contact__text {
    margin: 10px 0;
  }
}

/* 下層ページ mv */
.mv {
  background: #f7f7f7;
}
.mv_title {
  padding-left: 10%;
}
.mv_title h2 {
  font-size: 40px;
  color: #000;
  font-weight: bold;
}

/* 下層ページ 共通 */
.btn-top {
  border: 1px solid #707070;
  margin-left: 20px;
  padding: 20px 2rem;
  width: 204px;
  height: 68px;
  position: relative;
  color: #000;
  font-weight: bold;
}
.btn-top::after {
  content: "";
  width: 11px;
  height: 11px;
  border: 0;
  border-top: 3px solid #90010c;
  border-right: 3px solid #90010c;
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  right: 2rem;
  margin-top: -6px;
}
.btn-top_link_mpt {
  padding-top: 120px;
  margin-top: -120px;
}
@media (max-width: 1024px) {
  /* 下層ページ 共通 */
  .btn-top_link_mpt {
    padding-top: 60px;
    margin-top: -60px;
  }
  .mv_title {
    padding: 20px;
    text-align: center;
  }
  .btn-top {
    margin-left: 0;
    width: 48%;
    margin-bottom: 4%;
  }
}

/* 事業内容 */
#business01,
#business02 {
  margin-bottom: 70px;
}
.business_title_wrap {
  width: 100vw;
  margin-left: calc((100% - 100vw) / 2);
  overflow: hidden;
  margin-top: 0;
}
.business_title_bg01 {
  background-image: url(/assets/img/business_title_bg01.jpg);
  background-size: cover;
  height: 360px;
}
.business_title_bg02 {
  background-image: url(/assets/img/business_title_bg02.jpg);
  background-size: cover;
  height: 360px;
}
.works_title {
  margin: 4rem 0;
  background-color: #404040;
  color: #fff;
  height: auto;
}
.works_title h3 {
  font-size: 30px;
  margin-left: 3rem;
  text-align: left;
  height: 80px;
  line-height: 80px;
}
.works_title span {
  font-size: 12px;
  margin-left: 25px;
}
.business_title {
  background-color: #000;
  opacity: 1;
  text-align: center;
  color: #fff;
  font-size: 16px;
  margin-bottom: 60px;
}
.business_title__text {
  padding: 130px;
}
.business_title h2 {
  font-size: 44px;
  color: #fff;
}
.business_title h3 {
  font-size: 31px;
  padding-left: 30px;
  text-align: left;
}
.business_title span {
  font-size: 12px;
  margin-left: 25px;
}
.business_box h3 {
  font-size: 28px;
  font-weight: bold;
  margin-bottom: 20px;
}
.business_box p {
  font-size: 16px;
  padding-bottom: 40px;
  font-weight: bold;
  width: 90%;
  border-bottom: 2px solid #660f16;
}
.business_box ul {
  margin-top: 40px;
}
.business_box li {
  font-size: 22px;
  font-weight: bold;
  list-style-image: url(/assets/img/circle.png);
  margin-left: 20px;
}
.business_box span {
  font-size: 16px;
  font-weight: bold;
}
.business_box_img02 {
  padding-bottom: 2%;
}
.business_box_img03 {
  padding-top: 2%;
}
.works-box {
  padding: 2%;
}
.works-box img {
  width: 100%;
}
.works-box span {
  font-size: 14px;
  font-weight: normal;
}
.works-box p {
  font-size: 16px;
  font-weight: bold;
  margin: 2rem 0;
}
.business_table {
  border: 1px solid #f0f0f0;
  margin: 2rem;
}
.bg_table {
  background-color: #f0f0f0;
}
.business_table table {
  border-collapse: collapse;
  width: 100%;
  text-align: left;
}
.business_table-top {
  background-color: #404040;
  color: #fff;
}
.business_table th td {
  border: 1px solid #f0f0f0;
}
.business_table th {
  padding: 2rem 1rem;
  border: 1px solid #707070;
  vertical-align: middle;
  text-align: left;
  width: 10%;
  font-size: 15px;
}
.business_table td {
  padding: 2rem 1rem;
  border: 1px solid #707070;
  vertical-align: baseline;
  text-align: left;
  font-weight: bold;
}
.half-text {
  font-size: 16px;
  padding-bottom: 40px;
  font-weight: bold;
  width: 90%;
  border-bottom: 2px solid #660f16;
}
@media (max-width: 1024px) {
  /* business */
  .business_title_bg01,
  .business_title_bg02 {
    height: 200px;
  }
  .business_title h2 {
    font-size: 32px;
    color: #fff;
  }
  .works_title h3 {
    font-size: 24px;
    height: 60px;
    line-height: 50px;
  }
  .business_box h3 {
    font-size: 24px;
  }
  .business_box p {
    width: 100%;
  }
  .business_box ul {
    margin-top: 10px;
    margin-bottom: 10px;
  }
  .s_under img {
    margin-top: 20px;
    margin-bottom: 10px !important;
  }
  .business_table th {
    width: 15%;
  }

  .greeting_name {
    padding-top: 90px;
  }
  .profile_table th,
  .profile_table td {
    padding: 3rem;
  }
  .business_box_img02 {
    padding-top: 2%;
    padding-bottom: 0;
  }
}

/* 会社概要 about us */
.page_content_title {
  border-bottom: 1px solid #d9d9d9;
  position: relative;
  padding: 2rem 0;
  margin-bottom: 4rem;
}
.page_content_title:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: 1px solid #90010c;
  bottom: -1px;
  width: 7%;
}
.page_content_title span {
  color: #002d89;
  font-size: 12px;
  font-weight: bold;
  margin-left: 15px;
  letter-spacing: 1px;
}

.greering_boxes {
  display: flex;
  flex-direction: row;
  margin-top: 30px;
  margin-bottom: 80px;
}

.greeting_box {
  padding: 0 1.5%;
  margin-left: auto;
  margin-right: auto;
}
.greeting_box p {
  margin-bottom: 2rem;
  font-weight: bold;
}
.greeting_title {
  margin: 2rem 0;
}
.greeting_box_subtitle {
  font-size: 160%;
}
.greeting_box_textdecoration {
  font-size: 120%;
}

.greeting_imagebox {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 20px;
  margin-top: 90px;
  margin-bottom: 120px;
  width: 350px;
}

.greeting_imagebox p {
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;
}

.greeting_image {
  max-width: 400px;
}

.greeting_image img {
  height: auto;
}

.greeting_name {
  font-size: 24px;
  font-weight: bold;
  text-align: right;
  /* padding-top: 160px; */
  align-self: flex-end;
}
.greeting_name span {
  font-size: 16px;
  margin-right: 2rem;
}

@media (max-width: 1024px) {
  .greering_boxes {
    flex-direction: column-reverse;
  }
  .greeting_box {
    padding: 0;
  }
  .greeting_imagebox {
    margin-top: 60px;
    margin-bottom: 60px;
  }
  .greeting_imagebox {
    flex-direction: column;
    width: auto;
  }
  .greeting_image {
    margin-left: auto;
    margin-right: auto;
  }
  .greeting_name {
    padding-top: 0;
  }
}

.access {
  margin: 90px 0;
}
.access_title {
  border-left: 1px solid #90010c;
  padding-left: 20px;
  margin-bottom: 20px;
}
.access_title h3 {
  font-size: 20px;
  font-weight: bold;
}
.chart img {
  border: 1px solid #000;
  padding: 12rem;
}
.sub_title {
  font-size: 20px;
  font-weight: bold;
  padding-left: 20px;
  border-left: 1px solid #90010c;
  margin-bottom: 20px;
}

.timeline {
  width: 100%;
  font-size: 14px;
  font-weight: bold;
}
.timeline-list {
  padding: 40px 0;
}
.timeline-list-item {
  display: flex;
  line-height: 1.5;
  font-size: 18px;
  padding: 0 3rem;
}
.timeline-list-item .content {
  width: 100%;
  padding: 2rem 0;
  font-size: 18px;
  display: flex;
  align-items: center;
}
.timeline-list-item .year {
  position: relative;
  width: 20%;
  color: #000;
  font-weight: bold;
  padding: 2rem;
  border-left: 1px solid #90010c;
  display: flex;
  align-items: center;
}
@media (max-width: 1024px) {
  .timeline-list-item .year {
    width: 30%;
  }
  .timeline-list-item,
  .timeline-list-item .content {
    font-size: 16px;
  }
  .chart img {
    border: 1px solid #000;
    padding: 2rem;
  }
}

.timeline-list-item .year::before {
  content: "";
  position: absolute;
  display: flex;
  align-items: center;
  left: -5px;
  width: 10px;
  height: 10px;
  background-color: #90010c;
  border-radius: 10px;
}
.timeline_title {
  font-size: 20px;
  color: #0083d5;
  font-weight: bold;
}
.bg-f0 {
  background-color: #f0f0f0;
}

#about04 {
  margin-bottom: 100px;
}
.profile_table {
  margin-bottom: 2rem;
}
.profile_table table {
  border-collapse: collapse;
  font-size: 14px;
}
.profile_table th {
  background: #efefef;
  border-bottom: 1px solid #818181;
  padding: 1rem 3rem 1rem 1rem;
  margin: 0;
  vertical-align: baseline;
  text-align: left;
  width: 30%;
}
.profile_table td {
  border-bottom: 1px solid #818181;
  padding: 1rem;
  margin: 0;
  width: 80%;
}
.border_t-a {
  border-top: 1px solid #818181;
}
.border_t-b {
  border-top: 1px solid #818181;
}

.qualfied_table {
  border-collapse: collapse;
  width: 100%;
  font-size: 15px;
  font-weight: bold;
}

@media (max-width: 1024px) {
  .qualfied_table {
    table-layout: fixed;
  }

  .md-mt0 {
    margin-top: 0 !important;
  }
}

.qualfied_table th {
  text-align: left;
  border-bottom: 1px solid #707070;
  padding: 1.5rem 0.8rem;
  width: 80%;
}

.qualfied_table td {
  text-align: right;
  border-bottom: 1px solid #707070;
  padding: 1.5rem 0.8rem;
  width: 20%;
}

/* 採用情報 recruit */
#recruit {
}
.career img {
  max-width: 612px;
}
.career p {
  padding-right: 4rem;
  font-weight: bold;
}
.career ul {
  margin-top: 0 !important;
}
.career-step {
  width: 100%;
}
.step {
  display: flex;
  align-items: center;
  width: 100%;
  list-style: none;
  background-color: #f0f0f0;
  padding: 3rem;
  margin-bottom: 20px;
  border-radius: 6px;
}
.step p {
  font-size: 20px;
  font-weight: bold;
  margin-right: 2rem;
  width: 10%;
}

.step ul {
  display: flex;
  justify-content: space-between;
  width: 100%;
}
.step li {
  width: 208px;
  text-align: center;
  background-color: #1ca5d8;
  display: inline-block;
  padding: 1rem;
  border-radius: 6px;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  position: relative;
}
.step li:after {
  position: absolute;
  content: "";
  box-sizing: border-box;
  top: 14px;
  right: -46px;
  border: 14px solid transparent;
  border-left: 18px solid #1ca5d8;
}
.step li:last-child::after {
  display: none;
}

.step-nensyu {
  margin-top: 60px;
  margin-bottom: 60px;
}

.step-nensyu-flow p {
  font-size: 18px;
  text-align: center;
  margin-right: 1rem;
}

/* .step-nensyu-post {
  font-size: 18px;
  text-align: center;
  margin-right: 1rem;
} */

.step-nensyu-flow ul {
  justify-content: flex-start;
  gap: 5%;
}

.step-nensyu-flow li {
  font-size: 15px;
  text-align: center;
}

.step-nensyu-flow li:after {
  top: 50%;
  transform: translate(0, -50%);
}

.w3 {
  width: 73.8% !important;
}
.after_card {
  max-width: 358px;
  min-height: 246px;
  border-radius: 6px;
  border: 1px solid #707070;
}
.after_card h4 {
  text-align: center;
  font-size: 23px;
  font-weight: bold;
  color: #fff;
  padding: 1rem;
  background-color: #454545;
}
.after_card p {
  text-align: center;
  font-size: 18px;
  font-weight: bold;
  padding: 1rem 2rem 1rem 1rem;
  border-bottom: 1px solid #707070;
}
.after_card ul {
  list-style: unset !important;
  padding: 2rem;
}
.after_card li {
  list-style: unset !important;
  margin-left: 3rem;
}
.after_card__menu {
  max-width: 358px;
  min-height: 246px;
  border-radius: 6px;
  background-color: #ac4e55;
  color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-direction: row;
}
.after_card__menu h4 {
  text-align: center;
  font-size: 23px;
  font-weight: bold;
  color: #fff;
  padding: 2rem;
}
.after_card__menu .btn {
  border-radius: 6px;
  background-color: #fff;
  color: #ac4e55;
  padding: 1.5rem 4rem;
  width: 80%;
}
.after_card__menu .btn::after {
  content: "";
  width: 11px;
  height: 11px;
  border: 0;
  border-top: 3px solid #90010c;
  border-right: 3px solid #90010c;
  transform: rotate(45deg);
  position: absolute;
  top: 50%;
  right: 3rem;
  margin-top: -6px;
}
.interview {
  width: 100%;
}
.interview li {
  font-size: 22px;
  font-weight: bold;
  list-style-image: url(/assets/img/circle.png);
  margin-left: 20px;
}
.interview h3 {
  font-size: 20px;
  font-weight: bold;
  color: #ac4e55;
  margin-bottom: 20px;
}
.interview h4 {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 20px;
}
.interview span {
  font-size: 15px;
  font-weight: bold;
}
.interview h5 {
  font-size: 18px;
  font-weight: bold;
  color: #ac4e55;
}
.interview p {
  font-size: 14px;
  padding-bottom: 30px;
  font-weight: bold;
  border: none;
}
.interview ul {
  background-color: #f0f0f0;
  padding: 2rem;
  border-radius: 6px;
}
.recruitment_table {
  margin-bottom: 2rem;
}
.recruitment_table table {
  width: 100%;
  border-collapse: collapse;
  width: -webkit-fill-available;
}
.recruitment_table th {
  background: #f0f0f0;
  border-bottom: 1px solid #818181;
  padding: 1rem 3rem;
  margin: 0;
  vertical-align: baseline;
  text-align: left;
  width: 30%;
}
.recruitment_table td {
  border-bottom: 1px solid #818181;
  padding: 1rem 3rem;
  margin: 0;
  vertical-align: baseline;
  text-align: left;
  width: 70%;
}
.recruit_title {
  font-size: 23px;
  font-weight: bold;
}
.recruit_title::before {
  content: "";
  font-weight: bold;
  list-style-image: url(/assets/img/circle.png);
  margin-left: 20px;
}
.recruit_message {
  display: flex;
  flex-wrap: wrap;
  align-content: stretch;
  justify-content: center;
  align-items: flex-start;
  margin-bottom: 110px;
}
.recruit_message h3 {
  font-size: 26px;
  font-weight: bold;
  color: #ac4e55;
  margin-bottom: 40px;
  padding: 0rem 6rem;
}
.recruit_message p {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 40px;
  padding: 4rem;
}
.message {
  width: 200px;
}
.table_border_top {
  border-top: 1px solid #818181 !important;
}

.drone-movie_box {
  padding-top: 20px;
}

.movie_box {
  margin-top: 80px;
}
.support_movie {
  margin-bottom: 20px;
}
.original_movie {
  margin-top: 30px;
}

.form_menu {
  background-color: #f0f0f0;
  border: 1px solid #707070;
  border-radius: 6px;
  width: 532px;
  text-align: center;
  font-weight: bold;
  margin-top: 70px;
  margin-bottom: 140px;
}
.form_menu h4 {
  padding: 1rem;
  font-size: 23px;
  color: #fff;
  background-color: #454545;
}
.form_menu p {
  font-size: 22px;
  color: #000;
  padding: 2rem;
}

@media (max-width: 1024px) {
  /* 採用情報 recruit */
  .step {
    display: block;
  }
  .step p {
    width: 100%;
    margin-bottom: 2rem;
  }
  .step ul {
    display: block;
    justify-content: space-between;
    width: 100%;
  }
  .step li {
    margin-bottom: 40px;
    width: 100%;
  }
  .step li:after {
    position: absolute;
    content: "";
    box-sizing: border-box;
    width: 30px;
    top: 48px;
    left: 45%;
    bottom: 70px;
    border: 14px solid transparent;
    border-top: 18px solid #1ca5d8;
  }
  .step li:last-child {
    margin-bottom: 0;
  }

  .step-nensyu {
    text-align: left;
    font-size: 20px;
  }
  .step-nensyu-flow p {
    font-size: 20px;
    text-align-last: left;
  }
  .mobile-display-none {
    display: none;
  }
  .step-nensyu-post {
  }

  .step-nensyu-flow li::after {
    top: 112px;
  }

  .step-nensyu p {
    font-size: 20px;
  }
  .step-nensyu-text p {
    font-size: 15px;
  }

  .w3 {
    width: 100% !important;
  }
  .after_card,
  .after_card__menu {
    max-width: 100%;
    min-height: auto;
    margin-bottom: 20px;
  }
  .after_card ul {
    padding: 20px;
  }
  .after_card__menu {
    padding: 20px;
  }
  .form_menu {
    width: 100%;
    height: auto;
  }
  .form_menu h4 {
    padding: 20px;
  }
  .form_menu p {
    padding: 20px;
  }
  .career img {
    margin-top: 20px;
    max-width: 100%;
  }
  .message {
    width: 100px;
  }
  .recruit_message h3 {
    font-size: 22px;
    margin-bottom: 0;
    padding: 20px 0;
  }
  .recruit_message p {
    font-size: 15px;
    margin-bottom: 40px;
    padding: 4rem 0;
  }
}

.company_access {
  font-size: 16px;
  font-weight: bold;
  margin: 4rem 0 2rem;
}

.sdgs_sub_title {
  font-size: 26px;
  letter-spacing: 1px;
}

.sdgs_content {
  border: 1px solid #009edb;
  margin-top: 4rem;
}

.sdgs_content_title {
  color: #fff;
  text-align: center;
  border: 1px solid #009edb;
  background: #009edb;
  padding: 2rem;
}

.sdgs_content_title h3 {
  font-size: 22px;
  font-weight: bold;
}

.sdgs_content_title_sub {
  font-size: 18px;
  font-weight: bold;
  margin-bottom: 1.5rem;
}

.sdgs_content_box {
  padding: 5rem 2rem;
  border: 1px solid #009edb;
  text-align: center;
}

/* 下層ページ 採用ページリンク */
.page_bottom_recruit__btn {
  position: relative;
  overflow: hidden;
}

.page_bottom_recruit__btn_title {
  font-size: 32px;
  background-image: url("../img/home_bottom_recruit_message.png");
  background-repeat: no-repeat;
  padding-top: 130px;
  line-height: 1.5;
}

.page_bottom_recruit__btn_text {
  padding-top: 1rem;
  padding-bottom: 60px;
}

.page_bottom_recruit__btn_arrow {
  stroke: #002d89;
  position: absolute;
  left: 8rem;
  bottom: 20px;
}

.page_bottom_recruit__btn:hover .page_bottom_recruit__btn_arrow {
  stroke: #fff;
  left: 10rem;
  -webkit-transition: 0.8s ease-in-out;
  transition: 0.8s ease-in-out;
}

.page_bottom_recruit__btn_title,
.page_bottom_recruit__btn_text {
  color: #002d89;
  text-align: left;
  padding-left: 10%;
}

.page_bottom_recruit__btn:hover .page_bottom_recruit__btn_text {
  color: #fff;
  z-index: 1;
  position: relative;
}

.page_bottom_recruit__btn:hover .page_bottom_recruit__btn_title {
  color: #fff;
  z-index: 1;
  position: relative;
}

.page_bottom_recruit__btn {
  margin: 0 auto;
}

.page_bottom_recruit__btn:hover .btn-white {
  border: none;
}

.page_bottom_recruit__btn .btn-white {
  opacity: 1;
  height: 100%;
}

.page_bottom_recruit_slide {
  overflow: hidden;
  position: relative;
  z-index: 0;
}

@media (max-width: 940px) {
  .page_bottom_recruit__btn .btn-white {
    margin-top: -10%;
  }

  .page_bottom_recruit__btn_title {
    padding-top: 10%;
    font-size: 24px;
    background-size: 36%;
  }

  .page_bottom_recruit__btn_text {
    padding-bottom: 5%;
    font-size: 12px;
  }

  .page_bottom_recruit__btn .btn {
    padding: 5%;
    position: relative;
    height: 100%;
    background: linear-gradient(90deg, #002d89, #3064cc);
    z-index: 0;
    padding: 15% 5% 8%;
  }

  .page_bottom_recruit__btn_arrow {
    bottom: 5%;
    stroke: #fff;
  }

  .page_bottom_recruit__btn_title {
    font-size: 20px;
  }

  .page_bottom_recruit__btn_title,
  .page_bottom_recruit__btn_text {
    padding-left: 5%;
    color: #fff;
  }
}

@media (max-width: 460px) {
  .page_bottom_recruit__btn {
    margin-top: 100px;
  }
}

/* 事業案内 */
.feature_title {
  color: #002d89;
}

.feature_text {
  border-left: 1px solid #002d89;
  padding: 0 3rem;
  margin: 2.5rem 0 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 2;
}
@media (max-width: 460px) {
  .feature_text {
    font-size: 14px;
  }
}

.feature_number {
  display: flex;
  justify-content: space-between;
  margin: 5rem 0;
}

.bge9 {
  background-color: #e9edf7;
  text-align: center;
  font-weight: bold;
  width: 100%;
}

.number_option {
  font-size: 38px;
  font-weight: bold;
  color: #002d89;
  margin-top: -30px;
}

.number_title {
  font-size: 23px;
  position: relative;
  margin-bottom: 30px;
}

.number_title::after {
  content: "";
  position: absolute;
  top: 50px;
  display: inline-block;
  width: 50px;
  height: 1px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #f03731;
}

.number_title::before {
  border-bottom: 1px solid #fb0a14;
}

.number_text {
  font-size: 16px;
  margin-bottom: 2rem;
}

@media (min-width: 1025px) {
  .s_contents {
    min-height: 280px;
  }
}

@media (max-width: 1024px) {
  .number_option {
    font-size: 24px;
  }

  .number_title {
    font-size: 20px;
  }

  .number_text {
    font-size: 14px;
    margin-bottom: 5rem;
  }

  .feature_number {
    display: block;
    margin: 5rem 0;
  }

  .bge9 {
    margin-bottom: 3rem;
  }
}

@media (max-width: 440px) {
  .number_option {
    margin-top: -20px;
  }
}

.service_contents {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.justify-center {
  justify-content: center;
}

.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.s_contents {
  background-color: #f6f6f6;
  padding: 20px 40px;
}

.s_contents h3 {
  font-size: 26px;
  text-align: center;
}

.s_contents p {
  border-top: 1px solid #ebebeb;
  padding-top: 24px;
}

.service_under {
  display: flex;
}

.s_under {
  font-weight: bold;
}

.s_under img {
  margin-bottom: 30px;
}

.under_text {
  font-size: 15px;
}

.under_title {
  text-align: left;
  font-size: 26px;
  position: relative;
  margin-bottom: 30px;
}

.under_title::after {
  content: "";
  position: absolute;
  top: 50px;
  display: inline-block;
  width: 74px;
  height: 3px;
  left: 0;
  background-color: #002d89;
}

.bg_6a {
  background-color: #6a6a6a;
  color: #fff;
}

.workslist_table {
  margin-top: 4rem;
}

.workslist_table table {
  border-collapse: collapse;
  font-size: 14px;
  font-weight: bold;
  width: 100%;
}

.workslist_table tr {
  padding: 1rem;
  border: 1px solid #000;
}

.workslist_table th {
  padding: 1rem 2rem;
  text-align: left;
  border: 1px solid #000;
  width: 278px;
}

.workslist_table td {
  padding: 1rem;
  border: 1px solid #000;
}

.workdslist_table td th {
  border-collapse: collapse;
  border: 1px solid #000;
}

/*
.w436 {
  width: 436px;
}
.w210 {
  width: 210px;
}
*/
@media (max-width: 1024px) {
  .scroll-table {
    overflow: auto;
    white-space: nowrap;
  }
}

/* 採用情報 */
.recruit_nav_wrap {
  margin-bottom: 3rem;
}

.recruit_nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  max-width: 600px;
  margin: 0 auto;
}

.recruit_nav_item {
  position: relative;
  font-weight: bold;
  padding-left: 2px;
  margin: 0 auto;
}

@media (max-width: 600px) {
  .recruit_nav_item {
    width: 50%;
    font-size: 12px;
    padding: 1rem;
  }
}

.recruit_nav_item a {
  color: #222;
  text-decoration: none;
}

.recruit_nav_item:before {
  content: "";
  width: 8px;
  height: 8px;
  margin-top: -6px;
  border-top: solid 2px #ee140d;
  border-right: solid 2px #ee140d;
  transform: rotate(135deg);
  position: absolute;
  top: 50%;
  left: 0;
}

/* インタビュー */
.interview {
  margin-top: 120px;
}

.recruit_title_interview {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  background: url("../img/interview.png");
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 90px;
  letter-spacing: 5.8px;
}

@media (max-width: 1024px) {
  .interview {
    margin-top: 5rem;
  }

  .recruit_title_interview {
    font-size: 24px;
  }
}

@media (max-width: 600px) {
  .recruit_title_interview,
  .recruit_title_support,
  .recruit_title_information {
    background-size: 80% !important;
    font-size: 24px !important;
  }
}

.recruit_title_support {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  background: url("../img/support.png");
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 90px;
  letter-spacing: 5.8px;
}

.information {
}

.recruit_title_information {
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  background: url("../img/information.png");
  background-repeat: no-repeat;
  background-position: center;
  padding-top: 90px;
  letter-spacing: 5.8px;
}

.interview_title {
  margin: 80px 0 20px;
  font-size: 19px;
  color: #0b88d6;
  position: relative;
}

@media (max-width: 1024px) {
  .interview_title {
    margin: 40px 0 20px;
  }
}

.interview_title::after {
  content: "";
  width: 57px;
  height: 1px;
  border-bottom: solid 1px #0b88d6;
  position: absolute;
  bottom: 9px;
  left: 150px;
}

.interview_title__text {
  font-size: 30px;
  text-weight: bold;
}

.interview_inner__card h3 {
  margin-bottom: 2rem;
}

.interview_name {
  font-size: 16px;
  font-weight: bold;
}

.interview_name span {
  font-size: 20px;
  text-weight: bold;
}

.interview_name__eng {
  font-size: 44px;
  font-weight: bold;
  color: #ccc;
  border-bottom: 1px solid #ccc;
  text-align: right;
  line-height: 0.65;
  letter-spacing: 0.1px;
  margin-bottom: 5rem;
}
@media screen and (-ms-high-contrast: active),
  screen and (-ms-high-contrast: none) {
  .interview_name__eng {
    line-height: 0.3;
  }
}

.interview_work__title {
  font-size: 20px;
  color: #0083d5;
  font-weight: bold;
  margin: 20px 0;
}

.interview_work__text {
  font-size: 14px;
  font-weight: bold;
}

.interview_timeline {
  display: flex;
  flex-direction: row;
  align-items: center;
}

/*　プロフィールカード */
.profile-card {
  width: 100%;
  max-width: 488px;
  position: relative;
  background: #efede5;
  /*背景の色*/
  box-shadow: 0px 1px 3px rgba(0, 0, 0, 0.18);
  overflow: hidden;
}

.profile-card__inner {
  position: relative;
  width: 100%;
  background-color: #efede5;
  padding: 2rem;
  border-radius: 6px;
}

.profile-card__title {
  color: #ff962c;
  font-size: 22px;
  text-align: center;
  font-weight: bold;
  position: relative;
}

.profile-card__title::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  display: inline-block;
  width: 33px;
  height: 1px;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: #ff962c;
}

.profile-thumb {
  overflow: hidden;
  width: 200px;
  height: 200px;
  border: #fff 3px solid;
  border-radius: 50%;
  margin-left: auto;
  margin-right: auto;
  margin-top: 20px;
  background: #fff;
}

.profile-thumb img {
  display: block;
  width: 100%;
  height: auto;
}

.profile-content {
  padding: 0 15px;
}

.profile-content span {
  display: block;
}

.profile-name {
  margin-bottom: 3px;
  font-size: 22px;
  font-weight: bold;
  text-align: left;
  margin: 15px 0;
}

.profile-card {
  width: 488px;
}

.profile-job {
  margin-bottom: 10px;
  color: #ccc;
  font-size: 10px;
  text-align: center;
}

.profile-intro {
  font-size: 14px;
}

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

.support_inner {
  display: flex;
  justify-content: space-evenly;
}

.support_top {
  font-size: 40px;
  font-weight: bold;
  text-aligh: center;
}

.support_card {
  width: 327px;
  padding: 20px;
}

.support_title {
  font-size: 22px;
  color: #0083d5;
  font-weight: bold;
}

.support_text {
  font-size: 14px;
  font-weight: bold;
}

.support_system {
  width: 85%;
  padding: 20px;
  background-color: #e5e7ef;
  border-radius: 6px;
  line-height: 2;
  margin: 2rem auto;
}

.support_system li {
  display: inline-flex;
}

.support_system_table {
  text-align: left;
}

.support_system_table th {
  width: 20%;
  font-size: 18px;
  text-align: left;
}

.support_system_table th::before {
  content: "●";
  color: #0083d5;
  padding: 0 10px;
}

.support_system_table td {
  text-align: left;
}

@media (max-width: 1024px) {
  .support_system {
    width: 100%;
    padding: 1rem;
  }

  .support_system_table th {
    width: 100%;
    display: block;
  }

  .support_system_table td {
    width: 100%;
    display: block;
    padding: 0 10px;
  }
}

.recruit_sub_title_information {
  margin: 5rem 0 2rem;
  text-align: center;
  background: url("../img/information_bg.svg");
  background-repeat: no-repeat;
  background-position: bottom;
  line-height: 2.5;
}

@media (max-width: 600px) {
  .recruit_sub_title_information {
    background-size: contain;
  }
}

.recruit_info_text {
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

@media (max-width: 600px) {
  .recruit_info_text {
    font-size: 14px;
  }
}

.recruit_info {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.information_table table {
  border-collapse: collapse;
  font-size: 15px;
  width: 85%;
  margin: 2rem auto;
}

@media (max-width: 1024px) {
  .information_table table {
    width: 100%;
  }
}

.information_table tr {
  padding: 1rem;
}

.information_table th {
  width: 20%;
  padding: 1rem 2rem;
  text-align: left;
  vertical-align: baseline;
}
@media (max-width: 1024px) {
  .information_table th {
    padding: 15px;
  }
}

.information_table td {
  padding: 1rem 2rem;
  text-align: left;
  vertical-align: baseline;
  font-family: "Yu Mincho", "YuMincho", serif;
}

.information_table td:last-child {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium",
    "游ゴシック", "Yu Gothic", "Hiragino Kaku Gothic ProN", Noto Sans JP,
    sans-serif;
}

.bg_e5-rad {
  background-color: #e5e7ef;
}

.bg_e5-rad th {
  border-radius: 6px 0 0 6px;
  width: 30%;
}

.bg_e5-rad td {
  border-radius: 0 6px 6px 0;
}

.information_tel {
  font-size: 40px;
  font-weight: bold;
}

.information_tel a {
  color: #000;
  text-decoration: none;
}

.information_tel span {
  font-size: 18px;
  font-weight: bold;
}

.information_tel_text {
  font-size: 16px;
  font-weight: bold;
}

.p-10 td {
  padding: 4rem;
  text-align: center;
}

@media (min-width: 1025px) {
  .sp-view {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .pc-view {
    display: none !important;
  }
}

#page_top a {
  color: #fff;
}
.page_top {
  background: #404040;
  padding: 22px 0;
  text-align: center;
  font-size: 14px;
  font-weight: normal;
}
.page_top:hover {
  opacity: 0.7;
  transition: 0.4s;
}

/* コンタクトフォーム */
.contact_mv {
  padding: 70px 0;
}
.contact_top_text {
  font-size: 22px;
  font-weight: bold;
  text-align: center;
  margin-bottom: 40px;
}
.contact_tel_wrap {
  border: 1px solid #707070;
  padding: 40px;
  text-align: center;
  margin-bottom: 100px;
}
.contact_tel {
  font-size: 36px;
  font-weight: bold;
}
.contact_tel a {
  color: #000;
}
.contact_tel a:hover {
  opacity: 0.7;
  transition: 0.4s;
}
@media (max-width: 1024px) {
  .contact_tel_wrap {
    padding: 20px;
  }
  .contact_tel {
    font-size: 24px;
  }
}
</pre></body></html>