@charset "UTF-8";
@import "../css/font-awesome.min.css";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Open+Sans:wght@400;700&family=Heebo:wght@400&display=swap");
body {
  word-wrap: break-word;
  overflow-wrap: break-word;
}

a:hover img {
  filter: alpha(opacity=60);
  opacity: 0.6;
}

.err {
  font-size: 12px;
  color: #ff5500;
}

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

* {
  box-sizing: border-box;
}

html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p,
blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em,
img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b,
u, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table,
caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details,
embed, figure, figcaption, footer, header, hgroup, menu, nav, output,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
}

div, article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

em, i {
  font-style: normal;
}

figure {
  max-width: 100%;
  text-align: center;
}

figcaption {
  text-align: center;
  margin-top: 3px;
}

img {
  max-width: 100%;
  vertical-align: bottom;
}

ul, ol {
  list-style: none;
}

dt {
  font-weight: bold;
}

/* table */
table {
  border-collapse: collapse;
  border-spacing: 0;
  empty-cells: show;
}

th, td {
  padding: 0;
  text-align: left;
  vertical-align: middle;
  border: none;
}

select option {
  padding: 0 5px;
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
input, button, select {
  cursor: pointer;
}

input[type=checkbox], input[type=radio] {
  vertical-align: middle;
}
input-placeholder {
  color: #A9A9A9;
}
input[type=submit] {
  padding: 0.1em;
}
input[type=submit] {
  line-height: 1;
  cursor: pointer;
}

button {
  line-height: 1;
  box-shadow: none;
  border: none;
  background-color: transparent;
  border-radius: 0;
  padding: 0;
}

body {
  line-height: 1.6;
  /*word-break: auto-phrase;*/
  color: #212121;
  -webkit-text-size-adjust: 100%;
  font-family: "Open Sans", "Noto Sans JP", arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 18px;
}
body button,
body select,
body textarea,
body input {
  font-family: "Open Sans", "Noto Sans JP", arial, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "Meiryo", sans-serif;
  font-size: 18px;
  padding: 0.5rem;
}
@media screen and (max-width: 480px) {
  body {
    font-size: 16px;
  }
}

h1,
h2,
h3,
h4,
h5,
h6 {
  line-height: 1.35;
  font-size: 1.25rem;
}

.txtRed {
  color: #db0020;
}

a {
  text-decoration: none;
  transition: 0.3s;
  color: #212121;
}
a:before, a:after {
  transition: 0.3s;
}
a:hover, a:active {
  outline: 0;
}
a:hover {
  text-decoration: underline;
}
a:active {
  color: #777;
}

table {
  width: 100%;
  background: #fff;
}
table td,
table th {
  padding: 10px;
  color: #212121;
  border: 1px solid #ccc;
}
table th {
  width: 12em;
  background: #f1f1f1;
  text-align: left;
}

@media screen and (max-width: 768px) {
  table td,
  table th {
    display: block;
    width: 100%;
    margin-top: -1px;
  }
  table.noDrop td,
  table.noDrop th {
    display: table-cell;
    width: auto;
    margin-top: 0;
  }
}
select,
textarea,
input[type=text] {
  border: none;
  border: 1px solid #ccc;
}

textarea {
  resize: vertical;
  min-height: 6rem;
  width: 100%;
}

.bgw .inner {
  background: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAQAAAAECAYAAACp8Z5+AAAAJElEQVQYV2P8////MwYGhnQGBoaZIJrx////vjAOiAYJ4FcBAP9UFF+iNJr0AAAAAElFTkSuQmCC) repeat;
}

.bgg .inner {
  background-color: #efefef;
}

.space.inner {
  padding: 3.5vw;
}

.loadingImg {
  width: 100%;
  min-height: 100vh;
}

@media screen and (max-width: 428px) {
  .loadingImg {
    margin-top: 20vh;
    width: auto;
    min-height: auto;
  }
}
#ytPlayerWrap {
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: -1;
}
#ytPlayerWrap #ytPlayer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#ytPlayerWrap.topImg02 {
  background: url(../images/top-img02.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg02-sub {
  background: url(../images/top-img02-sub.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg03 {
  background: url(../images/top-img03.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg03-sub {
  background: url(../images/top-img03-sub.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg04 {
  background: url(../images/top-img04.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg04-sub {
  background: url(../images/top-img04-sub.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg05 {
  background: url(../images/top-img04.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.topImg06 {
  background: url(../images/top-img06.jpg) no-repeat center center/cover !important;
}
#ytPlayerWrap.bgWht:after {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(255, 255, 255, 0.65);
  height: 100%;
  width: 100%;
}

.slider {
  opacity: 0;
  transition: opacity 0.3s linear;
}
.slider.slick-slider {
  margin-bottom: 0;
}
.slider.slick-initialized {
  opacity: 1;
}
.slider .slick-list {
  margin: 0 30px;
}
.slider .slick-prev,
.slider .slick-next {
  height: 47px;
  width: 16px;
}
.slider .slick-prev:before,
.slider .slick-next:before {
  content: "";
  height: 47px;
  width: 16px;
  display: block;
}
.slider .slick-prev {
  left: 0;
}
.slider .slick-prev:before {
  background: url(../images/slider-arrow-left.png) no-repeat center center/cover;
}
.slider .slick-next {
  right: 0;
}
.slider .slick-next:before {
  background: url(../images/slider-arrow-right.png) no-repeat center center/cover;
}

@media screen and (max-width: 1024px) {
  .slider.slick-slider {
    margin-bottom: 60px;
  }
  .slider .slick-list {
    margin: 0;
  }
  .slider .slick-dots {
    bottom: -45px;
  }
  .slider .slick-dots li {
    margin: 0 3px;
  }
  .slider .slick-dots li button {
    padding: 0;
  }
  .slider .slick-dots li button:before {
    font-size: 30px;
    line-height: 20px;
  }
}
.pageNav {
  display: flex;
  margin: 3.5vw 0;
}
.pageNav a {
  width: 50%;
  background-color: #db0020;
  color: white;
  display: block;
  padding: 20px 10px 10px;
  border-radius: 8px;
  text-align: center;
  box-shadow: 0 4px 0 0 rgb(117, 0, 17.095890411);
}
.pageNav a:nth-child(2) {
  margin-left: 30px;
}
.pageNav a:after {
  content: "";
  text-align: center;
  display: block;
  margin: 10px auto 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 8px 0 8px;
  border-color: #fff transparent transparent transparent;
}
.pageNav a:hover {
  text-decoration: none;
  box-shadow: none;
  transform: translateY(4px);
}

.pageNav02 {
  margin: 3.5vw 0;
}
.pageNav02 ul {
  display: flex;
}
.pageNav02 ul li {
  flex: 1;
}
.pageNav02 ul li:not(:last-child) {
  border-right: 1px solid #db0020;
}
.pageNav02 ul li a {
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  align-items: center;
  padding: 10px;
  text-align: center;
  color: #db0020;
  text-decoration: none;
  position: relative;
  font-size: 1.25rem;
  line-height: 1.35;
}
.pageNav02 ul li a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 8px auto 0;
  border-style: solid;
  border-width: 19px 7px 0 7px;
  border-color: #db0020 transparent transparent transparent;
}
.pageNav02 ul li a:hover {
  background-color: #db0020;
  color: white;
}
.pageNav02 ul li a:hover:after {
  border-color: white transparent transparent transparent;
}

@media screen and (max-width: 768px) {
  .pageNav {
    display: block;
    margin: 30px 0;
  }
  .pageNav a {
    width: 100%;
    font-size: 16px;
    padding: 8px 30px 8px 8px;
    text-align: left;
    position: relative;
    box-shadow: 0 2px 0 0 rgb(117, 0, 17.095890411);
  }
  .pageNav a:after {
    border-width: 12px 5px 0 5px;
    position: absolute;
    margin: 0;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  .pageNav a br {
    display: none;
  }
  .pageNav a:nth-child(2) {
    margin: 10px 0 0;
  }
  .pageNav02.pageNav02 ul {
    flex-wrap: wrap;
  }
  .pageNav02.pageNav02 ul li {
    width: 50%;
    border-right: 1px solid #db0020;
    border-bottom: 1px solid #db0020;
    border-top: 1px solid #db0020;
  }
  .pageNav02.pageNav02 ul li:first-child {
    border-left: 1px solid #db0020;
  }
  .pageNav02.pageNav02 ul li a {
    padding: 7px;
    font-size: 1rem;
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .pageNav02.pageNav02 ul li a:after {
    margin: 5px auto 0;
    border-width: 12px 5px 0 5px;
  }
  .pageNav02.pageNav02 ul li a br {
    display: none;
  }
}
.pageMainTitle {
  max-width: 1200px;
  margin: 0 auto;
  padding: 10vh 10px;
}

@media screen and (max-width: 480px) {
  .pageMainTitle {
    padding: 8vh 10px;
  }
  .pageMainTitle img {
    max-height: 90px;
  }
}
.newsIcon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 8em;
  height: 27px;
  font-size: 18px;
  background-color: #444;
  color: white;
}
.newsIcon.col01 {
  background-color: #e43523;
}
.newsIcon.col02 {
  background-color: #68696c;
}
.newsIcon.col03 {
  background-color: #e6b452;
}
.newsIcon.col04 {
  background-color: #78b5d4;
}
.newsIcon.col05 {
  background-color: #95bd7f;
}
.newsIcon.col06 {
  background-color: #20266D;
}

@media screen and (max-width: 768px) {
  .newsIcon {
    font-size: 14px;
    height: 22px;
  }
}
.pageFlowForm {
  background: url(../images/page-flow-bg.jpg) no-repeat center center/cover;
  padding: 30px 35px;
  color: white;
  margin-bottom: 40px;
}
.pageFlowForm h3 {
  font-size: 2.25rem;
  text-align: center;
  margin-bottom: 25px;
}
.pageFlowForm .flex {
  align-items: center;
  justify-content: center;
}
.pageFlowForm .telBox {
  text-align: center;
}
.pageFlowForm .telBox dt {
  font-size: 2rem;
  margin-bottom: 10px;
  font-weight: normal;
}
.pageFlowForm .telBox dd p {
  font-size: 18px;
  margin-top: 10px;
}
.pageFlowForm .btnBox {
  margin-left: 40px;
}
.pageFlowForm .btnBox a {
  width: 420px;
  height: 58px;
  background-color: #1d1d1d;
  color: white;
  position: relative;
  display: flex;
  align-items: center;
  font-size: 20px;
  justify-content: center;
  margin: 10px 0;
  padding: 5px;
  text-decoration: none;
  line-height: 1.35;
}
.pageFlowForm .btnBox a i {
  margin-right: 20px;
}
.pageFlowForm .btnBox a:hover {
  background-color: rgb(91.5, 0, 13.3698630137);
}
.pageFlowForm .btnBox a:hover img {
  opacity: 1;
}

@media screen and (max-width: 1024px) {
  .pageFlowForm .flex {
    display: block;
  }
  .pageFlowForm h3 {
    font-size: 1.75rem;
    text-align: center;
    margin-bottom: 25px;
  }
  .pageFlowForm .telBox {
    margin-bottom: 25px;
  }
  .pageFlowForm .btnBox {
    margin: 0 auto;
    text-align: center;
  }
  .pageFlowForm .btnBox a {
    margin: 10px auto;
  }
}
@media screen and (max-width: 768px) {
  .pageFlowForm {
    padding: 20px;
  }
  .pageFlowForm h3 {
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
  .pageFlowForm .telBox {
    margin-bottom: 15px;
  }
  .pageFlowForm .telBox dt {
    font-size: 18px;
  }
  .pageFlowForm .telBox dd p {
    margin-top: 20px;
    font-size: 14px;
  }
  .pageFlowForm .btnBox a {
    padding: 10px;
    width: 100%;
    height: 75px;
    text-align: left;
  }
}
.pageFlowLink {
  margin-bottom: 3.2vw;
}
.pageFlowLink .pageFlowLinkList {
  width: 50%;
  text-align: center;
}
.pageFlowLink .pageFlowLinkList:nth-child(2n) {
  margin-left: 30px;
}
.pageFlowLink .pageFlowLinkList a {
  z-index: 5;
  display: flex;
  align-items: center;
  flex-direction: column;
  height: 100%;
  position: relative;
  padding: 40px 20px;
  text-decoration: none;
  border: 5px solid transparent;
  transition: border-color 0.3s;
}
.pageFlowLink .pageFlowLinkList a:hover {
  border-color: white;
}
.pageFlowLink .pageFlowLinkList a:hover img {
  opacity: 1;
}
.pageFlowLink .pageFlowLinkList a:hover .bg:after {
  opacity: 1;
}
.pageFlowLink .pageFlowLinkList .bg {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  z-index: -1;
}
.pageFlowLink .pageFlowLinkList .bg:after {
  content: "";
  display: block;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  position: absolute;
  opacity: 0;
  transition: opacity 0.3s;
}
.pageFlowLink .pageFlowLinkList .bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover";
}
.pageFlowLink .pageFlowLinkList h3 + p {
  margin: 1.5rem 0;
  color: white;
}
.pageFlowLink .pageFlowLinkList .btn {
  margin-top: auto;
}

@media screen and (max-width: 1024px) {
  .pageFlowLink .pageFlowLinkList:nth-child(2n) {
    margin-left: 10px;
  }
  .pageFlowLink .pageFlowLinkList h3 img {
    height: 70px;
  }
}
@media screen and (max-width: 768px) {
  .pageFlowLink.pageFlowLink {
    display: block;
  }
  .pageFlowLink.pageFlowLink .pageFlowLinkList.pageFlowLinkList {
    margin: 0 0 10px;
    width: auto;
  }
}
@media screen and (max-width: 480px) {
  .pageFlowLink .pageFlowLinkList h3 img {
    height: 52px;
  }
}
.bnrBox {
  display: flex;
  flex-wrap: wrap;
  margin-top: -8px;
}
.bnrBox li {
  width: calc(25% - 6px);
  margin-top: 8px;
}
.bnrBox li:not(:nth-child(4n)) {
  margin-right: 8px;
}
.bnrBox li img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .bnrBox.bnrBox li {
    width: calc(50% - 4px);
    margin-right: 0;
  }
  .bnrBox.bnrBox li:nth-child(2n) {
    margin-left: 8px;
  }
}
.map,
.video {
  position: relative;
  padding-bottom: 56.25%;
}
.map iframe,
.map video,
.video iframe,
.video video {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mapBtn {
  margin-top: 10px;
  text-align: center;
}
.mapBtn a {
  margin: 15px;
}

@media screen and (max-width: 768px) {
  .mapBtn a {
    margin: 5px 0;
  }
}
.topicPath ol {
  margin: 1rem auto;
  display: flex;
}
.topicPath ol li a {
  text-decoration: underline;
}
.topicPath ol li a:hover {
  opacity: 0.6;
}
.topicPath ol li a:hover img {
  opacity: 1;
}
.topicPath ol li:before {
  content: "\f105";
  font-family: FontAwesome;
  margin: 0 1rem 0;
  display: inline-block;
  vertical-align: middle;
  margin-top: 0px;
}
.topicPath ol li.topicPathHome:before {
  display: none;
}

.btn {
  width: 200px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding-right: 20px;
  color: #fff;
  font-size: 14px;
  background-color: #db0020;
}
.btn:after {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 4px 0 4px 10px;
  border-color: transparent transparent transparent #fff;
}
.btn:not(.dammy):hover {
  background-color: #fff;
  text-decoration: none;
  color: #db0020;
}
.btn:not(.dammy):hover:after {
  border-color: transparent transparent transparent #db0020;
}
.btn.clear {
  background-color: transparent;
  border: 1px solid #fff;
}
.btn.clear:not(.dammy):hover {
  background-color: #fff;
  text-decoration: none;
}
.btn.wht {
  background-color: #fff;
  color: #db0020;
}
.btn.wht:after {
  border-color: transparent transparent transparent #db0020;
}
.btn.wht:hover {
  background-color: #db0020;
  color: white;
}
.btn.wht:hover:after {
  border-color: transparent transparent transparent white;
}
.btn.border {
  border: 2px solid #db0020;
}
.btn.md {
  width: 100%;
  height: auto;
  padding: 10px 20px 10px 10px;
  max-width: 400px;
}
.btn.lg {
  display: flex;
  height: auto;
  width: auto;
  font-size: 20px;
  padding: 10px;
  padding-right: 25px;
}

.btn.red:hover {
  background-color: #fff;
  text-decoration: none;
  color: #db0020;
  border: 2px solid #db0020;
}
.btn.red:hover:after {
  border-color: transparent transparent transparent #db0020;
}

@media screen and (max-width: 480px) {
  .btn.lg {
    font-size: 1rem;
  }
}
.dropdown dt {
  cursor: pointer;
  position: relative;
}
.dropdown dt:after {
  content: "\f107";
  font-family: FontAwesome;
  color: #db0020;
  font-size: 32px;
  line-height: 1;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%) rotateX(0);
  font-weight: normal;
  transition: transform 0.3s;
}
.dropdown dt.active:after {
  transform: rotateX(-180deg);
}

.inner {
  max-width: 1200px;
  margin: 0 auto;
}

.outer {
  padding: 0 10px;
}

.flex {
  display: flex;
}
.flex.aic {
  align-items: center;
}
.flex.fww {
  flex-wrap: wrap;
}
.flex.jcc {
  justify-content: center;
}
.flex.column {
  flex-direction: column;
}
.flex.reverse {
  flex-direction: row-reverse;
}
.flex.jcsb {
  justify-content: space-between;
}

.pt100 {
  padding-top: 100px;
}

.pb100 {
  padding-bottom: 100px;
}

.mBox01 {
  margin: 6.5vh auto;
}

.mbBox01 {
  margin-bottom: 6.5vh;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb100 {
  margin-bottom: 100px;
}

.pBox01 {
  padding-top: 6.5vh;
  padding-bottom: 6.5vh;
}

.pbBox01 {
  padding-bottom: 6.5vh;
}

.mBox02 {
  margin: 3vh auto;
}

.pBox02 {
  padding-top: 3vh;
  padding-bottom: 3vh;
}

.pBox03 {
  padding-top: 3vh;
}

.pBox04 {
  padding-top: 12vh;
  padding-bottom: 12vh;
}

.fr {
  float: right;
}

.fl {
  float: left;
}

.ofh {
  overflow: hidden;
}

.tar {
  text-align: right;
}

.tac {
  text-align: center;
}

.fa01 {
  color: #e00;
}

.bgg01 {
  background-color: #f2f2f2;
}

.bgg02 {
  background-color: #e2e2ff;
}

.mt30 {
  margin-top: 30px;
}

.fz14 {
  font-size: 14px;
}

input {
  box-sizing: border-box;
}
input[type=submit] {
  -webkit-appearance: none;
  border-radius: 0;
}
input[type=checkbox] {
  display: inline-block;
  padding: 10px 8px 8px 8px;
}
input[type=text] {
  -webkit-appearance: none;
  border-radius: 0;
  border: 1px solid #ccc;
}

label.checkbox {
  cursor: pointer;
  position: relative;
  padding-left: 25px;
  margin-right: 25px;
  overflow: hidden;
  position: relative;
  display: inline-block;
  box-sizing: border-box;
}
label.checkbox:before {
  content: "";
  position: absolute;
  width: 20px;
  height: 20px;
  left: 0px;
  top: 0;
  border: 1px solid #bbb;
  z-index: 50;
}
label.checkbox:after {
  content: "";
  position: absolute;
  top: 40%;
  left: 6px;
  display: block;
  margin-top: -8px;
  width: 8px;
  height: 12px;
  border-right: 3px solid #00e;
  border-bottom: 3px solid #00e;
  transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  z-index: 1;
}
label.checkbox input[type=checkbox] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  left: -40px;
  width: 20px;
  height: 20px;
  display: block;
  box-shadow: 41px 0px #fff;
  z-index: 2;
  margin: 0px;
  padding: 0px;
}
label.checkbox input[type=checkbox]:checked {
  box-shadow: none;
}
label.checkbox input[type=checkbox]:checked:focus {
  box-shadow: 40px 0px #666;
  opacity: 0.1;
}
label.checkbox input[type=checkbox]:focus {
  box-shadow: 41px 0px #eee;
}
label.radio {
  cursor: pointer;
  position: relative;
  margin-right: 25px;
  overflow: hidden;
  padding: 1px 0 0 20px;
  display: inline-block;
}
label.radio:before {
  position: absolute;
  width: 15px;
  height: 15px;
  border: 1px solid #bbb;
  border-radius: 50%;
  left: 0px;
  top: 4px;
  content: "";
  z-index: 3;
}
label.radio:after {
  content: "";
  position: absolute;
  width: 11px;
  height: 11px;
  border-radius: 100%;
  left: 3px;
  top: 7px;
  background-color: #00e;
  z-index: 1;
}
label.radio input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  position: absolute;
  z-index: 2;
  width: 20px;
  height: 20px;
  left: -23px;
  top: 1px;
  margin: 0px;
  box-shadow: 20px -1px #fff;
}
label.radio input[type=radio]:checked {
  display: none;
}
label.radio input[type=radio]:focus {
  opacity: 0.2;
  box-shadow: 20px -1px #fff;
}

#pageHeader .headerInner {
  max-width: 1500px;
  margin: 0 auto;
  background-color: #fff;
}
#pageHeader .headerInner > * {
  display: flex;
  align-items: center;
}
#pageHeader .logo {
  padding-left: 2.5vw;
}
#pageHeader .logo img {
  height: auto;
  width: 200px;
}
#pageHeader .language {
  position: relative;
  margin-left: auto;
  margin-right: 2vw;
}
#pageHeader .language p {
  cursor: pointer;
  color: #666666;
  transition: color 0.3s;
}
#pageHeader .language p:hover {
  color: #db0020;
}
#pageHeader .language p:before {
  content: "";
  background: url(../images/language.svg) no-repeat center center/cover;
  display: inline-block;
  vertical-align: -3px;
  height: 18px;
  width: 18px;
  margin-right: 5px;
}
#pageHeader .language p:after {
  content: "\f0d7";
  font-family: FontAwesome;
  display: inline-block;
  color: #777;
  line-height: 1;
  font-size: 12px;
  margin-left: 5px;
}
#pageHeader .language ul {
  position: absolute;
  width: 100%;
  top: 75%;
  left: 0;
  display: none;
  border: 1px solid #ccc;
}
#pageHeader .language ul li {
  border-bottom: 1px solid #ccc;
  background-color: #fff;
}
#pageHeader .language ul li a {
  width: 100%;
  display: block;
  color: #666666;
  padding: 7px;
}
#pageHeader .language ul li a:hover {
  text-decoration: none;
  background-color: #e2e2e2;
}
#pageHeader #pageNav {
  margin-left: auto;
}
#pageHeader #pageNav ul {
  align-items: center;
}
#pageHeader #pageNav li a {
  display: block;
  line-height: 1;
  font-weight: bold;
  color: #666;
  padding: 0 20px;
}
#pageHeader #pageNav li a:hover {
  text-decoration: none;
}
#pageHeader #pageNav li.rectAccordion {
  position: relative;
}
#pageHeader #pageNav li.rectAccordion a {
  padding: 10px 20px;
  pointer-events: none;
}
#pageHeader #pageNav li.rectAccordion ul {
  max-width: 135px;
  width: 100%;
  transform: scaleY(0);
  transform-origin: center top;
  transition: all 0.3s;
  position: absolute;
  left: 0;
  top: 100%;
  z-index: 10;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem a {
  background-color: #fff;
  color: #666;
  padding: 1.6rem 0.6rem;
  pointer-events: auto;
  border-top: 1px solid #999;
  border-bottom: 1px solid #999;
  font-size: 0.9em;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem a:hover {
  color: #db0020;
  background: #efefef;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem a:before {
  content: none;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai01 {
  letter-spacing: -0.07em;
  border-bottom: none;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai02 {
  border-bottom: none;
}
#pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai04 a {
  font-size: 0.75em;
}
#pageHeader #pageNav li.rectAccordion:hover ul {
  position: absolute;
  transform: scaleY(1);
}

@media screen and (max-width: 1199px) {
  #pageHeader .language {
    margin-right: 0;
  }
  #pageHeader #pageNav li a {
    font-size: 16px;
  }
  #pageHeader #pageNav li.rectAccordion ul {
    max-width: 124px;
  }
}
@media screen and (max-width: 1024px) {
  #pageHeader .headerInner {
    flex-wrap: wrap;
  }
  #pageHeader .logo {
    padding: 15px;
  }
  #pageHeader .logo img {
    width: 160px;
  }
  #pageHeader .language {
    margin-right: 15px;
  }
  #pageHeader #pageNav {
    /*margin: 10px;*/
    margin-top: 0;
    width: 100%;
    /*width: calc(100% - 20px);*/
  }
  #pageHeader #pageNav ul {
    flex-wrap: wrap;
    width: 100%;
  }
  #pageHeader #pageNav li {
    width: 33.3322222593%;
    border-top: 1px solid #999;
    border-right: 1px solid #999;
  }
  #pageHeader #pageNav li:nth-last-child(-n+3) {
    border-left: 1px solid #999;
    border-bottom: 1px solid #999;
  }
  #pageHeader #pageNav li:nth-child(3n+1) {
    border-left: 1px solid #999;
  }
  #pageHeader #pageNav li a {
    font-size: min(16px, 4vw);
    height: 45px;
    padding: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #pageHeader #pageNav li:last-child {
    border-left: none;
  }
  #pageHeader #pageNav li.rectAccordion {
    border-left: none;
  }
  #pageHeader #pageNav li.rectAccordion ul {
    max-width: 100%;
    width: 100%;
  }
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem {
    width: 100%;
    margin-left: -1px;
    box-sizing: content-box;
  }
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem a {
    padding: 10px;
  }
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai01,
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai02 {
    border-left: 1px solid #999;
  }
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai03 {
    border-left: 1px solid #999;
  }
  #pageHeader #pageNav li.rectAccordion ul li:nth-child(3),
  #pageHeader #pageNav li.rectAccordion ul li:nth-child(4) {
    border-bottom: none;
  }
  #pageHeader #pageNav li.rectAccordion ul li:last-child {
    border-left: 1px solid #999;
  }
}
@media screen and (min-width: 1025px) {
  #pageHeader #pageNav li .sp {
    display: none;
  }
  #pageHeader #pageNav li a:hover {
    color: #db0020;
  }
  #pageHeader #pageNav li:last-child a {
    background-color: #db0020;
    color: white;
    padding: 35px 2vw;
  }
  #pageHeader #pageNav li:last-child a:before {
    content: "\f003";
    font-family: FontAwesome;
    margin-right: 5px;
    font-weight: normal;
    font-size: 20px;
  }
  #pageHeader #pageNav li:last-child a:hover {
    background-color: #e2e2e2;
    color: #db0020;
  }
  #pageHeader #pageNav li:last-child a:hover:before {
    content: "\f2b7";
  }
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai01,
  #pageHeader #pageNav li.rectAccordion ul li.rectAccordionItem.rai02 {
    border-right: none;
  }
}
#toTop {
  position: fixed;
  z-index: 50;
  bottom: -100px;
  right: -100px;
  transition: bottom 0.3s, right 0.3s;
}
#toTop.active {
  bottom: 30px;
  right: 30px;
}
#toTop span {
  width: 75px;
  height: 75px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #db0020;
  color: white;
  font-size: 14px;
  cursor: pointer;
}
#toTop span:before {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 5px 16px 5px;
  border-color: transparent transparent white transparent;
  margin-bottom: 5px;
}

@media screen and (max-width: 768px) {
  #toTop.active {
    bottom: 10px;
    right: 10px;
  }
  #toTop span {
    width: 54px;
    height: 54px;
    font-size: 11px;
  }
  #toTop span:before {
    margin-bottom: 2px;
    border-width: 0 3px 11px 3px;
  }
}
#pageFooter {
  margin: 6.5vh 0;
}
#pageFooter .footerInner {
  max-width: 1500px;
  margin: 0 auto;
  padding: 3.5vw 15px;
  background-color: #fff;
}
#pageFooter .footerData p {
  margin-bottom: 1rem;
}
#pageFooter .footerData img {
  display: block;
  margin-bottom: 15px;
}
#pageFooter .footerData img + img {
  width: 200px;
}
#pageFooter .footerData .formBtn {
  background-color: #db0020;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  height: 58px;
}
#pageFooter .footerData .formBtn:before {
  font-family: FontAwesome;
  margin-right: 5px;
  font-size: 20px;
  content: "\f003";
}
#pageFooter .footerData .formBtn:hover {
  background-color: #e2e2e2;
  color: #db0020;
  text-decoration: none;
}
#pageFooter .footerData .formBtn:hover:before {
  content: "\f2b7";
}
#pageFooter .footerNav {
  margin-left: 6vw;
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
}
#pageFooter .footerNav .footerNavList {
  margin: 0 0 60px 45px;
}
#pageFooter .footerNav .footerNavList li {
  margin: 0 0 3px;
}
#pageFooter .footerNav .footerNavList li:first-child a {
  color: #db0020;
}
#pageFooter .footerNav .footerNavList li a {
  font-size: 16px;
}
#pageFooter .footerNav .footerNavList li ul {
  padding-left: 1rem;
}
#pageFooter .footerNav .footerNavList li ul li:first-child a {
  color: inherit;
}
#pageFooter .footerNav .footerNavList li ul li a {
  padding-left: 1.15rem;
  display: block;
  position: relative;
}
#pageFooter .footerNav .footerNavList li ul li a:before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1rem;
  height: 1px;
  background-color: #212121;
}
#pageFooter .footerNav .footerNavList:nth-of-type(4) {
  margin-top: -160px;
}

#copyRight {
  text-align: center;
}

@media screen and (max-width: 1199px) {
  #pageFooter .footerNav .footerNavList {
    width: calc(50% - 30px);
    margin: 0 0 30px 30px;
  }
  #pageFooter .footerNav .footerNavList:nth-of-type(4) {
    margin-top: 0;
  }
}
@media screen and (max-width: 1024px) {
  #pageFooter .flex {
    display: block;
  }
  #pageFooter .footerData {
    text-align: center;
  }
  #pageFooter .footerData p {
    text-align: center;
  }
  #pageFooter .footerData p img {
    width: 240px;
    margin: 0 auto 15px;
  }
  #pageFooter .footerData p img + img {
    width: 160px;
  }
  #pageFooter .footerData .formBtn {
    margin: 0 auto;
  }
  #pageFooter .footerNav {
    margin: 20px 0 40px;
    padding-top: 20px;
    border-top: 1px solid #ccc;
    margin-left: 0;
  }
  #pageFooter .footerNav .footerNavList {
    margin: 0 0 30px;
    width: calc(50% - 15px);
  }
  #pageFooter .footerNav .footerNavList:nth-child(2n) {
    margin-left: 30px;
  }
  #pageFooter .footerNav .footerNavList li a {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  #pageFooter .footerInner {
    padding: 35px 15px;
  }
  #pageFooter .footerNav {
    padding-top: 0;
    border-top: none;
  }
  #pageFooter .footerNav .footerNavList.footerNavList {
    width: 100%;
    margin: 20px 0 0;
  }
  #pageFooter .footerNav .footerNavList.footerNavList li {
    border-bottom: 1px solid #ccc;
  }
  #pageFooter .footerNav .footerNavList.footerNavList li a {
    display: block;
    padding: 3px;
  }
  #pageFooter .footerNav .footerNavList.footerNavList li ul li {
    border-bottom: none;
  }
  #pageFooter .footerNav .footerNavList.footerNavList li ul li a {
    padding-left: 1.15rem;
  }
}
#formbox .hissu {
  margin: 0 0 0 3px;
  padding: 3px 5px;
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 1;
  display: inline-block;
  border-radius: 4px;
  background: #db0020;
}

.serviceMessage figure {
  margin-left: 3vw;
}
.serviceMessage .txt {
  flex: 1;
}
.serviceMessage .txt p.red {
  color: #212121;
  font-weight: bold;
  font-size: 1.75rem;
}
.serviceMessage .txt p {
  font-size: 1.25rem;
}
.serviceMessage .txt h2 {
  margin: 40px 0 20px;
  font-size: 2.5rem;
  color: #db0020;
}

@media screen and (max-width: 1024px) {
  .serviceMessage .flex {
    align-items: center;
  }
  .serviceMessage figure {
    width: 50%;
  }
  .serviceMessage .txt p.red {
    font-size: 1.25rem;
  }
  .serviceMessage .txt h2 {
    font-size: 1.75rem;
    margin: 20px 0;
  }
  .serviceMessage .txt p {
    font-size: 1rem;
    max-width: 24rem;
  }
}
@media screen and (max-width: 768px) {
  .serviceMessage .flex {
    display: block;
  }
  .serviceMessage figure {
    width: auto;
    margin: 0 auto 15px;
    max-width: 360px;
  }
  .serviceMessage .txt {
    display: table;
    margin: 0 auto;
  }
}
@media screen and (max-width: 480px) {
  .serviceMessage .txt p.red {
    font-size: 1rem;
  }
  .serviceMessage .txt h2 {
    font-size: 1.5rem;
    margin: 15px 0;
  }
  .serviceMessage .txt h2 br {
    display: none;
  }
  .serviceMessage .txt p {
    font-size: 14px;
  }
}
.serviceLink01 ul {
  flex-wrap: wrap;
  margin-top: -4%;
}
.serviceLink01 li {
  width: 48%;
  margin-top: 4%;
}
.serviceLink01 li:nth-child(2n) {
  margin-left: 4%;
}
.serviceLink01 li h3 {
  font-size: 1.75rem;
  margin: 15px 0 10px;
}
.serviceLink01 li p.btn {
  margin-top: 30px;
  transition: width 0.3s, background-color 0.3s;
}
.serviceLink01 li p.btn:hover {
  background-color: #db0020;
  color: white;
}
.serviceLink01 li p.btn:hover:after {
  border-color: transparent transparent transparent #fff;
}
.serviceLink01 li a * {
  transition: color 0.3s, opacity 0.3s;
}
.serviceLink01 li a:hover {
  color: #db0020;
  text-decoration: none;
}
.serviceLink01 li a:hover p.btn {
  background-color: rgb(168, 0, 24.5479452055);
}

@media screen and (max-width: 768px) {
  .serviceLink01 li h3 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 480px) {
  .serviceLink01.serviceLink01 ul {
    display: block;
    margin-top: -40px;
  }
  .serviceLink01.serviceLink01 li {
    width: auto;
    margin: 40px 0 0;
  }
  .serviceLink01.serviceLink01 li p.btn {
    margin: 15px auto 0;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }
}
.serviceLink02 li {
  width: calc(33.3333333333% - 10px);
}
.serviceLink02 li:not(:last-child) {
  margin-right: 15px;
}
.serviceLink02 li h3 {
  color: #db0020;
  margin: 15px 0;
  font-weight: normal;
  font-size: 1.5rem;
}
.serviceLink02 li a {
  padding: 15px;
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  background-color: #fff;
  box-shadow: 0 0 4px 4px rgba(0, 0, 0, 0.17);
  padding: 20px;
  text-align: center;
  position: relative;
  top: 0;
  transition: top 0.3s, background-color 0.3s;
}
.serviceLink02 li a:hover {
  text-decoration: none;
  background-color: rgb(255, 208.8, 215.5506849315);
  box-shadow: none;
  top: 4px;
}
.serviceLink02 li a:hover img {
  opacity: 1;
}
.serviceLink02 li .btn {
  margin-top: auto;
}

@media screen and (max-width: 1024px) {
  .serviceLink02 li h3 {
    font-size: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .serviceLink02.serviceLink02 ul {
    display: block;
  }
  .serviceLink02.serviceLink02 li {
    width: auto;
    margin: 0 0 10px;
  }
  .serviceLink02.serviceLink02 li a {
    box-shadow: none;
  }
  .serviceLink02.serviceLink02 li a:hover {
    top: 0;
  }
}
.serviceResult h2 {
  font-size: 1.75em;
  color: #db0020;
  margin-bottom: 2vw;
}
.serviceResult .sliderInner {
  margin: 0 10px;
  display: block;
  text-decoration: none;
}
.serviceResult .sliderInner:hover dt {
  color: #db0020;
  text-decoration: underline;
}
.serviceResult dl dd {
  margin-top: 1.25rem;
}
.serviceResult dl dd + dd {
  text-align: center;
}

@media screen and (max-width: 480px) {
  .serviceResult .inner {
    padding: 25px;
  }
  .serviceResult .sliderInner {
    margin: 0;
  }
  .serviceResult h2 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
.lpbox ul li a:hover img {
  opacity: 1;
  transform: translateY(-0.2em);
  transition: 0.3s;
}

@media screen and (max-width: 1024px) {
  .lpbox ul li {
    width: 49%;
  }
}
@media screen and (max-width: 480px) {
  .lpbox ul.flex {
    display: block;
  }
  .lpbox ul li {
    width: 100%;
  }
  .lpbox ul li:first-child {
    margin-bottom: 20px;
  }
}
.ourstrengthsNumber h2 {
  text-align: center;
  margin: 0 0 3.5vw;
  font-size: 2.25rem;
  color: #db0020;
}

.ourstrengthsNumberList {
  margin-bottom: 5vw;
  counter-increment: number;
}
.ourstrengthsNumberList .ttl {
  position: relative;
  padding: 15px 0 15px 6.5rem;
  margin-bottom: 20px;
}
.ourstrengthsNumberList .ttl:before {
  content: "0" counter(number);
  color: #db0020;
  font-family: "Heebo", sans-serif;
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  letter-spacing: -5px;
  line-height: 1;
  font-size: 5rem;
  border-bottom: 5px solid #db0020;
}
.ourstrengthsNumberList .ttl h3 {
  color: #212121;
  font-size: 1.5rem;
  margin-bottom: 5px;
}
.ourstrengthsNumberList .ttl p {
  font-size: 18px;
}
.ourstrengthsNumberList .ttl p span {
  font-size: 15px;
}
.ourstrengthsNumberList figure {
  max-width: 50%;
}
.ourstrengthsNumberList .txt {
  flex: 1;
  margin-left: 30px;
}
.ourstrengthsNumberList .txt p {
  font-size: 18px;
}
.ourstrengthsNumberList .txt p + p {
  margin-top: 1.5rem;
}
.ourstrengthsNumberList .txt .btn {
  margin-top: 5px;
  font-size: 18px;
}
.ourstrengthsNumberList .reverse .txt {
  margin-left: 0;
  margin-right: 30px;
}

@media screen and (max-width: 768px) {
  .ourstrengthsNumber h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList {
    margin-top: 40px;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .btn {
    width: 100%;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .btn.md {
    max-width: 100%;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .ttl {
    position: static;
    padding: 0;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .ttl:before {
    position: static;
    display: table;
    font-size: 4rem;
    margin-bottom: 10px;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .flex {
    display: block;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList figure {
    max-width: inherit;
    margin-bottom: 15px;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .txt {
    margin: 0;
  }
  .ourstrengthsNumberList.ourstrengthsNumberList .txt p {
    font-size: 16px;
  }
}
@media screen and (max-width: 488px) {
  .ourstrengthsNumberList.ourstrengthsNumberList .btn br {
    display: none;
  }
}
.logisticsMessage h2 {
  text-align: center;
  font-size: 2.25rem;
  margin-bottom: 25px;
  color: #db0020;
}
.logisticsMessage h2 + p {
  text-align: center;
}
.logisticsMessage figure {
  margin: 30px 0;
}

.logisticsList {
  margin-top: 8vw;
  display: flex;
}
.logisticsList figure {
  max-width: 55%;
  margin-right: 40px;
}
.logisticsList .txt {
  flex: 1;
}
.logisticsList .txt h3 {
  color: #db0020;
  font-size: 2rem;
}
.logisticsList .txt h4 {
  font-weight: normal;
  margin: 10px 0 20px;
}
.logisticsList .txt p {
  margin-bottom: 30px;
}
.logisticsList .txt .btn {
  font-size: 18px;
}
.logisticsList.reverse {
  flex-direction: row-reverse;
}
.logisticsList.reverse figure {
  margin-right: 0;
  margin-left: 40px;
}

@media screen and (max-width: 768px) {
  .logisticsMessage h2 {
    font-size: 1.5rem;
    margin: 30px 0;
  }
  .logisticsMessage figure {
    margin: 15px 0;
  }
  .logisticsMessage p br {
    display: none;
  }
  .logisticsList.logisticsList {
    display: block;
  }
  .logisticsList.logisticsList figure {
    max-width: inherit;
    margin: 0 0 15px;
  }
  .logisticsList.logisticsList .txt {
    text-align: center;
  }
  .logisticsList.logisticsList .txt h3 {
    text-align: center;
    font-size: 1.75rem;
  }
  .logisticsList.logisticsList .txt h4,
  .logisticsList.logisticsList .txt p {
    text-align: left;
    display: table;
    margin: 0 auto 15px;
  }
}
@media screen and (max-width: 480px) {
  .logisticsList.logisticsList {
    margin-top: 18vw;
  }
}
.flowFirst {
  text-align: center;
}
.flowFirst h2 {
  font-size: 2rem;
  margin: 0 0 30px;
  color: #db0020;
}

.flowDetail {
  margin-top: 6vw;
}
.flowDetail h3 {
  text-align: center;
  font-size: 1.75rem;
  margin-bottom: 30px;
}
.flowDetail > p {
  text-align: center;
  margin-bottom: 30px;
}
.flowDetail figure {
  margin-bottom: 30px;
}
.flowDetail .group {
  position: relative;
}
.flowDetail .group:before {
  content: "";
  display: flex;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 50;
  background-color: #6e6e6e;
  color: white;
  width: 50px;
  height: calc(100% - 28px);
  writing-mode: vertical-rl;
  text-orientation: upright;
  line-height: 1;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
}
.flowDetail .group:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 28px 25px 0 25px;
  border-color: #6e6e6e transparent transparent transparent;
}
.flowDetail.detail01 .group:before {
  content: "1〜3営業日";
}
.flowDetail.detail02 .group:nth-of-type(1):before {
  content: "1営業日";
}
.flowDetail.detail02 .group:nth-of-type(2):before {
  content: "1営業日";
}

.flowDetailList {
  position: relative;
}
.flowDetailList:before {
  content: "";
  width: 2px;
  height: 100%;
  position: absolute;
  background-color: #db0020;
  left: 34px;
  top: 0;
}
.flowDetailList .flowDetailListInner {
  position: relative;
  padding: 20px 120px 60px 120px;
}
.flowDetailList .flowDetailListInner i {
  position: absolute;
  left: 0;
  top: 0;
  font-family: "Heebo", sans-serif;
  display: flex;
  padding-top: 3px;
  line-height: 1;
  align-items: center;
  justify-content: center;
  width: 70px;
  height: 70px;
  font-size: 1.75rem;
  border: 2px solid #db0020;
  color: #db0020;
  background-color: #fff;
  border-radius: 50%;
}
.flowDetailList .flowDetailListInner h4 {
  font-size: 1.5rem;
  color: #db0020;
}
.flowDetailList .flowDetailListInner p {
  margin-top: 15px;
}
.flowDetailList .flowDetailListInner p a {
  margin-right: 15px;
  margin: 5px;
}
.flowDetailList .flowDetailListInner .borderBox {
  border: 2px solid #6e6e6e;
  padding: 1.25rem 1.5rem;
  margin-top: 20px;
}
.flowDetailList .flowDetailListInner .borderBox ul {
  display: flex;
  flex-wrap: wrap;
  margin: 15px -10px 0;
}
.flowDetailList .flowDetailListInner .borderBox ul li {
  width: 50%;
  padding: 0 10px;
  padding-left: calc(1.25rem + 10px);
  position: relative;
}
.flowDetailList .flowDetailListInner .borderBox ul li:before {
  content: "";
  width: 12px;
  height: 12px;
  background-color: #212121;
  border-radius: 50%;
  position: absolute;
  top: 8px;
  left: 10px;
}
.flowDetailList .flowDetailListInner figure {
  margin: 15px 0 0;
  padding: 0;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .flowFirst h2 {
    margin: 30px 0;
  }
  .flowFirst p {
    display: table;
    text-align: left;
  }
  .flowFirst p br {
    display: none;
  }
  .flowDetail {
    margin-top: 60px;
  }
  .flowDetail .group {
    position: relative;
  }
  .flowDetail .group:before {
    width: 28px;
    height: calc(100% - 21px);
    writing-mode: vertical-rl;
    text-orientation: upright;
    line-height: 1;
    align-items: center;
    justify-content: center;
    font-size: 1rem;
  }
  .flowDetail .group:after {
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 21px 14px 0 14px;
    border-color: #6e6e6e transparent transparent transparent;
  }
  .flowDetailList:before {
    display: none;
  }
  .flowDetailList .flowDetailListInner {
    padding: 20px 40px 20px 0;
    border-bottom: 1px solid #6e6e6e;
  }
  .flowDetailList .flowDetailListInner i {
    position: static;
    width: 30px;
    display: inline-flex;
    border-width: 1px;
    height: 30px;
    font-size: 16px;
    margin-right: 5px;
  }
  .flowDetailList .flowDetailListInner .borderBox {
    padding: 15px 10px;
  }
  .flowDetailList .flowDetailListInner .borderBox ul {
    display: block;
    margin: 5px 0 0;
  }
  .flowDetailList .flowDetailListInner .borderBox ul li {
    width: auto;
    padding-left: 17px;
  }
  .flowDetailList .flowDetailListInner .borderBox ul li:before {
    left: 0;
    top: 5px;
  }
}
.thirdpartylogisticsMessage {
  text-align: center;
}
.thirdpartylogisticsMessage h2 {
  margin: 0 auto 30px;
  font-size: 2rem;
  color: #db0020;
}

.thirdpartylogisticsTrouble {
  margin: 3.5vw 0;
}
.thirdpartylogisticsTrouble > h3,
.thirdpartylogisticsTrouble > p {
  text-align: center;
}
.thirdpartylogisticsTrouble > h3 {
  font-size: 1.5rem;
}
.thirdpartylogisticsTrouble > p,
.thirdpartylogisticsTrouble > figure {
  margin: 20px 0;
}
.thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList {
  text-align: center;
  width: 33.3333333333%;
}
.thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList:not(:last-child) {
  margin-right: 30px;
}
.thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList h4 {
  font-size: 1.5rem;
  margin: 5px auto 20px;
  color: #db0020;
}
.thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList ul li {
  text-align: left;
  padding: 10px 0;
  padding-left: 2.5rem;
  background: url(../images/check-icon.png) no-repeat left top 11px;
}
.thirdpartylogisticsTrouble .flex figure {
  max-width: 54%;
}
.thirdpartylogisticsTrouble .flex .txt {
  margin-right: 30px;
  flex: 1;
}
.thirdpartylogisticsTrouble .flex .txt p {
  margin-bottom: 1rem;
}

.thirdpartylogisticsFaq {
  margin: 3.5vw 0;
}
.thirdpartylogisticsFaq h3 {
  text-align: center;
  color: #db0020;
  font-size: 1.5rem;
}
.thirdpartylogisticsFaq p {
  text-align: center;
  margin: 30px 0;
}
.thirdpartylogisticsFaq dl {
  border-top: 1px solid #6e6e6e;
}
.thirdpartylogisticsFaq dl dt,
.thirdpartylogisticsFaq dl dd {
  position: relative;
  padding-left: 2em;
}
.thirdpartylogisticsFaq dl dt:before,
.thirdpartylogisticsFaq dl dd:before {
  font-family: "Arial", "メイリオ";
  font-size: 1.75rem;
  line-height: 1;
  width: 25px;
  text-align: center;
  display: inline-block;
  position: absolute;
  font-weight: 700;
  left: 25px;
  top: 25px;
}
.thirdpartylogisticsFaq dl dt {
  padding: 25px;
  padding-left: 60px;
  padding-right: 60px;
  font-weight: normal;
}
.thirdpartylogisticsFaq dl dt:before {
  content: "Q";
  color: #db0020;
}
.thirdpartylogisticsFaq dl dt:after {
  right: 25px;
  top: 25px;
}
.thirdpartylogisticsFaq dl dd {
  padding: 25px;
  padding-left: 60px;
  background-color: #efefef;
}
.thirdpartylogisticsFaq dl dd:before {
  content: "A";
  color: #666666;
}
.thirdpartylogisticsFaq dl dd a {
  margin-top: 15px;
}

.thirdpartylogisticsTransport {
  margin: 3.5vw 0;
}
.thirdpartylogisticsTransport > h3 {
  text-align: center;
  color: #db0020;
  font-size: 1.5rem;
}
.thirdpartylogisticsTransport > p {
  text-align: center;
  margin: 30px 0;
}
.thirdpartylogisticsTransport .flex figure {
  max-width: 44.35%;
}
.thirdpartylogisticsTransport .flex figure img {
  margin-bottom: 15px;
}
.thirdpartylogisticsTransport .flex .txt {
  margin-left: 30px;
  flex: 1;
}
.thirdpartylogisticsTransport .flex .txt p {
  margin-bottom: 1rem;
}
.thirdpartylogisticsTransport .flex .txt p a {
  margin-top: 15px;
}
.thirdpartylogisticsTransport .flex .txt p a.btn {
  font-size: 18px;
}
.thirdpartylogisticsTransport .flex.reverse .txt {
  margin: 0 30px 0 0;
}

@media screen and (max-width: 768px) {
  .thirdpartylogisticsMessage h2 {
    margin: 30px 0;
  }
  .thirdpartylogisticsMessage p {
    display: table;
    text-align: left;
  }
  .thirdpartylogisticsMessage p br {
    display: none;
  }
  .thirdpartylogisticsTrouble {
    margin: 50px 0;
  }
  .thirdpartylogisticsTrouble .flex {
    display: block;
  }
  .thirdpartylogisticsTrouble .flex figure {
    max-width: none;
  }
  .thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList {
    padding: 10px;
    margin: 10px 0;
    border: 3px solid #fff;
    width: 100%;
  }
  .thirdpartylogisticsTrouble .thirdpartylogisticsTroubleList ul li {
    background-size: auto 20px;
    background-position: 0 8px;
    padding: 5px 0;
    padding-left: 30px;
  }
  .thirdpartylogisticsFaq {
    margin: 50px 0;
  }
  .thirdpartylogisticsFaq h3 {
    margin: 30px 0;
  }
  .thirdpartylogisticsFaq p {
    display: table;
    text-align: left;
  }
  .thirdpartylogisticsFaq p br {
    display: none;
  }
  .thirdpartylogisticsFaq dl dt:before,
  .thirdpartylogisticsFaq dl dd:before {
    top: 15px;
    left: 10px;
  }
  .thirdpartylogisticsFaq dl dt {
    padding: 15px;
    padding-left: 40px;
    padding-right: 35px;
  }
  .thirdpartylogisticsFaq dl dt:after {
    top: 15px;
    right: 10px;
    font-size: 24px;
  }
  .thirdpartylogisticsFaq dl dd {
    padding: 15px;
    padding-left: 40px;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport {
    margin: 50px 0;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport h3 {
    margin: 30px 0;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport p {
    display: table;
    text-align: left;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport p br {
    display: none;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport .flex {
    display: block;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport .flex figure {
    text-align: center;
    max-width: 100%;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport .flex figure img {
    width: 49%;
    margin-bottom: 0;
  }
  .thirdpartylogisticsTransport.thirdpartylogisticsTransport .flex .txt {
    margin: 10px 0 0;
  }
}
.companyTitle {
  font-size: 1.75rem;
  text-align: center;
  color: #db0020;
  margin-bottom: 30px;
}

.companyLink ul {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}
.companyLink li {
  width: 50%;
  padding: 10px;
}
.companyLink li a {
  display: flex;
  height: 100%;
  align-items: center;
  padding: 15px;
  padding-right: 40px;
  background-color: #fff;
  font-size: 1.25rem;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  position: relative;
  text-decoration: none;
}
.companyLink li a:after {
  content: "\f105";
  font-family: FontAwesome;
  color: #db0020;
  font-size: 32px;
  line-height: 1;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  font-weight: normal;
}
.companyLink li a:hover {
  top: 2px;
  color: white;
  background-color: #db0020;
  box-shadow: none;
}
.companyLink li a:hover:after {
  color: white;
}

@media screen and (max-width: 768px) {
  .companyLink li a {
    font-size: 18px;
  }
}
@media screen and (max-width: 480px) {
  .companyTitle {
    font-size: 1.25rem;
  }
  .companyLink ul {
    display: block;
    margin: 0 -5px;
  }
  .companyLink li {
    width: 100%;
    padding: 5px;
  }
  .companyLink li a {
    font-size: 14px;
  }
}
.companyNav ul {
  margin-top: -30px;
}
.companyNav li {
  margin-top: 30px;
  width: calc(33.3333333333% - 20px);
  text-align: center;
}
.companyNav li:not(:nth-child(3n)) {
  margin-right: 30px;
}
.companyNav li img {
  width: 100%;
}
.companyNav li a {
  display: block;
  position: relative;
  transition: top 0.6s, left 0.6s;
}
.companyNav li a:before {
  content: "";
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: 3px solid #db0020;
  opacity: 0;
  box-sizing: border-box;
  transition: opacity 0.3s;
}
.companyNav li a:hover:before {
  opacity: 1;
}
.companyNav li a:hover img {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .companyNav ul {
    margin-top: -12px;
  }
  .companyNav li {
    width: calc(50% - 6px);
    text-align: center;
    margin-top: 12px;
  }
  .companyNav li:not(:nth-child(3n)) {
    margin-right: 0;
  }
  .companyNav li:not(:nth-child(2n)) {
    margin-right: 12px;
  }
}
.messageCommon h2 {
  font-size: 2rem;
  margin: 0 0 3vw;
  color: #db0020;
}

.messageBox {
  word-break: break-all;
}
.messageBox figure {
  max-width: 45%;
  margin-right: 30px;
}
.messageBox .txt {
  flex: 1;
}
.messageBox .txt h3 {
  font-size: 1.75rem;
  color: #db0020;
  margin-bottom: 30px;
}
.messageBox .txt h3.messageTitleRight {
  text-align: right;
}
.messageBox .txt h3.messageTitleLeft {
  text-align: left;
}
.messageBox .txt p {
  margin-bottom: 1rem;
}
.messageBox .txt p.bold {
  font-weight: bold;
}
.messageBox .reverse figure {
  margin-right: 0;
  margin-left: 30px;
}

.presidentName {
  max-width: 80%;
  text-align: center;
  margin: 4vw auto 0;
}

@media screen and (max-width: 768px) {
  .messageCommon h2 {
    margin: 30px 0;
  }
  .messageBox.messageBox .flex {
    display: block;
  }
  .messageBox.messageBox .flex h3.messageTitleRight {
    text-align: left;
  }
  .messageBox.messageBox figure {
    text-align: center;
    margin: 0 0 15px;
    max-width: 100%;
  }
}
.overviewCommon h2,
.networkCommon h2 {
  font-size: 2rem;
  margin: 3.5vw 0 20px;
  text-align: center;
}

.overviewCommon h2 {
  margin: 0 0 3.5vw;
  color: #db0020;
}
.overviewCommon h3 {
  margin-top: 100px;
}
.overviewCommon table {
  background: transparent;
  margin-bottom: 30px;
}
.overviewCommon table thead th {
  background-color: #f1f1f1;
}
.overviewCommon table th,
.overviewCommon table td {
  border: none;
  background: transparent;
  padding: 8px;
}
.overviewCommon table th {
  width: 13rem;
}
.overviewCommon table .siteInfo th {
  vertical-align: top;
}
.overviewCommon table .siteInfo td {
  display: block;
}
.overviewCommon .noDrop th, .overviewCommon .noDrop td {
  border: 1px solid #ccc;
  background: #fff;
}
.overviewCommon .noDrop th {
  background: #e8e6e6;
}
.overviewCommon .noDrop td img {
  margin: 10px 0;
}
.overviewCommon .overviewContents {
  padding: 0 120px;
}
.overviewCommon .overviewContents table {
  margin-top: 40px;
}
.overviewCommon .staffBox {
  width: 23%;
  margin: 1%;
}
.overviewCommon .staffBox figure img {
  width: 100%;
}
.overviewCommon .staffBox p {
  font-size: 0.8em;
}
.overviewCommon .lineupBox {
  width: 23%;
  margin: 1%;
}
.overviewCommon .lineupBox ul {
  padding-left: 1.5em;
  margin-top: 10px;
}
.overviewCommon .lineupBox ul li {
  list-style: disc;
  font-size: 0.9em;
}
.overviewCommon .lineupBox .lineupTtl {
  border: 1px solid #a2a2a2;
  background: #eeeeee;
  padding: 5px 5px 5px 10px;
  font-weight: bold;
}
.overviewCommon .galleryBox {
  width: 31%;
  margin: 1%;
}
.overviewCommon .galleryBox figure img {
  width: 95%;
}
.overviewCommon .galleryMovie {
  width: 60%;
  margin: 30px auto 0;
  text-align: center;
  padding: 0;
  box-sizing: border-box;
}
.overviewCommon .galleryMovie .inner {
  padding-top: 56.25%;
  position: relative;
  height: 0;
  overflow: hidden;
}
.overviewCommon .galleryMovie .inner iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.networkCommon .networkMap {
  margin: 50px auto 0;
  width: 70%;
}

@media screen and (max-width: 768px) {
  .overviewCommon h2,
  .networkCommon h2 {
    margin: 30px 0;
  }
  .overviewCommon table th {
    padding-bottom: 0;
  }
  .overviewCommon table td {
    padding-top: 0;
  }
  .overviewCommon table.noDrop {
    table-layout: fixed;
  }
  .overviewCommon table.noDrop th,
  .overviewCommon table.noDrop td {
    line-height: 1.25;
  }
  .overviewCommon table.noDrop th {
    padding: 5px 10px;
  }
  .overviewCommon table.noDrop th:nth-child(1) {
    width: 45%;
  }
  .overviewCommon table.noDrop th:nth-child(2) {
    width: 25%;
  }
  .overviewCommon table.noDrop th:nth-child(3) {
    width: 30%;
  }
  .overviewCommon table.noDrop td {
    padding: 10px;
  }
  .overviewCommon .galleryMovie {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .overviewCommon h3 {
    margin-top: 0;
  }
  .overviewCommon .flex {
    display: block;
  }
  .overviewCommon .overviewContents {
    padding: 0;
  }
  .overviewCommon .overviewContents .buttonArea .btn00 {
    margin: 0 0 10px 0;
    width: 100%;
  }
  .overviewCommon .staffBox {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .overviewCommon .lineupBox {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .overviewCommon .lineupBox ul li {
    font-size: 1em;
  }
  .overviewCommon .galleryBox {
    width: 100%;
    margin: 0 0 10px 0;
  }
  .networkCommon .networkMap {
    width: 100%;
  }
}
#network_list_tab {
  margin: 0;
}

/* clearfix --------------------*/
* html #network_list_tab,
* + html #network_list_tab {
  zoom: 1;
}

#network_list_tab:after {
  content: "";
  display: block;
  clear: both;
}

/* -------------------- clearfix */
#network_list {
  margin: 6rem 0;
}

#network_list_tab li {
  width: 25%;
}
#network_list_tab li span {
  display: block;
  position: relative;
  padding: 20px 10px;
  border-right: 1px solid #fff;
  border-bottom: none;
  background-color: #ccc;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}
#network_list_tab li span:hover {
  background-color: #a9a9a9;
  color: #fff;
}
#network_list_tab li span.select {
  background: #d60000;
  color: #fff;
}
#network_list_tab li span.select:after {
  content: "";
  position: absolute;
  top: 85%;
  left: 50%;
  margin-left: -15px;
  border: 8px solid transparent;
  border-top: 8px solid #fff;
}
#network_list_tab {
  display: flex;
  border-bottom: 5px solid #d60000;
}

.content_wrap {
  background: #FFF;
}

.disnon {
  display: none;
}

#network_list table {
  width: 100%;
}

#network_list th,
#network_list td {
  padding: 10px;
  line-height: 1.5;
  font-size: 16px;
  border-bottom: 1px solid #ccc;
  border-top: none;
  border-left: none;
  border-right: none;
}

#network_list th {
  background: #eee;
  font-weight: bold;
}

#network_list td img {
  width: 48%;
}

/*
#network_list td a {
    display: inline-block;
}
*/
#network_list td a:hover {
  text-decoration: none;
}

#network_list td:nth-child(2),
#network_list td:nth-child(3) {
  font-size: 16px;
}

#network_list td:nth-child(4) {
  text-align: center;
}

#network_list thead th {
  background: #959393;
}

#network_list th.network_list_name {
  width: 170px;
  text-align: center;
}

#network_list th.network_list_address {
  width: 325px;
  text-align: center;
}

#network_list th.network_list_number {
  width: 240px;
  text-align: center;
}

#network_list th.network_list_detail {
  width: 185px;
  text-align: center;
}

#network_list td {
  background: #fff;
}

@media screen and (max-width: 1024px) {
  #network_list_tab li span {
    font-size: 16px;
  }
  #network_list_tab li span:after {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  #network_list_tab {
    display: block;
  }
  #network_list_tab li {
    width: 50%;
    float: left;
  }
  #network_list_tab li span {
    font-size: 16px;
    padding: 15px 0;
    border-bottom: 2px solid #fff;
    border-right: 2px solid #fff;
  }
  #network_list table {
    border-bottom: 1px solid #ccc;
  }
  #network_list thead {
    display: none;
  }
  #network_list th, #network_list td {
    display: block;
  }
  #network_list th br {
    display: none;
  }
  #network_list tbody td {
    padding: 0 10px;
    border-top: none;
    border-bottom: none;
  }
  #network_list tbody td:nth-child(2) {
    padding-top: 10px;
  }
  #network_list tbody td:nth-child(4) {
    padding-top: 10px;
    padding-bottom: 20px;
  }
  #network_list td img {
    width: 20%;
  }
}
@media screen and (max-width: 480px) {
  #network_list td img {
    width: 30%;
  }
}
.networkDetail h2 {
  font-size: 2rem;
  margin: 0 0 3.5vw;
  text-align: center;
  color: #db0020;
}
.networkDetail figure {
  margin-bottom: 30px;
}
.networkDetail table {
  width: auto;
  margin: 0 auto;
  background: transparent;
  margin-bottom: 30px;
}
.networkDetail table th,
.networkDetail table td {
  border: none;
  background: transparent;
  padding: 8px;
  vertical-align: top;
}
.networkDetail table th {
  width: 10rem;
}
.networkDetail .greeting {
  display: flex;
  background-color: #efefef;
  padding: 30px;
  align-items: center;
}
.networkDetail .greeting h3 {
  background-color: #d2d2d2;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  min-width: 100px;
  height: 100px;
  margin-right: 50px;
  font-size: 1.5rem;
  font-weight: normal;
}
.networkDetail .greeting h3:after {
  content: "";
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 16px 0 16px 22px;
  border-color: transparent transparent transparent #d2d2d2;
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
}
.networkDetail .gallery h3,
.networkDetail .access h3 {
  font-size: 1.5rem;
  margin-bottom: 20px;
}
.networkDetail .gallery ul {
  display: flex;
  flex-wrap: wrap;
  margin: -15px;
}
.networkDetail .gallery li {
  width: 33.3333333333%;
  padding: 15px;
}

@media screen and (max-width: 768px) {
  .networkDetail h2 {
    margin: 30px 0;
  }
  .networkDetail table th {
    width: auto;
    padding-bottom: 0;
  }
  .networkDetail table td {
    padding-top: 0;
  }
  .networkDetail .greeting {
    padding: 15px;
    display: block;
  }
  .networkDetail .greeting h3 {
    background-color: #d2d2d2;
    position: relative;
    width: auto;
    min-width: 0;
    height: 45px;
    font-size: 1.25rem;
    margin-right: 0;
    margin-bottom: 30px;
  }
  .networkDetail .greeting h3:after {
    border-width: 16px 16px 0 16px;
    border-color: #d2d2d2 transparent transparent transparent;
    left: 50%;
    top: 100%;
    transform: translateX(-50%);
  }
  .networkDetail .gallery ul {
    margin: -3px;
  }
  .networkDetail .gallery li {
    width: 50%;
    padding: 3px;
  }
}
.historyBox01 {
  background: url(../images/history-bg01.gif) repeat center center;
  padding: 60px 0;
}
.historyBox01 h2 {
  text-align: center;
  margin: 6vh 0;
}

@media screen and (max-width: 1024px) {
  .pBox01.outer {
    padding: 1vh 15px;
  }
  .historyBox01 h2 {
    padding: 10px;
  }
  .historyTree {
    display: none;
  }
  .historyTreeSp {
    background: url(../images/history-line-bgSp.png) no-repeat 4em 0;
    height: 16980px;
    position: relative;
    overflow: hidden;
  }
  .historyTreeSp .action {
    position: absolute;
    width: auto;
    width: 90%;
    left: 0;
    right: 0;
    transition: 0.6s;
    margin: auto;
  }
  .historyTreeSp .action span {
    display: block;
    opacity: 0;
    width: 1px;
    height: 1px;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .historyTreeSp .action:before {
    content: "";
    position: absolute;
    transition: 1.5s;
    background: url(../images/history-bg01.gif) repeat center center;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
  }
  .historyTreeSp .action.animation.right:before {
    left: 150%;
    right: auto;
    transform: skew(-30deg);
  }
  .historyTreeSp .ht01 {
    top: 0px;
  }
  .historyTreeSp .ht02 {
    top: 460px;
  }
  .historyTreeSp .ht03 {
    top: 830px;
  }
  .historyTreeSp .ht04 {
    top: 1290px;
  }
  .historyTreeSp .ht05 {
    top: 2000px;
  }
  .historyTreeSp .ht06 {
    top: 2400px;
  }
  .historyTreeSp .ht07 {
    top: 2850px;
  }
  .historyTreeSp .ht08 {
    top: 3450px;
  }
  .historyTreeSp .ht09 {
    top: 3850px;
  }
  .historyTreeSp .ht10 {
    top: 4390px;
  }
  .historyTreeSp .ht11 {
    top: 4710px;
  }
  .historyTreeSp .ht12 {
    top: 5150px;
  }
  .historyTreeSp .ht13 {
    top: 5550px;
  }
  .historyTreeSp .ht14 {
    top: 5970px;
  }
  .historyTreeSp .ht15 {
    top: 6400px;
  }
  .historyTreeSp .ht16 {
    top: 6700px;
  }
  .historyTreeSp .ht17 {
    top: 7290px;
  }
  .historyTreeSp .ht18 {
    top: 7490px;
  }
  .historyTreeSp .ht19 {
    top: 8090px;
  }
  .historyTreeSp .ht20 {
    top: 8620px;
  }
  .historyTreeSp .ht21 {
    top: 8960px;
  }
  .historyTreeSp .ht22 {
    top: 9470px;
  }
  .historyTreeSp .ht23 {
    top: 9910px;
  }
  .historyTreeSp .ht24 {
    top: 10200px;
  }
  .historyTreeSp .ht25 {
    top: 10550px;
  }
  .historyTreeSp .ht26 {
    top: 10750px;
  }
  .historyTreeSp .ht27 {
    top: 11120px;
  }
  .historyTreeSp .ht28 {
    top: 11640px;
  }
  .historyTreeSp .ht29 {
    top: 11840px;
  }
  .historyTreeSp .ht30 {
    top: 12800px;
  }
  .historyTreeSp .ht31 {
    top: 13300px;
  }
  .historyTreeSp .ht32 {
    top: 13470px;
  }
  .historyTreeSp .ht33 {
    top: 13960px;
  }
  .historyTreeSp .ht34 {
    top: 14560px;
  }
  .historyTreeSp .ht35 {
    top: 15060px;
  }
  .historyTreeSp .ht36 {
    top: 15390px;
  }
  .historyTreeSp .ht37 {
    top: 16330px;
  }
  .historyTreeSp .ht38 {
    top: 16680px;
  }
  .historyBox01 h3 {
    text-align: center;
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  .pBox01.outer {
    padding: 6vh 15px;
  }
  .historyTreeSp {
    background: url(../images/history-line-bgSps.png) no-repeat 2.1em 0.5em;
    height: 9880px;
    position: relative;
    overflow: hidden;
  }
  .historyBox01 h2 {
    margin-top: 0;
  }
  .historyBox01 h2 img {
    height: 48px;
  }
  .historyTree {
    background-size: 100% auto;
    padding-bottom: 2584%;
  }
  .historyTreeSp .ht01 {
    top: 0px;
  }
  .historyTreeSp .ht02 {
    top: 280px;
  }
  .historyTreeSp .ht03 {
    top: 490px;
  }
  .historyTreeSp .ht04 {
    top: 740px;
  }
  .historyTreeSp .ht05 {
    top: 1160px;
  }
  .historyTreeSp .ht06 {
    top: 1400px;
  }
  .historyTreeSp .ht07 {
    top: 1660px;
  }
  .historyTreeSp .ht08 {
    top: 2000px;
  }
  .historyTreeSp .ht09 {
    top: 2230px;
  }
  .historyTreeSp .ht10 {
    top: 2550px;
  }
  .historyTreeSp .ht11 {
    top: 2730px;
  }
  .historyTreeSp .ht12 {
    top: 2990px;
  }
  .historyTreeSp .ht13 {
    top: 3220px;
  }
  .historyTreeSp .ht14 {
    top: 3460px;
  }
  .historyTreeSp .ht15 {
    top: 3710px;
  }
  .historyTreeSp .ht16 {
    top: 3890px;
  }
  .historyTreeSp .ht17 {
    top: 4230px;
  }
  .historyTreeSp .ht18 {
    top: 4350px;
  }
  .historyTreeSp .ht19 {
    top: 4680px;
  }
  .historyTreeSp .ht20 {
    top: 4990px;
  }
  .historyTreeSp .ht21 {
    top: 5180px;
  }
  .historyTreeSp .ht22 {
    top: 5460px;
  }
  .historyTreeSp .ht23 {
    top: 5720px;
  }
  .historyTreeSp .ht24 {
    top: 5880px;
  }
  .historyTreeSp .ht25 {
    top: 6080px;
  }
  .historyTreeSp .ht26 {
    top: 6200px;
  }
  .historyTreeSp .ht27 {
    top: 6410px;
  }
  .historyTreeSp .ht28 {
    top: 6700px;
  }
  .historyTreeSp .ht29 {
    top: 6820px;
  }
  .historyTreeSp .ht30 {
    top: 7340px;
  }
  .historyTreeSp .ht31 {
    top: 7640px;
  }
  .historyTreeSp .ht32 {
    top: 7740px;
  }
  .historyTreeSp .ht33 {
    top: 8030px;
  }
  .historyTreeSp .ht34 {
    top: 8386px;
  }
  .historyTreeSp .ht35 {
    top: 8716px;
  }
  .historyTreeSp .ht36 {
    top: 8916px;
  }
  .historyTreeSp .ht37 {
    top: 9492px;
  }
  .historyTreeSp .ht38 {
    top: 9712px;
  }
}
@media screen and (min-width: 1025px) {
  .historyTreeSp {
    display: none;
  }
  .historyTree {
    background: url(../images/history-line-bg.png) no-repeat center 0;
    height: 5540px;
    position: relative;
    overflow: hidden;
  }
  .historyTree .action {
    position: absolute;
    width: auto;
    max-width: 50%;
    left: 0;
    right: 0;
    transition: 0.6s;
    margin: auto;
  }
  .historyTree .action span {
    display: block;
    opacity: 0;
    width: 1px;
    height: 1px;
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  .historyTree .action:before {
    content: "";
    position: absolute;
    transition: 1.5s;
    background: url(../images/history-bg01.gif) repeat center center;
    width: 100%;
    height: 100%;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 50;
  }
  .historyTree .action.animation.left:before {
    right: 130%;
    left: auto;
    transform: skew(30deg);
  }
  .historyTree .action.animation.right:before {
    left: 130%;
    right: auto;
    transform: skew(-30deg);
  }
  .historyTree .left {
    text-align: right;
  }
  .historyBox01 .action.center {
    position: relative;
    top: -80px;
    transition: 1.5s;
    opacity: 0;
    transform: scale(0.8);
  }
  .historyBox01 .action.animation.center {
    top: 0;
    opacity: 1;
    transform: scale(1);
  }
  .historyTree .ht01 {
    top: 5px;
    left: -643px;
  }
  .historyTree .ht02 {
    top: 42px;
    right: -636px;
  }
  .historyTree .ht03 {
    top: 215px;
    right: -660px;
  }
  .historyTree .ht04 {
    top: 237px;
    left: -643px;
  }
  .historyTree .ht05 {
    top: 555px;
    right: -650px;
  }
  .historyTree .ht06 {
    top: 700px;
    left: -636px;
  }
  .historyTree .ht07 {
    top: 854px;
    right: -660px;
  }
  .historyTree .ht08 {
    top: 974px;
    left: -640px;
  }
  .historyTree .ht09 {
    top: 1320px;
    left: -640px;
  }
  .historyTree .ht10 {
    top: 1308px;
    right: -638px;
  }
  .historyTree .ht11 {
    top: 1660px;
    right: -650px;
  }
  .historyTree .ht12 {
    top: 1765px;
    left: -640px;
  }
  .historyTree .ht13 {
    top: 1996px;
    right: -634px;
  }
  .historyTree .ht14 {
    top: 2159px;
    left: -640px;
  }
  .historyTree .ht15 {
    top: 2272px;
    right: -636px;
  }
  .historyTree .ht16 {
    top: 2576px;
    left: -642px;
  }
  .historyTree .ht17 {
    top: 2782px;
    right: -636px;
  }
  .historyTree .ht18 {
    top: 3040px;
    left: -642px;
  }
  .historyTree .ht19 {
    top: 3150px;
    right: -636px;
  }
  .historyTree .ht20 {
    top: 3538px;
    left: -642px;
  }
  .historyTree .ht21 {
    top: 3606px;
    right: -636px;
  }
  .historyTree .ht22 {
    top: 3878px;
    left: -636px;
  }
  .historyTree .ht23 {
    top: 4018px;
    right: -642px;
  }
  .historyTree .ht24 {
    top: 4374px;
    left: -636px;
  }
  .historyTree .ht25 {
    top: 4498px;
    left: -642px;
  }
  .historyTree .ht26 {
    top: 4612px;
    right: -700px;
  }
  .historyTree .ht27 {
    top: 4838px;
    left: -642px;
  }
  .historyTree .ht28 {
    top: 4952px;
    right: -636px;
  }
  .historyTree .ht29 {
    top: 5106px;
    left: -642px;
  }
  .historyTree .ht30 {
    top: 5200px;
    right: -636px;
  }
  .historyBox01 h3 {
    text-align: center;
    padding: 40px 0;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1199px) {
  .historyTreeSp {
    display: none;
  }
  .historyTree {
    background-size: auto 100%;
    height: 4563px;
  }
  .historyTree .action {
    max-width: none;
  }
  .historyTree .ht01 {
    width: 375px;
    top: 5px;
    left: -410px;
  }
  .historyTree .ht02 {
    width: 488px;
    top: 38px;
    right: -522px;
  }
  .historyTree .ht03 {
    width: 303px;
    top: 200px;
    right: -360px;
  }
  .historyTree .ht04 {
    width: 505px;
    top: 209px;
    left: -540px;
  }
  .historyTree .ht05 {
    width: 343px;
    top: 500px;
    right: -382px;
  }
  .historyTree .ht06 {
    width: 250px;
    top: 630px;
    left: -290px;
  }
  .historyTree .ht07 {
    width: 321px;
    top: 770px;
    right: -380px;
  }
  .historyTree .ht08 {
    width: 500px;
    top: 878px;
    left: -536px;
  }
  .historyTree .ht09 {
    width: 311px;
    top: 1189px;
    left: -326px;
  }
  .historyTree .ht10 {
    width: 433px;
    top: 1174px;
    right: -467px;
  }
  .historyTree .ht11 {
    width: 374px;
    top: 1498px;
    right: -430px;
  }
  .historyTree .ht12 {
    width: 450px;
    top: 1590px;
    left: -484px;
  }
  .historyTree .ht13 {
    width: 472px;
    top: 1800px;
    right: -504px;
  }
  .historyTree .ht14 {
    width: 398px;
    top: 1948px;
    left: -444px;
  }
  .historyTree .ht15 {
    width: 482px;
    top: 2048px;
    right: -514px;
  }
  .historyTree .ht16 {
    width: 495px;
    top: 2323px;
    left: -530px;
  }
  .historyTree .ht17 {
    width: 442px;
    top: 2508px;
    right: -474px;
  }
  .historyTree .ht18 {
    width: 354px;
    top: 2740px;
    left: -392px;
  }
  .historyTree .ht19 {
    width: 456px;
    top: 2840px;
    right: -488px;
  }
  .historyTree .ht20 {
    width: 444px;
    top: 3190px;
    left: -482px;
  }
  .historyTree .ht21 {
    width: 450px;
    top: 3250px;
    right: -482px;
  }
  .historyTree .ht22 {
    width: 493px;
    top: 3496px;
    left: -525px;
  }
  .historyTree .ht23 {
    width: 484px;
    top: 3622px;
    right: -522px;
  }
  .historyTree .ht24 {
    width: 425px;
    top: 3944px;
    left: -475px;
  }
  .historyTree .ht25 {
    width: 486px;
    top: 4054px;
    left: -524px;
  }
  .historyTree .ht26 {
    width: 423px;
    top: 4222px;
    right: -522px;
  }
  .historyTree .ht27 {
    width: 486px;
    top: 4358px;
    left: -524px;
  }
  .historyTree .ht28 {
    width: 265px;
    top: 4462px;
    right: -296px;
  }
}
.historyVideo h3,
.historyVideo p {
  text-align: center;
}
.historyVideo h3 {
  font-size: 1.75rem;
}
.historyVideo p {
  margin: 30px 0;
}
.historyVideo .video {
  max-width: 720px;
  margin: 0 auto;
  padding-bottom: 405px;
}

@media screen and (max-width: 768px) {
  .historyVideo {
    margin-top: 30px;
  }
  .historyVideo p {
    margin: 15px 0;
  }
  .historyVideo p br {
    display: none;
  }
  .historyVideo .video {
    padding-bottom: 56%;
  }
}
.recruitPageNav ul {
  display: flex;
  justify-content: center;
}
.recruitPageNav ul li {
  width: 25%;
}
.recruitPageNav ul li:not(:last-child) {
  border-right: 1px solid #db0020;
}
.recruitPageNav ul li a {
  display: block;
  padding: 10px;
  text-align: center;
  color: #db0020;
  text-decoration: none;
  position: relative;
  font-size: 1.25rem;
  line-height: 1.35;
}
.recruitPageNav ul li a:after {
  content: "";
  display: block;
  width: 0;
  height: 0;
  margin: 8px auto 0;
  border-style: solid;
  border-width: 19px 7px 0 7px;
  border-color: #db0020 transparent transparent transparent;
}
.recruitPageNav ul li a:hover {
  background-color: #db0020;
  color: white;
}
.recruitPageNav ul li a:hover:after {
  border-color: white transparent transparent transparent;
}

@media screen and (max-width: 768px) {
  .recruitPageNav.recruitPageNav ul {
    flex-wrap: wrap;
  }
  .recruitPageNav.recruitPageNav ul li {
    width: 50%;
    border-right: 1px solid #db0020;
    border-bottom: 1px solid #db0020;
  }
  .recruitPageNav.recruitPageNav ul li:nth-child(-n+2) {
    border-top: 1px solid #db0020;
  }
  .recruitPageNav.recruitPageNav ul li:nth-child(2n+1) {
    border-left: 1px solid #db0020;
  }
  .recruitPageNav.recruitPageNav ul li a {
    padding: 7px;
    font-size: 1rem;
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
  }
  .recruitPageNav.recruitPageNav ul li a:after {
    margin: 5px auto 0;
    border-width: 12px 5px 0 5px;
  }
}
.recruitBox01 figure {
  width: 450px;
  max-width: 45%;
  margin-left: 30px;
}
.recruitBox01 .txt {
  flex: 1;
}
.recruitBox01 h2 {
  line-height: 1.28;
  font-size: 3rem;
  margin-bottom: 15px;
}
.recruitBox01 h2 span {
  margin-bottom: 10px;
  display: block;
  color: #db0020;
  font-size: 1.5rem;
}
.recruitBox01 .flex.reverse figure {
  margin-left: 0;
  margin-right: 30px;
}

@media screen and (max-width: 1024px) {
  .recruitBox01 h2 br {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .recruitBox01.recruitBox01 .flex.flex {
    display: block;
  }
  .recruitBox01.recruitBox01 h2 {
    font-size: 1.75rem;
  }
  .recruitBox01.recruitBox01 h2 span {
    font-size: 18px;
  }
  .recruitBox01.recruitBox01 figure {
    margin: 15px 0 0 !important;
    max-width: inherit;
    width: auto;
    text-align: left;
  }
}
.recruitType {
  margin-bottom: 40px;
}
.recruitType .recruitTypeInner {
  width: 50%;
  background-color: #fff;
  padding-bottom: 40px;
}
.recruitType .recruitTypeInner:nth-child(2) {
  margin-left: 30px;
}
.recruitType .recruitTypeInner:nth-child(3) {
  margin-left: 30px;
}
.recruitType .recruitTypeInner:hover {
  opacity: 1;
  background-color: rgb(255, 208.8, 215.5506849315);
}
.recruitType .recruitTypeInner h3 {
  margin: 30px 15px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.recruitType .recruitTypeInner p {
  max-width: 500px;
  display: block;
  padding: 0 30px;
  margin: 30px auto 0;
}
.recruitType .recruitTypeInner a:hover {
  text-decoration: none;
}

@media screen and (max-width: 1024px) {
  .recruitType .recruitTypeInner p br {
    display: none;
  }
  .recruitType .recruitTypeInner:nth-child(2) {
    margin-left: 15px;
  }
  .recruitType .recruitTypeInner:nth-child(3) {
    margin-left: 15px;
  }
}
@media screen and (max-width: 768px) {
  .recruitType .flex {
    display: block;
  }
  .recruitType .recruitTypeInner {
    width: auto;
  }
  .recruitType .recruitTypeInner:nth-child(2) {
    margin: 20px 0 0;
  }
  .recruitType .recruitTypeInner:nth-child(3) {
    margin: 20px 0 0;
  }
  .recruitType .recruitTypeInner h3 {
    max-width: 80%;
    margin: 15px auto;
  }
  .recruitType .recruitTypeInner p {
    margin: 15px auto;
  }
}
.recruitNav ul {
  margin: 0 -10px;
}
.recruitNav li {
  width: 50%;
  padding: 10px;
}
.recruitNav li a {
  background-color: #fff;
  display: block;
  display: flex;
  align-items: center;
  border: 3px solid #db0020;
  padding: 5px;
  text-decoration: none;
  color: #db0020;
  font-size: 1.5rem;
  position: relative;
  padding-right: 50px;
}
.recruitNav li a:after {
  font-family: FontAwesome;
  font-weight: normal;
  content: "\f04b";
  position: absolute;
  right: 15px;
}
.recruitNav li a img {
  margin-right: 25px;
  max-width: 45%;
}
.recruitNav li a:hover {
  background-color: #db0020;
  color: white;
}
.recruitNav li a:hover img {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .recruitNav ul {
    margin: 0 -5px;
  }
  .recruitNav li {
    padding: 5px;
  }
  .recruitNav li a {
    border-width: 2px;
    display: block;
    text-align: center;
    padding: 10px;
    font-size: 18px;
  }
  .recruitNav li a img {
    max-width: inherit;
    display: block;
    margin: 0 auto 10px;
    width: 100%;
  }
  .recruitNav li a:after {
    position: static;
    display: inline-block;
    margin-left: 10px;
    line-height: 1;
  }
}
#recruit-walfare h2 {
  text-align: center;
  font-size: 2.5rem;
  margin-bottom: 2rem;
  color: #db0020;
}
#recruit-walfare .mainText {
  text-align: center;
  font-size: 1.25rem;
}
#recruit-walfare .rw-contentsBox {
  margin-top: 116px;
}
#recruit-walfare .rw-contentsBox .rw-item {
  margin-top: 72px;
}
#recruit-walfare .rw-contentsBox .rw-item .rw-imgBox {
  width: 30%;
}
#recruit-walfare .rw-contentsBox .rw-item .rw-imgBox figure {
  margin: 0 auto;
}
#recruit-walfare .rw-contentsBox .rw-item dl {
  margin-top: 20px;
}
#recruit-walfare .rw-contentsBox .rw-item dl dt {
  font-size: 1.5em;
  font-weight: bold;
}
#recruit-walfare .rw-contentsBox .rw-item dl dd a {
  color: #db0020;
  text-decoration: underline;
}
#recruit-walfare .rw-contentsBox .rw-item dl dd .txtsmall {
  font-size: 1rem;
}
#recruit-walfare .rw-contentsBox .rw-item dl.sioame {
  margin-top: 40px;
}
#recruit-walfare .rw-btn {
  margin-top: 150px;
}
#recruit-walfare .rw-btn p {
  max-width: 500px;
  margin: 15px auto;
}

@media screen and (max-width: 1024px) {
  #recruit-walfare .recruitBox01 h2 br {
    display: block;
  }
  #recruit-walfare .mainText {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 768px) {
  #recruit-walfare h2 {
    font-size: 1.5rem;
  }
  #recruit-walfare .rw-contentsBox .rw-item .rw-imgBox {
    width: 25%;
    margin: 0 auto;
  }
  #recruit-walfare .rw-contentsBox .rw-item dl .sioame {
    margin-top: 0px;
  }
  #recruit-walfare .rw-contentsBox .rw-item dl dt {
    margin: 0 5%;
    font-size: 1.2em;
  }
  #recruit-walfare .rw-contentsBox .rw-item dl dd {
    margin: 0 5%;
  }
  #recruit-walfare .rw-btn {
    margin: 6vh auto 0;
  }
}
@media screen and (max-width: 480px) {
  #recruit-walfare h2 {
    text-align: left;
  }
  #recruit-walfare .mainText br {
    display: none;
  }
  #recruit-walfare .mainText {
    text-align: left;
  }
  #recruit-walfare figure {
    margin: 0 auto !important;
    text-align: center;
  }
  #recruit-walfare .rw-contentsBox {
    margin-top: 0;
  }
  #recruit-walfare .rw-contentsBox .rw-item {
    margin-top: 0px;
    margin-bottom: 40px;
  }
  #recruit-walfare .rw-contentsBox .rw-item .rw-imgBox {
    width: 100%;
  }
}
.ratingDetail {
  margin: 5rem 0;
}
.ratingDetail .txt {
  width: 46%;
}
.ratingDetail h3 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
  color: #db0020;
  text-align: center;
}
.ratingDetail h3 br {
  display: none;
}

@media screen and (max-width: 480px) {
  .ratingDetail {
    margin: 2rem 0;
  }
  .ratingDetail .flex {
    display: block;
  }
  .ratingDetail .txt {
    width: 100%;
  }
  .ratingDetail .txt:nth-child(2n) {
    margin-top: 2rem;
  }
  .ratingDetail h3 {
    font-size: 1.2rem;
    text-align: left;
    margin-bottom: 0.5rem;
  }
  .ratingDetail h3 br {
    display: block;
  }
}
.recruitBtmLink ul {
  margin: 6rem auto;
  text-align: center;
  max-width: 1000px;
}
.recruitBtmLink ul li {
  width: 48%;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  display: inline-block;
  margin: 0 0.4em 0.8em 0;
  position: relative;
  overflow: hidden;
  background: #db0020;
  border: 3px solid #db0020;
  border-radius: 10px;
}
.recruitBtmLink ul li a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding-right: 25px;
  padding: 1em 0.4em 1em 0;
  width: 100%;
}
.recruitBtmLink ul li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #fff;
}
.recruitBtmLink ul li a.blank {
  padding: 0.6em 0.4em 0.6em 0;
}
.recruitBtmLink ul li a.blank:after {
  content: url("../images/icon-link.png");
  display: inline-block;
  width: 18px;
  height: 18px;
  top: 40%;
  vertical-align: middle;
  border: none;
}
.recruitBtmLink ul li a.blank:before {
  content: url("../images/icon-kintore.png");
  display: inline-block;
  width: 50px;
  height: 50px;
  padding-right: 20px;
  vertical-align: middle;
}
.recruitBtmLink ul li:hover {
  background: #fff;
  transition: 0.3s;
}
.recruitBtmLink ul li:hover a {
  color: #db0020;
}
.recruitBtmLink ul li:hover a:after {
  border-color: transparent transparent transparent #db0020;
}

@media screen and (max-width: 559px) {
  .recruitBtmLink ul li {
    width: 100%;
    margin: 0 0.4em 0.8em 0.4em;
  }
  .recruitBtmLink ul li a.blank {
    padding: 0.4em 0.4em 0.4em 0;
  }
}
.rectop {
  background: #fff;
}

.recgly {
  background: #efefef;
}

.recsgly {
  background: #fdfdfd;
}

.recsgly02 {
  background: #f5f5f5;
}

.recruitTop h1 {
  text-align: center;
  font-size: 60px;
  margin-bottom: 70px;
}
.recruitTop h2 {
  text-align: center;
  font-size: 40px;
}
.recruitTop .interviewHead h2 {
  margin: 0;
}
.recruitTop .fz30 {
  font-size: 30px;
}
.recruitTop .col01 {
  color: #db0020;
}
.recruitTop .text01 {
  font-size: 40px;
  font-weight: bold;
}
.recruitTop .attempt-container .attempt {
  border-radius: 10px;
}
.recruitTop a {
  transition: 0.3s;
}
.recruitTop a:hover,
.recruitTop a:hover img {
  text-decoration: none;
  opacity: 1;
  transition: 0.3s;
}
.recruitTop .pageMainTitle h2 {
  position: relative;
  display: inline-block;
  padding: 0 45px;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}
.recruitTop .pageMainTitle h2:before,
.recruitTop .pageMainTitle h2:after {
  content: "";
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 44px;
  height: 2px;
  background-color: #db0020;
}
.recruitTop .pageMainTitle h2:before {
  transform: rotate(60deg);
  left: 0;
}
.recruitTop .pageMainTitle h2:after {
  transform: rotate(-60deg);
  right: 0;
}
.recruitTop .linkBtn {
  width: 100%;
  max-width: 500px;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  margin: 0 auto;
  position: relative;
  overflow: hidden;
  background: #db0020;
  border: 2px solid #db0020;
  border-radius: 10px;
}
.recruitTop .linkBtn a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding: 0.5em 0.4em 0.4em 0;
  width: 100%;
  font-size: 1.2em;
  line-height: 1.2em;
  border-radius: 8px;
}
.recruitTop .linkBtn a:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #fff;
}
.recruitTop .linkBtn a:hover {
  background: #fff;
  transition: 0.3s;
  color: #db0020;
}
.recruitTop .linkBtn a:hover:after {
  border-color: transparent transparent transparent #db0020;
}
.recruitTop .linkBtn a span {
  font-size: 20px;
  font-weight: normal;
}
.recruitTop .recruitBox01 {
  width: 100%;
  max-width: 890px;
  margin: 0 auto;
}
.recruitTop .recruitBox01 .txt {
  margin-bottom: 50px;
  font-weight: bold;
}
.recruitTop .recruitBox01 .txt h2 {
  font-size: 36px;
  margin-bottom: 50px;
  color: #db0020;
}
.recruitTop .recruitBox01 .txt ul {
  list-style-type: disc;
  margin-left: 2em;
}
.recruitTop .recruitBox01 .txt ul li {
  line-height: 1.5em;
}
.recruitTop .recruitBox01 .txt ul li span {
  vertical-align: 0.5em;
}
.recruitTop .recruitBox01 .txt ul li::marker {
  font-size: 70px;
  color: #db0020;
}
.recruitTop .messegeImg img {
  width: 33.3333%;
}
.recruitTop .interviewBox .linkBtn {
  max-width: 420px;
}
.recruitTop .recWelfare ul {
  display: flex;
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 50px;
  gap: 2rem 2%;
}
.recruitTop .recWelfare ul li {
  width: 23%;
  background: #fff;
  padding: 3rem 1rem;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  transition: 0.3s;
  border: 4px solid #fff;
}
.recruitTop .recWelfare ul li a {
  display: block;
  text-align: center;
  margin-top: auto;
}
.recruitTop .recWelfare ul li a img {
  margin-bottom: 30px;
}
.recruitTop .recWelfare ul li a h3 {
  font-size: 26px;
  position: relative;
}
.recruitTop .recWelfare ul li a h3:after {
  content: "";
  display: block;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 20px;
  border-color: transparent transparent transparent #db0020;
}
.recruitTop .recWelfare ul li:hover {
  transform: translateY(-5px);
  border: 4px solid #db0020;
}
.recruitTop .recWork .recWorkBox {
  align-items: stretch;
  gap: 1rem;
  margin-bottom: 50px;
}
.recruitTop .recWork .recWorkBox .recWorkItem {
  width: 49%;
  background: #fff;
  padding: 5px;
  border-radius: 5px;
}
.recruitTop .recWork .recWorkBox .recWorkItem figure {
  width: 220px;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics {
  width: calc(100% - 200px);
  margin-left: 20px;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl {
  padding: 5px 0;
  text-decoration: underline;
  text-decoration-color: #fff;
  text-decoration-thickness: 5px;
  transition: 0.3s;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a {
  font-size: 2rem;
  font-weight: bold;
  color: #db0020;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a::after {
  content: "";
  display: inline-block;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 20px;
  border-color: transparent transparent transparent #db0020;
  margin: 0 0 -4px 10px;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a:hover::after {
  transform: translate(5px, -8px);
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl:hover {
  text-decoration: underline;
  text-decoration-color: #db0020;
  text-decoration-thickness: 5px;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTag a {
  font-size: 14px;
  color: #585757;
  background-color: #efefef;
  border-radius: 5px;
  padding: 2px 10px;
  margin-bottom: 3px;
  display: inline-block;
}
.recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTag a:hover {
  color: #222;
  font-weight: bold;
}
.recruitTop .rectype ul {
  margin-bottom: 50px;
}
.recruitTop .rectype ul a figure {
  margin-bottom: 10px;
  overflow: hidden;
}
.recruitTop .rectype ul a figure img {
  transition: transform 0.6s ease;
  width: 100%;
}
.recruitTop .rectype ul a figure img:hover {
  transform: scale(1.1);
}
.recruitTop .rectype ul a p {
  font-weight: bold;
  text-align: center;
}
.recruitTop .rectype ul a p::after {
  content: "";
  display: inline-block;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 20px;
  border-color: transparent transparent transparent #db0020;
  margin: 0 0 -9px 10px;
}
.recruitTop .rectype ul a:hover {
  color: #db0020;
}
.recruitTop .recVoice .interviewHead h2 {
  margin-bottom: 20px;
}
.recruitTop .recVoice .interviewHead p {
  font-size: 1.4rem;
}
.recruitTop .recVoice .interviewHead p span {
  display: inline-block;
}
.recruitTop .recVoice ul {
  gap: 50px 10%;
}
.recruitTop .recVoice ul li {
  width: 26%;
  text-align: center;
}
.recruitTop .recVoice ul li a {
  flex-direction: column;
  align-items: center;
  height: 100%;
}
.recruitTop .recVoice ul li a span {
  overflow: hidden;
}
.recruitTop .recVoice ul li a span img {
  width: 100%;
  height: 200px;
  object-fit: cover;
  transition: transform 0.6s ease;
}
.recruitTop .recVoice ul li a span img:hover {
  transform: scale(1.1);
}
.recruitTop .recVoice ul li a dl {
  flex-grow: 1;
}
.recruitTop .recVoice ul li a dl dt {
  color: #db0020;
  font-size: 28px;
  font-weight: bold;
}
.recruitTop .recVoice ul li a dl dd {
  text-align: center;
  margin-bottom: 20px;
}
.recruitTop .recLink {
  padding: 50px 0 80px;
}
.recruitTop .recLink .recruitLink ul {
  margin: 0 auto;
}
.recruitTop .recBtmLink {
  padding: 5px 0;
}
.recruitTop .pageFlowForm {
  background-image: none;
  background-color: #d12c2b;
  padding: 70px 75px;
  margin-bottom: 0;
}

.recruitTopFooter {
  background-color: #fff;
}
.recruitTopFooter #pageFooter {
  margin: 0;
}

@media screen and (max-width: 1024px) {
  .recruitTop .recWelfare ul li a h3 {
    font-size: 18px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a {
    font-size: 20px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a::after {
    margin: 0 0 -8px 10px;
  }
  .recruitTop .rectype ul {
    flex-wrap: wrap;
    gap: 17px;
  }
  .recruitTop .rectype ul li {
    width: 48%;
  }
  .recruitTop .recVoice ul li a dl dt {
    font-size: 22px;
  }
  .recruitTop .recVoice ul li a dl dd {
    text-align: left;
  }
  .recruitTop .recVoice ul li a dl dd br {
    display: none;
  }
}
@media screen and (max-width: 926px) {
  .recruitTop .interviewHead p {
    text-align: center;
  }
  .recruitTop .recruitBox01 .fz30 {
    font-size: 24px;
  }
  .recruitTop .recruitBox01 .txt ul {
    width: 100%;
    max-width: 625px;
    padding-left: 30px;
    margin: 0 auto;
  }
  .recruitTop .recruitBox01 .txt ul li span {
    font-size: 22px;
  }
  .recruitTop .recruitBox01 .txt ul li::marker {
    font-size: 60px;
  }
  .recruitTop .recruitBox01 .txt h2 {
    font-size: 32px;
  }
  .recruitTop .recWelfare ul li {
    width: 30%;
  }
  .recruitTop .recWelfare ul::after {
    content: "";
    display: block;
    width: 30%;
    height: 0;
  }
  .recruitTop .recWork .recWorkBox {
    gap: 9px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem figure {
    width: 170px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics {
    width: calc(100% - 150px);
  }
}
@media screen and (min-width: 701px) {
  .recruitTop .recruitBox01 .txt h2 br {
    display: none;
  }
}
@media screen and (max-width: 700px) {
  .recruitTop h1 {
    font-size: 40px;
  }
  .recruitTop .fz30 {
    font-size: 24px;
  }
  .recruitTop .pt100 {
    padding-top: 70px;
  }
  .recruitTop .pb100 {
    padding-bottom: 70px;
  }
  .recruitTop .linkBtn a {
    font-size: 1.2em;
    line-height: 1.2em;
  }
  .recruitTop .linkBtn a span {
    font-size: 18px;
  }
  .recruitTop .text01 {
    font-size: 30px;
  }
  .recruitTop .interviewHead h2 {
    text-align: left;
  }
  .recruitTop .interviewHead p {
    text-align: left;
  }
  .recruitTop .recruitBox01 .txt h2 {
    font-size: 24px;
  }
  .recruitTop .recruitBox01 .txt h2 br {
    display: block;
  }
  .recruitTop .recruitBox01 .txt ul li {
    line-height: 1.2em;
  }
  .recruitTop .recruitBox01 .txt ul li span {
    font-size: 18px;
  }
  .recruitTop .recruitBox01 .txt ul li::marker {
    font-size: 40px;
  }
  .recruitTop .recWelfare ul li {
    width: 48%;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem {
    display: block;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem figure {
    width: 100%;
    margin-bottom: 20px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem figure img {
    width: 100%;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics {
    width: 100%;
    margin: 0;
  }
  .recruitTop .recVoice ul {
    justify-content: space-between;
    gap: 50px 10px;
  }
  .recruitTop .recVoice ul li {
    width: 47%;
  }
}
@media screen and (max-width: 480px) {
  .recruitTop h1 {
    font-size: 34px;
  }
  .recruitTop .fz30 {
    font-size: 25px;
  }
  .recruitTop .recWelfare ul li {
    padding: 2rem 0.5rem;
  }
  .recruitTop .recWelfare ul li a h3::after {
    border-width: 8px 0 8px 14px;
  }
  .recruitTop .recWork .recWorkBox {
    gap: 7px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem {
    display: block;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a {
    font-size: 18px;
  }
  .recruitTop .recWork .recWorkBox .recWorkItem .recWorkTopics .linkTtl a::after {
    border-width: 8px 0 8px 14px;
  }
  .recruitTop .rectype ul {
    gap: 13px;
  }
  .recruitTop .rectype ul a p {
    text-align: left;
  }
  .recruitTop .rectype ul a p::after {
    border-width: 8px 0 8px 14px;
  }
  .recruitTop .recVoice .interviewHead p {
    font-size: 24px;
  }
  .recruitTop .recVoice ul {
    gap: 0;
  }
  .recruitTop .recVoice ul li {
    display: block;
    width: 48%;
    margin-bottom: 30px;
  }
  .recruitTop .recVoice ul li a span img {
    height: 140px;
  }
  .recruitTop .recVoice ul li a dl dt {
    text-align: left;
    font-size: 19px;
  }
  .recruitTop .recVoice ul li .btn {
    width: 100%;
  }
}
#recruit-benefits .inner.space {
  padding: 60px 60px 80px;
}
#recruit-benefits .benefitsCont .benefitItem {
  padding: 20px;
  width: 47%;
  margin-bottom: 80px;
}
#recruit-benefits .benefitsCont .benefitItem .interviewHead {
  text-align: left;
  width: calc(100% - 120px);
}
#recruit-benefits .benefitsCont .benefitItem .interviewHead h2 {
  margin: 0 0 20px 0;
}
#recruit-benefits .benefitsCont .benefitItem .interviewHead p {
  font-size: 20px;
}
#recruit-benefits .benefitsCont .benefitItem figure {
  width: 140px;
  align-items: center;
}
#recruit-benefits .benefitsCont .benefitItem ul {
  padding: 30px;
  flex-grow: 1;
}
#recruit-benefits .benefitsCont .benefitItem ul li {
  margin-bottom: 20px;
}
#recruit-benefits .benefitsCont .benefitItem ul li h3 {
  margin-bottom: 5px;
}
#recruit-benefits .benefitsCont .benefitItem ul li h3 span {
  font-size: 14px;
}
#recruit-benefits .benefitsCont .benefitItem ul li h3::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  background-image: url(../images/icon-circle.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  margin: 0 8px -1px 0;
}
#recruit-benefits .benefitsCont .benefitItem ul li figure {
  width: 100%;
  padding: 10px 0;
}
#recruit-benefits .benefitsCont .benefitItem ul li figure figcaption {
  text-align: left;
  font-weight: bold;
  margin-top: 0;
}
#recruit-benefits .benefitsCont .benefitItem ul li figure img {
  width: 100%;
}
#recruit-benefits .benefitsCont .benefitItem ul li:last-of-type {
  margin-bottom: 0;
}
#recruit-benefits .benefitsCont .benefitItem:nth-last-child(2), #recruit-benefits .benefitsCont .benefitItem:last-of-type {
  margin-bottom: 0;
}
#recruit-benefits .benefitsImg {
  padding: 50px 20px;
  margin: 50px 0;
}

@media screen and (max-width: 768px) {
  #recruit-benefits .inner.space {
    padding: 30px 30px 40px;
  }
  #recruit-benefits .benefitsCont {
    display: block;
  }
  #recruit-benefits .benefitsCont .benefitItem {
    width: 100%;
  }
  #recruit-benefits .benefitsCont .benefitItem .interviewHead h2 {
    font-size: 2rem;
  }
  #recruit-benefits .benefitsCont .benefitItem:nth-last-child(2), #recruit-benefits .benefitsCont .benefitItem:last-of-type {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  #recruit-benefits .inner.space {
    padding: 20px 10px;
  }
  #recruit-benefits .benefitsCont .benefitItem {
    margin-bottom: 50px;
  }
  #recruit-benefits .benefitsCont .benefitItem .interviewHead {
    width: calc(100% - 100px);
  }
  #recruit-benefits .benefitsCont .benefitItem .interviewHead h2 {
    font-size: 26px;
    margin: 10px 0;
  }
  #recruit-benefits .benefitsCont .benefitItem .interviewHead p {
    font-size: 18px;
  }
  #recruit-benefits .benefitsCont .benefitItem figure {
    width: 80px;
  }
  #recruit-benefits .benefitsImg {
    padding: 30px 20px;
    margin: 20px 0 30px;
  }
}
#recruit-job .recruitBtmLink ul {
  margin: 3rem auto 6rem;
}
#recruit-job .jobCont h2 {
  text-align: center;
  color: #db0020;
  font-size: 40px;
  line-height: 1em;
  margin-bottom: 20px;
}
#recruit-job .jobCont h2 span {
  color: #666;
  font-size: 26px;
}
#recruit-job .jobCont .mainText {
  text-align: center;
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 30px;
}
#recruit-job .jobCont .subText {
  text-align: center;
  font-size: 20px;
  margin-bottom: 50px;
}
#recruit-job .jobCont .jobBox .jobItem {
  width: 48%;
  border: 1px solid #efefef;
  padding: 25px;
}
#recruit-job .jobCont .jobBox .jobItem h3 {
  font-size: 30px;
  font-weight: bold;
  line-height: 1em;
  margin-bottom: 5px;
}
#recruit-job .jobCont .jobBox .jobItem h3 span {
  font-size: 16px;
  font-weight: normal;
  display: inline-block;
}
#recruit-job .jobCont .jobBox .jobItem p {
  font-size: 20px;
  margin-bottom: 20px;
}
#recruit-job .jobCont .jobBox .jobItem figure {
  width: 185px;
}
#recruit-job .jobCont .jobBox .jobItem ul {
  width: calc(100% - 200px);
}
#recruit-job .jobCont .jobBox .jobItem ul li {
  text-align: center;
  margin-bottom: 5px;
  border: 2px solid #db0020;
}
#recruit-job .jobCont .jobBox .jobItem ul li a {
  color: #db0020;
  font-weight: bold;
  display: block;
  padding: 5px;
  position: relative;
}
#recruit-job .jobCont .jobBox .jobItem ul li a::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  right: 5px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #db0020;
  border-right: 2px solid #db0020;
  transform: rotate(45deg);
  box-sizing: border-box;
}
#recruit-job .jobCont .jobBox .jobItem ul li a:hover {
  text-decoration: none;
  background-color: #db0020;
  color: #fff;
}
#recruit-job .jobCont .jobBox .jobItem ul li a:hover::after {
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
}
#recruit-job .recruitBtmLinkBottom {
  padding-top: 50px;
}

@media screen and (max-width: 1199px) {
  #recruit-job .jobCont .jobBox .jobItem figure {
    width: 140px;
  }
  #recruit-job .jobCont .jobBox .jobItem ul {
    width: calc(100% - 160px);
  }
}
@media screen and (max-width: 1024px) {
  #recruit-job .jobCont .jobBox .jobItem h3 {
    font-size: 26px;
  }
  #recruit-job .jobCont .jobBox .jobItem p {
    font-size: 18px;
  }
  #recruit-job .jobCont .jobBox .jobItem .flex {
    display: block;
  }
  #recruit-job .jobCont .jobBox .jobItem .flex figure {
    max-width: 100%;
    width: 300px;
    margin: 0 auto 20px;
  }
  #recruit-job .jobCont .jobBox .jobItem .flex ul {
    width: 100%;
  }
}
@media screen and (max-width: 926px) {
  #recruit-job .jobCont .subText {
    text-align: left;
  }
  #recruit-job .jobCont .jobBox .jobItem h3 {
    font-size: 22px;
  }
}
@media screen and (min-width: 701px) {
  #recruit-job .jobCont .mainText br {
    display: none;
  }
}
@media screen and (max-width: 700px) {
  #recruit-job .jobCont h2 {
    font-size: 32px;
  }
  #recruit-job .jobCont h2 span {
    font-size: 20px;
  }
  #recruit-job .jobCont .mainText {
    font-size: 20px;
  }
  #recruit-job .jobCont .mainText br {
    display: block;
  }
  #recruit-job .jobCont .subText {
    font-size: 18px;
  }
  #recruit-job .jobCont .jobBox {
    display: block;
  }
  #recruit-job .jobCont .jobBox .jobItem {
    width: 100%;
    max-width: 480px;
    margin: 0 auto;
  }
  #recruit-job .jobCont .jobBox .jobItem:first-of-type {
    margin-bottom: 30px;
  }
}
.reclinkBtn {
  width: 100%;
  max-width: 500px;
  text-align: center;
  font-weight: bold;
  margin: 50px auto;
  position: relative;
  overflow: hidden;
  background: #db0020;
  border: 3px solid #db0020;
  border-radius: 10px;
}
.reclinkBtn a {
  color: #fff;
  text-decoration: none;
  display: inline-block;
  padding: 0.7em 0.4em 0.7em 0;
  width: 100%;
  font-size: 1.2em;
  line-height: 1.6em;
  border-radius: 8px;
}
.reclinkBtn a:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 12px;
  border-color: transparent transparent transparent #fff;
}
.reclinkBtn a:hover {
  background: #fff;
  transition: 0.3s;
  color: #db0020;
}
.reclinkBtn a:hover:after {
  border-color: transparent transparent transparent #db0020;
}
.reclinkBtn a span {
  font-size: 20px;
  font-weight: normal;
}

@media screen and (max-width: 700px) {
  .reclinkBtn a {
    padding: 1em 0.4em;
    font-size: 20px;
  }
}
#graduateBg {
  position: fixed;
  background: url(../images/recruit_gra.gif) no-repeat center center/cover;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: -1;
}

.graduateList {
  display: grid;
  grid-gap: 20px;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows: 1fr 1fr 1fr;
  display: -ms-grid;
  -ms-grid-columns: 1fr 20px 1fr 20px 1fr;
  -ms-grid-rows: 100% 20px 100% 20px 100% 20px 100%;
}
.graduateList li a {
  border: 5px solid transparent;
  display: block;
}
.graduateList li a:hover {
  border: 5px solid #dd0013;
}
.graduateList li a:hover img {
  opacity: 1;
}
.graduateList li.grid1 {
  grid-column: 1/2;
  grid-row: 1/3;
  -ms-grid-column: 1;
  -ms-grid-column-span: 3;
  -ms-grid-row: 1;
  -ms-grid-row-span: 3;
}
.graduateList li.grid2 {
  grid-column: 2/3;
  grid-row: 1/2;
  -ms-grid-column: 5;
  -ms-grid-row: 1;
}
.graduateList li.grid3 {
  grid-column: 2/3;
  grid-row: 2/2;
  -ms-grid-column: 5;
  -ms-grid-row: 3;
}
.graduateList li.grid4 {
  grid-column: 3/4;
  grid-row: 1/2;
  -ms-grid-column: 1;
  -ms-grid-row: 5;
}
.graduateList li.grid5 {
  grid-column: 1/2;
  grid-row: 3/3;
  -ms-grid-column: 3;
  -ms-grid-row: 5;
}
.graduateList li.grid6 {
  grid-column: 3/4;
  grid-row: 3/4;
  -ms-grid-column: 5;
  -ms-grid-row: 5;
}
.graduateList li.grid6 {
  grid-column: 3/3;
  grid-row: 2/2;
  -ms-grid-column: 1;
  -ms-grid-row: 7;
}
.graduateList li.grid7 {
  grid-column: 2/4;
  grid-row: 3/5;
  -ms-grid-column: 3;
  -ms-grid-column-span: 3;
  -ms-grid-row: 7;
}
.graduateList li.grid7 a:hover {
  border: 5px solid #090001;
}

.gracon01 {
  background: #db0020;
  padding: 3rem;
  position: relative;
}
.gracon01 h2 {
  color: #fff;
}
.gracon01 h2:before {
  content: "";
  display: inline-block;
  width: 239px;
  height: 59px;
  padding-right: 1em;
  background-image: url(../images/graduate-con-title01.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.gracon01 h3 {
  color: #db0020;
  margin-bottom: 1rem;
  font-size: 1.5rem;
}
.gracon01 figure {
  position: absolute;
  right: 10px;
  top: -3.2rem;
}
.gracon01 .innertext {
  background: #fff;
  padding: 3rem;
  margin: 2rem 0 0;
  z-index: 100;
}

.gracon02 {
  background: #fabf1b;
  padding: 3rem;
  position: relative;
}
.gracon02 h2 {
  color: #fff;
}
.gracon02 h2:before {
  content: "";
  display: inline-block;
  width: 330px;
  height: 55px;
  padding-right: 1em;
  background-image: url(../images/graduate-con-title02.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.gracon02 h3 {
  color: #000;
  margin: 0.6em 0 0.3em;
  background: #fabf1b;
  font-size: 1.5rem;
  padding: 0.2em 0.5em;
  display: inline-block;
}
.gracon02 figure {
  position: absolute;
  right: 20px;
  top: 20px;
}
.gracon02 .innertext {
  background: #fff;
  padding: 3rem;
  margin: 2rem 0 0;
  z-index: 100;
}

.gracon03 {
  background: #01b3de;
  padding: 3rem;
  position: relative;
}
.gracon03 h2 {
  color: #fff;
}
.gracon03 h2:before {
  content: "";
  display: inline-block;
  width: 126px;
  height: 49px;
  padding-right: 1em;
  background-image: url(../images/graduate-con-title03.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.gracon03 h3 {
  color: #000;
  margin: 0.6em 0 0.3em;
  font-size: 1.5rem;
  padding: 0.2em 0.5em;
  display: inline-block;
}
.gracon03 figure {
  position: absolute;
  right: 20px;
  top: 20px;
}
.gracon03 .innertext {
  background: #fff;
  padding: 3rem 1rem 1rem;
  margin: 2rem 0 0;
  z-index: 100;
}
.gracon03 .innertext .data-cate {
  width: 32%;
  margin-right: 1px;
  margin-bottom: 3rem;
  text-align: center;
}
.gracon03 .innertext .data-cate p {
  font-size: 1.5rem;
}
.gracon03 .innertext .data-cate img {
  margin-top: 1em;
}

.gracon04 {
  background: #e94646;
  padding: 3rem;
}
.gracon04 h2 {
  color: #fff;
}
.gracon04 h2:before {
  content: "";
  display: inline-block;
  width: 106px;
  height: 55px;
  padding-right: 1em;
  background-image: url(../images/graduate-con-title04.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.gracon04 .innertext {
  background: #fff;
  padding: 3rem;
  margin: 2rem 0 0;
}
.gracon04 .innertext dl.qa dt:last-child {
  border-bottom: none;
}

.gracon05 {
  background: #db0020;
  padding: 3rem 3rem 0.1rem;
  position: relative;
}
.gracon05 h2 {
  color: #fff;
}
.gracon05 h2:before {
  content: "";
  display: inline-block;
  width: 135px;
  height: 49px;
  padding-right: 1em;
  background-image: url(../images/graduate-con-title05.png);
  background-repeat: no-repeat;
  background-size: contain;
  vertical-align: middle;
}
.gracon05 .innertext {
  background: #fff;
  padding: 1rem;
  margin: 2rem 0 0;
}
.gracon05 .innertext table {
  border: none;
}
.gracon05 .innertext table th,
.gracon05 .innertext table td {
  background: #fff;
  border-right: none;
  border-left: none;
  border-top: none;
  padding: 1rem;
  color: #000;
}
.gracon05 .rw-btn .btn {
  display: flex;
  height: auto;
  font-size: 20px;
  padding: 10px;
  padding-right: 25px;
  width: 40%;
  margin: 0 auto;
  background: #000;
}
.gracon05 .rw-btn .btn:hover {
  background: #fff;
}
.gracon05 .entry-btn {
  text-align: center;
}
.gracon05 .entry-btn p {
  color: #fff;
  padding-bottom: 1em;
}
.gracon05 .entry-btn p br {
  display: none;
}
.gracon05 .entry-btn img:first-child {
  padding-right: 20px;
}

@media screen and (max-width: 1024px) {
  .graduateList {
    grid-gap: 7px;
  }
  .gracon01 figure {
    width: 40%;
  }
  .gracon02 figure {
    width: 30%;
  }
}
@media screen and (max-width: 768px) {
  .gracon01 figure,
  .gracon02 figure {
    display: none;
  }
  .gracon05 .entry-btn img:first-child {
    padding-right: 0;
    padding-bottom: 20px;
  }
}
@media screen and (max-width: 480px) {
  .graduateList.graduateList {
    display: flex;
    flex-wrap: wrap;
    grid-gap: 0;
    margin: 0 -3px;
  }
  .graduateList.graduateList li {
    width: 50%;
    padding: 3px;
  }
  .graduateList.graduateList li a {
    border: none;
  }
  .graduateList.graduateList li a:hover {
    border: none;
  }
  .graduateList.graduateList li.grid1, .graduateList.graduateList li.grid8 {
    width: 100%;
  }
  .gracon01,
  .gracon02,
  .gracon03,
  .gracon04,
  .gracon05 {
    padding: 1rem;
  }
  .gracon01 .innertext,
  .gracon02 .innertext,
  .gracon03 .innertext,
  .gracon04 .innertext,
  .gracon05 .innertext {
    padding: 1rem;
    margin-top: 20px;
  }
  .gracon01 h2:before,
  .gracon02 h2:before,
  .gracon03 h2:before,
  .gracon04 h2:before,
  .gracon05 h2:before {
    display: block;
  }
  .gracon01 h3,
  .gracon02 h3 {
    font-size: 1.2rem;
  }
  .gracon03 figure {
    display: none;
  }
  .gracon03 .flex {
    display: block;
  }
  .gracon03 .flex .data-cate {
    width: 100%;
    margin: 0;
    padding: 0 0 2rem;
    border-bottom: 1px #666 dotted;
  }
  .gracon03 .flex .data-cate:last-child {
    border: none;
  }
  .gracon04 .faqbox dl.qa dt {
    padding: 10px;
    font-size: 16px;
  }
  .gracon05 .rw-btn .btn {
    width: 100%;
  }
  .gracon05 .entry-btn p br {
    display: block;
  }
}
.careerFirst {
  text-align: center;
}
.careerFirst h2 {
  font-size: 2.5rem;
  margin-bottom: 2rem;
  color: #db0020;
}
.careerFirst p {
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  .careerFirst {
    text-align: center;
  }
  .careerFirst h2 {
    font-size: 1.75rem;
    margin-bottom: 1rem;
  }
  .careerFirst h2 br {
    display: none;
  }
  .careerFirst p {
    font-size: 1rem;
  }
}
.careerList figure {
  width: 380px;
  max-width: 38%;
  margin-right: 30px;
}
.careerList .txt {
  flex: 1;
}
.careerList h3 {
  color: #db0020;
  font-size: 2rem;
}
.careerList p {
  margin-top: 1.5rem;
}
.careerList p a {
  margin: 10px 0;
}

@media screen and (max-width: 768px) {
  .careerList .flex {
    display: block;
  }
  .careerList figure {
    max-width: inherit;
    width: auto;
    max-width: 240px;
    margin: 0 auto 15px;
  }
  .careerList h3 {
    text-align: center;
    font-size: 1.75rem;
  }
}
.careerBox {
  text-align: center;
  position: relative;
  margin: 6rem 0;
  padding-bottom: 6rem;
}
.careerBox:last-child {
  margin: 6rem 0 0;
  padding-bottom: 3rem;
}
.careerBox h3 {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
  color: #db0020;
}
.careerBox p.skill {
  padding: 0.5em;
  border: 2px solid;
  color: #000;
  width: 772px;
  margin: 1em auto 2em;
}
.careerBox p.skill span {
  font-weight: bold;
  padding-right: 1em;
}
.careerBox p.skill.lines {
  text-align: left;
}
.careerBox p.skill.lines span {
  display: table-cell;
  vertical-align: middle;
  float: left;
  height: 80px;
  line-height: 3em;
}
.careerBox:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #db0020 transparent transparent transparent;
  border-width: 30px 40px 0 40px;
}
.careerBox:last-child:after {
  content: none;
}

@media screen and (max-width: 768px) {
  .careerBox p.skill {
    width: 694px;
  }
}
@media screen and (max-width: 480px) {
  .careerBox {
    margin: 4rem 0;
    padding-bottom: 4rem;
  }
  .careerBox h3 {
    margin-bottom: 0;
  }
  .careerBox p {
    text-align: left;
  }
  .careerBox p.skill {
    width: 100%;
  }
  .careerBox p.skill span {
    display: block;
    text-align: center;
  }
  .careerBox p.skill.lines span {
    float: none;
    height: auto;
    line-height: normal;
    display: block;
  }
  .careerBox:after {
    border-width: 20px 30px 0 30px;
  }
}
.eduBox01 {
  margin: 8rem auto 12rem;
}
.eduBox01:last-child {
  margin: 8rem auto 4rem;
}
.eduBox01 h3 {
  font-size: 1.6rem;
  text-align: center;
  margin-bottom: 1.5rem;
  padding-bottom: 0.5em;
  color: #db0020;
  border-bottom: 1px solid #333333;
}
.eduBox01 h4 {
  text-align: center;
  background: #c4c2ba;
  padding: 0.4em 0;
  margin-bottom: 0.4em;
  color: #db0020;
}
.eduBox01 h4 .mt30 {
  margin-top: 30px;
}
.eduBox01 h5 {
  text-align: center;
  background: #e0e0e0;
  padding: 0.3em;
}
.eduBox01 .eduBox {
  background: #fff;
  padding: 1em;
  margin: 1em auto 3em;
}
.eduBox01 .eduBox p {
  margin: 1em 0;
}
.eduBox01 .eduBox dl {
  margin-bottom: 20px;
  position: relative;
}
.eduBox01 .eduBox dl.arrbottom:after {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #db0020 transparent transparent transparent;
  border-width: 20px 20px 0 20px;
}
.eduBox01 .eduBox dl dt {
  width: 20%;
  padding-top: 15px;
  padding-bottom: 15px;
  text-align: center;
}
.eduBox01 .eduBox dl dd {
  width: 80%;
  padding-top: 15px;
  padding-bottom: 15px;
}
.eduBox01 .flex div {
  width: 48%;
}
.eduBox01 .flex div h4 {
  text-align: center;
  margin: 1em 0 0.5em;
}
.eduBox01 .flex div p {
  width: 90%;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .eduBox01 {
    margin: 4rem auto 6rem;
  }
  .eduBox01:last-child {
    margin: 4rem auto 2rem;
  }
  .eduBox01 .eduBox dl.arrbottom:after {
    left: 0;
    right: 0;
  }
  .eduBox01 .eduBox dl dt {
    width: 100%;
  }
  .eduBox01 .eduBox dl dd {
    width: 100%;
  }
}
@media screen and (max-width: 480px) {
  .eduBox01 .eduBox dl dd {
    padding: 0 0 2em;
  }
  .eduBox01 .flex {
    display: block;
  }
  .eduBox01 .flex div {
    width: 100%;
  }
}
.scheduleBoxtime {
  margin: 6rem auto;
}
.scheduleBoxtime h3 {
  font-size: 1.4rem;
  margin-bottom: 0.5rem;
  color: #db0020;
}

@media screen and (min-width: 1025px) {
  .scheduleBoxtime {
    background: url(../images/schedule-driver-line-bg.png) no-repeat center 0;
    height: 1700px;
    position: relative;
    overflow: hidden;
  }
  .scheduleBoxtime figure {
    width: auto;
    padding: 1em 0;
    text-align: start;
  }
  .scheduleBoxtime .scheduleBoxRight {
    position: absolute;
    left: 590px;
  }
  .scheduleBoxtime .scheduleBoxRight.sche01 {
    top: 334px;
  }
  .scheduleBoxtime .scheduleBoxRight.sche02 {
    top: 943px;
  }
  .scheduleBoxtime .scheduleBoxRight.sche03 {
    top: 1117px;
  }
  .scheduleBoxtime .scheduleBoxleft {
    text-align: right;
    position: absolute;
    left: 0;
    width: 500px;
  }
  .scheduleBoxtime .scheduleBoxleft figure {
    text-align: right;
  }
  .scheduleBoxtime .scheduleBoxleft.sche01 {
    top: 155px;
  }
  .scheduleBoxtime .scheduleBoxleft.sche02 {
    top: 784px;
  }
  .scheduleBoxtime .scheduleBoxleft.sche03 {
    top: 1294px;
  }
  .scheduleBoxtime .scheduleBoxleft.sche04 {
    top: 1600px;
  }
}
@media screen and (max-width: 1024px) {
  .scheduleBoxtime h3:before {
    content: "";
    display: inline-block;
    width: 26px;
    height: 25px;
    padding-right: 0.3em;
    background-repeat: no-repeat;
    background-image: url(../images/recruit-schedule-time.png);
    background-size: contain;
    vertical-align: middle;
  }
  .scheduleBoxtime figure {
    padding-top: 1em;
    border-left: 1px solid #262626;
    padding-left: 0.5em;
    margin-left: 0.7em;
    padding-bottom: 2rem;
  }
  .scheduleBoxtime p {
    border-left: 1px solid #262626;
    padding-left: 0.5em;
    margin-left: 0.7em;
    padding-bottom: 2rem;
  }
  .scheduleBoxtime p.bordernone {
    border: none;
  }
}
@media screen and (max-width: 480px) {
  .scheduleBoxtime h3 {
    font-size: 1.2rem;
  }
  .scheduleBoxtime p {
    padding-bottom: 0;
  }
}
@media screen and (min-width: 1025px) {
  .scheduleBoxtime.warehouseSchedule {
    background: url(../images/schedule-warehouse-line-bg.png) no-repeat center 0;
    height: 1240px;
  }
  .scheduleBoxtime.warehouseSchedule .scheduleBoxRight {
    position: absolute;
    left: 590px;
  }
  .scheduleBoxtime.warehouseSchedule .scheduleBoxRight.sche01 {
    top: 318px;
  }
  .scheduleBoxtime.warehouseSchedule .scheduleBoxRight.sche02 {
    top: 520px;
  }
  .scheduleBoxtime.warehouseSchedule .scheduleBoxRight.sche03 {
    top: 1110px;
  }
}
@media screen and (min-width: 1025px) {
  .scheduleBoxtime.partnerSchedule {
    background: url(../images/schedule-partner-line-bg.png) no-repeat center 0;
    height: 1297px;
  }
  .scheduleBoxtime.partnerSchedule .scheduleBoxRight.sche01 {
    top: 330px;
  }
  .scheduleBoxtime.partnerSchedule .scheduleBoxRight.sche02 {
    top: 1005px;
  }
  .scheduleBoxtime.partnerSchedule .scheduleBoxRight.sche03 {
    top: 1175px;
  }
  .scheduleBoxtime.partnerSchedule .scheduleBoxleft.sche02 {
    top: 720px;
  }
  .scheduleBoxtime.partnerSchedule .scheduleBoxleft.sche03 {
    top: 885px;
  }
}
.interviewHead {
  text-align: center;
}
.interviewHead h2 {
  font-size: 2rem;
  margin: 30px 0;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .interviewHead h2 {
    font-size: 1.5rem;
    margin: 15px 0;
  }
  .interviewHead p {
    text-align: left;
  }
}
@media screen and (max-width: 480px) {
  .interviewHead {
    text-align: left;
  }
  .interviewHead h2 {
    text-align: left;
  }
}
.interviewDetail {
  overflow: hidden;
}
.interviewDetail figure {
  width: 560px;
  max-width: 54%;
  margin-left: 30px;
}
.interviewDetail .txt {
  flex: 1;
}
.interviewDetail h3 {
  margin-bottom: 1.5rem;
  font-size: 1.25rem;
  color: #db0020;
  padding-left: 84px;
  position: relative;
  display: inline-block;
}
.interviewDetail h3:before {
  content: "";
  position: absolute;
  width: 80px;
  border-top: 2px solid #db0020;
  top: 0.6em;
  left: 0;
  height: 1px;
}
.interviewDetail p {
  margin-bottom: 1.5rem;
}
.interviewDetail p span {
  font-weight: bold;
  font-size: 1.2rem;
}
.interviewDetail p span:after {
  content: "：";
}
.interviewDetail .reverse figure {
  margin-left: 0;
  margin-right: 30px;
}
.interviewDetail .floatNormal figure {
  float: right;
  margin-left: 30px;
  margin-right: 0;
}
.interviewDetail .floatReverse figure {
  float: left;
  margin-right: 30px;
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  .interviewDetail.interviewDetail .flex {
    display: block;
  }
  .interviewDetail.interviewDetail .flex h3 {
    margin-bottom: 1rem;
  }
  .interviewDetail.interviewDetail .flex h3 br {
    display: none;
  }
  .interviewDetail.interviewDetail .flex figure {
    width: auto;
    max-width: inherit;
    margin: 1rem 0 0;
  }
  .interviewDetail.interviewDetail .floatNormal figure {
    float: none;
    width: auto;
    max-width: inherit;
    margin: 1rem 0 2rem;
  }
  .interviewDetail.interviewDetail .floatReverse figure {
    float: none;
    width: auto;
    max-width: inherit;
    margin: 1rem 0 2rem;
  }
}
@media screen and (max-width: 480px) {
  .interviewDetail h3 {
    padding-left: 24px;
  }
  .interviewDetail h3:before {
    content: "";
    width: 20px;
  }
}
.interviewMessage {
  background-color: #d3e8f1;
  padding: 0 20px 0 20px;
  margin-bottom: 3rem;
}
.interviewMessage figure {
  max-width: 50%;
  width: 230px;
  margin-top: -20px;
  margin-right: 30px;
}
.interviewMessage .txt {
  padding-right: 15px;
  padding-bottom: 20px;
  flex: 1;
}
.interviewMessage .txt h3 {
  margin-top: -20px;
  margin-bottom: 15px;
}

.interviewBtn p {
  max-width: 620px;
  margin: 15px auto;
}

@media screen and (max-width: 768px) {
  .interviewMessage {
    padding: 20px;
  }
  .interviewMessage .flex {
    display: block;
  }
  .interviewMessage figure {
    display: none;
  }
  .interviewMessage .txt {
    padding: 0;
  }
  .interviewMessage .txt h3 {
    margin-top: -40px;
  }
}
.interviewNav li {
  width: 33.3333333333%;
  text-align: center;
}
.interviewNav li:not(:first-child) {
  margin-left: 3.5vw;
}
.interviewNav li img {
  max-height: 200px;
}
.interviewNav li a {
  text-decoration: none;
}
.interviewNav li span {
  display: block;
  margin: 0 auto;
}
.interviewNav li dl {
  text-align: left;
  margin: 15px 0;
}
.interviewNav li dl dt {
  font-weight: normal;
}
.interviewNav li dl dd {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .interviewNav.interviewNav .flex {
    display: block;
  }
  .interviewNav.interviewNav li {
    width: auto;
    margin: 10px 0 0;
  }
  .interviewNav.interviewNav li a {
    display: flex;
    align-items: center;
    background-color: #fff;
    padding: 10px;
    padding-right: 15px;
    position: relative;
    border-radius: 5px;
    overflow: hidden;
  }
  .interviewNav.interviewNav li a:after {
    content: "";
    width: 0;
    height: 0;
    position: absolute;
    right: 0;
    bottom: 0;
    border-style: solid;
    border-width: 0 0 15px 15px;
    border-color: transparent transparent #db0020 transparent;
  }
  .interviewNav.interviewNav li span {
    width: 35%;
    text-align: center;
  }
  .interviewNav.interviewNav li span img {
    max-width: 100%;
    max-height: 100px;
    width: auto;
    height: auto;
  }
  .interviewNav.interviewNav li dl {
    flex: 1;
    margin: 0 0 0 20px;
  }
  .interviewNav.interviewNav li dl dt {
    font-size: 14px;
    margin-bottom: 5px;
  }
  .interviewNav.interviewNav li dl dd {
    line-height: 1.35;
  }
  .interviewNav.interviewNav li p {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .interviewNav.interviewNav li a {
    grid-template-columns: 2fr 2fr;
  }
}
.btobBox01 h2 {
  text-align: center;
  font-size: 2.25rem;
  margin-bottom: 3.5vw;
  color: #db0020;
}
.btobBox01 p {
  margin: 20px 0;
}
.btobBox01 .flex {
  flex-direction: row-reverse;
}
.btobBox01 .flex figure {
  width: 475px;
  max-width: 45%;
  margin-left: 30px;
}
.btobBox01 .flex .txt {
  flex: 1;
}
.btobBox01 .flex .txt p {
  margin-top: 0;
}
.btobBox01 .subFigure {
  margin: 2rem 0 6rem;
}
.btobBox01 .subFigure figure {
  width: 33.3333333333%;
  margin-left: 10px;
}

@media screen and (max-width: 768px) {
  .btobBox01 h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .btobBox01 p {
    margin: 15px 0;
  }
  .btobBox01 .flex {
    display: block;
  }
  .btobBox01 .flex figure {
    width: auto;
    max-width: inherit;
    margin: 0 0 15px;
  }
}
.btobVoice h2 {
  text-align: center;
  border-bottom: 1px solid #6e6e6e;
  color: #db0020;
  font-size: 1.5rem;
  padding: 30px 0;
}
.btobVoice dl {
  border-bottom: 1px solid #6e6e6e;
}
.btobVoice dl:nth-of-type(1) dt:before {
  background: url(../images/icon-medical.png) no-repeat center center/100% auto;
}
.btobVoice dl:nth-of-type(2) dt:before {
  background: url(../images/icon-clothe.png) no-repeat center center/100% auto;
}
.btobVoice dl:nth-of-type(3) dt:before {
  background: url(../images/icon-food.png) no-repeat center center/100% auto;
}
.btobVoice dl:nth-of-type(4) dt:before {
  background: url(../images/icon-animal.png) no-repeat center center/100% auto;
}
.btobVoice dl:nth-of-type(5) dt:before {
  background: url(../images/icon-tool.png) no-repeat center center/100% auto;
}
.btobVoice dl dt {
  padding: 25px;
  padding-left: 65px;
  padding-right: 45px;
  font-weight: normal;
}
.btobVoice dl dt:before {
  content: "";
  position: absolute;
  left: 5px;
  top: 0;
  width: 50px;
  height: 100%;
}
.btobVoice dl dt:after {
  right: 15px;
}
.btobVoice dl dt b {
  display: inline-block;
  margin-right: 10px;
}
.btobVoice dl dd {
  padding: 25px;
  background-color: #efefef;
}
.btobVoice dl dd a {
  margin-top: 15px;
}
.btobVoice dl dd li {
  margin: 0 0 20px 0;
}
.btobVoice dl dd li h3 {
  margin-bottom: 15px;
  display: flex;
  align-items: center;
}
.btobVoice dl dd li h3:before {
  content: "";
  display: block;
  width: 65px;
  height: 2px;
  background-color: #333333;
  margin-right: 10px;
}
.btobVoice dl dd .comment {
  background-color: #fff;
  margin-top: 40px;
  padding: 30px;
}
.btobVoice dl dd .comment h3 {
  display: flex;
  align-items: flex-end;
  color: #db0020;
  margin: -1rem 0 1rem;
}
.btobVoice dl dd .comment h3 i {
  display: inline-block;
  margin-left: 5px;
}
.btobVoice dl dd .comment p {
  margin-top: 1rem;
}

@media screen and (max-width: 480px) {
  .btobVoice dl dt {
    padding: 15px;
    padding-left: 10px;
    padding-right: 40px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-size: 14px;
  }
  .btobVoice dl dt:before {
    position: static;
    display: block;
    height: 35px;
    width: 35px;
    margin: 5px;
  }
  .btobVoice dl dt:after {
    right: 10px;
  }
  .btobVoice dl dd li h3 {
    font-size: 1rem;
  }
  .btobVoice dl dd li h3:before {
    display: none;
  }
  .btobVoice dl dd li p {
    font-size: 14px;
  }
  .btobVoice dl dd .comment {
    margin-top: 25px;
    padding: 20px;
  }
  .btobVoice dl dd .comment p {
    font-size: 14px;
  }
}
.solutionFirst h2 {
  text-align: center;
  font-size: 2.25rem;
  margin-bottom: 3.5vw;
  color: #db0020;
}
.solutionFirst .flex figure {
  width: 475px;
  max-width: 45%;
  margin-left: 30px;
}
.solutionFirst .flex figure img:first-child {
  margin-bottom: 0.8em;
}
.solutionFirst .flex .txt {
  flex: 1;
}
.solutionFirst .flex .txt p {
  margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
  .solutionFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .solutionFirst .flex {
    display: block;
  }
  .solutionFirst .flex figure {
    width: auto;
    max-width: inherit;
    margin: 0 0 15px;
  }
  .solutionFirst .flex p {
    margin: 0 0 15px;
  }
}
.solutionList h3 {
  text-align: center;
  color: #db0020;
  padding-bottom: 20px;
  font-size: 1.75rem;
  margin-bottom: 20px;
  border-bottom: 1px solid #6e6e6e;
}
.solutionList table {
  background: transparent;
}
.solutionList table th,
.solutionList table td {
  border: none;
  background: transparent;
}
.solutionList .detail {
  background-color: #efefef;
  padding: 25px;
}
.solutionList .detail figure {
  margin-right: 30px;
}
.solutionList .detail .txt {
  width: 30%;
}
.solutionList .detail .txt h4 {
  color: #db0020;
  margin-bottom: 20px;
}
.solutionList .detail .txt dl {
  display: flex;
  margin: 10px 0;
}
.solutionList .detail .txt dl.noflex {
  display: block;
}
.solutionList .detail .txt dl dt {
  flex-shrink: 0;
  font-weight: normal;
}
.solutionList .detail .txt dl dt:after {
  content: "：";
}
.solutionList .empty h5 {
  display: inline-block;
  position: relative;
}
.solutionList .empty h5:after {
  content: "";
  position: absolute;
  right: 0;
  bottom: -20px;
  left: 0;
  width: 0px;
  height: 0px;
  margin: auto;
  border-style: solid;
  border-color: #db0020 transparent transparent transparent;
  border-width: 16px 16px 0 16px;
}
.solutionList .empty table {
  margin: 20px auto;
  width: 70%;
}
.solutionList .empty table th {
  width: 8em;
}
.solutionList .empty {
  margin-top: 40px;
  text-align: center;
}
.solutionList .btnBox {
  margin-top: 40px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .solutionList table th {
    padding-bottom: 0;
  }
  .solutionList table td {
    padding-top: 0;
  }
  .solutionList .detail {
    padding: 15px;
    display: block;
  }
  .solutionList .detail .txt {
    width: 60%;
    margin: 0 auto;
  }
  .solutionList .detail figure {
    margin: 0 0 15px;
  }
  .solutionList .btnBox {
    margin-top: 20px;
  }
}
@media screen and (max-width: 428px) {
  .solutionList .detail .txt {
    width: 90%;
  }
  .solutionList .empty table {
    width: 100%;
  }
}
.nurturingTitle {
  color: #db0020;
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.75rem;
}

@media screen and (max-width: 768px) {
  .nurturingTitle {
    margin-bottom: 20px;
    font-size: 1.5rem;
    display: table;
    text-align: left;
  }
}
.nurturingFirst {
  text-align: center;
}
.nurturingFirst h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .nurturingFirst {
    text-align: left;
  }
  .nurturingFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .nurturingFirst h2 br {
    display: none;
  }
}
.nurturingMethod {
  background-color: #fff;
  padding: 30px;
}
.nurturingMethod figure {
  margin-top: 30px;
}

@media screen and (max-width: 768px) {
  .nurturingMethod {
    padding: 20px;
  }
  .nurturingMethod figure {
    margin-top: 20px;
  }
}
.nurturingAbility p {
  margin: 30px 0;
  text-align: center;
}
.nurturingAbility ul {
  display: flex;
}
.nurturingAbility ul li {
  width: 33.3333333333%;
}
.nurturingAbility ul li:not(:last-child) {
  margin-right: 15px;
}
.nurturingAbility ul li figcaption {
  text-align: left;
  font-size: 16px;
  width: 85%;
  margin: 10px auto 0;
}

@media screen and (max-width: 768px) {
  .nurturingAbility.nurturingAbility p {
    margin: 20px 0;
    text-align: left;
  }
  .nurturingAbility.nurturingAbility ul {
    display: block;
  }
  .nurturingAbility.nurturingAbility ul li {
    width: auto;
    margin: 0;
    padding: 10px 0;
  }
  .nurturingAbility.nurturingAbility ul li:not(:last-child) {
    border-bottom: 1px solid #ccc;
  }
  .nurturingAbility.nurturingAbility figure {
    display: flex;
    align-items: center;
  }
  .nurturingAbility.nurturingAbility figure img {
    max-width: 30%;
    min-width: 100px;
    margin-right: 10px;
  }
  .nurturingAbility.nurturingAbility figure figcaption {
    margin: 0;
    font-size: inherit;
  }
}
.nurturingTraining .flex {
  margin: 40px 0;
}
.nurturingTraining .txt {
  flex: 1;
}
.nurturingTraining .txt h4 {
  font-size: 1.25rem;
  margin-bottom: 20px;
}
.nurturingTraining figure {
  max-width: 45%;
  margin: 0 0 0 30px;
}
.nurturingTraining .reverse figure {
  margin: 0 30px 0 0;
}

@media screen and (max-width: 768px) {
  .nurturingTraining.nurturingTraining .flex {
    display: block;
  }
  .nurturingTraining.nurturingTraining figure {
    max-width: 100%;
    margin: 10px 0 0;
  }
}
.nurturingClimate {
  text-align: center;
}

@media screen and (max-width: 768px) {
  .nurturingClimate {
    text-align: left;
  }
  .nurturingClimate p br {
    display: none;
  }
}
.lineupTitle {
  color: #db0020;
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.75rem;
}

@media screen and (max-width: 768px) {
  .lineupTitle {
    margin-bottom: 20px;
    font-size: 1.5rem;
    display: table;
    text-align: left;
  }
}
.lineupFirst {
  text-align: center;
}
.lineupFirst h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .lineupFirst {
    text-align: left;
  }
  .lineupFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .lineupFirst h2 br {
    display: none;
  }
}
.lineupList ul {
  margin: 0 -15px;
  justify-content: center;
}
.lineupList li {
  width: 50%;
  padding: 15px;
}
.lineupList li h4 {
  margin: 15px 0;
  font-size: 1.25rem;
}

@media screen and (max-width: 768px) {
  .lineupList li {
    width: auto;
  }
}
.certificationTitle {
  color: #db0020;
  text-align: center;
  margin-bottom: 25px;
  font-size: 1.75rem;
}

@media screen and (max-width: 768px) {
  .certificationTitle {
    margin: 0 auto 20px;
    font-size: 1.5rem;
    display: table;
    text-align: left;
  }
}
.certificationFirst {
  text-align: center;
}
.certificationFirst h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .certificationFirst {
    text-align: left;
  }
  .certificationFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .certificationFirst h2 br {
    display: none;
  }
}
.certificationList h4 {
  text-align: center;
  font-size: 1.5rem;
  margin-bottom: 30px;
}
.certificationList p.font01 {
  font-weight: bold;
  text-align: center;
}
.certificationList .flex figure {
  max-width: 35%;
  margin-right: 30px;
  width: 280px;
}
.certificationList .flex .txt {
  flex: 1;
}
.certificationList .flex .txt p {
  margin-bottom: 20px;
}
.certificationList .flex .txt p.fw01 {
  font-weight: bold;
}
.certificationList .flex .txt table {
  background: transparent;
  margin-bottom: 20px;
}
.certificationList .flex .txt table th,
.certificationList .flex .txt table td {
  background: none;
  border: none;
  padding: 3px;
  vertical-align: top;
}
.certificationList .flex .txt table th {
  width: 6rem;
}
.certificationList .flex .txt ul {
  list-style: disc;
  margin-left: 1.5em;
}
.certificationList ol li {
  counter-increment: number;
  padding: 5px 0;
}
.certificationList ol li dl dt {
  padding-left: 1.5rem;
  position: relative;
}
.certificationList ol li dl dt:before {
  position: absolute;
  top: 0;
  left: 0;
  content: counter(number) ".";
}
.certificationList ol li dl dd {
  margin-top: 3px;
  padding-left: 1.5rem;
}

@media screen and (max-width: 768px) {
  .certificationBox01 {
    margin: 60px 0;
  }
  .certificationList {
    margin: 30px 0;
  }
  .certificationList h4 {
    font-size: 1.25rem;
    display: table;
    text-align: left;
    margin: 0 auto 20px;
  }
  .certificationList .flex {
    display: block;
  }
  .certificationList .flex figure {
    width: 100%;
    max-width: inherit;
    margin: 0 0 15px;
  }
  .certificationList .flex .txt table tr {
    border-bottom: 1px solid #ccc;
  }
  .certificationList .flex .txt table th,
  .certificationList .flex .txt table td {
    font-weight: normal;
    font-size: 15px;
    margin: 0;
    width: auto;
    display: table-cell;
  }
  .certificationList .flex .txt p {
    text-align: left;
  }
  .certificationList .flex .txt p img {
    display: block;
    margin: 0 auto;
  }
  .certificationList p.tac {
    text-align: left;
    margin: 0 auto;
  }
  .certificationList p.tac br {
    display: none;
  }
}
.safetyFirst {
  text-align: center;
}
.safetyFirst h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .safetyFirst {
    text-align: left;
  }
  .safetyFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .safetyFirst h2 br {
    display: none;
  }
}
.safetyBox01 h3 {
  color: #db0020;
  border-bottom: 4px solid #db0020;
  margin: 0 auto 10px;
  padding: 0 10px;
  font-size: 1.5rem;
  display: table;
  align-items: center;
  justify-content: center;
  position: relative;
}
.safetyBox01 h3 i {
  display: inline-block;
  font-weight: bold;
  font-size: 3rem;
  font-weight: 300;
  vertical-align: middle;
}
.safetyBox01 h3 + p {
  text-align: center;
}
.safetyBox01 h3 + p b {
  font-weight: bold;
  display: block;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .safetyBox01 h3 {
    padding-bottom: 5px;
  }
  .safetyBox01 h3 i {
    font-size: 2rem;
    font-weight: bold;
  }
  .safetyBox01 h3 + p {
    text-align-last: left;
  }
  .safetyBox01 h3 + p br {
    display: none;
  }
  .safetyBox01 h3 + p b {
    margin-bottom: 0.5rem;
  }
}
.safetyInner {
  margin: 70px 0;
}
.safetyInner h4 {
  font-size: 1.5rem;
  margin-bottom: 0.5em;
  color: #db0020;
}
.safetyInner h5 {
  margin-bottom: 0.5em;
}
.safetyInner figure {
  max-width: 60%;
  margin-right: 30px;
}
.safetyInner .reverse figure {
  margin-right: 0;
  margin-left: 30px;
}
.safetyInner .txt {
  flex: 1;
}
.safetyInner sub {
  font-size: 14px;
}

@media screen and (max-width: 768px) {
  .safetyInner.safetyInner .flex {
    display: block;
  }
  .safetyInner.safetyInner h4 {
    font-size: 1.25rem;
    margin: 0 auto 15px;
    display: table;
  }
  .safetyInner.safetyInner figure {
    max-width: inherit;
    margin: 0 0 10px;
  }
}
.recruitLink ul {
  justify-content: center;
  margin: 6rem auto;
  text-align: center;
  max-width: 800px;
}
.recruitLink ul li {
  width: 40%;
  text-align: center;
  font-weight: bold;
  font-size: 1.2em;
  color: #db0020;
  border-bottom: 3px solid #db0020;
  padding: 0.6em 0.4em 0.4em 0;
  display: block;
  margin: 0.8em 0.8em 0;
  position: relative;
  overflow: hidden;
}
.recruitLink ul li::nth-child(2n) {
  margin-right: 0;
}
.recruitLink ul li::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  background: #db0020;
  transition: width 0.3s ease-in-out;
  z-index: 0;
}
.recruitLink ul li:hover::before {
  width: 100%;
}
.recruitLink ul li a {
  position: relative;
  color: #db0020;
  z-index: 1;
  display: block;
}
.recruitLink ul li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 18px;
  border-color: transparent transparent transparent #db0020;
  transition: border-color 0.3s ease-in-out;
}
.recruitLink ul li a:hover {
  text-decoration: none;
  color: #fff;
}
.recruitLink ul li a:hover:after {
  border-color: transparent transparent transparent #fff;
}

@media screen and (max-width: 559px) {
  .recruitLink ul {
    margin: 0rem auto 6em;
  }
  .recruitLink ul li {
    width: 100%;
  }
}
.attempt-container {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 1rem;
}
.attempt-container .attempt {
  background: #fff;
  width: 48%;
  /*height: 100%;*/
  padding: 3rem;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}
.attempt-container .attempt h3 {
  color: #db0020;
  text-align: center;
  margin-bottom: 1em;
}
.attempt-container .attempt figure {
  text-align: center;
}
.attempt-container .attempt figure img {
  max-width: 100%;
  height: auto;
}
.attempt-container .attempt ul {
  margin: 2rem 0;
  flex-grow: 1;
}
.attempt-container .attempt ul li {
  padding: 0.2em 0.4em 0.2em 1.2rem;
  position: relative;
  line-height: 1.4;
}
.attempt-container .attempt ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 14px;
  height: 14px;
  background: #db0020;
  border-radius: 50%;
}
.attempt-container .attempt p {
  margin: 2rem 0;
  flex-grow: 1;
}
.attempt-container .attempt a {
  display: block;
  border: #db0020 2px solid;
  text-align: center;
  margin-top: auto;
}
.attempt-container .attempt a.btn {
  font-size: 18px;
  font-weight: bold;
  max-width: 100%;
}

.certificate {
  width: calc(33.3333333333% - 30px);
  margin-bottom: 30px;
}
.certificate figure {
  margin-bottom: 0.8rem;
}
.certificate p {
  font-size: 1rem;
}

@media screen and (max-width: 768px) {
  .attempt-container .attempt {
    padding: 1.5rem;
  }
}
@media screen and (max-width: 559px) {
  .attempt-container {
    display: block;
  }
  .attempt-container .attempt {
    width: 100%;
    padding: 1rem;
    margin-bottom: 1rem;
  }
  .certificate {
    width: calc(50% - 10px);
  }
}
.securityFirst {
  text-align: center;
}
.securityFirst h2 {
  font-size: 2.25rem;
  margin-bottom: 30px;
  color: #db0020;
}

@media screen and (max-width: 768px) {
  .securityFirst {
    text-align: left;
  }
  .securityFirst h2 {
    font-size: 1.5rem;
    display: table;
    margin: 0 auto 3.5vw;
    text-align: left;
    margin: 30px 0;
  }
  .securityFirst h2 br {
    display: none;
  }
}
.securityBox01 figure {
  margin-left: 30px;
}
.securityBox01 .txt {
  flex: 1;
}

@media screen and (max-width: 768px) {
  .securityBox01 .flex {
    display: block;
  }
  .securityBox01 figure {
    margin: 15px 0 0;
  }
}
.securityBox02 {
  background-color: #fff;
  padding: 30px;
}
.securityBox02 h3 {
  text-align: center;
  color: #262626;
  font-size: 1.75rem;
}
.securityBox02 ul li {
  position: relative;
  margin: 5px 0;
  padding-left: 1.25rem;
}
.securityBox02 ul li:before {
  content: "";
  width: 12px;
  height: 12px;
  display: block;
  border-radius: 50%;
  background-color: currentColor;
  position: absolute;
  left: 0;
  top: 7px;
}
.securityBox02 ul li .software {
  margin: 1.4em 0 0.4em;
  width: 80%;
}
.securityBox02 ul li .software figure {
  width: calc(25% - 20px);
}

@media screen and (max-width: 768px) {
  .securityBox02 {
    padding: 20px;
  }
  .securityBox02 h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 428px) {
  .securityBox02 ul li .software {
    margin: 0.6em 0 0.3em;
    width: 100%;
  }
  .securityBox02 ul li .software figure {
    width: calc(50% - 20px);
    padding-top: 20px;
  }
}
.securityBox03 .col {
  width: 50%;
}
.securityBox03 .col:nth-child(2) {
  margin-left: 30px;
}
.securityBox03 .col h3 {
  text-align: center;
  color: #db0020;
  font-size: 1.75rem;
  margin-bottom: 30px;
}
.securityBox03 .col figure {
  margin-top: 20px;
}

@media screen and (max-width: 768px) {
  .securityBox03.securityBox03 .flex {
    display: block;
  }
  .securityBox03.securityBox03 .col {
    width: auto;
    margin: 30px 0 0;
  }
  .securityBox03.securityBox03 .col h3 {
    font-size: 1.5rem;
    margin-bottom: 20px;
  }
}
/* ==================== sdgsTitle ==================== */
.sdgsTitle {
  font-family: "Yu Mincho", "游明朝体", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;
  font-weight: 400;
  text-align: center;
  font-size: 27px;
}
.sdgsTitle .sdgsName {
  letter-spacing: 3px;
}
.sdgsTitle:after {
  content: "";
  display: block;
  height: 40px;
  width: 1px;
  background-color: #db0020;
  margin: 5px auto 15px;
}

@media screen and (max-width: 768px) {
  .sdgsMainImg {
    margin: 30px 0;
  }
  .sdgsTitle {
    font-size: 1.5rem;
  }
  .sdgsTitle:after {
    content: "";
    display: block;
    height: 25px;
    width: 1px;
    background-color: #db0020;
    margin: 5px auto 15px;
  }
}
/* ==================== sdgsInitiative ==================== */
.sdgsInitiative {
  margin: 60px 0;
}
.sdgsInitiative .sdgsTitle {
  font-size: 35px;
  color: #db0020;
}
.sdgsInitiative p {
  text-align: center;
  margin-bottom: 1rem;
}

@media screen and (max-width: 768px) {
  .sdgsInitiative .sdgsTitle {
    font-size: 1.75rem;
  }
}
/* ==================== sdgsList ==================== */
.sdgsList {
  background-color: #efefef;
  padding: 40px;
  margin-bottom: 50px;
}
.sdgsList figure {
  text-align: center;
  margin: 20px 0 40px;
}
.sdgsList a {
  color: #db0020;
}
.sdgsList .linkList {
  margin-top: 20px;
}
.sdgsList .linkList li {
  display: inline-block;
  margin: 6px 20px 0 0;
}
.sdgsList .linkList li a {
  position: relative;
  display: block;
  font-size: 16px;
  padding-left: 20px;
}
.sdgsList .linkList li a:before {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  overflow: hidden;
  box-sizing: border-box;
  position: absolute;
  left: 0;
  top: 5px;
  padding-left: 1px;
  content: "\f0da";
  color: white;
  border-radius: 50%;
  line-height: 1;
  background-color: #db0020;
  font-family: FontAwesome;
  font-weight: normal;
  font-size: 12px;
}

@media screen and (max-width: 768px) {
  .sdgsList {
    padding: 40px 25px 25px;
  }
  .sdgsList figure {
    text-align: center;
    margin: 20px 0 30px;
  }
  .sdgsList .linkList {
    margin-top: 20px;
  }
  .sdgsList .linkList li {
    display: inline-block;
    margin: 6px 20px 0 0;
  }
  .sdgsList .linkList li a {
    font-size: 14px;
  }
}
.faqBox01 {
  margin-bottom: 4rem;
}
.faqBox01 h3 {
  color: #db0020;
  text-align: center;
  margin-bottom: 25px;
  margin-top: 4rem;
  font-size: 1.75rem;
}

.faqBox dl {
  position: relative;
  cursor: pointer;
}
.faqBox dl::first-child {
  margin-top: 0;
}
.faqBox dl::after {
  position: absolute;
  top: 27px;
  right: 26px;
  display: block;
  width: 7px;
  height: 7px;
  margin: auto;
  content: "";
  transform: rotate(135deg);
  border-top: 2px solid #db0020;
  border-right: 2px solid #db0020;
}
.faqBox dl .pa {
  border-top: 1px solid #262626;
  border-bottom: 1px solid #262626;
}
.faqBox dl dd a {
  color: #db0020;
  text-decoration: underline;
}
.faqBox .open::after {
  transform: rotate(-45deg);
}

.faqBox dl dt {
  background-size: 30px 30px;
  border-bottom: 1px #6e6e6e solid;
  font-size: 18px;
  position: relative;
  margin: 0;
  padding: 20px 60px;
  font-weight: bold;
}
.faqBox dl dt .lustdt {
  border: none;
}
.faqBox dl dt::before {
  font-size: 38px;
  line-height: 1;
  position: absolute;
  top: 14px;
  left: 20px;
  display: block;
  content: "Q";
  color: #e83434;
}
.faqBox dl dd {
  margin: 0;
  padding: 20px 20px 20px 60px;
  background: #eee;
  font-size: 16px;
}
.faqBox dl dd::before {
  font-size: 38px;
  line-height: 1;
  position: absolute;
  left: 20px;
  display: block;
  content: "A";
  font-weight: bold;
  color: #a7a7a7;
}
.faqBox dl dd p {
  margin: 30px 0 0;
}
.faqBox dl dd p:first-child {
  margin-top: 0;
}

.newsBox h2 {
  font-size: 2rem;
  margin: 0 0 3.5vw;
  color: #db0020;
}
.newsBox time {
  font-weight: bold;
  display: block;
}
.newsBox ul li {
  border-bottom: 1px solid #999999;
}
.newsBox ul li:last-child {
  border-bottom: none;
}
.newsBox ul li a {
  display: flex;
  text-decoration: none;
  padding: 1em 0;
  font-size: 20px;
  flex-wrap: wrap;
}
.newsBox ul li a:hover {
  padding-left: 10px;
  background-color: rgba(255, 255, 255, 0.65);
}
.newsBox ul li time {
  margin-right: 15px;
}
.newsBox ul li i {
  margin-right: 15px;
}
.newsBox .newsmain figure {
  margin-left: 30px;
  border: 1px solid #efefef;
}
.newsBox .newsmain figure img {
  border: 1px solid #efefef;
}
.newsBox figcaption {
  font-size: 90%;
}
.newsBox .pdfLink {
  text-decoration: underline;
  padding-top: 1em;
}
.newsBox .pdfLink a {
  padding-right: 20px;
  background: url(../images/pdf_icon.gif) 100% 0.2em no-repeat;
}
.newsBox .pdfLink a:hover {
  color: #db0020;
}
.newsBox .newsSub {
  margin: 2rem auto;
}
.newsBox .newsSub ul li {
  width: 32%;
  border: none;
  margin-right: 2%;
}
.newsBox .newsSub ul li:last-child {
  margin: 0;
}
.newsBox .newsLink {
  border-top: 1px solid #666;
  padding-top: 1em;
  margin-top: 4rem;
}
.newsBox .newsLink ul li {
  border: none;
  font-size: 90%;
}
.newsBox .newsLink ul li a:hover {
  background: none;
  color: #db0020;
  padding-left: 0px;
}

@media screen and (max-width: 480px) {
  .newsBox h2 {
    font-size: 1.25rem;
  }
  .newsBox .flex {
    display: block;
  }
  .newsBox .newsmain figure {
    margin: 30px 0 0 0;
  }
  .newsBox .newsmain figure img {
    border: 1px solid #efefef;
  }
  .newsBox .newsSub ul li {
    width: 100%;
    margin: 2% auto;
  }
  .newsBox .newsLink ul li a {
    font-size: 1rem;
    padding: 5px 0;
    display: block;
    text-align: center;
  }
}
.pager {
  margin: 1.25rem 0;
  text-align: center;
}
.pager ol {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
.pager ol li {
  margin: 2px;
}
.pager ol li a {
  font-size: 1.25rem;
}
.pager ol li:first-child a, .pager ol li:last-child a {
  display: block;
  padding: 8px;
}
.pager ol li:first-child {
  margin-right: 10px;
}
.pager ol li:first-child a:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #ff4874;
  border-left: 2px solid #ff4874;
  transform: rotate(-45deg);
}
.pager ol li:last-child {
  margin-left: 10px;
}
.pager ol li:last-child a:before {
  content: "";
  display: block;
  width: 10px;
  height: 10px;
  border-top: 2px solid #db0020;
  border-right: 2px solid #db0020;
  transform: rotate(45deg);
}
.pager ol li:not(:first-child):not(:last-child) a {
  background-color: #f1f1f1;
  border-radius: 5px;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  width: 45px;
}
.pager ol li.active.active a, .pager ol li:not(:first-child):not(:last-child) a:hover {
  background-color: #db0020;
  color: #fff;
}

@media screen and (max-width: 480px) {
  .pager ol li:not(:first-child):not(:last-child) a {
    height: 40px;
    width: 35px;
  }
}
.voiceBox h2 {
  font-size: 2rem;
  margin: 0 0 1vw;
  color: #db0020;
}
.voiceBox h3 {
  font-weight: bold;
  display: block;
}
.voiceBox .voiceDetailBox h4 {
  padding-top: 3vw;
  padding-bottom: 0.4em;
  color: #E30B40;
}
.voiceBox .voiceDetailBox p {
  position: relative;
  background: #fff;
  border-radius: 10px;
  padding: 30px;
  margin-bottom: 1vw;
}
.voiceBox .voiceDetailBox p:before {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-right: 20px solid #fff;
  border-bottom: 10px solid transparent;
  border-top: 10px solid transparent;
  left: -20px;
  top: 30px;
}
.voiceBox .latticeBox {
  border: 1px solid #EEEEEE;
  border-radius: 10px;
  padding: 1em 1.5em;
  margin-top: 4vw;
  background: #e3e3e3;
  font-size: 95%;
}
.voiceBox .latticeBox h4 {
  padding-bottom: 1vw;
}
.voiceBox .latticeBox figure {
  float: left;
  width: 30px;
  padding-right: 20px;
}

.voiceLink {
  border-top: 1px solid #666;
  padding-top: 1em;
  margin-top: 4rem;
}
.voiceLink ul li {
  border: none;
  font-size: 90%;
}
.voiceLink ul li a:hover {
  background: none;
  color: #db0020;
  padding-left: 0px;
}

@media screen and (max-width: 768px) {
  .voiceBox h2 {
    font-size: 1.7rem;
  }
}
@media screen and (max-width: 480px) {
  .voiceBox h2 {
    font-size: 1.25rem;
  }
  .voiceBox h3 {
    font-size: 1rem;
    margin-top: 1rem;
  }
  .voiceBox .voiceDetailBox h4 {
    font-size: 1rem;
    margin-top: 1rem;
  }
}
.contactBox h2 {
  font-size: 1.2rem;
  margin: 0 0 1vw;
  text-align: center;
}
.contactBox h2 a {
  color: #db0020;
  text-decoration: underline;
}
.contactBox p {
  text-align: center;
}
.contactBox .formmail_example {
  width: 700px;
  margin: 2rem auto 4rem;
  padding: 1em;
  background: #fff;
}
.contactBox .formmail_example h3 {
  margin: 0 0 10px;
  padding-bottom: 10px;
  font-weight: bold;
  border-bottom: 2px solid #EEE;
  text-align: center;
}
.contactBox ul li {
  border-bottom: 1px dotted #CCC;
  padding: 0.2em 0 0.2em 1em;
  position: relative;
}
.contactBox ul li:before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #db0020;
  border-radius: 50%;
}
.contactBox ul li:last-child {
  border-bottom: none;
}
.contactBox table {
  margin: 4rem auto;
  width: 90%;
  background: none;
}
.contactBox table tr {
  border-bottom: 1px solid #989898;
}
.contactBox table tr th {
  background: none;
  border: none;
  padding: 30px 0 30px 1em;
  width: 20%;
}
.contactBox table tr td {
  border: none;
  font-size: 90%;
}
.contactBox table tr td textarea,
.contactBox table tr td select,
.contactBox table tr td input {
  -webkit-appearance: none;
  border-radius: 0.5;
  border: 1px solid #ccc;
}
.contactBox .nextBtnin {
  margin: 60px auto;
  text-align: center;
}
.contactBox .nextBtnin button {
  cursor: pointer;
  appearance: none;
  width: 45%;
  align-items: center;
  height: 3.5em;
  padding: 0 20px;
  padding-right: 40px;
  background-color: #db0020;
  font-size: 1.4rem;
  text-decoration: none;
  color: white;
  position: relative;
}
.contactBox .nextBtnin button:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 19px;
  border-color: transparent transparent transparent white;
}
.contactBox .nextBtnin button:hover {
  background: #fff;
  color: #db0020;
  border: 3px solid #db0020;
  transition: 0.3s;
}
.contactBox .nextBtnin button:hover:after {
  border-color: transparent transparent transparent #db0020;
}
.contactBox .prevBtnin {
  margin: 60px auto;
  text-align: center;
}
.contactBox .prevBtnin button {
  cursor: pointer;
  appearance: none;
  width: 45%;
  align-items: center;
  height: 3.5em;
  padding: 0 20px;
  padding-left: 40px;
  background-color: #db0020;
  font-size: 1.4rem;
  text-decoration: none;
  color: white;
  position: relative;
}
.contactBox .prevBtnin button:after {
  content: "";
  display: block;
  position: absolute;
  left: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 19px 8px 0;
  border-color: transparent white transparent transparent;
}
.contactBox .prevBtnin button:hover {
  background: #fff;
  color: #db0020;
  border: 3px solid #db0020;
  transition: 0.3s;
}
.contactBox .prevBtnin button:hover:after {
  border-color: transparent #db0020 transparent transparent;
}
.contactBox p {
  font-size: 90%;
  margin-top: 1em;
}
.contactBox .privacy_box {
  margin: 0 auto 30px;
  padding: 1em;
  width: 70%;
  border: 1px solid #cccccc;
  background: #F5F5F5;
  font-size: 90%;
  text-align: center;
}
.contactBox .privacy_box h3 {
  padding-bottom: 0.5em;
}
.contactBox .privacy_box a {
  text-decoration: underline;
}
.contactBox .privacy_box a:hover {
  color: #db0020;
}
.contactBox .ssl {
  font-size: 80%;
}
.contactBox .ssl p {
  margin: 1em 0;
}

@media screen and (max-width: 768px) {
  .contactBox .formmail_example {
    width: 100%;
  }
  .contactBox table tr th {
    width: 100%;
    padding: 20px 0 0 0;
  }
  .contactBox table tr td {
    padding: 10px 0 20px;
  }
  .contactBox table tr td input[type=text] {
    width: 100%;
  }
  .contactBox table tr td #postal_bt {
    margin-top: 5px;
  }
  .contactBox .nextBtnin button {
    width: 60%;
  }
  .contactBox .privacy_box p {
    text-align: left;
  }
  .contactBox .privacy_box p br {
    display: none;
  }
}
@media screen and (max-width: 480px) {
  .contactBox h2 {
    font-size: 1rem;
    text-align: left;
    margin: 1em 0;
  }
  .contactBox p {
    text-align: left;
  }
  .contactBox table {
    width: 100%;
  }
  .contactBox .nextBtnin button {
    width: 100%;
    font-size: 1.2rem;
  }
  .contactBox .privacy_box {
    width: 100%;
  }
  .contactBox .privacy_box h3 {
    font-size: 1rem;
  }
}
/* -------------- privacyPolicy -----------------*/
.privacyPolicy {
  color: #333;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 80%;
  max-width: 700px;
  height: 300px;
  overflow-y: scroll;
  padding: 30px;
  margin: 30px auto 10px;
  line-height: 1.8;
}
.privacyPolicy .privacyText p {
  font-size: 14px;
  text-align: left;
  margin-top: 2px;
}
.privacyPolicy .privacyText h2 {
  color: #db0020;
  margin-bottom: 20px;
  font-size: 18px;
}
.privacyPolicy .privacyText h3 {
  color: #db0020;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  background: none;
  position: static;
  padding: 0;
  margin: 0;
}
.privacyPolicy .privacyText h4 {
  text-align: left;
  font-size: 15px;
  margin: 0;
}
.privacyPolicy .privacyText a {
  text-decoration: underline;
  color: #db0020;
}
.privacyPolicy .privacyText li {
  font-size: 14px;
}
.privacyPolicy .privacyText .txtRight {
  text-align: right;
  width: 100%;
}
.privacyPolicy .privacyText .txtRight p {
  margin: 0;
  white-space: nowrap;
  display: inline-block;
  text-align: right;
}
.privacyPolicy .privacyText .txtRight br + span,
.privacyPolicy .privacyText .txtRight br::after {
  display: block;
  text-align: right;
}
.privacyPolicy .txt h3:after {
  display: none;
}
.privacyPolicy .txt p.list {
  position: relative;
  padding-left: 18px;
  word-break: break-word;
  overflow-wrap: anywhere;
  hyphens: auto;
  box-sizing: border-box;
  width: 100%;
}
.privacyPolicy .txt p.list a {
  word-break: break-word;
  overflow-wrap: break-word;
  display: inline;
  max-width: 100%;
}
.privacyPolicy .txt p.list:before {
  position: absolute;
  left: 0;
  top: 9px;
  width: 6px;
  height: 6px;
  border-top: solid 3px #db0020;
  border-right: solid 3px #db0020;
  transform: rotate(45deg);
  content: "";
}
.privacyPolicy .txt figure {
  float: left;
  padding-right: 1em;
}

#privacyPolicy.privacyPolicy .privacyText h3 {
  color: #db0020;
  font-size: 16px;
  font-weight: bold;
  text-align: left;
  background: none;
  position: static;
  padding: 0;
  margin: 0;
}

.txtBold {
  font-weight: bold;
}

.indent {
  display: inline-block;
  padding-left: 2.6em;
  width: 100%;
  box-sizing: border-box;
}

p.tac.checkdoui {
  font-size: 14px;
  text-align: center;
}

@media (min-width: 731px) {
  br.spBr {
    display: none;
  }
}
@media (max-width: 730px) {
  br.spBr {
    display: inline;
  }
}
@media screen and (max-width: 480px) {
  .privacyPolicy {
    width: 100%;
    margin: 20px auto 10px;
  }
  .privacyPolicy .privacyText p {
    font-size: 13px;
  }
  .privacyPolicy .privacyText li {
    font-size: 13px;
  }
  .privacyText.mb70 {
    margin-bottom: 50px;
  }
  .privacyPolicy .txt p.list:before {
    top: 6px;
  }
  .privacyPolicy .txt p.list {
    word-break: keep-all;
  }
}
#formmail .delighters,
#formmail [class*=delight] {
  opacity: 1;
  transform: none;
  transition: none;
}

.otherBox .pageNav02 {
  margin-top: 0;
}
.otherBox h2 {
  font-size: 1.8rem;
  color: #db0020;
  margin: 4rem 0 0.5rem;
  /*border-bottom: 1px #262626 solid;*/
  padding-bottom: 0.3em;
}
.otherBox .txt {
  margin: 0 0 3.5rem;
}
.otherBox .txt h3 {
  font-size: 1.2rem;
  color: #db0020;
  margin: 0 0 0.5rem;
}
.otherBox .txt h3 a {
  color: #db0020 !important;
}
.otherBox .txt h4 {
  font-size: 1.1rem;
  color: #212121;
  margin: 1rem 0 0.5rem;
}
.otherBox .txt p a {
  text-decoration: underline;
  color: #db0020;
}
.otherBox .txt p.txtBold {
  font-weight: bold;
  margin-top: 1em;
}
.otherBox .txt p.list {
  position: relative;
  padding-left: 25px;
}
.otherBox .txt p.list:before {
  width: 8px;
  height: 8px;
  border-top: solid 3px #db0020;
  border-right: solid 3px #db0020;
  transform: rotate(45deg);
  position: absolute;
  left: 0;
  top: 8px;
  content: "";
}
.otherBox .txt p.list br {
  display: none;
}
.otherBox .txt figure {
  float: left;
  padding-right: 1em;
}
.otherBox .txt .sitemap_box {
  margin: 0 auto 3rem;
}
.otherBox .txt .sitemap_box ul {
  padding: 5px 15px;
}
.otherBox .txt .sitemap_box ul li {
  width: 33%;
  padding-left: 1em;
  display: inline-block;
  position: relative;
}
.otherBox .txt .sitemap_box ul li:before {
  content: "";
  position: absolute;
  top: 0.5em;
  left: 0;
  width: 10px;
  height: 10px;
  background-color: #db0020;
  border-radius: 50%;
}
.otherBox .txtRight {
  text-align: right;
}
.otherBox ol {
  padding-left: 2em;
  list-style-position: outside;
}
.otherBox ol li {
  margin: 0 0 5px;
  line-height: 1.5;
  list-style-type: decimal;
}

@media screen and (max-width: 768px) {
  .otherBox .txt p.list br {
    display: block;
  }
  .otherBox .txt .sitemap_box ul li {
    width: 48%;
  }
}
@media screen and (max-width: 480px) {
  .otherBox h2 {
    font-size: 1rem;
  }
  .otherBox .txt .sitemap_box ul li {
    width: 100%;
    padding: 10px 0;
    border-bottom: 1px solid #ccc;
  }
  .otherBox .txt .sitemap_box ul li:before {
    content: none;
  }
}
.column .newsBox .columnBox {
  margin-bottom: 3.5vw;
}
.column .newsBox .columnBox h3 {
  font-size: 1.75rem;
  margin-bottom: 30px;
  border-bottom: 2px solid #db0020;
}
.column .newsBox .columnBox figure {
  margin-bottom: 30px;
}
.column .newsBox .columnBox p {
  margin-bottom: 1em;
}

.columnLinkBox a {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: relative;
  width: 47%;
  background-color: rgba(219, 0, 32, 0.9);
  font-size: 1.4rem;
  font-weight: bold;
  color: #fff;
  text-align: center;
  padding: 25px min(8vw, 30px) 20px 20px;
}
.columnLinkBox a:after {
  content: "";
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  position: absolute;
  height: calc(1.7320508076 * min(4vw, 30px) / 2);
  width: min(3vw, 15px);
  background-color: #fff;
  right: 10px;
}
.columnLinkBox a span {
  display: inline-block;
}
.columnLinkBox a img {
  display: block;
  margin: 0 auto 15px;
}
.columnLinkBox a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.columnLinkBox a:hover img {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .column .columnLinkBox a {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 480px) {
  .column .newsBox .columnBox {
    margin-bottom: 3.5vw;
  }
  .column .newsBox .columnBox h3 {
    font-size: 1.25em;
    margin: 15px 0;
  }
  .column .columnLinkBox {
    display: block;
  }
  .column .columnLinkBox a {
    width: 100%;
    margin-bottom: 20px;
  }
}
#partner h3 {
  text-align: center;
  color: #dd0013;
  font-size: 1.5em;
  margin-bottom: 2rem;
}
#partner .otherHead h2 {
  text-align: center;
  font-size: 2.4em;
  position: relative;
  line-height: 1.3;
  padding-bottom: 0;
}
#partner .otherHead h2:before, #partner .otherHead h2:after {
  position: relative;
  display: inline-block;
  content: "";
  background: #dd0013;
  width: 2px;
  height: 2em;
  margin: 0 1em;
  margin-top: -0.2em;
  vertical-align: middle;
}
#partner .otherHead h2:before {
  transform: rotate(-35deg);
}
#partner .otherHead h2:after {
  transform: rotate(35deg);
}
#partner .otherHead .conditions {
  text-align: center;
  background-color: #f9f9f9;
  border-top: 3px solid #333;
  padding: 20px;
  font-family: "Helvetica Neue", Arial, sans-serif;
  color: #333;
  line-height: 1.6;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
}
#partner .otherHead .conditions h4 {
  font-size: 1.3rem;
  margin-top: 0;
  margin-bottom: 10px;
  color: #333;
  border-bottom: 1px solid #ddd;
  padding-bottom: 5px;
}
#partner .otherHead .conditions ul {
  list-style: none;
  padding-left: 0;
  margin-bottom: 20px;
}
#partner .otherHead .conditions ul li {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5em;
  position: relative;
  margin-bottom: 10px;
}
#partner .otherHead .conditions ul li:before {
  content: "";
  display: inline-block;
  width: 0.6em;
  height: 0.6em;
  background-color: #c00;
  border-radius: 50%;
  flex-shrink: 0;
}
#partner .otherHead .conditions p {
  margin-bottom: 15px;
}
#partner .otherHead .conditions p span {
  display: block;
  color: #c00;
  font-weight: bold;
  margin-top: 5px;
  font-size: 0.8em;
}
#partner .otherHead .conditions a {
  color: #dd0013;
  text-decoration: underline;
  transition: color 0.3s ease;
}
#partner .otherHead .conditions a:hover {
  color: #dd0013;
  text-decoration: none;
}
#partner .check {
  background: #fff;
  padding: 40px 60px;
}
#partner .check h3 {
  text-align: center;
  color: #dd0013;
  font-size: 1.5em;
  margin-bottom: 2rem;
}
#partner .check ul {
  font-size: 1.5em;
}
#partner .check ul li {
  position: relative;
  padding-left: 50px;
  font-weight: 600;
  padding-bottom: 0.6rem;
}
#partner .check ul li:before {
  position: absolute;
  left: 0;
  top: 0.2em;
  content: "";
  display: inline-block;
  width: 34px;
  height: 34px;
  background-image: url(../images/check.png);
  background-size: contain;
  vertical-align: middle;
}
#partner .point h3 {
  text-align: center;
  color: #dd0013;
  font-size: 1.5em;
  margin-bottom: 2rem;
}
#partner .point h4 {
  background: #dd0013;
  color: #fff;
  font-weight: 700;
  font-size: 1.5em;
  margin-top: 40px;
  text-align: center;
}
#partner .point h4 span {
  font-size: 1.4em;
  font-weight: 900;
  padding-right: 1rem;
}
#partner .point .flex {
  margin: 40px auto 20px;
  width: 850px;
}
#partner .point .flex figure {
  width: calc(50% - 20px);
}
#partner #formbox .contactBox table tr td input {
  width: 100%;
}
#partner .privacy_box h3 {
  color: #212121;
  margin-bottom: 0;
  padding-bottom: 0;
}

@media screen and (max-width: 526px) {
  #partner .otherHead h2 {
    font-size: 2em;
    margin: 1rem 0 0.5rem;
    border-bottom: 2px solid #db0020;
  }
  #partner .otherHead h2:before, #partner .otherHead h2:after {
    content: none;
  }
  #partner .otherHead .conditions {
    text-align: left;
  }
  #partner .otherHead .conditions ul li {
    align-items: baseline;
  }
  #partner .check {
    padding: 40px 20px 20px;
  }
  #partner .point h4 span {
    display: block;
  }
  #partner .point .flex {
    display: block;
    width: 100%;
  }
  #partner .point .flex figure {
    width: 100%;
    margin-bottom: 10px;
  }
  #partner .contactBox h3 {
    margin-bottom: 0;
    margin-top: 20px;
  }
  #partner .contactBox table {
    margin: 20px auto 0;
  }
}
.topImgTest {
  padding: 23vh 10px;
  animation-name: maincopy;
  animation-duration: 13s;
  position: relative;
}
.topImgTest .point {
  position: absolute;
  right: 1em;
  bottom: 10vw;
  transition: transform 0.3s ease-in-out;
}
.topImgTest .point:hover {
  transform: translateY(-5px);
}

@media screen and (max-width: 1024px) {
  .topImgTest .point {
    bottom: 0;
  }
  .topImgTest .point img {
    width: 80%;
  }
}
@media screen and (max-width: 480px) {
  .topImgTest .point {
    right: auto;
    left: 240px;
  }
  .topImgTest .point img {
    width: 100%;
  }
}
@media (orientation: landscape) and (max-width: 926px) {
  .topImgTest .point {
    left: 700px;
  }
  .topImgTest .point img {
    width: 90%;
  }
}
@media (orientation: landscape) and (max-width: 700px) {
  .topImgTest .point {
    right: auto;
    left: 500px;
  }
}
.indexTitle {
  display: flex;
  align-items: flex-end;
  font-weight: normal;
  margin-bottom: 50px;
}
.indexTitle span {
  margin-left: 20px;
}
.indexTitle.bottom img {
  margin-bottom: -7px;
}

.indexLinkList {
  display: flex;
  flex-wrap: wrap;
  margin-top: -30px;
}
.indexLinkList li {
  width: calc(50% - 15px);
  margin-top: 30px;
}
.indexLinkList li:nth-child(2n) {
  margin-left: 30px;
}
.indexLinkList li a {
  display: flex;
  align-items: center;
  height: 100%;
  padding: 15px;
  padding-right: 40px;
  font-size: 21px;
  color: #db0020;
  border: 3px solid #db0020;
  position: relative;
}
.indexLinkList li a:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 19px;
  border-color: transparent transparent transparent #db0020;
}
.indexLinkList li a:hover {
  background-color: rgba(255, 255, 255, 0.65);
  text-decoration: none;
}
.indexLinkList li a:hover:after {
  right: 5px;
}

@media screen and (max-width: 1024px) {
  .indexTitle {
    display: block;
  }
  .indexTitle.bottom img {
    margin-bottom: 0;
  }
  .indexTitle span {
    display: block;
    margin: 15px 0;
  }
}
@media screen and (max-width: 768px) {
  .indexTitle {
    margin-bottom: 20px;
    font-size: 16px;
  }
  .indexTitle img {
    height: 35px;
  }
  .indexLinkList {
    margin-top: -10px;
  }
  .indexLinkList li {
    width: calc(50% - 5px);
    margin-top: 10px;
  }
  .indexLinkList li:nth-child(2n) {
    margin-left: 10px;
  }
  .indexLinkList li a {
    font-size: 16px;
    padding: 8px;
    border-width: 1px;
    padding-right: 30px;
  }
  .indexLinkList li a:after {
    border-width: 4px 0 4px 10px;
  }
}
@media screen and (max-width: 480px) {
  .indexLinkList li a {
    line-height: 1.35;
  }
}
@keyframes maincopy {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.topImg {
  padding: 23vh 10px;
  animation-name: maincopy;
  animation-duration: 6s;
}

@media screen and (max-width: 480px) {
  .topImg {
    padding: 18vh 10px;
  }
}
.indexNav .indexNavList {
  width: 33.3333333333%;
  position: relative;
  border: 3px solid transparent;
}
.indexNav .indexNavList:not(:last-child) {
  margin-right: 20px;
}
.indexNav .indexNavList .txt {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  color: white;
  text-align: center;
}
.indexNav .indexNavList .txt p {
  margin-bottom: 20px;
}
.indexNav .indexNavList .txt i {
  line-height: 1;
  position: absolute;
  bottom: 15px;
  transition: bottom 0.3s;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 19px 8px 0 8px;
  border-color: #fff transparent transparent transparent;
}
.indexNav .indexNavList:hover {
  border: 3px solid #fff;
}
.indexNav .indexNavList:hover img {
  opacity: 1;
}
.indexNav .indexNavList:hover .txt i {
  bottom: 0;
}

@media screen and (max-width: 1024px) {
  .indexNav .flex {
    display: block;
  }
  .indexNav .indexNavList {
    align-items: center;
    border: none;
    margin-bottom: 10px;
    display: block;
    width: 100%;
    background: rgba(0, 0, 0, 0.6);
    display: flex;
  }
  .indexNav .indexNavList figure {
    max-width: 50%;
  }
  .indexNav .indexNavList .txt {
    position: static;
    flex: 1;
    padding: 20px;
    padding-bottom: 40px;
  }
}
@media screen and (max-width: 480px) {
  .indexNav .indexNavList .txt {
    padding-bottom: 20px;
  }
  .indexNav .indexNavList .txt p {
    margin-bottom: 0;
  }
  .indexNav .indexNavList .txt p + p,
  .indexNav .indexNavList .txt i {
    display: none;
  }
}
.indexPartner .inner {
  padding: 50px 10px;
  background: url(../images/index-partner-bg.jpg) no-repeat center center/cover;
  text-align: center;
}
.indexPartner .inner p {
  text-align: center;
  color: white;
  font-size: 20px;
  margin: 30px 0;
}

.indexStorage .inner {
  padding: 50px 10px;
  background: url(../images/index-storage-bg.jpg) no-repeat center center/cover;
  text-align: center;
}
.indexStorage .inner p {
  text-align: center;
  color: white;
  font-size: 20px;
  margin: 30px 0;
}

.indexCommon01 .indexRecruitBtn {
  margin-bottom: 30px;
}
.indexCommon01 .indexRecruitBtn a {
  width: 50%;
  display: flex;
  align-items: center;
  height: 150px;
  padding: 0 20px;
  padding-right: 40px;
  background-color: #db0020;
  font-size: 1.5rem;
  text-decoration: none;
  color: white;
  position: relative;
}
.indexCommon01 .indexRecruitBtn a:nth-child(2) {
  margin-left: 30px;
}
.indexCommon01 .indexRecruitBtn a:after {
  content: "";
  display: block;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 8px 0 8px 19px;
  border-color: transparent transparent transparent white;
}
.indexCommon01 .indexRecruitBtn a:hover {
  background-color: white;
  color: #db0020;
}
.indexCommon01 .indexRecruitBtn a:hover:after {
  right: 5px;
  border-color: transparent transparent transparent #db0020;
}
.indexCommon01 .inner.event {
  text-align: center;
  padding: 0;
}
.indexCommon01 .inner.event a {
  width: 48%;
}
.indexCommon01 .inner.event a img {
  transition: transform 0.3s ease-in-out;
}
.indexCommon01 .inner.event a:hover img {
  transform: translateY(-5px);
  opacity: 1;
  box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.3);
}

@media screen and (max-width: 768px) {
  .indexCommon01 .indexRecruitBtn {
    margin-bottom: 10px;
  }
  .indexCommon01 .indexRecruitBtn a {
    height: 110px;
    width: calc(50% - 5px);
    margin-top: 10px;
    font-size: 16px;
    padding: 8px;
    padding-right: 30px;
  }
  .indexCommon01 .indexRecruitBtn a:after {
    border-width: 4px 0 4px 10px;
  }
  .indexCommon01 .indexRecruitBtn a:nth-child(2n) {
    margin-left: 10px;
  }
}
@media screen and (max-width: 480px) {
  .indexCommon01 .inner {
    padding: 25px;
  }
}
.youtube-modal {
  display: none;
  position: fixed;
  z-index: 1000;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.7);
}
.youtube-modal .youtube-modal-content {
  background: transparent;
  margin: 5% auto;
  width: 90%;
  max-width: 1200px;
  position: relative;
}
.youtube-modal .youtube-iframe-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
.youtube-modal .youtube-iframe-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: none;
}
.youtube-modal .youtube-modal-close {
  position: absolute;
  top: -30px;
  right: 0;
  font-size: 40px;
  color: #fff;
  cursor: pointer;
  z-index: 100;
}

.indexNews .inner {
  display: flex;
  align-items: center;
}
.indexNews .indexNewsLeft {
  text-align: center;
  margin-right: 3.5vw;
}
.indexNews .indexNewsLeft h2 {
  margin-bottom: 3vw;
}
.indexNews .indexNewsRight {
  flex: 1;
}
.indexNews .indexNewsRight li:not(:last-child) {
  border-bottom: 1px solid #999999;
}
.indexNews .indexNewsRight li a {
  display: flex;
  text-decoration: none;
  padding: 15px 0;
  font-size: 20px;
  flex-wrap: wrap;
}
.indexNews .indexNewsRight li a:hover {
  padding-left: 10px;
  background-color: rgba(255, 255, 255, 0.65);
}
.indexNews .indexNewsRight li i {
  font-style: normal;
  font-weight: normal;
}
.indexNews .indexNewsRight li time,
.indexNews .indexNewsRight li i {
  margin-right: 5px;
}
.indexNews .indexNewsRight.track ul li {
  width: calc(25% - 20px);
  margin-right: 20px;
  border-bottom: none;
}
.indexNews .indexNewsRight.track ul li:last-child {
  margin-right: 0;
}
.indexNews .indexNewsRight.track ul li a {
  display: block;
  padding: 0;
}
.indexNews .indexNewsRight.track ul li a:hover {
  padding: 0;
  background: none;
}
.indexNews .indexNewsRight.track ul li a time {
  font-size: 0.8em;
}
.indexNews .indexNewsRight.track ul li a figure {
  height: 180px;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
  max-width: 252px;
}
.indexNews .indexNewsRight.track ul li a figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}
.indexNews .indexNewsRight.track ul li a p {
  font-size: 0.9em;
}
.indexNews .indexNewsRight.track ul li i {
  margin-right: 0;
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .indexNews .inner {
    display: block;
  }
  .indexNews .indexNewsLeft {
    margin: 0 0 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
  }
  .indexNews .indexNewsLeft h2 {
    margin: 0 20px 0 0;
  }
  .indexNews .indexNewsLeft a {
    margin-left: auto;
  }
  .indexNews .indexNewsRight li a {
    font-size: 16px;
  }
}
@media screen and (max-width: 768px) {
  .indexNews .indexNewsLeft img {
    height: 68px;
  }
}
@media screen and (max-width: 480px) {
  .indexNews .inner {
    padding: 25px;
  }
  .indexNews .indexNewsLeft {
    display: block;
  }
  .indexNews .indexNewsLeft h2 {
    text-align: center;
  }
  .indexNews .indexNewsLeft a {
    margin: 20px auto 0;
  }
  .indexNews .indexNewsRight li p {
    margin-top: 3px;
    width: 100%;
  }
  .indexNews .indexNewsRight.track ul li {
    width: calc(50% - 20px);
    margin-bottom: 20px;
  }
  .indexNews .indexNewsRight.track ul li a figure {
    height: 120px;
  }
  .indexNews .indexNewsRight.track ul:nth-child(2) {
    margin-right: 0;
  }
}
.insta_list {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
  margin: 20px auto;
}
.insta_list li {
  position: relative;
  width: calc((100% - 10px) / 6);
}
.insta_list li:before {
  content: "";
  display: block;
  padding-top: 100%;
}
.insta_list a {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
}
.insta_list img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  .insta_list li {
    width: calc((100% - 10px) / 3);
  }
}
.insta_btn {
  background-color: #000;
  padding: 0.5em 1em;
  width: fit-content;
  margin: 0 auto;
  cursor: pointer;
  transition: 0.3s;
}
.insta_btn a {
  color: #fff;
  text-decoration: none;
}
.insta_btn:hover {
  background-color: #999;
}

.instaarea {
  width: 80%;
  min-height: 270px;
  display: block;
  position: absolute;
  z-index: 1;
}

.instaarea a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  text-indent: -999px;
  z-index: 2;
}

h2.indexTitle.subtitle {
  margin-bottom: 20px;
  margin-top: 50px;
}

h2.indexTitle.subtitle span {
  margin-left: 0;
}

@media screen and (max-width: 926px) {
  .instaarea {
    min-height: 200px;
    width: 85%;
  }
}
@media screen and (max-width: 830px) {
  .instaarea {
    min-height: 150px;
  }
}
@media screen and (max-width: 480px) {
  .instaarea {
    min-height: 80px;
  }
}
/*# sourceMappingURL=style.css.map */