@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Montserrat&display=swap");
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, center, 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, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

* {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Stylesheet */
html {
  width: 100%;
  height: auto;
  font-size: 62.5%;
}

body {
  min-width: 1280px;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
  font-size: 1.6rem;
  line-height: 2.6rem;
  font-weight: 400;
  color: #000;
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
  -webkit-text-size-adjust: 100%;
  position: relative;
}
@media only screen and (max-width: 559px) {
  body {
    font-size: 1.5rem;
    line-height: 2.5rem;
    min-width: 100%;
  }
}

img {
  display: block;
  max-width: 100%;
  height: auto;
  vertical-align: top;
  -webkit-transition: opacity 0.25s;
  transition: opacity 0.25s;
  outline: none;
}

div {
  margin: 0;
  padding: 0;
}

h1, h2, h3, h4, h5, h6 {
  -webkit-font-smoothing: antialiased;
  font-weight: normal;
}

h1, h2, h3, h4, h5, h6, p, ul, ol, li {
  margin: 0;
  padding: 0;
  list-style: none;
}

a, a i {
  text-decoration: none;
  outline: none;
  color: #000;
  -webkit-transition: background 0.25s, color 0.25s, opacity 0.25s;
  transition: background 0.25s, color 0.25s, opacity 0.25s;
}

a img {
  display: block;
  outline: none;
}

a:hover img {
  opacity: 1 !important;
}

a:focus, a:active, input, textarea {
  outline: none;
}

a:hover, a:hover img, a:hover {
  opacity: 0.8;
}

.NotoSerifJP {
  font-family: "Noto Serif JP", serif;
}

.fw-200-extra-light {
  font-weight: 200;
}

.fw-300-light {
  font-weight: 300;
}

.fw-400-regular {
  font-weight: 400;
}

.fw-500-medium {
  font-weight: 500;
}

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

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

.fw-900-black {
  font-weight: 900;
}

.btn-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: 60px;
}
@media only screen and (max-width: 559px) {
  .btn-box {
    margin-top: 30px;
  }
}
.btn-box.center {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.btn-box.flex-end {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
.btn-box.just-spacebetween {
  -webkit-box-pack: space-between;
  -ms-flex-pack: space-between;
  justify-content: space-between;
}

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 1.6rem;
  height: 54px;
  position: relative;
}
@media only screen and (max-width: 559px) {
  .btn {
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
}
.btn.small {
  font-size: 1.3rem;
  line-height: 1.3rem;
  height: 40px;
}

.btn-border {
  border: 1px solid #000;
}

.btn-icon-left span {
  margin-right: 10px;
}

.btn-icon-abs-right span {
  position: absolute;
  right: 20px;
  z-index: 8;
}

.btn-280 {
  width: 280px;
  min-width: 280px;
}

.btn-460 {
  width: 460px;
  min-width: 460px;
}
@media only screen and (max-width: 559px) {
  .btn-460 {
    width: 100%;
    min-width: 260px;
  }
}

.btn-box-col2 .btn-460 {
  width: 460px;
  min-width: 460px;
}
@media only screen and (max-width: 559px) {
  .btn-box-col2 .btn-460 {
    width: 48%;
    min-width: inherit;
  }
}

.btn-height-80 {
  height: 80px !important;
}
@media only screen and (max-width: 559px) {
  .btn-height-80 {
    height: 60px !important;
  }
}

.btn-yellow {
  background-color: #CBFC34;
  border: 1px solid #CBFC34;
}

.btn-white {
  background-color: #fff;
  border: 1px solid #000;
}

.btn-font-size24 {
  font-size: 2.4rem;
}
@media only screen and (max-width: 559px) {
  .btn-font-size24 {
    font-size: 2rem;
  }
}

.btn-arrow-right:hover {
  opacity: 1;
}
.btn-arrow-right:hover .btn-arrow::before {
  -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}

.btn-arrow-left:hover {
  opacity: 1;
}
.btn-arrow-left:hover .btn-arrow-slide-left::before {
  -webkit-animation: lineLeft 0.6s cubic-bezier(0.94, 0.45, 0.46, 0.25) 0s;
  animation: lineLeft 0.6s cubic-bezier(0.94, 0.45, 0.46, 0.25) 0s;
}

.btn-arrow {
  position: absolute;
  z-index: 8;
  width: 20px;
  height: 10px;
  background-image: url("/assets/images/commons/arrow-right-corner.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 6px;
}
.btn-arrow::before {
  position: absolute;
  right: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 11px;
  background-repeat: no-repeat;
  background-image: url("/assets/images/commons/arrow-right-dash.svg");
  background-position: center;
  background-size: 20px 1px;
  z-index: 2;
}
.btn-arrow.right {
  right: 16px;
}
.btn-arrow.left {
  left: 16px;
}

.btn-arrow-slide-left {
  position: absolute;
  z-index: 8;
  width: 20px;
  height: 10px;
  background-image: url("/assets/images/commons/arrow-left-corner.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 6px;
}
.btn-arrow-slide-left::before {
  position: absolute;
  left: 1px;
  top: 50%;
  -webkit-transform: translateY(-50%);
  transform: translateY(-50%);
  content: "";
  display: block;
  width: 20px;
  height: 11px;
  background-repeat: no-repeat;
  background-image: url("/assets/images/commons/arrow-right-dash.svg");
  background-position: center;
  background-size: 20px 1px;
  z-index: 2;
}
.btn-arrow-slide-left.right {
  right: 16px;
}
.btn-arrow-slide-left.left {
  left: 16px;
}

.fz32 {
  font-size: 3.2rem;
}
@media only screen and (max-width: 559px) {
  .fz32 {
    font-size: 1.8rem !important;
  }
}

.fz26 {
  font-size: 2.6rem !important;
}
@media only screen and (max-width: 559px) {
  .fz26 {
    font-size: 1.8rem !important;
  }
}

.fz28 {
  font-size: 2.8rem !important;
  line-height: 1.2;
}
@media only screen and (max-width: 559px) {
  .fz28 {
    font-size: 2rem !important;
  }
}

.fz18 {
  font-size: 1.8rem !important;
}
@media only screen and (max-width: 559px) {
  .fz18 {
    font-size: 1.5rem !important;
  }
}

.btn-arrow-next {
  background-image: url("/assets/images/commons/arrow-right.svg");
  background-size: 10px;
  background-position: center right 20px;
  background-repeat: no-repeat;
  background-size: 30px;
  width: 35px;
}
@media only screen and (max-width: 559px) {
  .btn-arrow-next {
    background-size: 20px;
  }
}

.btn-arrow-back {
  background-image: inherit;
  background-image: url("/assets/images/commons/arrow-back.svg");
  background-size: 10px;
  background-position: center left 20px;
  background-repeat: no-repeat;
  background-size: 30px;
  width: 35px;
}
@media only screen and (max-width: 559px) {
  .btn-arrow-back {
    background-size: 20px;
  }
}

@-webkit-keyframes line {
  0% {
    background-position: right center;
    background-size: 100% 1px;
  }
  50% {
    background-position: right center;
    background-size: 0 1px;
  }
  51% {
    background-position: left center;
    background-size: 0 1px;
  }
  100% {
    background-position: left center;
    background-size: 100% 1px;
  }
}
@keyframes line {
  0% {
    background-position: right center;
    background-size: 100% 1px;
  }
  50% {
    background-position: right center;
    background-size: 0 1px;
  }
  51% {
    background-position: left center;
    background-size: 0 1px;
  }
  100% {
    background-position: left center;
    background-size: 100% 1px;
  }
}
@-webkit-keyframes lineLeft {
  100% {
    background-position: right center;
    background-size: 100% 1px;
  }
  51% {
    background-position: right center;
    background-size: 0 1px;
  }
  50% {
    background-position: left center;
    background-size: 0 1px;
  }
  0% {
    background-position: left center;
    background-size: 100% 1px;
  }
}
@keyframes lineLeft {
  100% {
    background-position: right center;
    background-size: 100% 1px;
  }
  51% {
    background-position: right center;
    background-size: 0 1px;
  }
  50% {
    background-position: left center;
    background-size: 0 1px;
  }
  0% {
    background-position: left center;
    background-size: 100% 1px;
  }
}
@-webkit-keyframes scroll-bar {
  0% {
    height: 0;
    bottom: inherit;
    top: 73px;
  }
  40% {
    height: 110px;
    bottom: inherit;
    top: 73px;
  }
  41% {
    height: 110px;
    bottom: 0;
    top: inherit;
  }
  80% {
    height: 0;
    bottom: 0;
    top: inherit;
  }
  100% {
    height: 0;
    bottom: 0;
    top: inherit;
  }
}
@keyframes scroll-bar {
  0% {
    height: 0;
    bottom: inherit;
    top: 73px;
  }
  40% {
    height: 110px;
    bottom: inherit;
    top: 73px;
  }
  41% {
    height: 110px;
    bottom: 0;
    top: inherit;
  }
  80% {
    height: 0;
    bottom: 0;
    top: inherit;
  }
  100% {
    height: 0;
    bottom: 0;
    top: inherit;
  }
}
.txthead-box {
  margin-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .txthead-box {
    margin-bottom: 30px;
  }
}
.txthead-box .icon-txthead-rectangle {
  margin-bottom: 15px;
}
@media only screen and (max-width: 559px) {
  .txthead-box .icon-txthead-rectangle {
    margin-bottom: 0px;
  }
}
.txthead-box .fz44 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.4rem;
  line-height: 5.8rem;
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz44 {
    font-size: 3.8rem;
    line-height: 4.8rem;
  }
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz44 {
    font-size: 2.4rem;
    line-height: 4.4rem;
  }
}
.txthead-box .fz44 + p {
  margin-top: 5px;
}
.txthead-box .fz48 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.8rem;
  line-height: 5.8rem;
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz48 {
    font-size: 3.8rem;
    line-height: 4.8rem;
  }
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz48 {
    font-size: 2.8rem;
    line-height: 4.4rem;
  }
}
.txthead-box .fz48 + p {
  margin-top: 5px;
  font-family: "Noto Serif JP", serif;
}
.txthead-box .fz36 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.8rem;
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz36 {
    font-size: 3rem;
    line-height: 4.8rem;
  }
}
@media only screen and (max-width: 559px) {
  .txthead-box .fz36 {
    font-size: 2.4rem;
    line-height: 4.4rem;
  }
}
.txthead-box .fz36 + p {
  margin-top: 5px;
}
.txthead-box .fz13 {
  font-size: 1.3rem;
  line-height: 2.3rem;
}
.txthead-box.center {
  text-align: center;
}
.txthead-box.center .icon-txthead-rectangle {
  display: table;
  margin-left: auto;
  margin-right: auto;
}
@media only screen and (max-width: 559px) {
  .txthead-box.center h2.fz44 {
    text-align: left;
  }
  .txthead-box.center h2.fz44 br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  .txthead-box.center p br {
    display: none;
  }
}

.fz13 {
  font-size: 1.3rem;
  line-height: 2.3rem;
}

.lh16 {
  line-height: 1.6;
}

.lh20 {
  line-height: 2;
}

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

/* Main */
.content-pad {
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (max-width: 559px) {
  .content-pad {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .content-pad {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.content-1440-pad {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}
@media only screen and (max-width: 559px) {
  .content-1440-pad {
    padding-left: 30px;
    padding-right: 30px;
  }
}
@media only screen and (max-width: 559px) and (max-width: 559px) {
  .content-1440-pad {
    padding-left: 15px;
    padding-right: 15px;
  }
}

.content-1360 {
  width: 100%;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}

.content-1360-pad {
  width: 94%;
  max-width: 1360px;
  margin-left: auto;
  margin-right: auto;
}

.content-1230-pad {
  width: 94%;
  max-width: 1230px;
  margin-left: auto;
  margin-right: auto;
}

.content-1280-pad {
  width: 94%;
  max-width: 1280px;
  margin-left: auto;
  margin-right: auto;
}

.content-960-pad {
  width: 94%;
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}

.pt0 {
  padding-top: 0 !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.pb30 {
  padding-bottom: 30px;
}
@media only screen and (max-width: 559px) {
  .pb30 {
    padding-bottom: 20px;
  }
}

.pb40 {
  padding-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  .pb40 {
    padding-bottom: 20px;
  }
}

.pb60 {
  padding-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .pb60 {
    padding-bottom: 30px;
  }
}

.pb100 {
  padding-bottom: 100px;
}
@media only screen and (max-width: 559px) {
  .pb100 {
    padding-bottom: 60px;
  }
}

.pb120 {
  padding-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .pb120 {
    padding-bottom: 70px;
  }
}
@media only screen and (max-width: 559px) {
  .pb120 {
    padding-bottom: 50px;
  }
}

.pt15 {
  padding-top: 15px;
}

.pt30 {
  padding-top: 30px;
}
@media only screen and (max-width: 559px) {
  .pt30 {
    padding-top: 20px;
  }
}

.pt40 {
  padding-top: 40px;
}
@media only screen and (max-width: 559px) {
  .pt40 {
    padding-top: 20px;
  }
}

.pt60 {
  padding-top: 60px;
}
@media only screen and (max-width: 559px) {
  .pt60 {
    padding-top: 40px;
  }
}

.pt80 {
  padding-top: 80px;
}
@media only screen and (max-width: 559px) {
  .pt80 {
    padding-top: 40px;
  }
}

.pt100 {
  padding-top: 100px;
}
@media only screen and (max-width: 559px) {
  .pt100 {
    padding-top: 60px;
  }
}

.pt120 {
  padding-top: 100px;
}
@media only screen and (max-width: 559px) {
  .pt120 {
    padding-top: 70px;
  }
}
@media only screen and (max-width: 559px) {
  .pt120 {
    padding-top: 50px;
  }
}

.pt160 {
  padding-top: 160px;
}
@media only screen and (max-width: 559px) {
  .pt160 {
    padding-top: 60px;
  }
}

.pad60 {
  padding-top: 60px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .pad60 {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.pad60120 {
  padding-top: 60px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .pad60120 {
    padding-top: 40px;
    padding-bottom: 100px;
  }
}
@media only screen and (max-width: 559px) {
  .pad60120 {
    padding-bottom: 60px;
  }
}

.pad80 {
  padding-top: 80px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 559px) {
  .pad80 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad80100 {
  padding-top: 80px;
  padding-bottom: 100px;
}
@media only screen and (max-width: 559px) {
  .pad80100 {
    padding-top: 60px;
    padding-bottom: 80px;
  }
}

.pad23060 {
  padding-top: 230px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .pad23060 {
    padding-top: 50px;
    padding-bottom: 40px;
  }
}

.pad200120 {
  padding-top: 200px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .pad200120 {
    padding-top: 60px;
    padding-bottom: 60px;
  }
}

.pad36060 {
  padding-top: 360px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .pad36060 {
    padding-top: 150px;
    padding-bottom: 40px;
  }
}

.pad100 {
  padding: 100px 0;
}
@media only screen and (max-width: 559px) {
  .pad100 {
    padding: 70px 0;
  }
}
@media only screen and (max-width: 559px) {
  .pad100 {
    padding: 40px 0;
  }
}

.pad120 {
  padding: 120px 0;
}
@media only screen and (max-width: 559px) {
  .pad120 {
    padding: 70px 0;
  }
}
@media only screen and (max-width: 559px) {
  .pad120 {
    padding: 50px 0;
  }
}

.pad160120 {
  padding-top: 160px;
  padding-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .pad160120 {
    padding-top: 100px;
    padding-bottom: 60px;
  }
}

.pad9060 {
  padding-top: 90px;
  padding-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .pad9060 {
    padding-top: 70px;
    padding-bottom: 40px;
  }
}

.pad9030 {
  padding-top: 90px;
  padding-bottom: 30px;
}
@media only screen and (max-width: 559px) {
  .pad9030 {
    padding-top: 70px;
    padding-bottom: 20px;
  }
}

.pad16080 {
  padding-top: 160px;
  padding-bottom: 80px;
}
@media only screen and (max-width: 559px) {
  .pad16080 {
    padding-top: 100px;
    padding-bottom: 40px;
  }
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}
@media only screen and (max-width: 559px) {
  .mt40 {
    margin-top: 20px;
  }
}

.mt60 {
  margin-top: 60px;
}
@media only screen and (max-width: 559px) {
  .mt60 {
    margin-top: 40px;
  }
}

.mt100 {
  margin-top: 100px;
}
@media only screen and (max-width: 559px) {
  .mt100 {
    margin-top: 40px;
  }
}

.mt120 {
  margin-top: 120px;
}
@media only screen and (max-width: 559px) {
  .mt120 {
    margin-top: 50px;
  }
}

.mb60 {
  margin-bottom: 60px;
}
@media only screen and (max-width: 559px) {
  .mb60 {
    margin-bottom: 40px;
  }
}

.mb120 {
  margin-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .mb120 {
    margin-bottom: 50px;
  }
}

/* Header */
header {
  position: sticky;
  top: 0;
  left: 0;
  z-index: 11;
  background-color: #fff;
  width: 100%;
  min-width: 1180px;
}
@media only screen and (max-width: 559px) {
  header {
    padding-right: 0 !important;
    min-width: 100%;
  }
}
header .header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  height: 90px;
}
@media only screen and (max-width: 559px) {
  header .header {
    height: 60px;
  }
}
header .header .header-left {
  min-width: 293px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 559px) {
  header .header .header-left {
    max-width: 200px;
    min-width: 200px;
  }
}
header .header .header-left .header-logo {
  display: block;
}
header .header .header-right {
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 559px) {
  header .header .header-right .header-menu {
    display: none;
  }
}
header .header .header-right .header-menu ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .header .header-right .header-menu ul li {
  margin-right: 40px;
}
@media only screen and (max-width: 1440px) {
  header .header .header-right .header-menu ul li {
    margin-right: 25px;
  }
}
@media only screen and (max-width: 1300px) {
  header .header .header-right .header-menu ul li {
    margin-right: 20px;
  }
}
header .header .header-right .header-menu ul li a {
  font-family: "Noto Serif JP", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
header .header .header-right .header-menu ul li a span {
  margin-left: 9px;
}
header .header .header-right .header-social {
  margin-right: 40px;
}
@media only screen and (max-width: 1300px) {
  header .header .header-right .header-social {
    margin-right: 25px;
  }
}
@media only screen and (max-width: 559px) {
  header .header .header-right .header-social {
    display: none;
  }
}
header .header .header-right .header-social ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
header .header .header-right .header-social ul li + li {
  margin-left: 15px;
}
@media only screen and (max-width: 1300px) {
  header .header .header-right .header-social ul li + li {
    margin-left: 10px;
  }
}
header .header .header-right .header-social ul li a {
  display: block;
}
header .header .header-right .header-btn {
  height: 100%;
}
@media only screen and (max-width: 559px) {
  header .header .header-right .header-btn {
    display: none;
  }
}
header .header .header-right .header-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding: 0 40px;
  font-family: "Noto Serif JP", serif;
  color: #000;
  background-color: #CBFC34;
}
@media only screen and (max-width: 1300px) {
  header .header .header-right .header-btn a {
    padding: 0 25px;
  }
}
header .header .header-right .header-btn a span {
  margin-right: 5px;
}
header .header .header-right .header-burger {
  display: none;
  height: 60px;
  position: relative;
}
header .header .header-right .header-burger a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 60px;
  height: 60px;
  background-color: #CBFC34;
}
@media only screen and (max-width: 559px) {
  header .header .header-right .header-burger {
    display: block;
  }
}

.menu01 .header-menu ul li:nth-child(1) {
  position: relative;
}
.menu01 .header-menu ul li:nth-child(1):after {
  content: url("/assets/images/commons/menu-active.png");
  position: absolute;
  top: -32px;
  right: 0;
}
@media only screen and (max-width: 559px) {
  .menu01 .header-menu ul li:nth-child(1):after {
    top: 30%;
  }
}

.menu02 .header-menu ul li:nth-child(2) {
  position: relative;
}
.menu02 .header-menu ul li:nth-child(2):after {
  content: url("/assets/images/commons/menu-active.png");
  position: absolute;
  top: -32px;
  right: 0;
}
@media only screen and (max-width: 559px) {
  .menu02 .header-menu ul li:nth-child(2):after {
    top: 30%;
  }
}

.menu03 .header-menu ul li:nth-child(3) {
  position: relative;
}
.menu03 .header-menu ul li:nth-child(3):after {
  content: url("/assets/images/commons/menu-active.png");
  position: absolute;
  top: -32px;
  right: 0;
}
@media only screen and (max-width: 559px) {
  .menu03 .header-menu ul li:nth-child(3):after {
    top: 30%;
  }
}

.menu04 .header-menu ul li:nth-child(4) {
  position: relative;
}
.menu04 .header-menu ul li:nth-child(4):after {
  content: url("/assets/images/commons/menu-active.png");
  position: absolute;
  top: -32px;
  right: 0;
}
@media only screen and (max-width: 559px) {
  .menu04 .header-menu ul li:nth-child(4):after {
    top: 30%;
  }
}

.menu05 .header-menu ul li:nth-child(5) {
  position: relative;
}
.menu05 .header-menu ul li:nth-child(5):after {
  content: url("/assets/images/commons/menu-active.png");
  position: absolute;
  top: -32px;
  right: 0;
}
@media only screen and (max-width: 559px) {
  .menu05 .header-menu ul li:nth-child(5):after {
    top: 30%;
  }
}

#header-company nav {
  background-color: #F4F4F4;
  padding: 20px 0;
}
#header-company nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#header-company nav > ul li {
  margin: 0 12px;
}
#header-company nav > ul li a {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #header-company nav > ul li {
    margin: 0 8px;
  }
  #header-company nav > ul li a {
    font-size: 1.3rem;
  }
}

.nt01 #header-company nav > ul li:nth-child(1) a {
  color: #707070;
}

.nt02 #header-company nav > ul li:nth-child(2) a {
  color: #707070;
}

.nt03 #header-company nav > ul li:nth-child(3) a {
  color: #707070;
}

.nt04 #header-company nav > ul li:nth-child(4) a {
  color: #707070;
}

#header-facility nav {
  background-color: #F4F4F4;
  padding: 20px 0;
}
#header-facility nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#header-facility nav > ul li {
  margin: 0 12px;
}
#header-facility nav > ul li a {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #header-facility nav > ul li {
    margin: 0 10px;
  }
  #header-facility nav > ul li a {
    font-size: 1.3rem;
  }
}

@media only screen and (max-width: 559px) {
  #header-facility {
    padding-right: 0;
    padding-left: 0;
  }
}

.nt01 #header-facility nav > ul li:nth-child(1) a {
  color: #707070;
}

.nt02 #header-facility nav > ul li:nth-child(2) a {
  color: #707070;
}

.nt03 #header-facility nav > ul li:nth-child(3) a {
  color: #707070;
}

.nt04 #header-facility nav > ul li:nth-child(4) a {
  color: #707070;
}

#header-facility nav {
  background-color: #F4F4F4;
  padding: 20px 0;
}
#header-facility nav > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#header-facility nav > ul li {
  margin: 0 12px;
}
#header-facility nav > ul li a {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #header-facility nav > ul li {
    margin: 0 10px;
  }
  #header-facility nav > ul li a {
    font-size: 1.3rem;
  }
}

.nav-icon {
  position: relative;
  margin: 0;
  padding: 0;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
  cursor: pointer;
}

.nav-icon span {
  display: block;
  position: absolute;
  height: 2px;
  width: 30px;
  background: #000;
  border-radius: 9px;
  opacity: 1;
  left: 15px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: 0.25s ease-in-out;
  transition: 0.25s ease-in-out;
}

.nav-icon span:nth-child(1) {
  top: 18px;
}

.nav-icon span:nth-child(2), .nav-icon span:nth-child(3) {
  top: 28px;
}

.nav-icon span:nth-child(4) {
  top: 38px;
}

.nav-icon.open span:nth-child(1) {
  top: 28px;
  width: 0%;
  left: 50%;
}

.nav-icon.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}

.nav-icon.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

.nav-icon.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}

/* Main */
main {
  position: relative;
}
/* MV */
#mv {
  position: relative;
}
@media only screen and (max-width: 559px) {
  #mv {
    padding-right: 0;
  }
}
#mv .scroll {
  position: absolute;
  bottom: -62px;
  right: 15px;
  padding-bottom: 130px;
}
@media only screen and (max-width: 559px) {
  #mv .scroll {
    right: 5px;
  }
}
@media only screen and (max-width: 559px) {
  #mv .scroll {
    display: none;
  }
}
#mv .scroll::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 73px;
  display: block;
  width: 1px;
  height: 0;
  background: #1e1e1e;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-transform-origin: top;
  transform-origin: top;
  -webkit-animation: scroll-bar 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
  animation: scroll-bar 2.5s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}
#mv .mv .mv-item {
  position: relative;
  padding-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item {
    padding-bottom: 0;
  }
}
#mv .mv .mv-item.slide1 .text p {
  font-size: 2.2rem;
  line-height: 3rem;
  text-transform: uppercase;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide1 .text p {
    font-size: 1.8rem;
    line-height: 2.4rem;
  }
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide1 .text p {
    font-size: 1.2rem;
    line-height: 2rem;
  }
}
#mv .mv .mv-item.slide1 .text .txt-lage-bold {
  font-size: 4.4rem;
  line-height: 6rem;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide1 .text .txt-lage-bold {
    font-size: 4rem;
    line-height: 5rem;
  }
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide1 .text .txt-lage-bold {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
#mv .mv .mv-item.slide2 .text p {
  font-size: 1.3rem;
  line-height: 2rem;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide2 .text p {
    font-size: 1.2rem;
    line-height: 2rem;
  }
}
#mv .mv .mv-item.slide2 .text .txt-lage-bold {
  font-size: 4.4rem;
  line-height: 6rem;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide2 .text .txt-lage-bold {
    font-size: 4rem;
    line-height: 5rem;
  }
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide2 .text .txt-lage-bold {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
#mv .mv .mv-item.slide3 .text p {
  font-size: 1.3rem;
  line-height: 2rem;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide3 .text p {
    font-size: 1.2rem;
    line-height: 2rem;
  }
}
#mv .mv .mv-item.slide3 .text .txt-lage-bold {
  font-size: 4.4rem;
  line-height: 6rem;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide3 .text .txt-lage-bold {
    font-size: 4rem;
    line-height: 5rem;
  }
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item.slide3 .text .txt-lage-bold {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
#mv .mv .mv-item .text {
  width: 100%;
  max-width: 580px;
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 9;
  padding: 40px;
  background-color: #fff;
  font-family: "Noto Serif JP", serif;
  border-right: 10px solid #CBFC34;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item .text {
    max-width: 282px;
    padding: 15px;
    bottom: 0;
  }
}
#mv .mv .mv-item .text h2 {
  margin-top: 15px;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item .text h2 {
    margin-top: 10px;
  }
}
#mv .mv .mv-item .text .btn-box {
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item .text .btn-box {
    margin-top: 20px;
  }
}
@media only screen and (max-width: 559px) {
  #mv .mv .mv-item .text .btn-box a {
    width: 100%;
    min-width: auto;
  }
}
#mv .mv .mv-item .img {
  width: 100%;
  min-height: 520px;
  -o-object-fit: cover;
  object-fit: cover;
  overflow: hidden;
}
#mv .mv .mv-item .img img {
  width: 100%;
  min-height: 520px;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}

.mv-dots {
  position: absolute;
  bottom: 65px;
  right: 25px;
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 559px) {
  .mv-dots {
    right: 10px;
    bottom: 20px;
  }
}
.mv-dots li {
  margin-left: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 559px) {
  .mv-dots li {
    margin-left: 10px;
  }
}
.mv-dots li.slick-active button {
  background-color: #CBFC34;
}
.mv-dots li button {
  width: 16px;
  max-width: 16px;
  min-width: 16px;
  height: 16px;
  max-height: 16px;
  min-height: 16px;
  border-radius: 100%;
  color: transparent;
  background-color: #fff;
  border: 0;
  font-size: 0;
  line-height: 0;
}
@media only screen and (max-width: 559px) {
  .mv-dots li button {
    width: 13px;
    max-width: 13px;
    min-width: 13px;
    height: 13px;
    max-height: 13px;
    min-height: 13px;
  }
}
.mv-dots li button:hover {
  cursor: pointer;
}

/* News */
#news {
  position: relative;
  padding-top: 130px;
}
@media only screen and (max-width: 559px) {
  #news {
    padding-top: 80px;
  }
}
@media only screen and (max-width: 559px) {
  #news {
    padding-top: 40px;
  }
}
#news .news-text-img {
  position: absolute;
  top: 130px;
  left: 40px;
  z-index: 8;
}
@media only screen and (max-width: 559px) {
  #news .news-text-img {
    left: 0px;
  }
}
@media only screen and (max-width: 559px) {
  #news .news-text-img {
    width: 41px;
    top: 40px;
  }
}
#news .news {
  padding-top: 55px;
  padding-left: 102px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #news .news {
    display: block;
    padding-left: 0;
    position: relative;
    z-index: 9;
  }
}
@media only screen and (max-width: 559px) {
  #news .news {
    padding-top: 30px;
  }
}
#news .news .news-topic {
  width: 100%;
  max-width: 160px;
  min-width: 160px;
}
@media only screen and (max-width: 559px) {
  #news .news .news-topic {
    margin-left: auto;
    margin-right: auto;
    max-width: 100%;
    min-width: 100%;
  }
}
#news .news .news-topic h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  line-height: 4.8rem;
  margin-bottom: 35px;
}
@media only screen and (max-width: 559px) {
  #news .news .news-topic h2 {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  #news .news .news-topic h2 {
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  #news .news .news-topic .btn-box {
    display: none;
  }
}
#news .news .news-topic .btn-box .btn {
  width: 160px;
}
#news .news .news-list {
  width: 100%;
  padding-left: 85px;
  padding-right: 40px;
}
@media only screen and (max-width: 559px) {
  #news .news .news-list {
    padding-left: 40px;
    padding-right: 0;
  }
}
@media only screen and (max-width: 559px) {
  #news .news .news-list {
    padding-left: 0;
  }
}
#news .news .news-list ul li {
  border-bottom: 1px solid #ddd;
  padding-bottom: 15px;
}
#news .news .news-list ul li + li {
  margin-top: 15px;
}
#news .news .news-list ul li a {
  display: block;
  font-family: "Noto Serif JP", serif;
}
#news .news .news-list ul li a .date-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
}
#news .news .news-list ul li a .date-tag p.date {
  font-size: 1.3rem;
  line-height: 1.3rem;
}
#news .news .news-list ul li a .date-tag p.tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 80px;
  height: 18px;
  margin-left: 10px;
  font-size: 1rem;
  line-height: 1rem;
  background-color: #EAEAEA;
  padding: 0 0.5em;
}
#news .news .news-list ul li a h3 {
  font-size: 1.8rem;
  line-height: 2.8rem;
}
@media only screen and (max-width: 559px) {
  #news .news .news-list ul li a h3 {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 559px) {
  #news .news .news-list ul li a h3 {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}
#news .news .btn-box {
  margin-top: 60px;
}
@media only screen and (max-width: 559px) {
  #news .news .btn-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}
@media only screen and (max-width: 559px) {
  #news .news .btn-box {
    margin-top: 40px;
  }
}
#news .news .btn-box-sp {
  display: none;
}
@media only screen and (max-width: 559px) {
  #news .news .btn-box-sp {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

/* About */
#about .about .about-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content {
    display: block;
  }
}
#about .about .about-content .about-img {
  width: 50%;
}
#about .about .about-content .about-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-img {
    width: 100%;
  }
}
#about .about .about-content .about-text {
  width: 50%;
  padding-left: 40px;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text {
    width: 100%;
    padding-left: 0;
    margin-top: 30px;
  }
}
#about .about .about-content .about-text h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.2rem;
  margin-bottom: 20px;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text h3 {
    font-size: 3rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text h3 {
    text-align: center;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text h3 {
    font-size: 2.2rem;
    line-height: 3.6rem;
    margin-bottom: 20px;
  }
}
#about .about .about-content .about-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text p {
    line-height: 2.8rem;
  }
}
#about .about .about-content .about-text .btn-box {
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text .btn-box {
    margin-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 559px) {
  #about .about .about-content .about-text .btn-box {
    margin-top: 50px;
  }
}

/* Business */
@media only screen and (max-width: 559px) {
  #business {
    padding-left: 0;
    padding-right: 0;
  }
}
#business .business {
  position: relative;
}
#business .business::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 8;
  background-color: #F4F4F4;
  width: 100%;
  height: 50%;
}
@media only screen and (max-width: 559px) {
  #business .business::after {
    display: none;
  }
}
#business .business .txthead-box {
  margin-bottom: 30px;
}
#business .business .intro p {
  font-family: "Noto Serif JP", serif;
  text-align: center;
}
#business .business .business-list {
  position: relative;
  z-index: 9;
  margin-top: 60px;
  padding: 0 40px 40px 40px;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list {
    margin-top: 40px;
    padding: 0 30px 30px 30px;
  }
}
@media only screen and (max-width: 559px) {
  #business .business .business-list {
    padding: 15px 15px 15px 15px;
    background-color: #f4f4f4;
  }
}
#business .business .business-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul {
    display: block;
  }
}
#business .business .business-list ul li {
  width: 33.33%;
  background-color: #fff;
  /* a { */
  /*}*/
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li {
    width: 100%;
  }
}
#business .business .business-list ul li + li {
  margin-left: 1px;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li + li {
    margin-left: 0;
    margin-top: 30px;
  }
}
#business .business .business-list ul li img {
  width: 100%;
}
#business .business .business-list ul li:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#business .business .business-list ul li:hover .cover .arrow .btn-arrow::before {
  -webkit-animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
  animation: line 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0s;
}
#business .business .business-list ul li .cover {
  position: relative;
  overflow: hidden;
}
#business .business .business-list ul li .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
#business .business .business-list ul li .cover .arrow {
  width: 48px;
  height: 48px;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 9;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background-color: #fff;
}
#business .business .business-list ul li .text {
  padding: 25px;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text {
    padding: 15px;
  }
}
#business .business .business-list ul li .text .topic {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic {
    margin-bottom: 20px;
  }
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic {
    margin-bottom: 10px;
  }
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic p {
    font-size: 1.4rem;
    line-height: 2.4rem;
  }
}
#business .business .business-list ul li .text .topic h3 {
  margin-top: 20px;
  font-size: 3.6rem;
  line-height: 4.6rem;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic h3 {
    margin-top: 15px;
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic h3 {
    font-size: 2rem;
    line-height: 3rem;
  }
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .topic h3 {
    margin-top: 10px;
  }
}
#business .business .business-list ul li .text .brief p {
  font-size: 1.4rem;
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  #business .business .business-list ul li .text .brief p {
    line-height: 2.6rem;
  }
}

/* Own */
#own .own .own-banner {
  position: relative;
}
#own .own .own-banner a {
  display: block;
}
#own .own .own-banner a:hover {
  opacity: 1;
}
#own .own .own-banner a:hover .text {
  background-color: #f5f5f5;
}
#own .own .own-banner a .tag {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 8;
  background-color: #D1C286;
  padding: 10px 15px;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .tag {
    padding: 5px 10px;
  }
}
#own .own .own-banner a .tag p {
  font-family: "Noto Serif JP", serif;
  font-size: 1.8rem;
  line-height: 2.8rem;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .tag p {
    font-size: 1.6rem;
    line-height: 2.6rem;
  }
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .tag p {
    font-size: 1.3rem;
    line-height: 2.3rem;
  }
}
#own .own .own-banner a .text {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  z-index: 8;
  margin-top: auto;
  margin-bottom: auto;
  padding: 45px 50px;
  background-color: rgba(255, 255, 255, 0.75);
  display: table;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text {
    padding: 35px 30px;
  }
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text {
    top: 70px;
    bottom: inherit;
  }
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text {
    top: 50px;
    padding: 15px;
  }
}
#own .own .own-banner a .text .topic {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 30px;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text .topic {
    margin-bottom: 10px;
  }
}
#own .own .own-banner a .text .topic p {
  font-size: 2rem;
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text .topic p {
    font-size: 1.8rem;
    line-height: 2.8rem;
  }
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text .topic p {
    font-size: 1rem;
    line-height: 2rem;
  }
}
#own .own .own-banner a .text .topic h3 {
  font-family: "Montserrat", sans-serif;
  font-size: 3.6rem;
  line-height: 4.6rem;
  margin-top: 15px;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text .topic h3 {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text .topic h3 {
    font-size: 2rem;
    line-height: 3rem;
    margin-top: 5px;
  }
}
#own .own .own-banner a .text p {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #own .own .own-banner a .text p {
    font-size: 0.8rem;
    line-height: 1.8rem;
  }
}
#own .own .own-banner a img {
  width: 100%;
  height: auto;
}

/* Topics */
#topics {
  position: relative;
}
#topics .topics-text-img {
  position: absolute;
  top: 90px;
  left: 40px;
  z-index: 8;
}
@media only screen and (max-width: 559px) {
  #topics .topics-text-img {
    left: 0;
  }
}
@media only screen and (max-width: 559px) {
  #topics .topics-text-img {
    width: 41px;
    top: 40px;
  }
}
#topics .topics {
  padding-top: 55px;
  padding-left: 102px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #topics .topics {
    display: block;
    padding-top: 30px;
    padding-left: 0;
  }
}
@media only screen and (max-width: 559px) {
  #topics .topics {
    padding-top: 0;
  }
}
#topics .topics .topics-topic {
  width: 100%;
  max-width: 200px;
  min-width: 200px;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-topic {
    max-width: 100%;
    min-width: 100%;
  }
}
#topics .topics .topics-topic h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  line-height: 4.8rem;
  margin-bottom: 35px;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-topic h2 {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-topic h2 {
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-topic .btn-box {
    display: none;
  }
}
#topics .topics .topics-topic .btn-box .btn {
  width: 160px;
}
#topics .topics .topics-list {
  width: 100%;
  margin-top: 15px;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-list {
    position: relative;
    z-index: 9;
  }
}
#topics .topics .topics-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-top: -30px;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-list ul {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#topics .topics .topics-list ul li {
  width: 100%;
  max-width: 224px;
  margin-left: 30px;
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-list ul li {
    width: 47.5%;
    max-width: 100%;
    margin-left: 0;
    margin-top: 30px;
  }
}
#topics .topics .topics-list ul li a {
  display: block;
  height: 100%;
}
#topics .topics .topics-list ul li a:hover {
  opacity: 1;
}
#topics .topics .topics-list ul li a:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#topics .topics .topics-list ul li a .cover {
  overflow: hidden;
}
#topics .topics .topics-list ul li a .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
#topics .topics .topics-list ul li a .brief {
  margin-top: 16px;
  font-family: "Noto Serif JP", serif;
}
#topics .topics .topics-list ul li a .brief .date-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
}
#topics .topics .topics-list ul li a .brief .date-tag p.date {
  font-size: 1.3rem;
  line-height: 1.3rem;
}
#topics .topics .topics-list ul li a .brief .date-tag p.tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 80px;
  height: 18px;
  margin-left: 10px;
  font-size: 1rem;
  line-height: 1rem;
  background-color: #EAEAEA;
  padding: 0 0.5em;
}
#topics .topics .topics-list ul li a .brief h3 {
  font-size: 1.8rem;
  line-height: 2.6rem;
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-list ul li a .brief h3 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 559px) {
  #topics .topics .topics-list ul li a .brief h3 {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}

/* Recruit */
#recruit .recruit {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit {
    display: block;
  }
}
#recruit .recruit .recruit-img {
  width: 50%;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-img {
    display: none;
  }
}
#recruit .recruit .recruit-text {
  width: 50%;
  padding-left: 40px;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text {
    width: 100%;
    padding-left: 0;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .txthead-box {
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .txthead-box {
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .txthead-box .icon-txthead-rectangle {
    display: table;
    margin-left: auto;
    margin-right: auto;
  }
}
#recruit .recruit .recruit-text .recruit-text-img {
  display: none;
  margin-top: 50px;
  margin-bottom: 50px;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .recruit-text-img {
    display: block;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .recruit-text-img {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}
#recruit .recruit .recruit-text .recruit-text-img img {
  width: 100%;
  height: auto;
}
#recruit .recruit .recruit-text h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.2rem;
  margin-bottom: 25px;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text h3 {
    font-size: 3rem;
    line-height: 4.2rem;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text h3 {
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text h3 {
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
#recruit .recruit .recruit-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text p {
    line-height: 2.6rem;
  }
}
#recruit .recruit .recruit-text .btn-box {
  margin-top: 35px;
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .btn-box {
    margin-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 559px) {
  #recruit .recruit .recruit-text .btn-box {
    margin-top: 50px;
  }
}

/* Footer */
footer {
  color: #fff;
  background-color: #242424;
}
footer .footer-contact-bg {
  font-family: "Noto Serif JP", serif;
  padding: 65px 0;
  color: #000;
  background-color: #CBFC34;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg {
    padding: 60px 0;
  }
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg {
    padding: 40px 0;
  }
}
footer .footer-contact-bg .footer-contact h2 {
  font-size: 2.8rem;
  line-height: 3.8rem;
  text-align: center;
  margin-bottom: 35px;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact h2 {
    font-size: 2.4rem;
    line-height: 3.4rem;
  }
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact h2 {
    font-size: 2rem;
    line-height: 3rem;
    margin-bottom: 25px;
  }
}
footer .footer-contact-bg .footer-contact ul {
  width: 100%;
  max-width: 950px;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact ul {
    display: block;
    padding: 0 30px;
  }
}
footer .footer-contact-bg .footer-contact ul li {
  padding: 0 20px;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact ul li {
    padding: 0;
  }
}
footer .footer-contact-bg .footer-contact ul li.tel {
  width: 50%;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact ul li.tel {
    width: 100%;
    max-width: 280px;
    margin-left: auto;
    margin-right: auto;
  }
}
footer .footer-contact-bg .footer-contact ul li.tel a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact ul li.tel a {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
footer .footer-contact-bg .footer-contact ul li.tel a span:first-child {
  margin-right: 9px;
  margin-bottom: 3px;
}
footer .footer-contact-bg .footer-contact ul li.button {
  width: 50%;
}
@media only screen and (max-width: 559px) {
  footer .footer-contact-bg .footer-contact ul li.button {
    width: 100%;
    max-width: 380px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 35px;
  }
}
footer .footer-contact-bg .footer-contact ul li.button a {
  height: 72px;
  font-size: 2rem;
  line-height: 2rem;
}
footer .footer {
  padding-top: 40px;
  padding-bottom: 55px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  footer .footer {
    padding-right: 30px;
    padding-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  footer .footer {
    display: block;
  }
}
footer .footer .footer-left .footer-logo {
  margin-bottom: 20px;
}
@media only screen and (max-width: 559px) {
  footer .footer .footer-left .footer-logo {
    width: 200px;
  }
}
@media only screen and (max-width: 559px) {
  footer .footer .footer-left .footer-logo {
    margin-left: auto;
    margin-right: auto;
  }
}
@media only screen and (max-width: 559px) {
  footer .footer .footer-left .footer-address p {
    text-align: center;
  }
}
footer .footer .footer-left .footer-address p a {
  color: #fff;
}
footer .footer .footer-right {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  footer .footer .footer-right {
    display: block;
    text-align: center;
    margin-top: 30px;
  }
}
footer .footer .footer-right p a {
  color: #fff;
}
footer .footer .footer-right p:first-child {
  font-family: "Noto Serif JP", serif;
}
footer .footer .footer-right p.copyright {
  font-size: 1rem;
  line-height: 1.4rem;
}
@media only screen and (max-width: 559px) {
  footer .footer .footer-right p.copyright {
    margin-top: 15px;
  }
}

.slick-track {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.slick-track .slick-slide {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  height: auto !important;
}

.slider div {
  height: 100%;
  width: 100%;
}

.slider div img {
  height: 100% !important;
  width: 100%;
  -o-object-fit: cover !important;
     object-fit: cover !important;
}

.show1280 {
  display: none !important;
}
@media only screen and (max-width: 1280px) {
  .show1280 {
    display: block !important;
  }
}

.show1180 {
  display: none !important;
}
@media only screen and (max-width: 559px) {
  .show1180 {
    display: block !important;
  }
}

.show1080 {
  display: none !important;
}
@media only screen and (max-width: 559px) {
  .show1080 {
    display: block !important;
  }
}

.show950 {
  display: none !important;
}
@media only screen and (max-width: 950px) {
  .show950 {
    display: block !important;
  }
}

.show834ipad {
  display: none !important;
}
@media only screen and (max-width: 834px) {
  .show834ipad {
    display: block !important;
  }
}

.show834 {
  display: none !important;
}
@media only screen and (max-width: 559px) {
  .show834 {
    display: block !important;
  }
}

.show750 {
  display: none !important;
}
@media only screen and (max-width: 559px) {
  .show750 {
    display: block !important;
  }
}

@media only screen and (max-width: 1280px) {
  .hide1280 {
    display: none !important;
  }
}

@media only screen and (max-width: 559px) {
  .hide1180 {
    display: none !important;
  }
}

@media only screen and (max-width: 559px) {
  .hide1080 {
    display: none !important;
  }
}

@media only screen and (max-width: 950px) {
  .hide950 {
    display: none !important;
  }
}

@media only screen and (max-width: 834px) {
  .hide834ipad {
    display: none !important;
  }
}

@media only screen and (max-width: 559px) {
  .hide834 {
    display: none !important;
  }
}

@media only screen and (max-width: 559px) {
  .hide750 {
    display: none !important;
  }
}

#base-title-page {
  border-bottom: 1px solid #DDDDDD;
}
#base-title-page .base-title-page h1, #base-title-page .base-title-page h2 {
  font-size: 3.6rem;
  line-height: 1.6;
  /* new-detail */
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #base-title-page .base-title-page h1, #base-title-page .base-title-page h2 {
    font-size: 2.6rem;
  }
}
#base-title-page .base-title-page .date-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 20px;
  /* new-detail */
  font-family: "Noto Serif JP", serif;
}
#base-title-page .base-title-page .date-tag p.date {
  font-size: 1.6rem;
  line-height: 1.6;
}
#base-title-page .base-title-page .date-tag p.tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 80px;
  height: 23px;
  margin-left: 20px;
  font-size: 1.3rem;
  background-color: #EAEAEA;
  /* new-detail */
  font-family: "Noto Serif JP", serif;
  padding: 0 0.5em;
}

@media only screen and (max-width: 559px) {
  #banner-page {
    padding-left: 0;
    padding-right: 0;
  }
}
#banner-page .banner-page {
  background-color: #F4F4F4;
  height: 240px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 4.4rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
}
#banner-page .banner-page .icon {
  margin-right: 5px;
}
@media only screen and (max-width: 559px) {
  #banner-page .banner-page {
    font-size: 2.6rem;
    height: 150px;
  }
}

#banner-page-content {
  position: relative;
}
#banner-page-content .banner-page-content {
  position: relative;
}
#banner-page-content .banner-page-content .image-banner {
  width: 100%;
  -webkit-transition: all 0.01s ease;
  transition: all 0.01s ease;
  /* iPad Landscape */
}
@media screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: portrait) {
  #banner-page-content .banner-page-content .image-banner {
    width: 100% !important;
  }
}
@media screen and (min-device-width: 481px) and (max-device-width: 1024px) and (orientation: landscape) {
  #banner-page-content .banner-page-content .image-banner {
    width: 100% !important;
  }
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .image-banner {
    width: 100% !important;
  }
}
#banner-page-content .banner-page-content .image-banner img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 640px;
  width: 100%;
  -o-object-position: left top;
     object-position: left top;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .image-banner img {
    width: 100%;
    -o-object-fit: inherit;
       object-fit: inherit;
    height: auto;
  }
}
#banner-page-content .banner-page-content .image-banner img.center-only {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
#banner-page-content .banner-page-content .image-banner-center {
  height: 550px;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .image-banner-center {
    height: auto;
  }
}
#banner-page-content .banner-page-content .txt-banner {
  width: 100%;
  max-width: 580px;
  position: absolute;
  left: 0;
  bottom: -40px;
  z-index: 9;
  padding: 40px 40px;
  background-color: #fff;
  font-family: "Noto Serif JP", serif;
  border-right: 10px solid #CBFC34;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner {
    padding: 20px 10px;
    max-width: 320px;
    left: -1px;
  }
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner {
    bottom: 0 !important;
    position: relative;
  }
}
#banner-page-content .banner-page-content .txt-banner h1 {
  font-size: 4.4rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner h1 {
    font-size: 2.8rem;
  }
}
#banner-page-content .banner-page-content .txt-banner p {
  font-size: 1.3rem;
  line-height: 1.6;
  /* about */
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
#banner-page-content .banner-page-content .txt-banner p span {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner p br {
    display: none;
  }
}
#banner-page-content .banner-page-content .txt-banner .sub-title-detail {
  min-width: -webkit-max-content;
  min-width: -moz-max-content;
  min-width: max-content;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner .sub-title-detail {
    min-width: inherit;
  }
}
#banner-page-content .banner-page-content .txt-banner .sub-title-detail p {
  font-size: 1.8rem;
  line-height: 1.6;
  line-height: 2;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner .sub-title-detail p {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 559px) {
  #banner-page-content .banner-page-content .txt-banner .sub-title-detail p {
    font-size: 1.5rem;
  }
}
#banner-page-content .banner-page-content .fit-content {
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
#banner-page-content .banner-page-content .full-content {
  max-width: 1200px;
}
#banner-page-content .banner-page-content .bottom160 {
  bottom: -160px;
}
#banner-page-content .banner-page-content .bottom300 {
  bottom: -300px;
}

@media only screen and (max-width: 559px) {
  #category-btn {
    padding-bottom: 10px;
  }
}
#category-btn ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-top: -7.5px;
}
@media only screen and (max-width: 559px) {
  #category-btn ul {
    min-width: inherit;
  }
}
#category-btn ul .active {
  border: 1px solid #999999;
}
#category-btn ul .active a {
  color: #999999;
}
#category-btn ul li {
  border: 1px solid #000;
  margin: 7.5px;
  width: 15.56%;
}
@media only screen and (max-width: 1440px) {
  #category-btn ul li {
    width: 15%;
  }
}
@media only screen and (max-width: 559px) {
  #category-btn ul li {
    margin: 6px;
    width: 160px;
  }
}
#category-btn ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  color: #000;
  padding: 15px 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-family: "Noto Serif JP", serif;
}
#pagenation .pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
#pagenation .pagenation > .prev {
  background-image: url("/assets/images/commons/arrow-prev.svg");
  background-repeat: no-repeat;
  background-position: center left;
  background-size: 20px;
  padding-left: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#pagenation .pagenation > .next {
  background-image: url("/assets/images/commons/arrow-next.svg");
  background-repeat: no-repeat;
  background-position: center right;
  background-size: 20px;
  padding-right: 35px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#pagenation .pagenation > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#pagenation .pagenation > ul .active {
  border: 1px solid #707070;
}
#pagenation .pagenation > ul .active a {
  color: #707070;
}
#pagenation .pagenation > ul li {
  border: 1px solid #000;
  margin: 0 7.5px;
}
#pagenation .pagenation > ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 54px;
  height: 54px;
}

.list-col3 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -2.55%;
}
@media only screen and (max-width: 559px) {
  .list-col3 ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: 0;
  }
}
.list-col3 ul li {
  width: 30.77%;
  margin-left: 2.55%;
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  .list-col3 ul li {
    width: 48%;
    margin-left: 0;
    margin-top: 30px;
  }
}
.list-col3 ul li img {
  width: 100%;
}
.list-col3 ul li a {
  display: block;
  height: 100%;
}
.list-col3 ul li a .img-list img {
  width: 100%;
}
.list-col3 ul li a:hover {
  opacity: 1;
}
.list-col3 ul li a:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
.list-col3 ul li a .cover {
  overflow: hidden;
}
.list-col3 ul li a .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.list-col3 ul li a .brief {
  margin-top: 16px;
  font-family: "Noto Serif JP", serif;
}
.list-col3 ul li a .brief .date-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
}
.list-col3 ul li a .brief .date-tag p.date {
  font-size: 1.3rem;
  line-height: 1.3rem;
}
.list-col3 ul li a .brief .date-tag p.tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 80px;
  height: 18px;
  margin-left: 10px;
  font-size: 1rem;
  line-height: 1rem;
  background-color: #EAEAEA;
}
.list-col3 ul li a .brief h3 {
  font-size: 1.8rem;
  line-height: 2.6rem;
}
@media only screen and (max-width: 559px) {
  .list-col3 ul li a .brief h3 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 559px) {
  .list-col3 ul li a .brief h3 {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}

.list-col2 ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .list-col2 ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: 0;
  }
}
.list-col2 ul li {
  width: 48.7%;
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  .list-col2 ul li {
    margin-top: 2.4%;
  }
}
.list-col2 ul li img {
  width: 100%;
}
.list-col2 ul li a {
  display: block;
  height: 100%;
}
.list-col2 ul li a .img-list img {
  width: 100%;
}
.list-col2 ul li a:hover {
  opacity: 1;
}
.list-col2 ul li a:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
.list-col2 ul li a .cover {
  overflow: hidden;
}
.list-col2 ul li a .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.col3-center ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: -3%;
}
@media only screen and (max-width: 559px) {
  .col3-center ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: 0;
  }
}
.col3-center ul li {
  width: 30%;
  margin-left: 1.367%;
  margin-right: 1.367%;
  margin-top: 3%;
}
.col3-center ul li img {
  width: 100%;
}
.col3-center ul li a {
  display: block;
  height: 100%;
}
.col3-center ul li a .img-list img {
  width: 100%;
}
.col3-center ul li a:hover {
  opacity: 1;
}
.col3-center ul li a:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
.col3-center ul li a .cover {
  overflow: hidden;
}
.col3-center ul li a .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}

.list-col-row > ul > li .img-list {
  width: 100%;
}

.txt-content h2 {
  font-size: 2.8rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .txt-content h2 {
    font-size: 2.2rem;
  }
}
.txt-content .txt {
  line-height: 1.8;
}
.txt-content .txt-list {
  font-size: 1.3rem;
  margin-top: 10px;
}

@media only screen and (max-width: 559px) {
  #btn-scroll {
    padding-top: 20px;
  }
}
#btn-scroll .btn-scroll {
  padding: 0 20px;
}
#btn-scroll .btn-scroll > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: -10px;
}
@media only screen and (max-width: 559px) {
  #btn-scroll .btn-scroll > ul {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
#btn-scroll .btn-scroll > ul > li {
  margin: 10px 10px;
}
@media only screen and (max-width: 559px) {
  #btn-scroll .btn-scroll > ul > li {
    width: 100%;
  }
}
#btn-scroll .btn-scroll > ul > li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #000;
  max-width: 100%;
  width: 260px;
  height: 54px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-repeat: no-repeat;
  background-image: url("/assets/images/commons/arrow-down.svg");
  background-position: center right 20px;
  background-size: 11px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #btn-scroll .btn-scroll > ul > li a {
    width: 100%;
  }
}

@media only screen and (max-width: 559px) {
  .company-mv {
    padding-right: 0;
    padding-left: 0;
  }
}
.company-mv .mv-item.mv-item h1 {
  font-size: 4.4rem;
  line-height: 6rem;
}

.breadcumb {
  position: fixed;
  top: 130px;
  right: 0;
  width: 35px;
  z-index: 999;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 1100px) {
  .breadcumb {
    position: absolute;
  }
}
@media only screen and (max-width: 559px) {
  .breadcumb {
    width: 28px;
  }
}
@media only screen and (max-width: 559px) {
  .breadcumb {
    position: inherit;
    top: 0;
    width: 370px;
    overflow: scroll;
    z-index: 1;
    height: 55px;
  }
  .breadcumb ul {
    min-width: -webkit-max-content;
    min-width: -moz-max-content;
    min-width: max-content;
  }
}
@media only screen and (max-width: 559px) {
  .breadcumb ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 20px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    padding-left: 15px;
    padding-right: 15px;
  }
}
.breadcumb ul li {
  margin: 10px 0px;
  ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  -moz-writing-mode: vertical-rl;
  -ms-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  -moz-text-orientation: sideways;
  -ms-text-orientation: sideways;
  text-orientation: sideways;
  font-size: 1.3rem;
}
@media only screen and (max-width: 559px) {
  .breadcumb ul li {
    ms-writing-mode: inherit;
    -webkit-writing-mode: inherit;
    -moz-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    -moz-text-orientation: inherit;
    -ms-text-orientation: inherit;
    text-orientation: inherit;
    margin: 0px 5px;
  }
}

.footer-entry-bg {
  background-color: #fff;
  padding-bottom: 120px;
}
@media only screen and (max-width: 559px) {
  .footer-entry-bg {
    padding-bottom: 60px;
  }
}
.footer-entry-bg .btn {
  max-width: 880px;
  width: 100%;
  height: 120px;
  font-size: 4.8rem;
  background-color: #CBFC34;
  border: 1px solid #CBFC34;
  margin-left: auto;
  margin-right: auto;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .footer-entry-bg .btn {
    max-width: 330px;
    width: 100%;
    height: 70px;
    font-size: 2.8rem;
  }
  .footer-entry-bg .btn span {
    width: 25px;
  }
}

.fontDefault, .staff-detail .txt-detail p {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif !important;
}

.fontNoto {
  font-family: "Noto Serif JP", serif !important;
}

/* ------------------------------------------------------------ */
/* gnav */
/* ------------------------------------------------------------ */
.gnav {
  width: 100%;
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  pointer-events: none;
  visibility: hidden;
  margin-top: 60px;
  background-color: #F4F4F4;
  opacity: 0;
  /*  overflow-y: auto;*/
}
@media only screen and (max-width: 559px) {
  .gnav .header-menu {
    width: 94%;
  }
}
.gnav .header-menu ul li a {
  font-family: "Noto Serif JP", serif;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  font-size: 2.3rem;
  line-height: 2;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.gnav .header-menu ul li a span {
  margin-left: 9px;
}
.gnav .header-menu ul li + li {
  margin-top: 30px;
}
.gnav .header-social {
  margin-top: 30px;
}
.gnav .header-social ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.gnav .header-social ul li + li {
  margin-left: 30px;
}
.gnav .header-social ul li a {
  display: block;
}
.gnav .header-btn {
  height: 100%;
  width: 90%;
  max-width: 400px;
  margin-top: 40px;
}
.gnav .header-btn a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: 100%;
  padding: 20px 20px;
  font-family: "Noto Serif JP", serif;
  color: #000;
  background-color: #CBFC34;
  font-size: 2.3rem;
}
.gnav .header-btn a span {
  margin-right: 5px;
}
.gnav .btn-box {
  height: 100%;
  width: 90%;
  max-width: 400px;
  margin-top: 40px;
  margin-left: auto;
  margin-right: auto;
}
.gnav .btn-box a {
  height: 100%;
  width: 100%;
  height: 70px;
  font-size: 2.4rem;
  padding-left: 30px;
}
.gnav .btn-box a span {
  position: inherit;
  margin-left: 30px;
}

.show-menu .gnav {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}

.gnav .sp_container {
  position: relative;
  padding: 60px 0 2em;
  height: 100vh;
}

.gnav .sp_container::after {
  content: "";
  height: 100%;
  width: 100%;
  background: #fff;
  position: absolute;
  top: 0;
  z-index: 0;
  -webkit-transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  transition: 1s cubic-bezier(0.165, 0.84, 0.44, 1);
  -webkit-transform: translate3d(0, -100%, 0);
          transform: translate3d(0, -100%, 0);
}

.show-menu .sp_container::after {
  right: 0;
  visibility: visible;
  background-color: #F4F4F4;
}

.gnav_container {
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  width: 100%;
  height: auto;
  opacity: 0;
  position: relative;
  padding: 1.5em 0;
  z-index: 9998;
  background-color: #F4F4F4;
  padding-bottom: 200px;
}

.show-menu .gnav_container {
  opacity: 1;
  -webkit-transition: 1.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s;
  transition: 1.8s cubic-bezier(0.165, 0.84, 0.44, 1) 0.1s;
}

::-webkit-scrollbar {
  width: 0; /* Remove scrollbar space */
  background: transparent; /* Optional: just make scrollbar invisible */
  margin-bottom: 0;
  padding-bottom: 0;
  bottom: 0;
  overflow-x: hidden;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
}

::-webkit-scrollbar-thumb {
  background-color: red;
  height: 0;
}

::-webkit-scrollbar-button {
  height: 0px;
}

::-webkit-scrollbar {
  display: none;
}

#step-next-prev .step-next-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
#step-next-prev .step-next-prev .next {
  background-image: url("/assets/images/commons/arrow-next.svg");
  background-position: center right 0px;
  background-size: 20px;
  background-repeat: no-repeat;
  padding-right: 30px;
}
#step-next-prev .step-next-prev .prev {
  background-image: url("/assets/images/commons/arrow-prev.svg");
  background-position: center left 0px;
  background-size: 20px;
  background-repeat: no-repeat;
  padding-left: 30px;
}
@media only screen and (max-width: 559px) {
  #step-next-prev .btn-box {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
  }
}

@media only screen and (max-width: 559px) {
  .top-page .txthead-box.center h1 {
    text-align: center;
  }
}

/* news-page */
#news-page {
  position: relative;
}
#news-page .news-page-text-img {
  position: absolute;
  top: 90px;
  left: 40px;
  z-index: 8;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page-text-img {
    left: 0;
  }
}
@media only screen and (max-width: 559px) {
  #news-page .news-page-text-img {
    width: 41px;
    top: 40px;
  }
}
#news-page .news-page {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page {
    display: block;
    padding-top: 30px;
  }
}
#news-page .news-page .news-page-topic {
  width: 100%;
  max-width: 200px;
  min-width: 200px;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-topic {
    max-width: 100%;
    min-width: 100%;
  }
}
#news-page .news-page .news-page-topic h2 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.8rem;
  line-height: 4.8rem;
  margin-bottom: 35px;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-topic h2 {
    font-size: 3rem;
    line-height: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-topic h2 {
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-topic .btn-box {
    display: none;
  }
}
#news-page .news-page .news-page-topic .btn-box .btn {
  width: 160px;
}
#news-page .news-page .news-page-list {
  width: 100%;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-list {
    position: relative;
    z-index: 9;
  }
}
#news-page .news-page .news-page-list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: -30px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin-left: -3%;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-list ul {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}
#news-page .news-page .news-page-list ul li {
  width: 17%;
  margin-left: 3%;
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-list ul li {
    width: 47.5%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0px;
    margin-top: 30px;
  }
}
#news-page .news-page .news-page-list ul li a {
  display: block;
  height: 100%;
}
#news-page .news-page .news-page-list ul li a:hover {
  opacity: 1;
}
#news-page .news-page .news-page-list ul li a:hover .cover img {
  -webkit-transform: scale(1.1, 1.1);
  transform: scale(1.1, 1.1);
}
#news-page .news-page .news-page-list ul li a .cover {
  overflow: hidden;
}
#news-page .news-page .news-page-list ul li a .cover img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
#news-page .news-page .news-page-list ul li a .brief {
  margin-top: 16px;
  font-family: "Noto Serif JP", serif;
}
#news-page .news-page .news-page-list ul li a .brief .date-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 10px;
}
#news-page .news-page .news-page-list ul li a .brief .date-tag p.date {
  font-size: 1.3rem;
  line-height: 1.3rem;
}
#news-page .news-page .news-page-list ul li a .brief .date-tag p.tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-width: 80px;
  height: 18px;
  margin-left: 10px;
  font-size: 1rem;
  line-height: 1rem;
  background-color: #EAEAEA;
  padding: 0 0.2em;
}
#news-page .news-page .news-page-list ul li a .brief h3 {
  font-size: 1.8rem;
  line-height: 2.6rem;
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-list ul li a .brief h3 {
    font-size: 1.6rem;
  }
}
@media only screen and (max-width: 559px) {
  #news-page .news-page .news-page-list ul li a .brief h3 {
    font-size: 1.5rem;
    line-height: 2.5rem;
  }
}

#news-content {
  border-bottom: 1px solid #DDDDDD;
}
#news-content .news-content h2 {
  font-family: "Noto Serif JP", serif;
}
#news-content .txt-content .txt-list {
  font-family: "Noto Serif JP", serif;
}

.txt-content .txt-content-col2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .txt-content .txt-content-col2 {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.txt-content .txt-content-col2 .txt {
  width: 47.395%;
}
@media only screen and (max-width: 559px) {
  .txt-content .txt-content-col2 .txt {
    width: 100%;
  }
}
.txt-content .txt-content-col2 .image {
  width: 47.916%;
}
@media only screen and (max-width: 559px) {
  .txt-content .txt-content-col2 .image {
    width: 100%;
  }
}

.about-row > ul li:nth-child(even) .about-content .about-text {
  padding-left: 0 !important;
  padding-right: 40px !important;
}
@media only screen and (max-width: 559px) {
  .about-row > ul li:nth-child(even) .about-content .about-text {
    padding-right: 0px !important;
  }
}
@media only screen and (max-width: 559px) {
  .about-row > ul li:nth-child(even) .about-content {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical !important;
    -webkit-box-direction: reverse !important;
        -ms-flex-direction: column-reverse !important;
            flex-direction: column-reverse !important;
  }
}
.about-row > ul li + li {
  margin-top: 66px;
}
@media only screen and (max-width: 559px) {
  .about-row > ul li + li {
    margin-top: 40px;
  }
}

@media only screen and (max-width: 559px) {
  .about-page .txthead-box h2 {
    line-height: 1.6;
  }
  .about-page .txthead-box h2 br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  .about-page .intro {
    padding-right: 15px;
    padding-left: 15px;
  }
}
.about-page #about-title {
  margin-top: 120px;
}
@media only screen and (max-width: 559px) {
  .about-page #about-title {
    margin-top: 25px;
  }
}
.about-page #about-title p {
  margin-top: 35px;
  text-align: left;
}
.about-page #about .about {
  background-color: #F4F4F4;
  padding: 66px 40px;
}
@media only screen and (max-width: 559px) {
  .about-page #about .about {
    padding: 20px 20px;
  }
}
.about-page #business .business .business-list ul li .text .topic {
  margin-bottom: 10px;
}
.about-page #business .business .business-list ul li .text .topic h4 {
  margin-top: 0px !important;
}
.about-page #business .business .business-list ul li .text .topic h4 {
  margin-top: 20px;
  font-size: 3.6rem;
  line-height: 4.6rem;
}

.text-input, input[type=text] {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
@media only screen and (max-width: 559px) {
  textarea {
    height: 200px;
  }
}

.text-input, input[type=text], input[type=number], input[type=email], select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  border: 1px solid #CCCCCC;
  height: 40px;
  padding-left: 20px;
  padding-right: 20px;
  font-size: 1.6rem;
  background-color: #fff;
  border-radius: 5px;
}
@media only screen and (max-width: 559px) {
  .text-input, input[type=text], input[type=number], input[type=email], select {
    height: 50px;
  }
}

textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: 1px solid #CCCCCC;
  border-radius: 0;
  font-size: 1.6rem;
  border-radius: 5px;
  width: 100%;
  height: 240px;
  padding: 15px 20px;
}

.chkbox-btn {
  display: block;
  position: relative;
  padding-left: 40px;
  margin-top: 0px;
  margin-bottom: 0;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  font-weight: 500 !important;
  font-size: 1.3rem;
}

/* Hide the browser's default checkbox */
.chkbox-btn input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}

/* Create a custom checkbox */
.chkbox {
  position: absolute;
  top: 1px;
  left: 0;
  border: 1px solid #CCCCCC;
  height: 22px;
  width: 22px;
  background-color: #fff;
  border-radius: 3px;
}

.chkbox-btn a {
  text-decoration: underline;
}

/* On mouse-over, add a grey background color */
.chkbox-btn:hover input ~ .chkbox {
  background-color: #fff;
}

/* When the checkbox is checked, add a blue background */
.chkbox-btn input:checked ~ .chkbox {
  background-color: #fff;
  border-color: #000000;
}

/* Create the checkmark/indicator (hidden when not checked) */
.chkbox:after {
  content: "";
  position: absolute;
  display: none;
}

/* Show the checkmark when checked */
.chkbox-btn input:checked ~ .chkbox:after {
  display: block;
}

/* Style the checkmark/indicator */
.chkbox-btn .chkbox:after {
  top: 3px;
  left: 3px;
  border-radius: 3px;
  width: 14px;
  height: 14px;
  background-color: #000;
}

::-webkit-input-placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1; /* Firefox */
  font-size: 1.3rem;
}

::-moz-placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1; /* Firefox */
  font-size: 1.3rem;
}

:-ms-input-placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1; /* Firefox */
  font-size: 1.3rem;
}

::-ms-input-placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1; /* Firefox */
  font-size: 1.3rem;
}

::placeholder { /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: #BABABA;
  opacity: 1; /* Firefox */
  font-size: 1.3rem;
}

:-ms-input-placeholder { /* Internet Explorer 10-11 */
  color: #BABABA;
  font-size: 1.3rem;
}

::-ms-input-placeholder { /* Microsoft Edge */
  color: #BABABA;
  font-size: 1.3rem;
}

.row-list-contact > ul > li {
  padding: 25px 0;
}
.row-list-contact > ul > li:last-child {
  border-bottom: 1px dashed #ccc;
}
.row-list-contact > ul > li + li {
  border-top: 1px dashed #ccc;
}

.group-input {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 559px) {
  .group-input {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.group-input .label-contact {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  min-width: 247px;
  margin-top: 0.45em;
}
@media only screen and (max-width: 559px) {
  .group-input .label-contact {
    min-width: inherit;
    width: 100%;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 0;
  }
}
.group-input .label-contact .tag-note {
  background-color: #FF6831;
  padding: 3px;
  font-size: 1.3rem;
  border-radius: 3px;
  color: #fff;
  padding: 0 10px;
}
@media only screen and (max-width: 559px) {
  .group-input .label-contact .tag-note {
    margin-left: 20px;
  }
}
.group-input .label-contact .label {
  font-family: "Noto Serif JP", serif;
}
.group-input .input-contact {
  width: 100%;
  margin-left: 20px;
  font-size: 1.3rem;
}
@media only screen and (max-width: 559px) {
  .group-input .input-contact {
    margin-left: 0px;
    margin-top: 10px;
  }
}
.group-input .input-contact input[type=text] {
  width: 100%;
}
.group-input p.error {
  color: #FF6831;
}

.group-input + .group-input {
  margin-top: 15px;
}

.contact-confirm .group-input {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.contact-confirm .group-input .label-contact {
  margin-top: 0;
}
.contact-confirm .group-input + .group-input {
  margin-top: 25px;
}

.note-checkbox {
  font-size: 1.3rem;
  margin-top: 10px;
}

.title-contact {
  text-align: center;
  border-bottom: 1px solid #ccc;
}
.title-contact .note-orange-contact {
  color: #FF6831;
}

.txt-thanks {
  text-align: center;
}
.txt-thanks h2 {
  font-size: 3.6rem;
  margin-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  .txt-thanks h2 {
    font-size: 2.2rem;
  }
}
.txt-thanks a.underline {
  text-decoration: underline;
}

.select-custom {
  width: 100%;
  margin-left: 20px;
  font-size: 1.3rem;
}
@media only screen and (max-width: 559px) {
  .select-custom {
    margin-left: 0px;
    margin-top: 10px;
  }
}
.select-custom input[type=text] {
  width: 100%;
}

.btn-box button {
  cursor: pointer;
  -webkit-transition: all 0.25s;
  transition: all 0.25s;
}
.btn-box button:hover {
  opacity: 0.8;
}

@media only screen and (max-width: 559px) {
  .business-page #own {
    padding-bottom: 100px;
  }
}
.business-page #own .own .own-banner a .text .topic {
  font-family: "Noto Serif JP", serif;
  margin-bottom: 10px;
}
@media only screen and (max-width: 559px) {
  .business-page .col3-center ul li {
    width: 47%;
  }
}
.business-page .business-product-development .list-col2 {
  padding: 0;
}
.business-page .business-product-development .list-col2 ul {
  margin-top: auto;
}
@media only screen and (max-width: 559px) {
  .business-page .list-col2 ul li {
    margin-top: 7px;
  }
}
.business-page .col1-center {
  max-width: 840px;
  margin-left: auto;
  margin-right: auto;
}
.business-page .col1-center .txt {
  margin-top: 10px;
}

.content-business {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .content-business {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.content-business .txt-business {
  width: 46.875%;
}
@media only screen and (max-width: 559px) {
  .content-business .txt-business {
    width: 100%;
    margin-top: 40px;
  }
}
.content-business .txt-business h4, .content-business .txt-business h3 {
  font-size: 3.6rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .content-business .txt-business h4, .content-business .txt-business h3 {
    font-size: 2.4rem;
  }
}
.content-business .txt-business .nowrap {
  white-space: nowrap;
}
@media only screen and (max-width: 1400px) {
  .content-business .txt-business .nowrap {
    white-space: initial;
  }
}
.content-business .img-business {
  width: 50%;
}
@media only screen and (max-width: 559px) {
  .content-business .img-business {
    width: 100%;
  }
}
.content-business .img-business .about-business {
  font-family: "Noto Serif JP", serif;
  text-align: right;
}
.content-business .img-business .about-business .name-business span {
  font-size: 2.4rem;
}

@media only screen and (max-width: 559px) {
  #business-title {
    padding-top: 20px !important;
  }
}

.business-title .txthead-box p {
  text-align: left;
}

#business-example-products .txthead-box {
  margin-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  #business-example-products .txthead-box {
    margin-bottom: 20px;
  }
}

.business-example-products {
  background-color: #F4F4F4;
  padding-left: 50px;
  padding-right: 50px;
}
@media only screen and (max-width: 559px) {
  .business-example-products {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.business-example-products .txt {
  margin-top: 10px;
}
.business-example-products .col3-center .txt {
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .business-example-products .list-col2 ul {
    margin-top: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  .business-example-products .list-col2 ul li {
    width: 100%;
  }
  .business-example-products .list-col2 ul li + li {
    margin-top: 20px;
  }
}

.business-machining-flow {
  background-color: #F4F4F4;
  font-family: "Noto Serif JP", serif;
}
.business-machining-flow .txthead-box {
  margin-bottom: 60px !important;
}
@media only screen and (max-width: 559px) {
  .business-machining-flow .txthead-box {
    margin-bottom: 40px !important;
  }
}

.business-products-development-flow {
  background-color: #F4F4F4;
}
.business-products-development-flow .txthead-box {
  margin-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  .business-products-development-flow .txthead-box {
    margin-bottom: 20px;
  }
}

.flow-machin ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 559px) {
  .flow-machin ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.flow-machin ul li {
  background-color: #fff;
  padding: 35px 0px;
  margin-left: 17.5px;
  margin-right: 17.5px;
  position: relative;
  min-width: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.flow-machin ul li:after {
  content: url("/assets/images/commons/arrow-next-flow.svg");
  position: absolute;
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center right 0px;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  right: -20px;
}
@media only screen and (max-width: 559px) {
  .flow-machin ul li:after {
    content: url("/assets/images/commons/arrow-down-flow.svg");
    bottom: -28px;
    top: inherit;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    right: inherit;
  }
}
.flow-machin ul li:last-child:after {
  content: inherit;
}
.flow-machin ul li p {
  -webkit-writing-mode: vertical-lr;
  -moz-writing-mode: vertical-lr;
  -ms-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
  font-size: 1.8rem;
}
@media only screen and (max-width: 559px) {
  .flow-machin ul li p {
    -webkit-writing-mode: inherit;
    -moz-writing-mode: inherit;
    -ms-writing-mode: inherit;
    writing-mode: inherit;
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  .flow-machin ul li + li {
    margin-top: 40px;
  }
}
.flow-machin ul .swap:after {
  top: 45%;
  -webkit-transform: translateY(-45%);
          transform: translateY(-45%);
}
@media only screen and (max-width: 559px) {
  .flow-machin ul .swap:after {
    content: url("/assets/images/commons/arrow-down-flow.svg");
    bottom: -28px;
    top: inherit;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    right: inherit;
  }
}
.flow-machin ul .swap:before {
  content: url("/assets/images/commons/arrow-next-flow-swap.svg");
  position: absolute;
  background-size: 20px;
  background-repeat: no-repeat;
  background-position: center right 0px;
  top: 70%;
  -webkit-transform: translateY(-30%);
          transform: translateY(-30%);
  right: -192px;
}
@media only screen and (max-width: 559px) {
  .flow-machin ul .swap:before {
    content: url("/assets/images/commons/arrow-down-flow-swap.svg");
    right: -20px;
    top: 150px;
  }
}
.flow-machin .row-txt-flow {
  -webkit-writing-mode: horizontal-tb;
  -moz-writing-mode: horizontal-tb;
  -ms-writing-mode: horizontal-tb;
  writing-mode: horizontal-tb;
  -moz-text-orientation: upright;
  -ms-text-orientation: upright;
  text-orientation: upright;
}
.flow-machin .flow-num {
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  top: -20px;
  font-size: 2.4rem;
}
@media only screen and (max-width: 559px) {
  .flow-machin .flow-num {
    top: 32%;
    -webkit-transform: translateY(0px);
            transform: translateY(0px);
    left: -17px;
  }
}
.flow-machin .flow-num-yellow {
  background-color: #CBFC34;
}
.flow-machin .num-multi {
  font-size: 1.4rem;
}

.tabs-yellow {
  font-size: 2.4rem;
  padding: 20px 30px;
  background-color: #CBFC34;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
}

.list-banner {
  padding: 0 30px;
}
.list-banner img {
  width: 100%;
}

.business-product-development .txt-business {
  padding-right: 30px;
}
@media only screen and (max-width: 559px) {
  .business-product-development .txt-business {
    padding-right: 0px;
  }
}
.business-product-development .list-col2 {
  padding: 30px;
}
@media only screen and (max-width: 559px) {
  .business-product-development .list-col2 {
    margin-top: 20px;
  }
}

.facility-page {
  /* the slides */
  /* the parent */
}
@media only screen and (max-width: 559px) {
  .facility-page .mv .slick-slide {
    margin: 0;
  }
}
@media only screen and (max-width: 559px) {
  .facility-page .mv .slick-list {
    margin: 0px 0px;
  }
}
@media only screen and (max-width: 559px) {
  .facility-page .content-pad {
    padding-left: 0;
  }
}
@media only screen and (max-width: 559px) {
  .facility-page #facility-title {
    padding-top: 25px;
  }
}
@media only screen and (max-width: 559px) {
  .facility-page #btn-scroll .btn-scroll > ul > li {
    width: 70%;
  }
}
@media only screen and (max-width: 559px) {
  .facility-page .list-col2 ul {
    margin-top: 0;
  }
}
.facility-page .list-col2 ul li {
  width: 48%;
}
.facility-page .list-col2 ul li .txt {
  font-size: 1.3rem;
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
}
.facility-page .btn-box {
  margin-top: 40px;
}
.facility-page .slick-slide img {
  display: block;
  width: 100%;
}
.facility-page .slick-slide {
  margin: 0 10px;
}
@media only screen and (max-width: 559px) {
  .facility-page .slick-slide {
    margin: 0 5px;
  }
}
.facility-page .slick-list {
  margin: 0 -10px;
}
.facility-page .content-facility-table {
  overflow: scroll;
}
.facility-page .td-left-head {
  background-color: #F4F4F4;
  font-size: 1.6rem;
  font-weight: bold;
}
.facility-page table, .facility-page td, .facility-page th {
  border: 1px solid #DDDDDD;
  padding: 20px 23px;
}
.facility-page table th {
  font-weight: 500;
  background-color: #F4F4F4;
}
.facility-page table td {
  font-size: 1.3rem;
}
.facility-page table {
  width: 960px;
  border-collapse: collapse;
}
.facility-page .mv-slide {
  position: relative;
}
.facility-page .prev {
  position: absolute;
  z-index: 1;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
.facility-page .next {
  position: absolute;
  z-index: 1;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  cursor: pointer;
}
.facility-page .facility-title p {
  text-align: left;
}
.facility-page .txthead-box {
  margin-bottom: 30px;
}
.facility-page .slider-nav {
  margin-top: 14px;
}
@media only screen and (max-width: 559px) {
  .facility-page .slider-nav {
    margin-top: 1px;
  }
}
.facility-page #header-facility {
  position: absolute;
  width: 100%;
  z-index: 1;
}
@media only screen and (max-width: 559px) {
  .facility-page #header-facility {
    position: inherit;
  }
}

.privacy-page {
  line-height: 1.6;
}

#content-profile h3 {
  font-size: 3.6rem;
  line-height: 1.6;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #content-profile h3 {
    font-size: 2.4rem;
  }
}
#content-profile .content-profile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #content-profile .content-profile {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
#content-profile .content-profile .txt-profile {
  width: 49.843%;
  line-height: 1.8;
}
@media only screen and (max-width: 559px) {
  #content-profile .content-profile .txt-profile {
    width: 100%;
    margin-top: 40px;
  }
}
#content-profile .content-profile .img-profile {
  width: 43.75%;
}
@media only screen and (max-width: 559px) {
  #content-profile .content-profile .img-profile {
    width: 100%;
  }
}
#content-profile .content-profile .img-profile .about-profile {
  font-family: "Noto Serif JP", serif;
  text-align: right;
}
#content-profile .content-profile .img-profile .about-profile .name-profile span {
  font-size: 2.4rem;
}

#management-content .management-content #management-detail-list {
  background: url("/assets/images/company/message/bg-management.jpg"), #F4F4F4;
  background-repeat: no-repeat;
  background-position: center right;
  background-size: contain;
  padding: 40px;
}
@media only screen and (max-width: 559px) {
  #management-content .management-content #management-detail-list {
    padding: 20px;
  }
}
#management-content .management-content #management-detail-list .box-center {
  font-size: 2.8rem;
  line-height: 1.6;
  background-image: url("/assets/images/company/message/bg-management-center.png");
  background-repeat: no-repeat;
  background-position: center;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  padding: 40px 50px;
}
@media only screen and (max-width: 559px) {
  #management-content .management-content #management-detail-list .box-center {
    padding: 20px 30px;
    font-size: 1.8rem;
  }
}
#management-content .management-content #management-detail-list .box-center > ul {
  font-family: "Noto Serif JP", serif;
}
#management-content .management-content #management-detail-list .box-center > ul > li + li {
  margin-top: 25px;
}

.message-page .txthead-box {
  margin-bottom: 40px;
}
@media only screen and (max-width: 559px) {
  .message-page .txthead-box {
    margin-bottom: 30px;
  }
}

#company-history-content .company-history-content #content-company-history > ul {
  border-top: 1px solid #DDDDDD;
}
#company-history-content .company-history-content #content-company-history > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#company-history-content .company-history-content #content-company-history > ul > li .title {
  padding: 30px;
  min-width: 240px;
  background-color: #F4F4F4;
}
@media only screen and (max-width: 559px) {
  #company-history-content .company-history-content #content-company-history > ul > li .title {
    min-width: 150px;
    padding: 15px;
  }
}
#company-history-content .company-history-content #content-company-history > ul > li .txt-detail {
  padding: 30px;
  line-height: 1.8;
}
@media only screen and (max-width: 559px) {
  #company-history-content .company-history-content #content-company-history > ul > li .txt-detail {
    padding: 15px;
    font-size: 1.3rem;
  }
}
#company-history-content .company-history-content #content-company-history > ul > li .txt-detail a {
  text-decoration: underline;
  font-size: 1.1rem;
}
#company-history-content .company-history-content #content-company-history > ul > li:first-child {
  border-bottom: 1px solid #EAEAEA;
}
#company-history-content .company-history-content #content-company-history > ul > li + li {
  border-bottom: 1px solid #EAEAEA;
}

#company-maps-content .company-maps-content #maps iframe {
  width: 100%;
}
@media only screen and (max-width: 559px) {
  #company-maps-content .company-maps-content #maps iframe {
    height: 400px;
  }
}
#company-maps-content .company-maps-content #maps .txt-map {
  text-align: center;
}
@media only screen and (max-width: 559px) {
  #company-maps-content .company-maps-content #maps .txt-map {
    text-align: left;
  }
}

#content-company-outline {
  background: url(/assets/images/commons/line-vertical.png);
  background-repeat: repeat-y;
  background-position: top 0px left 200px;
}
@media only screen and (max-width: 559px) {
  #content-company-outline {
    background-position: top 0px left 141px;
  }
}
#content-company-outline > ul > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
#content-company-outline > ul > li .title-date {
  min-width: 225px;
  background: url(/assets/images/commons/list-circle-yellow.png);
  background-repeat: no-repeat;
  background-position: top right 12px;
  padding: 0 25px;
  font-size: 2.4rem;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #content-company-outline > ul > li .title-date {
    min-width: 165px;
    font-size: 1.8rem;
  }
}
#content-company-outline > ul > li .txt-detail {
  padding: 0 25px;
}
@media only screen and (max-width: 559px) {
  #content-company-outline > ul > li .txt-detail {
    padding: 0 10px;
    width: 60%;
  }
}
#content-company-outline > ul > li .txt-detail .img-detail {
  margin-top: 20px;
  max-width: 350px;
}
#content-company-outline > ul > li:first-child .title-date, #content-company-outline > ul > li:first-child .txt-detail {
  padding-top: 0;
}
#content-company-outline > ul > li + li {
  margin-top: 50px;
}

.company-maps-content .txthead-box {
  margin-bottom: 40px;
}
.company-maps-content .txthead-box p {
  font-family: inherit;
}
@media only screen and (max-width: 559px) {
  .company-maps-content .txthead-box p {
    text-align: left;
  }
}

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

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

.btn-scroll ul {
  width: 1000px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0 auto;
}
@media only screen and (max-width: 559px) {
  .btn-scroll ul {
    width: 100%;
  }
}

#company-environment-content .fz48 {
  font-family: "Noto Serif JP", serif;
  font-size: 4.8rem;
  line-height: 5.8rem;
  text-align: center;
}
@media only screen and (max-width: 559px) {
  #company-environment-content .fz48 {
    font-size: 3.8rem;
    line-height: 4.8rem;
  }
}
@media only screen and (max-width: 559px) {
  #company-environment-content .fz48 {
    font-size: 2.8rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 559px) {
  #company-environment-content .list-col2 ul {
    margin-top: 0;
  }
}
#company-environment-content .list-col2 ul li img {
  width: auto;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
#company-environment-content #content-company-childcare .image {
  position: relative;
}
#company-environment-content #content-company-childcare .image .inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-childcare .image .inner {
    width: 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  #company-environment-content #content-company-childcare .image .inner img {
    width: 48%;
  }
  #company-environment-content #content-company-childcare .image .inner img:nth-child(1) {
    padding-bottom: 20px;
  }
  #company-environment-content #content-company-childcare .image .inner img:nth-child(2) {
    padding-bottom: 20px;
  }
}
#company-environment-content #content-company-childcare .image .icon {
  position: absolute;
  top: -20px;
  right: -20px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-childcare .image .icon {
    top: 42%;
    right: 0px;
  }
  #company-environment-content #content-company-childcare .image .icon img {
    width: 50%;
  }
}
#company-environment-content #content-company-childcare .image .btn-box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
#company-environment-content #content-company-enterprises .image,
#company-environment-content #content-company-refreshing .image {
  background-color: #F4F4F4;
}
#company-environment-content #content-company-enterprises .image img,
#company-environment-content #content-company-refreshing .image img {
  padding: 38px 204px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-enterprises .image img,
  #company-environment-content #content-company-refreshing .image img {
    padding: 20px;
  }
}
#company-environment-content #content-company-ManagementQualityPolicy ul li:nth-child(2) {
  background-color: #F4F4F4;
  padding: 35px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-ManagementQualityPolicy ul li:nth-child(2) {
    margin-bottom: 20px;
  }
}
#company-environment-content #content-company-ManagementQualityPolicy .inner-text {
  background-color: #F4F4F4;
  text-align: center;
  padding: 40px 0;
}
#company-environment-content #content-company-KES {
  line-height: 2;
}
#company-environment-content #content-company-KES .txt-bottom ul li:nth-child(2) {
  background-color: #F4F4F4;
  padding: 35px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-KES .txt-bottom ul li:nth-child(2) {
    margin-bottom: 20px;
  }
}
#company-environment-content #content-company-KES .txt-bottom ul li:nth-child(2) .txt {
  margin-top: 20px;
}
#company-environment-content #content-company-KES .txt-bottom ul li:nth-child(2) .txt p {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  line-height: 2;
}
#company-environment-content #content-company-KES .image img {
  max-width: 227px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-KES .image img {
    max-width: 100%;
  }
}
#company-environment-content #content-company-HealthManagement .txt-bottom ul li:nth-child(2) {
  background-color: #F4F4F4;
  padding: 40px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content #content-company-HealthManagement .txt-bottom ul li:nth-child(2) {
    padding: 20px;
  }
}
#company-environment-content #content-company-HealthManagement .txt-bottom .txt {
  margin-top: 10px;
  text-align: center;
  font-size: 1.3rem;
  font-family: "Noto Serif JP", serif;
}
#company-environment-content .list-bg-grey ul li {
  background-color: #F4F4F4;
  padding: 40px;
}
@media only screen and (max-width: 559px) {
  #company-environment-content .list-bg-grey ul li {
    padding: 20px;
  }
}
#company-environment-content .list-bg-grey ul li .txt {
  margin-top: 10px;
  text-align: center;
  font-size: 1.3rem;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  #company-environment-content .sp-column ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #company-environment-content .sp-column ul li {
    width: 100%;
  }
  #company-environment-content .sp-column ul li + li {
    margin-bottom: 20px;
  }
}
#company-environment-content .scd-image-first {
  max-width: 960px;
  margin-left: auto;
  margin-right: auto;
}
#company-environment-content .col3-center .txt {
  margin-top: 20px;
  line-height: 1.8;
}
#company-environment-content .txthead-box {
  margin-bottom: 40px;
}

@media only screen and (max-width: 559px) {
  #content-company-SDGs .col3-center ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
  #content-company-SDGs .col3-center ul > li {
    width: 100%;
  }
  #content-company-SDGs .col3-center ul > li + li {
    margin-top: 30px;
  }
}

.recruit-page {
  /* Message */
  /* Project-story */
  /* Staff */
  /* Job */
}
@media only screen and (max-width: 559px) {
  .recruit-page .btn-280 {
    width: 330px;
    min-width: 330px;
  }
}
.recruit-page header .header .header-left {
  min-width: 411px;
}
@media only screen and (max-width: 559px) {
  .recruit-page header .header .header-left {
    min-width: 250px;
  }
}
.recruit-page .mv-dots {
  bottom: 25px;
}
.recruit-page #mv {
  margin-bottom: 20px;
}
.recruit-page #mv .mv .mv-item {
  position: relative;
  padding-bottom: 0px;
  padding-left: 120px;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 559px) {
  .recruit-page #mv .mv .mv-item {
    padding-left: 20px;
  }
}
.recruit-page #mv .mv .mv-item .text {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  top: 24.5333333%;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  ms-writing-mode: tb-lr;
  -webkit-writing-mode: vertical-lr;
  -moz-writing-mode: vertical-lr;
  -ms-writing-mode: vertical-lr;
  writing-mode: vertical-lr;
  padding: 40px 0;
}
@media only screen and (max-width: 559px) {
  .recruit-page #mv .mv .mv-item .text {
    top: 14.533333%;
    max-width: 170px;
  }
}
.recruit-page #mv .mv .mv-item .text p {
  font-size: 1.6rem;
  line-height: 8rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #mv .mv .mv-item .text p {
    line-height: 5rem;
    font-size: 1.2rem;
  }
}
.recruit-page #mv .mv .mv-item .text h1 {
  font-size: 4rem;
  letter-spacing: 8px;
  margin-top: 0px;
  line-height: 8rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #mv .mv .mv-item .text h1 {
    line-height: 5rem;
    font-size: 3rem;
  }
}
.recruit-page #mv .mv .mv-item .text h2 {
  font-size: 4rem;
  letter-spacing: 8px;
  margin-top: 0px;
  line-height: 8rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #mv .mv .mv-item .text h2 {
    line-height: 5rem;
    font-size: 3rem;
  }
}
.recruit-page #mv .mv .mv-item .text > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.recruit-page #mv .mv .mv-item .text > ul li + li {
  border-left: 1px solid #EFEFEF;
}
.recruit-page #message {
  padding-left: 0;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message {
    padding-left: 15px;
  }
}
.recruit-page #message .message .message-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.recruit-page #message .message .message-content .message-img {
  width: 42%;
}
.recruit-page #message .message .message-content .message-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-img {
    width: 100%;
    margin-top: 20px;
  }
}
.recruit-page #message .message .message-content .message-text {
  width: 58%;
  padding-left: 40px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text {
    width: 100%;
    padding-left: 0;
    margin-top: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text {
    margin-top: 5px;
  }
}
.recruit-page #message .message .message-content .message-text h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.2rem;
  margin-bottom: 20px;
  font-weight: 500;
}
@media only screen and (max-width: 1280px) {
  .recruit-page #message .message .message-content .message-text h3 {
    font-size: 3.2rem;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text h3 {
    font-size: 3rem;
    line-height: 1.6;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text h3 {
    text-align: center;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text h3 {
    font-size: 2.4rem;
    line-height: 3.6rem;
    margin-bottom: 20px;
  }
}
.recruit-page #message .message .message-content .message-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text p {
    line-height: 2.8rem;
  }
  .recruit-page #message .message .message-content .message-text p br {
    display: none;
  }
}
.recruit-page #message .message .message-content .message-text .btn-box {
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text .btn-box {
    margin-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #message .message .message-content .message-text .btn-box {
    margin-top: 50px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story {
    padding-left: 0px;
    padding-right: 0px;
  }
}
.recruit-page #project-story .project-story .project-story-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content {
    display: block;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content {
    padding-left: 15px;
    padding-right: 15px;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-img {
  width: 62%;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-img {
    margin-top: 30px;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-img {
    width: 100%;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-text {
  width: 38%;
  padding-left: 40px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text {
    padding-left: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text {
    width: 100%;
    padding-left: 0;
    margin-top: 30px;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-text h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.2rem;
  margin-bottom: 20px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text h3 {
    font-size: 3rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text h3 {
    text-align: center;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text h3 {
    font-size: 2.2rem;
    line-height: 3.6rem;
    margin-bottom: 20px;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text p br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text p {
    line-height: 2.8rem;
  }
}
.recruit-page #project-story .project-story .project-story-content .project-story-text .btn-box {
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text .btn-box {
    margin-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .project-story-content .project-story-text .btn-box {
    margin-top: 50px;
  }
}
.recruit-page #project-story .project-story .list-col2 {
  padding: 40px;
  background-image: url("/assets/images/recruit/bg-grey.jpg");
  background-repeat: repeat-x;
  background-size: contain;
  background-position: bottom -200px center;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .list-col2 > ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.recruit-page #project-story .project-story .list-col2 > ul > li {
  width: 49.89%;
  background-color: #fff;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .list-col2 > ul > li {
    width: 100%;
  }
}
.recruit-page #project-story .project-story .list-col2 > ul > li .box-image .image {
  position: relative;
}
.recruit-page #project-story .project-story .list-col2 > ul > li .box-image .image .btn-arrow-image {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 48px;
}
.recruit-page #project-story .project-story .list-col2 > ul > li .box-image p {
  padding: 20px 20px;
  padding-bottom: 0;
}
.recruit-page #project-story .project-story .list-col2 > ul > li .txt-detail {
  padding: 25px;
}
.recruit-page #project-story .project-story .list-col2 > ul > li .txt-detail h3 {
  font-size: 2.8rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story .list-col2 > ul > li .txt-detail h3 {
    font-size: 2.4rem;
    line-height: 1.6;
  }
}
.recruit-page #project-story .project-story .list-col2 > ul > li .txt-detail p {
  margin-top: 30px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story #business .business .business-list {
    padding: 30px 15px 15px 15px;
    margin-top: 0px;
  }
}
.recruit-page #project-story .project-story #business .business .business-list ul li {
  width: 49.89%;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story #business .business .business-list ul li {
    width: 100%;
  }
}
.recruit-page #project-story .project-story #business .business .business-list ul li a .text .topic h3 {
  font-size: 2.8rem;
  letter-spacing: 0;
  font-weight: 500;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .recruit-page #project-story .project-story #business .business .business-list ul li a .text .topic h3 {
    font-size: 2.4rem;
  }
}
.recruit-page #project-story .project-story #business .business .business-list ul li a .text {
  padding: 20px;
}
.recruit-page #staff .staff .staff-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content {
    display: block;
  }
}
.recruit-page #staff .staff .staff-content .staff-img {
  width: 75%;
}
.recruit-page #staff .staff .staff-content .staff-img img {
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-img {
    width: 100%;
  }
}
.recruit-page #staff .staff .staff-content .staff-img .list-col3 ul {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.recruit-page #staff .staff .staff-content .staff-img .list-col3 ul li {
  background-color: #E7F9FF;
}
.recruit-page #staff .staff .staff-content .staff-text {
  width: 25%;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text {
    width: 100%;
    padding-left: 0;
    margin-top: 30px;
  }
}
.recruit-page #staff .staff .staff-content .staff-text h3 {
  font-family: "Noto Serif JP", serif;
  font-size: 3.6rem;
  line-height: 5.2rem;
  margin-bottom: 20px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text h3 {
    font-size: 3rem;
    line-height: 4.4rem;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text h3 {
    text-align: center;
    margin-bottom: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text h3 {
    font-size: 2.2rem;
    line-height: 3.6rem;
    margin-bottom: 20px;
  }
}
.recruit-page #staff .staff .staff-content .staff-text p {
  line-height: 3rem;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text p {
    line-height: 2.8rem;
  }
}
.recruit-page #staff .staff .staff-content .staff-text .btn-box {
  margin-top: 50px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text .btn-box {
    margin-top: 30px;
  }
}
.recruit-page #staff .staff .staff-content .staff-text .btn-box .btn {
  width: 100%;
  max-width: 280px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text .btn-box .btn {
    width: 330px;
    min-width: 330px;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text .btn-box {
    margin-top: 60px;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .staff-content .staff-text .btn-box {
    margin-top: 50px;
  }
}
.recruit-page #staff .staff .list-col3 ul {
  margin-left: 0;
  margin-top: 0;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: -10px;
    margin-top: -10px;
  }
}
.recruit-page #staff .staff .list-col3 ul.col2 li {
  width: 33.18% !important;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul.col2 li {
    width: 48.5%;
  }
}
.recruit-page #staff .staff .list-col3 ul li {
  width: 32.18%;
  margin-left: 0.2%;
  margin-top: 0.2%;
  position: relative;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul li {
    width: 48.5%;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul li {
    width: 47.1%;
    margin-left: 10px;
    margin-top: 10px;
  }
}
.recruit-page #staff .staff .list-col3 ul li:hover a .hover {
  opacity: 1;
  transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
}
.recruit-page #staff .staff .list-col3 ul li .hover {
  position: absolute;
  z-index: 2;
  top: 0;
  width: 100%;
  height: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  background-image: url("/assets/images/recruit/hover.png");
  background-repeat: repeat-x;
  background-size: cover;
  color: #fff;
  opacity: 0;
  transition: opacity 0.3s;
  -webkit-transition: opacity 0.3s;
  line-height: 1.6;
  font-size: 1.4rem;
}
.recruit-page #staff .staff .list-col3 ul li .hover h3 {
  font-size: 2.2rem;
  color: #fff;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul li .hover h3 {
    font-size: 1.8rem;
  }
}
.recruit-page #staff .staff .list-col3 ul li .hover h4 {
  font-size: 2.4rem;
  color: #fff;
  margin-top: 40px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .recruit-page #staff .staff .list-col3 ul li .hover h4 {
    font-size: 1.6rem;
    margin-top: 20px;
  }
}
.recruit-page #staff .staff .list-col3 ul li .hover .btn {
  width: 160px;
  margin-left: auto;
  margin-right: auto;
  color: #fff;
  border: 1px solid #fff;
  background-color: transparent;
  margin-top: 50px;
  margin-top: 20px;
}
.recruit-page #job {
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .recruit-page #job {
    padding-bottom: 20px;
    padding-left: 0;
    padding-right: 0;
  }
}
.recruit-page #job .list-col2 {
  background-color: #F4F4F4;
  padding: 40px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #job .list-col2 {
    padding: 15px;
  }
}
.recruit-page #job .list-col2 > ul {
  margin-top: 0px;
}
.recruit-page #job .list-col2 > ul > li {
  width: 49.8%;
  background-color: #fff;
  margin: 0.1%;
  padding: 20px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #job .list-col2 > ul > li {
    width: 49.7%;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page #job .list-col2 > ul > li {
    width: 100%;
  }
}
.recruit-page #job .list-col2 > ul > li .txt-head h3 {
  font-size: 2.8rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 559px) {
  .recruit-page #job .list-col2 > ul > li .txt-head h3 {
    font-size: 2.4rem;
  }
}
.recruit-page #job .list-col2 > ul > li .txt-head .tag {
  background-color: #CBFC34;
  padding: 5px 10px;
  font-size: 1.3rem;
  line-height: 2.3rem;
  margin-left: 20px;
}
@media only screen and (max-width: 559px) {
  .recruit-page #job .list-col2 > ul > li .txt-head .tag {
    font-size: 1rem;
    line-height: 1.3;
  }
}
.recruit-page #job .list-col2 > ul > li .txt-detail {
  margin-top: 20px;
}
.recruit-page #job .detail-job .txt-detail p {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
.recruit-page footer .footer {
  padding-right: 30px;
  padding-left: 30px;
}
.recruit-page .footer-left {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}
@media only screen and (max-width: 559px) {
  .recruit-page .footer-left {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media only screen and (max-width: 559px) {
  .recruit-page .footer-left .btn-footer-left {
    width: 100%;
  }
}
.recruit-page .footer-left .btn-box {
  margin-top: 7px;
}
@media only screen and (max-width: 559px) {
  .recruit-page .footer-left .btn-box {
    width: 100%;
    margin-top: 20px;
  }
}
.recruit-page .footer-left .btn-box .btn {
  border: 1px solid #fff;
  color: #fff;
  height: 40px;
  font-size: 1.4rem;
  width: 230px;
  margin-left: 20px;
}
@media only screen and (max-width: 559px) {
  .recruit-page .footer-left .btn-box .btn {
    margin-left: 0px;
    width: 100%;
    height: 60px;
  }
}

@media only screen and (max-width: 559px) {
  #project-detail {
    padding-top: 40px !important;
  }
}
#project-detail .txt-detail {
  padding: 60px 75px 40px 75px;
  top: 45%;
  width: 52.95%;
}
@media only screen and (max-width: 559px) {
  #project-detail .txt-detail {
    padding: 60px 25px 40px 25px;
  }
  #project-detail .txt-detail br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  #project-detail .txt-detail {
    width: 100%;
    position: inherit;
  }
}
#project-detail .txt-detail-right {
  padding: 60px 120px 40px 75px;
}
#project-detail .txt-detail-left {
  padding: 60px 75px 40px 120px;
}
#project-detail .image-sub {
  margin-top: 80px;
  max-width: 47%;
  z-index: 2;
  position: relative;
}
@media only screen and (max-width: 559px) {
  #project-detail .image-sub {
    margin-top: 0px;
    max-width: 100%;
  }
}
@media only screen and (max-width: 559px) {
  #project-detail .list-project-detail .detail {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
  #project-detail .list-project-detail .detail .image-sub {
    margin-top: 20px;
  }
}
#project-detail .list-project-detail > div + div {
  margin-top: 120px;
}
@media only screen and (max-width: 1440px) {
  #project-detail .list-project-detail > div + div {
    margin-top: 150px;
  }
}
@media only screen and (max-width: 559px) {
  #project-detail .list-project-detail > div + div {
    margin-top: 0px;
  }
}
#project-detail .list-project-detail div:nth-child(even) .image-sub {
  margin-left: auto;
}
#project-detail .list-project-detail div:nth-child(odd) .image-sub {
  margin-right: auto;
}

.project-detail-01 {
  position: relative;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 {
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-01 {
    padding-bottom: 40px;
  }
}
.project-detail-01 .image {
  padding-right: 80px;
  padding-bottom: 80px;
  background-color: #F4F4F4;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .image {
    padding-right: 20px;
    padding-bottom: 20px;
  }
}
.project-detail-01 .image-sub {
  margin-top: 80px;
  margin-right: auto;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .image-sub {
    margin-top: 0px;
  }
}
.project-detail-01 .txt-detail {
  position: absolute;
  background-color: #fff;
  right: 0px;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .txt-detail {
    padding: 30px 35px 0px 35px !important;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .txt-detail {
    position: inherit;
    padding: 30px 0px 0px 0px !important;
  }
}
.project-detail-01 .txt-detail h2 {
  font-size: 3.6rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .txt-detail h2 {
    font-size: 2.4rem;
  }
  .project-detail-01 .txt-detail h2 br {
    display: none;
  }
}
.project-detail-01 .txt-detail p {
  margin-top: 20px;
  line-height: 2.2;
  font-size: 1.8rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 559px) {
  .project-detail-01 .txt-detail p {
    font-size: 1.6rem;
  }
  .project-detail-01 .txt-detail p br {
    display: none;
  }
}

.project-detail-02 {
  position: relative;
  padding-bottom: 320px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .project-detail-02 {
    padding-bottom: 40px;
  }
}
.project-detail-02 .image {
  margin-left: auto;
  padding-left: 80px;
  padding-bottom: 80px;
  margin-left: 120px;
  background-color: #F4F4F4;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .image {
    padding-left: 20px;
    padding-bottom: 20px;
    margin-left: 0px;
  }
}
.project-detail-02 .image-sub {
  margin-top: 80px;
  margin-left: auto;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .image-sub {
    margin-top: 0px;
  }
}
.project-detail-02 .txt-detail {
  position: absolute;
  width: 100%;
  background-color: #fff;
  top: 35% !important;
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .txt-detail {
    padding: 30px 35px 0px 35px !important;
    left: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .txt-detail {
    position: inherit;
    padding: 30px 0px 0px 0px !important;
  }
}
.project-detail-02 .txt-detail h2 {
  font-size: 3.6rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .txt-detail h2 {
    font-size: 2.6rem;
  }
  .project-detail-02 .txt-detail h2 br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .txt-detail h2 {
    font-size: 2.4rem;
  }
}
.project-detail-02 .txt-detail p {
  margin-top: 20px;
  line-height: 2.2;
  font-size: 1.8rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 1440px) {
  .project-detail-02 .txt-detail p br {
    display: none;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-02 .txt-detail p {
    font-size: 1.6rem;
  }
  .project-detail-02 .txt-detail p br {
    display: none;
  }
}

.project-detail-03 {
  position: relative;
  padding-bottom: 220px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 {
    padding-bottom: 40px;
  }
}
.project-detail-03 .image {
  margin-right: auto;
  padding-right: 80px;
  padding-bottom: 80px;
  background-color: #F4F4F4;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .image {
    padding-right: 20px;
    padding-bottom: 20px;
  }
}
.project-detail-03 .image-sub {
  margin-top: 80px;
  margin-right: auto;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .image-sub {
    margin-top: 0px;
  }
}
.project-detail-03 .txt-detail {
  position: absolute;
  width: 100%;
  background-color: #fff;
  right: 60px;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .txt-detail {
    padding: 30px 35px 0px 35px !important;
    right: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .txt-detail {
    position: inherit;
    padding: 30px 0px 0px 0px !important;
  }
}
.project-detail-03 .txt-detail h2 {
  font-size: 3.6rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .txt-detail h2 {
    font-size: 2.6rem;
  }
  .project-detail-03 .txt-detail h2 br {
    display: none;
  }
}
.project-detail-03 .txt-detail p {
  margin-top: 20px;
  line-height: 2;
  font-size: 1.8rem;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 559px) {
  .project-detail-03 .txt-detail p {
    font-size: 1.6rem;
  }
  .project-detail-03 .txt-detail p br {
    display: none;
  }
}

@media only screen and (max-width: 559px) {
  #project-story .txthead-box {
    padding: 0 15px;
  }
}

.project-page #project-story .project-story #business .business .business-list ul li a .text .topic h2 {
  font-size: 2.8rem;
  letter-spacing: 0;
  font-weight: 500;
  line-height: 1.6;
}

.project-detail #banner-page-content .banner-page-content .image-banner-center img {
  height: 550px;
}
@media only screen and (max-width: 559px) {
  .project-detail #banner-page-content .banner-page-content .image-banner-center img {
    height: auto;
  }
}

.name-staff {
  font-size: 2.4rem;
  line-height: 1.6;
  margin-top: 10px;
  font-family: "Noto Serif JP", serif;
  font-weight: 500;
}
@media only screen and (max-width: 559px) {
  .name-staff {
    font-size: 1.8rem;
  }
  .name-staff br {
    display: none;
  }
}

.about-staff {
  margin: 10px 0;
}

.position-staff {
  line-height: 1.2;
  margin-top: 15px;
  font-family: "Noto Serif JP", serif;
}
.position-staff span {
  font-size: 2.4rem;
}
@media only screen and (max-width: 559px) {
  .position-staff span {
    font-size: 2rem;
  }
}

@media only screen and (max-width: 559px) {
  .sp-txt-left {
    text-align: left;
  }
}

.staff-base-content .staff-img {
  min-width: 1280px;
}
@media only screen and (max-width: 559px) {
  .staff-base-content .staff-img {
    min-width: inherit;
  }
}
.staff-base-content .list-col3 > ul {
  margin-top: -80px;
}
@media only screen and (max-width: 559px) {
  .staff-base-content .list-col3 > ul {
    margin-top: -40px;
  }
}
.staff-base-content .list-col3 > ul li {
  margin-top: 80px;
}
@media only screen and (max-width: 559px) {
  .staff-base-content .list-col3 > ul li {
    margin-top: 40px;
  }
}
.staff-base-content .col3-center .col2 li {
  width: 406px !important;
}
@media only screen and (max-width: 559px) {
  .staff-base-content .col3-center .col2 li {
    width: 47% !important;
  }
}
.staff-base-content .col3-center ul {
  margin-top: -100px;
  margin-left: -2.35%;
}
@media only screen and (max-width: 1280px) {
  .staff-base-content .col3-center ul {
    margin-left: 0;
  }
}
.staff-base-content .col3-center ul li {
  margin-top: 7.89%;
  width: 385px;
  margin-left: 2.35%;
  margin-right: 0;
  cursor: pointer;
}
.staff-base-content .col3-center ul li a {
  cursor: pointer;
}
.staff-base-content .col3-center ul li a:hover {
  opacity: 0.8;
}
@media only screen and (max-width: 1280px) {
  .staff-base-content .col3-center ul li {
    margin-right: 20px;
    margin-left: 20px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-base-content .col3-center ul li {
    margin-right: 0px;
    margin-left: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-base-content .col3-center ul {
    margin-top: -30px;
  }
  .staff-base-content .col3-center ul li {
    width: 47%;
    margin-top: 30px;
  }
}

.staff-detail #banner-page-content .banner-page-content .full-content {
  max-width: 60%;
  height: 340px;
}
@media only screen and (max-width: 559px) {
  .staff-detail #banner-page-content .banner-page-content .full-content {
    height: 280px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail #banner-page-content .banner-page-content .full-content {
    height: 340px;
    max-width: 100%;
    height: auto;
  }
}
.staff-detail .txt-banner {
  border-left: 10px solid #CBFC34;
  border-right: 0px solid #CBFC34 !important;
  right: 0 !important;
  left: auto !important;
  bottom: 0 !important;
  position: relative;
  padding: 0 !important;
}
.staff-detail .txt-banner div.title {
  position: absolute;
  top: -35px;
}
.staff-detail .txt-banner div.title h1 span {
  background-color: #F4F4F4;
  font-size: 4.4rem;
  line-height: 1.6;
  padding: 0 20px;
  max-width: -webkit-max-content !important;
  max-width: -moz-max-content !important;
  max-width: max-content !important;
}
@media only screen and (max-width: 1300px) {
  .staff-detail .txt-banner div.title h1 span {
    font-size: 4rem;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner div.title h1 span {
    font-size: 3vw !important;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner div.title h1 span {
    font-size: 2rem !important;
    padding: 5px 10px;
  }
}
.staff-detail .txt-banner div.title h2 {
  margin-top: 5px;
}
.staff-detail .txt-banner div.row3 {
  top: -110px;
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner div.row3 {
    top: -70px;
  }
}
.staff-detail .txt-banner .sub-title-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding-top: 70px;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  font-size: 1.8rem;
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner .sub-title-detail {
    padding-top: 30px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner .sub-title-detail {
    padding-top: 10px;
  }
}
.staff-detail .txt-banner .sub-title-detail .position {
  padding-right: 40px;
  margin-right: 40px;
  border-right: 1px solid #CCCCCC;
  text-align: center;
}
@media only screen and (max-width: 1300px) {
  .staff-detail .txt-banner .sub-title-detail .position {
    min-width: 120px;
    padding-right: 20px;
    margin-right: 20px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner .sub-title-detail .position {
    padding-right: 20px;
    margin-right: 20px;
    font-size: 1.3rem;
    min-width: 75px;
    text-align: center;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner .sub-title-detail .position {
    min-width: 100px;
  }
}
.staff-detail .txt-banner .sub-title-detail .position span {
  font-size: 4rem;
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-banner .sub-title-detail .position span {
    font-size: 2rem;
  }
}
.staff-detail .txt-banner .sub-title-detail .txt-about p {
  color: #555555;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
.staff-detail .row-detail {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media only screen and (max-width: 559px) {
  .staff-detail .row-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.staff-detail .row-detail .pad-right-120 {
  padding-right: 120px;
}
.staff-detail .row-detail .pad-left-120 {
  padding-left: 120px;
}
.staff-detail .row-detail .txt-detail {
  width: 60.108%;
}
.staff-detail .row-detail .txt-detail-full {
  width: 100%;
}
.staff-detail .row-detail .img-detail {
  width: 33.97%;
}
@media only screen and (max-width: 559px) {
  .staff-detail .row-detail .img-detail img {
    margin-right: auto;
    margin-left: auto;
  }
}
.staff-detail .txt-detail {
  font-family: "Noto Serif JP", serif;
}
.staff-detail .txt-detail h3 {
  font-size: 2.8rem;
  line-height: 1.6;
  margin-bottom: 25px;
}
@media only screen and (max-width: 559px) {
  .staff-detail .txt-detail h3 {
    font-size: 2.4rem;
  }
}
.staff-detail .txt-detail p {
  line-height: 2;
}
.staff-detail .content-banner {
  position: absolute;
  padding: 60px 40px 40px 40px !important;
}
@media only screen and (max-width: 1300px) {
  .staff-detail .content-banner {
    width: 780px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail .content-banner {
    position: inherit;
    width: auto;
    padding: 60px 20px 20px 20px !important;
  }
}

.staff-detail-03 {
  position: relative;
  padding-bottom: 300px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 {
    padding-bottom: 40px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 {
    padding-bottom: 15px;
    padding-top: 40px;
  }
}
.staff-detail-03 .image {
  margin-left: auto;
  padding-left: 80px;
  padding-bottom: 80px;
  margin-left: 115px;
  background-color: #F4F4F4;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .image {
    padding-left: 20px;
    padding-bottom: 20px;
    margin-left: 0;
  }
}
.staff-detail-03 .image-sub {
  margin-top: 80px;
  margin-right: auto;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .image-sub {
    margin-top: 0px;
  }
}
.staff-detail-03 .txt-detail {
  position: absolute;
  max-width: 1280px;
  width: 100%;
  background-color: #fff;
  padding: 60px 75px 0px 120px;
  left: 0px;
  bottom: 85px;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .txt-detail {
    max-width: 100%;
    padding: 30px 35px 0px 35px;
    right: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .txt-detail {
    position: inherit;
    padding: 30px 0px 0px 0px;
    top: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .txt-detail {
    padding: 40px 0px 0px 0px;
  }
}
.staff-detail-03 .txt-detail h3 {
  font-size: 2.8rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .txt-detail h3 {
    font-size: 2.4rem;
  }
  .staff-detail-03 .txt-detail h3 br {
    display: none;
  }
}
.staff-detail-03 .txt-detail p {
  margin-top: 20px;
  line-height: 2;
  font-size: 1.8rem;
}
@media only screen and (max-width: 559px) {
  .staff-detail-03 .txt-detail p {
    font-size: 1.5rem;
  }
  .staff-detail-03 .txt-detail p br {
    display: none;
  }
}

.staff-detail-04 {
  position: relative;
  padding-bottom: 220px;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 {
    padding-bottom: 40px;
  }
}
.staff-detail-04 .image {
  margin-left: auto;
  padding-left: 80px;
  padding-bottom: 80px;
  margin-left: 115px;
  background-color: #F4F4F4;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .image {
    padding-left: 20px;
    padding-bottom: 20px;
  }
}
.staff-detail-04 .image-sub {
  margin-top: 80px;
  margin-right: auto;
  max-width: -webkit-fit-content;
  max-width: -moz-fit-content;
  max-width: fit-content;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .image-sub {
    margin-top: 0px;
  }
}
.staff-detail-04 .txt-detail {
  position: absolute;
  max-width: 1280px;
  width: 100%;
  background-color: #fff;
  padding: 60px 75px 75px 120px;
  left: 0px;
  bottom: 20px;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .txt-detail {
    max-width: 100%;
    padding: 30px 35px 0px 35px;
    right: 0px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .txt-detail {
    position: inherit;
    padding: 30px 0px 0px 0px;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .txt-detail {
    padding: 40px 0px 0px 0px;
  }
}
.staff-detail-04 .txt-detail h3 {
  font-size: 2.8rem;
  line-height: 1.6;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .txt-detail h3 {
    font-size: 2.4rem;
  }
  .staff-detail-04 .txt-detail h3 br {
    display: none;
  }
}
.staff-detail-04 .txt-detail p {
  margin-top: 20px;
  line-height: 2;
  font-size: 1.8rem;
}
@media only screen and (max-width: 559px) {
  .staff-detail-04 .txt-detail p {
    font-size: 1.5rem;
  }
  .staff-detail-04 .txt-detail p br {
    display: none;
  }
}

@media only screen and (max-width: 559px) {
  .staff-detail-01 .row-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-01 .row-detail .img-detail {
    width: 100%;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-01 .row-detail .txt-detail {
    width: 100%;
    padding-left: 0px;
  }
}

@media only screen and (max-width: 559px) {
  .staff-detail-02 {
    padding-top: 40px !important;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-02 .row-detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media only screen and (max-width: 559px) {
  .staff-detail-02 .row-detail .img-detail {
    width: 100%;
  }
}
.staff-detail-02 .row-detail .txt-detail {
  margin-top: 40px;
}
@media only screen and (max-width: 559px) {
  .staff-detail-02 .row-detail .txt-detail {
    width: 100%;
    padding-right: 0px;
  }
}

.line-txt-note {
  margin-bottom: 30px;
  font-weight: bold;
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 559px) {
  .line-txt-note {
    margin-bottom: 30px;
  }
}
.line-txt-note span {
  background-image: url("/assets/images/commons/line-hol-text.svg");
  background-position: top 12px left;
  background-size: 35px;
  background-repeat: no-repeat;
  padding-left: 50px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}

.work-detail .list-col2 ul li {
  width: 49.9%;
}
.work-detail .work-section {
  background-color: #F4F4F4;
  padding: 40px;
}
@media only screen and (max-width: 559px) {
  .work-detail .work-section {
    padding: 20px;
  }
}
.work-detail .work-section .work-section-detail {
  background-color: #fff;
  font-family: "Noto Serif JP", serif;
}
.work-detail .work-section .work-section-detail .work-section-txt {
  padding: 40px 40px 20px 40px;
}
.work-detail .work-section .work-section-detail .work-section-txt h2 {
  font-size: 2.8rem;
  margin-bottom: 20px;
}
@media only screen and (max-width: 559px) {
  .work-detail .work-section .work-section-detail .work-section-txt h2 {
    font-size: 2.4rem;
  }
}
.work-detail .work-section .work-section-detail .work-section-txt p {
  font-family: "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", "游ゴシック体", YuGothic, "Yu Gothic", "メイリオ", Meiryo, "ＭＳ ゴシック", "MS Gothic", HiraKakuProN-W3, "TakaoExゴシック", TakaoExGothic, "MotoyaLCedar", "Droid Sans Japanese", sans-serif;
}
@media only screen and (max-width: 559px) {
  .work-detail .work-section .work-section-detail .list-col2 {
    padding: 0px 20px 20px 20px;
  }
}
@media only screen and (max-width: 559px) {
  .work-detail .work-section .work-section-detail .list-col2 ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 20px;
  }
  .work-detail .work-section .work-section-detail .list-col2 ul li {
    width: 100%;
  }
  .work-detail .work-section .work-section-detail .list-col2 ul li + li {
    margin-top: 20px;
  }
}
.work-detail .work-section + .work-section {
  margin-top: 40px;
}

.btn-entry .btn {
  max-width: 680px;
  width: 100%;
  height: 80px;
  font-size: 4rem;
  background-color: #CBFC34;
  border: 1px solid #CBFC34;
  margin-left: auto;
  margin-right: auto;
  font-family: "Noto Serif JP", serif;
}
@media only screen and (max-width: 559px) {
  .btn-entry .btn {
    height: 60px;
    font-size: 2.6rem;
  }
  .btn-entry .btn span {
    width: 20px;
  }
}

select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  margin: 0;
  width: 100%;
  font-family: inherit;
  font-size: inherit;
  cursor: inherit;
  line-height: inherit;
  color: #000;
  padding: 2px 20px 0 20px;
  background: url("/assets/images/commons/arrow-select.svg");
  background-position: right 10px center;
  background-repeat: no-repeat;
}

.entry-page .txthead-box h1 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.entry-page .txthead-box h1 span {
  margin-right: 10px;
}
.entry-page #standard-select {
  max-width: 240px;
  width: 100%;
}
@media only screen and (max-width: 559px) {
  .entry-page #standard-select {
    max-width: 100%;
  }
}